강화학습 : 에이전트(Agent)가 환경(Environment)의 현재 상태(Current State)를 인식해 취한 행동(Action)의 결과를 보상(Reward)으로 학습하는 것.
특징 1 : Trial and Error : 실행하지 않고 예측하는것이 아닌 직접 실행하며 얻는 결과로부터 학습함.
특징 2 : Delayed Reward : 강화학습은 기본적으로 '시간의 순서'를 가진 문제를 해결하기 때문에 행동의 결과가 나타나기까지 시간간격이 벌어질수 있다. 이 특징은 강화학습의 중요한 문제이므로 꼭 체크해보자.
강화학습의 요소 : 에이전트(Agent), 상태(State), 행동(Action), 포상(Reward), 정책(Policy)
강화학습의 출발.
Trial and Error
Optimal control
1. 동물의 행동에 관한 심리학 연구. : 굶긴 비둘기를 방음이 잘되는 상자에 넣고 한쪽 벽면에 원판을 설치. 원판을 쪼면 먹이가 떨어지는 장치를 함. 비둘기가 상자를 탐색하며 하는 행동의 결과로 먹이가 보상으로 주어지면 비둘기는 원판을 쫀다 = 먹이를 먹는다 라는 방향으로 학습을 하게됨.
agent = 비둘기
state = 비둘기의 오감으로 받아들이는 상자속 상황
action = 상자 안에서 하는 모든 행동.
reward = 무반응, 먹이
policy = 원판을 쪼면 먹이를 떨군다.
2. Optimal Control : 어떠한 비용함수의 비용을 최소화하도록 컨트롤러를 디자인하는 것.
Bellman이 Bellman 방정식을 만들어내어 Optimal Control 문제를 해결하였고, 이를 Dynamic programming 이라고 함.
또한 MDP(Markov Decision Process)라는 수학적 모델을 만들어 강화학습의 기초를 닦음.
알파고는 강화학습+딥러닝을 사용하였고 Policy Gradient with Monte-carlo Tree Search 알고리즘을 사용.
예제
Playing atari with deep reinforcement learning
아타리 2600의 게임들을 강화학습 + 딥러닝으로 학습시켜본 논문.
학습방법에 대한 그림
Agent는 초기에는 랜덤한 움직임을 가진다.
우연히 점수가 올라가는 행동을 하게되고 그에 대한 보상을 얻으면 그 행동을 더 하도록 학습시킨다.
즉각적인 점수를 높이는 것보다 한 episode 동안의 점수를 최대화 하는 방향으로 학습한다.
따라서 agent가 학습하는데에는 일련의 연속된 행동인 policy가 필요하다.
높은 점수는 한 행동의 결과라기보단 상황에 맞는 여러 행동의 조합이 더 타당하다.
그래서 agent는 한 action을 학습하기 보단 policy를 학습하는 방향으로 학습하게 된다.
이 논문의 주목할점.
- input data로 raw pixel를 받아온 점 --> CNN과의 연결
- 같은 agent로 여러 개의 게임에 적용되어서 학습이 된다는 점
- Deep neural network를 function approximator로 사용
- Experience Replay
- Target networks
'{Programing} > {AI}' 카테고리의 다른 글
Fundamental of Reinforcement Learning 공부 정리!!(3) (0) | 2017.09.25 |
---|---|
Fundamental of Reinforcement Learning 공부 정리!!(2) (0) | 2017.09.25 |
딥러닝 실습 1. Python 기본 문법 (0) | 2017.03.02 |
딥러닝 실습 0. Python 설치. (0) | 2017.03.02 |
머신러닝이란?(작성중...) (0) | 2017.02.20 |
댓글