드롭 아웃은 본질적으로 약간 더 분산을 도입합니다. 지도 학습 환경에서, 이것은 종종 초과 피팅을 줄이는 데 도움이됩니다. 전문 분야).
강화 학습에서 추가 차이는 실제로 우리가 찾고있는 것이 아닙니다. 우리가 얻는 학습 신호에는 이미 많은 양의 분산이있는 경향이 있으며,이 분산은 이미 학습 안정성 및 / 또는 학습 속도에 중요한 문제인 경향이 있습니다. 예를 들면 다음과 같습니다.
- 행동 선택의 무작위성은 우리가 관찰 한 수익의 차이로 이어진다
- 환경 자체에 내재 된 임의성이있을 수 있으며 관찰 결과에 추가 편차가 발생할 수 있습니다 (일부 환경은 비결정적임)
- 지도 학습 설정과 달리 강화 학습에서는 종종 손실 함수 / 훈련 신호의 일부로 자체 예측을 사용합니다. 예를 들어, 시간차 학습 (Q-learning / DQN 등)에서 업데이트하는 대상은 다음과 같습니다.r+maxa′Q(s′,a′). 이 용어에서, 만이 (지식 학습에서 사용하는 것과 같이) 참된 사실 관찰이고, 다른 용어는 우리 자신의 예측입니다. 학습 과정에서 시간이 지남에 따라 후자의 부분 (자신의 예측)이 변경됩니다. 이것은 " 움직이는 목표 "문제이며, 이는 학습 신호의 추가 편차로 볼 수 있습니다.r
Deep RL 알고리즘의 많은 중요한 부분 (교육 과정이 경험적으로 불안정화 및 분해되지 않음)은 이러한 편차 를 줄이는 데 매우 적합 합니다. 예를 들어, DQN의 타겟 네트워크는 이동 타겟 문제를 줄이기 위해 특별히 도입되었습니다. 이러한 관점에서, 다른 수단 (예 : 탈락)을 통해 인공적인 분산을 더 추가하면 성능이 저하되고 학습이 불안정해질 수 있다는 것은 놀라운 일이 아닙니다.
초과 피팅을 시도하고 처리하는 다른 메커니즘이 있습니까? 아니면 많은 RL 예제에서 중요하지 않습니까? 예를 들어, '브레이크 아웃'게임에서 최고 점수를 얻는 유일한 방법이있을 수 있으므로 정확하게 배울 필요가있을뿐만 아니라 일반화 할 필요도 없습니까?
현재의 심층 강화 학습 연구에서 과적 응은 실제로 문제로 간주되지 않습니다. 대부분의 RL 연구는 한 환경 (예 : Cartpole, Breakout 또는 Pacman의 특정 레벨 또는 특정 미로 탐색 등)에서의 교육과 해당 학습 과정에서 지속적으로 성능 평가 또는 평가로 구성됩니다. 동일한 환경에서 이러한 학습 과정 후의 성능 .
우리가 평가 방법론을지도 학습에서 일어나는 것과 비교한다면, 우리 는 기본적으로 훈련 세트의 성과를 평가하고 있습니다 * . 지도 학습에서 이것은 절대로 받아 들일 수 없지만 RL에서는 예외보다 수용 가능하고 더 많은 규칙으로 취급됩니다. 일부는 이것이 현재의 RL 연구에서 단순히 문제이며, 변경해야 할 문제라고 말합니다. 또한 반드시 문제가되지는 않는다고 주장 할 수도 있습니다. 에이전트를 나중에 배포하려는 환경과 정확히 동일한 환경에서 실제로 교육 할 수 있다면 ... 그 환경에 비해 어떤 문제가 있습니까?
따라서 위에서 설명한 평가 방법론을 사용할 때 실제로 특정 환경에 과적 합하고 있지만 평가 기준에 따르면 과적 합은 나쁘지 않고 양호합니다 . 이 방법론이 잘 일반화 할 수있는 에이전트로 이어지지는 않는다는 것은 분명합니다. 특정 미로를 탐색하도록 에이전트를 지속적으로 훈련 시키면 훈련 후 다른 미로를 탐색하지 못할 수 있습니다.
* 참고 : 제 생각에 진실은 우리가 실제로 RL의 "훈련 세트에 대해 평가"한다는 것보다 약간 미묘합니다. 예를 들어,이 멋진 트윗 스레드를 참조하십시오 : https://twitter.com/nanjiang_cs/status/1049682399980908544
DQN을 사용하여 통화 가격을 시뮬레이션하는 환경과 구매 및 판매시기를 배우는 간단한 에이전트를 만들었습니다. 한 달 분량의 5 분짜리 가격 데이터로 구성된 특정 데이터 세트에서 취한 거의 백만 회 이상의 시간 단계를 훈련하면 많은 비용이 드는 것으로 보입니다. 내가 다른 달의 가치에 대한 데이터에 대해 에이전트와 모델을 평가하면 심하게 수행됩니다. 클래식 한 오 버핏처럼 들립니다.
여기에 설명 된 평가 방법은 더 이상 "일반적인"평가 방법에 맞지 않습니다. 환경에서 비정상 으로 개념 드리프트에 문제가 있습니다. 이는 과적 합이 문제가 될 수 있음을 의미합니다.
그래도 드롭 아웃이 도움이 될지 확실하지 않습니다 (아직 추가 분산이 손상 될 수 있음). 가장 먼저, 입력 시간 / 월을 추적 할 수있는 방법이 있는지 확인하여 시간이 지남에 따라 자체적으로 적응하는 정책을 학습 할 수있는 기회를 얻을 수 있습니다. "훈련 단계"와 "평가 단계"사이에 분명하고 확실한 경계가 있고 그 경계를 넘어 개념 드리프트가 발생한다는 것을 알고 있다면 (귀하의 환경이 훈련 단계에서 평가 단계와 다르게 행동한다는 것을 알 것입니다 ...) 실제로 평가 단계에서 여전히 잘 수행되는 훈련 단계에서의 경험을 통해서만 정책을 배우고 싶지는 않습니다. 분명하고 확실한 경계를 제거해야한다고 생각합니다. 당신' 평가 단계 전반에 걸쳐 학습을 계속하고 싶습니다. 이를 통해 학습 알고리즘은 변경된 환경에서 실제로 경험을 수집하고 적응할 수 있습니다.