3

중간에 100의 보상 하나를 사용하여 크기 (nx n)의 격자에서 Q 학습을 구현했습니다. 에이전트는 다음 기관에서 목표에 도달하기 위해 1000 개의 신기원을 학습합니다. 그는 최고 상태 - 행동 값을 가진 이동을 확률 0.8로 선택하고 무작위 이동을 0.2 씩 선택합니다. 이동 후 상태 - 동작 값은 Q 학습 룰에 의해 갱신된다.Q 학습 : 환경을 바꾼 후 다시 읽는 것

이제 다음 실험을 수행했습니다. 목표 옆의 모든 필드는 맨 아래에있는 이웃을 제외하고는 -100의 보상을 받았습니다. 에이전트는 1000 개의 신기원을 학습 한 후 최상위로가는 것을 명확히 피하고 바닥에서 가장 자주 목표에 도달합니다.

학습 한 후 상태 작동 값 맵을 고수하면서 하단 이웃의 보상을 -100으로 설정하고 상단 네이버를 0으로 다시 설정하고 다시 1000 에포크를 학습합니다. 사실 그것은 끔찍한 일입니다! 에이전트는 목표를 찾기 위해 아주 오래 필요합니다 (9x9 그리드에서 최대 3 분). 경로를 확인한 후에 에이전트가 (0,0) -> (1,0) -> (0,0) -> (1,0)과 같은 두 상태 사이를 오랜 시간을 보냈다는 것을 알았습니다 ...

이 동작이 이해가되는지 상상하기가 어렵습니다. 이런 상황에 처한 사람이 있습니까?

답변

0

나는 더 많은 정보가 내가 더 많은 certian이 될 수 있다고 생각하지만, 당신이 말하는 것은 내가 기대하는 것입니다. 에이전트는 목표에 대한 특정 경로를 학습하고 잘 학습했습니다. 이제 그걸 바꿨습니다. 내 직감은 당신이 변경했기 때문에 단순히 목표를 움직이는 것보다 에이전트가 더 어려울 것이라고 말해줍니다. 어떻게 목표를 얻길 원하나요?

"벽"을 이동하면 많은 반복에 대한 작업 선택 정책의 무작위성을 높일 수 있습니다. 에이전트가 목표에 대한 새로운 경로를 찾는 데 필요한 시간을 줄일 수 있습니다.

0

표준 Q- 학습 알고리즘의 경우 매우 일반적입니다. 이 Concurrent Q-Learning: ReinforcementLearning for Dynamic Goalsand Environments에 명시된 바와 같이 : 같은 시간 차이 학습 등

강화 학습 기법을, 고정 된 목표 탐색을 포함하는 작업 에서 좋은 성능을 표시하는 것으로 나타났다. 그러나 목표 위치가 인 경우 이전에 습득 한 정보가 새로운 목표 위치를 찾는 작업과 충돌하여 그에 따라 성능이 저하됩니다.

그러나 다른 알고리즘이 있습니다. 그러한 상황에서 훨씬 더 나은 위의 종이에 설명 된 것.

0

코드를 제공해 주시겠습니까? 나에게이 행동은 놀라운 것처럼 보인다.

Imho 이전에 학습 한 지식을 유출 할 수 있어야합니다. 그리고 강화 학습에는 "확신"과 같은 것이 있으면 안됩니다. 그리드는 최종 시도에서

00000 
00--0 
0-+-0 
0---0 
00000 

처럼 보입니다. 최단 경로에서 목표로 무작위로 출마 할 확률은 0.2*1/3 * (0.8+0.2*1/9)입니다. 근본적으로 무작위로 대각선으로 간 다음 내려갑니다. 따라서 알고리즘은 상태 (1,1)Q 값을 천천히 업데이트해야합니다. 실제로이 값을 업데이트하는 값은 5%입니다. 학습 속도가 너무 낮지 않으면 결국 업데이트됩니다. 목표에 도달하는 다른 모든 경로는 천천히 다른 경로를 0으로 당깁니다.

당신은 그것이 처음 두 상태 사이를 뛰어 넘고 있다고하셨습니다. 이것은 나에게 할인 요소가 없다는 것을 나타냅니다. 이것은 두 상태 (0,0)(1,0)이 상당히 좋은 Q 값을 가지지 만 "self rewarding"상태가 될 수 있습니다. 또는 업데이트 기능에서 이전 값을 뺀 것을 잊었을 수도 있습니다.

1

Q- 학습은 탐색에 따라 다릅니다.

e-greedy를 사용하고 있고 엡실론을 크게 줄인 경우 에이전트가 적응할 수 없습니다.

상태 공간에서의 변경 사항이 학습 된 정책에 따른 궤도와 멀리 떨어져 있으면 그 영역에 도달하기 어려울 수 있습니다.

필자는 엡실론 수치와 시간 경과에 따라 감소하는 속도를 살펴 보시기 바랍니다.