{{위키데이터 속성 추적}}
{{번역 확장 필요|en|Reinforcement learning}}
{{기계 학습}}
'''강화 학습'''(reinforcement learning)은 [[기계 학습]]의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다. 이러한 문제는 매우 포괄적이기 때문에 [[게임 이론]], [[제어이론]], [[운용 과학]], [[정보이론]], 시뮬레이션 기반 [[최적화 문제|최적화]], [[다중 에이전트 시스템]], [[떼 지능]], [[통계학]], [[유전 알고리즘]] 등의 분야에서도 연구된다. 운용 과학과 제어 이론에서 강화 학습이 연구되는 분야는 "근사 동적 계획법"이라고 불린다. 또한 최적화 제어 이론에서도 유사한 문제를 연구하지만, 대부분의 연구가 최적해의 존재와 특성에 초점을 맞춘다는 점에서 학습과 근사의 측면에서 접근하는 강화 학습과는 다르다. [[경제학]]과 게임 이론 분야에서 강화 학습은 어떻게 [[제한된 합리성]] 하에서 평형이 일어날 수 있는지를 설명하는 데에 사용되기도 한다.

강화 학습에서 다루는 '환경'은 주로 [[마르코프 결정 과정]]으로 주어진다.<ref>{{서적 인용|url=https://link.springer.com/chapter/10.1007/978-3-642-27645-3_1|제목=Reinforcement Learning and Markov Decision Processes|성=Otterlo|이름=Martijn van|성2=Wiering|이름2=Marco|날짜=2012|총서=Adaptation, Learning, and Optimization|출판사=Springer, Berlin, Heidelberg|쪽=3–42|언어=en|doi=10.1007/978-3-642-27645-3_1|isbn=9783642276446}}</ref> 마르코프 결정 과정 문제를 해결하는 기존의 방식과 강화 학습이 다른 지점은, 강화 학습은 마르코프 결정 과정에 대한 지식을 요구하지 않는다는 점과, 강화 학습은 크기가 매우 커서 결정론적 방법을 적용할 수 없는 규모의 마르코프 결정 과정 문제를 다룬다는 점이다.

강화 학습은 또한 입출력 쌍으로 이루어진 훈련 집합이 제시되지 않으며, 잘못된 행동에 대해서도 명시적으로 정정이 일어나지 않는다는 점에서 일반적인 [[지도 학습]]과 다르다. 대신, 강화학습의 초점은 학습 과정에서의(on-line) 성능이며, 이는 탐색(exploration)과 이용(exploitation)의 균형을 맞춤으로써 제고된다.<ref>{{저널 인용|제목=Reinforcement Learning:  A Survey|저널=Journal of Artificial Intelligence Research|성=P.|이름=Kaelbling,  L.|성2=L.|이름2=Littman,  M.|url=http://dx.doi.org/10.1613/jair.301|날짜=1996|권=4|언어=en|doi=10.1613/jair.301|성3=W.|이름3=Moore,  A.}}</ref> 탐색과 이용의 균형 문제 강화 학습에서 가장 많이 연구된 문제로, [[다중 슬롯 머신 문제]](multi-armed bandit problem)와 유한한 마르코프 결정 과정 등에서 연구되었다.

== 개요 ==
기본적으로 강화 학습의 문제는 [[마르코프 결정 과정]](MDP)으로 표현된다. 이런 관점에서 강화 학습 알고리즘은 [[동적 계획법]]과 깊은 연관이 있다. 마르코프 결정 과정에서 상태 전이 확률(state transition probabilities)과 보상은 확률에 따른 값일 수도 있고, 이미 결정되어 있는 값일 수도 있다.

강화 학습이 원하지 않는 행동을 명시적으로 수정하는 [[지도 학습]]과 다른 점은 온라인 수행에 중심을 두고 있다는 점이다. 강화 학습은 아직 조사되지 않는 영역을 탐험하는 것과 이미 알고 있는 지식을 이용하는 것의 균형을 잡는 것이다. 이 탐험과 이용 사이에 있는 트레이드오프는 [[Multi-armed bandit]]과 같은 문제에서 알아 볼 수 있다.

== 알고리즘 ==
수식으로 표현하면, 강화 학습 모델은 다음과 같이 구성된다.

# 환경 상태 집합, <math>S</math>;
# 행동 집합, <math>A</math>;
# 포상(<math>\in \mathbb{R} </math>)의 집합;.

매 시점 <math>t</math>에 에이전트는 자신의 상태(state) <math>s_t \in S</math>와 가능한 행동(action) <math>A(s_t)</math>를 가지고 있다.

에이전트는 어떤 행동 ''a'' ∈ ''A''(''s''<sub>''t''</sub>) 을 취하고, 환경으로부터 새로운 상태 ''s''<sub>''t''+1</sub>와 포상(reward) ''r''<sub>''t''+1</sub>을 받는다. 이 상호작용에 기반해서 강화 학습 에이전트는 누적된 포상값 ''R''을 최대화하는 정책(policy) π: ''S''→''A''을 개발한다.

종료 상태(terminal state)가 존재하는 MDPs에서는 <math>R=r_0+r_1+\cdots+r_n = \sum_{t=1}^n r_t</math>이고, 그렇지 않은 MDPs에서는 <math>R = \sum_{t=1}^n \gamma^t r_t</math>가 된다. 여기서 <math>\gamma</math>는 미래의 포상이 현재에 얼마나 가치 있는지를 표현하는 할인율(discount factor)로 0과 1사이의 값이다.

== 응용 ==
강화 학습은 장기, 단기의 포상 사이 트레이드오프가 존재하는 문제를 다루는 데 적합하다. 이것은 로봇 제어, 엘리베이터 스케줄링, 통신망, 백개먼과 체스 같은 게임에 성공적으로 적용되어 왔다.

== 같이 보기 ==
* [[통신공학]]
* [[오류기반 학습]]
* [[인간 피드백을 통한 강화 학습]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [https://web.archive.org/web/20110706210306/http://rlai.cs.ualberta.ca/RLAI/rlai.html 강화학습과 인공지능]
* [http://karpathy.github.io/2016/05/31/rl/ Deep Reinforcement Learning: Pong from Pixels]

{{전거 통제}}

[[분류:강화 학습| ]]
[[분류:기계 학습]]
[[분류:마르코프 모형]]
[[분류:기계 학습 알고리즘]]
[[분류:신념 수정]]