카테고리 없음

강화학습 개념과 Markov Decision Process란? (Feat. 강화학습 스터디)

Prcnsi 2023. 8. 4. 17:56
728x90

안녕하세요~. 다들 잘 지내고 계신가요? 블로그로 찾아뵙는 것은 오랜만이네요:)

 

새내기의 개발일지로 시작한 블로그가 어느덧 3년차에 접어들고 있네요:)

한동안 바쁘다는 핑계로 포스팅하지 못한 글들이 수두룩한데, 앞으로는 더 열심히 블로그로 정보를 공유하려고 합니다.

모르는 점 있으면 댓글 달아주세요 !!

 


 

 

저는 이번 방학에 강화학습 스터디를 개최해서 일주일에 한 번씩 진행하고 있는데, 제가 스터디하면서 정리했던 내용을 같이 공유드립니다. 참고서적으로 사용한 강화학습 책과 책 소개에 대해서는 게시글 제일 아래에 기재해 두었으니 궁금하신 분들은 참고 바랍니다. 

 

 

 

강화학습(Reinforcement Learning)이란?

강화학습이란 AI의 분류 중 머신러닝(기계 학습)에 속하는 방법으로, 강화학습의 강화(Reinforment)는 시행착오를 통해 학습하는 방법입니다.  이는 행동심리학에서 영향을 받아서, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식해서 선택 가능한 행동들 중 누적 보상을 최대화하는 방향으로 학습하는 방법입니다.  아래 그림과 같이 머신러닝 안의 한 카테고리가 강화학습입니다. 

 

가장 대표적인 예시로는 DeepMind에서도 강화학습을 사용하여 학습한 것으로 유명하죠? 또한 ChatGPT 또한 인간 피드백형 강화학습 (RLHF)를 중심으로 학습시켰다고 합니다. 이 외에도 강화학습은 로보틱스, 자율주행, 주식투자 (퀀트 투자) 다방면에서 활발히 사용되고, 연구되고 있다.

Google Deepmind AlphGo

 

 

강화학습의 목표

강화학습의 목표는 최종 누적 보상(Reward)의 합을 최대화하는 것을 목표로 합니다. 실제 현실세계에서도 행동 주체인 우리 사람(Agent)도 여러 가지 선택을 하고, 목표를 세우고 그에 맞게 행동을 합니다. 이때 중요한 것은 단기 보상을 최대화하는 것이 아닌 최종 누적 합, 즉 마지막 시점에서 목표에 대한 보상의 최종합을 최대화하는 것이 목표입니다.

 

예시로 시험기간에 한 학생이, 시험을 잘 치는 것이 목표인데, 이 학생이 단기 보상을 최대화하기 위해, 공부를 하지 않고 잠을 자고 Youtube을 보는 등의 행동(Action)을 하면 단기 보상(Reward)은 최대화되겠지만 결국 "시험을 잘 친다"는 목표를 이루는 데 있어서는 결국 보상(피드백, Reward)의 누적 합은 줄어드는 것과 같이 강화학습은 여러 가지 연속적인 선택에 대한 보상의 최종 누적 합을 최대로 하는 것을 목표로 한다.

 

그래서 강화학습은 "순차적인 행동 결정 문제"라고도 한다. 즉, 순차적으로 행동 주체가 할 행동을 선택해야 하는 것이다.

이러한 순차적인 행동 결정 문제를 수학적으로 모델링한 것을 마르코프 결정 프로세스(Markov Decision Process, MDP)라고  부른다! 

https://kr.mathworks.com/discovery/reinforcement-learning.html

 

 

강화학습 기본 용어

강화학습 용어는 매우 많지만, 가장 기본적인 용어는 아래와 같다. 

모두 알아야 하는 용어이지만 이때 더 중요한 것은 Agent, Action, Reward, State, Policy가 있다.

우리가 일반적으로 어떤 행동을 말할 때는, '밥을 먹었다', '공부를 했다'와 같이 동작(Action)에 대해서만 말하지만 강화학습에서는 상태(State)와 행동(Action)을 같이 기억하고 표현하는 것이 중요하다. "배고픈 상태에서 밥을 먹었다", "배부른 상태에서 밥을 먹었다"와 같이 강화학습에서는 어떤 State에서 어떤 Action을 했는지가 매우 중요하기 때문에 이런 State, Action을 붙여서 기억할 필요가 있다.  

 

  • Agent: 의사결정자, 행동하는 주체
  • Action: Agent가 하는 행동
  • Reward: 행동에 대해 받는 보상
  • State: 환경의 변화를 표현하는 상태
  • Observation: State를 관찰하는 것
  • Environment: 시스템을 Agent의 환경이라고 함.
  • Policy: 최선의 행동을 선택하기 위한 규칙/방법, 선택의 기준이 되는 것
  • Episode: 시작에서 끝까지 상태, 행동, 보상의 기록
  • Trajectory: 에이전트가 행동한 경로

 

마르코프 결정 프로세스 (Markov Decision Process, MDP)

dd

강화학습의 분류

ㄹㄹ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

아래 책 두 권은 제가 블로그를 쓰는 데 사용한 주 교재입니다. 

<그림 1>의 책 중에 우측에 강아지 책은 강화학습 공부하시는 분들은 알법한 굉장히 유명한 RL 책입니다.

저희 학교 강화학습 교수님도 이 책을 추천해 주시더군요. 이 강아지 책은 수식이 아닌 코드 위주로 되어 있고 수식에 대한 설명이 상세히 되어 있어 입문하기에 좋은 책 같습니다.

 

그리고 왼쪽 악어책은 거의 수식 위주로 되어 있고, 수식에 대해 설명이 많이 없는 편이기 때문에 난이도가 있지만, 그만큼 필수 RL 기본기가 다 들어 있어 얻어갈 수 있는 게 굉장히 많은 책입니다. 

 

  • 수학으로 풀어보는 강화학습 원리와 알고리즘 (위키북스)
  • 파이썬과 케라스로 배우는 강화학습 (위키북스)

그림1. 스터디에 사용한 교재

 

 

728x90