kairproject / schedule Goto Github PK
View Code? Open in Web Editor NEWProject boards for weekly meeting
Project boards for weekly meeting
Create card > Convert note to issue > Assign
반가워요
test
Overestimation, TD3에 대해서 소개합니다.
1. The Optimizer's Curse
true value(mu)를 알 수 없는 상황에서 estimated values(V_i^*)를 i에 대해서 alternative 하게 max 값으로
선택하여 true value를 estimation할 때 bias가 생기는 것을 보이는 논문입니다. 쉽게 보이는 예시는 1.1 Some Prototypical Examples 인데,
정규분포(mu=0, std=1) 3개로부터 sample을 뽑아 maximal value estimate가 true distribution의 mean보다 0.85 만큼 큰 것을 보입니다.
2. Issues in Using Function Approximation for Reinforcement Learning
Q-learning 시에 function approximator로 근사할 경우 overestimation bias가 생길 수 있음을 최초로 보이는 논문입니다.
look-up table을 사용하는 경우엔 분포가 아니기 때문에 위의 optimizer's curse가 생기지 않지만 function approximator로
근사할 경우에 알 수 없는 noise가 생길 수 밖에 없고, 이는 overestimation bias를 야기합니다.
논문에서는 noise를 zero-mean으로 가정했고 Q^{approx} = (s', \hat a) = Q^{target}(s', \hat a) + Y_{s'}^{\hat a}
이 경우에, 종종 E[Z_s] = E[max_a Q^{approx}(s', \hat a) - max_a Q^{target}(s', \hat a)] > 0 임을 보입니다.
그리고 E[Z_s]가 그럼 얼마나 커지는 지 증명합니다.
[Contribution]
(1) target network가 variance reduction에 필요하다는 것을 보인다.
(2) value와 policy의 결합을 다루기 위해서 delaying policy updates until the value estimate has converged
를 한다.
(3) 새로운 regularization 전략을 소개한다. (SARSA-style update bootstraps similar action estimates
to further reduce variance)
[clipped double q-learning]
4장에서 actor-critic에서도 overestimation bias가 생길 수 있음을 보입니다. (이해 불가)
이를 해결해주기 위해서 Clipped Double Q-learning을 적용합니다. Double Q-learning에서 사용한
target network를 actor에 대해서도 가져오는 방식인데, 생각해보면 pi_1을 update할 때 Q_1에 대해서
optimize하고 Q_1은 target update를 independent estimate인 Q_2를 사용하는데 실제로는 replay memory 를 공유하기 때문에 critic 간에 independent 할 수 없어(double Q-learning에서 estimators를 update하는 subset of samples가 independent할 때 unbiased 할 수 있다고 가정합니다.), Q_2(s, pi_1) > Q_1(s, pi_1)이 발생할 수도 있게 됩니다. 이렇게 되면 Q_1이 점차적으로 true value를 overestimate 하게 됩니다.
그래서, 간단하게 upper-bound를 target 값을 Q_1, Q_2의 min 값으로 clipping 해버립니다.
(의문: Q_1을 동일하게 사용하면 overestimation bias가 또 생기지 않나요?)
이렇게 update하게 되면 underestimation bias가 생길 수도 있지만, policy가 어차피 그 value에 관심이
없을테니 propagated 되지는 않을 것이라고 합니다.
실제로 구현할 때에는 actor는 pi_1에 대해서만 학습합니다. 그러기 때문에 Q_2에 대해서만 생각하면 됩니다.
일단, clipped target value Q_2에 의해서 y_1 = y_2가 성립합니다. Q_2가 Q_1보다 큰 경우, normal
update되고 Q_2가 Q_1보다 작은 경우 bias가 생긴 것으로 볼 수 있습니다. (이해 안 됨.)
function approximator error를 r.v.로 다루게 되면 low-variance variable estimate를 한다고 합니다.
[Accumulating Error]
TD update이기 때문에 매 update 당 약간의 error가 있을 수 있다고 합니다.
[target networks and delayed policy updates]
target network update와 function approximation error 사이의 관계를 살펴봅니다.
target network update는 안정적으로 학습할 수 있도록 도와줍니다. target network 없이는 residual error가 쌓여서 divergent.
Fig.3에서 보이고자 하는 건 value가 충분히 update 되어 error가 줄었을 때 policy를 update 해야 variance
를 줄일 수 있다는 것이고 실험으로 보입니다. 실제로 구현은 d번만큼 critic update한 뒤에 actor를 update 합니다. 그리고 target network 칭찬..
[target policy smoothing regularization]
deterministic policy의 한계는 critic estimate 할 때 overfit 될 수 있다는 점인데, 이는 target의 variance를 야기합니다.
이 때, regularization이 도움을 줄 수 있습니다.
단순한 방법으로 target action에 약간의 noise를 줄 수 있습니다. noise는 clip(N(0, sigma), -c, c)의 범위로
한정합니다.
[ablation study]
ablation study에서 Clipped Double Q-learning, Delayed Policy updates, Target Policy Smoothing 각각에
대해서 진행하는데 task 마다 값들이 다릅니다.
Conflict and Fix
논문 소개 및 코드
사전 로보틱스 스터디
https://subinlab.github.io/2018/12/28/ROS-stey-by-step.html
Ubuntu 16.04 ROS kinetic python2.7
혹시 ROS 설치 가능하신분은 설치해주세요
논문이 아직 이해가 잘 되질 않아 계속해서 읽겠습니다!!
ROS 실습 발표는
3d transformation에 대한 내용 간단히 소개하고, ROS에서 직접 실습한 내용을 소개합니다.
ROS 통신 구성에 대한 전반적인 내용을 소개해드리려고 합니다.
중요한 3가지 내용은 다음과 같습니다.
되는데 까지 준비해보겠습니다.
서연, 정훈, 수빈
각 5분씩 소요하여 스터디 현황 공유해주시면 될 것 같습니다.
스터디 진행상황, 질문사항 등
@whikwon Please assign proper amount of time for this task.
https://github.com/medipixel/reinforcement_learning_examples
앞서 진행한 ROS 실습과 Robotics, RL 에 대한 질문을 토대로
앞으로 manipulator로 연구를 진행할 때 어떤 방향으로 연구를 할지 논의합니다.
이번 시간에 최대한 논의를 한 후,
앞으로의 schedule과 task를 지정하도록 하는 것이 목표입니다.
Schedule과 task에 대한 내용을 첨부합니다.
https://www.evernote.com/l/Acc1wQgG8YdJGpQDgLzG4cDuh2HpsBVa2ns/
Docker를 활용해서 간단하게 Dockerfile을 생성해서 다른 사람들이 만들어놓은 Dockerhub의 이미지를 pull 해오고 원하는 방식대로 환경을 셋업하는 방법까지 알려드립니다.
사전 준비: 각 OS에 맞게 Docker 설치 필요. OS 별로 개별 이슈가 있을 것이기 때문에 설치가 안 된 경우는 참가가 어렵습니다.
ROS, Robitics, RL 의 각각에 관계에 대한 질문과, 제가 잘 모르는 부분들에 대한 질문입니다.
구글 드라이브의 질문지 링크를 첨부합니다.
https://www.evernote.com/l/Acc1wQgG8YdJGpQDgLzG4cDuh2HpsBVa2ns/
도키메키
naive DDPG 와 DDPG+HER 의 script 구조적 차이를 설명드리고
가능하면 실험적인 성능차이를 소개하드립니다.
** 진우님께서 말씀해주신 4가지 goal strategy를 웬만하면 다 구현해보는게 목표입니다.
Blist, Mlist, Glist, Slist 소개
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.