issues
search
njs03332
/
ml_study
3
stars
0
forks
source link
2024/07/10 ~ 2024/07/17
#88
Open
givitallugot
opened
1 month ago
givitallugot
commented
1 month ago
07/17 수요일 10시 15분
1: 18.5 2: 18.6 3: 18.7
njs03332
commented
1 month ago
18.5 행동 평가: 신용 할당 문제
각 스텝에서 가장 좋은 행동이 무엇인지 알고 있다면, 일반적인 지도학습과 같이 추정된 확률과 타깃 확률 사이의 크로스 엔트로피를 최소화하도록 신경망을 훈련할 수 있음
그러나 강화 학습에서 에이전트가 얻을 수 있는 가이드는 보상 뿐이며, 보상은 일반적으로 드물고 지연되어 나타남
신용 할당 문제: 에이전트가 보상을 받았을 때 어떤 행동 덕분 (혹은 탓)인지 알기 어려움
이를 해결하기 위한 전략으로
할인 계수
를 사용할 수 있음
행동이 일어난 후 각 단계마다 할인 계수 (감마)를 적용한 보상을 모두 합하여 행동을 평가하는 것
할인된 보상의 합 = 행동의 대가 (return)
예)) 할인계수 = 0.8, 에이전트가 오른쪽으로 세 번 이동했을 때 +10, 0, -50의 보상을 받은 경우 : 10 + γ x 0 + γ
2 x (-50) = -22
할인 계수가 1에 가까우면 먼 미래의 보상이 현재의 보상만큼 중요하게 고려됨
전형적인 할인 계수의 값은 0.9~0.99
CartPole 환경에서는 행동의 효과가 매우 짧은 기간 안에 나타나므로 0.95가 적절
게임을 충분히 많은 횟수만큼 반복하면 평균적으로 좋은 행동이 나쁜 행동보다 더 높은 대가를 받을 것
행동 이익 (=평균적으로 다른 가능한 행동과 비교해서 각 행동이 얼마나 좋은지 혹은 나쁜지)을 추정해야 함
많은 에피소드를 실행하고 모든 행동의 대가를 정규화하면 행동 이익이 음수인 행동은 나쁘고, 양수인 행동은 좋다고 가정할 수 있음
danbi5228
commented
1 month ago
18.6 정책 그레이디언트
policy gradient (pg) 알고리즘은 높은 보상을 얻는 방향의 그레이디언트를 따르도록 정책 파라미터를 최적화하는 알고리즘
e.g. REINFORCE 알고리즘 (1992. 로날드 윌리엄스)
방식
먼저 신경망 정책이 여러 번에 걸쳐 게임을 플레이하고 매 스텝마다 선택된 행동이 더 높은 가능성을 가지도록 만드는 그레이디언트 계산
에피소드 몇 번 실행 후 각 행동의 이익을 계산
한 행동의 이익이 양수라면 이 행동이 좋은 것이므로 미래에 선택될 가능성이 높도록 앞서 계산한 그레이디언트를 적용. 음수라면 덜 선택되도록 반대의 그레이디언트를 적용 (각 그레이디언트 벡터와 그에 상응하는 행동의 이익을 곱하여 계산)
마지막으로 모든 결과 그레이디언트 벡터를 평균 내어 경사 하강법 스텝을 수행
코드
07/17 수요일 10시 15분
1: 18.5 2: 18.6 3: 18.7