soft actor critic 설명 및 네트워크 구조

About_work·2023년 10월 12일
0

강화학습

목록 보기
7/19

Loss

actor loss

  • dataset의 state를 가져와서,
  • 그 state에서 내가 현재 생각하는 action을 할 확률 = state에서 내가 현재 생각하는 action을 했을 때의 가치 로 만드는 것이 목표!
  • 알파가 크면, action probability가 Q분포를 부드럽게(덜 엄격하게)따라갈 것이다.
    • 탐험 많이
  • 알파가 작으면, action probability가 Q분포를 엄격하게 따라갈 것이다.
    • 탐험 적게

Critic loss

  • 데이터 셋에서, st, at, r, st+1 가져옴
  • st, at의 행동을 가치 평가 잘하고 싶어.
    • = reward + (st+1 상황에서 내가 생각한 행동을 했을 때의 가치)의 평균
    • = reward + (st+1 상황에 온 가치)

Temperature loss

  • 현재 entropy가 target_entropy보다 작으면(음수), temperature(log alpha)가 큰 양수가 되도록 학습될 것입니다.
    • 즉 탐험을 더 많이 하는 방향으로 학습될 것입니다.
  • 현재 entropy가 target_entropy보다 크면(양수), temperature(log alpha)를 작은 음수(절댓값이 큰 음수)가 되도록 학습될 것입니다.
temperature_loss = log_temperature * (entropy - self.target_entropy).detach()

전체 큰 구조

State Encoder

세부 사항

  • RangeEncoder
    • nn.Conv1d
  • 나머지: mlp_block 2개
    • Linear + LayerNorm + ACTIVATION
  • GRULayerNormJIT

MLPGaussianActor / MLPDiscreteActor

세부 사항

  • encoder
    • mlp_block 2개
      • Linear + LayerNorm + ACTIVATION
  • Gaussian Policy / Categorical Policy
    • Linear 1개

MLPCritic / MLPDiscreteCritic

  • _action_encoder
    • mlp_block 1개
      • Linear + LayerNorm + ACTIVATION
  • _encoder
    • mlp_block 2개
      • Linear + LayerNorm + ACTIVATION
  • value
    • Linear 1개

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글