Published on

인공지능개론 | Reinforcement Learning

image

⚠ Before reading the post ⚠

본 포스팅은 컴퓨터 공학 계열 전공자 대학교 4학년에서 대학원생 기준으로 작성하였습니다.
기본적인 자료구조나 알고리즘 내용은 생략하였습니다.

Reinforcement Learning | 강화학습

인공지능 분야에서 머신러닝(기계학습)은 다량의 데이터를 토대로 컴퓨터가 학습을 하게 되는데, 컴퓨터가 하는 작업은 크게 두 가지로 나뉜다.

  • 표현(representation): 데이터 표현
  • 일반화(generalization): 주어지지 않은 데이터 처리

학습 종류는 머신러닝 처음 배울 때 질리도록 듣는 이미 분류된 데이터를 학습하는 지도학습(supervised learning), 분류되지 않은 데이터를 처리하는 비지도학습(unsupervised learning). 그리고 이번 포스팅에서 알아볼 보상값을 극대화하여 행동을 강화하는 강화학습이다.

강화학습에서 게임과 비유해서 쉽게 다섯 가지를 기억하자.

  • Environment: 환경, 게임에서 맵과 같은 역할
  • Reward: 보상
  • Agent: 게임에서 플레이어라고 생각하면 쉽다.
  • Action: Agent가 취할 수 있는 행동 Domain.
  • State: 현재 Agent의 상태

강화학습은 다른 학습과 특이하게 환경이 주어지고 uninformed한 상태에서 Agent가 맵을 탐색하게 된다. (그렇다고 uninformed search인 것은 절대 아니다!). 강화학습은 환경으로부터 보상을 통해 가장 큰 보상값을 얻을 수 있는 path를 통해 goal에 도달하게 된다. Agent는 외부 환경에서 action을 취하면서 나아가게 되는데, 이 때 action은 임의의 action으로 최대 보상을 확인해 나가며, 최대 보상값 찾는 과정에서는 현상태가 적합한지는 알 수 없다. (life-long learning 이라고도 한다). 즉, 학습이 완료가 되기 전까지는 임의의 action이 최적의 action인지는 알 수 없다는 뜻이다. Agent는 보상이 전파하는 형태로 보상을 받게 되는데, 이 때 보상값을 정의하는 함수가 아래 Q함수인데,estimated utility function으로 잠재적 보상의 최댓값의 합이다. 아래가 Q함수이다.

물론 여기서 나온 Q함수는 무조건 이 형태를 갖는 것이 아니라, 다양하게 존재한다. 여기서는 하나의 예이다!.
Q함수의 값들을 채우는 Fringe가 필요하게 되는데, QTable을 사용하게 된다. QTable의 형태도 다양한데, 여기서는 행은 각 위치, 열은 action의 domain(ex. 상하좌우)이라고 하자. 이 때 delayed reward 부분은 next action으로 인해 도달하는 s'에서의 모든 보상(s' 위치에서 취하는 모든 action) 중 가장 큰 보상값을 의미한다. Immediate reward는 그에 반해 현상태에서의 즉각적인 보상정도로 해석하면 될 것 같다.
모든 학습을 완료하면 각 테이블의 Q값이 큰 것대로 이동하면 강화학습의 과정이 끝나게 된다.

관련 예제는 추후 포스팅 번외로 코딩 과제로 제출했던 것을 토대로 설명해보겠다.

Wrap up & Conclusion

강화학습은 외부 환경으로부터 보상을 통해 효율적인 행동을 강화하며 goal에 도달하는 학습법이다.
Q함수를 통해 임의의 action들로 QTable에 값을 채워나가면서 학습하게 되고, 학습 이후에는 QTable에서 가장 큰 값들을 차례로 길을 잇다보면 보상을 많이 얻으면서 목표에 도달한 모습을 확인해볼 수 있다.

대학원 과제 실습으로 해당 과제가 나갔는데, 이와 관련해서는.. 기말고사가 끝나면 올려보도록 하겠다. 시간이 없다..ㅠㅠ

Authors