모델 기반 강화학습
모델 기반 강화학습은 상호작용에 기반한 모델을 구성한 다음, 이 모델을 사용하여 실제 환경이 아닌 생성된 모델에 적용하여 학습하는 강화학습의 종류 중 하나이다.
목차
개요[편집]
모델을 학습하는 것은 실제 환경에서 행동을 실행하고 피드백을 수집하는 것으로 구성된다. 이것을 경험이라고 부른다. 그래서 각각의 상태와 행동에 대해 환경은 새로운 상태와 보상을 제공하게 된다. 이 경험의 집합에 기초하여 모델을 추론하려고 노력한다. 이것은 다름아닌 감독된 학습 문제이다. 그리고 가능한 감독된 학습 기법 중 하나를 사용하여 이 문제를 해결하는데, 그것은 퇴행이나 신경망 같은 것이 될 수 있다. 모델은 감독되는 학습 기법에 따라 테이블 조회, 신경 네트워크 등으로 표현될 것이다. 이러한 점에서 모델 기반 강화학습과 모델 프리 강화학습은 차별점이 있다. 모델 프리 강화학습은 경험을 위해 직접 학습하며, 이는 실제 세계에서 동작을 수행한다. 그런 다음 긍정적이든 부정적이든 환경으로부터 보상을 수집하고, 가치 기능을 갱신한다. 이처럼 모델 프리 강화학습은 배우기 위해 실제 환경에서 작용한다는 점이 모델 기반 강화학습과의 주요 차이점이다. 반대로 모델 기반 알고리즘은 학습 단계에서 실제 환경과의 상호작용 횟수를 줄인다. 이 모델의 목적은 상호작용에 기반한 모델을 구성한 다음, 이 모델을 사용하여 실제 환경이 아닌 생성된 모델에 적용하여 해당 모델에 의해 결과가 반환되는 추가 에피소드를 시뮬레이션하는 것이다. 이 방법은 학습을 재개하기 위해 환경이 반응하기를 기다릴 필요도 없고 환경을 일부 상태로 재설정할 필요도 없기 때문에 학습 속도를 높일 수 있는 장점이 있다. 그러나 부정적인 면에서는 모델이 부정확하다면 현실과 완전히 다른 것을 배워야 한다는 위험이 있다.[1]
특징[편집]
장단점[편집]
모델 생성 데이터를 다른 모델 없는 알고리즘에 통합하는 것이 좋은 생각인지는 분명하지 않다. 모델링 오류는 시간 차이 업데이트를 유발할 수 있으며, 선형 근사치의 경우 모델과 값 적합치가 동등하다. 그러나 예측 모델의 경험적 일반화 능력을 고려함으로써 모델 이용에 동기를 부여하는 것이 용이하고, 그러한 모델 기반의 확대절차가 실제로 놀랄 만큼 효과적인 것으로 판명되었다.
- 장점
모델 생성 데이터의 영향에 대한 자연스러운 사고방식은 다음과 같은 강화 학습의 표준 목표에서 시작한다.
모델 생성 데이터를 사용하는 것은 샘플링 분포를 단순 수정하는 것으로도 볼 수 있다. 모델 데이터를 정책 최적화에 통합하는 것은 실제 역학 를 근사치 로 스와핑하는 것과 같다. 이 대체품을 만들면서 도입된 모델 편향은 오프 폴리시 오류와 유사하게 작용한다. 우리는 현재 정책에서 샘플을 생성하기 위해 어떤 상태에서도 모델 동적 를 조회할 수 있고, 오프 폴리시 오류를 효과적으로 피할 수 있다. 모델 사용이 오프 폴리시 오류와 모델 편향 사이의 거래로 간주될 수 있다면, 이 두 항을 비교하는 것이 더 간단하다. 그러나 현재 정책의 분포에 대한 모형의 오차를 추정하려면 모형이 어떻게 일반화될 것인지에 대한 문제를 해결해야 한다. 여기서 최악의 경우 한계는 다소 비관적이지만, 예측 모델은 정책 최적화에 사용할 동기를 충분히 부여할 수 있을 만큼 미래 정책의 상태 분포에 일반화하는 경향이 있다는 것을 발견했다.
- 단점
위의 결과는 학습된 모델의 한 단계 예측 정확도가 정책 변화 하에서 신뢰할 수 있음을 시사한다. 캐치(catch)는 대부분의 모델 기반 알고리즘이 단일 단계 이상의 정확도를 위해 모델에 의존하고 있으며, 종종 모델에 따른 상태 분포를 적절히 추정하기 위해 작업 지평선과 동일한 길이로 모델 기반 롤아웃을 수행한다. 예측이 이러한 방식으로 결합되면 작은 오류들이 예측 지평선에 복합적으로 나타난다.
- 장단점 분석
이러한 질적 절충은 모형 추정 수익률 측면에서 정책의 실제 수익률에 대한 하한을 작성함으로써 보다 정확하게 이루어질 수 있다.
현재 정책의 상태 분포 에 대한 예상 모델 수익률, 모델 롤아웃 길이, 정책 차이 및 모델 오류 측면에서 정책의 실제 수익률에 대한 하한값이다.
예상대로 모델 롤아웃 길이와 관련된 장력이 있다. 이 모델은 롤아웃 길이 에서 기하급수적으로 감소하는 항을 통해 오프 폴리시 오차를 줄이는 역할을 한다. 그러나 롤아웃 길이를 늘리면 모델 오류에 비례하는 불일치가 증가한다.[2]
모델 기반 정책 최적화[편집]
위 결과로부터 크게 두 가지 결론을 얻는다.
- 예측 모델은 발생된 모델 편향의 가치가 오프 폴리시 오차를 줄일 수 있을 만큼 충분히 일반화할 수 있지만,
- 복합적인 오류로 인해 장기간에 걸친 모델 롤아웃을 신뢰할 수 없게 된다.
이 두 가지 통찰력을 결합하는 간단한 방법은 초기 상태 분포에서 전체 길이 롤아웃 대신 이전에 만난 모든 실제 상태에서 짧은 롤아웃만 수행하는 것이다. 이 절차의 변형들은 고전적인 다이나 알고리즘에 기인하는 이전 작품들에서 연구되어 왔으며, 이것을 일반적으로 모델 기반 정책 최적화(MBPO)라고 한다. 정리하자면 확률론적 모델 앙상블과 안정적인 오프 폴리시 모델-프리 최적기를 사용하는 것과 같은 몇 가지 중요한 설계 결정과 결합된 이 간단한 절차는 표본 효율성과 점증적이지 않은 성능의 최상의 조합을 산출한다. 또한 모델 기반 정책 최적화가 최근의 모델 기반 방법들이 더 높은 차원 상태와 긴 수평적 작업으로 확장되는 것을 방해하는 함정을 피한다는 것을 알 수 있다.
루프[편집]
모델 기반 강화학습의 주요 루프는 다음과 같다.
- 실제 환경에서 행동하고, 경험을 수집한다. (상태와 보상)
- 모델을 추론해서 샘플을 생성하는 데 사용한다.
- 샘플로부터 가치 함수와 정책을 업데이트한다.
- 이러한 가치 함수와 정책을 사용하여 실제 환경에서 수행할 작업을 선택한다.
- 그런 다음 루프를 다시 시작한다.
알고리즘[편집]
분석적 기울기 계산[편집]
역학 및 비용 함수의 형태에 대한 가정은 LQR 프레임워크에서와 같이 국지적으로 최적의 제어를 위한 폐쇄형 솔루션을 산출할 수 있기 때문에 편리하다. 이러한 가정이 타당하지 않더라도, 회귀-수평 제어는 근사치 역학에서 유입된 작은 오류를 설명할 수 있다. 마찬가지로 가우스 프로세스로 파라메타된 동적 모델에는 정책 개선에 사용할 수 있는 분석적 그라데이션이 있다. 또한 이러한 간단한 파라메트리제션을 통해 도출된 제어기를 사용하여 보다 복잡한 비선형 정책을 교육하기 위한 지침 샘플을 제공할 수 있다.
샘플링 기반 계획[편집]
비선형 동적 모델의 완전히 일반적인 경우, 우리는 국소 최적성의 보증을 상실하고 샘플링 작용 시퀀스에 의존해야 한다. 이 접근법의 가장 간단한 버전인 무작위 사격은 고정된 분포에서 후보 행동을 샘플링하고, 모델 아래에서 그것들을 평가하고, 가장 유망하다고 여겨지는 행동을 선택하는 것을 포함한다. 보다 정교한 변형 모델들은 교차 엔트로피 방법(CEM, PlaNet, PETS 및 시각적 선견지명에 사용)이나 경로 적분 최적 제어(최근 모델 기반의 손재주 조작 작업에서 사용)에서처럼 샘플링 분포를 반복적으로 조정한다. 그러나 이산 작용 설정에서는 반복적으로 하나의 경유지 궤적을 정밀하게 하기보다는 트리 구조를 검색하는 것이 더 일반적이다. 일반적인 트리 기반 검색 알고리즘에는 최근 게임 플레이에서 인상적인 결과를 뒷받침하는 MCTS와 반복적인 너비 검색이 있다. 연속 및 이산 영역 모두에서 샘플링 기반 계획은 구조화된 물리 기반 객체 중심 이전 버전과 결합될 수 있다.
모델 기반 데이터 생성[편집]
많은 머신러닝 성공 사례에서 중요한 디테일이 트레이닝 세트의 크기를 인위적으로 늘리는 수단이다. 정책 최적화를 위한 수동 데이터 확대 절차를 정의하기는 어렵지만, 우리는 예측 모델을 합성 데이터를 생성하는 학습된 방법으로 유사하게 볼 수 있다. 그러한 조합의 원래 제안은 모델 학습, 모델 하에서의 데이터 생성, 모델 데이터를 이용한 정책 학습을 번갈아 하는 서튼(Sutton)의 다이나(Dyna) 알고리즘에서 나온다. 이 전략은 iLQG, 모델 앙상블 및 메타 학습과 결합되었으며, 이미지 관찰로 확장될 뿐만 아니라 이론적 분석에 적합하다. 모델 기반 데이터 생성의 목표는 모델을 사용하여 시간 차이 학습에 대한 목표값 추정치를 개선하는 것이다.[2]
- 다이나 알고리즘
알고리즘은 Q와 모델을 초기화하는 것으로 시작하여 메인 루프로 들어간다. 현재 상태에서 시작하고, 정책에 따라 조치를 선택하고, 실제 환경에서 조치를 실행하고, 보상 과 새로운 상태 를 관찰한다. 그리고 과 를 사용할 수 있게 되면 와 모델을 업데이트한다. 는 현재 상태가 된다는 점에 유의해야 한다. 알고리즘이 계획 단계에 접어들면 n번 반복하는 두 번째 루프를 입력하는데, 이 루프 안에서 알고리즘은 무작위로 상태와 관련 동작을 선택한다. 그리고 모델에 적용하여 모델로부터 보상과 새로운 상태를 얻은 다음 외부 루프에서와 같이 를 업데이트한다.[1]
가치 동등성 예측[편집]
모델 기반과 모델 프리 범주화에 깔끔하게 들어맞지 않는 최종 기법은 모델의 예측이 실제 상태를 닮도록 감독하지 않고 모델 기반 강화학습과 유사한 연산을 통합하는 것이다. 대신, 모델에 따른 계획은 예측된 누적 보상에서만 실제 환경의 궤적을 일치시키도록 제한된다. 이러한 가치평등한 모델은 기존의 모델 기반 계획이 어렵다는 것이 입증된 고차원 관찰 공간에 효과적이라는 것을 보여 주었다.[2]
예제[편집]
- 콘크리트 예제
다음 예에서는 A에서 B로, 그리고 B에서 두 개의 가능한 단자 상태로 전환되는 두 상태 A와 B를 설명한다. 이 예시에서는 할인 요인이 없다고 가정한다. 모델을 구축하기 위해 실제 환경에서 몇 개의 에피소드를 실행하고 착륙 상태와 결과를 수집한 다음 아래와 같이 모델의 을 추론한다.
경험에 따르면 에서 보상이 0으로 100%인 반면, 에서 상위 터미널 상태로 가는 것은 보상 1로 시간의 75%이고, 보상 0으로 더 낮은 터미널 상태로 가는 것을 알 수 있다. 이를 통해 우리가 에 있을 때마다 실제 환경이 아닌 이 모델을 사용하여 시뮬레이션을 하고 임의의 테스트 세트(샘플링)를 실행한다면, 모델이 우리에게 우리가 으로 시간의 100% 로 이동할 것이라고 말해 줄 것이고, 로 시간의 75%를 상승시킬 수 있고 으로 시간의 25%는 으로 상승할 수 있다.
이제과 로 이어지는 몬테 카를로(Monte Carlo) 방법을 사용하여 값 함수를 계산할 수 있다. 몬테 카를로 값 계산을 상기시켜 주는 방법은 다음과 같다.
여기서 는 각 에피소드 후 의 상태에서의 리턴이다. 모든 에피소드의 평균
각주[편집]
- ↑ 1.0 1.1 Ziad SALLOUM, 〈Model Based Reinforcement Learning A top view of how Model Based Reinforcement Learning works.〉, 《Towards Data Science》, 2019-05-21
- ↑ 2.0 2.1 2.2 Michael Janner, 〈Model-Based Reinforcement Learning: Theory and Practice〉, 《BAIR》, 2019-12-12
참고자료[편집]
- Ziad SALLOUM, 〈Model Based Reinforcement Learning A top view of how Model Based Reinforcement Learning works.〉, 《Towards Data Science》, 2019-05-21
- Michael Janner, 〈Model-Based Reinforcement Learning: Theory and Practice〉, 《BAIR》, 2019-12-12
같이 보기[편집]
이 모델 기반 강화학습 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.