Programmer Application Note

2017년 8월 2일 수요일

신경망 학습 개선 방법

오전 1:17 Posted by PAN.SPOT , , No comments
1. 에폭 (epoch)
   1에폭은 학습에서 훈련데이터를 모두 소진 했을 때의 횟수에 해당 한다. 훈련데이터가 6만개 있다면 미니배치로 100개씩 배치 하였을 때 경사하강법으로 600회 반복하면 100 * 600 = 6만개 가되어 1에폭이 된다.

2. Affine(어파인) 계층
   신경망의 순전파 때 수행하는 행렬의 내적을 어파인 변환이라 한다. 행렬의 내적을 수행하는 계층을 이르는말

2. 최적화 방법(매개변수 갱신법)
   - SGD(확률적 경사 하강법) : 일반적으로 사용되나 비등방성함수(방향에 따라 기울기가 달라지는 함수)에서는 비효율 적이다.
   - 모멘텀(Momentum) : SGD에서 움직임에 대한 변수까지 추가하여 개선한 방법
   - AdaGrad : 학습률을 처음엔 크게 했다가 점차 줄여나가는 방법  (과거의 기울기를 제곱하여 계속 더해 나가는 기법으로 학습강도가 점차 줄어들다가 0이 되는 문제가 있다 이를 개선한 RMSProp 라는 방법도 있다)
   - Adam : 모멘텀과 AdaGrad 방법을 융합 한다는 생각을 기초로 만든 기법 - 최근들어 많이 사용 하는방법

3. 가중치 초기화
   - xavier(재비어) : n = 입력 노드의 수 1 / sqrt(n) 의 표준편차를 가지는 정규화 분포
   - he : ReLU 활성화 함수를 사용 할때 초기화 값으로 많이 사용된다.

4. 배치정규화
   - 각 층의 활성화 값의 분포를 적당히 분포 되도록 조정하는 기법으로 아래와 같은 장점이 있다.
    1. 학습 속도 개선 2. 초깃값에 의존하지 않는다. 3. 오버피팅을 억제한다.
 









5.오버피팅 억제 방법
  - 가중치감소 : L2법칙 에 따라 가중치가 커지는 것을 억제하여 오버피팅이 발생하는 것을 억제한다.
  - 드롭아웃(Dropout) : 신경망 모델이 복잡해싲면서 가중치 감소 만으로 대응이 어려워질때 사용하는 기법으로 훈련 때 은닉층의 노드를 무작위로 골라 삭제 하는 방법이다.

6. 하이퍼 파라미터 최적화
   하이퍼 파라미터란 노드의 수 , 배치의 크기 , 학습률 등 초기에 설장하는 값들을 말한다.
   - 데이터를 훈련데이터,검증데이터,시험데이터로 나눈다.
   - 훈련데이터에서 20% 비율로 검증데이터를 분리한다.
   - 검증테이터는 하이퍼파라미터 성능 평가용으로 사용한다. 이를 분리한 이유는 시험데이터로 하이퍼파라미터를 조정 하면 하이퍼파라미터 값이 시험데이터에 오버피팅 될 수 있기 때문이다.


참고:
딥러닝첫걸음 - 머신러닝에서 컨벌루션 신경망까지 / 김성필 | 한빛미디어
밑바닥부터 시작하는 딥러닝 - 파이썬으로 익히는 딥러닝 이론과구현 / 사이토고키 | 한빛미디어
신경망첫걸음 - 수포자도 이해하는 신경망 동작 원리와 딥러닝 기초 / 타리크라시드 | 한빛 미디어








0 개의 댓글:

댓글 쓰기