dev-logs

3. 신경망 학습 본문

공부/Deep Learning

3. 신경망 학습

두룹두두 2019. 5. 29. 11:42

학습

- 훈련 데이터로부터 가중치 매개변수의 최적값을 획득하는 것.

- 손실 함수(Loss function)를 지표로 해서 loss함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾아야 한다.

- 기울기 경사법 이용.

- 훈련데이터 training data와 시험데이터 test data를 섞으면 안됨!

- 어떤 데이터셋에 지나치게 최적화된 상태 overfitting 을 피하는 것 중요

 

 특징 추출

- 컴퓨터 비전 분야에서는 SIFR, SURF, HOG 등이 있음.

- 딥러닝인 특징 추출도 사람이 개입하지 않아도 됨.

 

손실함수 Loss function

- 신경망 성능의 '나쁨'을 나타내는지표 -> 결과값이 작을수록 좋음. 결과값에 -1을 곱하면 '좋음'을 나타내게 됨.

- 평균 제곱 오차, 교차 엔트로피 사용.

 

평균 제곱 오차 mean squard error, MSE

- (추정값 - 정답)의 제곱의 합 / 2

- MSE 구하기 (숫자 손글씨를 예로)

- Example

    - t는 one-hot encoding 상태.

    - 위의 표처럼 정답은 2 이다. (실제 추정확률도 2가 가장 높게 나옴)

    - MSE = 0.0975

 

교차 엔트로피 오차 cross entropy error, CEE

- t와 y가 곱하기 연산되어있다. t는 정답인 클래스만 1이고 나머지는 0이므로 시그마 계산이지만 CEE는 정답인 클래스의 출력값과 같다.

- 자연로그 그래프는 아래와 같다.

 

미니배치 mini-batch

- 모든 학습데이터에 대해 loss를 구하려면 시간이 너무 많이 걸리므로 데이터 중 일부만 골라서 학습 수행.

- 예를 들어 60,000장의 학습이미지 중 무작위로 100개를 뽑아서 그 100장만을 학습함.

 

왜 손실함수를 써야하는지?

- 신경망 학습에서 최적의 가중치, 편향 값을 찾을 때 loss값을 작게하는 매개변수를 찾는다.

- 매개변수(활성화함수?)의 미분을 이용. (가중치 매개변수의 변화에 대한 loss값 변화량)

    - 예를 들어 매개변수 미분값이 음수이면 -> 매개변수를 양의 방향으로 변화시키면 loss값이 작아짐.

    - 예를 들어 매개변수 미분값이 양수이면 -> 매개변수를 음의 방향으로 변화시키면 loss값이 작아짐.

    - 예를 들어 매개변수 미분값이 0이면 -> 어떤 방향으로 변화시키든 loss값의 변화가 없으므로 갱신하지 않음.

    - 정확도를 지표로 삼으면 매개변수의 미분은 대부분의 장소에서 0이 된다...

 

 

출처 : 밑바닥부터 시작하는 딥러닝(한빛미디어)

'공부 > Deep Learning' 카테고리의 다른 글

7. CNN  (0) 2019.06.19
6. 학습 관련 기술들  (0) 2019.06.18
5. 오차역전파법  (0) 2019.06.17
2. 손글씨 숫자 인식_1  (0) 2019.05.28
1. 신경망, Forward Propagation 개념  (0) 2019.05.28
Comments