본문 바로가기
Deep Learning/Hands On Machine Learning

강화학습 기본

by 대소기 2022. 1. 8.

18.1 보상을 최적화하기 위한 학습

* 강화학습에서 소프트웨어 Agent는 Observation을 하고 주어진 Environment에서 action을 한다. 이 action에 따른 reward는 positive reward, negative reward로 구분된다. 이 reward를 최대로 하는 것이 강화학습 Agent의 목표가 된다.

* positive reward가 존재하지 않을 수도 있다 negative reward를 최소로 하는 것이 목표가 되는 것도 가능하다. 또한 우리가 쉽게 생각할 수 있는 자율주행과 같은 분야 외에도 물리적인 action을 취하지 않는 분야, 예를 들어 목표 온도를 맞춰 에너지를 소비를 최소로 하는 등의 작업에서도 강화학습이 쓰일 수 있다.

18.2 정책 탐색

* Agent가 action을 결정하기 위해 사용하는 알고리즘을 policy라고 한다. 위 그림과 같이 neural network도 하나의 policy라고 말할 수 있다.

정책 예시

* 예를 들어 어떤 로봇 청소기가 30분 동안 수집한 먼지의 양을 reward로 받는다고 가정해보자. 이 로봇 청소기가 선택할 policy는 단순하다. 매 초마다 p의 확률로 전진하거나, (1-p)의 확률로 특정 각도 -r ~ +r 만큼 회전하는 것이라고 해보자. 이렇게 policy에 확률적인 요소가 포함되어 있을 때 stochastic policy라고 한다. 또 생각해보자. 우리가 tuning할 수 있는 parameter는 p, r로 두 개이다. 이 두 가지 parameter를 조정하여 가장 적절한 알고리즘을 도출해낸다. 이 때 이 p, r과 같은 parameter들을 policy parameter라고 한다. 그리고 이러한 policy parameter들을 찾는 과정을 policy search라고 한다. 그리고 policy parameter들의 집합을 policy space라고 한다.

Genetic Algorithm

* policy space를 탐색하는 방법은 무작정 모든 경우의 수를 다 해보는 것이 기본적인 방법이지만, policy space가 방대할 경우 시간이 너무 오래걸릴 것이다. 때문에 유용한 탐색 방법이 많은데, 그 중 하나는 genetic algorithm이다. genetic algorithm은 policy n개를 random하게 시행해보고 alpha 만큼의 성능이 낮은 policy는 버리고, 1-alpha만큼의 성능이 좋은 policy만 남겨 각 policy으로부터 k개의 policy를 새로 도출해내는 방법이다. 이 때 원본이 되는 policy를 parent policy, 새로 생성된 policy를 child policy라고 한다. child policy에는 parent policy에 약간의 무작위성을 더하게 된다.

'Deep Learning > Hands On Machine Learning' 카테고리의 다른 글

강화학습의 신경망 정책  (0) 2022.01.08
OpenAI gym  (0) 2022.01.08
GAN(Generative Adversarial Network)  (0) 2022.01.01
17.8 Variational AutoEncoder  (0) 2021.12.28
17.7 Sparse AutoEncoder  (0) 2021.12.28