본문 바로가기

LAB/RL, IRL

역강화학습(1) 역강화학습 기술 동향

728x90
반응형

 

 

1. 개념 정리

 

강화학습(RL) : 에이전트가 어떤 상태(state)에서 행동(action)을 수행할 때마다 그 성능에 대한 피드백을 제공하는 보상 함수(Reward function)이 주어진다. 이 보상 함수는 최적 정책(optimal policy)를 구하는데 이용된다. 

[ex] 게임 플레이 에이전트 생성을 위해 RL을 이용하는 경우, 플레이를 통해 얻게 되는 점수 or 승패 결과 or 플레이어 체력 등 에이전트 성능을 평가할 수 있는 보상 요소들이 주어진다. 이를 통해 최대 기대 보상을 획득할 수 있는 최적 정책이 계산된다. 이렇게 계산된 정책에 따라, 게임 플레이 에이전트는 주어진 상태에 대해 최적의 행동을 수행한다. 

하지만, 실세계에서 특정 모델에 대한 보상 함수를 구하는 것은 매우 복잡한 문제다. 인간 세상에서 대부분의 보상 함수는 단일 속성이 아닌 다속성으로 구성된다. 보상 함수를 정의할 때 미지의 보상 속성까지 고려해야 한다. 

역강화학습(IRL) : 에이전트의 정책이나 행동 이력을 통하여, 그 행동을 설명하는 보상 함수를 구하는 알고리즘. RL의 역이 되며, 에이전트가 최선의 행동을 선택했다는 가정 하에 이 행동에 대한 보상 함수를 추정하는 학습 방식이다. RL와 달리 복잡한 상황에서 다양한 보상 요소를 반영하여 최적의 정책을 찾는 데 용이하다. 

RL : 주어진 보상 함수를 통해, 최적 정책을 계산

IRL : 최선의 행동(최적 정책)을 통해 보상 함수를 찾음

 

 

2. 모방학습(IL)

 

실세계에서는 RL에 필요한 보상을 구하기 어렵다. 그래서 비교적 간단한 시뮬레이션이나 게임과 같이, 명확한 보상을 구할 수 있는 환경을 기반으로 한 연구들이 많다.

모방학습(IL : Imitation Learning)은 학습자로 하여금 최상의 성능을 달성하기 위해, 전문가의 행동을 모방하려고 하는 순차적 작업이다. IL은 직접적인 보상이 필요 없고, 정책을 직접 설계하여, 전문가가 원하는 행동을 보다 쉽게 발현시킨다. 

-> 모방학습 : 입력과 출력의 쌍을 통해 원하는 출력을 모델링하는 학습 방법. 예를 들어 [이미지]와 해당 이미지의 [레이블(분류 작업의 경우)]이 주어졌을 때, 모방학습은 주어진 이미지와 레이블의 쌍을 학습하여, 새로운 이미지에 대한 레이블을 예측할 수 있는 모델을 구축한다. 

(1) 행동 복제(BC : Behavior Cloning) : 전문가의 행동을 그대로 따라하는 모방(mimic) 문제에 집중한 방식. 전문가를 통해 쌍으로 이루어진 상태(o) 및 동작(u) 시퀀스 시연 궤적을 수집하여 정책을 지도학습한다. 직관적인 단순 작업의 경우 학습의 효율성이 높다. 그러나 문제가 복잡하고 테스트가 누적될수록, 오차가 커지는 문제가 있다. 

(2) 견습학습(AL : Apprenticeship Learning) : 전문가의 시연으로부터 보상 함수를 만들고, 계산된 보상 함수를 통해 최적의 정책을 학습한다. 보상 함수가 (수집된 특성에 대해) 학습이 가능한 선형 조합(Linear combination)이라 가정하고, 전문가 시연 궤적으로부터 보상 함수를 추정하는 방식이다. BC기법과 의미적으로 유사하다. 그러나 AL에 IRL 방식을 연계 활용하면 적은 데이터로 학습이 가능하고, 예상치 못한 환경 대응에 강인하다. 더 효과적이고 향상된 성능.

IRL 기반 AL 알고리즘 : 전문가와 학습자의 기대치 집합으로부터 계산된 성능차이, t를 최소화하는 과정을 통해 보상값 R을 찾는다. 이 R을 RL에 적용하여 최적 정책을 업데이트함과 동시에 수집되는 전문가의 기대치를 기존 집합에 증강, 이를 반복 수행하다가 성능 차이가 임계치 이하로 수렴시 학습 종료.

 

 

3. IRL 알고리즘

 

(1) ALIRL : AL은 전문가의 시연에 기반하여 진행되는 학습 방법이다. 마코프 결정 과정(MDP : Markov Decision Process) 환경에서 문제해결 임무(task)를 수행하는 전문가 시연을 관찰할 수 있을 때, 보상이 주어지지 않았거나 보상 방법을 결정하기 어려운 문제를 효과적으로 해결할 수 있다. 전문가 행동을 그대로 따라 하는 것보다, 전문가 행동에서 목적하는 의도를 학습하는 것을 목표로 한다. 관찰되는 전문가의 시연 속에는 보상 함수를 최대화하기 위한 행동이 내재되어 있다고 가정하고, 숨겨진 보상 함수를 복구하기 위해 IRL을 사용하는 알고리즘이다. 즉, ALIRL(Apprenticeship Learning via IRL) 알고리즘은 1] 보상 함수를 우리가 알 수 있는 feature들의 선형 조합으로 표현하고, 2] 이를 IRL 방법으로 학습하는 알고리즘.

-> 학습 진행은 크게 4단계로 구성된다. 1] feature expectiation 집합으로부터 계산한 전문가와 학습자의 성과 차이를 통해 보상 함수를 찾는 IRL 단계, 2] IRL 단계에서 얻은 보상 함수에 대한 최적 정책을 찾는 RL 단계, 3] RL 단계에서 구한 정책으로부터 몬테 카를로(Monte Carlo) 수행을 통해 새로운 feature expectation을 구하는 단계를 반복한다. 4] 충분히 가까워지는 feature expectation이 확보되었을 때 학습을 종료한다. 상대적으로 적은 횟수로도 학습이 가능하면서 전문가 시연과 비슷한 성능을 얻을 수 있다.  

(2) MaxEnt IRL : 모호성 문제를 원칙적으로 해결하기 위해 제공되는 단일 확률적 정책. 최대 엔트로피 IRL은 확률 분포 선택에 대한 모호성을 해결하기 위해 관측된 데이터로부터 feature expectation 정합 제약 조건을 따르는 경로를 통해 확률 분포를 구하고, 그 분포의 엔트로피를 최대화하는 알고리즘이다. 파라미터 초기화 -> 보상에 관한 최적의 정책 계산 -> 상태 방문 빈도 계산 -> 확률 분포 엔트로피 최대화를 위한 그래디언트 계산 -> 계산된 그래디언트를 이용하여 파라미터 업데이트 -> 이를 반복하는 과정을 거친다. 사람이 수동으로 선택한 feature에 대한 선형 조합으로 정의된다. 이 방식은 실제 보상을 선형 모델을 통해 정확하게 근사화할 수 없는 경우, 최적이 아닌 차선책이 된다. (단점) 

-> 엔트로피는 확률 분포의 불확실성을 나타내는 척도로, 엔트로피가 높을수록 분포가 더 불확실하다. MaxEnt IRL에서는 보상 함수를 추정하는 동안 엔트로피를 최대화하는 방향으로 진행된다. 이를 통해 가능한 많은 보상 함수 후보들을 고려하고, 보상 함수에 대한 불확실성을 포함하여 모델링할 수 있다. 

-> MaxEnt IRL은 전처리 과정 없이도 우수한 성능을 보인다. 전처리 과정이란 [[복잡하고 비선형적인 보상 함수]를 효과적으로 근사화하는] 심층 신경망을 통해 feature를 선택하는 과정이다. 

(3) GCL :  이때까지, 현재 보상 함수로부터 최적의 정책을 계산하기 위해 RL을 처음부터 끝까지 진행해야 하며, 많은 시간과 계산 자원이 요구되었다. 비용 함수를 얻을 때 발생하는 문제점을 해결하기 위해 GCL은 RL로 최적의 정책을 한 번에 찾지 않고, IRL과 번갈아가면서 서로 동시에 업데이트가 이루어지도록 하였다. 이는 샘플 기반 근사화를 통해 분배 함수를 계산하는 방식이다. 신경망(Neural network) 기반의 비선형 함수 근사화와 정규화 기법(Regularization Technique)을 이용하는 알고리즘. 정책 탐색의 내부 loop에서 비용값이 업데이트된다. -> 정책 최적화 과정이 비용 함수를 '가이드'라는 형태를 취한다. 

(4) GAIL : GCL에 적대적 생성 방법을 도입한 것이다. GCL에선 IRL을 통해 보상 함수가 일부 수정되고, 이러한 불완전한 보상 함수를 통해 정책이 일부분 개선되며 최적화가 진행된다. GAN의 관점에서 이를 해석하면, RL 과정에서 업데이트되는 정책은 전문가의 정책을 모방하기 위해 계속해서 유사한 정책을 만들려 하는 생성기(generator)의 역할을 하고, IRL 과정에서 업데이트되는 보상 함수는 전문가가 수행한 행동인지 아닌지를 구별하려 하는 판별기(discriminator)의 역할을 한다. 기존의 IL에 사용되는 RL와 IRL의 과정을 하나의 식으로 합성하고, 일대일 대응관계에 있는 occupancy measure를 도입하여 변수를 치환한다. (occupancy measure란 특정 정책 아래에서 발생하는 상태-행동 쌍의 정규화되지 않는 분포) 정규화되지 않았기 때문에 이 분포는 총합이 1을 넘을 수 있다. [IL 문제]에서 [분포를 매칭시키는 문제]로 바뀌게 된다. 정규화 함수를 GAN의 형태로 정의하여 GAN과 유사한 목적 함수를 만든다. 비효율적이었던 정책 샘플링 과정을 occupancy measure와 GAN을 도입함으로써 효율적인 IL을 가능하게 한다. 

(5) VAIL : GAN의 경우 생성기와 판별기 사이의 학습 균형을 맞추기가 어렵다는 단점이 있다. 따라서 IL의 성능을 보장할 수 없다는 특징을 가진다. VAIL에서는 이러한 문제점을 해결하기 위해 정보 병목(Information Bottleneck)을 가한다. [모방하고자 하는 전문가의 데이터]와 [생성기로부터 출력되는 데이터 x]는 판별기에 입력되기 전에 인코딩 과정을 거쳐 데이터 z가 들어가게 된다. 상호 정보량 값이 크면 x의 정보가 고스란히 z로, 값이 작으면 x의 정보가 z로 전달이 제대로 안 되었음을 의미한다. 상호 정보량 계산 과정에서 z의 확률분포를 모르기 때문에 값을 직접 계산하지 못한다. 따라서 KL-divergence 형태로 변형하여 근사한다. 정보 병목은 판별기의 학습 속도를 직접적으로 늦춘다. (생성기가 불완전하게 학습된 상태에서, 판별기가 너무 빠르게 학습되지 않도록 방지해주는 동시에 생성기에게는 학습에 도움이 되는 그래디언트 정보를 제공.) 또한 정보 압축 과정에서 불필요한 정보를 무시할 수 있도록 한다. 

(6) InfoGAIL : GAIL은 고차원 입력의 문제를 다루는 데 있어 그 성능이 보장되지 않는다는 한계를 가진다. InfoGAIL은 Info-GAN과 유사하게, 잠재 공간(Latent Space)과 궤적 간의 상호 정보량을 근사적으로 최대화하는 요소를 GAIL에 확장 적용하여, [더 추상적이고 높은 레벨의 잠재 변수]를 통해 [낮은 레벨의 행동]을 제어하는 정책이 구성 가능하다. 또한 선행 지식을 통해 전문가 시연에서 추론할 수 없는 보상 요소를 추가하여 IL와 RL이 혼합된 형태의 보상 함수를 정의하였다. 복잡한 고차원 동적 환경에서 인간과 유사한 행동 생성이 가능하다. 

 

 

 

 

출처 : 한국전자통신연구원

 

 

 

 

 

 

 

 

 

 

-> 기존의 역강화 학습을 이용한 모방학습 방법론

(1) 정책 초기화

(2) 현재 정책과 전문가의 정책을 비교하여 그래디언트 계산

(3) 계산된 그래디언트를 이용하여 보상 함수 업데이트

(4) 현재 보상 함수로부터 최적의 정책 계산

(5) (2)부터 반복. 

 

(?) Diffusion에도 보상함수라는 개념이 존재하나?

(?) Diffusion의 보상함수는 RL, IRL과 다르게 구해지나? 구하는 방식이 쉽나?

(?) 다음이 가능할까? 

1. 환경 모델링 : 로봇팔의 작업 환경을 모델링하고, 이를 확률론적인 모델로 표현한다. DDPM을 사용하여 환경 모델링을 한다. 작업 공간에서의 불확실성을 고려하여 확률분포를 추정한다. ([로봇팔이 환경을 감지하는 센서]의 노이즈, 장애물의 위치나 모양의 변화-> 로봇팔의 경로 계획에 영향을 미침 -> DDPM으로 이러한 불확실성 고려 가능, 모델의 불완전성-> 실제 환경을 완벽하게 반영하지 못할 때 -> 확률적인 모델링으로 이를 커버 가능) -> 이런 불확실성을 고려하여 최적의 경로 선택. 

2. 보상 함수 추정 : IRL을 사용하여 보상함수를 추정, DDPM을 기반으로 추정. 

3. 강화학습 기반 경로 계획 : 추정된 보상 함수를 기반으로 강화학습을 수행하여 로봇팔의 최적 경로를 찾는다. 보상 함수를 최대화하는 로봇팔의 동작을 [강화학습 알고리즘을 사용하여] 학습한다. 

4. 경로 실행 및 조정 : 실제로 로봇팔을 최적 경로로 제어하고, 필요에 따라 경로를 조종한다. 

(?) DDPM은 환경 모델링에 사용되는 확률론적인 모델이다. 보상 함수의 추정과는 직접적으로 연관되어 있지 않다. 

(?) DDPM은 데이터의 분포를 모델링하고, 환경의 불확실성을 고려하는 용도로 사용된다. 

 

 

 

 

728x90
반응형

'LAB > RL, IRL' 카테고리의 다른 글

강화학습(3) 코드 실습 : Q-learning, DQN  (0) 2024.01.30
강화학습(2) DQN, Double DQN, Deuling DQN  (1) 2024.01.30
강화학습(1) 강화 학습 개념 정리  (1) 2024.01.29
GAIL  (0) 2023.07.18
DGAIL 코드 분석(DDPG.py)  (0) 2023.07.17