2017-04-17 9 views
1

Keras을 사용하여 심도있는 학습을 실험하고 있으며 에이전트에게 과제 수행을 가르치려고합니다. 내 문제에 깊은 q 학습이 수렴되지 않음

내가이 경로의에서 속도의 변화에 ​​의해 물체를 타격하지 않도록 에이전트를 가르 칠 wan't (가속 또는 감속) 에이전트가 수평으로 이동

및 오브젝트 수직으로 이동하지 않도록하고 난 그가 그를 치는 것을 피하는 방법으로 속도를 바꾸는 법을 배워야하지 않을 것입니다. 나는이 내 코드를 기반으로 : Keras-FlappyBird

내가 400 출력 노드

와, 시그 모이 드 활성화 기능을 가진 10 조밀 숨겨진 층

  1. 모델 (내가 회선 네트워크를 사용하지 않는) 3 개 가지 모델을 시도 Leaky ReLU 활성화 기능

  2. 모델 ReLu 활성화 기능을 가진 10 조밀 숨겨진 층 10 조밀 숨겨진 층
  3. 모델, 400 출력 노드가있는

그리고 나는 네트워크에 내 모든 단어의 좌표와 속도를 네트워크에 공급합니다.

는 100 만 개 프레임을 훈련하지만 여전히 어떤 결과를 볼 수 없습니다 여기에 3 개 모델 내 Q 값 플롯,

모델 1 : Q 값 enter image description here 모델 (2) : Q 값

enter image description here 모델 3 : Q 값

enter image description here 모델 3 : 당신이 보상 이리저리 모든 같은에서 개선되지 않는 Q 값을 볼 수있는 Q 값이

enter image description here

을 확대 ... 좀 도와주세요 내가이야 무엇 잘못 입력하면 ...

답변

0

환경에 다소 혼란 스럽습니다. 당신의 문제가 새가 아니라고 가정하고, 당신은 자신의 환경에 flappy bird의 코드를 포팅하려고합니다. 그래서 당신의 환경이나 코드를 모르더라도, 나는 당신을 올바른 길로 인도하기 위해 잠재적 인 문제들에 대답 할 수 있다고 생각합니다.

먼저, 시도한 세 가지 모델을 언급하십시오. 물론 올바른 함수 근사를 선택하는 것은 일반화 된 보강 학습에서는 매우 중요하지만 문제를 해결하는 데 중요한 매개 변수가 너무 많습니다. 예를 들어, 감마, 학습 속도, 탐사 및 탐사 감퇴 속도, 특정 경우의 재생 메모리 길이, 배치 크기 등이 있습니다. 실제로 변경해야한다고 생각되는 상태에서 Q 값이 변경되지 않으면 리드 나는 한정된 탐사가 모델 1과 2를 위해 행해지고 있다고 믿는다. 코드 예제에서 엡실론은 .1에서 시작합니다. 어쩌면 다른 값을 1로 시도해보십시오. 또한 탐사 속도의 감쇠율을 망칠 필요가 있습니다.귀하의 q 값이 에피소드 전반에 걸쳐 급격하게 증가한다면, 나는 또한 학습 속도를 살펴볼 것입니다 (코드 샘플에서는 매우 작아 보입니다). 같은 메모에서 감마는 매우 중요 할 수 있습니다. 너무 작 으면 학습자는 근시가됩니다.

출력 노드가 400 개임을 언급합니다. 귀하의 환경에는 400 개의 조치가 있습니까? 대형 활동 공간에는 고유 한 일련의 과제가 있습니다. 실제로 여기에 400 개의 작업이있는 경우 볼 좋은 백서입니다 https://arxiv.org/pdf/1512.07679.pdf. 400 개의 조치가 없으면 네트워크 구조에 문제가 있습니다. 선택할 각 작업의 확률로 각 출력 노드를 처리해야합니다. 예를 들어 게시 한 코드 예제에서는 두 가지 동작이 있으며 relu를 사용합니다.

특히 훈련이 느린 것을 고려할 때 심층 학습의 매개 변수를 얻는 것은 매우 어렵습니다.

+0

답장을 보내 주신 것에 대해 고맙습니다. 1 : 400 노드 : 숨겨진 노드를 의미합니다. 출력 노드에는 3 개 밖에 없습니다. 2 : 네, 맞습니다. 저는 제 자신의 환경에 맞게 코드를 이식하고 있습니다. 3 : 내 환경을 설명하기; 기본적으로 이동하는 대상과의 충돌을 피하기 위해 네트워크를 교육하려고합니다. 대상으로 입력 위치를 입력하고 출력을 3 가지 가능한 작업으로 처리합니다. –

+0

나는 올바른 것으로 생각합니다. 엡실론 매개 변수를 변경하려고했습니다. 그리고 감마와 나는 약간의 개선을 보았지만 나는 여전히 바랐다. –

+0

나는 학습 속도를 포함하여 다른 매개 변수도 살펴볼 것이다. 환경에 터미널 상태가없는 경우 최소 탐사 속도가 .1 또는 이와 유사한 것을 고려해야하므로 새 상태를 지속적으로 탐색하여 다소 최적의 솔루션을 찾을 수 있습니다. –