Code Monkey home page Code Monkey logo

schedule's People

Contributors

seungjaeryanlee avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

leeloolee

schedule's Issues

[15분] TD3 관련 논문 소개

  1. Optimizer's Curse: Skepticm and Postdecision Surprise in Decision Analysis
  2. Issues in Using Function Approximation for Reinforcement Learning
  3. Addressing Function Approximation Error in Actor-Critic Methods

Overestimation, TD3에 대해서 소개합니다.

궁금해서 찾아본 overestimation bias

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]가 그럼 얼마나 커지는 지 증명합니다.

TD3

  1. Addressing Function Approximation Error in Actor-Critic Methods
    Double DQN에서 잘 되었던 내용이 actor-critic으로 넘어오면서 value estimates가 크게 변하지 않는 문제 때문에 overestimation bias 문제가 다시 발생합니다. 그래서 critic에도 같은 방식으로 적용해주니 bias가 줄어들었다고 합니다. 근데, 이 방식이 high variance를 유발하기 때문에 clipped Double Q-learning을 제시합니다.

[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 마다 값들이 다릅니다.

[15분] ROS 통신 구성

ROS 통신 구성에 대한 전반적인 내용을 소개해드리려고 합니다.

중요한 3가지 내용은 다음과 같습니다.

  1. Publisher 통신
  2. Custom Message 작성하기
  3. 좌표관련 tf, quaternion

되는데 까지 준비해보겠습니다.

[15분] ROS 관련 스터디

서연, 정훈, 수빈
각 5분씩 소요하여 스터디 현황 공유해주시면 될 것 같습니다.
스터디 진행상황, 질문사항 등

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

[30분] Docker 소개 (실습 위주)

Docker를 활용해서 간단하게 Dockerfile을 생성해서 다른 사람들이 만들어놓은 Dockerhub의 이미지를 pull 해오고 원하는 방식대로 환경을 셋업하는 방법까지 알려드립니다.

사전 준비: 각 OS에 맞게 Docker 설치 필요. OS 별로 개별 이슈가 있을 것이기 때문에 설치가 안 된 경우는 참가가 어렵습니다.

[60분] 실전! 협업연습: 계산기 만들기

  • 각 2인으로 구성된 4팀으로 분할
  • 덧셈, 뺄셈, 나눗셈, 곱셈 기능 및 테스트 코드 구현 (python + pytest)
  • 학습한 git workflow를 준수하며 사칙연산이 가능한 clean code를 작성해본다!

도키메키

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.