Reinforcement learning in artificial and biological systems

Reinforcement learning in artificial and biological systems 리뷰논문에 대한 글.

저자들은 biological inspired RL 개발쪽에 관심이 많은듯하다. 본인들이 개발한 RL 시스템은 spike-based deep, continuous local learning(DCLL)이다. 그래서 machine RL의 한계에 대해 지적하는데, 환경이 제한되어있고 정적이라는 점이 큰 한계라고 한다. Open AI Gym, game environment 등 모두 크지 않고, 정적이다. 하지만 biology의 learning enviroment는 아주 dynamic하다. 대신 ML RL에서는 문제는 어려운 경향이 있고(ex, chess, 바둑 등), biology의 RL 문제는 쉬운 경향이 있다(ex, armed bandit 등 간단한 선택 문제). 이는 실험의 용이함, 논문으로 만들어질 가능성에 의한 것이지 실제 biology의 RL 문제가 쉽다는 것은 아니다. Goal을 어떤 식으로 설정하느냐에 따라 문제가 복잡해 질 수 있고, 그러면 행동의 sequence, 선택의 다양성, 그로인한 경우의 수가 폭발적으로 증가하게 되기 때문에 biology 연구에는 간단한 행동패러다임만 다루는 것이다. 예를 들어 커피샵 선택 문제를 보자. 스타벅스나 투썸 또는 동네 커피점을 선택하고, 그 선택이 강화되어 행동이 학습되는 과정까지 선택에 영향을 주는 요소는 너무도 많다. 거리, 선택 할때의 시간, 자리의 한적한 정도, 하루 중의 시간 말고 계절별 선호의 차이, 커피숍에서 하려는 일과의 성격(친구를 만냐느냐? 아님 혼자 가느냐?), 음료의 종류 등등. 이런 요소들을 고려하기 시작하면 도무지 정상과학이라고 할 수 없는 영역으로 가게된다. 그럼에도 불구하고 이런 sequence를 고려하는 연구자가 있긴한데, human psychology, fMRI study를 하는 Timothy Behrens다. SfN 2017때 그가 한 plenary lecture를 들었었다. 또한 Behrens는 2009에 The computation of social behavior.라는 review 논문은 science에 실기도 했다.

Biology system에서 RL은 PFC와 striatum 사이의 connection에 value가 coding되고 있는 듯하다. 또한 time scale이 fast나 slow system으로 나눠질 수 있는데, 여기서 말하는 fast, slow개념은 Botvinick의 fast, slow와는 별개의 개념이다. Biology RL의 amygdala에 fast learning(fear response의 반응속도와 학습 속도를 생각해보라), striatum에 slow learning이 coding되고 있는 듯하다. 이런 학습에는 ML의 back-propagation이 학습기전으로 적용될리는 없고, 당연히 RPE 이론에 기반한 dopamine이 중요한 modulator로 작용할 것이라고 보고 있다.

RL에서 Model의 필요에 대해서 생각해보면, model-based learning의 경우 bayesian inference가 가능해진다. Model에서 예측하는 것과 실제 시도에서 나온 결과를 bayes rule로 update할 수 있기 때문이다. 그렇기 때문에 data-efficient하다. 하지만 model-free learning 의 장점도 있기 때문에 mixture expert 방식을 사용할 거라고 보고 있다.

이 팀은 hierarchical RL 개념도 제안하는데, biology 또는 human behavior를 고려하면 plausible한 제안이다. Goal를 subgoal로 나누고, subgoal에 대해서는 각각 training 시키는 것이다. Subgoal training system마다 reward는 서로 다르게 설정할 수 있는데, 최근 curiosity를 reward로 준 Artificial agent에 대해 논문이 나온바 있다. 실제 인간의 학습 훈련에서도 사용될 수 있는 개념이다. Subgoal로 나눈다는 것은 task를 subtask로 나눈다는 의미이고, 이렇게 쪼개야 학습, 일의 효율이 높아짐은 잘 알려져 있는 사실이다.

Distributional Reinforcement Learning in the Brain 리뷰논문(TINS 2020) 요약

 

Distributional Reinforcement Learning in the Brain

Biological and Artificial Intelligence

  • 위에서 말한 세 논문을 인용하면서 이것이 neuroscience과 AI사이의 훌륭한 상호작용이라 칭하고 있다.

Development of Distributional Reinforcement Learning in AI

  • RL, 그 중에서도 DQN을 소개하고, 여기서 distributional RL(이제 distRL로 줄인다.)이 개발되었음을 설명하고 있다.
  • distRL의 핵심 아이디어는 미래 보상, 상태 이전이 필연적으로 stochastic하다는 것을 전제로 기대 보상(가치)를 평균값으로 산출하지 않고, 아예 확률 분포로 추정하도록 학습한다는 것이다.

How Distributional RL works

  • distRL에서 중요한 점은 1) 어떻게 보상의 분포가 표상되는가? 2) 어떻게 그것을 학습하는가? 1
  • 먼저 개발된 categorical dist RL은 histogram을 학습한다. 하지만 그 다음에 개발된 quantile dist RL은 population coding 개념을 이용했고, 이것의 학습 알고리듬이 좀 더 biological plausible하다고 주장한다.

Learning from Prediction Errors

  • Rescorla-Wagner rule에 따라 가치가 갱신된다는 것을 생각해보자.

V \leftarrow V + \alpha \cdot \delta

  • 여기서 \alpha 는 learning rate parameter이고, \delta 는 prediction error다. 즉 \delta := R - V 이다. 이 RW rule은 잘 알려져 있다시피 dopamine firing(\delta)이 prediction error에 반응한다는 것으로도 유명하다. 또한 RL algorithm중 temporal difference learning으로 발전되었다.
  • 하지만 둘은 미묘하게 다른데, RW rule의 경우 \delta 가 실제 보상 R과 차이를 통해 계산된다. 하지만 TD learning에서는 다음 스텝에서 얻는 보상에 더해 \gamma V(s_{t+1}) (discounted value of next state)가 포함된다. 즉 TD learning은 \delta := r_{t} + \gamma V(s_{t+1}) - V(s_{t})이다. 이건 boostrapping으로 알려진 절차이고 그렇기 때문에 정확하지 않다. DQN으로 접목되기 힘들었던 이유가 parameter를 업데이트하면 V(s_{t+1}) 까지 변해버리기 때문이다.2 물론 그럼에도 불구하고 실질적으로 TD learning은 local optimum으로 잘 수렴하긴 한다.

Toward Distributional RL

  • 보상이나 가치를 평균이라는 하나의 값으로 뭉쳐버리면 실제 현실을 충분히 반영하지 못 한다. 실제 현실이 아주 낮은 확률을 가진 높은 보상과, 높은 확률을 가진 낮은 보상 등이 섞여 있다면 이것의 평균은 낮을 것이고 그러면 비록 확률은 낮지만 높은 보상의 기회를 놓치게 된다. 그래서 dist RL이 등장하는데, 확률 분포 자체를 학습하는 것은 까다로워 보이나, 연구자들은 이를 단순한 수식 변환으로 해결했다.

V \leftarrow V + \alpha \cdot \left\lbrace \begin{array}{l l} -1 &\text{if} \quad \delta \leq 0 \\  \ \ 1 &\text{if} \quad \delta > 0 \end{array} \right.

  • 그 결과 value는보상의 평균이 아니라, median으로 수렴하게 된다. 3
  • 여기서 quantile regression으로 갈 때는 \alpha 라는 learning rate를 추가한다. 그러면 무조건 50% 순위로 수렴하던 아까와는 달리, \alpha 값의 비율에 따라 quantile rank로 수렴하게 된다.

V \leftarrow V + \left\lbrace \begin{array}{l l} \alpha^{-}_{i} \cdot (-1) &\text{if} \quad \delta \leq 0 \\ \alpha^{+}_{i} \cdot (+1) &\text{if} \quad \delta > 0 \end{array} \right.

  • 여기서 \alpha^{+}_{i} + \alpha^{-}_{i} = 1이면 \alpha^{+}_{i}의 수치가 곧 수렴하게 되는 순위이고, 그렇지 않으면 두 값에 \alpha^{+}_{i}가 차지하는 비율이 수렴하게 되는 순위가 된다. 이걸 논문에서는 \tau_{i}\text{-th} quantile을 이라고 표현하고 있다.
    • 따라서 \alpha 값이 서로 다른 value predictor를 동시에 학습 시키면 서로 다른 \tau_{i} 순위의 predictor가 학습되고 이걸 마치 population code와 같다고 한다.
  • 이제 위의 quantile rule에서 +1,\, -1 값 대신 prediction error, 즉 \delta 값을 대입하면 median을 비롯한 순위에 따른 quantile이 아니라, 보장에 대한 기대값(가치)에 수렴하므로, 이걸 expectile이라고 한다. 만약 \alpha^{+} 값의 비중이 0.5라면 mean 값에 수렴할 것이다. 4

Distributional RL as the Process of Minimizing Estimation Errors

  • 이제 위 알고리듬을 보편적인 선형회귀 문제로 살펴보자. N번 시도했을 때 보상을 얻고, 그 때 기대하고 있던 가치(V)와의 mean squared error(MSE)는 다음 과 같다.

MSE(V) = \frac{1}{N} \sum^{N}_{n=1} (r_{n} - V)^{2}

  • MSE 가 V에 의존적인 함수로 변환된다. V를 변화시켜 MSE를 최소화 시키는 것이 머신러닝의 기본이다. 제일 좋은 방법은 보상 값 전체를 저장했다가 한 번에 계산하는 것이지만, 실용적인 방법은 아니다. 실용적인 방법은 잘 알려져있는 Stochastic gradient descent(SGD)다. 이걸 수학적으론 MSE를 미분하고 그 값에 따라 V를 업데이트하는 것인데, 이건 결국 RW rule과 동일해진다.
  • 그리고 SGD에 입력하는 error function을 MSE로 할 것인지, absolute error로 할 것인지, 아니면 quantile \tau 값으로 할 것인지, 여기 error 값을 곱해 expectile로 할 것이지에 따라 위에서 다뤘던 learning과 일치하게 된다.

parametrized problem

  • 이 section제목은 원래 논문에 없지만, 임의로 넣음.
  • V 값이 function approximator를 통해 구해질 경우 우리는 function approximator에 있는 coefficients 또는 parameter를 갱신해야 한다. 이는 다음과 같이 표현 할 수 있다.

\theta \leftarrow \theta + \alpha \sum^{M}_{i=1} \bigtriangledown_{\theta}q_{i}(\theta) \cdot \left\lbrace \begin{array}{l l} -(1-\tau) &\text{if} \quad \delta_{i,n} \leq 0 \\ \quad \; \tau &\text{if} \quad \delta_{i,n} > 0 \end{array} \right.

  • 위 수식에서 expectile로 변경하려면 q_{i}e_{i} 값으로 변경하고 prediction error term \delta_{i,n} 도 추가하면 된다. 다시 정리하면 위에서 직접 update했던 value들 대신 parameter \theta에 gradient form를 추가해 \theta를 update하는 방법이다. DNN이 들어간다면 복잡해지긴 하겠지만, 기본 아이디어는 같다.

Traditional and Distributional RL in the Brain

  • VTA의 dopaminergic neuron의 다양성에 대해 강조하고 있다. 다른 영역의 뉴런에 비해 꽤 homogeneous하긴 하지만, 최근 연구 결과에서 Kim et al, 2019은 VTA의 dopaminergic neuron이 꽤 diverse하다는 것을 보고 했다. 그리고 이것이 RPE 신호의 체계적인 variation의 근거라고 주장한다. Distributional RL은 이 다양성에 대한 설명을 제공할 수 있다.

Empirically Testing Distributional RL

  • 비대칭적 스케일 factor인 \tau = \frac{\alpha^{+}}{\alpha^{+} + \alpha^{-}}가 distRL의 핵심 아이디어다. 그럼 \alpha는 무엇인가? 아마 dopaminergic neuron이 RPE에 대해 상대적으로 firing rate를 증가시키는지 감소시키는지에 의해 결정될 것이다.
  • dopaminergic neuron에서도 optimistic, pessimistic predictor가 따로 있다고 가정하는 것이다. optimistic dopamine neuron이라면 high value predictor이고, 따라서 큰 reward가 주어져야 RPE가 matching될 것이다. \tau가 높은 값으로 매겨져 있다면, RPE에 반응하는 reversal point가 높은 쪽으로 치우쳐져 있다는 의미다.
  • 이 가설을 시험하기 위해 Dabney et al. 2020에서는 optogenetical 방법을 사용했다. 그 결과 어떤 뉴런은 주어지는 보상의 평균 보다 아래에서도 firing했고, 어떤 뉴런은 보상의 평균보다 높아야 firing했다.
  • 이런 가설을 바탕으로 dopaminergic neuron firing rate를 decoding했더니 각기 다른 reversal point of expectile을 가진 것으로 추정되었다. 이전에는 이런 결과를 단순히 noise로 해석할 수밖에 없었다.
  • DistRL 가설, 이론은 몇몇 실험적 예측을 제시한다. 예를 들어 도파민 뉴런은 다른 보상 분포에서 비교적 일정한 비대칭적 \tau를 보여야 한다. 낙관적 세포는 음의 RPE에서 느리게 학습되어야 한다. 또한 downstream target에서도 quantile-like 분포가 관찰되어야 한다. 조작적 조건화 실험에서도 DistRL에 준하는 행동이 관찰되어야 한다. 낙관적 도파민 신경세포에 의해 risk-taking behavior가 유도되어야 한다.

Is Distributional RL Biologically Plausible?

Diversity in Asymmetric Scaling and Independent Loops

  • Positive, negative RPE 신호가 분리되어 처리된다는 증거가 있다. Lateral habenula에 lesion을 줄 경우 negative RPE에 둔감해지고, 결과적으로 optimistic하게 된다.
  • Optimistic, pessimistic dopamine neuron이 topographically organized 되어 있다.

Learning Rate Parameters in Striatum and Cortex

  • Positive, negative RPE signal이 striatum에서 D1, D2 type dopamine receptor를 발현하고 있는 target neuron에 따라 다르게 처리된다.

How Does the Brian Benefit from Distributional Representations?

  • DistRL의 concept은 multilayer neural net에 적합하다. 단순히 reward나 value의 평균 scalar을 전달하는 것보다 distribution을 backpropagation하기 때문에 hidden layer에 rich information이 표상된다.
    • 이런 distribution coding이 보상이나 확률에 대해서 뿐만 아니라, delay interval이나 “distributions in the common currency of value”를 표상할 수 있는지는 더 연구가 필요하다.
  • Quantile code는 nonparametric code이다. population coding에 대해서는 probabilistic population code(PPC)나 distributed distributional code가 있고, 이것들은 parametric code가 된다. 예를 들어 PPC는 Gaussian distribution을 따른다. 하지만 dopamine neuron의 RPE도 이럴지는 모른다.
    • PCC가 Bayesian inference를 지지하고, Quantile code는 cumulative prospect theory의 단순 버전을 지지할 수 있다.

Distributional TD Updates in the Brain

  • 전통적 RL에서는 RPE(\delta)가 single, local 추정치로 계산될 수 있다.
  • 하지만 distRL에서는 당연히 reward distribution을 알 수 있을만큼의 sample이 필요하다.
    • 그래서 single unit이 아니라 neuronal population 개념으로 접근해야 한다.

  1. 최근 내가 관심을 하고 있는 free-energy principle이나 Bayesian brain theory와 관련해서 확률분포를 어떻게 신경세포 또는 neural unit이 학습하는가? 는 중요한 이슈이다.
  2. 그래서 deep mind에서 DQN을 처음 이용할 때 replay buffer를 이용해 마치 stochastic images를 DQN이 학습하는 것처럼 만들었다.
  3. Rank에서 50%로 향하게 되므로.
  4. Expectile에 대한 부연 설명. quantile은 상위 몇%에 있는 해당 single value를 반환한다. 하지만 expectile은 해당 %를 기준으로 두 집단으로 나눈 다음 해당 집단의 평균 값을 구하고, 두 값의 평균을 구하는 작업이다. 그래서 cumulative density function을 적용할 수 없는 것이다. 만약 상위 1% quantile이라면 해당 수치가 이미 발생 확률을 내포하고 있다.(1/100이므로) 하지만 1% expectile은 하위 99%의 평균값에 의해 수치가 조정되어 버리므로 발생 확률과 상관이 없다.

How to write a great research paper by Simon PJ

Microsoft research Simon PJ의 강연 요약

  1. 먼저 쓰기 시작해라.
    1. 쓰다보면 아이디어가 발전한다. 연구를 진행하고 나서의 결과물이 논문이 아니다.
    2. 논문을 쓰는 과정 자체가 연구다. 쓰다보면 부족한 부분, 개선해야할 점이 보이고, 그러면서 연구를 진행하자.
  2. 키 아이디어를 잡자.
    1. 논문을 쓰는 목적은 아이디어를 전달하는 것이다. 아이디어는 프로그램 같은 것보다 생명력이 길다. 모짜르트의 악보를 생각해봐라. 실현한 연주는 오래가지 않지만, 악보에 담긴 악상은 지금도 유효하다. 그리고 그것을 써서 퍼트리지 않으면 무의미하다.
    2. 좋은 아이디어가 떠오르길 기다리지 마라. 다른 논문의 좋은 아이디어에 압도되어 기죽지 마라. 쓰다보면 발전한다. 그리고 쓰는 과정이 일종의 생각과 생각을 주고 받는 대화와 비슷하다.
    3. 그리고 아이디어는 하나의 clear, sharp ping이어야 한다. 논문을 읽고나서 남는 하나의 키 아이디어가 있어야 하고, 그것 하나를 하나의 논문을 통해 전달해야 한다.
  3. 이야기로 전달해라.
    1. 화이트 보드 앞에서 설명한다고 생각해봐라. 그 순서로 논문을 쓰자.
  4. 너의 공헌을 앞부분에 두어라.
    1. 문제를 먼저 기술하고, 이것에 대해 어떤 공헌을 했는지 서론의 초반에 가능하면 써라. 논문의 첫 페이지에 초록과 같이 보이도록 하면 좋다.
    2. 문제는 가능하면 구체적이고, 논문 안에서 해결되는 작은 덩어리면 좋다. 크고 모호한 문제(에베레스트)를 기술하는 것은 의미 없다. 어떤 버그에 대해 얘기하고 싶다면, 버그의 역사에 대해 얘기할 필요 없을 것이다.
    3. 너의 공헌이 무엇인지 분명하고 구체적으로 밝혀라.
    4. 서론에서 문제-공헌의 조합을 썼다면 나머지 부분에서 그것을 뒷받침하는 구체적인 증거를 제시하는 것이다.
    5. 증거들이 어디서 어떤식으로 쓰여져 있는지 스토리텔링으로 서론의 마지막을 쓰자. 플롯과 단순 시간순 서사의 차이를 생각해보라. 단순히 순서대로 쓰면 아무도 안 본다.
  5. 관련 논문은 나중에 쓰자.
    1. 내 아이디어에 대한 얘기가 독자들이 궁금해 할 내용이다. 관련 논문- 특히 문제를 해결하려고 시도한 역사를 언급하는 것은 지나치게 돌아 가는 길이 된다.
    2. 그리고 관련 논문을 길게 쓰는 것은 독자를 지치게 하고, 독자 스스로를 멍청하게 느끼게 한다.
    3. 또한 관련 논문을 까내리는 것은 피하자. 영감을 준 논문에 대해서는 관대하게 그러했던 점을 언급해라. 존경과 사랑은 나눌수록 커진다. 그렇게 쓴다고 해서 너의 공헌이 작아지는 것이 아니다.
    4. 너의 아이디어의 약점에 대해서도 밝히는 것이 좋다. disarming하는 것이 좋다.
  6. 독자를 먼저 생각하면서 써라.
    1. 독자가 이해하기 쉽도록 문제를 풀어서 쓰고, 가능하면 예제를 제시하자.
    2. 절대 니가 문제를 해결한 삽질한 과정으로 논문을 쓰지 마라. 상대방이 이해할 수 있는 방식으로 써야 한다.
  7. 독자의 말을 들어라.
    1. 전문가 독자도 좋지만, 비전문가 독자의 도움을 받는 것도 좋다.
    2. 모든 독자는 단 한번만 너의 글을 처음으로 읽을 수 있다. 이 기회를 놓치지 마라.
    3. 단순히 오탈자, 문법적 오류에 대한 피드백을 받는 것은 지양하자. 그런 피드백 보다는 어떤 부분에서 읽기가 막히는 지, 이해가 어려운지, 말이 안되는 것 같은 부분은 없는지를 받아야 한다. 그런 것을 원한다고 분명히 밝혀야 한다.
    4. 리뷰어에 대해서 고마운 입장을 가지자. 그 사람들은 너의 글에 대해 깊이 읽어주는 몇 안되는 사람이다. 그렇게 시간을 내는 것은 쉽지 않다. 아주아주 고마워하는 것이 좋다. 물론 쉽지는 않다.
    5. 리뷰어의 비평에 고마워하며 받아들이고, 리뷰어가 이해 못한 것 같다면 리뷰어를 멍청이 취급하는 것보다 다음과 같이 생각하는 것이 좋다. “이 멍청이도 이해할 수 있도록 논문을 다시 써야지”