[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "Gradient Descent"
안녕하세요 4기부터 활동을 한 서포터즈 5기 송주영입니다.
우리나라 날씨가 갈수록 변덕스러워 지는 것 같아요ㅠ
이럴수록 다를 몸조리 잘 하시길 바랍니다.
이번 수업에서도 머신러닝에 대해 수학적 개념을 배우며, 기초를 다질 수 있었어요!
강의 리뷰 시작하겠습니다.
Gradient Descent 경사하강법
경사 하강법이란, 손실 함수를 0에 가깝게 하는 지점을 찾는 것입니다.
이를 위하여 미분을 반복적으로 진행하게 됩니다.
미분을 했을 때 양수 값이 나온다면, 이를 줄이기 위해 반대 방향으로 업데이트를 수행합니다.
이러한 과정 epoch 만큼 반복하고, 이 epoch는 사람이 설정하는 하이퍼 파라미터입니다.
학습률(learning rate)
학습률은 계산된 미분값 얼마나 반영할 지 결정하는 개념입니다.
학습률 또한 사람이 설정하는 하이퍼 파라미터에 해당합니다.
학습률을 도입하는 이유는 미분을 했을 때, 값이 크게 변화한다면 최저점을 찾기 힘들 수 있기 때문입니다.
최저점에 천천히 도달하게 하고 싶다는 학습률을 낮게 설정합니다.
학습률 스케줄러
학습률은 일반적으로 큰 값에서 작은 값으로 변화시킵니다.
Cosine annealing 특정 횟수마다 학습률을 최대에서 최저까지 변화시키는 과정을 수행합니다.
변화 과정은 cosine 함수와 비슷한 모습을 보입니다.
Cosine annealing 기법을 통해 global 지점이 아닌, local 지점에서 parameter를 찾는 경우를 방지합니다.
Advanced Gradient Descent
단순 Gradient Descent 보다 개선된 방법이다.
확률적 경사 하강법이란, 전체 데이터셋을 활용하여 계산을 수행하면 그 비용이 크기 때문에 1개의 데이터로 업데이트를 진행하고, 이를 n번 반복하는 방법을 말합니다.
이렇게 한 경우 특정 샘플이 전체를 대변하기 어렵다는 문제를 갖습니다.
이때 학습 속도와 정확도를 모두 조절할 수 있도록 하는 것이 배치(batch)의 개념입니다.
Advanced Gradient Descent - Adam
경사 하강법 중에는 Adam이라는 방법이 존재하며, A는 adaptive를 말합니다.
적응적 학습률 알고리즘으로, AdaGrad와 Momentum을 융합한 기법입니다.
AdaGrad는 변수별로 학습률이 달라지게 하는 알고리즘입니다.
Momentum은 학습률의 진행 방향에 관성이라는 개념을 추가하여 보다 Local Mininum에 빠지는 것을 방지합니다.
Momentum, Local optimal, Global optimal
하이퍼 파라미터 조정의 최종 목표는 손실함수를 최소화시키는 것입니다.
그림에서 좌측의 볼록한 부분이 Local Optimal, 우측의 볼록한 부분이 Global Optimal에 해당합니다.
위에서 말한 Momentum을 그림으로 이해하면, 그래프가 볼록한 지점을 지나 상승 지점을 이동할 때, 좀 더 많이 움직이게 하여 넓은 지점을 탐색하고 Global Optimal을 찾는 것을 유도합니다.
하이퍼 파라미터 설정에 있어서, 손실 함수의 최저점이 Local인지 항상 확인할 필요가 있습니다.
'인공지능 - 메타코드' 카테고리의 다른 글
[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "1단원 실습" (0) | 2024.07.28 |
---|---|
[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "Validation Data" (0) | 2024.07.27 |
[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "Bias and variance Trade-off" (0) | 2024.07.21 |
[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "기초수학 ~ 최소제곱법" (3) | 2024.07.14 |
[메타코드 강의 후기] 메타코드 머신러닝 입문 부트캠프 - "강좌 소개 ~ 기초 수학" (1) | 2024.07.14 |