강화학습을 위한 마르코프 결정 과정(MDP)과 벨만 기대 방정식

이번 글은 ‘파이썬과 케라스로 배우는 강화학습’ 책과 여러 포스트를 참고하여 강화학습의 기초가 되는 Markov Decision Process(MDP, 마르코프 결정 과정)와 Bellman 기대 방정식에 대해 정리한 내용을 담고 있다.



강화학습은 좋은 행동을 점점 더 많이 하게 하는 것 즉, 강화의 개념을 컴퓨터 학습에 적용시킨 것이다. 어떠한 환경 내에 주어진 에이전트(컴퓨터)는 현재 자신의 상태를 인식하여 선택 가능한 행동들 중에서 보상을 최대화하는 행동 혹은 적절한 행동 순서를 스스로 선택한다. 이를 통해 최적의 행동 방식 또는 정책을 찾아가는 것이 강화학습의 목적이라고 할 수 있다.

컴퓨터에게 어떤 문제를 풀게 하기 위해서는 해당 문제를 수학적으로 정의해야 하는데 일반적으로 강화학습이 풀고자 하는 순차적 행동 결정 문제는 MDP로 정의할 수 있다.



Markov Decision Process (MDP, 마르코프 결정 과정)

MDP는 순차적으로 행동을 결정해야 하는 문제를 풀기 위해 수학적으로 표현한 것으로, [그림 1]과 같이 상태, 행동, 상태 변환 확률, 보상 함수 그리고 감가율까지 총 5개의 요소들로 이루어져 있다.



[그림 1] 마르코프 결정 과정(MDP)의 구성 요소



자세히 보기

Matrix Factorization 기술을 이용한 넷플릭스 추천 시스템

글쓴이는 인공지능을 제대로 배우기 전 흥미로운 논문을 선택하여 읽어보고 이해한 내용만 작성해보았다. 아직 인공지능 관련 개념이 부족한 상태이기 때문에 작성한 내용에 오류가 있을 수 있음을 미리 알린다.



온라인 스트리밍 서비스인 넷플릭스(Netflix)는 2006년, 자체 콘텐츠 추천 시스템을 향상하기 위해 Netflix Prize competition을 열었다. 이를 위해 17,000편 이상의 영화와 익명의 50만 고객으로부터 추출한 1억 개 이상의 평점 training set을 공개하며 더 나은 추천 시스템을 찾고자 하였다.

이 논문[1]에서는 해당 competition에서 최고의 성적을 거둔 BellKor와 Big Chaos 팀의 Matrix factorization 기술을 이용한 추천 시스템을 다루고 있다.



Netflix Logo [2]



이 시대를 살아가는 소비자들은 자신이 보고 싶은 콘텐츠를 선택하는 데 있어 많은 고민을 하곤 한다. 기존 온라인 콘텐츠 제공자들의 경우 사람들의 서로 다른 입맛을 맞추기 위해 상당한 양의 제품들을 무작정 제공하였는데 이는 특정 콘텐츠에 대한 니즈를 충족시키기에는 한계가 있었다.

그래서 콘텐츠 제공자들은 이후 사용자가 보고 싶어 할 만한 영상을 추천해주는 시스템을 구현하는 데에 관심을 두게 되었다. 이를 이용하여 소비자가 어떤 제품에 흥미를 갖는지 그 패턴을 분석하고, 원하는 콘텐츠를 예측하여 소비자가 원하는 제품을 우선적으로 접할 수 있도록 하는 것을 목표로 삼고 있다.

우선, 기존에 존재하는 추천 시스템의 경우 두 가지 방법을 기반으로 동작한다. 그 방법에는 content filtering과 collaborative filtering이 있다.

자세히 보기