저는 정책 그라디언트를하고 있으며 최선의 목적 함수가 작업에 무엇인지 알아 내려고하고 있습니다. 작업은 에이전트가 살아남은 타임 스텝마다 보상 1 점을 받고 종료시 보상 0 점을받는 열린 ai CartPole-v0 환경입니다. 목적 함수를 모델링하는 가장 좋은 방법은 무엇인지 알아 내려고합니다. 내가 개입 및 종료에 음의 값을 반환 보상 기능을 수정하지 않는 한 평균 보상을 목적 함수는 항상 1을 반환하는 것이CartPole 작업의 목적은 무엇입니까?
def total_reward_objective_function(self, episode_data) :
return sum([timestep_data['reward'] for timestep_data in timestep_data])
def average_reward_objective_function(self, episode_data):
return total_reward_objective_function(episode_data)/len(episode_data)
def sum_of_discounted_rewards_objective_function(self, episode_data, discount_rate=0.7)
return sum([episode_data[timestep]['reward'] * pow(discount_rate, timestep)
for timestep in enumerate(episode_data)])
참고 : 나는 3 개 가능한 기능을 마련했습니다. 몇 가지 실험을 실행하는 것보다 제가 묻는 이유는 다른 곳에 오류가 있기 때문입니다. 따라서 누군가가이 분야의 우수 사례를 가르쳐 주면 알고리즘의 더 중요한 실수에 집중할 수 있습니다.