본문 바로가기

강화학습6

[Reinforcement Learning-6] Deep Q-Network Cartpole 구현 Cartpole(역진자운동) Deep Q Network의 원논문 "Playing Atari with Reinforcement Learning" 중 Atari는 이것입니다. 어렸을적 TV에 연결해서 하던 게임셋을 Atari라고 하는데요, 여기에 존재하던 많은 게임들을 Reinforcement Learning을 적용하여 해결해보자라는 것입니다! (게임이 보상이 확실하기에 강화학습을 적용하기에 아주좋죠!) 이중, Cartpole이란 게임은 좌/우 방향키만 움직여서 얼마나 오랫동안 버틸수있을까?를 경쟁하는 게임입니다 :) 이 게임에 DQN을 적용하여 확인해보고자합니다. Cartpole의 현재 state는 4개요소로 정의합니다. DQN 하이퍼파라미터 세팅 DQN의 하이퍼파라미터로 EPISODE는 한게임을 처음부터.. 2021. 9. 5.
[Reinforcement Learning-5] Deep Q-Network으로 최적경로 찾기 [이전글] https://limitsinx.tistory.com/154 [강화학습-4] Deep Q-Network(DQN)에 대한 간단한 이해 Deep Q Learning(DQN)? 강화학습(Reinforcement Learning)과 심층학습(Deep Learning)을 섞으려는 시도는 예전부터 있었습니다. 하지만, 비교적 최근에 들어서야 DeepMind사가 발표한 "DQN"논문에 의해 현실에 적.. limitsinx.tistory.com 이전글에서 정리했던 Deep-Q Network를 간단한 예제로 확인해보겠습니다! DQN으로 미로찾기 출처 : Deep Reinforcement Learning in Action, Jpub DQN을 미로찾기에 접목하기위해 필요한 기본파일은 상기와 같습니다. (DQN을 .. 2021. 9. 5.
[Reinforcement Learning-3] Q-Learning으로 최적경로 찾기 [이전글] https://limitsinx.tistory.com/152 [강화학습-2] Q-Learning 개념 Q Learning? Q-Learning은 앞으로 강화학습 공부를 진행해야한다면, 반드시 확실하게 알고 넘어가야하는 부분입니다! Q-Learning을 한줄로 표현하라면 상기의 수학식입니다! Q(s,a) = r + lr * max(Q(s',a')) 이.. limitsinx.tistory.com 지난글에서는 Q-Learning의 개념에대해 정리해보았습니다. 이번에는 'pytorch'를 기반으로, 간단한 길찾기 문제에 접목하여 코드 구현을 해보겠습니다. 위의 미로에서 A에서 I까지 가는 방법을 Q-Learning으로 해결해보고자 합니다. 상/하/좌/우로만 움직일 수 있다고 가정할 때, A는 B와D로.. 2021. 8. 28.
[Reinforcement Learning-2] Q-Learning에 대한 간단한 이해 Q Learning? Q-Learning은 앞으로 강화학습 공부를 진행해야한다면, 반드시 확실하게 알고 넘어가야하는 부분입니다! Q-Learning을 한줄로 표현하라면 상기의 수학식입니다! (벨만 방정식) Q(s,a) = r + lr * max(Q(s',a')) 이게 무슨의미일까요?? 강화학습은 State → Action에 따른 Reward가 주어지는 방식으로 진행됩니다. ① Q(s,a)는 현재상태(s)에서 a라는 행동을 할때의 값 ② Q(s',a')는 한스텝후의상태(s+1)에서 a'라는 행동을 할때의 값 ③ max(Q(s',a'))는 한스텝후의 상태(s+1)에서 얻을 수 있는 가장 큰 Q값으로, 가장 의미있는 action을 할때의 값 즉, 한글로 풀어쓰면 이렇게 됩니다. 현재 상태의 Q = 보상 + 학.. 2021. 8. 26.
[Reinforcement Learning-1] Thompson sampling model 톰슨 샘플링 톰슨 샘플링 모델은 강화학습의 가장 기본적인 모델입니다. 강화학습을 이해하기 위한 기본적인 선형대수, 확률론은 배제하고 진행해보겠습니다! Beta Distribution 톰슨 샘플링 모델은 Beta Distribution을 활용합니다. Beta Distribution이란, Gaussian Distribution처럼 특정 사건에 대한 분포 표를 의미합니다. 독특하게 인자가 두개인대요 Beta(a,b)로써 a와 b는 각각의 반대의 사건을 의미하며, 극단적으로는 b=1-a로 볼수 있습니다. 톰슨모델은 위의 그림처럼 그려지게 됩니다. a가 커질수록 분포가 오른쪽으로 움직이고, b가 커질수록 분포가 왼쪽으로 움직이는것을 확인하실 수 있는데 여기서 a와 b를 개발자가 원하는 확률을 넣게되면, 해당 사건.. 2021. 8. 26.