Learning values across many orders of magnitude

FSA·2023년 9월 12일

강화학습

목록 보기
2/3

3줄 요약

  • task마다 reward의 크기와 빈도가 다르더라도, 여러 task에 잘 작동하게 하자!
  • 이를 위해, td-target 의 크기를 normalize 하자!
  • 아래 내용은 내 생각
    • q-network가 출력하는 q의 분포와 범위를 normalize하면,
      • 다양한 task의 다양한 크기와 빈도의 reward가 주어져도, 네트워크가 출력하는 q value 의 범위는 그것보다 좁은 범위 내로 주어지기 때문에,
        • 어느 한쪽에 치중되지 않는(reward 절댓값이 큰쪽에 치중되지 않는) 학습이 잘 진행되어,
        • multi-task 성능이 증가한다.

abstract

  • (task마다 reward의 크기와 빈도가 다 다르기 때문에,) Multi task learning 시 여러 task에 다 잘 작동하게 하기 위해, 기존에는 reward & td-error clipping을 썼음. (reward와 td-error을 -1~ +1로 클리핑 했음.)
    • 이는 domain-specific heuristic 이 요구되어, 도메인에 따라 튜닝을 계속 해줘야하는 귀찮음이 존재.
    • 이는 보상의 크기에 대한 영향은 약화시키고, 보상의 빈도만 최적화하는 결과로 이어지는 문제.
  • 이를 해결하기 위해, td-target 크기를 normalize 하는 방법론을 제안.
    • 이를 통해, 클리핑되지 않은 원래 보상을 활용하여, exploration을 개선하는 등 더 많은 정보를 학습에 활용할 수 있게 됨.
    • for multi-variate functions the normalization can be used to disentangle the natural magnitude of each component from its relative importance in the loss function.

방법론

  • 사전 개념
    • q network loss 구할 때 쓰이는 target_esmimate 을 구할 때,
      • target_esmimate = normalize ( r + gamma * unnormalize( Q(st+1, at+1) ) )
      • loss(Q(st, at), target_esmimate)
  • q-network의 마지막 layer의 weight,bias 에 대한 크기 조절을 아래와 같이 수행함.
    • weight
      • target_esmimate 분산 값이 증가하면, weight 크기를 줄인다. (반대도 성립)
    • bias
      • target_esmimate 분산 값이 증가하면, bias 크기를 줄인다. (반대도 성립)
      • target_esmimate 평균 값이 증가하면, bias 크기를 줄인다. (반대도 성립)
    • 그러면 새 평균과 분산은 어떻게 반영(업데이트)하는데?
      • step이 0이면 완전 새것만 반영(beta = 1)
      • step이 증가할수록, beta가 감소하여, 기존 값을 더 많이 반영하게 됩니다.
      • step이 5가 되면, beta는 0.2로 줄어듭니다. (20%만 새 평균/분산을 반영)
      • 참고로 step은, 학습 횟수입니다. (b, u 만큼 데이터 처리를 1번하면 step 1 증가)
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글