• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

return_reward 함수에서

20.08.04 15:53 작성 조회수 123

0

마지막에 

if(re_index==which(current_state==1)){

    reward<-reward*2

  }

이건 왜 이렇게 해놓으신건가요?

답변 3

·

답변을 작성해보세요.

0

안녕하세요. MQ님

value network는 이길 확률을 예측하는 것이 아니라 현재 state에 따른 value를 예측하게 됩니다. 그래서 일반적으로 output layer가 linear function입니다. 즉 -무한대부터 +무한대까지 값을 가질수가 있습니다. 

현재 state에 따른 value는 쉽게 해석해보면, 현재 state가 미래에 좋은 기대값을 받을 수 있는 정도로 해석할수 있습니다. 

0

MQ님의 프로필

MQ

질문자

2020.08.19

답변 감사드립니다! 

관련해서 또 질문인데요. 알파고 강화학습 보면 최종 reward를 이기면 1 지면 -1 이렇게 설정 해놓는데.. 그럼 value network 가 predict 하는 값들이 승률이 아닌가요? 헤깔리는 것이 만약에 현재 state에서 백이 이길 확률이 60%라면 0.6*1+0.4*-1=0.2? 이렇게 value network가 predict 하게 되나요? 만약에 reward를 이기면 1 지면 0으로 하면 말이 되는데.. 

-1로 reward를 설정하시는 것 관련해서 궁금해서 추가 질문 드립니다. 좋은 강의 감사드립니다!

0

안녕하세요. MQ님

코드를 해석해보면 

현재 current_state일 경우,

reward<-reward*2

reward에 2를 곱해서 부여하라고 되어 있습니다.

즉, reward에 가중치를 두는 것이라고 보시면 될 것 같습니다.

reward는 디자인 하는 사람 나름데로 정의할수 있는데,

저는 이문제에서 agent가 현재자리에서 움직이지 않으면 - reward로 (음수) 가중치를 두기 위함이였습니다.