인공 신경망의 기본 개념 - 생물학적 뉴런에서 딥러닝까지

English (N/A)

ChatGPT, 이미지 생성 AI, 자율주행... 이 모든 것의 기반이 되는 기술이 인공 신경망(Neural Network)이다. 이 글에서는 딥러닝의 기초가 되는 인공 신경망의 역사와 기본 개념을 정리한다.

신경망의 역사

1940년 후반, 디지털 컴퓨터의 출현

1950년 후반, perceptron과 ADALINE의 출현

1969년 ~ 1980년 초반, single layer perceptron에서 xor 문제 발생

1986년, 전환점을 맞이하게 된다. Multi Layer Perceptron이 XOR 문제를 해결하고, 역전파(Backpropagation) 알고리즘이 등장한다.

개인적인 생각: 1969년부터 1986년까지의 "AI 겨울"이 흥미롭다. Single layer perceptron이 XOR 같은 단순한 문제도 풀지 못한다는 것이 증명되자, 인공지능 연구에 대한 관심이 급격히 식었다. 하지만 Multi layer perceptron과 역전파 알고리즘의 등장으로 다시 관심을 받게 되었다. 이 패턴(과대 기대 → 실망 → 점진적 발전)은 AI 역사에서 반복적으로 나타난다.

1990년, optical neural network, 디지털 하드웨어

왜 인공신경망이 각광을 받게 되었는가?

  1. 경험, 데이터, 실험을 통해 강력한 학습이 가능하다.
  2. 물체의 분류와 식별이 가능해진다.
  3. 빠른 병렬연산으로 이상적으로 빛의 속도로 연산이 가능하다.
  4. 잠재 지능이 존재한다.
  5. 수많은 범용 어플리케이션이 나오고 있다.

인공신경망이란?

인공 신경망이란 processing elements 로 구성된 여러개의 장치들이 connection strength or weight이 다른 여러 개의 연결망을 통해 연결된 복합체이다. 많은 패턴들과 수치 데이터들이 학습되고 저장될 수 있다. 여기서 weights란 인공 신경만이 학습하고 저장하기 위한 수치값들로 메모리에 저장되는 값이다.

adaption이란 예제와 실험들로 학습하는 것을 말한다.

생체 신경망과 컴퓨터 신경망의 연산속도

컴퓨터의 속도가 생체 신경망에 비해 10,000,000배나 더 빠른 속도를 보인다. 하지만 컴퓨터는 병렬적 처리를 하지 못하는데 반해 생체신경망은 막대한 병렬연산이 가능하고 복잡하게 연결되어 있기 때문에 컴퓨터가 100msec가 걸려야 풀 수 있는 한번의 인식을 단지 0.1msec 만에 해결한다.

문자의 인식

손으로 작성되었는가 혹은 컴퓨터로 타이핑 되었는가, 기울기 확대율, 회전율 등에 따라 다른 인식율을 보인다.

기본적인 패턴인식은 패턴을 픽셀단위로 분해아여 벡터화 시킨다. 인공 신경망의 node와 connection strength를 조절하여 분석한다.

character recognition

기초적인 생체 신경망

뉴런

  1. 부분적인 투과성을 가진다.
  2. potential 차이가 존재하며 이온들이 이동한다.

이온들이 potential차가 평행을 이루는 지점까지 운동한다.

시냅스

시냅스는 Neuro-transmitter이다. 시냅스가 Ca(+)의 투과성을 높여주면 action potential이 증가한다.

투과성이 critical point를 넘기게 되면 action potential이 이동하여 다른 뉴런에 연결된다.

Neural Network Computation

뇌는 수많은 연결을 통해 어떻게 엄청난 능력을 가지게 되었는가?

McCulloch-Pitts Theory(old)

  1. 뉴런의 활동은 일어나거나 일어나지 않거나 두가지 상태를 가진다. 중간은 없다.
  2. 신경이 흥분되려면 두 개 이상의 시냅스가 흥분되어야 한다.
  3. delay는 오직 스냅스에서만 발생한다.
  4. 억제 시냅스는 뉴런 활동성을 저해한다.
  5. 연결망의 구조는 시간에 따라 변하지 않는다.

뉴런은 단순한 장치이지만, 적절하게 연결되어 신경 시스템을 구성하면 막대한 계산이 가능하다.

Hebbian Learning

생체신경망은 최초에 직렬적으로 작동할 능력과 지식을 갖추지 못했다.

Pavlov's Conditioned Response

뉴런 A 의 축색돌기가 뉴런 B를 자극하기에 충분하고 지속적으로 계속적으로 자극이 발생한다면 하나 혹은 여러개의 뉴런에서 성장 혹은 신진대사가 이루어 지고 뉴런 C의 효율이 높아진다. 그리고 마침내 뉴런 C를 자극하는 다른 뉴런인 뉴런 B가 증가하게 된다.

파블로프의 모델

파블로프의 조건적 반응

Hebb’s assumption says, “The excitation of neuron A has enough stimulus for neuron B, but that of neuron C doesn’t have. Now, with neuron A, the connection strength of neuron C increases, and eventually, without neuron A, neuron B can be excited by neuron C only.”

General Processing Element

인공 신경세포를 노드 혹은 유닛으로 나타내는 단위이다.

PE의 개념도

PE를 이루는 기본 공식

수학에서 뉴럴 네트워크의 설계는 시간에 따라 변하는 역동적인 시스템이다.

학습 법칙 connection strength는 학습이 진행됨에 따라 업데이트되며, data of weights가 무엇을 배우지에 관한 정보를 기록하게 된다.

vector notations PE 모델링을 위한 벡터 표기


마무리

신경망의 핵심 개념을 정리하면:

개념설명
뉴런(노드)입력을 받아 가중합을 계산하고 활성화 함수를 통과시킴
가중치(Weight)연결의 강도, 학습을 통해 업데이트됨
활성화 함수비선형성을 추가 (시그모이드, ReLU 등)
학습가중치를 조정해서 오차를 최소화

개인적인 생각: 이 글에서 다룬 내용은 1980년대 수준의 신경망이다. 현대 딥러닝은 여기에 다양한 아키텍처(CNN, RNN, Transformer), 최적화 기법(Adam, BatchNorm), 대규모 데이터와 GPU 연산이 더해져서 탄생했다. 하지만 기본 원리(가중치 학습, 역전파)는 동일하다. 기초를 이해하면 최신 모델도 이해하기 쉬워진다.