Wikipedia : Neural network Biologically-inspired computing Connectionism
신경망은 생물학 모델을 바탕으로한 컴퓨팅의 한 형태로서, layer 로 조직된 많은수의 처리 요소로 구성된 수학 모델, 외부입력에 반응하여 동적으로 정보를 처리하는 많은 간단하지만 고도로 상호 연결된 처리요소로 구성된 컴퓨터 시스템 등으로 정의된다.
우리가 신경망을 언급할 때 정확히 표현하려면 "artificial neural network" (ANN) 이라고 해야한다. 왜냐하면 우리는 그것을 컴퓨터를 활용한 가상 신경망을 의미하는 것이기 때문이다. 생물에서의 신경망은 우리가 사용하는 수학적 모델에 비해 훨씬 더 복잡하다 ........ 대부분의 신경망은 일종의 "training" rule 을 가지고 있어서 각 connections 의 가중치를 training data 에 기초해서 조정하도록 하고 있다. 즉 신경망은 어린이가 사물을 인식하는 과정처럼 examples 로부터 "learn" 하고 마침내는 training data 를 뛰어넘어 일반화할 수 있는 능력을 보이게 된다 .............. (Warren S. Sarle 1997)
|
생물학적 뉴런 |
인공 뉴런 |
|
(Neuron) cell (신경세포) Synapse Excitatory input (흥분 입력) Inhibitory input (억제 입력) (spiking) frequency 에 의한 활성화 세포
물리학에 의해 제한되는 활동범위 |
Unit Interconnection weight (연결 가중치) (Large) positive interconnection weight (Large) negative interconnection weight DC level squashing function 에 의해 제한되는 활동범위 |

................. (Robert J. Schalkoff 1997)
Storage is very fault tolerant : net 의 일부분이 제거될수 있다. 그럼으로써 저장된 data의 질에 있어서 degradation이 있을뿐이다. 이것은 분산형태로 정보가 저장되기 때문에 가능하다. |
저장된 image의 질은 제거된 net 의 양에 비례하여 degrade 한다 : 정보가 엄청나게 상실되지는 않는다. storage와 quality feature는 또한 hologram의 특징이다. |
Data가 associative memory형태로 자연스럽게 저장된다 : associative memory 는 부분적인 data 로서 저장되어 있는 전체 정보를 recal l하기에 충분한 구조이다. 이것은 recal l할 data의 주소로서 접근하는 기존 memory 와 비교되는 것이다. partial or noisy input 으로도 원래의 전체 정보를 이끌어 낼수 있다. |
Net 는 저장되어 있는 정보로부터 extrapolate 와 interpolate 할수 있다 : training 에 의해 data에서 중요한 feature 나 관계들을 찾아 내도록 net 를 가르칠수 있다.그런 후에 net 는 새로운 data 에 대한 관계들을 extrapolate 할수 있다. 한 실험에서 neural net 이 24 명의 가상 인물의 가족관계에 대해 훈련을 받은후에 훈련이 되지 않았던 관계에 대해서도 정확하게 답할수 있었다. |
Net는 plasticity를 가지고 있다 : 비록 많은 수의 neuron이 제거 되더라도 충분한 neuron이 남아 있다면 net는 원래의 skill level을 유지할수 있다. 이것은 일부분이 파괴되더라도 제때에 다시 학습 (relearn)이 될수 있는 뇌의 특성과 같다. |
.................. Artificial Neural Network 의 장점 (Giarratano 1989)
뇌 속의 개별 신경세포들처럼 디지털 신경세포도 우리의 예측대로, 입력 신호의 합이 한계를 넘을 때 발화한다. 따라서 생물학적 신경세포나 디지털 신경세포처럼 개별적인 신경세포들은 현재 진행되고 있는 일을 알지는 못하지만 (중국어 방 안에 있는 존처럼), 함께 활동하는 신경세포 군중은 상황을 이해할 줄 안다......
조금 더 깊이 들어가보자. 디지털 신경세포는 그 작용 방식도 생물학적 신경세포와 상당히 비슷하다. 빨대가 두 개 꽂힌 포도주 잔을 기억하는가? 잔으로 들어오는 포도주의 총합이 잔의 용량을 초과할 때 여러분은 벌떡 일어나 소리를 질렀고, 이것은 입력물이 한계를 초과하면 신경세포가 하나의 펄스를 발화하는 것과 같았다. 디지털 신경세포도 이와 똑같이 작동한다. 일련의 입력물이 주어지면 신경세포는 그 가중 총합을 계산한 다음, 그 값이 한계치 이상이면 1 을 출력하고 한계치 이하이면 0 을 출력한다.
나는 방금 '가중 총합' 이라고 말했다. 포도주 잔에 꽂힌 두 개의 빨대는 굵기가 서로 달랐다. 그것은 우리의 신경세포가 두 신경세포 중 하나에서 보내는 신호에 '좀더 관심을 기울이는 것' 에 해당한다. 디지털 신경세포의 경우도 이와 똑같은 '빨대 굵기' 의 효과를 내기 위해, 모든 입력은 가중치 값을 갖는다. 그래서 두 입력부에서 신호 1 을 보내도, 왼쪽 입력이 0.5 의 가중치이고 오른쪽 입력이 1.0 의 가중치이면, 입력물의 가중 총합은 1 × 0.5 + 1 × 1.0 = 1.5 가 된다. 다시 말해 왼쪽 입력의 빨대가 오른쪽의 절반이고, 그래서 오른쪽 입력물의 효과가 왼쪽의 2 배가 되는 것이다. 한 걸음 더 들어가보자. 만약 한계치가 0.75 라면 이 경우 신경세포는 1 을 출력할 것이다. 입력물의 가중 총합인 1.5 가 그 한계치보다 높기 때문이다. 만약 두 입력물 중 어느 하나를 이용해서 신경세포를 자극하는 대신 억제하기를 원한다면, 간단히 마이너스 가중치를 이용하면 될 것이다.
이런 면에서 일반적으로 디지털 신경세포가 더 복잡하다고 할 수 있다. 단지 가중 총합이 한계치 이상인가 아닌가에 따라 1 이나 0 을 출력하는 대신, 디지털 신경세포는 입력물들의 가중 총합을 계산하고, 여기에서 한계치를 뺀 다음, 그 값을 곧바로 출력한다. 그러나 디지털 신경세포의 작동 방식은 생물학적 신경세포와 비슷하다. 높은 출력값은 일련의 빠른 펄스에 해당하고, 낮은 출력값은 일련의 느린 펄스에 해당한다.
그러나 결국 이런 종류의 신경세포, 이른 바 '지각자 (perceptron)' 는 일반화되지 못했다. 출력이 단지 단선적으로 입력에 반응하기 때문에 신경세포가 배울 수 있는 기능은 아주 기초적이고 선형적인 것에 불과하다. 이것은 단지 입력의 변화가 출력의 변화로 이어진다는 것만을 의미한다. 어떤 입력물에 작은 변화를 가하면 출력물에도 그에 따른 작은 변화가 발생할 뿐이다. 출력이 입력에 정비례한다면 그 신경세포는 다소 지루하고 비효과적일 것이다.
이 점을 극복하기 위해 오늘날 일반적인 디지털 신경세포에는 한 가지 비결이 추가되었다. 일단 입력물들의 가중 총합을 계산하고 한계치를 빼고 나면, 신경세포는 그 값을 변형시킨다. 이것은 전송 함수나 활성화 함수로 계산되는데, 대개 S 자형 곡선 (sigmoid curve) 이 이용된다. 여러분이 수학을 좋아하는지 모르겠지만, 일반적인 함수는 y = 1/(1 + e-x) 이다. 나도 그렇지만, 이 함수의 의미가 별로 감동적이지 않다 해도 걱정할 필요는 없다. 그것은 단지, 신경세포가 입력에 따라 0 이나 1 의 값을 출력할 때 비선형적 방식을 적용하게 하는 방법일 뿐이다. 그것은 신경세포가 이제 선형적 방식에서 벗어나 훨씬 더 복잡한 것들을 배울 수 있게 되었음을 의미한다.
이것이 대표적인 디지털 신경세포이다. 그것은 우리의 컴퓨터 안에 살면서 0 이나 1 로 된 수많은 입력물들을 받는다. 이때 신경세포는 그 입력물들의 가중치와 합을 계산하고 그 값에서 한계치의 값을 뺀다. 그리고 비선형적 S 자형 함수를 이용하여 그 값을 변형시킨 다음 결과를 출력한다. 출력물은 0 이나 1 의 값이다. ............ 그리고 입력되는 값들은 다른 신경세포들에게서 전달되는데, 이 신경세포들은 하나의 신경망을 이룬다 ...................... (Peter J. Bentley 2001)