Writer: Harim Kang
해당 포스팅은 '시작하세요! 텐서플로 2.0 프로그래밍'책의 흐름을 따라가면서, 책 이외에 검색 및 다양한 자료들을 통해 공부하면서 정리한 내용의 포스팅입니다. 해당 내용은 강화학습(Reinforcement Learning)에 대한 내용을 담고 있습니다.
강화(Reinforcement)는 시행착오(Trial and Error)를 통해 학습하는 방법 중 하나를 의미합니다. 이러한 강화를 바탕으로 강화학습은 실수와 보상을 통해 학습을 하여 목표를 찾아가는 알고리즘입니다. 기존의 신경망들이 라벨(정답)이 있는 데이터를 통해서 가중치와 편향을 학습하는 것과 비슷하게 보상(Reward)이라는 개념을 사용하여 가중치와 편향을 학습하는 것입니다. 목적은 최적의 행동양식 또는 정책을 학습하는 것입니다.
강화학습은 결정을 순차적으로 내려야 하는 문제에 적용을 합니다. 순차적으로 내려야 하는 문제를 정의하기 위해서는 MDP(Markov Decision Process)를 사용합니다.
문제를 푸는 과정은 아래와 같은 순서로 풀게 됩니다.
MP(Markov Process, Chain) : MP는 이산 시간이 진행함에 따라 상태가 확률적으로 변화하는 과정을 의미합니다. 시간 간격이 이산적이고 현재의 상태가 이전 상태에 영향을 받는 확률 과정입니다. 이것을 기초로하여 MDP가 정의됩니다.
순차적인 결정 문제(Sequential Decision Problem, MDP)을 풀기 위해서는 가치함수(Value Function)을 정의해야합니다. 가치함수는 현재 상태의 정책을 따라갔을 때 얻는 예측 보상의 총 합을 의미합니다. 이때 현재 보상의 추세인 감가율을 고려하여 미래 보상을 예측합니다. 에이전트는 가치함수를 통해서 보상의 합을 최대로 한다는 목표에 얼마나 다가갔는지를 판단합니다. 가치함수에 대한 방정식은 벨만 방정식(The Bellman Equation)입니다.
위의 그림을 보시면, 벨만 방정식을 사용하여 각각 상태에 대한 가치함수 기대값을 얻을 수 있습니다. 이것들을 모두 계산하여 최적의 정책을 찾는 것입니다.
벨만 방정식은 현재 상태와 다음 상태의 관계를 나타내는 방정식입니다. 두가지 종류가 존재합니다.
벨만 방정식은 다이나믹 프로그래밍(Dynamic Programming, DP)으로 작은 문제들로 쪼개서 풀게 됩니다. 각 상태에서의 가치함수를 구하고 업데이트를 하고, 업데이트 이후의 가치함수를 다시 구하는 방식으로 반복합니다.
모든 상태에서 에이전트가 할 행동을 의미합니다. 최적의 정책은 부분 수열 상태의 기대값이 최대가 되는 정책입니다.
Reinforcement Learning : https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch01.html
MDP : https://www.google.co.kr/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwiL94CAyMrXAhUBnpQKHbXiANUQjRwIBw&url=https://www.analyticsvidhya.com/blog/2017/01/introduction-to-reinforcement-learning-implementation/&psig=AOvVaw3v6pS7AfGQM5hI3R3F42gn&ust=1511178177569000
The Bellman Equation : http://link.koreatech.ac.kr/wp-content/uploads/2018/03/Chapter2_Bellman_Equation_02.pdf
GAN (1) - 생성적 적대 신경망 소개 (0) | 2020.09.25 |
---|---|
딥러닝 (9) - [RL2] 신경망 네트워크를 이용한 MountainCar 해결 (3) | 2020.03.25 |
딥러닝 (7) - RNN(Recurrent Neural Network), LSTM, GRU (11) | 2020.02.24 |
딥러닝 (6) - CNN (Convolutional Neural Network) (2) | 2020.02.24 |
딥러닝 (5) - 분류(Classification) 네트워크 (1) | 2020.02.24 |