하이퍼 파라미터(Hyper Parameter)는 학습시 사람이 지정해주는 값들이다.
learning rate(감쇠율), 모델의 크기, optimizer 이 대표적인 예시이다.
성능을 높히기 위해서
1. 모델을 바꾼다
2. 데이터를 바꾸거나 다듬는다
3. 하이퍼파라미터를 조절한다
와 같은 세 가지 방법이 있다.
2번이 대부분의 상황에서 가장 많은 영향을 미친다.
Search Layout
- Grid Layout search
일정한 범위 내의 값을 모두 시도해보고 가장 나은 성능을 발휘하는 파라미터를 찾는 방법 - Random Layout search
값을 random하게 돌려서 그 중 가장 잘 나오는 하이퍼파라이퍼를 찾는다
그래서 random layout 으로 어느정도 잘 나오는 틀이 잡히면 그 범위안에서 grid layout search를 사용했었다. 하지만 최근에는 베이지안 기반 기법(ex. BOHB)들을 주로 사용한다
Ray
multi-node multi processing을 지원하는 모듈이다
ml,dl과 강화학습에서 많이 사용한다.
#1
config={"lr" : tune.loguniform(1e-4,1e-1)}
#외에도 더 많은 파라미터들의 범위를 지정하거나 random하게 돌린다
#2
scheduler=ASHAScheduler( 속성들 )
# loss값이 안 나오는 metric을 자른다
#3
reporter=CLIReporter( 속성들 )
#
#4
result=turn.run( 속성들 ) #실행
#5
best = result.get_best_trail('lr')
# 가장 높은 성능의 모델을 불러온다
'부스트캠프 AI Tech 3기 > 이론 : U-stage' 카테고리의 다른 글
[Day11] Data visualization 1-2. 시각화의 요소 (0) | 2022.02.03 |
---|---|
[Day10] Pytorch 10. Troubleshooting (0) | 2022.01.28 |
[Day10] Pytorch 8. Multi-GPU 학습 (0) | 2022.01.28 |
[Day8] Pytorch 7. Monitoring tools for PyTorch (0) | 2022.01.27 |
[Day8] Pytorch 6. 모델 불러오기 : model.save(), load, checkpoint, freeze, transfer learning (0) | 2022.01.27 |