강화학습이란?

강화학습이란?

강화학습은 현 상태에서 어떤 행동을 하는 것이 최선인가를 학습하는 일입니다. 각 동작에는 외부 환경에서 보상이 주어지고 학습함의 보상을 최대화하는 방향으로 진행된다. 그리고, 이러한 보상은 행동 후 바로는 주어지지 않을지도 모른다(지연 보상). 그 결과, 감독·비감시 학습에 비해 문제의 난이도가 크게 상승했으며, 시스템의 적절한 보상과 관련한 신뢰 배분의 도전은 여전히 연구자를 괴롭히고 있다. 일반적으로 게임으로 인공지능을 만들기를 생각할 수 있습니다. 현재 체스에서 적의 말을 배치하는 것은 국가가 될 것이며 행동은 어떤 말을 탈 것인가이다. 상대방 말을 잡으면 보상을 받게 되지만 상대방 말이 자신을 떠날 때까지 시간이 걸리기 때문에 당장 보상을 받을 수는 없다. 말을 잡으면 전략적으로 유리하지만 상황이 불리해 경기가 끝나면 경기에 질 수도 있다. 따라서 강화학습은 보상치가 다소 작더라도 나중에 얻을 가치를 포함하여 보상치의 합계를 최대화하는 액션을 선택해야 하며, 행동하는 플레이어는 그 보상치를 최대화하는 액션이 무엇인지 모르기 때문에 미래를 고려하고 다양한 방법으로 행동을 고려해야 한다. 좋은 선택이 무엇인지를 탐구하고 지금까지의 지식을 바탕으로 최고의 행동을 찾아내고 이를 활용해 수행함으로써 강화학습을 해결하는 알고리즘은 양자의 균형을 어떻게 맞출 것인가에 초점을 맞춘다.

우리나라는 2020년 혈당만으로 필요한 인슐린 양을 정확하게 계산하는 AI 알고리즘을 개발해 강화학습을 활용했다. 당뇨병 환자의 혈당 데이터를 입력할 때 최적의 인슐린 양을 찾을 수 있도록 AI에 주입된 인슐린 양에 따라 혈당이 어떻게 변화하는지를 학습한다.

 

종류

Value based Reinforcement Learning

  • Q-Learning
  • SARSA
  • DQN Google DeepMind's Deep Q-learning playing Atari Breakout: 구글 딥마인드에서 2014년 내놓은 논문

Policy based Reinforcement Learning

  • DDPG 심층 결정론적 정책 경사법 알고리즘
  • A2C(Advantage Actor-Critic)
  • A3C(Asynchronous Advantage Actor-Critic) A2C가 한개의 에이전트로 학습을 한다면, A3C는 여러 에이전트들을 가동시켜 비동기적('A'synchronous)으로 모델을 업데이트 하는 알고리즘이다. 
  • ACER(Actor-Critic with Experience Replay) 
  • TRPO(Trust Region Policy Optimization)
  • PPO(proximal policy optimization) 2017년 기준 SOTA에 속하는 알고리즘. on-policy 방식이며, discrete와 continuous한 환경 모두에서 사용 가능하다. TRPO 의 2차근사가 연산량과 구현 둘 다 힘들게 하기에, 1차 근사로도 TRPO의 근접하거나 그 이상의 성능을 내려 하는 것이 PPO의 특징으로, 'P'olicy 'O'ptimization을 'P'roximal하게 한다는 뜻으로 이름이 붙었다. 하지만 실제 PPO를 구현해보면 성능이 잘 나오지 않고, parameter의 fine-tuning을 통해 얻어낸 결괏값이 아니냐는 의심을 받고있다.

 

'IT개발' 카테고리의 다른 글

TensorFlow란?  (0) 2021.08.06
강인공지능이란?  (0) 2021.08.06
CPU란?  (0) 2021.08.05
인공신경망이란?  (0) 2021.08.05
인공지능이란?  (0) 2021.08.05

댓글

Designed by JB FACTORY