반응형
* 매개변수 최적화 : 신경망 학습의 목표는 손실 함수의 값을 최대한 낮추는 매개변수를 찾는 것으로 이러한 매개변수의 최적값을 찾는 과정을 의미
확률적 경사 하강법(SGD, Stochastic Gradient Descent)
- 최적의 매개변수 값을 찾기 위해 매개변수에 대한 손실함수의 기울기 이용
- 손실함수의 기울기를 따라 조금씩 아래로 내려가다 최종적으로 손실함수가 가장 작은 지점에 도달하도록하는 알고리즘
- 경사 하강법 비교
- 배치 경사 하강법 : 데이터 전체를 선택
- 확률적 경사 하강법 : 랜덤으로 선택한 하나의 데이터로만 계산
- 확률적 경사 하강법의 장점
- 단순하고 명확한 구조
- 확률적 경사 하강법의 단점
- 매개변수가 방향에 따라 다른 기울기를 갖는 경우 비효율적인 움직임을 보임
- 최소값(0,0)까지 지그재그로 이동하는 경우
- 비등방성 함수인 경우
- 매개변수가 방향에 따라 다른 기울기를 갖는 경우 비효율적인 움직임을 보임
- 해당 알고리즘은 갱신할 가중 매개변수와 매개변수에 대한 손실함수의 기울기와 합습률로 설명
모멘텀(Momentum)
- 운동량을 의미
- 확률적 경사 하강법에 속도 개념인 기울기 방향으로 힘을 받으면 물체가 가속되는 관성 물리 법칙 적용한 것
- 미분계수가 0인 지점에서 더 이상 이동하지 않는 한계점을 가진 확률적 경사 하강법
- 속도항에 기울기 값이 누적, 누적된 값이 가중치 갱신에 영향을 주면서 기울기 값으로 인해 빠른 최적점 수렴 가능
AdaGrad(Adaptive Gradient)
- 개별 매개변수에 적응적으로 학습률을 조정하면서 학습을 진행하는 알고리즘
- 첫 부분에서는 크게 학습
- 최적점에 가까울수록 학습률을 점차 줄여가며 조금씩 작게 학습
- 매개변수를 갱신할 때 새로 나온 변수의 제곱근을 나눠 모든 가중치가 이전에 갱신되었던 크기에 맞게 학습률 조정
Adam(Adaptive Moment Estimation)
- Momentum과 AdaGrad를 결합한 방법론
- 학습률, 일차 모멘텀 계수, 이차 모멘텀 계수의 3가지 초매개변수들을 설정
- 전체적인 경향은 모멘텀과 같이 공 굴러가는 듯하다가 AdaGrad로 인해 갱신 강도가 조정되어 좌우 흔들림이 덜함
초매개변수(하이퍼파라미터, HyperParameter) 최적화
- 초매개변수 : 사람이 직접 설정해주어야 하는 매개변수
- 뉴런의 수, 학습률, 배치 크기, 은닉층 개수 등
- 학습률(Learning Rate)
- 기울기(gradient) 방향으로 얼마나 빠르게 이동할지를 결정
- 학습률이 작으면 학습 시간이 길어짐
- 학습률이 크면 발산하여 학습이 제대로 이루어지지 않을 수 있음
- 미니배치(Mini-Batch) 크기
- 배치 개념 사용
- 배치 : 경사 하강법 1회에 사용되는 데이터 묶음
- 전체 훈련데이터 셋을 신경망에 넣게 되면 리소스가 비효율적으로 사용되고 시간이 오래 걸리기 때문
- 미니배치 : 전체 학습 데이터를 주어진 배치 크기로 나눈 것
- 미니배치 크기가 크면 병렬연산 구조를 사용할 때 효과적
- 미니배치 크기가 작으면 더 많은 가중치 업데이트를 할 수 있음
- 배치 개념 사용
- 훈련 반복(Epoch) 횟수
- 전체 훈련데이터 셋이 신경망을 통과한 횟수
- 즉, 1 Epoch는 1회 학습으로 통과했다는 의미
- 학습의 조기 종료를 결정하는 변수
- 전체 훈련데이터 셋이 신경망을 통과한 횟수
- 이터레이션(Iteration)
- 하나의 미니배치를 학습할 때 1Iteration으로 1회 ㅐ매개변수 업데이트 진행
- 미니배치 개수와 이터레이션 개수 동일
- 예시) 훈련데이터 셋 1000개, 100개의 묶음(배치 크기)
- 미니배치 : 10개
- 이터레이션 : 10개
- 에포크 : 매회 가중치 갱신이 되면서 10회에 도달할 때마다 1회
- 은닉층(Hidden Layer) 개수
- 은닉층 수가 많아질수록 특정 훈련데이터에 더 최적화 가능
- 모든 은닉층들의 뉴런의 개수를 동일하게 유지하는 것이 같은 은닉층 개수에 뉴런의 개수를 가변적으로 하는 것보다 효과적
- 첫 번째 은닉층에 있는 뉴런의 개수가 입력층에 있는 뉴런의 개수보다 큰 것이 효과적인 경우가 많음
참고
반응형