신경망
서론
- 신경망은 오래된 분야
- 신경망은 머신러닝의 다양한 모델 중에서 하나
- 신경망에는 단층 신경망과 다층 신경망이 있음
- 머신러닝과 딥러닝의 비교
신경망의 노드
- 신경망은 인간의 뇌의 작동 원리를 본따서 만듬
- 인간의 뇌는 데이터를 저장하기 위해 신경세포(neuron)를 사용
- 신경세포의 관계를 바꾸는 방식으로 저장
- 다시 말해 신경세포의 변경된 관계가 저장된 정보
- 신경망와 인간의 뇌를 비교
- 뇌: 신경세포, 신경세포들의 연결
- 신경망: 노드, 연결 가중치
- v = w1 x x1 + w2 x x2 + w3 x x3 + b
- v = wx + b
- 가중치와 신호, 가중치를 표현한 함수를 활성함수
- 신경망에서는 여러 종류의 활성함수가 존재
- 신경망의 노드는 내부에서 활성함수 과정을 거쳐 신호를 출력
신경망의 계층 구조
- 뇌는 뉴런의 거대한 네트워크
- 신경망은 노드들의 거대한 네트워크
- 이런 노드들을 연결하는 방법에 따라 다양한 신경망을 구성할 수 있다.
- 다양한 신경망에서 많이 사용되는 것은 계층적 신경망이 있다.
- 계층적 신경망은 노드들을 계층적으로 배치하여 만든 것이다.
다음 그림은 신경망의 노드들을 계층적으로 구분한 그림이다.
입력층: 들어온 신호를 그대로 전달하는 층
- 은닉층: 외부에서 보이지 않는 층이라 해서 은닉층
- 출력층: 최종 출력 신호가 나오는 층
- 은닉층이 2개 이상 것을 심층 신경망이라고 한다.
- 최근의 신경망은 이런 심층 신경망이다.
- 은닉층이 1개 인 것을 얇은 신경망 혹은 Vanila 신경망이라 한다.
- 은닉노드들의 활성함수로 선형함수 사용하면 안된다.
- 은닉층 효과가 사라지지 때문이다.
신경망의 지도학습
신경망의 지도학습은 다음과 같은 순서로 동작한다.
- 신경망의 가중치를 적당한 값으로 초기화
- 지도학습의 학습 데이터 형태인 입력,정답에서 '입력'을 신경망에 입력해 출력값을 획득
- 오차가 줄어들도록 신경망의 가중치를 조절
- 전체 학습 데이터에 관해 단계 2~3을 반복
지도학습에서 학습은 모델의 출력과 해당 정답의 차이를 줄이도록 모델을 수정하는 과정이다. 신경망에서는 가중치를 수정하면서 차이를 수정한다. 다음 그림은 신경망의 학습절차를 표현한 것이다.