kairproject / schedule

Project boards for weekly meeting
4 stars 1 forks source link

[30분] DDPG from Demonstration 관련논문 소개 #20

Closed Curt-Park closed 5 years ago

Curt-Park commented 5 years ago
  1. Leveraging Demonstrations for Deep Reinforcement Learning on Robotics Problems with Sparse Rewards << @seungjaeryanlee (2. Hindsight Experience Replay)
  2. Overcoming Exploration in Reinforcement Learning with Demonstrations << @Curt-Park
  3. Asymmetric Actor-Critic for Image-Based Robot Learning << @seungjaeryanlee (5. Addressing Function Approximation Error in Actor-Critic Methods)
  4. Sim-to-Real Reinforcement Learning for Deformable Object Manipulation << @Curt-Park
Curt-Park commented 5 years ago

@whikwon 휘님이 적당히 시간배분 해주세요. 전달 내용 분량은 거기에 맞추겠습니다. @seungjaeryanlee 승재님은 어떤거 하고 싶으세요? 이번주 저랑 같이 DDPGfD 담당입니다.

seungjaeryanlee commented 5 years ago

@Curt-Park TD3도 들어가있군요 ㅋㅋ 이번 주에 다 보는 건가요? 그러면 DDPGfD (1) 와 TD3(5) 는 둘 다 보고 나머지 네개는 반반 나눌까요?

Curt-Park commented 5 years ago

@seungjaeryanlee 저는 일단 오늘 중으로 6개 모두 봅니다. 사실 1~5는 6을 이해하기 위한 선수지식에 해당합니다.

1~6에서 일부와 더불어 코드 레벨에서 좀 더 조사해보시는건 어떠세요? 아니면 별개의 task를 하셔도 괜찮구요.

whikwon commented 5 years ago

ㅋㅋㅋㅋ TD3는 저에게 넘겨주세요 할 일이 없어집니다...HER는 철희님 껍니다! ㅋㅋㅋㅋㅋ

whikwon commented 5 years ago

DDPGfD에서 소개해주실 내용은 HER, PER, TD3를 제외한 부분입니다! 나머지는 개별 task로 나눠가졌습니다.

Curt-Park commented 5 years ago

@whikwon 지금 예정대로라면 저는 PER 빼고는 다 보고갈것 같네요. 그러면 6번 논문 소개를 목표로 하겠습니다. 6번 논문의 내용에 HER과 TD3가 선수지식으로 포함되니 저는 철희님과 휘님 다음 순서를 맡겠습니다.

whikwon commented 5 years ago

네. 다들 괜찮으시면 이번주는 각자 맡은 논문 소개하고 시간은 인당 15분에 맞춰서 정리해주시면 될 듯 합니다. @seungjaeryanlee 승재님 진우님이랑 task 잘 나눠주세요!

seungjaeryanlee commented 5 years ago

@Curt-Park 다 보고 오신다니... 그럼 제가 1번과 4번을 맡아볼게요. 하나당 7.5분이면 최대한 간략하게 해야겠군요 ㅎㅎ 근데 코드가 오픈되어있을지 모르겠네요 ㅠㅠ

whikwon commented 5 years ago

@seungjaeryanlee @Curt-Park @mch5048 @wonseokjung @OPAYA 저는 연구 주제 논의 시간에 논문에서 핵심 포인트만 집어주시고(지난주에 진우님이 해주신 것처럼.), 보고 오신 분이 계시면 모르는 내용에 대해서 끝나고 토의하는 분위기로 가면 좋겠습니다. 단방향으로의 세미나성 공유는 최대한 지양하려고 합니다. (Tool과 같이 연구 외적인 건 제외.)

Curt-Park commented 5 years ago

@seungjaeryanlee 제가 3, 6을 맡도록 하겠습니다. @whikwon 이 이슈는 두 명분이니 30분으로 잡겠습니다.

whikwon commented 5 years ago

@Curt-Park 넵.

Curt-Park commented 5 years ago

6개 논문에 대한 요약입니다.

Leveraging Demonstrations for Deep Reinforcement Learning on Robotics Problems with Sparse Rewards:

Summary: 강화학습을 이용하여 Sparse rewards setting의 real robots을 학습하기 위한 general, model-free 방법론을 제시한다. RL은 좋은 policy를 찾기까지 exploration을 필요로 하지만 이는 너무 긴 학습시간을 소요한다. 이에 대한 대안책으로 reward shaping이 사용되곤 하는데, 이 방식에는 사람의 입김이 많이 작용하기도 할 뿐더러 local convergence에 빠질 위험성을 안고있다. 또한 가끔은 sparse reward가 현상(tasks)을 나타내기에 더 자연스러운 경우도 있다. 이 연구의 주요 목표는 demonstration data를 사용하여 DDPG와 같은 off-policy replay-memory-based RL 방식을 sparse-reward tasks에 대해 더 잘 동작하도록 만드는 것이다. 그리고 나아가 reward-shaping을 대체하는 역할을 하도록 한다. DDPG from Demonstration (이하 DDPGfD)는 DDPG에 다음의 4가지 요소를 추가한다.

  1. Human demonstrator에게서 얻은 transition을 replay buffer에 삽입: 더 중요한 transition은 더 많이 선택(sampling)될 수 있도록 더 높은 priority를 준다 (Prioritized experience replay의 아이디어). 학습이 진행되며 policy에 대한 분포가 변화하므로 네트워크 업데이트시 importance sampling weights를 곱해주는 것에 유의한다.
  2. 1-step return과 n-step returns의 혼합: Sparse reward case에서 더욱 잘 동작하게끔 하기위해 n-step reuturn과 1-step return을 적절한 비율로 섞는다.
  3. Environment step 당 여러번의 학습: sampling efficiency를 위해 학습의 안정성(stability)이 떨어지지 않는 선에서 각 step에서 여러번의 학습을 진행한다.
  4. Final learning performance를 안정화시키기 위해 critic과 actor에 L2 regularization을 사용한다.

실험결과 DDPGfD는 항상 DDPG를 상회하며, sparse-reward로 설정되어 있음에도 불구하고 reward-shaping을 이용한 것에 상당히 근접하는 성능을 보인다.

Hindsight Experience Replay

Summary: 강화학습에서 주요한 쟁점으로 대두되는 sparse-reward 문제를 복잡한 reward shaping의 사용없이도 효과적으로 대응할 수 있는 방법을 제시한다. 이 연구에서는 도달할 수 있는 목표가 여러개 존재한다고 가정하고(multiple goals), input으로 현재 state 뿐만 아니라 goal state까지 사용하는 universal policy (Schaul et al., 2015a)의 접근을 기반으로 한다. 우선 state space와 action space가 다음과 같다고 가정해보자: S = {0, 1}^n, A = {0, 1, …, n-1}. 이때 goal state가 단 하나라고 한다면 state space의 차원이 높을수록(n이 아주 클때) reward가 아주 희소(sparse)해질 것이다. 즉, 무작위적인 탐험(exploration)에 의해서는 의미있는 trajectory를 얻기가 매우 힘들다는 것이다. 하지만 발상을 전환해보자. Trajectory의 terminal state인 s_T가 goal state에 해당하지 않더라도, 적어도 해당 trajectory를 통해 s_T에 도달할 수 있다는 정보는 취득한 것이 된다. 그렇다면 policy의 입력으로 들어가는 goal state를 s_T로 둔다면 sparse reward의 문제를 상당히 해소할 수 있게 될 것이다. Schaul et al.는 2015a의 논문에서 하나의 task를 학습하는 agent보다 다수의 task를 학습하는 agent가 훨씬 더 좋은 성능을 내는 것을 보인적이 있다. 즉, goal state에 도달하지 못한 각 trajectory들의 terminal state들을 또한 goal state로 가정하고 agent의 학습을 독려한다면 훨씬 더 효과적으로 학습을 이룰 수 있을 것이라는 것이 이 논문의 가정이다. ('원래 goal state는 달성하지 못했지만, s_T가 만약에 goal이었다면 이것도 나름 잘 한거라 볼 수 있겠네. 우쭈쭈') 자세한 알고리즘은 논문의 Algorithm1을 참고하도록 하자. 알고리즘에서 특히 눈여겨볼 점은 한 episode를 진행한 후 여기서 additional goal을 어떻게 sampling하냐는 것인데, 논문에서는 final, future, episode, random 4가지 전략을 제시한다.

Overcoming Exploration in Reinforcement Learning with Demonstrations:

Summary: Sparse reward setting에서는 탐험(exploration)을 좀 더 효과적으로 할 필요가 있는데, demonstration을 통해 reward shaping처럼 agent를 잘 가이드해보는 것이 연구의 목표라고 볼 수 있다. 본 연구는 복잡한 로봇 task들에 대해서 최대 100개의 human demonstration만으로 유의미한 성과를 보이는데 성공한다. 주요 아이디어는 다음과 같다.

Asymmetric Actor-Critic for Image-Based Robot Learning:

Summary: 본 연구는 sim-to-real에서의 큰 도전과제인 observability에 대한 방안을 제시한다. Simulator에서 robot 및 그 주변 환경에 대한 full state를 활용할 수 있는 반면, 실제 환경에서는 full state observability를 얻는 것이 종종 불가능한 경우가 있다. 저자들은 학습시 critic이 full state를 활용하게 하고, actor는 렌더링된 이미지(observation)를 이용하게 하는 Asymmetric Actor-Critic 방식으로 real world의 데이터를 이용한 학습의 일절 도움 없이 sim-to-real에서 좋은 성능을 보이는데 성공한다. 주요 아이디어는 다음과 같다.

Addressing Function Approximation Error in Actor-Critic Methods (TD3)

Summary: 저자들은 Q-Learning에서 제기되었던 overestimation bias 문제가 actor critic setting의 deterministic policy gradient methods에서 또한 발생할 가능성이 있음을 보이고(4.1절) 이에 대한 해결책으로 clipped double q-learning 방식을 소개한다 (4.2절, 이하 CDQ). CDQ의 아이디어는 double Q-learning에서 기원된다. Double Q-learning과 마찬가지로 critic update에서의 target을 2개의 critic과 2개의 actor를 통해 표현한다 (수식 (9)). -> y1 = r + gamma * Q{theta2}(s', pi{phi_1}(s')) -> y2 = r + gamma * Q{theta1}(s', pi{phi_2}(s')) 하지만 위 방법으로는 overestimation bias를 완전하게 방지할 수 없으므로, 여기에 이어 min함수를 이용한 좀 더 소극적인 update target을 제안한다 (수식 (10)). Overestimation보다 underestimation이 상대적으로 학습에 미치는 (나쁜) 영향이 덜하다는 논지이다. -> y1 = r + gamma * min{i=1,2} (Q_{thetai}(s', pi{phi1}(s'))) 즉, Q{theta1} > Q{theta2}일때는 DDPG에서의 critic update와 동일한 것이고, Q{theta1} < Q{theta_2}일때는 double Q-learning의 방식과 흡수한 형태가 된다. 더불어 위 축소된 CDQ의 형태에서는 단 하나의 policy만을 사용함으로써 계산 효율을 높인다. 논문에서는 추가적으로 Variance reduction을 위한 두 가지 방안을 제시한다.

Sim-to-Real Reinforcement Learning for Deformable Object Manipulation

Summary: Rigid object manipulation에 대한 연구가 활발하게 진행되는 것에 비해 deformable object manipulation에 대한 연구는 상대적으로 상당히 뒤쳐저 있다. Deformable object manipulation이 좋은 성능을 보인다면 가사보조 로봇, 산업용 로봇, 수술 로봇 등 현실에서 활용될 수 있는 사례가 굉장히 많을 것으로 예상되지만, deformable object manipulation은 large object configuration spaces에 대한 문제로써 해결하기에 상당히 까다로운 주제에 속한다. 본 연구에서는 DDPG에 최근 좋은 결과를 보여주었던 몇 가지 아이디어를 곁들인다. Deformable object manipulation tasks 각각에 대해 20번의 demonstration과 simulator 상에서의 학습 뒤, real 환경에서 별도의 학습 없이도 folding a small towel diagonally, folding a towel up to a specific point and draping a tower over a small hanger를 성공적으로 수행한다. DDPG에 곁들여지는 아이디어들은 다음과 같다 (논문의 3).

Curt-Park commented 5 years ago

Done.