"경험 재생"이란 무엇이며 그 이점은 무엇입니까?


19

Google의 DeepMind Atari 논문을 읽었으며 "경험 재생"개념을 이해하려고합니다. 경험 재생은 다른 많은 강화 학습 논문 (특히 AlphaGo 논문)에서 나오므로 어떻게 작동하는지 이해하고 싶습니다. 다음은 일부 발췌문입니다.

먼저, 우리는 데이터를 무작위 화하는 경험 재생이라고 불리는 생물학적으로 영감을 얻은 메커니즘을 사용하여 관찰 순서의 상관 관계를 제거하고 데이터 분포의 변화를 부드럽게합니다.

그런 다음이 논문은 다음과 같이 자세히 설명됩니다.

다른 안정적인 방법은 신경 장착 Q-반복으로, 강화 학습 환경에서 신경망 훈련을 위해 존재하지만, 이러한 방법은 네트워크의 반복 훈련을 포함 드 노보 반복의 수백. 결과적으로이 방법은 알고리즘과 달리 대규모 신경망에서 성공적으로 사용하기에는 비효율적입니다. 우리는 근사치 함수 매개 변수화 되는도 1에 도시 된 깊은 콘볼 루션 신경망 사용. 반복에서 Q-네트워크 파라미터들 (즉, 가중치)이다 . 경험 재생을 수행하기 위해 각 시간 단계 t 에서 에이전트의 경험 를 저장합니다.(에스,;θ나는)θ나는나는이자형=(에스,,아르 자형,에스+1)데이터 세트에서 ={이자형1,,이자형} 입니다. 학습하는 동안 저장된 샘플 풀에서 무작위로 균일하게 그려진 경험 (s,a,r,s)U(D) 샘플 (또는 미니 배치)에 Q- 러닝 업데이트를 적용 합니다. 반복 i 에서의 Q- 러닝 업데이트 는 다음 손실 기능을 사용합니다.

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

평신도의 관점에서 경험 재생이란 무엇이며 그 이점은 무엇입니까?

답변:


25

인용 된 텍스트의 주요 부분은 다음과 같습니다.

경험 재생을 수행하기 위해 에이전트의 경험 이자형=(에스,,아르 자형,에스+1)

이는 시뮬레이션 또는 실제 경험 중에 발생하는 상태 / 액션 쌍에 대해 Q- 러닝을 실행하는 대신 [상태, 동작, 보상, next_state]에 대해 검색된 데이터를 일반적으로 큰 테이블에 저장합니다. 이것은 연관된 값을 저장하지 않습니다. 이것은 나중에 활동 값 계산에 제공 할 원시 데이터입니다.

학습 단계는 경험을 얻는 것과 논리적으로 분리되어 있으며이 표에서 임의의 샘플을 가져옵니다. 정책을 개선하면 최적의 행동에 더 가까운 행동을 탐색해야하는 행동이 달라지고 그 과정에서 배우고 싶어하기 때문에 행동과 학습이라는 두 가지 과정을 인터리브하려고합니다. 그러나 원하는대로 분할 할 수 있습니다 (예 : 한 단계 수행, 3 가지 임의의 이전 단계에서 학습 등). 경험 재생을 사용할 때 Q-Learning 대상은 온라인 버전과 동일한 대상을 사용하므로 새로운 공식이 없습니다. 주어진 손실 공식은 또한 경험 재생없이 DQN에 사용할 것입니다. 차이가 아니라 어떤 당신이 그것을로 공급 '이', A, R을의의.

DQN에서 DeepMind 팀은 또한 두 개의 네트워크를 유지 관리하고 어느 네트워크를 학습하고 어떤 네트워크를 현재 동작 값 추정값에 "부트 스트랩"으로 공급하는지 전환했습니다. 이것은 비선형 함수 근사기를 사용할 때 알고리즘의 안정성에 도움이되었습니다. 이것이 바가 에서 의미하는 바입니다 . 이는 가중치 의 대체 고정 버전을 나타냅니다 .θ나는 ¯

경험 재생의 장점 :

  • 여러 번 학습하여 이전 경험을보다 효율적으로 사용합니다. 실제 경험을 얻는 데 비용이 많이들 때이를 활용하는 것이 중요하며이를 최대한 활용할 수 있습니다. Q- 러닝 업데이트는 증분 식이며 빠르게 수렴되지 않으므로 동일한 데이터를 가진 여러 패스가 특히 유리합니다. 특히 동일한 상태, 액션 페어에서 즉각적인 결과 (보상, 다음 상태)의 차이가 적을 때 유용합니다.

  • 함수 근사기를 훈련 할 때 수렴 동작이 향상되었습니다. 데이터가 대부분의지도 학습 수렴 증명에서 가정 된 iid 데이터 와 더 유사하기 때문 입니다.

경험 재생의 단점 :

  • Q ( ) 와 같은 다단계 학습 알고리즘을 사용하는 것이 더 어렵습니다. 바이어스 (부트 스트랩으로 인해)와 분산 (장기 결과에서 지연 및 임의성으로 인해)으로 균형을 조정하여 더 나은 학습 곡선을 제공하도록 조정할 수 있습니다 ). 경험 재생이 포함 된 다단계 DQN DQN은 레인보우 : 심층 강화 학습의 개선 기능 결합 문서에서 살펴본 확장 중 하나입니다 .λ

DQN에 사용 된 접근 방식 은이 비디오 강의의 일부 (약 1:17:00이지만 그 전에 섹션을 볼 가치가 있음) 에서 David Silver 가 간략하게 설명합니다 . 시간이 있으면 강화 학습에 관한 대학원 수준의 코스 인 전체 시리즈를 시청하는 것이 좋습니다.


훈련하는 동안 우리는 한 주에 있고 엡실론 탐욕 정책에 따라 조치를 취하고 다른 주에 있다고 가정 해 봅시다. 그래서 당신은 보상과 다음 주를 얻습니다. 여기서 보상은 게임의 점수가 될 수 있고 상태는 화면의 픽셀 패턴이 될 수 있습니다. 그런 다음 함수 aproximator와 이미 얼어 붙은 함수 근사기를 사용하여 욕심 많은 정책에서 얻은 값 사이의 오류를 취합니다. 그러나 근사기를 최적화 할 때 경험을 재생하면 임의의 상태 동작 데이터 세트를 사용합니다. 내가 맞아?
Shamane Siriwardhana

1
@ShamaneSiriwardhana : 예 당신이 옳다고 생각합니다. 실제 궤적과 정확히 동일한 데이터이지만 가장 최근 단계에서만 학습하는 대신 큰 테이블에 저장하고 해당 테이블의 샘플 (일반적으로 여러 샘플, 선택할 수있는 이전 단계가 1000 개가 넘음) ). 더 자세한 설명이 필요하면 사이트에서 질문하십시오.
닐 슬레이터

그래, 나는 신문을 다시 갔다. 또한이 방법은 오프 정책 학습을 향상시킬 수 있다고한다. Q 학습에서 엡실론 욕심 정책에 따라 행동하지만 욕심 정책에 따라 값을 업데이트하기 때문입니다. 따라서 모든 시간 단계마다 우리의 신경망 매개 변수가 정확한 시간 단계 통계와 관련이 없지만 이전에 발생한 일이 데이터의 상관을 해제하는 데 도움이되는 미니 배치 통계로 업데이트됩니다.
Shamane Siriwardhana

@ Neil Slater, 나는 무지개 종이를 보았고 경험 재생과 다단계 방법을 결합하기위한 특별한 트릭을 사용하는 것에 대한 특별한 언급을 보지 못했습니다. 또한 다단계 방법이 원래 경험 재생과 결합하는 것이 불가능하다는 것을 들었습니다. 그러나 경험 재생에서 1 대신에 n 연속적인 경험을 무작위로 선택하는 것이 아니라 각 n 경험 사이에 상관 관계가없는 재생에서 무작위로 선택하지 않는 이유는 무엇입니까? 이 다단계 경험이 재생되지 않습니까?
StL

@NeilSlater 왜 "다단계 학습 알고리즘을 사용하는 것이 더 어렵습니까?" 무슨 소리 야?
Gulzar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.