[강화학습] 강화학습이란

Eugene CHOI·2021년 6월 10일
1

Machine Learning

목록 보기
1/13
post-thumbnail

Outline


강화학습이란 supervised로 분류되는 CNN, Clustering 등과는 분류 자체가 다른 분야입니다.
우리 인간은 아기 때 수 백, 수 천번을 뒤뚱거리고 넘어지는 과정을 통해 성장하고 뛰어다니게 됩니다.
마찬가지 방식으로 기계 역시 실패를 학습 시켜 목표를 달성하게 만들 수 있습니다.

강화학습의 시작은 1950년대부터입니다. 생각보다 이른 시작에 놀랄 수도 있습니다. 어떻게 저런 시대에 기계학습을 공부하였을까요? 물론 성능이 충분한 HW가 없던 시절이었기에, 이론적인 연구가 많이 진행되었습니다. 물론 perceptron과 같은 훌륭한 기계학습 장치도 만들었었죠. 무지막지하게 컸지만 말입니다.

현대, 비약적인 computing 성능의 향상으로 간단한 모델 정도는 개인 노트북 정도로도 쉽게 학습을 시킬 수 있는 시대가 왔습니다. 2013년 atari 게임 플레이, 2016년 이세돌 기사님과의 바둑 대결, 2017년 커제 기사님과의 바둑대결에서 이기며 현재는 절정에 다다랐다고 볼 수 있습니다.


Terms

용어를 간단하게 정리 해봅니다.

기본적으로 지도 학습과 비지도 학습에 대하여 지식이 있다고 생각하고 진행하겠습니다. 간단하게 용어부터 정리하겠습니다.

  • State: 현재 시점에서 상황이 어떤지 나타내는 값의 집합

    • State Space: 가능한 모든 상태의 집합
  • Agent: 주어진 문제 상황에서 행동하는 주체를 일컫는다.

  • Action: 에이전트가 취할 수 있는 선택지.

    • Action Space: 가능한 모든 행동의 집합
  • Reward: 에이전트가 어떤 행동을 했을 때 따라오는 이득을 말한다.

  • Policy: 에이전트가 판단하는 방식, 상태에 따른 행동의 조건부 확률

    • Optimal Policy: 정책 중 가장 좋은 것
  • Environment: 문제 셋팅 그 자체 (게임 규칙)

agent란 학습을 하는 주체로 게임으로 비유하면 캐릭터와도 같습니다.
agent의 목적은 보상의 장기간 기대치를 최대로 만드는 행동을 학습하는 것입니다.


Conclusion

앞서 설명한 것을 강화학습 용어를 사용해서 다시 정리 해 봅시다.

강화 학습의 목표는 주어진 환경에서 에이전트가 가능한 높은 보상을 받는 행동을 취하도록 에이전트를 훈련하는 것입니다.

에이전트는 관측을 통해 환경과 에이전트 자신에 대한 정보인 상태를 취득하며, 정책을 통해 주어진 상태에 대하여 취할 행동을 결정합니다.

환경은 에이전트의 행동에 의해 상태가 전이되며, 취해진 행동에 대한 보상이 에이전트에 지급됩니다.

이러한 환경과 에이전트 간의 상호작용 관계에서 최대 보상을 받을 수 있는 최적의 정책을 효율적으로 찾기 위하여 REINFORCE 알고리즘, Q 러닝, Q 네트워크와 같은 다양한 방법론이 제안되었습니다. 앞으로 어떤 방법을 통해 강화학습을 수행할 수 있는지 알아보겠습니다.

profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글