[BME, NS, Journal] 에러(error)로부터 배우는 동작 제어, 뇌-기계 인터페이스에서 적용되는 강화학습 (Reinforcement Learning)

in #kr7 years ago (edited)

안녕하세요, @doctorbme 입니다. 오늘 소개드릴 논문은 Teaching brain-machine interfaces as an alternative paradigm to neuroprosthetics control 입니다. Scientific Reports 논문이고 Creative Commons Attribution 4.0 International License가 걸려 있기에 편하게 사용 가능합니다.

논문의 제목은 신경보철(neuroprosthetics)의 제어에 관해서 대안적인(alternative) 방법을 통해, 뇌-기계 인터페이스 (Brain Machine Interface)에서 동작 수행 (제어)를 수행한다는 의미를 담고 있습니다.

여기서 대안적이라는 의미는, 모든 뇌 활동(brain activity)를 기록하여 동작에 매칭시키는 대신, 동작이 수행될 때 성공 혹은 실패에 따라 발생되는 오류(에러) 관련 신호를 포착하여, 강화학습 - 특히 이 논문에서는 Q-Learning을 사용합니다 - 을 바탕으로 동작을 수행하여, 입력 받는 신호를 단순화하고 미리 저장된 동작의 조합에 따라서 목적을 달성하겠다는 의미입니다.

이러한 방법의 특징으로는,

  • 모든 뇌신호 및 활동을 기록하여 학습하는 방법과 다르게, 상대적으로 적은 정보를 바탕으로 동작을 수행시킬 수 있고
  • 실제 사용자의 학습의 경우에도, 상대적으로 적은 정보량을 요구하므로, (컨트롤러의) 학습이 빠르며
  • 논문에서 사용하고 있는 ErrP(error-related potential)의 경우에, 수행 과제에 독립적이므로 다양한 수행과제에 응용할 수 있다는 것입니다. ErrP는 의도한대로 작업이 수행되지 않을 경우에 크게 나타나는 뇌 신호입니다.


논문의 figure 1. 뇌-기계 인터페이스에서 사용되는 학습 과정

사람의 머리에서 EEGECoG 등으로 측정된 신호가 decoder를 거쳐 오류(에러)와 관계된 신호로 변환된 다음, 이 신호가 Controller를 거쳐 로봇팔을 제어합니다. 이 때 컨트롤러(Controller)는 강화학습을 통해 학습되는 중이거나 이미 학습된 상태입니다. 로봇팔이 신호에 맞추어 동작을 수행하는데, 목적 달성에 오류(에러)가 발생하는 경우와 그렇지 않은 경우에 해당하는 (시각적) 피드백이 사용자에게 주어지고, 사용자의 뇌는 사용자의 (기계가 수행하는 동작의 적합성에 대한) 인지(cognition)을 반영합니다.



논문의 figure 2.

이 그림의 위쪽은 이 연구에서 시행된 3가지의 실험을 나타냅니다. 이 중 첫번째 실험(Experiment 1)과 두번째 실험(Experiment 2)는 컴퓨터 화면상에서 진행되고, 세번째 실험(Experiment 3)은 실제 로봇팔이 제어되는 상황에서 진행됩니다.

  • 첫번째 실험: 화면상에서 파란색 커서를 빨간색 커서로 옮겨야 합니다.
  • 두번째 실험: 표시된 곳으로 로봇팔이 움직여야 합니다. (가상 화면 기준입니다.) 로봇팔은 상하좌우로 움직일 수 있습니다.
  • 세번째 실험: 두번째 실험과 동일하지만 실제 로봇팔을 대상으로 합니다.

이 그림의 왼쪽 아래 그림(b)는 ERP( event-related potential)을 나타냅니다. 즉, 어떠한 이벤트가 발생했을 때, EEG 상의 FCz 부분의 포텐셜(신호)를 측정한 그래프입니다. 300, 500ms 사이에 피크(peak)가 나타납니다.
오른쪽 아래 그림(c)는 학습이 진행될수록 로봇팔 혹은 커서가 헤매이지않고 최적화되어 잘 도달함을 나타냅니다.


연구 방법

1. 대상
12명의 자발적인 자원자를 대상으로 뇌의 16개의 부분에서 EEG 신호를 측정합니다.

2. 실험 과정
실험은 2개의 과정(학습 과정/온라인 수행 과정)으로 이루어집니다. 각 과정은 여러번의 작업 수행을 하며, 각 작업 수행마다 100번의 디바이스 움직임(action)으로 구성됩니다.

2.1. 학습 (training) 과정

이 과정은 오류(에러)와 관련된 신호(포텐셜)를 발견하기 위한 분류기(classifier)를 학습합니다. 다시 말하자면, 사용자의 의도에 맞는 움직임(action)과 사용자의 의도에 맞지 않는 움직임(action)을 각각 80% 와 20%로 구성하고, 실제 움직임이 수행되었을 경우, 사용자의 EEG 신호를 분석하여 ErrP(error-related potential)를 발견하겠다는 것입니다. 이렇게 발견된 EEG 신호는 error인 경우와 아닌 경우를 분류하는 분류기를 학습하는데에 쓰입니다.

2.2.온라인 수행(online operation) 과정

이 과정은 앞선 학습 과정을 바탕으로, 실제 작업을 수행하면서 EEG 신호를 보상(reward)으로 하여 강화학습을 수행시켜, 실제 작업에 대해 최적화하는 과정입니다. 다시 말하자면, 이 전단계에서의 목적은 EEG자체를 제대로 파악하는 것이었다면, 이 단계는 (앞선 단계에서) 파악/분류된 EEG 신호를 바탕으로 실제 작업 수행과 매칭시켜, 목적 달성 (커서를 목표에 옮기기, 로봇팔을 해당 위치로 이동시키기)에 맞는 전략(정책, policy)을 각 해당 위치(states)에 따라 찾겠다는 것입니다.

ErrP(error-related potential) 발견/분류

200~800 ms 사이의 신호를 측정하여 각 EEG 전극별로 모아, 총 312개의 feature를 구성하고, PCA와 cross-validation을 통한 r2 score를 통해 대략 36개 정도의 feature를 뽑습니다. 이를 LDA로 디코드 (decode) 합니다.

ErrP(error-related potential)을 이용한 강화학습
Q-learning을 통해 Q-value를 최대화할 수 있는 최적화된 전략(policy)를 구성합니다.

사실 이러한 강화학습을 할 때에는, discount factor 나 learning rate에 대한 조정이 필요합니다. 이를 잘 찾지 못하면 학습이 매우 느리거나 발산할 위험이 있습니다.


결과


논문의 figure 3.

윗 그림(a)는 ErrP를 분류에 대한 정확도를 나타냅니다. Error Accuracy는 수행 움직임 오류(error)이벤트가 발생하였을 때, ErrP를 제대로 Error 신호로 분류한 정확도이고, Correct Accuracy는 수행 움직임이 제대로 수행되었을 때, ErrP에 대해 이를 제대로 수행한 신호로 분류한 정확도입니다. 다시 말하자면, Error Accuracy는 Error 를 error로 잘 파악하느냐, Correct Accuracy는 Error가 아닌 것을 Error 가 아닌 것으로 잘 파악하느냐를 반영합니다.

아래 그림(b)은 하나의 수행에 따라 여러 움직임(action)이 있을 경우, 정확도가 잘 (빠르게) 학습되느냐에 관한 결과 입니다. 대체로 20정도의 움직임을 마탕으로 하더라도 상당히 괜찮은 결과 (70% 이상의 정확도)를 나타냅니다.


논문의 figure 4.

하나의 수행(run)에 대해서, 작업이 결국 목표 지점에 잘 도달하는지를 나타냅니다.

  • 각 그래프의 x축은 하나의 수행에 대한 총 100개의 움직임(action)을 나타냅니다.
  • 각 그래프의 y축은 사용자(피험자) 12명을 반영합니다.
  • Left, Right, Up, Down 등은 각 실험(experiment)에서, 커서 혹은 로봇팔이 도달해야할 목표를 나타냅니다.
  • 그래프의 tick(작은 점)들은 각 목표(타겟)이 도달되었을 때의 순간을 반영합니다.
  • 오른쪽 히스토그램은 각 피험자들(사용자들)에 따라 목표에 얼마나 도달했는지를 나타냅니다.
  • 이 그래프는, 작업 수행에서 각 목표에 도달함에 있어서 online operation이 진행됨에 따라 (강화학습이 진행됨에따라) 더 빠르게 목표에 도달할 수 있음을 나타냅니다.
    (10개의 actions들로 나뉜 그래프에서, 초창기에는 도달한 타겟의 갯수가 별로 없지만, 점점 action이 늘어날수록 각 목표 도달이 증가하는 것을 살펴볼 수 있습니다. 그림의 빨간선: 각 10개의 움직임(action) 당 도달하는 목표 갯수가 증가하였습니다.)

간단한 요약

이 논문은 뇌-기계 인터페이스(Brain Machine Interface)에서 강화학습(Reinforcement )을 적용하여, 비침습적인 EEG 신호를 분류하고 실제 작업의 움직임과 수행을 도모한다는 데에 의의가 있습니다. 특히 빠른 시간 내에 학습을 적용하여 다양한 작업에 적용할 수 있다는 점에서 의미가 있는 논문입니다.

특징

  • 사지가 불편한 환자들에게 응용할 수 있습니다. 특히 비침습적인 EEG의 신호를 이용한다는 점이 괜찮습니다.

  • 이미 프로그램된 로봇의 동작들을 조합하여 단순한 형태의 강화학습 기법을 적용하여 빠르게 학습할 수 있습니다. 모든 동작들에 대해 모든 뇌신호를 매칭하는 것이 아니기 때문입니다.

  • 정확도는 아무래도 침습적인 방법보다 떨어질 수 밖에 없습니다. 하지만 애초에 소량의 정보 (ErrP(error-related potential)만을 이용하는 것이기 때문에 단순한 작업 수행에서는 나쁘지 않은 결과를 나타냅니다.

  • 하지만 이미 설정된 작업(task)하에서 이미 정해진 동작을 수행하는 것과

  • 연구에서 사용된 동작(목표)이 단순하다는 것은

좀 더 발전의 여지를 남겨둘 수도 있겠습니다. 이미 로봇에 프로그래밍된 동작들에 벗어난 동작을 하기 어렵다는 점과, 복잡한 동작의 경우 학습이 어려울 수도 있다는 점은 개선이 필요할 수 있습니다.


이번 리뷰에서는 간단하게(?) 강화학습이 뇌-기계 인터페이스(Brain Machine Interface)에 적용될 수 있는지를 살펴보았습니다. 이러한 기술이 잘 다듬어지고 개발된다면 거동이 불편한 분들에게 도구 조작의 편의를 도모하여 도움을 줄뿐만 아니라 일반인들도 머리의 생각만으로도 사물을 제어할 수 있는 길이 열릴 것으로 기대합니다.


투명배경.png

전문가들이 직접 쓰는 최초의 STEEM 의학 매거진

https://mediteam.us

Sort:  

Cheer Up!

  • from Clean STEEM activity supporter

good steady .. and congratulations on your success .. do not forget to post me, hopefully survive in steemit

Thank you for your comments. I hope you survive in the Steemit.

ㅎㅎ더 다양한 motion이나 grasping에 대해서도 다뤘으면 더 좋았을 것 같네요.

맞습니다. 이 연구에서, 타겟을 정한 과업 수행이 사실 간단하게 설계되어 있어서 정말로 정확도가 괜찮은지, 달성도가 좋은지를 깊게 파악하기는 조금 어렵지 않을까 하는 아쉬움이 있습니다. 그리고 이미 저장된 (pre-defined) 모션이 어떻게 구성되어 있는지, grasping은 어떻게 연계시킬지도 살펴볼 수 있으면 참 좋겠네요.

우선 Brain–machine interfaces in neurorehabilitation of stroke 이 논문을 한번 봐야할 것 같습니다 :)

논문을 잘 정리해주셨네요. 배워갑니다. 감사해요..^^

다행입니다. 이번 논문은 사실 미리 알아야할 지식들이 많아서, 어디까지 적어야 하나 고민한 리뷰이기는 합니다. 지금 당장은 생경하게 느껴지는 부분도, 나중에 관심이 생겨 찾아보게 될 때에, 허름하지만 그래도 유용한 이정표를 만든다는 느낌으로 작성하고 있습니다. 댓글 감사합니다.

반갑습니다 :)

안녕하세요, 반갑습니다. 앞으로 잘 부탁드리겠습니다 :)

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63549.46
ETH 2562.53
USDT 1.00
SBD 2.66