강화학습이란? 강화학습 개념 , 문제 , 예시
Updated:
포스트 내용은 “파이썬과 케라스로 배우는 강화학습” 책을 읽고 학습한 내용을 정리하였음을 알려드립니다.
강화학습이란 무엇인가?
- 강화학습을 이해하려면 행동심리학 , 강화학습 , 머신러닝과 강화학습의 연관성에대해서 알아야한다.
- 강화학습은 다른 머신러닝 분야와 다르게 순차적으로 행동을 결정해야 하는 문제를 다룬며 이러한 문제를 컴퓨터가 풀기위해서는 문제를 수학적으로 잘 정의해야된다.
- 강화학습은 보상(Reward)을 통해 학습하며, 이는 컴퓨터가 선택한 행동에 대한 환경의 반응으로 선택이 잘했냐 못했냐를 판단할 수 있음
강화의 개념
-
행동심리학에서 강화(Reinforcement)란 시행착오(Trial and Error)를 통해 학습하는 방법이며 , 행동심리학자 스키너가 최초로 제시한 개념임.
-
강화는 동물이 이전에 배우지않았지만, 직접 시도하면서 행동과 그 결과로 나타나는 좋은 보상 사이의 상관관계를 학습하는 것
강화학습의 목표
- 강화학습은 에이전트(Agent)가 환경을 탐색하면서 얻는 보상들의 합을 최대화하는 최적의 행동양식 또는 정책(Policy)를 학습하는 것
(강화학습의 구성요소 참고)
강화학습의 장점
- 환경에 대한 사전지식이 없어도 학습을 함. (우리가 자전거를 처음 탈때 자전거의 무게와 탄서어에 따른 충격 흡수율 및 핸들의 각도에 따라 어떻게 변하는지를 고려하지 않은체 학습을 진행하는 것과 같은 맥락.)
강화학습의 문제
-
강화학습은 문제 자체에 대해 잘 이해하지 않으면 엉뚱한 결과를 얻음. 문제에 대한 정확한 정의가 되어있어야함
-
강화학습은 문제의 정의를 어떻게 설정하느냐에 따라 학습을 잘하는지가 결정됨.
-
에이전트가 판단하기에 충분한 정보를 얻을 수 있도록 순차적 행동 결정 문제를 정의해야함.
결정이 순차적인 문제 해결방법
-
다이내믹 프로그래밍(Dynamic Programming)
-
진화 알고리즘(Evalutionary Algorithm)
-
강화학습 (Reinforcement Learning)
강화학습의 구성요소
에이전트 (Agent)
- 강화학습을 통해 스스로 학습하는 컴퓨터를 에이전트라고 함
- 에이전트는 환경에 대해 사전지식이 없는 상태에서 학습을 진행함
- 에이전트는 자신이 놓인 환경에서 자신의 상태를 인식한 후 행동함
- 환경은 에이전트에게 보상을 주고 다음 상태를 알려줌
MDP ( Markov Decision Process )
순차적으로 행동을 결정하는 문제를 정의할 때 사용하는 방법
순차적 행동 결정 문제의 구성 요소
상태 (State)
- 에이전트가 상태를 통해 상황을 판단해서 행동을 결정하기위한 충분한 정보
- 정적인 요소만 와 움직이는 속도와 같은 동적인 요소또한 상태로 표현함
행동 (Action)
- 에이전트가 어떤 상태에서 취할 수 있는 행동
- 처음에는 아무런 학습이 되어있지 않기 때문에, 무작위로 행동을 함
- 학습하면서 특정한 행동들을 할 확률을 높힘
보상 (Reward)
- 강화학습의 핵심임
- 이에진트가 학습할 수 있는 유일한 정보
- 강화학습의 목표는 시간에 따라 얻는 보상들의 합을 최대로하는 정책을 찾는 것 임
- 에이전트는 어떤상황에서 얼마의 보상이 나오는지 미리 알지 못하기 떄문에 에이전트에 속하지 않는 환경에 일부임
정책
- 순차적 행동 결정 문제에서 구해야할 답
- 모든 상태에 대해 에이전트가 어떤 행동을 해야하는지 정해놓은 것
- 제일 좋은 저어책은 최적정책 (Optimal Policy) 라고하며, 최적정책에 따라 행동을 할 시 보상의 합을 최대로 받을 수 있음.
Leave a comment