신경망(neural network): 신경회로, 인공신경망(artificial neural network, ANN), 인간의 뇌 구조를 착안·고안한, 기계학습을 위한 인공지능의 시스템
- 연결주의(connectionism): 인간의 중추 신경계 처리과정을 추상화(abstraction)하여 의사 뉴런을 구축하고 그것을 계층화하여 지능체를 구축할 수 있다고 주장
- 장점: 안정적인 학습기능, 병렬처리, 에러 감내(fault tolerance) 등
- 신경망의 기술은 현재 음성, 영상, 자연어 처리 등에 활용
- 신경망의 마일스톤
① 단층신경망(perceptron)
② 다층신경망(MLP: Multi-Layer Perceptrons): 또는 FNN(Feed-Forward Neural network)
③ 심층신경망(deep learning, deep neural network)
ANN 공부를 위한 뉴런 모델
생물학적 신경망
Fig 1. The Structure of a Neuron
뉴런(neuron): 신경세포, 전기화학적 신호를 생성, 전달하는 신경계의 세포[Fig 1]
- 구성: 세포 중심부의 세포체(soma)를 기준으로 수상돌기(dendrite)와 축삭(axon), 그리고 축삭말단(axon terminal) 등이 존재
· soma: 뉴런의 본체로 세포의 영양부터 외부의 전기신호의 연산까지 수행
· dendrite: 다른 뉴런으로부터 신호를 전달받는 역할을 주로 수행, 전기적으로 soma에 내용을 전달함
· axon: 신경세포의 길게 뻗은 구조물로 역할은 일종의 '전선'처럼 전기적으로 신호를 전달함
· terminal: axon으로부터 전달받은 전기적 신호를 물리적으로 떨어진 또 다른 신경세포로 전달하기 위해 화학적 신호(신경전달물질)를 생성·전달함
· 시냅스(synapse): 신경 세포 간에 전기적 또는 화학적으로 결합할 수 있는 틈새(cleft) ⇒ 전기회로처럼 체계적·조직적으로 연결되어 신경회로(neural network)를 형성하는 데, 신경회로망을 근거로 생명체는 다양한 기능(감각, 기억, 운동 등)을 수행하게 됨
헵의 법칙 Hebbian Rule
Donald Olding Hebb, 1904-1985
1949년 캐나다의 심리학자 헵(Donald Olding Hebb, 1904-1985)은 저서 『The Organization of Behavior』에서 시냅스의 연결 강도 조정을 통한 생리학적 학습 규칙을 다음과 같이 기술했다.
- 두 개의 뉴런 A, B가 서로 반복적이고 지속적으로 점화(firing)하여 한쪽 또는 양쪽 모두에 변화를 야기한다면, 상호간의 점화 효율(weight)은 점점 커지게 된다.
- 시냅스 양쪽의 뉴런이 동시에 또 반복적으로 활성화된다면 그 두 뉴런 사이의 연결강도가 강화된다.
Fig 2. 전시냅스 뉴런과 후시냅스 뉴런
[Fig 2]처럼 두 뉴런은 시냅스의 연결구조에 따라 전시냅스 뉴런(presynaptic neuron)과 후시냅스 뉴런(postsynaptic neuron)으로 구분되는데, 이들 두 뉴런 간의 정보전달량은 두 뉴런의 인접 시냅스 간의 발화(firing) 강도 및 빈도에 달렸다.
- 시냅스 가중치(synaptic weight): 시냅스의 연결강도, 두 뉴런이 동시에 발화하면 가중치가 증가한다.
- 가중치 변화(synaptic weight change): 시냅스 가중치는 크게 두 가지 원인으로 인해 연결강도가 변한다.
① conjunctional synaptic change: 시냅스를 두고 두 뉴런이 동시에 발화하면(발화하는 빈도가 잦으면) weight가 커진다.
② correlational synaptic change: 시냅스를 두고 두 뉴런이 장기간에 걸쳐 발화하면 weight가 커진다.
Artificial Neural Network(ANN)
생물학적 뉴런 | 인공 뉴런 | |
처리 단위 | 신경세포 | 노드(node): 연산을 하는 기본 단위(unit, 유닛) |
신호 전달 | 시냅스 | 노드간의 연결선(edge) |
학습 | 시냅스 가중치(synaptic weight) | 연결선의 가중치(weight) 크기 |
Fig 3. Artificial Neuron
- node: [Fig 3]의 원
- edge: node edge, link, [Fig 3]의 선
Fig 4. Graph, Nodes, and Edges
ANN의 학습
- 학습에 필요한 지식인 학습데이터(training data)를 입력으로 사용
- 학습과정에서 학습데이터에서 추출한 지식이 뉴런 간의 weight에 반영
- ANN의 학습(learning)이란, weight를 적절한 값으로 변경하는 작업
뉴런의 연산 모델
Fig 5. 뉴런 연산 모델
뉴런은 neural network의 기본 정보처리 단위(unit)로,
- synapse 또는 연결링크(connecting links)는 각각 weight를 갖는다.
- 에더(adder): 덧셈기, [Fig 5]에서는 ∑로 나타남, 모든 가중입력과 편향(bias)의 합을 계산하는 소단위
- 활성화 함수(activation function, squashing function): [Fig 5]에서는 f( )로 나타남, 뉴런의 가중입력합을 변환하여 출력 산출
- 가중입력합(net input, net activation level): [Fig 5]에서는 w_net으로 나타남
- 입력 신호: [Fig 5]에서 x로 나타남
- 출력 신호: [Fig 5]에서 y로 나타남
- 바이어스(bias): 편향, 하나의 뉴런에서 activation function을 거쳐 최종적으로 출력되는 값을 조정하는 상수
정의 | 예 | |
Weight | 노드에 입력되는 각 신호의 중요도를 조절하는 매개변수 | 여러 가지 데이터 중 출력신호에 더욱 영향을 주는 데이터일수록 그 node의 weight 값이 더욱 커진다. |
Bias | 뉴런의 활성화 조건을 조절하는 매개변수 | 뉴런 자체가 갖는 내적 요소로 상수 값을 갖는다. - 사람마다 성향이 다르듯 neuron 또한 bias의 값을 설정함으로써 다른 뉴런과 구분되는 성향을 가질 수 있다. |
Activation Function | 입력받은 신호의 가중합을 다음 노드로 전달할 지를 결정하는 함수 | 뉴런의 최종의사를 결정하게 하는 함수로 ANN에서는 sigmoid 함수, 항등함수, ReLU 함수 등이 있다. |
[Fig 5]의 가중입력합은 다음과 같이 구한다.
이 식을 일반화하면,
Neuron의 가중입력합(w_net)
■
- 위의 가중입력합에서 bias를 제외한 값은 '순수가중입력합'이다.
- 가중입력합은 n차원의 실수 벡터를 1차원의 실수로 매핑하는 함수로 나타난다.
바이어스 Bias
bias는 뉴런 입력과는 별도로 뉴런 자체가 갖는 상수 값으로 결과적으로 뉴런의 순수가중입력합에 '변화'를 준다.
Fig 6. bias의 값에 따라 w_net의 부호가 바뀐다.
뉴런의 통합연산모델
Fig 6
[Fig 5]를 neural network에 빗대면 [Fig 6]와 같이 그릴 수 있다.
뉴런 연산은 벡터로 표현된다.
· x: input
· w: synaptic weight
- v와 Φ는 생물학적 neuron을 모델링했을 때 w_net과 f을 구분하기 위한 기호로, 가중입력합은 전압(voltage)의 앞글자 v를, activation function은 신경세포가 갖는 활성화함수를 구분짓기 위해 Φ를 쓴다.
- 또는 미지수 n을 p로 표현하기도 한다.
'Artificial Intelligence' 카테고리의 다른 글
상관분석, 회귀분석, 선형회귀 (0) | 2021.11.06 |
---|---|
인공지능에 관하여 (0) | 2021.11.06 |