본문 바로가기
Machine Learning

ML #17 : 머신러닝 인공신경망(Neural Network) 개념 및 학습 절차

by 무적물리 2020. 4. 26.

신경망과 인공신경망

인공신경망이란, 인간의 뇌를 부분적으로 흉내낸 것으로 여러 개의 뉴런을 병렬처리한 모델을 말합니다. 따라서, 인공신경망은 복잡하고, 비선형적이고, 병렬적인 처리가 가능합니다. 신경망과 인공신경망을 비교한 명칭은 아래와 같습니다.


세포체(뉴런) - Node

수상돌기 - 입력(Input)

축삭돌기 - 출력(Output)

시냅스 - 가중치(Weight)


인공신경망을 학습시킬 때, 각 신호값을 가중치와 곱한 값들의 합을 뉴런이 가지는 한계와 비교함으로써, 한계치를 넘어서면 0, 넘어서지 않으며 -1을 다음 노드로 전달합니다. 이를 반복적인 조정을 통해 학습해서 인공신경망 모델을 생성합니다.




활성화 함수 개념

인공신경망에서 결과값을 내보낼 때, 사용하는 함수가 활성화 함수입니다. 이는 전이함수라고도 부르는데, 종류는 아래와 같습니다. 기본적인 활성화 함수이며, 실제로 많이 사용되는 함수는 ReLU 함수입니다.


- 계단 함수 : 한계미만 0, 한계초과 1

- 부호 함수 : 한계미만 -1, 한계초과 1

- 시그모이드 함수 : 1/(1+exp(-X)), 0~1

- 선형 함수 : Y=X

- 쌍곡 탄젠트 함수 : 2a/(1+exp(-bX))-a, -k~k


인공신경망 학습 절차

Step #1 : 초기화

각 가중치와 각 뉴런에서의 임계값을 범위에서 모두 지정


Step #2 : 활성화

입력층에서 은닉층, 은닉층에서 출력층 값을 계산함으로써 모델을 활성화해줍니다.


Step #3 : 가중치 계산

출력 값과 기대 값의 오차를 바로 사용함으로써, 출력층→은닉층의 가중치를 계산합니다. 또한, 은닉층→은닉층 or 입력층의 가중치를 계산할 때에는 오차를 바로 사용하지는 못하고 발생한 오차의 합을 줄이는 방향으로 가중치를 계산합니다.


Step #4 : 반복 작업

에러가 작아지도록 Step #2를 반복


댓글