본문 바로가기

프로그래머/강화학습

[강화학습] 1. 강화학습 개요

강화학습의 개념

  • 강화라는 것은 이전에 배우지 않았지만 직접 시도하면서 행동과 그 결과를 나타내는 좋은 보상 사이의 상관관계를 학습하는 것이다.
  • 강화의 핵심은 바로 보상을 얻게 해주는 행동의 빈도 증가이다.
  • 강화학습은 보상을 통해 학습한다.
  • 보상은 컴퓨터가 선택한 행동(action)에 대한 환경의 반응이다. 이 보상은 직접적인 답은 아니지만 컴퓨터에게는 간접적인 정답의 역할을 한다.

출처 : https://www.kdnuggets.com/2018/03/5-things-reinforcement-learning.html

에이전트(agent)

  • 강화학습을 통해 스스로 학습하는 컴퓨터를 에이전트라고 한다.
  • 에이전트는 환경에 대해 사전지식이 없는 상태에서 학습한다.
  • 에이전트는 자신이 놓인 환경에서 자신의 상태를 인식한 후 행동한다.
  • 환경은 에이전트에게 보상을 주고 다음 상태를 알려준다.
  • 이 보상을 통해 에이전트는 어떤 행동이 좋은 행동인지 간접적으로 알게 된다.
  • 이러한 보상을 지속해서 얻는다면 에이전트는 좋은 행동을 학습할 수 있다.
  • 강화학습의 목적은 에이전트가 환경을 탐색하면서 얻은 보상들의 합을 최대화하는 최적의 행동 양식, 또는 정책을 학습하는 것이다.
  • 강화학습의 장점은 환경에 대한 사전지식 없이도 학습이 가능하다는 것이다.

강화학습 문제

순차적 행동 결정 문제

  • MDP(Markov Decision Process)는 순차적 행동 결정 문제를 수학적으로 정의해서 에이전트가 순차적 행동 결정 문제에 접근할 수 있게 한다.

순차적 행동 결정 문제의 구성요소 - 상태

  • 상태(state) : 에이전트의 정적, 동적 요소를 포함한 정보
  • 에이전트가 상태를 통해 상황을 판단해서 행동을 결정하기 때문에, 충분한 정보를 제공해야 한다. (관찰이 더 정확한 표현일 수 있다.)

순차적 행동 결정 문제의 구성요소 - 행동

  • 행동(action) : 에이전트가 어떠한 상태에서 취할 수 있는 행동
  • 에이전트는 학습하면서 특정한 행동들을 할 확률을 높인다. 에이전트가 행동을 취하면 환경은 에이전트에게 보상을 주고 다음 상태를 알려준다.

순차적 행동 결정 문제의 구성요소 - 보상

  • 보상(reward) : 에이전트가 학습할 수 있는 유일한 정보이다.
  • 보상 정보를 통해 에이전트는 자신이 했던 행동을을 평가할 수 있다.
  • 강화학습의 목표는 시간에 따라 얻는 보상들의 합을 최대로 하는 정책을 찾는 것이다. (다음 상태의 보상을 최대로 받는 것이 아니다!!!)
  • 보상은 에이전트에 속하지 않는 환경의 일부이다.

순차적 행동 결정 문제의 구성요소 - 정책

  • 정책(policy): 순차적 행동 결정 문제에서 구해야 할
  • 모든 상태에 대해 에이전트가 어떤 행동을 해야 하는지 정해놓은 것
  • 순차적 행동 결정 문제를 풀었다 = 제일 좋은 정책을 에이전트가 얻었다
  • 제일 좋은 정책은 최적 정책(optimal policy)라고 하며 에이전트는 최적 정책에 따라 행동 했을 때 보상의 합을 최대로 받을 수 있다.