본문 바로가기

AI

생물학적 뉴런과 인공 신경망

Neuron(신경세포)

 

 인공신경망을 이해하는 첫 단계는 사람의 뇌를 아는 것입니다. 사람의 뇌는 약 1000억 개의 neuron(뉴런)으로 구성되어 있으며, neuron(뉴런)은 신경계와 신경조직을 이루는 기본단위입니다. neuron(뉴런)은 일반 세포와 달리 크고 비대칭적이며 수많은 돌기로 이루어져 있습니다. 1000억 개의 neuron이 뇌에서 하는 일은, 쉴 새 없이 흥분시키는 것인데요. neuron의 동작 방식을 자세히 알아봅시다.

 

1. 뉴런의 동작 방식

(그림 1) : 출처 : https://www.ndsu.edu/pubweb/~tcolvill/neuron.htm

 

 

  뉴런은 양쪽 끝에 나와있는 돌기들을 통해 흥분 신호를 주고받습니다.

Dendrites(가지돌기)(=수상돌기)는 input(입력)을 담당하고, Axon(축삭돌기)는 output(출력)을 담당합니다. Dendrites(가지돌기)로 들어온 입력은 Soma(세포체)(=Cell Body)와 Axon(축삭돌기)를 통과해  Axon Ending(축삭 말단)으로 출력됩니다. 거기서 다시 다음 뉴런의 Dendrites(가지돌기)로 전달됩니다.

 

 정보처리의 관점에서 본다면, neuron(뉴런)은 입력, 계산, 출력 가능을 가진 정보처리기관으로 볼 수 있습니다. 각 기관의 역할을 살펴보면, 입력은 Dendrites(가지돌기), 계산은 Soma(세포체)(=Cell Body), 출력은 Axon(축삭돌기)가 그 역할을 한다고 볼 수 있습니다.

 

 

2. 뉴런과 뉴런 사이의 정보교환

(그림2) 출처 https://www.christopherpratt.com/blog/building-micro-synapses-with-spinules

 

  neuron(뉴런)은 뉴런 사이의 접합부 synapse(스냅스)를 통해 정보를 전달합니다. 이전 뉴런의 Axon과 현 neuron의 dendrite가 만나는 부분에 아주 작은 간극, synapse가 존재하며 이곳에서 정보전달이 이루어지는데요. 다음 neuron은 여러 이전 neuron들의 정보를 dendrite에서 받아들이고 입력으로 사용하게 됩니다.

 

(그림3) 출처 : https://www.khanacademy.org/test-prep/mcat/organ-systems/neural-synapses/a/signal-propagation-the-movement-of-signals-between-neurons

 

 뉴런은 dendrite에서 전기 전 신호(양전하, 음전하)를 통해 정보를 받아들이는데요. 다음 neuron으로 정보전달을 할 때에는 전기적 신호로는 synapse 틈을 뛰어넘을 수 없기 때문에 화학적 신호의 형태로 전달합니다. 그 화학적 형태가 dopamine(도파민), serotonin(세로토닌)등이라고 불리는 신경전달물질(Neruotransmitter)입니다.  

 

그렇게 하여 dendrite에서 여러 neuron들의 정보를 받아들입니다. soma에서 들어온 정보가 역치 이상이면 firing(발화)하는데요. firing(발화)한 neuron은 Axon을 통해 다음 neuron으로 정보를 전달합니다.

 

Artificial neuron(인공 신경 세포)


(그림4) : https://towardsdatascience.com/the-concept-of-artificial-neurons-perceptrons-in-neural-networks-fab22249cbfc

 

그림4는 좌측의 neuron(신경 세포)과 우측의 artificial neuron(인공 신경 세포)을 비교한 그림입니다.

우측의 artificial neuron은 n개의 artificial neuron으로부터 $X_{0}$ ~ $X_{n}$ 의 입력을 받아 역치를 계산하여 출력합니다.

 

synapse 역할을 하는 것이 연결강도 w1, w2,.. , wn입니다.

사진 속 파란 원을 pereptron이라고 하는데 n개의 neuron의 입력을 받아 합하여 pereptron 값을 계산합니다. 

pereptron에서 계산한 값을 다음 pereptron에게 전달하게 됩니다.

 

실제 neuron에서 역치 이상일 때 firing(발화) 하듯이 artificial neuron에서도 activation function을 통해 출력값을 계산합니다. 

 

수식으로 표현하면 다음과 같습니다.

$$y = \begin {cases} 1, & \text {if} \ \sum_{i=1}^{m} w_{i} x_{i} \ \geq \ t, \\0, & \text {otherwise}\end {cases}$$

 

 

 

(그림 5) https://www.nomidl.com/deep-learning/difference-between-perceptron-and-neuron/

그림 5는 ANN(Artifical Neural Network)을 표현한 사진입니다. 

사람의 뇌가 수많은 neuron들이 모여 구조를 이루듯

사진 속 원 하나가 pereptron이며 수많은 pereptron이 모여 하나의 Artifical neural network 구조를 만들게 됩니다.

 

이처럼 Artifical neural network은 인간의 뇌를 구성하는 neuron의 작동 방식에서 영감을 받아 발전해왔습니다.

 

 

Reference

[1] : youtube, 북툰 : https://www.youtube.com/watch?v=_ADYQgL6g_Y&t=3s

[2] : 나무위키 뉴런, https://namu.wiki/w/뉴런

[3] : youtube, 신박 AI, https://www.youtube.com/watch?v=h7HUn-Sc740

[4] : Nomidl, https://www.nomidl.com/deep-learning/difference-between-perceptron-and-neuron/

[5] : github blog, https://jontysinai.github.io/jekyll/update/2017/11/11/the-perceptron.html

'AI' 카테고리의 다른 글

Transformer (Multi-head Attention)  (0) 2024.06.22
Transformer (Self-Attention)  (0) 2024.06.22
Transformer - Structure, Posititonal Encoding  (0) 2024.06.20
LSTM의 Cell State와 Gate별 특징  (0) 2024.06.19
RNN(Recurrent Neural Networks)  (1) 2024.06.19