[Project#] 시리즈는 프로젝트(Manipulator Continuous Control with Deep Reinforcement Learning) 제작 과정을 설명한다. 본 포스팅은 변화하게 된 방향성을 설명한다.

모든 내용은 이전 글과 이어진다. 이전 글을 읽어봤다고 가정한 후 글을 작성하였다. (이전 글 LINK)

원하는 위치에 물체를 던질 수 있는 로봇팔을 제작하는 것이다. 처음엔 ‘던지기’ 기능이 굉장히 효율적이라고 생각하였다. 그러나 아래와 같은 질문에 명확한 답을 하지 못하였고, 작품의 방향성을 변경하게 되었다.

  • 무거운 물체를 던지게 되면 모터의 토크는 어떻게 감당할 것인가? → 이런 관점에서 ‘던지기’ 기능은 효율적이지 않다고 판단하였다.
  • ‘던지기’를 학습하기 위한 보상 함수(reward function)를 어떻게 설계할 것인가? → 다양한 논문을 찾아보고 비교하였지만 구체적인 참고 문헌을 발견하지 못했다.
  • 학습이 가능한가? → 100 에피소드(episode)를 테스트로 학습한 결과 그 어떠한 결과도 학습되고 있다고 판단할 수 없었다. 100 에피소드는 너무 적다. 그러나 현실적인 시간을 고려했을 때 어렵다고 판단하였다. 약 2주의 기간이 남았었는데 100 에피소드를 학습하는데 8시간이 소요되었다.

결국, 과제(task)를 변화시키기로 하였다. ‘던지기’ 행동 학습이 아니라 특정 point로 나아가는 것을 목표로 하였다. 그리하여 작품의 이름도 ‘Manipulator Continuous Control with Deep Reinforcement Learning’으로 변경하였다.