몬테카를로
강화학습에서 몬테카를로(Monte Carlo)는 학습자가 미래의 보상을 예측하기 위해 모의실험을 수행하는 방법 중 하나입니다. 이 방법은 알고리즘의 강력함과 유연성 때문에 널리 사용되고 있습니다. 이번 블로그에서는 몬테카를로 방법의 개념과 구현에 대해 살펴보겠습니다.
몬테카를로 방법
몬테카를로 방법은 학습자가 미래의 보상을 예측하기 위해 무작위 샘플링을 사용하는 강화학습 방법입니다. 이 방법은 학습자가 상태-행동 쌍(state-action pair)의 가치를 추정하는 데 사용됩니다.
예를 들어, 에이전트는 특정 상태에서 가능한 모든 행동을 시도하고, 각 행동의 결과로 얻은 보상의 평균을 계산합니다. 이 과정을 여러 번 반복하여 보상의 평균값이 수렴할 때까지 계속합니다. 몬테카를로 방법은 일반적으로 두 가지 종류로 나뉩니다.
첫 번째는 상태 가치 예측(state value prediction)이며, 이는 에이전트가 특정 상태에서 받을 수 있는 보상의 예상값을 추정하는 데 사용됩니다. 두 번째는 행동 가치 예측(action value prediction)이며, 이는 에이전트가 특정 상태에서 가능한 각 행동의 가치를 추정하는 데 사용됩니다. 몬테카를로 방법은 확률적인 성질을 가지므로, 샘플링을 많이 할수록 정확한 결과를 얻을 수 있습니다.
그러나 이 방법은 모든 가능한 상태-행동 쌍을 시도해야 하므로 계산 비용이 매우 높을 수 있습니다. 따라서, 몬테카를로 방법은 대부분의 경우 샘플링 횟수를 제한하여 근사값을 구합니다.
Monte-Carlo Prediction_예측
policy evaluation과 비슷하다.
Monte-Carlo Control_제어
monte-carlo control without exploring starts
모든 action이 언젠가는 선택될 수 있어야 한다. 그러기 위한 policy를 정해야 함.
Monte-Carlo Method_방법
몬테카를로 방법은 강화학습을 풀기 위해서 많이 사용되는 방법이다. 강화학습에만 국한되는 것이 아니라 모든 경험을 통해서 무언가를 개선하려는 방법들을 얘기한다. 정의되어 있는 글을 참고해 보자면 무작위 추출된 난수를 이용하여 원하는 함수의 값을 계산하기 위한 시뮬레이션 방법이다. 자유도가 높거나 닫힌꼴의 해가 없는 문제들에 널리 쓰이는 방법이지만, 어느 정도의 오차를 감안해야만 하는 특징이 있다. 주로 최적화, 수치적분, 확률분포로부터의 추출 등에 쓰인다.
MDP를 푸는 대표적인 2가지 방법
1. 다이내믹 프로그래밍 ( Dynamic programming )
2. 몬테 카를로 방법( Monte-Carlo Method )
이 두 가지의 결합(콤비네이션)이라고 볼 수 있는 것이 Temporal Diffrence Learning이다.
Policy Evaluation
policy가 주어졌을 때 어떻게 value를 구할 것인가에 대한 것을 다루고 있다. policy improvement란 policy evaluation을 진행하고 policy가 안 좋은 것 같아서 바꾸는 작업
probabilistic policy
policy를 확률분포로 표현
* Policy Iteration - (optimal policy를 찾는 과정 )
관찰값을 기반으로 true state 값을 유추, 그 값을 belief라고 한다.
다이내믹프로그래밍을 통해서 어떻게 value function을 optimize 하고 가장 좋은 action을 찾을 수 있는지, 그 과정에서 RL에 필요한 기본적인 개념도 같이 알아본다.
Partially observable MDP ( POMDP )
< S, A, O, P, Z, r >
Z = observation function
A = action space
R = reward ( finite )
마치며
이처럼 몬테카를로 방법은 강화학습에서 유용하게 사용되는 방법 중 하나입니다. 이 방법은 간단하고 직관적인 접근 방법을 제공하며, 다양한 문제에 적용될 수 있습니다.
또한, 이 방법은 딥러닝과 결합하여 보다 복잡한 문제를 해결하는 데도 사용됩니다. 이러한 이유로 몬테카를로 방법은 강화학습에서 핵심적인 역할을 합니다. 또한, 몬테카를로 방법은 확률론적인 특성을 가지므로 확률적인 문제를 다루는 데 유용합니다. 예를 들어, 카드 게임이나 보드 게임과 같은 확률적인 게임에서 이 방법은 높은 성능을 보입니다.
마지막으로, 몬테카를로 방법은 강화학습에서 활발하게 연구되고 있는 분야 중 하나입니다. 이 방법은 기존의 강화학습 알고리즘과 결합하여 보다 효율적인 학습 방법을 개발하는 데 사용됩니다. 또한, 이 방법은 자율주행 자동차나 게임 AI 등 다양한 분야에서 응용되고 있으며, 더 많은 분야에서의 적용이 기대됩니다.
내용 참고
한양대학교 인공지능융합대학원 로봇인공지능 3주차 강의자료
'AI' 카테고리의 다른 글
포털 사이트를 위협하는 ChatGPT, 소개 | 사이트 | 가입 | 특징 | 사용법 | 오류 | 블로그 자동화 (by.OpenAI) (7) | 2023.01.30 |
---|---|
생성적 적대 신경망:GAN 원리/학습/구조/목적함수/활용사례 (41) | 2022.10.25 |
배치 정규화:Batch Nomalization 이론/특징/알고리즘/한계/장단점 (66) | 2022.10.24 |
Overfitting:오버피팅:과적합 방지, 해결을 위한 다양한 방법들 (52) | 2022.10.22 |
비전공자도 알수있는 Overfitting(과대적합)과 Underfitting(과소적합) 의미 (66) | 2022.10.11 |