이지예 2010.11.28 21:35 전체공개

강화학습 (Reinforcement Learning) Q러닝.

강화학습 (Reinforcement Learning)이란?
간단하게 말하자면, 어떠한 환경을 탐색하는 에이전트(예.로봇)가 자신이 수행한 행동에 대하여 보상값을 받아
조금씩 좋은 방향으로 행동을 강화시키는 학습 방법입니다
그림에서 보시면, 로봇이 start지점에서 Goal로 도착해야한다고 할 때,
각 환경마다 주어진 보상값에 따라서 행동을 선택하게 되는 것입니다.
강화 학습은
기계 학습
이 다루는 문제 중에서 다음과 같이 기술 되는 것을 다룬다. 어떤 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 그러면 그 에이전트는 환경으로부터 포상을 얻게 된다. 포상은 양수와 음수 둘 다 가능하다. 강화 학습의 알고리즘은 그 에이전트가 앞으로 누적될 포상을 최대화 하는 일련의 행동으로 정의되는 정책를 찾는 방법이다.
환경은 일반적으로 유한상태
마르코프 결정 프로세스
(MDP)로 표현할 수 있다. 이런 관점에서 강화 학습 알고리즘은
동적 계획법
과 깊은 연관이 있다. MDP에서 상태 전이 확률(state transition probabilities)와 포상은 확률에 따른 값일 수도 있고, 이미 결정되어 있는 값일 수도 있다.
강화 학습이 원하지 않는 행동을 명시적으로 수정하는
지도 학습
과 다른 점은 온라인 수행에 중심을 두고 있다는 점이다. 강화 학습은 아직 조사되지 않는 영역을 탐험하는 것과 이미 알고 있는 지식을 이용하는 것의 균형을 잡는것이다. 이 탐험과 이용 사이에 있는 트레이드오프는
Multi-armed bandit
과 같은 문제에서 알아 볼 수 있다.
수식으로 표현하면, 강화 학습 모델은 다음과 같이 구성된다.
환경 상태 집합, S;
행동 집합, A;
포상(
) 의 집합;.
매 시점 t에 에이전트는 자신의 상태(state) s
S와 가능한 행동(action) A(s
)을 가지고 있다. 에이전트는 어떤 행동 a∈A(s
) 을 취하고, 환경으로부터 새로운 상태 s
와 포상(reward) r
을 받는다. 이 상호작용에 기반해서 강화 학습 에이전트는 누적된 포상값 R 을 최대화 하는 정책(policy) π:S→A 을 개발한다. 종료 상태(terminal state)가 존재하는 MDPs에서는 R=r
+r
+...+r
이고, 그렇지 않은 MDPs에서는 R=Σ
γ
r
가 된다. 여기서 γ 는 미래의 포상이 현재에 얼마나 가치 있는지를 표현하는 할인율(discount factor)로 0과 1사이의 값이다.
강화 학습은 장기, 단기의 포상 사이 트레이드오프가 존재하는 문제를 다루는 데 적합하다. 이것은 로봇 제어, 엘리베이터 스케줄링, 통신망, 백개먼과 체스 같은 게임에 성공적으로 적용되어 왔다.
강화학습 중에는 Q-러닝 알고리즘이 가장 대표적인데, 이는
특정한 상태(state)에 놓여있을 때, 취할 수 있는 각각의 행동(action)에 대한 효용(Q)값을 미리 계산하고
학습을 합니다.
여기서 효용값은 즉각적인 보상과 미래에 대한 보상이라고 생각하시면 됩니다.
그리고 학습 한 효용값을 테이블에 저장하고
이로써 비슷한 상태가 나왔을 때 최적의 행동을 테이블에서 검색하여
사용자의 인터랙션에 따라 실시간으로 애니메이션이 가능하게 되는 것입니다.
Q-러닝 알고리즘에서의 학습과정은 일련의 행동을 무작위로 추출하고 그에 따라 지역갱신 규칙을 적용해서
점차 Q값 테이블을 수정해나가는 반복 절차를 통해 에이전트(캐릭터)의 행동을 학습시킬 수 있습니다

0

1

댓글1

    댓글 더보기

    삭제 하시겠습니까? 취소 삭제

    로그인 하시겠습니까? 확인 취소

    댓글을 삭제 하시겠습니까? 확인 취소