inflearn logo
강의

講義

知識共有

強化学習入門からDeep Q-learning/Policy Gradientまで

정책 반복 알고리즘 구현 에서 정책 업데이트 메모리 문제

解決済みの質問

219

BACK HO KIM

投稿した質問数 8

0

선생님

#3. 정책 개선
#policy_stable <- true
policy_stable = True
old_pi = pi
#각 s에 대해:
for s in range(num_states):
    # pi_s <- argmax_a(sum(p(s',r|s,a)*[r + gamma*V(s')]))
    new_action_values = np.zeros(num_actions)
    for a in range(num_actions):
        for prob, s_, r, _ in transitions[s][a]:
            new_action_values[a] += prob * (r + GAMMA * V[s_])

    new_action = np.argmax(new_action_values)
    pi[s] = np.eye(num_actions)[new_action]

if old_pi.all() != pi.all():
    policy_stable = False

여기 최적 정책을 업데이트 하는 과정을 디버깅 하는 과정에서

ezgif-3-8123260c65.gif

 

old.pi = pi 에서 메모리를 공유 해서

pi[s]를 업데이트를 같이 해서 무조건 아래서

if old_pi.all() != pi.all():

구문은 True가 나오게 되어 있는데

의도한 바는

old_pi = copy.deepcopy(pi)

로 코드를 바꾸는게 맞나요?

python 딥러닝 강화학습 pytorch

回答 1

1

YoungJea Oh

코드에 버그가 있었네요. 그래도 결과가 수렴이 되어서 모르고 지나쳤습니다 ^^

다음 내용 수정 했습니다.
GAMMA = 1.0 --> 0.9 로 수정

old_pi = copy.deepcopy(pi) 로 수정

비교문을

if np.array_equal(old_pi, pi): policy_stable = True else: policy_stable = False

로 수정

 

수정된 코드 github 에 update 해 놓았습니다. 좋은 질문 감사합니다.

0

BACK HO KIM

확인 감사합니다!

소리가 겹쳐서 들려요

0

20

2

전 강의와 전혀 이어지지가 않음

0

30

1

pytorch local 설치 옵션에 conda 가 없습니다.

0

38

3

강화학습저장 및 로드

0

57

1

16:07슬라이드에소 헷갈리는 부분이 있습니다

0

65

2

미분 결과가 왜 저렇게 나오는지 궁금합니다.

0

73

1

Taxi-v3에 대한 두 가지질문

0

51

1

그림에 대해서 잘 이해가 안됩니다.

0

55

1

stochastic state 관련

0

69

2

reward, value functnio

0

67

2

전이확률 / stochastic env.

0

65

1

확률론적 policy 관련

0

47

1

model based

0

56

1

time sequential data 관련

0

57

2

Deep Q-Learning algorithm에 대하여

0

85

2

Cartpole 환경 이해 및 시각화 관련 문의

0

111

3

실습-얼어붙은 호수(Frozen Lake) - 정책 반복 알고리즘 구현 argmax

0

108

1

실습에러 TImelimit

0

151

2

실습

0

266

6

강의자료

0

131

2

강의 36강에서의 질문

0

179

1

Pytorch 설치 GPU 버전으로 다운해도 되나요?

0

354

2

반복 정책 평가 실습 알고리즘에서 이론과 코드가 헷갈려서요.

0

341

2

강의코드 110_basic_operations_for ... 코드 실행 시 문제

1

311

1