inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

학습율(Learning Rate) 동적 변경에 따른 모델 성능 비교

ReduceLROnPlateau 관련 질문드립니다.

570

김성웅

작성한 질문수 24

0

안녕하세요 . 강사님 항상 감사드립니다.
 
model.compile할때 Adam(lr=0.001)로 이미 lr의 계수가 작다고 개인적으로 생각이 드는데,
 
ReduceLROnPlateau의 factor 인자 0.2를 계속 곱하게 되면 lr의 계수가 너무 기하급수적으로
 
작아져서 Gradient가 극소점을 찾기에 더 방해가 되는 것 같은 생각입니다.

ex) lr : 4.0000001899898055e-05.
 
제가 궁금한 것은
 
학습을 진행할 때 , lr의 계수가 0.001 * 0.2 를 반복하면서 기존보다 월등하게 작아진 lr 계수를
 
학습에 사용하는 것이 일반적이거나 효율적인 것인지 여쭤보고 싶습니다.
 
감사합니다!

cnn kaggle keras 딥러닝 tensorflow 머신러닝 배워볼래요?

답변 1

1

권 철민

안녕하십니까, 

딥러닝의 특성상 0.001이 그렇게 작은 학습률이 아닙니다. 보통 초기 학습율로 0.001 또는 0.0001 사이를 선호 합니다.  물론 학습율이 너무 작으면 말씀하신대로 손실 최저점을 찾기 위해서 너무 epoch해야 되는 횟수가 많아 지고, 결국 학습이 제대로 되지 않을 수 있습니다. 하지만 0.001 정도는 보통은 초기에 적용하는 큰 학습률입니다. 

초기에 큰 학습율을 적용하고, 이후에 점점 학습율을 줄여 나가는게 딥러닝의 일반적인 학습률 적용 전략입니다. 

예로 드신 4e-5 의 경우 초기 학습율로서는 작지만 어느정도 epoch가 진행된 상태라면 그렇게 작은 학습율이 아닙니다.  epoch를 어느 정도 수행할 때마다 어느정도 레벨로 작아지느냐는 모델과 데이터의 특성에 따라 다르기 때문에 뭐라 말씀 드릴 수는 없지만 일반적으로 말씀드린 0.2 배수 레벨로 작아지는 것이 너무 크게 작아지는 것이라고는 생각되지는 않습니다. 

물론 이렇게 계속적으로 줄여 나가는 학습율 정책이 반드시 옳은 것은 아닙니다. 이 역시 국소 최저점에서 빠져 나오지 못할 가능성이 있습니다. 때문에 ReduceLROnPlateau 외에도 여러가지 학습율 적용 정책이 있습니다. 다만 앞에서도 말씀드렸다시피 초기에 큰 학습율을 적용하고, 이후에 점점 학습율을 줄여 나가는게 딥러닝의 일반적인 학습률 적용 전략입니다. 

감사합니다. 

0

김성웅

궁금했던 의문이 말끔히 해결되었습니다! 강사님 항상 감사드리고 건강하세요 :)

resize 질문

0

60

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

86

1

Loss와 매트릭 관계

0

75

2

Boston 코랩 실습

0

170

2

배치 정규화의 이해와 적용 2 강의 질문

0

143

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

151

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

212

2

소프트맥스 관련 질문입니다

0

215

1

강의 관련 질문입니다

0

161

2

residual block과 identity block의 차이

0

199

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

251

1

실습 환경

0

171

2

입력 이미지 크기

0

256

2

데이터 증강

0

203

2

albumentations ShiftScaleRotate

0

210

1

Model Input Size 관련

0

292

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

206

1

일반적인 질문 (kaggle notebook사용)

0

276

2

실무에서 Augmentation 적용 시

0

346

2

안녕하세요 교수님

0

235

1

가중치 초기화(Weight Initialization) 질문입니다.

0

332

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

412

1

학습이 이상하게 됩니다.

2

1040

2

boston import가 안됩니다

0

230

1