본문 바로가기

딥러닝/강화학습(RL)

[Analyse RLLib] 5. Explore and Curriculum Learning Explore Curriculum Learning 1. Using modification of train 2. Using Callback References Explore 모든 Policy는 Exploration Object를 가지고 있습니다. Policy가 Model에 의해서 정해지지 않고 탐색을 하는 방식으로 장기적으로 return값을 높이기 위해서 강화학습에 필수적입니다. 아래와 같은 방식으로 Explore를 설정할 수 있습니다. Explore 방식과 hyperparameter setting은 Ray.io에서 확인할 수 있습니다. # DQN config = { "explore": True, 'expolration_config : { "type": "EpsilonGreedy", "initial.. 더보기
[Analyse RLLib] 4. RLlib CallBacks RLlib Callbacks Functions How to write a CallBack Class How to use callbacks RLlib Callbacks Trainer에서 Batch에 대해서 훈련을 진행하면서, 진행되는 전처리, 후처리를 모두 처리하는 부분입니다. Functions 아래의 CallBack Method 들은 모두 상황에 따라서 필요한 경우가 다르겠지만, 훈련 중간에 각 부분에서 어떤 처리를 하고 싶다면 반드시 구현해야 하는 부분입니다. 예를 들어서, MultiAgent환경에서 각각의 Agent의 Observation을 합치고 싶다면, on_postprocess_trajectory()부분을 구현해서 Batch의 형태를 바꿔주면 됩니다. CallBack Class Functions.. 더보기
[Analyse RLLib] 3. Train Model with Ray Trainer Train Model with Ray Trainer DQN with simple environment Tainer Compute Action inside of compute_action() inside policy, MODEL!!(Neural Network) Getting Q-values from a DQN References Train Model with Ray Trainer DQN with simple environment 주어진 환경에 대해서 빠르게 강화학습 코드를 돌리는 방법은 다음과 같다. First Register Environment Train the model with tune.run 필요한 라이브러리를 import합니다. import ray from ray.tune.registry imp.. 더보기
[Analyse RLLib] 2. RLlib 기본 훈련 코드 돌리기 RLlib Basic Training 간단한 훈련(Cmd 창) 결과 파일 구조 테스트 해보기(Cmd 창) Basic Python API(.py File) Tune API References RLlib Basic Training Trainer Class 는 다음과 같은 기능이 있습니다. Policy Optimizer를 가지고 있고, 외부 환경과 상호작용을 책임집니다. Policy에 대해서 훈련, Checkpoint, 모델 파라미터 복구, 다음 action을 계산해줍니다. (train, save, restore, compute) multi-agent환경에서는 여러 개의 Policy를 한번에 Optimize 해줍니다. trainer는 환경(Env)와 상호작용하면서 처리하는 모든 것들을 해줍니다. Ray 와 R.. 더보기
[Analyse RLLib] 1. Ray와 RLlib의 전체적인 구조 Ray-RLLib 1 Ray의 전체적인 구조 2 RLlib 2. Policy 2 Sample Batches 3 Trainer Ray RLlib Overall View Contents References Ray-RLLib 1 Ray의 전체적인 구조 Ray는 분산처리를 위한 프로젝트로 파이썬으로 작성되었습니다. 이를 바탕으로 시간이 오래 걸리는 강화학습을 더욱 효율적으로 할 수 있습니다. 강화학습 라이브러리로 유명한 OpenAI Gym과도 연동된다는 점은 Ray로 학습을 해야 하는 중요한 이유입니다. 이러한 라이브러리를 만든 목적도 OpenAI Gym형태의 Envrionment에 대해서 RLlib를 적용시켜서 학습하는 것. 2 RLlib RLlib에서 바꿀 수 있는 부분은 다음과 같다. 해당 부분에 대해서 .. 더보기
MARL-DRONE DRON Deep Reinforcement Opponent Network Approach jointly learn a policy and the behavior of opponents into a DQN Using Mixture-of-Experts architecture(discover different strategy patterns of opponents) Stated Questions how to combine the two networks what supervision signal to use. predicting Q-values only, as our goal is the best reward instead of accurately simulating opponents also predictin.. 더보기
MARL - MADDPG 이해하기 MADDPG(Multi-Agent Deep Deterministic Gradient) [paper] Model Architecture Policy $\pi_i$는 Policy Network로 상태에 대해서 행동을 결정하고 Critic Network $Q_i$는 Agent의 관찰과 행동에 대한 적정한 값인 Return을 계산합니다. 이는 기존 single-agent의 actor-critc과 동일합니다. N개의 Agent가 있을 때, 각각의 Agent는 자신만의 Policy, Critic Network를 가지고 있습니다. MADDPG에서 특이한 점은 Q네트워크의 인풋으로, 다른 Agent의 정보가 모두 들어간다는 것 입니다. 학습시: Q-network에 다른 agent의 관찰과 행동이 모두 들어가서, age.. 더보기