Author: Seunghyun Lee*, Jiwon Kim , Sung Woon Park , Sang-Man Jin, and Sung-Min Park
Paper Link: doi.org/10.1109/JBHI.2020.3002022 (Selected as a featured article)

 

 

제 1형 당뇨병은 인슐린 분비능이 결핍된 만성질환으로, 외부의 인슐린 주입이 필수적이다. 1920년대 동물의 인슐린을 피하로 주사하는 인슐린 치료법이 등장한 이 후, 줄곧 주사를 통한 주입이 이루어지다 1980년부터 휴대형 인슐린 펌프가 개발되어 주사의 고통이 줄어들기 시작했다. 또한 혈당 측정 역시 채혈기반에서 반침습형 센서로 진화하면서 2000년대 들어서는 바늘로부터의 고통이 많이 줄어들었다.

 

 

이 때부터 더 나은 인슐린 주입을 위한 알고리즘이 주목받기 시작했으며, 사람의 췌장 기능을 모사하는 '인공췌장 (Artificial Pancreas)'의 개념이 등장했다. 인공췌장 알고리즘은 기본적으로 자율주행과 매우 비슷하다. 자율주행이 사람의 개입 없이도 운전을 잘하는것이 목표라면 인공췌장은 마찬가지로 사람의 개입없이 혈당조절을 잘 하는것을 목표로 한다. 자율주행이 단계가 있듯이 인공췌장 역시 단계별로 6단계가 정의되어 있으며, 최종적으로 사람의 췌장과 같이 식사량의 수동 입력이 없으며 혈당 상승호르몬 (글루카곤) 과 강하호르몬 (인슐린) 의 상호 조절되는것을 완성단계 (level6)로 본다.

 

인공췌장의 6단계 (JDRF, Springer "Handbook of Insulin Therapies")

 

2020년 현재 상용화된 Medtronic사와 Tendom사의 인공췌장 시스템은 level 4 의 인슐린 단일 시스템으로 Hybrid closed loop 시스템이라 불린다. 인슐린은 공복시 분비되는 기저인슐린 (basal) 과 식사시 분비되는 식사인슐린 (bolus) 으로 목적에 따라 분류될 수 있는데, level4는 기저인슐린을 자동화하는 인공췌장 시스템을 말하며 식사량은 여전히 환자가 직접 입력을 해주어야한다. 이 점은 당뇨병 환자들에 있어 매우 불편한 점으로, 본인이 어느정도의 식사를 할지와 그 안에 탄수화물이 얼마나 있을지를 미리 예상하고 식사 전에 인슐린을 주입해야하여 식사 과정이 상당히 제한된다.

 

 

level4 이상의 인공췌장의 개발에는 근본적인 한계가 있다.

첫째로, 피하에 주입된 인슐린은 실제 췌장에서 분비되는 인슐린과 달리 약 30~60분 뒤에 약효의 peak를 보여준다. 이러한 큰 delay는 PID 제어 알고리즘과 같은 보편적인 제어만으로는 빠른 대응이 어렵게한다. 특히 식후 혈당은 약 1시간 후까지 상승하므로 이러한 인슐린의 delay를 예측못하고 현재의 혈당 상태에만 의존하여 인슐린을 계속 주입했다가는 인슐린이 혈액에 과다하게 쌓이는 'Insulin stacking (Irl B. Hirsch, NEJM, 2005)' 의 위험이 있을 수 있다. 과다한 인슐린은 저혈당을 유발하며 쇼크사의 위험이 커진다. 이에 최근에는 Model predictive contol (MPC)의 모델기반 예측 알고리즘이 효용성을 보여주었고 사실상 최초의 인공췌장이라 할 수 있는 level4 인공췌장의 상용화를 가능하게 하였다.

 

식전20분/식사직후/식후20분 인슐린 주입시점에 따른 식후 혈당의 양상. 20분 전에 미리 주입하는 경우의 혈당이 가장 안정적이다. (Erin Cobry et al., DTT, 2010)  

하지만, MPC의 model이 환자의 식사시간과 양을 예측하진 못한다. 그렇다고 식후 혈당상승을 disturbance로 보기에는 그 정도가 너무 크다. 때문에 vanilla MPC는 식사정보를 환자가 매번 직접 입력해야하는 level4 인공췌장의 한계를 가지며, MPC로 식사량 입력도 필요없는 level5를 구현하려면 추가적인 예측 알고리즘이 필요하다.

 

 

둘째로, 당뇨병의 배경인 혈당대사는 개인별 편차가 매우 심하다는 점이 문제다. 사람마다 같은 음식을 먹어도 혈당이 상승하는 속도와 정도가 다르며, 같은 인슐린을 넣어도 혈당을 낮추는 속도와 정도가 다르다. 더 큰 어려움은 동일한 사람 내에서도 인슐린의 약효과 시간에 따라, 스트레스에 따라, 운동에 따라, 컨디션에 따라 등등 여러 이유로 계속 바뀐다는 점이다. 때문에 고정된 알고리즘만으론 췌장과 같이 개인에 맞춰 혈당을 조절하는 기능을 갖는 진정한 인공췌장을 구현하기 어렵다. 

A&B: 아침, 점심, 저녁에 따라 바뀌는 개인의 인슐린 반응성 (Hinshow et al., Diabetes, 2013), C: 동일한 빵을 먹었을때 사람마다 다른 식후 혈당 곡선 (David Zeevi et al., Cell, 2015)

 

 

이 논문에서 우리는 이러한 본질적인 두가지 문제를 생체모사형 강화학습 설계 (Bio-Inspired Reinforcement Learning Desing; BIRLD) 방법으로 해결하였으며, BIRLD로 학습된 AI agent는 아무런 식사 정보 없이도 자동화된 인슐린 주입을 보여주는 동시에 저혈당의 발생빈도가 낮았다. 또한 환자의 인슐린 반응성을 바꿔가며 실험을 해도 모두 유사한 혈당 조절을 보여주어 강화학습 알고리즘이 학습을 통해 자동화 및 개인화된 치료가 가능한것을 확인할 수 있었다. 

 

 

개인적으로 재밌는 부분은, 저혈당이 오기 전에 AI가 알아서 인슐린 주입량을 낮추는 것을 배운다는 것이다.  이러한 판단의 근거를 분석하기위해 Explainable AI 기법인 Layer-wised Relevance Propagation (LRP) anlysis 를 적용한 결과, AI가 체내 인슐린 축적량을 가장 중요한 인자로 보고 인슐린 주입속도를 낮추는것을 확인할 수 있었다.

 

 

 

Comment:

  • 이번 연구는 미국 FDA의 동물실험 대체 승인을 받은 가상환자 시뮬레이션 benchmark에서 알고리즘의 검증을 수행한 것으로, 지금은 스마트폰에서 Pytorch Mobile을 사용하여 policy network를 inference하고 실제 동물에 대해 알고리즘이 얼마나 잘 동작하는지를 후속 연구로 진행 중이다.
  • IEEE JBHI 2021 2월호에 Featured article로 선정되었다.

Featured article image

 

당뇨병 관리, 이제는 인공지능으로 한다

강화학습에 약리학 개념을 추가해 완전 자동으로 인슐린이 주입...

news.imaeil.com

  • 당뇨병 환우회 환자분들의 기대가 크시다. 더 힘내야겠다.

Author: Sung Woon Park* Seunghyun Lee* Won Chul Cha, Kyu Yeon Hur, Jae Hyeon Kim, Moon-Kyu Lee, Sung-Min Park, and Sang-Man Jin
Paper Link: https://doi.org/10.4093/dmj.2018.0227

 

 

수술 전 환자 혹은 중환자실의 환자의 혈당 안정화는 환자의 이 후 생존율에 큰 영향을 미친다. 이 논문은 삼성서울 병원과 공동 진행한 연구로, 혈당안정화를 위한 insulin infusion protocol을 개선하는 연구이다.

 

기존은 수기식 Insulin infusion porotocol에서는 의료진의 24시간 정확하고 빠른 대응이 힘들 뿐더러, 인슐린의 적정량을 찾는데 많은 시간이 소요된다. 이에 삼성병원은 protocol을 전자건강기록(electronic health record; EHR)과 통합하여 Computerize 하고 그 임상 결과를 여기서 비교 분석하였으며, 결과 적으로 computerized insulin infusion(CII)이 환자의 혈당을 보다 빠르고 안정하게 정상화 시키고 저혈당 빈도가 낮추는것을 확인할 수 있었다.

 

더 나아가 이 연구에서는 기존의 protocol을 개선하기 위해 환자 치료 데이터로부터 가상 환자 (digital twin) 시뮬레이터를 만들었다. 늦은 혈당 안정화가 예상될 경우 조금 더 적극적으로 protocol을 수정하여 가상환자에서 시뮬레이션 한 결과 protocol 불응성환자에서 확실한 개선을 확인할 수 잇었으며 저혈당은 발생하지 않았다.

 

 

Comment: 

이 연구에선 protocol을 의료진과 함께 직관적, 경험적으로 수정하였다. 이 과정은 사람마다 판단이 많이 들어갈 뿐더러 임상적 경험이 많이 필요하다. 이에, 치료 protocol의 개선에 AI를 적용하여 personalize하고 automate하면 좋겠다는 생각이 많이 들었다. 이 후 부터 연구 방향을 digital twin modeling에서 강화학습을 사용한 AI based medical decision making으로 바꾸어 시작하였다.

Author : Sehoon Ha*, Peng Xu, Zhenyu Tan, Sergey Levine, and Jie Tan
Paper Link : https://arxiv.org/abs/2002.08550

Video Link: youtu.be/cwyiq6dCgOc

 

0. ABSTRACT

  • 사람의 최소한의 개입만으로 4족 보행로봇의 locomotion을 RL로 학습가능한 on-robot learning 시스템을 개발함
  • Real-world RL은 학습과정에서의 자동화된 데이터 수집과 안전성의 문제가 근본적으로 있음
  • 이를 극복하기 위해 1.multi-task learning/ 2. automatic reset controller/ 3. safety-contrained RL 의 세 가지 방법을 도입함
  • 제안된 방법을 4족보행 로봇에 적용한 결과, 서로 다른 지형에서 사람의 개입없이도 단 몇시간 만에 지형에 특화된locomotion을 학습 하는것이 검증됨

세가지 다른 지형에서의 on-robot learning system

 

 

1. INTRODUCTION

  • 기존의 hand-engineered controller와 달리 RL은 자동화된 학습을 scratch부터 가능하게 만들었으나, 아직 simulation 환경에서만 주로 검증 됨
  • 하지만 simulation으론 로봇이 실제로 마주할 환경을 충분히 구현하기 어렵다는 한계가 있으므로, 이 연구에서는 real world에서 자동적으로 학습이 되는 on-robot RL의 개발을 목적으로 함
  • Real-world RL은 stable, efficient, safe, automated 의 조건을 필요로함
  • 이 중 여기서는 특히 automation과 safety문제를 다루기 위해 robot의 반경을 재한하고, 위험하게 넘어지는 일을 줄이며, episode간 리셋을 자동화 하는 방법을 모색
  • 결과적으로 저자의 지난 논문에선 Soft Actor-Critic을 사용한 로봇 locomotion 학습과정에 있어 수 백번의 수동 리셋을 한 반면, 이번 시스템에서는 단 한번의 리셋을 하지 않음

 

 

2. RELATED WORK

  • 기존의 보행 로봇제어는 다층의 모듈설계로 구현됨 (ex. state estimation, foot-step planning, trajectory optimization, model predictive control)
  • 하지만 로봇 플랫폼 및 task가 복잡할땐 prior knowledge를 알기 어려움
  • 반면 RL기반의 보행 로봇 제어는 end-to-end training system으로 prior knowledge없이도 실제 경험을 통해 자동으로 locomotion을 학습 가능
  • RL을 사용한 로봇제어는 많이 연구되었지만 대부분 simulation 환경에서 이루어짐
  • Simulation에서 학습된 policy를 real-world 로봇으로 transfer하는데엔 두 환경 사이이 불일치(discrepancy)한다는 큰 한계가 있어, on-robot training system을 위한 많은 시도 (ex. system id, domain randomization, meta-learning) 가 현재 진행중이나 여전히 문제로 남아있음
  • RL을 보행로봇에 적용하는데는 다음 두 가지 challenge가 있음
    1. Episode가 끝날때마다 로봇의 적절한 initial state로의 reset
    2. 학습 프로세스에서 로봇의 안전성 보장
  • 특히 2번은 "Safety in RL"로 지칭되는 contrained Markov Decision Process (cMDP) 문제로서 주로 Lagrangian relaxation으로 접근하며, 이 외에도 다양한 방법들이 시도되고 있음 (ex. additional safety layer, safe boundary classifier, progressive safe region identification, alongside reset policy)

 

 

3. OVERVIEW

  • 이 연구의 목적은 real world에서의 locomation을 학습하기위해 사람의 개입을 최소화 하는 자동화된 시스템을 개발하는 것
  • 시스템의 구현에 있어 존재하는 3가지 challenge와 그 해결방법은 다음과 같음
  • 1. 로봇은 training area (workspace) 안에 있어야 함
    $\therefore$  보행 방향을 각각 하나의 task로보고 로봇이 workspace를 벗어나지 않도록 적절한 task를 선택해 학습하는, multi-task learning 활용
  • 2. 로봇의 넘어짐 학습시간을 더디게 하거나 기체를 파손시키므로 그 횟수가 최소화 되어야 함
    $\therefore$  SAC 수식에 로봇의 종축(roll)과 횡축(pitch)에 대한 safety constraint를 추가해 cMDP 문제를 품
  • 3. 넘어짐을 피할 수 없을경우, 자동화된 자세 복구가 되어야 함
    $\therefore$  직접 하드코딩한 stand-up controller를 추가함
  • 이를 요약한 전체 automated on-robot learning system은 다음과 같음

 

 

4. PRELIMINARY: REINFORCEMENT LEARNING

  • RL의 기본 내용이므로 생략

 

 

5. AUTOMATED LEARNING IN THE REAL WORLD

A. Multi-Task Learning

  • multi-task learning을 위해서 보행 방향을 전/후 2가지, 혹은 전/후/좌회전/우회전의 4가지를 task로 설정

  • Task scheduler를 두고, episode 시작 시 workplace의 중앙이 로봇의 방향구획 중 어디에 속하는지에 따라 scheduler가 task를 결정
  • Task vetor는 $\textbf{w}=[\omega_{1}, \omega_{2}, \omega_{3}]^T$으로 정의되며, 이 방향과 일치할 경우 가장 큰 reward를 받도록 task reward $r$을 다음과 같이 정의

  • $\ddot{a}$는 motor 가속도로서 action을 부드럽게 하는 역할 
  • 이러한 multi-task를 사용한 학습 자동화는 policy가 불완전한 초기 상황에서도 해당 task의 방향으로 조금이나마 움직인다는 가정 1 과, 한 task의 방향과 반대 방향의 task가 존재한다는 가정 2를 내포
  • 가정 1의 경우, 중앙으로부터 멀어지려는 task가 없기때문에 가능하며 실제로 약 10~20 roll-out 이후엔 1cm라도 움직이기 시작
  • 다만 task마다 별개의 다른 네트워크로 별도의 학습을 진행하며, shared achitecture에선 성능이 안나옴
  • 이는 task가 discrete하게 설정 된 점과, 각 task간의 경험이 서로의 학습에 이점이 없기 때문으로 추정
  • Task는 episode 처음에 정해지면 episode 동안은 고정되어 있으므로 roll-out이 길어질 경우 원치 않게 boundary를 벗어날 수 있으므로, 이 같은 상황에선 early termization 수행

 

 

B. RL with Safety Constraints

  • MDP문제를 cMDP문제로 만들기위해 기존의 RL objective에 safety constraints $f_{s}$를 추가하면 다음과 같음

  • 여기서는 로봇의 넘어짐을 제한하기 위해 본체의 pitch와 roll에 bound를 주고 이를 다음과 같이 constraint로 정의

  • $p_{t}$와 $r_{t}$는 각각 pitch와 roll의 각도이며, $hat{p}$와 $hat{r}$는 각각의 최대 bound로서, $\pi/12$ 와 $\pi/6$으로 설정함
  • Constrained optimization엔 여러 해법이 있는데, 여기서는 Lagrangian 방법을 사용하여 constrained prior problem을 unconstrained dual problem을 바꿔 gradient descent로 최적화 (Lagrangian은 간단히는 CS287, 자세히는 '모두를 위한 컨벡스 최적화'를 참고)
  • Lagrangian multiplier $\lambda$ 를 도입하여 위 constrained objective를 다시 쓰면 다음과 같음

  • 이 목적함수의 최적화를 위해 policy $\pi$와 Lagrangian multiplier $\lambda$를 번갈아 최적화 하는 dual grdient decent 방법을 사용함
  • 먼저 기본 reward에 대한 Q함수와 safety term에 대한 Q함수를 각각 $\theta$와 $\psi$로 parameterize한 $Q_{\theta}$와 $Q^s_{\psi}$를 학습
  • 여기서는 SAC를 알고리즘으로 사용하므로, SAC논문에서의 actor loss에 safety term을 추가한 다음 식을 actor loss로 설정 (SAC에 대한 내용은 블로그의 정리 포스팅 참고)

  • 그리고 Lagrangian multiplier $\lambda$에 대한 loss는 constrained objective에서 $\lambda$ term만 남아 다음과 같음

  • 위 두 loss에 대해 번갈아 gradient descent를 시행하여 constrained optimization 수행 

 

 

C. Additional System Designs for Autonomous Training

  • Multi-task와 constrained optimization의 방법은 학습과정을 자동화했으나 디테일한 부분에서의 몇가지 보완이 필요함
  • 특히 RL의 근간이 실패를 통해서 배우는 알고리즘이므로 넘어짐을 완전히 없애긴 어려워, manually-engineered된 stand-up controller를 개발해 추가함 
  • 외에도 로봇이 일어날 공간 및 줄꼬임 방지 등의 물리적인 부분을 위한 보조 도구들이 사용 

  • 또한 random exploration으로 인한 너무 급격한 변화로 인해 모터가 마모하는것을 완화하고자 first-order low-pass Butterworth filter를 사용하여 action을 post-processing   

 

 

6. EXPERIMENTS

  • 실험은 flat terrain에서 전후 2가지 task와, 전후회전의 4가지 task에 대해 각각 진행되었으며, challenging terrain에서 전후 2가지 task로 진행됨
  • 실험 결과, 사람의 개입이 전혀 없이도 모든 terrain에서 모든 task를 잘 학습함
  • 사람의 무개입과 효율적인 학습 알고리즘으로 wall clock기준 80분만에 task를 학습함
  • 특히 SAC의 저자의 연구인 지난 state-of-the-art on-robot locomotion learning 실험에선 수백번 직접 reset한 것과 비교하면 매우 현실적인 학습과정이라 볼 수 있음

Flat terrain에서의 전후 2가지 task 학습
Soft mattress와 doormat의 challenging terraing에서의 전후 2가지 task 학습
학습된 전후회전의 4가지 task를 game controller를 사용하여 실행

 

  • Episode 시작 위치와 움직이는 방향을 관측 해 본 결과, task scheduler에 의해 workspace를 벗어나지 않고 중앙으로 향하도록 적절히 학습이 진행된 것을 아래 plot에서 확인 할 수 있음

 

  • 의도한 자동화 시스템 설계 (1.multi-task, 2. safety-constrained SAC) 가 정말로 유의미한 효과가 있는지 확인하고자 ablation 학습을 추가적으로 진행했으며, parameter의 수정이 매우 많이 필요한 점을 고려해 현실적으로 real world가 아닌 Pybullet simulation으로 진행

  • Multi-task learning을 한 경우와 안한 경우, workspace를 벗어나는 빈도의 차이가 확연히 발생함을 위와 같이 확인함

  • Safety-constrained term을 사용한 경우 (위 파란색)엔 안한 경우 (위 주황색) 보다 약간의 성능의 향상됨을 확인했으며, 특히 넘어짐이 확연히 줄어드는것을 확인
  • 단 fine tuning으로 찾은 최적의 Lagrangian muliplier (위 보라색)보단 낮은 성능 및 잦은 넘어짐을 확인
  • 하지만 보통의 경우 성능과 constraint는 상호 반비례 관계를 가지는 경우가 많으며 (위 갈색), 이러한 fine tunning을 real world에서 반복적으로 수행하기란 너무 큰 cost로 인해 사실상 불가능함
  • 따라서 본 연구에서 제안된 시스템이 가장 현실적인 자동화된 on-robot training 방법임
  • 지금까지의 결과를 종합한 영상

 

 

7. CONCLUSION AND FUTURE WORK

  • 어쩔 수 없이 넘어진 경우 manually engineered stan-up controller를 사용하였는데, 이는 로봇의 구조가 간단하여 쉽게 설계 가능
  • 추후 더 복잡한 로봇에선 locomotion을 학습함과 동시에 recovery policy 또한 동시에 RL로 학습하는 시스템 필요
  • Task가 discrete하여 어쩔 수 없이 unshared network architecture를 사용함
  • task 자체를 연속적인 목표 선형속도 및 각속도로 parameterize 한다면 shared architecture도 가능할 것으로 예상됨

 

 

 

개인적인 의견

  • 사람의 개입이 없는 locomotion 학습이라는 점이 아주 재밌다. RL의 구현은 사실상 Agent보다 사람이 더 많이 움직이며 인내심이 학습되는 과정인데, 이 논문을 통해 한 발짝 더 실제 동물과 같은 학습을 향한 로망에 커지는듯 하다.
  • 하나의 shared architecture가 아닌, task 별로 서로 네트워크가 분리되어 완전히 독립적으로 학습되었다.
  • 논문에서도 언급됐다시피 task가 discrete하고 task 사이의 공유되는 학습이점이 없는게 shared architecture에서 multi-task learning이 잘 안된 이유인듯 하다.
  • 개인적으로는 이는 사용된 로봇(Ghost Minitaur)이 전후회전 움직임을 할때 actuator가 다 다르게 움직이는 구조라서 더욱 그런게 아닐까 싶다.
  • 다리를 움직임에 있어 low level에서는 공통적인 feature를 가지는 로봇이라면 어땠을까 궁금하다.
  • 물론 사람의 다리 구조도 앞뒤 걷는 task 둘 사이엔 공통으로 사용되는 근육이 많진 않아보인다.
  • 대신 좌우 방향으로 회전 하는건 어느정도 직진과 움직임에서 공통점이 있는것 같다.
  • 동물과 같은 다리구조의 로봇이라면 이러한 부분을 고려하여 task를 설계한다면 shared architecture의 성능이 잘 나오려나? DeepMind의 Virtual Rodent 논문 (정리 포스팅) 을 보면 서로다른 task를 수행함에 있어 공통된 locomotion feature가 사용되는걸 보면 그럴수도 있겠다 싶다.
  • Spot Buddy 프로젝트에서 실험해보면 좋을 부분이 생겼다.

 

Author : Nichole S. Tyler*, Clara M. Mosquera-Lopez, Leah M. Wilson, Robert H. Dodier, Deborah L. Branigan, Virginia B. Gabo, Florian H. Guillot, Wade W. Hilts, Joseph El Youssef, Jessica R. Castle & Peter G. Jacobs  
Paper Link : https://www.nature.com/articles/s42255-020-0212-y

 

Author : Josh Merel*, Diego Aldarondo* , Jesse Marshall*, Yuval Tassa, Greg Wayne, Bence Olveczky 
Paper Link : https://openreview.net/pdf?id=SyxrxR4KPS

 

0. ABSTRACT

  • 신경과학과 딥러닝은 감각과 인지시스템에 대한 실제 신경망과 인공신경망의 이해를 도우며 상호 생산적인 발전을 해옴
  • 이 연구에선, embodied control에 대한 운동신경의 활성을 연구하기위한 플랫폼으로서 인공신경망을 내제한 가상의 Rat을 개발함
  • 가상의 rat은 강화학습을 통해 여러 task를 학습
  • 학습된 인공신경망에 신경과학에서의 사용되는 신경행동학적 분석을 통해 목적과 행동에 따른 운동신경의 활성의 연관성을 설명함
  • 학습된 모델은 task 특화된 행동전략과 공통된 행동전략의 두가지 class로 구분되는것을 발견했으며, 이는 실제 신경의 sequential activity와 subpopulation에 해당한다고 볼 수 있음 
  • 이 가상 rat모델은 Deep RL과 motor neuroscience을 결합하는 연구를 위한 토대가 됨

 

1. INTRODUCTION

  • 포유류는  동일한 general neural network를 사용해서 넓고 다양한 task를 해결가능한 generalist
  • 동물이 생물학적 지능으로 푸는 문제를 연구자들이 인공 모델로 해결하고자 할때, 신경생물학적 회로의 기능에서 많은 영감을 받음 (ex. vision, audition, navigation, locomotion, reaching movement)
  • 하지만 지금까지 동물의 복잡한 embodied control을 모두 고려하여 물리적 환경에서의 문제를 풀려한 시도는 전무
  • Embodied control 모델을 개발하는것은 motor neuroscience의 이해와 AI연구 모두에 가치 있음
  • 이에, 이 연구에서는 체성 감각/운동 기능이 내제된 가상 rat을 개발하고 행동심리학 기반 인공지능인 RL을 적용하여 multi-task를 학습시킴
  • 이를통해 multi-task의 context에 따른 행동의 연속적 변화를 확인하고 이를 신경과학자들이 이해할 수 있는지의 관점에서 접근하고자 함

 

2. APROACH

 

2.1 VIRTUAL RODENT BODY

  • Virtual rat은 실제 rat을 토대로 만들어짐
  • 2마리의 rat을 해부하여 31개의 구획으로 나누어 그 질량을 측정하고, 7마리를 마취해 34가지 사지 부위의 길이를 측정하여 평균값을 도출
  • 최종적으로 만들어진 virtual rat은 다수의 기관 및 관절과 이를 움직이는 근육으로 구성되며, 38개의 degrees of freedom을 가짐
  • 머리에 RGB카메라(64x64 pixels)이 있어 1인칭 시야를 가지며, input으로서의 체성 감각으로는 다음과 같은 다양한 요소가 있음
    • Internal joint angles and angular velocities, the positions and velocities of the tendons that provide actuation, egocentric vectors from the root (pelvis) of the body to the positions of the head and paws, a vestibular-like upright orientation vector, touch or contact sensors in the paws, as well as egocentric acceleration, velocity, and 3D angular velocity of the root.
  • 모델은 MuJoCo를 사용해 구현됐으며, DeepMind Control Suit에서 확인 가능 (https://github.com/deepmind/dm_control)

2.2 VIRTUAL RODENT TASKS

  • Virtual rat이 학습할 4가지 multi-task는 다음과 같음
    (1) 앞으로 달리며 gap을 뛰어넘기 (Reward: target velocity)
    (2) 미로에서 파란구슬 모으기 (Reward: sparse target)
    (3) 언덕지형을 가로질러 구렁 탈출하기 (Reward: distance from center)
    (4) 정해진 시간 간격으로 노란공 두번 터치하기 (Reward: sparse targets)
  • 강화학습을 적용함에 따라, rat은 reward를 최대화 하는 방향으로 task 학습

 

2.3 TRAINING A MULTI-TASK POLICY

  • Multi-task를 수행하기위해 분산학습 RL알고리즘인 IMPALA setup (Espeholt et al., 2018)을 사용
  • Actor를 학습하기위한 RL알고리즘으론 MPO (Abdolmaleki et al., 2018)를 사용
  • Virtual rat agent의 neural netwrok 아키텍쳐는 다음과 같음

  • 시각정보와 체성감각을 압축해주는 encoder가 있고, 압축된 정보를 LSTM을 거쳐 value function과 policy를위한 hidden state 도출
  • Policy는 hidden state와 압축된 정보, 그리고 체성감각신호를 입력으로 받아 stochastic motor action 결정
  • 단, 구렁탈출 task는 multi-task에선 학습이 잘 되지 않아 따로 teacher agent를 학습 시킨후 Kickstarting (Schmitt et al., 2018)으로 다시 multi-task를 학습시는 knowledge transfer 접근을 사용
  • 학습 결과 4가지 task를 해결가능한 단일 neural network가 구해짐
  • 각 task에 대한 학습된 rat의 움직임 영상 (video 1, 2, 3, 4)

 

3. ANALYSIS (본격적인 Neuroscience 파트)

  • Virtual rat의 학습된 인공 신경망의 활성이 multi-task를 풀때 어떻게 나타나는지를 neuroscience에서 사용되는 방식으로 분석
  • 생물학적 신경망이 어떻게 단일 운동을 조절하고 선택지의 메커니즘은 근력 및 행동요소 측면이나 내제된 신경역학적인 측면으로 분석되어 왔으나, multi-task을 위한 일반화에 대한 분석은 없음
  • 이에, 가상 rat과 실제 rat의 운동에 내제된 매커니즘에 대한 통찰을 얻기위해, 가상의 쥐가 다른 행동을 할때 인공신경망의 각 레이어가 어떻게 인코딩되고 생성되는지를 실험함
  • task마다 25번씩 반복시행하며, 가상 rat의 운동/관절각도/힘/체성감삭/LSTM 단일cell 활성도/policy 레이어별 활성도를 측정

 

3.1 VIRTUAL RODENTS EXHIBIT BEHAVIORAL FLEXIBILITY

  • 전신 자세를 설명하기위해서 관절각 15개, 관절위치 15개의 총 30개 dimension의 top priciple component (eigenposture) 정의
  • 전신 움직임을 설명하기 위해서 각 eigenposture에 대해 Morlet wavelet transform 수행 후 총 30개 dimension의 top priciple component 정의
  • 움직임의 속도를 구분하고자 Wavelet frequency는 1. Intermediate (1~25 Hz), 2. Slow (0.3~5 Hz), 3. Fast (5~25 Hz)의 3가지 set을 사용
  • Behavioral embedding에서의 효과적인 구분을 위해 자세와 움직임의 component를 합쳐 총 60개의 feature에 대해 tSNE 분석 수행
  • 이 feature들에 대한 top 2 principle component에 대해 4개 task의 각 cluster가 어떻게 이루어 지나 확인한 결과 low level의 feature는 모든 task의 구분 없이 유사하게 나타났고 high level의 feature는 task에 따라 구분이 되는것을 확인
  • tSNE 분석결과, rat의 행동에 따라 tSNE map에서 서로 잘 구분되는것을 확인 

 

  • 이 분석 결과로부터 인공신경망이 서로 다른 task에 대해 선택적으로 공통된 움직임과 차별되는 움직임을 선택하는 행동의 유연성을 학습하는것을 확인함

 

 

3.2 NETWORKS PRIMARILY REFELCT BEHAVIORS, NOT FORCES

  • Rat의 행동에 따른 인공신경망의 활성 패턴을 분석함
  • 학습된 신경망 layer에 대한 Welch's Power Spectrum Estimation 결과 core network는 task context와 reward를 나타내는 1~10초의 timescale을 보여준 반면, policy network는 행동의 feature를 나타내는 1초 이하의 timescale을 보여줌
  • 각각의 layer가 행동의 어떤 feature를 representation으로 encoding하는지 정량화하기위해 Representational similarity analysis (RSA) 사용
  • RSA는 서로 다른 자극에 대한 neural population이 보여주는 representation을 비교하는 방법으로, Khaligh-Razavi & Kriegeskorte (2014) 에서는 CNN이 실제 시각신경과 거의 유사한 RSA 패턴을 보여주는것으로 인공신경망이 실제 신경과 기능적으로 비슷하게 동작하는것을 보여준 바 있음 (자세한 것은 RSA 저자 강의 참고)
  • RSA 분석 결과 policy는 layer에 걸처 빠른 주기의 움직임을 많이 encoding하는 반면, core는 움직임 정보는 다소 낮게 가지고 포함하면서도 그 중 느린 주기의 움직임을 상대적으로 높게 encoding하는 등, 서로 다르게 행동 정보를 representation하는것을 확인
  • 결과적으로 policy와 core 모두 force와 joint angle과 같은 low-level motor feature보다 행동 자체를 encoding함.

 

 

3.3 BEHAVIORAL REPRESENTATIONS ARE SHARED ACROSS TASKS

  • 학습된 neural network가 task에 따라 행동을 생성함에 있어 어떻게 neural representation을 사용하는지를 테스트
  • Core와 policy network의 활성을 2-dim multidimensional scaling (MDS) 으로 embedding한 결과 policy는 task에 걸쳐 latent activity가 겹치는 부분이 있는 반면 core는 task에 따라 완전히 분리된 latent activity를 보여줌
  • 이는 행동의 특정 representation은 task에 걸쳐 재사용되는것을 의미
  • 공통적으로 재사용되는 행동을 task에 대해 RSA한 결과 task사이에 사용하는 행동의 유사성이 서로 다르게 나타남
  • 또한 policy의 레이어 개수가 작을수록 computational capacity가 줄어들어 rat이 공통된 행동에 대한 의존성이 올라가는것을 확인

 

 

3.4 NEURAL POPULATION DYNAMICS ARE SYNCHRONIZED WITH BEHAVIOR

  • RSA가 task에 따른 core와 policy의 활성을 representation 측면에서 분석했다면, 이번엔 시간축에서 각 네트워크가 어떻게 활성화 되는지를 확인
  • Two-tap task에서 준비자세부터 두 번째 탭핑에 이르는 동안의 각 layer의 활성을 정규화한 결과 시간에 따른 연속된 뉴런의 활성화를 확인함 (video)

 

 

  • Task를 수행하는 동안 core network와 policy network 뉴런의 활성을 구조적으로 정량화 하기위해, PCA를 사용하여 차원을 축소한 뒤 각 bin에 해당하는 뉴런 활성의 gradient를 계산하여 vector field로 표현
  • Core와 policy 모두의 vector field에서 회전하는 특성이 관측됨에 따라, 회전 패턴을 추출하기위해 jPCA 적용
  • jPCA는 (Churchland et al., Nature, 2020) 에서 동물의 motor cortex가 reaching task를 할때 뉴런의 활성이 진동하는 특징을 발견하고, 이를 분석하고자 뉴런 활성에서의 latent rotational dynamics를 추출하도록 고안된 방법  
  • 분석 결과 core network와 policy network 모두 다른 행동에 따라 다른 주파수를 가진 뚜렷한 회전 특성을 나타냄
  • 앞서 분석한바와 같이 core가 policy보다 더 낮은 느린 주파수를 가지는것 또환 일관되게 확인됨 
  • 회전의 속도특성은 core에서는 reward와, policy에서는 행동 phase에 연관됨 (task 예시: gap, maze, escape, two-tap

 

3.5 NEURAL PERTURBATIONS CORROBORATE DISTINCT ROLES ACROSS LAYERS

  • 지금까지 분석을 바탕으로 도출된 core network와 policy network의 역할을 검증하고자 신경을 ablation 및 stimuatation 하는 실험을 수행
  • poilicy와 core의 뉴런중 평균 이하의 활성화를 나타내는것을 각각 비활성화
  • task의 수행 결과 policy를 비활성화 할 경우 목표를 향한 행동의 이상 (ex. 잘못된 점프) 을 보였고, core를 비활성화 할 경우 목표에 이상이 생긴듯한 행동 (ex. 목표를 놓침) 을 때때로 보임  
  • 반대로 task수행시 발생하는 신호로 policy를 자극할 경우 tapping을 위해 하는 회전을 불필요하게 한번 더 하는것을 보였으며, core를 자극할 경우 공을 찾는 듯한 행동을 산발적으로 보임

 

 

4. DISCUSSION

  • 신경을 reverse enigeering 하는 것은 많은 신경과학자 및 인공지능 연구자들의 목표
  • 본 연구와 같이 가상 신경망을 사용할 경우 기존 neurosceince에선 어려웠던 정확한 신경 활성화의 관찰이 가능해지며, 이론에 대한 시험이 보다 용이해짐
  • 연구를 통해 발견한 몇 특징은 기존의 실제 동물실험에서 관측된 것과 일치
  • 행동발생의 신경 매커니즘을 이해하기위한 가상 모델을 향한은 긍적적인 초기 단계이긴 하지만, 실제 rat에 비해 매우 단순한 운동 및 감각 신경의 구조를 가지는 한계를 지니며 인지에 기반한 행동이 아니라는 한계가 있음
  • 신경 아키텍처와 훈련 과정이 biologically-inspired design이라면 실제 신경망과의 비교가 더욱 용이할 것
  • 이는 현재로선 파악하기 어려운 행동 생성의 요소를 돕는 한편 더욱 현실적인 움직임을 같은 인공 신경 아키텍쳐의 개발을 가능하게 할 것임

 

개인적인 의견

  • 마지막 discussion처럼 인공신경망의 구조가 실제 신경망의 구조를 반영하지 않은게 아쉬움
  • Neuroscience의 분석방법을 사용하여 학습된 neural network를 해석 하고자 한다면, multi-task를 단순히 enginieering측면의 RNN의 blackbox타입이 아니라 실제 생물의 multi-task learning 접근을 좀더 반영하면 어땠을까.
  • 마지막 비활성화/자극 실험은 영상을 봐도 논문의 설명처럼 두 network의 역할이 구분 되는건지 잘 모르겠다.
  • 그래도 재밌는 부분이 많고 현재로선 미지의 영역인 많은 신경 아키텍쳐에 대한 연구에 도움을 줄 가능성이 보이는 논문

+ Recent posts