보통 input에 현재 상황을 집어넣고
output 수를 action 의 개수 만큼 하잖아
근데 이런 경우는 어뜩함? situation에 따라 action의 개수가 달라지는거임
단순한 예제로
Frozen lake 예제에서 움직일수있는 방향은 총 네방향이긴한데,
4*4크기의 맵에서 구석에 캐릭터가 있으면 두방향으로 밖에 못움직이잖아
이런 경우는 reward 조정해서 못가게 해야하나? 아니면
e-greedy 방법에서 랜덤action 줄때 할수있는 action중에서만 랜덤으로 골라 주면 알아서 학습 잘되나?
모두의 딥러닝 모두의 RL 이거 보면서
프로젝트 작은거 하고있는데 이거땜에 막혔어~~~
프로즌 레이크 벗어났을 때 매우 낮은 리워드 주면 알아서 피해갔던것 같은데
dqn은 본지 좀 돼서 기억이 가물가물하넹
그리고 앱실론 그리디는 처음에는 0.99같은 높은 숫자로 시작했다가 정해진 이터레이션 마다 조금씩 줄여서 0.1.이나 0.01까지 줄어들게 함
오우 점점 줄어들게 하는건 몰랏네 ㄳㄳ
최소 앱실론까지 가장 최적화된 값을 찾지 못하면 탐험하는 빈도가 줄어들어서 찾기 힘들어짐 이거 잘 생각해서 구현해야뎀
다음 상태가 존재하지 않으면 걍 리워드가 0이 되는거지 - dc App
아 프로즌 레이크 벗어나면 그 에피소드는 끝나는거였나 그랬던것 같기도 하고
사실 내가 막힌부분은 이거거덩 테트리스를 학습시킬라구 하는데
테트리스 q러닝으로 학습시키면 잘 안될수도 있음 에피소드가 점점 길어질수록 학습이 잘 안될껄
테트리스가 q러닝이랑 잘 안맞는 이유가 먼지 혻시 간략하게 알려줄수 있음??? 이런거 궁금하다
당장 방향키로 학습시키면 엄청 느리고 비효율적일거 같아서 현재 블록을 놓을 수 있는 경우의 수를 action으로 갖게 하려구햇음
근데 ㅗ 이모양은 4방향 존재하구 대충 10개column 에다가 떨어뜨릴수 있으니까 action수도 대충 40개인데
내 생각에는 한칸 이동, 두칸 이동, 세칸 이동 이런식으로 좌우 한쌍씩 만들고 회전, 두번 회전 이런식으로 액션 만들어야 할 것 같은데
네모모양은 회전방향 1개 니까 대충 action수가 10개인거임 그래서 나는 dqn output 을 40개로 두고 할라햇는데 네모모양땜에 쪼끔신경쓰여서 물어밧음