Ml agent을 공부하기 시작한지 얼마 안되서 질문드리고 싶습니다.
우선 미로 벽이 있는 환경에서 플레이어를 쫓아가는 모델을 구현해보고 싶은데 어떤식으로 학습을 진행시키는게 나은가요?
먼저 장애물이 없는 환경에서 플레이어만 쫓아가는 것을 학습시키다가 장애물을 추가하는 식으로 단계적으로 하나요? 아니면 바로 장애물 있는 환경에서 학습을 진행하나요?
우선 미로 벽이 있는 환경에서 플레이어를 쫓아가는 모델을 구현해보고 싶은데 어떤식으로 학습을 진행시키는게 나은가요?
먼저 장애물이 없는 환경에서 플레이어만 쫓아가는 것을 학습시키다가 장애물을 추가하는 식으로 단계적으로 하나요? 아니면 바로 장애물 있는 환경에서 학습을 진행하나요?
옵저베이션과 리워드를 어떻게 설정하냐에 따라 다를 것 같은데 모델이 실제 시야각을 가지고 있다면 방황하다 시야각에 들어왔을 때 목표를 따라가고 목표에 도달하면 긍정적 리워드 하나 주는 방식도 괜찮아보임
목표에 도달하기 어려워 리워드 받기가 어려우면 거리 기반으로 가까워질 수록 조금의 긍정적 리워드를 주는 것도 방법이지만 리워드 쉐이핑은 끝이 없으니 강화학습 접근 방법으로만 풀고 싶으면 이야기한 커리큘럼 방식이나 호기심 기반 방식을 적용해보셈
커리큘럼 방식은 모델이 리워드를 받기 어려워서 학습이 잘안될때 단순히 쉬운 환경을 제공하고 리워드를 받는 데이터를 뽑아내기 위해서라고 보면 됨 리워드를 못받으면 학습 자체가 안되기 때문
호기심 기반은 모델이 기존에 보지 못했던 옵저베이션을 보게되면 알고리즘적으로 리워드를 주는 방식인데 탐험을 더 하게 만드는 방법임 모델이 안가본 곳을 돌아다니다 어쩌다 긍정적 리워드를 받을 수 있는데 그런 효과를 보기 위해서 사용함
요약하면 쉽게 풀려면 옵저베이션 넓게 풀고 리워드 자주 주면 좋음 근데 이러면 값 조정하는게 끝이 없어서 리워드를 심플하게 설정하고 여러 강화학습 방법론으로 모델이 자체적으로 학습할 수 있게 도와주는 방식이 있음