카테고리 없음

밑바닥부터 시작하는 딥러닝 - chapter4 신경망학습

su0a 2024. 3. 30. 10:38

학습: 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득

 

1. 데이터 주도 학습

이미지 -> 사람이 생각한 특징 -> 기계학습 -> 결과

이미지 -> 딥러닝 ----------------------->결과

 

2. 데이터 분리

범용적으로 사용할 수 있는 모델을 만드는게 최종 목표인데 이 범용 능력을 제대로 평가하기 위해 훈련데이터와 시험데이터로 분리

(범용: 아직 보지 못한 데이터로도 문제를 올바르게 풀어내는 능력)

오버피팅: 한 데이터 셋에만 지나치게 최적화된 상태

 

3. 손실함수

신경망 성능의 나쁨을 나타내는 지표

현재 신경망이 훈련 데이터를 얼마나 잘 처리하지 못하는지

대표손실함수: 평균제곱오차, 교차엔트로피오차

 

4. 미니배치 학습

데이터 수가 많아질수록 모든 데이터에 대한 손실함수를 구하는건 현실적으로 불가능하기 때문에 미니배치 사용

ex) 60,000장의 훈련 데이터 중에서 100장을 무작위로 뽑아 그 100장을 사용하여 학습

 

5. 미분

 

 

수치미분: 아주 작은 차분(x를 중심으로 전후의 작은값 더하거나 뺌)으로 미분을 구하는 것

 

6. 편미분

각 변수에 대해 미분

기울기: 모든 변수의 편미분을 벡터로 정리한 것

 

7. 경사하강법

손실함수의 기울기를 잘 이용해 함수의 최솟값을 찾는것

     (n: 학습률)

 

 

8. 학습 알고리즘 구현

전제: 신경망에는 적응 가능한 가중치와 편향이 있고, 이 가중치와 편향을 훈련 데이터에 적응하도록 조정

① 미니배치: 훈련 데이터 중 일부를 무작위로 가져온다. 이렇게 선별한 데이터를 미니배치라 하며 그 미니배치의 손실 함수 값을 줄이는 걸 목표로 한다.

② 기울기 산출: 미니배치의 손실함수 값을 줄이기 위해 각 가중치 매개변수 기울기를 구한다. 기울기는 손실함수 값을 가장 작게 하는 방향을 제시한다.

③ 매개변수 갱신: 가중치 매개변수를 기울기 방향으로 조금씩 갱신한다.

 

9. 확률적 경사 하강법(SGD)

데이터를 미니배치로 무작위로 선정해 경사하강법 수행

에폭(epoch): 1에폭은 학습에서 훈련 데이터를 모두 소진했을 때의 횟수

ex) 훈련 데이터 10,000개를 100개의 미니배치로 학습할 경우 확률적 경사 하강법은 100회 반복하면 모든 훈련 데이터 소진

 

10. 오차역전파법

역전파를 이용하면 미분을 효율적으로 계산할 수 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

덧셈노드 역전파: 상류에서 전해진 값 그대로

곱셈노드 역전파: 상류에서 전해진값 @ 순전파때의 입력신호를 서로 바꾼값