[RL] PPO 학습 중에 nan 나오는 특이한 경우
강화 학습 학습 도중에 에러가 나는 경우를 공유한다. 바로 액션 공간이 좀 큰 상황에서 특정 값이 너무 작게 나오는 데 선택하는 경우이다. 아래처럼 예시를 만들면 다음과 같다. 특정 logit들은 엄청 크게 나오지만, 한 개의 logit은 엄청 작게 나오는 데 그것을 선택하는 경우 문제가 발생한다. 바로 아래와 같은 경우이다. logit = torch.randint(low=1000000,high=2000000,size=(1,128*128*2)) logit[0,0] = 1e-4567 dist = Categorical(logits=logit) log_prob = dist.log_prob(torch.tensor([0])) ## tensor([-1999934.]) PPO에서는 아시다시피 old log prob와..
2022.05.12