강화학습이란?
강화학습(Reinforce Learning) 구현에 앞서, 강화학습이란 무엇인지 짚고 넘어가야 할 필요가 있다고 생각합니다.
강화학습의 가장 큰 특징은 사람처럼 시행착오를 통해 학습해가는 점이라고 할 수 있습니다.
즉, 어떤 행동을 취해보고, 그 결과가 좋았는지 나빴는지 확인하고 그 행동을 평가하여 조금씩 스스로 방법을 개선해 나간다고 할 수 있죠.
이러한 성질때문에, 게임 분야에서 강화학습의 예시가 직관적으로 다가옵니다.
강화학습은 시행착오의 결과로 얻은 보상(reward)에 따라 행동을 형상하게 되는데, 이런 보상에 의한 행동 형성을 조작적 조건화(operant conditioning)이라고 합니다.
스키너 상자 (Skinner Box)
예시를 통해 강화학습의 원리를 조금 더 직관적으로 이해해보죠.
미국 심리학자 버러스 스키너(Burrhus Skinner)는 스키너 상자로 조작적 조건형성을 실험하고 증명했습니다.
아래 그림을 보겠습니다.
스키너 상자로 알아본 바는 다음과 같습니다.
- 배고픈 상태의 실험용 쥐를 상자에 넣었습니다.
- 배고픈 상태로 만드는 것을 '박탈'이라고 합니다.
- 실험용 쥐는 상자 안을 돌아다니다가 우연히 지렛대(Respose Lever)를 누르게 됩니다.
- 지렛대가 눌리자 food dispenser를 통해 음식이 나왔습니다.
- 지렛대와 음식배급 간의 상관관계를 모르는 쥐는 다시 상자안을 마구 돌아다니게 되죠.
- 다시 우연히 지렛대를 누르고 음식을 획득한 쥐는 이제 지렛대를 누르는 행동을 자주 하게 됩니다.
- 이러한 과정이 반복되면서 실험용 쥐는 지렛대를 누르면 먹이가 나온다는 사실을 학습합니다.
위와 같은 일련의 과정이 조작적 조건형성이 일어나는 예시입니다.
조작적 조건화가 왜 중요할까요?
바로 조작적 조건화가 일어날 때, 어떤 행동의 자발 빈도가 증가하는 것을 강화(reinforcement)라고 표현합니다
이런 시행착오를 통해 보상을 획득하고 서서히 행동 패턴으로 학습해 나아가는 과정을 모델링하고 수학적으로 나타낸 이론이 강화 학습 이론이기 때문입니다.
이를 응용하여, 기계가 앞으로 얻을 수 있는 보상의 합이 최대가 되도록 하기 위해 무엇을 해야 하는 가를 학습할 수 있습니다.
강화학습은 이러한 이론에 기초하여, 상태공간과 상태, 지식이나 환경의 불확실성 등을 고려하여 확률적 시스템으로서 시스템을 모델링하는 방식을 채택합니다.
강화학습의 대표적인 예시로는 이세돌 9단과 세기의 바둑 대결을 펼친 알파고(AlphaGo)가 있습니다.
'강화학습 > 강화학습 기본' 카테고리의 다른 글
[확률적 시스템] 부분 관측 마르코프 결정 프로세스 (Partially Observable Markov Decision Process) (0) | 2023.01.06 |
---|---|
[확률적 시스템] 마르코프 결정 프로세스 기본 (Markov Decision Process) (0) | 2023.01.03 |