전체 글 46

[강화학습] 06 - 몬테카를로와 시간차 예측

개요 이전 포스팅에서 강화학습은 환경의 모델 없이 환경과의 상호작용을 통해 최적 정책을 학습한다고 했습니다. 이때 에이전트가 환경과의 상호작용을 통해 주어진 정책에 대한 가치함수를 학습하는 것을 "예측"이라고 하고, 가치함수를 토대로 정책을 끊임없이 발전시켜 나가서 최적 정책을 학습하려는 것을 "제어"라고 합니다. 지금까지의 내용을 잘 이해했다면, 예측과 제어가 각각 앞에서 배운 정책 이터레이션의 정책 평가와 정책 발전과 비슷하다는 걸 느낄 수 있을 것입니다. 하지만 정책 이터레이션에서는 가치함수나 최적 정책을 계산을 통해 구했다면, 강화학습에서는 에이전트가 겪은 경험으로부터 가치함수를 업데이트합니다. 강화학습은 일단 해보고 → 자신을 평가하며 → 평가한 대로 자신을 업데이트하는 과정을 반복합니다. 강화..

[강화학습] 05 - 그리드월드와 다이내믹 프로그래밍 (2)

개요 지금까지 배운 내용을 한번 정리해봅시다. 저희는 순차적 행동 결정 문제를 MDP를 이용해서 수학적으로 정의했습니다. 이 MDP로 정의된 문제의 최종 목표는 에이전트가 받을 보상의 합을 최대로 하는 것입니다. 이를 위해서 저희는 앞으로 받을 보상의 합에 대한 기댓값인 가치함수를 이용하기로 했습니다. 그리고 이 가치함수의 정의를 이용해서 벨만 기대 방정식과 벨만 최적 방정식을 만들었죠. 두 벨만 방정식은 다이내믹 프로그래밍을 이용해서 풀 수 있는데, 벨만 기대 방정식을 이용하는 것이 정책 이터레이션이고 벨만 최적 방정식을 이용하는 것이 가치 이터레이션입니다. 정책 이터레이션과 가치 이터레이션은 후에 살사로 발전하고 살사는 다시 변형되어 큐러닝으로 이어집니다. 지난번엔 정책 이터레이션의 정책 평가와 정책..

[강화학습] 04 - 그리드월드와 다이내믹 프로그래밍 (1)

개요 지금까지 저희는 순차적 행동 결정 문제에서 MDP를 정의하고 벨만 방정식을 세우는 과정을 다뤘습니다. 저희가 이제 해야할 것은 이 벨만 방정식을 이용해서 순차적 행동 결정 문제의 목표인 최적 가치함수와 최적 정책을 찾는 것입니다. 그 방법 중 하나가 바로 강화학습이죠!! 하지만 강화학습 이전에 벨만 방정식을 푸는 알고리즘이 존재했는데 그것이 바로 다이내믹 프로그래밍입니다. 다이내믹 프로그래밍은 이후 강화학습의 근간이 되었기 때문에 저희는 강화학습을 보다 잘 이해하기 위해서 이번 포스팅에서는 다이내믹 프로그래밍과, 벨만 방정식을 푸는 방법을 그리드 월드 예제를 통해서 살펴보겠습니다. 다이내믹 프로그래밍 코딩을 해보거나 알고리즘에 대해서 공부해봤다 하시는 분들은 이 다이내믹 프로그래밍을 한번 쯤은 들어..

[강화학습] 03 - 가치함수와 벨만방정식

개요 이전 포스팅에서는 MDP를 사용하여 순차적 행동 결정 문제를 정의했습니다. 이제 에이전트는 이 MDP를 이용하여 최적 정책을 찾으면 됩니다. 하지만 에이전트가 어떻게 최적 정책을 찾을 수 있을까요? 가치함수 최적 정책을 찾으려면 에이전트가 어떤 상태에서 앞으로 받을 보상들을 고려해 높은 보상을 얻는 행동들을 선택하면 될 것입니다. 이 앞으로 받을 보상에 대한 개념이 바로 가치함수입니다. 즉 에이전트는 가치함수를 통해 행동을 선택할 수 있는 것이죠. 상태 가치함수 단순히 앞으로 받을 보상들의 합을 표현하면 다음과 같습니다. $$R_{t+1} + R_{t+2} + R_{t+3} + R_{t+4} + R_{t+5} + ... $$ 하지만 저희는 이전 포스팅에서 MDP의 구성요소 중 하나인 할인율 $γ$에..

[강화학습] 02 - MDP

MDP 이전 포스팅에서 나왔듯이 강화학습이란 결정을 순차적으로 내려야 하는 문제에 적용됩니다. 그리고 강화학습을 풀기 위해서는 이 문제를 수학적으로 정의해야 하는데, 이때 사용하는 방법이 MDP라고 했었죠. 문제를 잘못 정의하면 에이전트가 학습을 못 할 수도 있기 때문에 이 MDP를 올바르게 설정하는 것이 에이전트가 학습하는 데 가장 중요한 단계 중 하나라고 할 수 있습니다. MDP는 아래 그림과 같이 상태, 행동, 보상 함수, 상태 변환 확률, 감가율로 구성돼 있습니다. 이 책에서는 순차적 행동 결정 문제의 예시인 그리드월드를 통해 MDP의 구성요소를 설명하고 있습니다. 그리드월드는 위의 그림과 같이 격자로 이뤄진 환경에서 문제를 푸는 각종 예제를 뜻합니다. 위 그림의 경우 빨간색 네모가 에이전트의 위..

[강화학습] 01 - 강화학습 개요

개요 구글 딥마인드(DeepMind)의 알파고(AlphaGo)를 모르는 사람은 드물 것입니다. 알파고가 세계적인 프로 바둑 기사인 이세돌 9단과의 시합에서도 승리하고 2017년 5월에는 세계 랭킹 1위인 커제 바둑 기사와의 상대로도 이긴 것으로 세상을 놀라게 했기 때문입니다. 경우의 수가 $10^{360}$개나 되는 바둑을 알파고가 계산하고 문제를 풀어 승리를 했으니 놀랄 수 밖에 없었죠. 이 알파고가 엄청난 경우의 수를 학습할 때 사용된 기술이 바로 강화학습입니다. 알파고는 강화학습을 이용하면 엄청나게 경우의 수가 많은 문제도 풀 수 있다는 가능성을 열어 준 것입니다. 이 도약은 로봇분야에 있어서 더 큰 의미를 가져다 주는데, 로봇이 무한대의 경우의 수를 가졌다고 할 수 있는 현실세계에 대해서 강화학습..