Artificial Neural Network Foundation

신경망이란 무엇인가?

What is Neural Network? : 생체 영감형 연결주의 인공지능 모델

1. 신경망의 현대적 정의와 핵심 기능

📌 1) 신경망(ANN)의 정의 (Definition)

인공신경망(Artificial Neural Network, ANN)은 인간의 뇌 신경계(Neuron & Synapse)가 정보를 병렬적이고 분산된 방식으로 처리하는 원리에서 착안한 기계학습(Machine Learning) 수학 모델입니다.

수많은 단순 연산 단위인 인공 뉴런(Node/Unit)들이 계층(Layer)을 이루어 상호 연결되어 있으며, 입력 데이터로부터 복잡한 패턴과 잠재적 관계를 스스로 학습(Learning)하여 분류(Classification), 회귀(Regression), 생성(Generation) 등의 과업을 수행합니다.

⚙️ 2) 신경망의 4대 핵심 기능 및 동작 메커니즘 (Core Functions)

1. 순전파 및 자동 특징 추출

입력 데이터가 계층을 순차적으로 거치며 가중치와 곱해지고 더해져 상위 차원의 특징(Feature)을 스스로 추출합니다. 기존 머신러닝과 달리 사람이 일일이 수작업 특징 공학을 수행할 필요가 없습니다.

2. 오차 측정 및 손실 함수(Loss)

출력층에서 생성된 예측값과 실제 정답(Target) 사이의 오차를 손실 함수(Loss/Cost Function)로 계산하여 현재 모델의 오차 수준을 정량화합니다.

3. 역전파와 가중치 최적화 학습

계산된 오차를 출력층에서 입력층 방향으로 역전파(Backpropagation)하며 경사 하강법(Gradient Descent)을 통해 각 연결선(시냅스)의 가중치를 미세 조정하여 오차를 최소화합니다.

4. 비선형 보편 근사(Universal Approximation)

비선형 활성화 함수를 통해 현실 세계의 임의의 복잡한 비선형 함수 관계를 오차 한계 내에서 완벽하게 근사하고 일반화(Generalization)할 수 있습니다.

🚀 3) 딥러닝(Deep Learning)과의 관계

은닉층(Hidden Layer)이 1~2개인 전통적 얕은 신경망(Shallow Neural Network)과 달리, 수십~수백 개의 은닉층을 깊게 쌓은 구조를 심층신경망(Deep Neural Network, DNN)이라 하며, 이를 학습시키는 분야가 바로 현대 AI 혁명을 이끄는 딥러닝(Deep Learning)입니다. 계층이 깊어질수록 저수준 특징(선, 윤곽)부터 고수준 개념(물체, 의미, 맥락)까지 계층적 표현 학습(Hierarchical Representation Learning)이 가능해집니다.

2. 신경망의 개념적 정의와 학습 원리

신경망은 생물학 모델을 바탕으로 한 컴퓨팅의 한 형태로서, layer 로 조직된 많은 수의 처리 요소로 구성된 수학 모델, 외부입력에 반응하여 동적으로 정보를 처리하는 많은 간단하지만 고도로 상호 연결된 처리요소로 구성된 컴퓨터 시스템 등으로 정의된다.

우리가 신경망을 언급할 때 정확히 표현하려면 "artificial neural network" (ANN) 이라고 해야한다. 왜냐하면 우리는 그것을 컴퓨터를 활용한 가상 신경망을 의미하는 것이기 때문이다. 생물에서의 신경망은 우리가 사용하는 수학적 모델에 비해 훨씬 더 복잡하다 ........

대부분의 신경망은 일종의 "training" rule 을 가지고 있어서 각 connections 의 가중치를 training data 에 기초해서 조정하도록 하고 있다. 즉 신경망은 어린이가 사물을 인식하는 과정처럼 examples 로부터 "learn" 하고 마침내는 training data 를 뛰어넘어 일반화할 수 있는 능력을 보이게 된다 ..............

― (Warren S. Sarle 1997)

3. 생물학적 뉴런과 인공 뉴런의 비교

인공 뉴런(Unit)은 생물학적 신경세포의 구조와 시냅스 전달 메커니즘을 컴퓨터 연산 방식으로 단순화하여 대응시킨 것입니다:

생물학적 뉴런 (Biological Neuron) 인공 뉴런 (Artificial Neuron)
(Neuron) cell (신경세포) Unit (노드/처리 소자)
Synapse (시냅스) Interconnection weight (연결 가중치)
Excitatory input (흥분 입력) (Large) positive interconnection weight (양의 가중치)
Inhibitory input (억제 입력) (Large) negative interconnection weight (음의 가중치)
(spiking) frequency 에 의한 활성화 DC level (직류 신호 레벨)
세포 물리학에 의해 제한되는 활동범위 squashing function (활성화 함수) 에 의해 제한되는 활동범위
Biological neuron 구조
[그림] 생물학적 뉴런의 구조와 메커니즘 ― 출처: (Robert J. Schalkoff 1997)

4. 인공신경망의 5대 주요 장점

기존의 폰 노이만 방식 직렬 컴퓨터와 차별화되는 인공신경망의 고유한 장점들은 다음과 같습니다:

✦ Storage is very fault tolerant (뛰어난 결함 허용성)

net 의 일부분이 제거될 수 있다. 그럼으로써 저장된 data의 질에 있어서 degradation이 있을 뿐이다. 이것은 분산 형태로 정보가 저장되기 때문에 가능하다.

✦ 점진적 성능 저하 (Graceful Degradation)

저장된 image의 질은 제거된 net 의 양에 비례하여 degrade 한다 : 정보가 순식간에 완전히 상실되지는 않는다. storage와 quality feature는 또한 홀로그램(hologram)의 특징이기도 하다.

✦ Associative Memory 형태의 자연스러운 정보 저장 (연상 기억)

associative memory 는 부분적인 data 로서 저장되어 있는 전체 정보를 recall 하기에 충분한 구조이다. 이것은 recall 할 data의 주소로서 접근하는 기존 memory 와 비교되는 것이다. partial or noisy input 으로도 원래의 전체 정보를 이끌어 낼 수 있다.

✦ 정보의 외삽(Extrapolate)과 내삽(Interpolate) 능력 (일반화)

Net 는 저장되어 있는 정보로부터 extrapolate 와 interpolate 할 수 있다 : training 에 의해 data에서 중요한 feature 나 관계들을 찾아 내도록 net 를 가르칠 수 있다. 그런 후에 net 는 새로운 data 에 대한 관계들을 extrapolate 할 수 있다. 한 실험에서 neural net 이 24 명의 가상 인물의 가족관계에 대해 훈련을 받은 후에 훈련이 되지 않았던 관계에 대해서도 정확하게 답할 수 있었다.

✦ Plasticity (신경 가소성 및 재학습성)

Net는 plasticity를 가지고 있다 : 비록 많은 수의 neuron이 제거 되더라도 충분한 neuron이 남아 있다면 net는 원래의 skill level을 유지할 수 있다. 이것은 일부분이 파괴되더라도 제때에 다시 학습(relearn)이 될 수 있는 뇌의 특성과 같다.

.................. Artificial Neural Network 의 장점 (Giarratano 1989)

5. 디지털 신경세포의 발화 원리와 비선형 활성화

뇌 속의 개별 신경세포들처럼 디지털 신경세포도 우리의 예측대로, 입력 신호의 합이 한계를 넘을 때 발화한다. 따라서 생물학적 신경세포나 디지털 신경세포처럼 개별적인 신경세포들은 현재 진행되고 있는 일을 알지는 못하지만 (중국어 방 안에 있는 존처럼), 함께 활동하는 신경세포 군중은 상황을 이해할 줄 안다......

조금 더 깊이 들어가보자. 디지털 신경세포는 그 작용 방식도 생물학적 신경세포와 상당히 비슷하다. 빨대가 두 개 꽂힌 포도주 잔을 기억하는가? 잔으로 들어오는 포도주의 총합이 잔의 용량을 초과할 때 여러분은 벌떡 일어나 소리를 질렀고, 이것은 입력물이 한계를 초과하면 신경세포가 하나의 펄스를 발화하는 것과 같았다. 디지털 신경세포도 이와 똑같이 작동한다. 일련의 입력물이 주어지면 신경세포는 그 가중 총합을 계산한 다음, 그 값이 한계치 이상이면 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)
🌐 관련 Wikipedia 백과사전 항목 바로가기