Path: blob/master/site/ko/addons/tutorials/average_optimizers_callback.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
개요
이 노트북은 TensorFlow Addons 패키지의 모델 평균 체크포인트와 함께 Moving Average Optimizer를 사용하는 방법을 보여줍니다.
이동 평균
이동 평균의 장점은 최신 배치에서 급격한 손실 이동이나 불규칙한 데이터 표현에 덜 취약하다는 것입니다. 어느 시점까지는 모델 훈련에 대한 좀 더 일반적인 아이디어를 제공합니다.
확률적 평균
Stocastic Weight Averaging(SWA)은 더 넓은 최적값으로 수렴됩니다. 기하학적 앙상블링과 비슷하게 됩니다. SWA는 다른 옵티마이저의 래퍼로 사용될 때 모델 성능을 개선하고 내부 옵티마이저의 서로 다른 궤적 포인트에서 결과를 평균화하는 간단한 방법입니다.
모델 평균 체크포인트
callbacks.ModelCheckpoint
는 훈련 중에 이동 평균 가중치를 저장하는 옵션을 제공하지 않습니다. 따라서 Moving Average Optimizer에서 사용자 정의 콜백이 필요합니다.update_weights
매개변수와ModelAverageCheckpoint
를 사용하면 다음이 가능합니다.
이동 평균 가중치를 모델에 할당하고 저장합니다.
이전의 평균이 아닌 가중치를 유지하지만, 저장된 모델은 평균 가중치를 사용합니다.
설정
모델 빌드하기
데이터세트 준비하기
여기에서는 3가지 옵티마이저를 비교할 것입니다.
래핑되지 않은 SGD
이동 평균을 사용하는 SGD
확률적 가중치 평균을 사용하는 SGD
같은 모델에서 어떻게 동작하는지 확인합니다.
MovingAverage
및 StochasticAverage
옵티마이저 모두 ModelAverageCheckpoint
를 사용합니다.