강명호 강사님
GD와 SGD의 차이
GD : 등고선에서 줄줄줄 내려감, full-batch, 360도를 다 보고 스텝, 종종걸음으로 감
SGD : 지그재그지그재그 내려감, mini-batch, 한 발 한 발 빠르게 스텝, 랜덤으로 확률적으로 뽑아서 진행
계산 그래프
국소적인 계산
하이퍼파라미터의 예 : 학습률, 손실 함수, 미니배치 크기, 층의 개수, 반복 횟수 등
학습률 : 에타 η
기울기 : 손실함수 기울기 ∂L/∂W
W ← W - η * ∂L/∂W:
Wt = Wt-1 - η~~
new (왼쪽) 화살표 기준 old (오른 쪽)
η : 학습, 보폭
∂L/∂W : 방향, 기울기
모멘텀 : 진행하던 방향의 관성을 고려하여 스텝 진행
모멘텀 속도 갱신
모멘텀 가중치 갱신
ones 는 1로 채우기
zeros 는 0으로 채우기
zeros_like 는 배열의 형태를 가져가고
빈 값으로 형태만 만들기
모멘텀의 단점 : 진동이 있다
기울기가 급한 쪽은 천천히, 완만한 곳은 빠르게 스텝 진행
경사가 급한 곳을 역수로 하니까 천천히 이동
급경사는 급제동
완만한 경사는 완만한 제동
가변적인 학습률 적용
adaptive 적응형
네스테로프 가속 경사 : 관성을 고려하되 멀리보고 경사 확인 후 지름길로 스텝 진행
Momentum 기법에서 기울기 계산 위치를 수정함
눈 가리개를 벗음
한 수 앞을 보고 지름길을 계산
Bengio의 수식 : 기울기와 속도의 영향을 동시에 반영해 학습을 효율적으로 최적화하는 방식
진행하던 속도를 너무 줄이지 않도록 현재 상황도 충분히 확인하면서 스텝 진행
Root Mean Square Propagation
지수 이동 평균의 개념 적용
최신 값을 더 강조하여 평균을 계산하는 방법
과거 값에 감마를 곱해주고
최근 값에 (1-감마)를 곱해줘서 반영합니다
감쇠 계수, 감쇠율 : γ
진행하던 방향과 스텝의 크기를 모두 고려하여 스텝 진행
Adaptive Moment Estimation
Momentum의 관성 개념과 RMSProp 의 지수 이동 평균 개념을 적용
Adam 은 카운팅을 해야 합니다.
Adam counting
t는 다음 타임
카운트를 셀 필요
불편 추정치 : 스텝 진행의 어려움 최소화
규제
시그모이드 함수를 활용하면 0과 1에 결과값이 몰림
기울기가 0이면 학습이 진행되지 않는다
분포를 너무 크게 하거나 너무 작게 해도 문제가 생깁니다
0, 0.5 가 원점으로 몰렸다가 흐트러짐
ReLU 함수는 층을 거듭하면서 점점 0으로 몰림
Affine 과 ReLU 사이에 Batch normalization
가중치 감소 (weight decay)
드롭아웃 (dropout)
신경망이 많다
노드가 증가 → 퍼셉트론이 많음 →
각 미니배치마다 다른 신경망을 통과한다
일부 하이퍼 파라미터 고정값 사용 권장
모멘텀 계수(0.9)
Adam 계수(𝛽1 = 0.9,𝛽2 = 0.999)
검증 데이터
학습 세트, 검증 세트, 테스트 세트
하이퍼파라미터 최적화
1. 디바이드 앤 콘퀄
부분을 잡아서 진행
2. 로그스케일로 올라가면서 진행