Neural Network의 단순 모델
사람 뇌의 내부는 뉴런(neuron)들의 네트워크로(neural network) 이루어져 있으며, 네트워크에는 전기가 흐르고 있기 때문에 사람의 뇌는 하나의 네트워크로 구성되어 있다고 생각할 수 있음
- 뉴런은 전기신호를 통해 다른 뉴런에게 정보를 전달
- 뉴런이 어떤 임계값(threshold) 이상의 전기신호를 받으면 발화(spike)해서 다른 뉴런에게 전기신호를 전달하는데 이런 기능이 네트워크 안에서 전기의 흐름을 제어
신경망과 딥러닝
- 사람의 뇌는 뉴런이 서로 연결되어 있는 네트워크 구조로 되어있기 때문에 신경망(nueral network)이라는 명칭을 사용
- 사람의 뇌는 매우 복잡한 구조로 되어 있기 때문에 뇌를 모델링하는 하는 방법는 신경망 알고리즘을 연구하는데 매우 중요
- 신경망 알고리즘을 이해하고 구현하기 위해서는 아래 그림과 같이 전기신호가 뉴런 사이에서 전달되는 형태를 모델로 만드는 방법을 고려해야 함
출처: http://rpi-cloudreassembly.transvercity.net/wp-content/uploads/2012/11/NeuralNetwork1-copy-1024x444.jpg
- 뉴런의 네트워크 안에서 신호가 계층적으로 처리된다는 것은 오래 전에 입증되었음
- 예를 들면 아래 그림과 같이 눈의 망막을 통해 들어온 정보가 점에 응답하는 뉴런 층에 전달되고, 그 뉴런 층에서 출력된 전기신호는 선에 응답하는 뉴런 층에 전달되고, 다시 전체 윤곽에 응답하는 층으로 전달되고, 이것이 더욱 자세한 부분으에 응답하는 층으로 전달되는 방식으로 진행되어 최종적으로는 우리가 지각하는 사물의 형태로 인식함
- 딥러닝(Deep Learning)은 이런 깊은 계층 구조를 모델링한 신경망
어떤 뉴런(출력)이 2개의 뉴런(입력)으로부터 전기신호를 받는 단순 뉴럴 네트워크 모델을 생각할 때 고려해야할 사항은?
- 2개의 뉴런 중 어느 것이 어느 정도의 전기신호를 받는가?
- 임계값은 어느 정도로 설정해야 하는가?
- 임계값을 넘었을 때 어느 정도의 전기신호를 보내는가?
2개 뉴런이 얼마만큼의 전기신호를 받는지를 과 로 표시
- 2개의 뉴런은 다음 뉴런에게 전기신호를 전달하는 역할을 하기 때문에 임계값이 없으며
- 2개의 뉴런은 결합 강도가 다르기 때문에 실제로 전달되는 전기신호의 양도 다름
2개 뉴런의 결합 강도를 과 로 표시
- 아래 그림과 같이 2개 뉴런으로 부터 전달되는 전기신호의 양은 식 (1)과 같으며,
과 를 가중치(weight)라고 함
전기신호를 전달받은 뉴런이 다음 뉴런으로 전기신호를 전달하는 기준은 임계값
- 전기신호를 받은 뉴런이 발화할 것인지는 전달받은 전기신호의 양이 임계값을 넘었는지 넘지 않았는지에 따라 결정되며 이 값이 편향 또는 바이어스(bias)이다
- 임계값을
라고 했을 때 를 만족하면 뉴런이 발화하고 이면 발화하지 않음 - 뉴런이 발화할 때 다음 뉴런으로 전기량이 얼마나 전해지는지에 관한 정보는 네트워크의 가중치가 가지고 있기 때문에 뉴런의 발화에 관해서는 1(발화했다)과 0(발화하지 않았다)의 두 가지 경우만을 고려하면 됨
이전 뉴런으로부터 받는 전기신호의 양을 라고 하면 신경망의 단순 모델은 식 (2)로 나타낼 수 있음
- 신경망의 가중치
과 와 임계값 를 알맞게 설정한다면 입력 과 에 대한 출력 값이 실제 사람의 뇌에서 전달되는 전기신호량과 같게 만들 수 있음 - 아무리 복잡한 신경망이라도 단순 모델을 사용하여 구현할 수 있음
출처 : 정석으로 배우는 딥러닝
'신경망(Neural Network) 스터디' 카테고리의 다른 글
6. 다층 퍼셉트론 모델링 (0) | 2017.12.28 |
---|---|
5. 다중 클래스 로지스틱 회귀 (0) | 2017.12.27 |
4. 로지스틱 회귀 (0) | 2017.12.23 |
3. 단순 신경망 모델의 확장 (0) | 2017.12.22 |
2. 논리 회로 (0) | 2017.12.22 |