1.3.3.4 신경망 학습
지금까지 신경망의 순전파와 역전파 과정을 파이썬 코드로 구현했다. 이제 이 신경망에 예제 데이터를 적용하고 잘 동작하는지 시험해 보자.
예제로 사용할 데이터는 표 1-1과 같다. 각 데이터 포인트는 입력 변수 세 개(x1, x2, x1)와 목표 변수(Y)로 구성된다.
▼ 표 1-1 신경망 학습에 사용할 간단한 예제 데이터
x1 |
x2 |
x3 |
Y |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
신경망은 이 함수를 가장 잘 표현하는 가중치를 찾아야 한다. 사람이 직접 찾기는 쉽지 않을 것이다.
신경망을 1,500회 반복 훈련시키고 결과를 확인해 보자. 그림 1-8은 반복 훈련에 따라 달라지는 손실 값을 그린 차트다. 손실 값이 최저점을 향해 계속 감소하는 것을 알 수 있다. 그림 1-7에서 설명한 경사 하강법 알고리즘과도 동일한 움직임을 보인다.
▲ 그림 1-8 반복 훈련을 통해 손실을 최소화하는 과정