본문 바로가기

Reinforcement Learning

Chapter 2 Reinforcement Learning Overview Reinforcement Learning (RL)은 불확실성 하에서의 의사 결정 및 경험을 통해 학습을 모델링하는 기계 학습 유형이라고 정의할 수 있다. 강화 학습이 다른 기계 학습 패러다임과 다른 점은 다음과 같다. • 그라운드 트루스가 없고 reward 신호만 있음 • 피드백이 즉각적이지 않고 지연됨 • 시간이 정말 중요함(순차적이고 독립적이지 않고 동일하게 분산된 데이터). • 에이전트의 작업은 수신하는 후속 데이터에 영향을 미침 그라운드 트루스가 없다는게, 나는 가장 큰 장점이라고 생각한다. 왜냐면 어떤 상황에서도 학습이 가능하기 때문이다. 예를 들어 일반적인 NN은 로봇보고 알아서 걸으라고 하면 걸을까? 절대 못한다. 왜냐면 정답을 모르니까. 하지만 강화학습은 이걸 반복시켜서 학습하기 때문에 시.. 더보기
Chapter 1 Introduction 시작하기에 앞서 강화학습이라고 하면 다들 아래의 사진을 떠올릴 것이다. 바둑 인공지능인 알파고가 이세돌 9단을 이긴 대국이다. 하지만 이외에 강화학습으로 떠오르는 것은 잘 없을것이다. 이건 당연한 것이다. 강화학습은 많은 양의 학습시간 투자되는 자원에 비해 실생활에서 보여지는 것이 쉽지 않기 때문이다. 그러니 그런 강화학습을 공부하는 것은 멍청해보이고 왜 하는지 모를 수도 있다. 하지만 모두에게 혁신으로 다가온 ChatGPT는 현재도 강화학습으로 사용자들의 반응을 학습하고 있다. 보이지 않는 곳에서 강화학습은 강력하게 점점 다가오고 있다. 이를 바탕으로 강화학습 공부를 한번 시작해보자. Intro에서는 이 그림만 알고가면된다. 강화학습의 기본 구성이 Agent, Environmet, action, obs.. 더보기
유니티 ML-Agents를 이용한 드론 제어 강화학습 아래는 제 Drone Github 링크입니다. https://github.com/cs20131516/UnityDroneChallenge 개요 본 프로젝트에서는 Unity ML-Agents 툴킷을 사용하여 드론 제어를 위한 강화학습 모델을 훈련시켰습니다. 다른 참가자들과 비교하여 뛰어난 성능을 보였으며, 특히 https://github.com/chaningdev/RL-Drone-Challenge-with-Unity 프로젝트보다 에피소드가 1/2배만 필요했고, https://github.com/kjwoo31/Unity_drone 프로젝트에 비해 3번의 성공 중 1번만 가능한 결과를 크게 개선할 수 있었습니다. 학습 알고리즘 및 설정 학습 알고리즘: PPO (Proximal Policy Optimization.. 더보기
Pytorch based DQN DQN 및 강화학습을 Tensorflow로만 작성하다 Pytorch이가 점차 올라오는 추세가 되어 Pytorch 공부를 겸하여 코드 작성을 하였다. Cartpole environment에서 return해주는 float 값들을 활용하는 DQN 코드를 먼저 작성하였다. 해당 코드를 작성후 Tensorflow와 시간차이를 확인해보니 동일한 알고리즘으로 작성한 것 같은데, 연산 속도에서 훨씬 빠른 속도를 체감하였다. Cartpole environment에서 return해주는 float 값이 아닌 Cartpole environment를 사람처럼 보면서 입력받으며 CNN을 활용하기 위해 CNN-DQN을 작성하였다. 이전 버전들에서는 env.render만으로도 작동되던 방식이 env.render('human')으로 .. 더보기