IT지식/인공지능

[인공지능] 강화학습 기법 - 종류와 해당 알고리즘 정리

매 석 2022. 11. 9. 00:47
반응형

 

 

1. 강화학습 기법이란?

 

- 강화학습 기법은 환경과 상호작용해 얻은 정보를 바탕으로 에이전트의 모델을 업데이트하고,
  그 모델을 사용해 에이전트의 정책을 개선하는 것이다. 이후 에이전트는 개선한 정책을 사용하거나
  다른 정책을 사용해 환경과 상호작용한다.

 

출처 : 모델 기반 강화학습 - 해시넷 (hash.kr)

 

환경에서 행동을 취하면 '현재 상태', '행동', '다음 상태'의 상태 전이 정보와 '보상'을 데이터로 얻는다.
  그다음은 얻은 데이터를 기반으로 에이전트 내의 모델을 업데이트 한다.
  이 모델은 모델기반 강화학습에서 환경의 작동 원리가 될 것이고, 모델프리 강화학습에서는
  가치함수몬테카를로 방식으로 얻은 보상의 합이 될 것이다. 이렇게 얻은 정보를 처리해
  모델을 업데이트한 후 모델을 사용해 정책을 개선한다. 끝으로 개선한 정책 또는 다른 정책을 사용해
  환경에서 행동을 취하고, 사이클이 다시 시작 된다. 상태의 가치는 선택하는 정책에 따라 달라지기에
  정책이 개선되면 가치도 함께 변할 수 있다.

 

 

 

2. 강화학습 기법의 대표 알고리즘(혹은 기법)

 

1. 모델기반-모델프리 강화학습 기법
  에이전트가 바둑이나 비디오 게임과 같이 환경의 작동 원리를 완벽히 알고 있거나 그 원리를
  학습해 의사결정에 사용하는 것을 '모델기반 강화학습'이라 한다.
  반면 환경의 전이 모델을 가정 혹은 고려하지 않고 직접 환경과 상호작용하면서 얻은 정보만을 바탕으로
  보상을 최대화하고자 하는 접근법을 '모델프리 강화학습'이라 한다.
  환경을 재연할 수 있는 시뮬레이터가 없거나 환경의 작동 원리가 복잡해 학습이 비효율적일 때 
  모델프리 강화학습 방법을 사용하곤 한다.
  모델기반 강화학습은 환경 역학을 아느냐에 따라 접근 법이 달라진다.
  만약 알고 있다면 최적 제어에서 주로 연구되는 동적계획법을 사용할 수 있다.
  모른다면 에이전트를 학습하는 도중에 환경을 추정하는 모델을 함께 학습할 수 있다.
  모델기반 강화학습은 "계획"을 기반으로 추후 일어날 상황과 보상을 예측한 정보를 사용한다.
  환경 가짓수가 너무 많으면 모델프리 강화 학습 기법을 사용하기도 한다.

 

2. 가치기반-정책기반 강화학습 기법
  에이전트가 처할 수 있는 각 상태에서 다시 시작해 연속적인 행동을 취했을 때 얻을 수 있는
  리턴의 기댓값을 '가치'라 하고, 가치를 추정해 이를 바탕으로 최선의 정책을 도출하는 방식을
  '가치기반기법'이라 한다. 또한 가치를 학습 후 정책을 찾기보다 누적 보상이 최대가 되도록 하는
  정책 함수를 직접 찾는 방식을 '정책기반기법'이라 한다.

  가치기반기법의 기본 아이디어는 에이전트가 여러 상태에서 행동을 취할 때 얻는 보상을 
  바탕으로 상태의 가치를 추측해 업데이트하는 과정과 본인이 측정한 가치를 기반으로
  최대 가치를 얻을 수 있는 상태로 나아가는 행동을 취함으로써 의사 결정 과정을 업데이트한다.

  정책기반기법은 정책 자체를 하나의 함수로 가정 후 평균 리턴을 최대화하는 방향으로
  정책 함수를 찾아간다. 특히 함수를 찾는 과정에서 기울기를 사용하는 방식을 '정책경사법'이라 한다.
  정책경사법은 정책경사정리를 바탕으로 한다. 정책경사정리는 평균 이득을 증가시킬 수 있는
  정책의 개선 방향을 알려준다. 해당 정리는 높은 가치를 지니는 상태-행동 쌍을 자주 만나는 방향으로
  정책을 개선해야 하고, 낮은 가치를 지니면 멀어지게 정책을 개선해야 한다.
  정책 경사법 사용을 위해 상태의 가치를 추정해야 한다. 단순 수집 데이터의 평균을 사용하는 기법도 있고,
  가치기반기법에서 가치를 추정하는 방식을 사용하는 기법도 있다. 
  이러헤 정책기반기법과 가치기반기법을 같이 쓰는 기법을 '액터-크리틱 기법'이라 한다.

 

3. 온폴리시, 오프폴리시 기법
  온폴리시기법에서는 환경과 상호작용으로 얻은 데이터를 정책 개선에 단 1회만 사용할 수 있다.
  정책 개선 부분을 지나면 지금까지 얻은 데이터를 모두 버리고 새로 모아야 한다.
  그 이유는 데이터는 온폴리시 기법에서 현재 정책을 업데이트할 수 있는 정보만 제공하기 때문이다.

  반면, 오프폴리시기법은 수집한 데이터를 재사용 가능하다.
  따라서 개선하는 정책과 직접 취하는 정책을 따로 운영한다.
  '목표 정책'은 에이전트가 학습하고자 하는 정책이다. 이 정책을 개선해 최적의 정책으로 만드는 것이 목적이다.
  '행동 정책'은 에이전트가 실제로 환경과 상호작용하는 정책이다. 오프폴리시기법에서는 행동 정책으로
  얻은 정보를 사용해 목표 정책을 개선하기에 이전에 모은 상호작용 데이터를 버릴 필요가 없다.
  다만 수집된 데이터 분포와 개선된 정책으로 수집할 데이터의 분포가 계속 달라지기에
  '중요도 샘플링' 등과 같은 기법을 사용해 이를 보완하기도 한다.

 

4. 강화학습 기법의 환경과 상호작용
  온라인 강화학습은 에이전트가 환경과 지속적으로 상호작용할 수 있을 때를 말하고,
  오프라인 강화학습은 에이전트가 환경과 상호작용할 수 없거나 가끔 허용될 때를 말한다.
  오프라인 강화학습은 과거에 환경과 상호작용한 데이터만을 갖고 에이전트를 학습해야 한다.

 

 

 

3. 강화학습 기법의 종류

 

1. 가치반복기법

  가치반복기법은 환경의 역학을 모두 알고 있을 때 사용 가능한 가치기반기법이다.
  이는 동적계획법의 일종으로, 벨만 최적 방정식을 사용해 최적 가치를 찾고, 이를 최대화하는
  정책을 도출해내는 기법이다. 즉 마지막 최적의 상태에 정책 개선이 이뤄진다.

 

2. 정책반복기법
  정책반복기법 또한 환경의 역학을 모두 알아야 사용 가능한 가치기반 동적계획법의 일종이다.
  현재 정책을 따를 때 각 상태의 가치를 찾고, 각 상태에서 탐욕적으로 가치를 최대화하는
  다음 상태를 찾아가는 방식으로 정책 개선을 한다.

3. 몬테카를로기법
  에피소딕 문제에서 활용할 수 있는 가치기반 강화학습 기법이다. 에피소드가 끝날 때까지
  현재 정책을 사용해 상호작용 데이터를 모으거나 각 상태를 방문하고 난 후에 얻은 보상을
  바탕으로 방문한 모든 상태의 가치를 업데이트한다.
  환경에 대한 가정이 많이 필요없다는 장점과 가치의 추정량이 불편하다는 장점이 있지만,
  데이터가 많이 필요하다.

4. SARSA 기법
  온폴리시 가치기반 기법이다. 상태, 행동, 보상, 상태, 행동의 약자이다.
  현재 상태-행동 가치의 추정치를 기반으로 탐욕적인 정책을 따르며, 상태-행동 가치를 업데이트하기 위해
  다음 상태-행동까지 경험한다. 상태-행동 가치를 업데이트하는데 상태-행동 가치의 이전 추정치를
  사용하는 '시간차법'을 온라인 방식으로 사용한다.

5. Q-학습기법
  상태-행동 쌍에도 가치를 정의할 수 있다. Q-학습기법은 벨만 최적 방정식을 바탕으로 상태-행동 가치를 찾고,
  이를 바탕으로 정책을 개선하는 오프폴리시 가치기반기법이다. Q-학습기법의 특징은 시간차법을
  오프라인 방식으로 사용한다는 것이다.

6. DQN 기법
  Q-학습기법과 딥러닝기법을 융합해 아타리 비디오 게임을 인간 수준으로 수행할 수 있는 
  에이전트 학습에 사용된 오프폴리시 가치기반기법이다. 에이전트가 아타리 게임의 화면 이미지를 상태로
  받아들이기에 고차원의 상태 공간을 다룰 수 있는 CNN기반의 딥러닝 모델을 사용해 상태-행동 가치함수를 학습한다.

  학습 데이터끼리의 상관성 완화를 위해 이전 상호작용 데이터를 재현 메모리에 따로 저장해 두는
  '경험 재사용' 기법을 사용한다. 또한 목표 네트워크를 도입해 Q-학습기법의 문제점인 상태-행동 가치의
  과대평가 문제를 완화하고, Q-함수 학습의 안전성을 높였다.

7. REINFORCE 기법
  정책기반기법, 그중 정책경사기법이다. 정책을 하나의 함수로 생각하는 '정책함수'를 만들어
  리턴의 기댓값이 높아지는 쪽으로 정책함수를 찾아간다. 먼저 상태-행동 가치를 몬테카를로
  방식으로 추정 후 정책경사이론을 사용해 정책의 파라미터를 개선한다.
  행동 공간이 연속일 때도 사용할 수 있다는 장점이 있지만, 정책 기울기 추정량이 하나의
  상호작용 에피소드에 의존하여 분산이 크다는 단점이 있다. 보상이 조금 달라져도 정책이 크게 달라지고,
  온폴리시기 기법이기에 데이터가 많이 필요하다.

8. A2C 기법
  어드벤티지함수를 가치함수로 사용하는 온폴리시 액터-크리틱기법이다. 액터-크리틱 방식은
  가치기반기법의 방식을 사용한다. DQN에서 Q함수를 추정하는 방식을 사용한 것처럼
  액터-크리틱에서는 상태-행동 가치를 어드벤티지 함수를 사용해 추정 후 이 수치를 이용해
  정책경사를 계산한다. 

 

9. TRPO 기법
  정책 파라미터가 너무 많이 변하지 않게 제약 조건을 가진 상태로 학습하는 온폴리시 액터-크리틱기법이다.
  이와 비슷한 기법으로, TRPO에서 사용되는 이차 근사를 간단화한 PPO가 있다.

10. TD3기법
  액터-크리틱기법에서 발생하는 상태-행동 가치 과대평가 문제를 완화하고, 정책경사 추정량의 분산을 줄이는
  오프폴리오시 액터-크리틱기법으로, TD3기법의 결과로 나오는 정책은 결정적 정책이다.

11. SAC기법
  에이전트가 탐색을 고려해 학습할 수 있도록 하는 오토폴리시 액터-크리틱 기법이다.
  원래 강화학습 문제의 목적이 리턴의 기댓값을 최대화하는 것이라면, SAC기법의 목적은
  리턴의 기댓값과 정책의 엔트로피를 함께 최대화하는 '최대우도 강화학습' 문제를 해결하는 것이다.