PPO의 하이퍼파라미터 메모 #1: 최적화 기법편
동기
PPO의 원논문에서는 Adam이 권장됩니다.
그러나 이런 논의를 보았다.
Using Adam Optimizer in PPO and similar off-policy optimization procedures
실험을보고하는 논문도 있습니다.
Henderson+ (2018) "Where Did My Optimum Go?: An Empirical Analysis of Gradient Descent Optimization in Policy Gradient Methods"

(그림은 상기 논문의 Figure 1.에서 인용)
논문 말하자면, PPO에서 학습률을 변경했을 때의 최적화 기법마다의 성능 변화가 이러한 것이다. 그렇다면 학습률 등을 최적화 방법이 제안하는 권장 값으로 비교할 때 어떻게 될까?
실험
실험 환경
실험 환경
파라미터 등
환경은 Pendulum-v0.
parser.add_argument('--gpu', type=int, default=0)
parser.add_argument('--env', type=str, default='Pendulum-v0')
parser.add_argument('--arch', type=str, default='FFGaussian',
choices=('FFSoftmax', 'FFMellowmax',
'FFGaussian'))
parser.add_argument('--bound-mean', action='store_true')
parser.add_argument('--seed', type=int, default=0,
help='Random seed [0, 2 ** 32)')
parser.add_argument('--outdir', type=str, default='results_adam',
help='Directory path to save output files.'
' If it does not exist, it will be created.')
parser.add_argument('--steps', type=int, default=10 ** 6)
parser.add_argument('--eval-interval', type=int, default=10000)
parser.add_argument('--eval-n-runs', type=int, default=10)
parser.add_argument('--reward-scale-factor', type=float, default=1e-2)
parser.add_argument('--standardize-advantages', action='store_true')
parser.add_argument('--render', action='store_true', default=False)
parser.add_argument('--lr', type=float, default=3e-4)
parser.add_argument('--weight-decay', type=float, default=0.0)
parser.add_argument('--demo', action='store_true', default=False)
parser.add_argument('--load', type=str, default='')
parser.add_argument('--logger-level', type=int, default=logging.DEBUG)
parser.add_argument('--monitor', action='store_true')
parser.add_argument('--update-interval', type=int, default=2048)
parser.add_argument('--batchsize', type=int, default=64)
parser.add_argument('--epochs', type=int, default=10)
parser.add_argument('--entropy-coef', type=float, default=0.0)
최적화 기법은 인수를 취하지 않는 형태 (= Chainer 기본값이 됨)를 사용했다.
결과
결과(100 이동 평균)의 그래프가 이쪽.

보기 어렵기 때문에 분해한 것도 나타낸다.

「SGD와 그 개량계」, 「RMSprop과 그 개량계」, 「Adam 기타」로 나눈 그래프. (Adam (def)가 논문의 기본 매개 변수).
의외와 달리 놀라움. SMORMS3가 꽤 좋은 느낌입니다.
요약
예를 들어 한 번만 시도했지만 최적화 방법을 선택하는 방식으로 비교할 수 있다는 것을 알았습니다. 어쩐지 진흙 늪의 걱정만
Reference
이 문제에 관하여(PPO의 하이퍼파라미터 메모 #1: 최적화 기법편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/deepirl_learner/items/d269f87a40295c40ca48
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(PPO의 하이퍼파라미터 메모 #1: 최적화 기법편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/deepirl_learner/items/d269f87a40295c40ca48텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)