본문 바로가기
Daily/김인턴의 하루

강화학습 Reinforcement Learning

by HANNI하니 2020. 12. 11.

자율주행 기술을 공부하다가 강화학습을 먼저 공부하게 되었다,,,ㅎ

다양한 분야에서 아주 핫하고 유명한 학습인 만큼 기본적인 지식과 알고리즘을 아는 것을 추천한다.

 

"강화학습 naver지식사전"을 간단하게 읽고 내용을 알면 이해가 더 잘될것같아서 가져와봤다 !

다 읽었으면 바로 이어서 읽도록 !

https://terms.naver.com/entry.nhn?docId=5917551&cid=66682&categoryId=66682

 

강화형 기계 학습

기계 학습(ML) 중 컴퓨터가 주어진 상태(state)에 대해 최적의 행동(action)을 선택하는 학습 방법. 예를 들어, 체스를 두는 컴퓨터 프로그램을 학습시킬 때 경우의 수가 너무 많고(약 35100) 정해진 하

terms.naver.com

 

Let's Start!

강화학습에서 다루는 문제가 어떤 것인지부터 살펴보자 !

 

 

에이전트(Agent) : 주변 상태에 따라 어떤 행동을 할지 판단을 내리는 주체 /  에이전트가 속한 환경(Environment)

에이전트가 행동을 하면 그에 따라 상태가 바뀌게 되고, 보상을 받을 수도 있다.

강화학습의 목표는 주어진 환경에서 보상을 최대한 많이 받을 수 있는 에이전트를 학습하는 것이다.

 

- 상태(state) : 현재 시점에서 상황이 어떤지 나타내는 값의 집합

가능한 모든 상태의 집합을 state space라고 부르고, S로 적는다.

 

- 행동(Action) : 우리가 취할 수 있는 선택지.

가능한 모든 행동의 집합을 action space라고 부르고, A로 적는다.

 

- 보상(Reward) : 에이전트가 어떤 행동을 했을 때 따라오는 이득. 높을 수록 좋다.

보상값에 -1을 곱해서 비용(Cost)이라고 부르기도 하고, 낮을 수록 좋다.

***주의할 점***

보상이 현재 상태, 행동에 대해서만 평가하는 즉각적인 값이다. 장기적으로 가장 좋은 결과를 얻을 수 있는 행동을 고르기 위해선 현재 보상이 제일 높은 행동이 아니라 누적 보상이 제일 높은 행동을 골라야 한다.

 

같은 알고리즘이더라도 보상 함수를 어떻게 정의하느냐에 따라 성능이 달라질 수 있다.

각 경우에서 보상을 어떻게 할당할지 결정하는 것을 reward shaping이라고 부른다.

상태 St에서 행동 At를 취해 상태가 St+1로 바뀌면서 얻은 보상은 Rt.

 

-에이전트(Agent) : 주어진 문제 상황에서 행동하는 주체.

게임에서는 플레이어가 조작하는 케릭터, 또는 조작하는 플레이어 본인이 에이전트가 된다.

 

-정책(Policy) : 에이전트가 판단하는 방식.

에이전트와 혼용하는 경우가 많다.

정책을 수학적으로 나타내면 상태에 따른 행동의 조건부 확률, 즉 P(action | state)가 된다.

한번에 여러 에이전트를 동시에 다루는 문제는 Multi-Agent 세팅이라고 부른다.

 

-환경(Environment) : 문체 세팅 그 자체를 의미.

게임에서는 에이전트가 취할 수 있는 행동. 그에 따른 보상 등 게임 자체의 모든 규칙이 환경이 된다. 즉 S,A,R 등은 모두 환경의 구성 요소이다. 플레이어가 조작할 수 있는 부분은 에이전트, 그 외의 모든 정해진 것들은 환경이라고 생각하면 된다.

 

 

강화학습의 중요한 가정 중 하나는 환경의 Markov property를 가진다는 것이다.

이는 현재 상태만 참조하면 항상 필요한 모든 정보를 알 수 있다는 뜻이다.

수학적으로 나타내면 St+1와 Rt는 St, At만의 함수라는 것이고, 그보다 과거의 상태/행동에서 얻을 수 있는 정보는 이미 St에 담겨 있어야 하므로 알 필요가 없다는 것이다.

예를 들어, 게임 상태를 스크린샷으로 정의하는 경우 테트리스는 모든 정보가 현재 화면의 스크린샷에 담겨 있기 때문에 Markov property를 만족하는 환경이지만, 배틀그라운드의 경우 현재 화면 스크린샷 하나만으로는 (과거에 봐서 알고 있는) 자신 기준 뒤쪽에 떨어져 있는 아이템 정보는 알 수 없기 때문에 Markov property를 만족하지 못하게 된다.

 

Deep Reinforcement Learning에서는 이런 경우 RNN 등을 추가해 과거 상태를 요약하는 벡터를 만들어 근사적으로 해결한다. 즉 RNN의 internal context vector가 stae space에 추가되는 것이다.

 

-초기상태(initial state) : 에이전트가 처음으로 환경과 상호작용할 때의 상태. 게임으로 치면 시작 화면.

가능한 초기상태는 여러 개일 수 있고, 그를 나타내는 확률분포가 있을 수도 있다.

 

-종료상태(terminal stae) : 도달할 경우 더 이상의 행동이 불가능한 상태. 게임으로 치면 게임오버 또는 클리어 했을 때.

 

-에피소드(Episode) : initial state나 terminal state까지 에이전트가 거친 상태/행동/보상의 sequence를 의미. Rollout이나 Trajectory라고 부르기도 한다.

 

 


 

<공부할때 도움이 되었던 자료들>

같은 글쓴이인데 둘 다 내용이 좋아서 가져와봤다!

https://blog.naver.com/shakey7/221536422960

 

자율주행: 강화 학습 & 모방 학습 (인공지능 / 인공 신경망 / 에이전트 / 보상 / 시뮬레이션 / 지도

​​1. 강화 학습 (Reinforcement Learning)​- 강화 학습은 기계 학습의 한 영역으로, 어떤 환경 안에서...

blog.naver.com

https://m.blog.naver.com/shakey7/222029390894

 

자율주행: 판단 및 제어 영역 인공지능 신경망 & 인텔 모빌아이 ADAS (딥러닝 머신러닝 / 모방학습

​​​1. 자율주행 딥러닝 적용 단계​- 자율주행을 위한 딥러닝 적용은 인지, 판단, 제어 영역이 있음. 인...

blog.naver.com

원문과 해석본을 같이 올린다!

towardsdatascience.com/qrash-course-deep-q-networks-from-the-ground-up-1bbda41d3677

 

Qrash Course: Reinforcement Learning 101 & Deep Q Networks in 10 Minutes

Learn the basics of Reinforcement Learning and Deep Q Networks from scratch — exercise included!

towardsdatascience.com

jeinalog.tistory.com/20

 

강화학습 개념부터 Deep Q Networks까지, 10분만에 훑어보기

#강화학습 #Transfer Learning #DQN #DeepQNetworks #딥러닝 #MDP #MarkovDecisionProcesses 이 글은 원작자의 허락 하에 번역한 글입니다! 중간 중간 자연스러운 흐름을 위해 의역한 부분들이 있습니다. 원 의미..

jeinalog.tistory.com

강화 학습 알고리즘, 무인자동차 관련 논문

www.koreascience.or.kr/article/JAKO201609633504653.pdf

 

'Daily > 김인턴의 하루' 카테고리의 다른 글

국외/국내학술지 논문 레벨  (0) 2020.12.17
3D face recognition  (4) 2020.12.16
MS word '변경 내용 추적'  (0) 2020.11.03
YOLO dataset으로 object detection  (0) 2020.11.02
라이다(LIDAR) 센서  (0) 2020.10.30

댓글