제주 탈출 일지

인공지능 이론(4주차) - 신경망 학습 이론 Ⅱ 본문

인공지능

인공지능 이론(4주차) - 신경망 학습 이론 Ⅱ

귀건 2020. 11. 7. 14:16
728x90
반응형

신경망에서의 학습

학습은 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 의미한다. 그렇다면 학습이 제대로 이루어지는 것을 어떻게 확인하는가? 그것은 손실함수를 통해 이루어진다. 즉, 손실함수는 신경망이 학습할 수 있도록 해주는 지표라고 할 수 있고, 학습의 목표는 손실 함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이라고 할 수 있다.

 

데이터 세트

데이터 세트는 훈련 데이터, 검증 데이터, 시험 데이터가 존재한다.

훈련 데이터 : 매개변수 학습을 위한 데이터

검증 데이터 : 하이퍼파라미터 성능 평가를 위한 데이터

시험 데이터 : 신경망의 범용 성능 평가를 위한 데이터

 

검증 데이터 사용 이유

학습 방법을 결정하는 파라미터를 하이퍼파라미터라고 함.(각 층의 뉴런 수, 배치 크기, 가중치 감소 등) 즉, 하이퍼 파라미터는 모델의 성능을 좌우하게 되고, 이 하이퍼 파라미터를 다양한 값으로 설정하고 검증할 때 검증 데이터를 사용한다. 여러 학습 방법(다양한 하이퍼파라미터) 중에서 가장 높은 평가를 받은 방법이 최적의 학습 방법이라고 할 수 있다.

시험 데이터 사용 이유

훈련 데이터를 통해 반복적으로 학습을 진행하게 되면, 가중치 매개변수가 과도하게 훈련데이터에 최적화 된 상태가 발생하게 된다. 이와 같은 상태를 오버피팅(Over-fitting)이라고 하고, 시험 데이터를 살펴보면서 언제 학습을 중단해야하는지 파악해야 한다.

 

손실 함수

손실함수는 신경망이 제대로 학습되고 있는지 평가하는 지표이며, 신경망 성능의 '나쁨'을 나타내는 지표이다. 손실함수에는 평균 제곱 오차, 교차 엔트로피 오차로 나누어진다.

 

평균 제곱 오차

평균 제곱 오차는 가장 많이 쓰이는 손실 함수로서, 각 원소의 출력(추정 값)과 정답 레이블의 차를 제곱한 후 그 총합을 계산하게 된다.(회귀에서 많이 사용된다.)

 

제곱을 하는 이유는 출력 레이블의 값과 정답 레이블의 차가 음수가 되었을 때, 양수인 다른 레이블과 더했을 때 원래의 값을 반영하지 못할 수 있기 떄문이다. 다음 그림을 보면 정확히 알 수 있을 것이다.

 

x = 4일때 정답 레이블은 6이고, 출력 레이블은 4를 가리키는 걸 확인할 수 있다. 또한 x = 8 일때, 정답 레이블은 4이지만, 출력 레이블은 6을 가리키는 것을 확인할 수 있다. 다른 출력 레이블은 모두 정답이다. 그렇다면 x = 4에서 출력레이블 - 정답레이블을 하여 (4 - 6) = -2가 나오는 것을 확인할 수 있고, x= 8에서 (6 - 4)하여 +2 인것을 확인할 수 있다. 그렇다면 이 값들은 그냥 모두 더하게 된다면 0 + 0 + ... + (-2) + ... (+2) 와 같은 형태가 될 것이고, 0이 나오게 될 것이다. 하지만 이 그래프는 오차가 분명 존재한다. 그렇기 때문에 양과 음의 합을 때문에 오차가 계산되지 못하는 것을 보정하기 위해서 제곱을 하여 더해주게 된다. 

 

교차 엔트로피 오차

교차 엔트로피 오차는 정답일 떄의 출력이 전체 값을 정하게 된다.(분류에서 많이 사용된다.)

 

교차 엔트로피 함수

미니 배치

훈련 데이터를 통해 손실 함수의 값을 계산하고, 손실 함수의 값을 최대한 줄여주는 매개변수를 찾는 과정이 바로 학습의 과정이라는 것을 알 수 있을 것이다. 그렇다면 모든 데이터마다 매개변수를 갱신해야 하는가? 훈련데이터가 10만개라면? 혹은 100만개라면? 엄청나게 많은 데이터에서 모든 데이터를 대상으로 한 손실함수의 합을 구하는 것은 엄청나게 많은 시간이 걸리게 될 것이다. 데이터의 일부를 추려 전체의 '근사치'로 사용하여 훈련 데이터의 일부만 골라서 학습을 수행하는 것을 미니 배치 학습이라고 한다.

 

미니 배치 : 전체 훈련 데이터의 대표로서 무작위로 선택한 작은 덩어리

 

즉, 문제가 100문제 있고 그에 대한 정답도 100개가 있다면, 배치 사이즈 10은 10문제 풀어보고 정답과 비교하게 된다. 정답과 비교한 후 손실함수의 값을 가장 작게 만드는 방향으로 가중치를 갱신하게 되므로 10번의 갱신이 일어나게 된다. 갱신이 적당하게 일어날 수 있도록 배치 사이즈를 조절하는 것이 중요하다.

 

에폭(Epoch)

1에폭은 학습에서 훈련 데이터를 모두 소진했을 때의 횟수. 이전 100문제 예시에서는 100문제를 한 번 모두 풀어보면 1에폭 학습이 일어났다고 할 수 있다. 즉 에폭은 전체 훈련 데이터를 몇 번 풀어볼지 정하는 것이다. 같은 문제라도 처음 풀었을 때와 나중에 풀었을 때 가중치가 변하기 때문에 다시 학습이 일어나게 된다.

728x90
반응형
Comments