티스토리 뷰
SWDesk/ArtificialIntelligence
인공지능 구현에 사용되는 최적화 알고리즘 - Adam, 확률적 경사 하강법 등
bizmaker 2024. 11. 22. 18:30[개요]
- 최적화 알고리즘은 주어진 함수(예를 들어 손실함수 등)의 최소값을 찾기 위해 사용됨.
[주요 분류]
- 경사 기반 최적화(Gradient-Based Optimization)
- 기울기 없는 최적화(Gradient-Free Optimization)
- 2차 최적화
[경사 기반 최적화]
- 손실함수를 최소화하기 위해 함수의 기울기(gradient)를 계산하여 파라미터들을 점진적으로 업데이트하는 방식
- 배치 경사 하강법(Batch Gradient Descent, BGD)
- 전체 데이터셋을 사용하여 손실함수의 기울기 계산
- 경사 방향이 정확하여 학습이 안정적이나,
- 데이터셋이 클 경우 계산 비용이 매우 높아짐.
- 데이터셋이 작고 메모리가 충분한 경우에 사용
- 확률적 경사 하강법(Stocastic Gradient Descent, SGD)
- 한 번의 업데이트에 단일 데이터 포인트를 샘플링하여 기울기를 계산
- 계산 비용이 낮고, 국소 최소값을 탈출하는 데 유리하지만,
- 진동 현상이 발생할 수 있으며, 이로 인해 수렴 속도가 느려질 수 있음.
- 대규모 데이터셋에 적합
- 미니 배치 경사 하강법(Mini-Batch Gradient Descent)
- 데이터셋을 작은 배치로 나누어 각 배치에 대해 기울기를 게산
- SGD의 효율성과 BGD의 안정성을 모두 취할 수 있지만,
- 배치 크기 설정이 중요하며, 적절한 값 선정이 필요함.
- 딥러닝 학습에서 널리 사용
- 모멘텀(Momentum)
- 이전 업데이트 방향을 고려해 진동을 줄이고 더 빠르게 수렴
- SGD의 진동 문제를 완화시킴.
- 주로 SGD 알고리즘에 추가하여 사용됨.
- 적응형 학습률 기법(Adaptive Learning Rate Methods)
- 학습률을 동적으로 조정하여 효율성을 높임.
- 주요 기법 : Adam(모멘텀과 RMSProp의 장점을 결합한 방식), AdaGrad(자주 나타나는 기울기를 줄이고 드문 기울기를 확대), RMSProp(과거 기울기의 제곱을 지수적으로 가중 평균하여 학습률 조정)
- 학습률 설정의 어려움을 완화하면서 더 빠른 수렴 가능
- 딥러닝에서 일반적을 사용됨.
[기울기 없는 최적화]
기울기 계산이 어려운 경우 사용되는 방법이며, 함수 평가를 통해 최적값 탐색
- 유전 알고리즘(Genetic Algorithm)
- 생물학적 진화를 모방하여 최적화를 수행
- 교배(crossover), 돌연변이(mutation) 등을 활용
- 시뮬레이티드 어닐링(Simulated Anealing)
- 금속 냉각 과정을 모방하여 최적화
- 초기에는 탐색 범위가 크지만 점차 좁혀감.
- 랜덤 탐색(Random Search)
- 랜덤 샘플링을 통해 함수의 최소값을 찾음.
- 단순하지만 계산량이 많아질 수 있음.
[2차 최적화]
- 2차 미분 정보를 이용하여 함수의 곡률을 고려한 최적화 수행
- 뉴턴 방법(Newton's Method)
- 손실 함수의 2차 미분(헤시안)을 사용해 최소값 탐색
- 매우 빠르게 수렴하지만 계산 비용이 높음.
- 준-뉴턴 방법(Quasi-Newton Methods)
- 헤시안을 근사 계산하여 뉴턴 방법의 계산 비용을 줄임.
- BFGS(Broyden-Fletcher-GoldFarb-Shanno) 알고리즘 등이 대표적임.
반응형
'SWDesk > ArtificialIntelligence' 카테고리의 다른 글
확률적 경사 하강법(SGD) 함수 사용법 (0) | 2024.11.25 |
---|---|
*합성곱 신경망(Convolutional Neural Netwrok) 기본 이론 (0) | 2024.11.23 |
Perceptron과 Neural Network의 등장 순서별 의미와 특징 (0) | 2024.11.21 |
인공지능 모델의 분류(Classification) 성능을 평가하는 함수 : classification_report() (0) | 2024.11.21 |
교차검증(Cross Validation)의 의미와 활용법 (0) | 2024.11.21 |
반응형
250x250
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 심심풀이
- arduino
- BSC
- DYOV
- 심심풀이치매방지기
- 전압전류모니터링
- 빌리언트
- 전압
- 티스토리챌린지
- bilient
- 아두이노
- badp
- Video
- 혁신과허들
- 둎
- 치매
- ServantClock
- Innovations&Hurdles
- Innovations
- 혁신
- 오블완
- 전류
- 절연형
- 배프
- Innovation&Hurdles
- Decorator
- 허들
- Hurdles
- image
- 치매방지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함