728x90
반응형

행동가치함수 17

강화학습 - (9) 벨만방정식

강화학습 벨만방정식 (Bellman Equation) 현실에서 우리는 피드백을 받지 않고도 많은 것을 배울 수 있다. 처음 자전거를 타고 있다고 가정해 보자. 자전거를 타다가 넘어진 뒤 바위에 부딛쳐 무릎을 다쳤다면, 이 경험은 우리 머리속에 기억이 될 것이다. 다시 자전거를 타다가 비슷한 경험을 하게 된다면, 우리는 머리속으로 바위 근처에 갔을 때 밸런스를 유지하지 못하면, 바위에 부딛쳐 무릎을 다치게 된다는 것을 알 수 있을 것이다. 이처럼 강화학습에서도 미래의 보상을 전부 경험하지 않더라도, 현재의 상태에서 예측을 통해 미래의 상태를 가늠해 볼 수 있다. 벨만 방정식은 이처럼 현재 상태와 미래의 성공확률에 대한 연결을 수식화 해준다. 상태 가치 벨만방정식 (State-value Bellman Equ..

강화학습 - (8) 정책과 가치

강화학습 정책 (Policy) 정책은 에이전트가 어떻게 행동을 선택하는지를 정의한다. 강화학습에서의 정책은 보통 $\pi$로 정의한다. 확정적 정책 (Deterministic Policy) 확정적 정책은 위 그림에서와 같이 각 상태당 정해진 행동이 존재한다. 보이는 바와 같이 에이전트는 각기 다른 상태에서 같은 행동을 선택할 수도 있고, 어떠한 행동은 아예 선택하지 않을 수도 있다. $\pi(s) = a$ 위 그림을 테이블로 표현하면 다음과 같이 표현 가능하다: State Action $s_0$ $a_1$ $s_1$| $a_0$ $s_2$ $a_0$ 예제) 에이전트가 집으로 가는 문제를 풀고있다고 하자. 에이전트는 상하좌우로 움직일 수 있고, 그림의 각 방향 화살표는 하나의 정책이 된다. 각 화살표는 각..

강화학습 - (2) 행동가치함수

강화학습 행동가치함수 (Action-Value Function) 행동가치함수의 정의를 다시한번 살펴보자: $$q^*(a) \dot{=} \mathbb{E}[R_t | A_t = a] \;\; \forall a \in {1, ..., k}$$ 위 수식에서 행동가치함수 $q*(a)$는 모든 행동 a에 대해서, $A_t = a$가 주어졌을 때 예상되는(expected) $R_t$로 정의한다. (이 행동가치함수는 강화학습에서 Q함수 또는 Q값이라고 불리는 값이다.) 샘플평균기법 (Sample-average method) 에이전트는 보통 $q^*(a)$를 시작부터 알 수는 없다. 따라서 보통의 강화학습에서는 이를 추정(estimate)한다. 이를 추정하는 방법 중 하나가 샘플평균기법이다. $$\begin{equa..

강화학습 - (1) 불확실성과 결정과정

강화학습 불확실성과 결정과정 (Uncertainty & Decision Process) 강화학습에서는 Trial-and-error를 통해서 여러차례 반복을 통해 학습을 하는 경우가 많다. 보통의 기계학습과는 다르게 에이전트가 놓여진 환경에서 스스로 학습 데이터를 만들어내고 학습한다. 처음보는 불확실한 환경속에서 에이전트는 여러 차례 시도를 통해 학습하는데, 이러한 프로세스를 불확실성(uncertainty) 속의 결정과정(decision making process) 라고 한다. K-armed bandit 문제 이러한 문제는 강화학습에서 종종 Bandit문제로 표현된다. Bandit이란 슬롯머신의 손잡이를 일컷는 말로, 각 슬롯머신 손잡이를 선택했을 때 각 손잡이를 당겼을 때 얻는 보상이 다를때의 상황을 이..

강화학습 공부 - (4) Model Free Control

Model Free Control Model Free Control은 다음과 같은 문제들을 풀기 위함이다: 문제에서 MDP가 주어져 있지 않지만, 경험을 통해 간단하게 만들 수 있는 경우 MDP가 주어져 있지만, 환경이 너무 크기 때문에 샘플링을 통해 행동하는 경우 On-Policy vs Off-Policy On-Policy 행동하면서 학습하는 문제 정책 $\pi$를 통한 경험의 샘플링을 통해 정책 $\pi$ 학습시키는 것 , 즉 행동하는대로 학습하는 형태 또한 검증시에도 같은 정책을 사용한다. Off-Policy 다른 (에이전트의) 행동 패턴을 통해 학습하는 문제 다른 에이전트의 정책 $\mu$를 통핸 경험의 샘플링을 통해 정책 $\pi$를 학습시키는 것, 즉 다른 누군가의 행동을 보고 학습하는 형태 ..

강화학습 공부 - (3) Model Free Prediction

Model Free Prediction 환경이 MDP로 표현될 수는 있지만, MDP가 주어지지 않은 문제를 풀고싶다. 이러한 상황에서 사용할 수 있는 기법들을 설명한다. 동적 계획법 (Dynamic Programming) 동적계획법은 문제를 작은 단위로 나누고, 반복을 통해 문제를 푸는 것이다. 이 방식은 상태의 수가 증가할 수록 계산 복잡도가 엄청나게 늘어난다. 또한, 동적 프로그래밍은 상태가 모두 알려진 MDP에 대해서만 풀 수 있다. 만약 MDP가 주어지지 않고, 모든 상태에 대해 알 수 없다면, 동적계획법을 사용할 수 없다. 따라서, 정책이 주어졌고, MDP를 알지 못할 때, 가치함수를 찾는 과정을 알아보고자 한다. 몬테카를로 학습 (Monte-Carlo Learning) 몬테카를로 학습은 직관적..

강화학습 공부 - (2) 동적계획법

동적 프로그래밍 (동적 계획법, Dynamic Programming) "동적" (Dynamic) 이라는 단어는 순차적이고, 일시적인 방면의 문제를 푸는것이라는 것을 의미한다. 이는 복잡한 문제를 푸는 방법론이다. 큰 문제를 서브 문제들로 분해한다. 그리고 그 서브 문제들을 다 풀어내면, 큰 문제를 풀 수 있다. 동적 프로그래밍으로 풀 수 있는 문제들은 두가지 특성을 가지고있다. 최적의 세부구조를 가지고있다. 최적의 세부 구조들을 풀어내면, 그로 인해 원래의 문제가 풀리는 구조이다. 최적의 해를 찾기 위해 세부 문제들로 분해해야 한다. 겹치는 세부 문제들이 존재한다. 세부 문제들이 반복되어 일어난다. 또한 그 세부 문제들을 캐시(저장)하고 재사용한다. 따라서 그 세부 문제들을 반복해서 풀어내면 효율적으로 ..

728x90
반응형