심층 강화 학습 라이브러리의 디자인 아이디어는 환경 측면에서의 평가, 네트워크 업데이트, 경험 풀, 경험 풀, 알고리즘 기본 클래스 분리, 분산, 다중 프로세스 등 DRL에 대한 심층적인 이해를 제공합니다. .

기본적인 심층 강화 학습 훈련 파이프라인은 다음과 같아야 합니다.

  1. 환경, 네트워크, 경험 풀 초기화
  2. 환경을 탐색하고 데이터를 경험 풀에 저장
  3. 경험 풀에서 데이터를 꺼내고 네트워크 매개변수를 업데이트합니다.
  4. 훈련된 전략, 루프 2, 3, 4 단계 평가
# initialization
env    = BuildEnv()
actor  = PolicyNetwork()
critic = ValueNetwork() 
buffer = ExperimenceRelayBuffer()

# training loop
for i in range(training_episode):

    # explore in env
    state = env.reset()
    for _ in range(max_step):
        next_state, reward, done, info_dict = env.step(action)
        buffer.append((state, reward, done, next_state))  # transition
        state = next_state
        if done:
            break

    # update network parameters
    for _ in range(...):
        batch_data = buffer.random_sample()
        Q_label    = ...
        critic_object = critic_loss = cirterion(Q_label, critic(...))  # loss function
        actor_object  = Q_value_est = critic(state, actor(...))   # Q value estimation
        

추천

출처blog.csdn.net/sinat_39620217/article/details/131727705