「原作者へ」
連絡先を存じ上げませんでしたので、不本意ながら無断で翻訳しました。
正式に翻訳を許可されたいです。
gogyzzz@gmail.comでご連絡ください。
아래 포스트의 번역입니다.
http://work-in-progress.hatenablog.com/entry/2018/05/01/223029
학습의 과정을 추적해보자.
스크립트 「steps/nnet/train.sh」를 실행하면 내부에서 「steps/nnet/train_scheduler.sh」가 호출되어 「nnetbin/nnet-train-frmshuff」를 실행한다.
이 예제에서는 "모시모시"라는 발화 (198프레임)의 음성 파일을 3개 준비하여, 미니 배치 사이즈는 128을 지정하여 진행해보았다.
학습에는 옵션으로 「--cross-validate=false --randomize=true」를 지정하여 「nnetbin/nnet-train-frmshuff」를 실행한다.
학습 데이터는 594 프레임 (=198프레임x3파일)로부터 128프레임을 랜덤하게 선택한다.
한편, validation에서는 옵션으로 「--cross-validate=true --randomize=false」을 지정하여 「nnetbin/nnet-train-frmshuff」을 실행한다.
randomize하지 않으므로, validation 데이터 (128프레임)은 고정이 된다.
학습 진행의 여부는 cross validation에서 cross entropy 값으로 판정된다.
- input : 모델(학습전)
- output : 모델(학습후)
- AvgLoss(cv) : 학습 후 모델의 cross entropy 값
값이 악화된다면 learning rate를 줄여 다시 학습한다 (빨간색)
학습이 진행되지 않는다면 learning rate를 반으로 줄여 다시 시작한다 (녹색)
개선이 역치(0.001)보다 떨어지면 종료한다(청색)
댓글 없음:
댓글 쓰기