본문 바로가기

728x90
반응형

LAB/RL, IRL

강화학습(6) 강화학습에 대한 모든 것 : 총 정리ing 1. 강화학습 (1) 강화학습이란? 강화학습은 기계학습의 한 분야다. 보상을 통해 학습하는 알고리즘이다. 다른 기계학습과 다르게 경우의 수가 많고, 정답이 하나가 아니다. 또한 강화학습에서 '보상'이란 행동의 좋고 나쁜 정도를 나타내는 지표다. [1] 환경 : 강화학습을 통해 해결하고자 하는 문제, [2] 에이전트 : 행동을 결정하는 주체, [3] 상태 : 환경을 표현하는 정보, [4] 행동 : 에이전트와 환경 사이의 상호작용, [5] 보상 : 행동의 가치를 나타내는 값이다. 강화학습의 학습 과정은 다음과 같다. 에이전트가 상태를 입력받는다. 에이전트가 상태에 따라 특정 행동을 수행한다. 그 행동에 따라 환경이 변한다. 에이전트가 행동 가치에 따라 보상을 받는다. 보상을 보고 행동이 좋은지, 나쁜지를 배.. 더보기
강화학습(8) GAIL 실행하기 (LINUX) 출처 링크 : https://github.com/hcnoh/gail-pytorch 1. Install dependencies (2023.07 ver) (1) Python3을 설치한다. (2) requirements.txt 안에 Python package를 설치한다. -> requirements.txt가 없는 경우, 아래의 코드 두 줄을 각각 입력한다. pip freeze > requirements.txt pip install -r requirements.txt (3) OpenAI Gym 환경을 실행하기 위해 다른 패키지들을 설치한다. python -m pip install jupyter --user pip install gym==0.21 cd .local/lib/python3.8/site-packages.. 더보기
강화학습(5) PPO, DDPG, TD3, and so on.. DQN(2013) -> A2C, A3C(2016) -> DDPG(2015) -> PPO(2017) -> TD3, SAC(2018) 순서. 1. PPO (1) TRPO (on-policy 알고리즘) 주어진 데이터를 가지고 현재 policy를 최대한 큰 step만큼 빠르게 향상시키면서도, 너무 큰 step으로 업데이트하는 것을 억제하고자 한다. 아래는 PPO과 TRPO의 최적화식이다. TRPO에서는 전자 항을 최대화하면서 후자 항을 최소화하는 것을 목표로 한다. [1] 목적식을 통해 policy의 improvement step을 최대화한다. [2] 이와 동시에 KL divergence를 통해 기존 정책과 새 정책 간의 거리를 제한한다. step size가 많다고 해서 무작정 좋은 것이 아니다. TRPO는 성.. 더보기
강화학습(4) Actor-critic, A2C, A3C, SAC DQN(2013) -> DDPG(2015) -> A2C, A3C(2016) -> PPO(2017) -> TD3, SAC(2018) 순서. 1. Actor-Critic (1) Actor-Critic, A2C Acotr 네트워크, Critic 네트워크. 2개의 네트워크를 이용한다. Actor는 상태가 주어졌을 때 행동을 결정하고, Critic은 상태의 가치를 평가한다. 행동과 가치를 분리한다는 점에서 Dueling DQN과 유사하지만, Actor-critic은 마지막에 값을 합치지 않는다. 물론 Actor-critic은 replay buffer를 사용하지 않는다. Actor-critic은 입력을 해석하는 파라미터(decoder)를 공유하느냐 그렇지 않느냐에 따라 2가지로 나뉜다. 그리고 Actor-criti.. 더보기
강화학습(3) 코드 실습 : Q-learning, DQN 1. Q-learning in grid world 파이참의 가상 환경에서 실행한다. 새로운 프로젝트를 생성하여 'pip install numpy', 'pip install padas', 'pip install matplotlib'을 터미널 창에 입력한 후 설치를 완료한다. Run시키면 아래 코드가 수행된다. (1) 코드 설명 코드를 간단히 설명하겠다. 1차원으로 총 20개의 상태를 가지는 20x1 그리드 월드에서 에이전트는 'left' 혹은 'right', 2가지 행동을 취할 수 있다. 목표는 최적의 행동을 학습하여 'T'라는 종료 상태에 도달하는 것이다. 종료 상태에 도달하면, 다시 처음으로 돌아가 최적의 행동을 학습한다. 이러한 시행착오를 200번 겪은 후 코드는 종료된다. 전체 루프를 200번 반복.. 더보기
강화학습(2) DQN, Double DQN, Deuling DQN DQN(2013) -> A2C, A3C(2016) -> DDPG(2015) -> PPO(2017) -> TD3, SAC(2018) 순서. 1. DQN (1) Deep Q-Learning 기존의 Q-learning은 state-action(s,a)에 해당하는 Q값을 테이블 형식으로 저장하여 학습한다. 상태 공간, 행동 공간이 커지게 되면 모든 Q값을 저장하기 어려워진다. (메모리 문제, 긴 탐험 시간 문제). Deep Q-Learning은 이를 딥러닝으로 해결한 알고리즘이다. Q-table에 해당하는 Q함수를 비선형 함수로 근사시키며, Q함수의 가중치 파라미터들을 θ로 표시하였다. 1. 파라미터를 초기화, 매 스텝마다 2~5를 반복한다. 2. Action at를 e-greedy 방식에 따라 선택한다. 3... 더보기
강화학습(1) 강화 학습 개념 정리 https://spinningup.openai.com/en/latest/spinningup/rl_intro2.html 0. 기계학습 데이터에서 특성을 추출하고, 이를 기반으로 모델을 학습하여 예측, 분류, 군집화 등의 작업을 수행한다. [1] 표현자(representation) : 데이터의 특성을 선택 및 유도하여 유효성을 확인한다. [2] 평가(evaluation) : 구축한 모델의 정확도를 나타낸다. [3] 최적화(optimization) : 실제 모델을 만들 때 필요한 방법, 학습 과정에 대응한다. 최적화를 이루기 위해서는 목적 함수를 정의해야 한다. 목적 함수는 보통 실측값과, 예측치의 차이들을 모두 제곱해서 더한 것으로 정의된다. 1. 강화학습 (1) agent of RL 강화학습의 agent(.. 더보기
GAIL 1. Human-Machine Interaction(HMI) 인간과 기계가 협동을 함에 있어서 사람의 의도를 파악하는 것은 중요한 문제다. Task를 수행할 수 있도록 보상함수를 설계하는 과정이 사람의 의도를 반영하는 것과 같다. 2. GAIL의 등장 배경 전문가는 보상함수로부터 얻어지는 보상을 최대로 하는 행동[최적 정책]만 한다고 가정한다. 전문가의 행동을 최대의 보상으로 평가하는 보상함수를 찾으면? 그것이 전문가의 의도. IRL은 Reward function의 구조를 정의하고, weight를 업데이트한다. -> 보상함수가 선형조합이라고 가정하는 제한 3. GANs 생성 모델(G)과 식별 모델(D)로 구성. 두 모델이 적대적인 경쟁적 학습을 통해 실제와 유사한 데이터를 생성하는 것을 목표로 한다. (.. 더보기

728x90
반응형