• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

알고리즘 관련

23.01.24 22:03 작성 조회수 195

1

안녕하세요, 알고리즘 관련해서 질문드리고 싶어 글 남깁니다.

 

해당 드론 예제를 DDPG가 아닌 PPO로 학습할 경우 대체로 성능이 낮아질까요? 내장된 알고리즘이 아닌 DDPG를 선택해 사용하신 이유가 궁금합니다.

또한 드론과 goal 사이에 여러 장애물이 무작위로 배치될 경우에도 해당 알고리즘으로 학습이 무리없이 진행될지 질문드리고 싶습니다.

 

강화학습에 입문하면서 도움 많이 받고 있습니다. 감사합니다!

답변 1

답변을 작성해보세요.

2

안녕하세요. 일반적으로는 PPO가 더 좋은 성능을 보이는 알고리즘이라 PPO를 사용하는 경우가 더 좋은 성능을 보일 것으로 생각됩니다. 단, 강화학습 알고리즘을 통해 ML-Agents 환경을 학습하는 방법은 ML-Agents에서 제공하는 알고리즘인 mlagents-learn을 사용하는 방식, 파이썬으로 직접 알고리즘을 구현해서 사용하는 python-API를 이용한 방식, 이렇게 2가지입니다. mlagents-learn을 사용하는 경우 간단하게 yaml에서 파라미터 설정만 해서 편하게 사용할 수 있는 반면 python-API를 사용하는 경우 직접 알고리즘을 하나하나 구현해야합니다. 보통 강화학습 학습 순서상 A2C -> DDPG -> PPO 순으로 진행하는 관계로 일단 A2C -> DDPG 순서로 이론, 코드 실습 진행을 했습니다. PPO의 경우 다음 강의에서 python-API로 구현하는 법을 다룰 예정입니다.

드론과 골 사이에 장애물이 무작위로 배치되는 경우 DDPG를 통해서 어느정도는 풀 수 있을 듯 하지만 현재 상태에 대한 설정으로는 장애물 자체를 인지할수가 없으므로 장애물에 대한 정보를 상태 정보로 추가해줘야 강화학습 알고리즘이 장애물에 대한 정보를 통해 이를 피할 수 있도록 학습될 것 같습니다. 그리고 일반적으로 DDPG는 난이도가 조금만 높아도 잘 못푸는 경향이 많습니다. 이 경우 PPO를 사용하는 것이 더 안정적으로 학습될 확률이 높습니다.

yji112님의 프로필

yji112

2023.08.15

안녕하세요.

강의를 차근 차근 따라하면서 유니티도 익히고 강화학습도 공부할 수 있는 좋은 강의 만들어주셔서 정말 감사합니다.

다음 강의는 언제쯤 올려주실지 궁금합니다.

감사합니다.

감사합니다! 현재 다음 강의 제작은 약 2개 단원 정도만 남은 상태라 9월 말에는 확실히 오픈할 수 있을 듯 합니다! :)