강화학습(Reinforcement Learning, RL)은 최근 머신러닝 분야에서 가장 흥미진진한 분야이자 가장 오래된 분야임. 1950년대부터 게임과 기계 제어 분야에서 여러 애플리케이션이 등장했지만 2013년 딥마인드(DeepMind)의 아타리(Atari) 게임 시연이 바로 RL이 본격적으로 주목 받게 된 혁명 지점임. 이후 알파고를 거쳐 RL 모든 분야가 매우 다양한 애플리케이션에서 새로운 아이디어로 들끓고 있음. 딥마인드가 이러한 상상 이상의 성능 성과를 낸 것은 단순하게도, 강화 학습 분야에 딥러닝을 적용한 결과임.
강화 학습에서 소프트웨어 에이전트(Agent)는 관측(Observation)을 수행하고 주어진 환경(Environment)에서 행동(Action)을 수행함. 그리고 행동의 결과에 따라 환경으로부터 보상(Reward)를 받게 됨. Agent의 목적은 보상의 장기간 기대치를 최대로 만드는 행동을 학습하는 것임. 양(Positive)의 보상은 기쁨으로, 음(Negative)의 보상은 고통으로 생각할 수 있을 것. 정리하여, Agent는 Environment 내에서 Action을 수행하고 시행착오를 겪으며 기쁨을 최대로, 고통을 최소로 하는 목표를 향해 학습함. 이러한 정의를 다양한 종류의 작업에 적용할 수 있음.
강화 학습 과정에서 양의 보상이 아예 없을 수도 있음. 예를 들어, 미로 탈출의 경우에는 매 Time step 마다 음의 보상이 주어지므로 최대한 빨리 미로를 탈출해야 함. 위 예시 외에도 자율 주행 자동차, 웹 페이지 내 광고 배치, 이미지 분류 시스템이 주의 집중할 위치 제어 등에 적용할 수 있음.
소프트웨어 Agent가 어떤 Action을 취할 지 결정하기 위해 사용하는 알고리즘을 정책(Policy)이라고 함. 예를 들어 Observation을 입력으로 받고 수행할 Action을 결정/출력하는 신경망은 Policy로 간주될 수 있음.
상상 가능한 모든 알고리즘이 정책으로 사용될 수 있으며 결정적(Deterministic)일 필요는 없음. 또한 Environment를 관측할 필요도 없음. 외부 환경 정보를 Action을 결정하는 데 사용하지 않는 장님 로봇 청소기를 가정해보면,