VVNN
뉴럴 디코딩 본문
# 뉴럴 디코딩의 원리와 최신 연구 동향 소개 - 김광수, 안정열, 차성광, 구교인, 구용숙, 2017
개념만 정리. 통계적인 부분 생략....ㅎ 수학적인 것도 아주 대충,,
1. 서론
신경세포는 체외 자극을 스파이크 형태의 전기 신호로 변환해 정보를 주고받음.
활동전위(Action Potential)는 정보를 전달한다. 자극의 강도가 커질수록 스파이크 발생 빈도가 증가하며, 정적인 자극이 지속되면 스파이크 발생 빈도가 감소하는 현상을 관찰.
<신경 세포 response에 대한 연구의 발전 방향>
1) 단일 파라미터의 자극에서 다수 파라미터의 자극에 대한 실험
-> 신경 세포 반응은 소수 몇 개의 파라미터에 의해 크게 좌우되고, 이러한 주요 파라미터들의 특정 값에서 그 반응이 최대가 된다.
2) 정적 자극에 대한 반응 연구에서 동적인 자극에 대한 반응 연구
-> 실제 환경에서의 자극은 연속 시간 공간에서 연속적인 값을 갖는 매우 복잡한 신호
3) 단일 신경 세포에서의 스파이크 분석에서 다수의 신경 세포 모임에서 나오는 스파이크들을 종합적으로 분석
-> 이를 군집 코딩(population coding)이라고 한다.
4) 고정된 시간 안에서 발생한 스파이크의 발생 빈도를 바탕으로 한 빈도 코딩(rate coding)과 함께 스파이크 발생 시각을 고려한 시간 코딩(temporal coding)으로의 발전
자극과 반응의 관점에서 신경 신호의 분석은 2가지 접근법이 존재
1) 자극으로부터 반응을 예측하는 뉴럴 인코딩(neural encoding)
2) 반응으로부터 자극을 추정하는 뉴럴 디코딩(neural decoding)
자극에 대한 신경 세포의 반응은 자극의 시간적인 특성뿐만 아니라, 신경 세포 내의 자체 특성까지 포함된 매우 복잡한 스파이크의 연속으로 이루어져 있다. 또한, 동일한 자극을 주더라도 신경 세포의 반응은 각 시행마다 다를 수 있다. 따라서 자극과 반응 사이의 결정론적인 하나의 함수 관계식을 얻어내는 것은 거의 불가능하게 되고, 이에 따라 자극과 반응 사이의 확률적 모델을 찾는 연구가 활발히 진행되고 있다.
2. 빈도 디코딩(rate decoding)
신경세포는 자극 정보를 스파이크 개수로 표현한다. 자극의 세기가 강해질수록 신경세포는 더 많은 스파이크를 발화한다. 이는 역으로 스파이크 개수의 정보를 이용해 자극의 정보를 추적할 수 있음을 말해준다.
이렇게 자극에 대한 스파이크 개수를 이용하여 자극을 복원하는 방법을 빈도 디코딩이라고 부른다. 여기서 빈도(rate)는 스파이크의 발화 빈도(firing rate)를 의미한다.
발화 빈도를 이용하여 디코딩을 수행하는 한 예가 두 종류의 자극을 구별하는 실험이다. 원숭이에게 점들의 움직임을 보고 둘 중 하나의 방향을 판단하도록 원숭이를 훈련시킨 다음, 점들의 움직임 변화에 따른 원숭이의 선택("플러스"또는"마이너스")과 MT영역 한 개의 특정한 신경 반응을 기록하여 분석하였다. 2초 동안 얻어낸 발화 빈도를 히스토그램으로 작성하고 이를 근거로 발화 빈도에 대한 적당한 한계치(threshold)를 선택한 다음, 이제 각 시행마다 얻어낸 발화 빈도가 이 한계치보다 높으면 "플러스", 낮으면 "마이너스"라고 자극을 디코딩하였다. 상식적으로 한계치를 어떻게 잘 선택하느냐에 따라 이 빈도 디코딩의 성능은 크게 좌우된다. 물론 이 한계치 변수를 제거하기 위한 방법 중 하나로 각기 다른 두 번의 자극을 주고 상대적인 발화 빈도를 비교하여 자극을 추정할 수도 있으나, 서로 다른 자극을 연속적으로 두 번 주어야 한다는 한계가 있다.
※ MT 영역(Middle Temporal cortex) / MST 영역 - 배측(Ventral) 시각경로에 있는 움직임 처리에 관한 영역
배쪽 경로로 전달된 정보들은 대상이 무엇인지를 알아차리는 데에, 등쪽 경로로 전달된 정보는 대상이 어떤 양상으로 움직이는지 파악하는 데 주로 사용되기 때문에 배쪽 경로를 ‘무엇’ 경로, 등쪽 경로를 ‘어디’ 경로라고도 부른다. MT 영역은 이 '어디' 경로에 해당
이와 같이 빈도 디코딩은 초창기 신경 세포의 특성을 바탕으로 하는 디코딩의 좋은 출발점은 되었으나, 단순하고 정적인 자극인 경우만 가능하다는 한계를 가지고 있다.
3. 시간 디코딩(temporal decoding)
스파이크 발생 빈도 또는 스파이크 사이의 구간 분포와 같은 특성들은 단일 스파이크 집합의 특성이 아닌 스파이크 간의 관계(spike ensemble)의 특성이므로, 실제 상황에서 '단일' 스파이크 집합으로부터 스파이크 발생 빈도의 통계적인 정보를 측정하는 것은 불가능하다.
또한, 예를 들면 공이 날아드는 순간과 같이, 신경 세포들은 외부의 자극에 빠르게 반응해야만 하는 상황에 자주 노출된다. 일정 정도의 시간동안 스파이크의 개수를 센 후에 이 정보를 바탕으로 자극을 결정하는 빈도 디코딩과 같은 방법은 급박한 상황에서 빠르게 반응하기에는 적절하지 않은 면이 많다. 따라서 실제 생명체가 어떻게 소수의 스파이크만으로 자극에 대한 정보를 추정하는 지에 대한 문제가 자연스럽게 떠오르게 된다.
이러한 물음에 대한 해답으로 스파이크 발생 빈도가 아닌 소수의 개별 스파이크들의 발생 시각을 이용한 디코딩 방법을 제안했다.
이러한 물음에 대한 해답으로 de Ruyter van Steveninck와 Bialek은 스파이크 발생 빈도가 아닌 소수의 개별 스파이크들의 발생 시각을 이용한 디코딩 방법을 제안하였다. 이 실험에서는 검정파리의 시각 시스템 내 H1 신경 세포를 대상으로 하여 흑백 패턴을 500 μs 마다 랜덤하게 수평방향으로 움직이는 자극을 준다. 53분간 자극을 주고 이 때 발생하는 스파이크 반응을 기록하여 오프라인에서 분석하였다. 이들 분석의 가장 큰 특징은 어떤 패턴을 가진 반응이 관측되었을 때, 관측 시점으로부터 이전 100 ms까지의 자극을 반응-조건부 앙상블(response-conditional ensemble, RCE)로 저장하고 RCE의 통계를 이용하여 자극을 추정한 것이다.
발생된 신호를 바탕으로 분석하는 것이기 때문에 관찰 시각을 기준으로 과거의 시간을 분석하게 된다.
~~(수학적 이야기)~~해서 자극 벡터의 1차 적률(first moment), 2차 적률(second moment), 3차 적률(third moment), 4차 적률(fourth moment)을 구하고 이 값들을 정규화시켜 다음과 같은 평균, 공분산, 왜도(skewness), 첨도(excess kurtosis) 값들을 계산한다. 통계값 저장 단계에서 구한 평균 벡터와 공분산 행렬은 특정 카테고리에 대한 자극의 조건부 확률 분포를 가우시안 분포로 근사화하는데에 이용된다.
위의 단계에서 구한 값을 이용하여 반응 패턴에 따른 자극값을 가우시안 분포로 추정할 수 있게 된다. 이때 함께 계산한 왜도와 첨도값은 이 추정이 얼마나 타당한지 체크하는 데에 사용된다. 즉, 두 값이 모두 0에 가까울수록 가우시안 분포의 치우침이 적고 분포의 뾰족함이 커서 가우시안 근사가 타당하다고 할 수 있다.
이제 스파이크들이 관찰되었을 때, 이러한 스파이크를 발생시킬 가느성이 가장 높은 자극을 추정하고자 한다. 즉, 가우시안 분포를 가정하고 자극을 구하고자 한다. 이 때 개별 스파이크들은 서로 독립적이어서 스파이크들을 포아송 프로세스(Poisson process)로 가정하고, 베이스 정리를 연달아 적용하면 식으로 정리할 수 있다.
스파이크가 관찰되는 시점에서 이전 100ms까지의 스파이크 시간과 패턴에 대한 정리로부터 얻어진 통계만으로 자극을 추정할 수 있다.
위의 방법에서는 관찰시간을 기준으로 두 개의 스파이크에 대한 시간 간격으로 반응을 분류하였다. 복잡도가 늘어나지만 세 개 혹은 그 이상의 스파이크에 대한 시간간격으로 반응을 분류할 수도 있다. 분류의 기준이 되는 스파이크의 개수가 늘어날수록 추정된 자극은 실제 반응과 일치할 확률이 높아지지만, 추정을 위해 관찰해야만 하는 시간이 늘어날 수 밖에 없게 된다.
세 개의 스파이크를 이용하여 추정한 경우가 다른 두 경우(한 개의 스파이크를 이용한 경우, 두 개의 스파이크를 이용해 추정한 경우)에 비하여 확연히, 실제 신호(옅은 선)에 가깝게 추정(진한 선)하는 것을 보여 주고 있다.
4. 군집 디코딩(population decoding)
정보를 표현하기 위해 많은 수의 신경 세포들을 사용하는 것은 신경계의 기본적인 동작 원리다. 따라서 단일 신경 세포에 대한 디코딩에서 군집 신경 세포에 대한 디코딩으로의 확장은 매우 자연스러운 발전 과정이라 할 수 있다.
군집 디코딩은 단일 신경 세포 디코딩에 비해 신경 세포의 가변성에 따른 불확실성을 감소시킬 수 있고, 서로 다른 자극의 특성을 동시에 표현할 수 있다는 장점을 갖는다. 군집 디코딩의 대표적인 방법은 군집 벡터(population vector) 방법과 Maximum likelihood(ML) 및 Maximum a posteriori(MAP)과 같은 최적 추정 방법이 있다.
군집 벡터 방법은 자극에 대해 각기 다른 반응 특성을 가진 신경 세포들의 반응을 선형합(linear combination) 형태로 표현하는 방법이다. 대표적인 실험 중 하나는 귀뚜라미의 cercal system에 대한 실험인데 여기에서 네 개의 신경 세포가 바람의 방향에 따라 90o만큼씩 평행이동된 형태의 동조 곡선(tuning curve)을 갖는다는 결과를 이용하여 바람의 방향을 표현할 수 있다. 귀뚜라미의 cercal system 실험과 유사하게 운동 뉴런에 대한 실험을 원숭이의 M1 영역에서 수행하였다. 원숭이의 M1 영역의 운동 신경 세포들의 평균 발화 빈도를 N개의 운동 신경 세포로 이루어진 군집 신경 세포에서 운동 방향은 다음과 같이 선형합의 형태로 표현할 수 있다.
위의 귀뚜라미와 원숭이 실험에서 실제 값과 디코딩된 신경 세포의 신호 사이의 평균제곱오차가 6o내외로 꽤 쓸만한 결과를 도출한다. 하지만, 일반적으로 이러한 방법은 추정의 평균값과 실제값 사이의 오차가 0이 아닌 편의(biased) 추정 방법에 속한다. 또한 추정의 표준 편차가 크래머-라오(Cramer-Rao) 한계를 훨씬 상회함을 알 수 있다. 여기서 크래머-라오 한계란 추정 표준 편차의 하한에 해당하는 값으로써 이 값이 더 작을수록 더 좋은 추정을 한 것으로 보는 기준이다.
두번째 군집 디코딩 방법은 최적 추정 방식이다. 먼저 Maximum Likelihood 추정은 완전한 인코딩 확률 모델 p[r|s]에서 출발하여 p[r|s]을 최대로 하는 s값을 추정하는 방법이다. 즉, sML(r) = argmaxs p[r|s]을 구하는 방법이다.
먼저 N개의 신경 세포로 이루어진 군집 신경 세포에서 각 신경 세포에서 발생하는 스파이크의 수가 포아송(Poisson) 분포를 따른다. 각 뉴런들 사이에서 이 분포가 독립이다. 그러면, 최대가 되는 sML 값을 방정식으로부터 구할 수 있다. 여기에 동조 곡선이 다음과 같은 형태의 가우시안 곡선으로 근사시킬 수 있다고 추가적으로 가정을 더 하면, 자극의 추정값을 해석적으로 구할 수 있다.
또 하나의 최적 추정 방법인 Maximum a posteriori(MAP) 방법은 베이스 정리로부터 p[s|r] = p[r|s]p[s]/p[r]로 나타낼 수 있는 사후 확률을 최대로 하는 s값을 추정하는 방법이다. 따라서 베이지안 추정 방법이라고 하기도 한다. 즉, sMAP(r) = argmaxs p[s|r]을 구하는 방법이다. 위 ML 경우와 동일한 가정을 하면, 최대가 되는 sMAP 값을 다음 방정식으로부터 구할 수 있다.
ML 및 MAP 추정 방법은 군집 벡터 방법과 다르게 불편(unbiased) 추정 방법이다. 또한 군집 벡터 방법보다 일반적으로 더 우수한 성능을 나타낸다[8]. 그러나 ML 또는 MAP 방식은 p[r|s]을 추정하기 위해 동조 곡선에 대한 식 전체가 필요한 반면에, 군집 벡터 방법은 동조 곡선의 피크값에 해당하는 방향 정보만 필요하다는 특징이 있다. 즉, 동조 곡선 식을 유도하는 것이 피크값에 해당하는 정보만 얻어내는 것보다 훨씬 더 많은 데이터가 필요하다. 따라서, 적은 수의 데이터로 동조 곡선을 추정하는 것이 전혀 불가능한 것은 아니라고 하더라도, 동조 곡선의 추정이 정확하지 못한 경우에는 반드시 ML 또는 MAP과 같은 최적 추정 방법이 군집 벡터 방법보다 더 좋은 성능을 보인다는 보장을 하기 어렵다.
ML 또는 MAP 추정 방법의 성능은 추정의 편향(bias) 값과 분산을 계산하여 비교할 수 있다. 추정의 편향이 작고 분산도 작은 추정이 가장 좋은 추정 방법이라고 할 수 있는데 ML과 MAP 방법은 모두 불편 추정 방법이므로 성능의 비교를 위해 분산의 크기만 비교하면 된다. 이 때 추정기의 분산에 대한 하한값을 유도할 수 있는데, 이를 크래머-라오 한계라고 한다. 이 하한값, 은 다음과 같은 부등식에 의해 피셔(Fisher) 정보라고 하는 IF(s)와 관련되어 있다. 이 피셔 정보가 클수록 더 작은 분산값을 가지고 더 정확하게 s값을 추정할 것이다. 신경 세포의 수가 무한대로 증가할수록 ML 추정의 분산값이 이 크래머-라오 한계값으로 수렴한다는 사실이 알려져 있다.
5. 정보 이론과 뉴럴 디코딩
.....? 몰겟ㄷㅏ.
6. 기계학습 알고리즘을 이용한 디코딩
연구자들은 원숭이의 운동 피질(motor cortex)과 체성감각 피질(somatosensory cortex) 스파이크 정보 그리고 쥐의 해마(hippocampus) 스파이크 정보에 대하여 열 가지 기계 학습 알고리즘으로 디코딩하여 각각의 성능을 비교하였다.
여기서 열 가지 기계 학습 알고리즘은 다음과 같다. 칼만 필터(Kalman Filter), 위너 필터(Wiener Filter), 직렬 위너(Wiener Cascade), 서포트 벡터 회귀분석(support vector regression), 익스트림 그래디언트 부스팅(extreme gradient boosting, XGBoost), 인공 신경망(feedforward neural network), 순환 신경망(recurrent neural network, RNN), 게이트 재귀 유닛(gated recurrent unit), 장단기 기억 네트워크(long short-term memory (LSTM) network), 그리고 마지막으로 칼만 필터를 제외한 다른 방법들을 혼합한 앙상블 기법(ensemble) 등이다. 칼만 필터, 위너 필터, 직렬 위너 등은 전통적인 기계 학습 알고리즘으로 분류될 수 있으며, 나머지는 현대적인 기계 학습 알고리즘으로 분류될 수 있다.
알고리즘 성능 비교에 사용된 세 개의 뇌 영역 자료 모두에서 현대적인 기계 학습 알고리즘이 전통적인 기계 학습 알고리즘 보다 압도적인 성능을 보여 주었다. 특히, 신경망과 앙상블 기법은 최고의 성능을 보여 준 반면, 위너 필터와 칼만 필터는 최저의 성능을 나타내었다. 학습을 위한 자료의 양에 따른 알고리즘 성능을 비교해보기 위하여, 자료의 양을 줄여가면서 알고리즘 성능을 평가하였다. 21분의 운동 피질과 체성감각 피질 자료에서 2분의 운동 피질과 체성감각 피질의 자료로 줄이더라도, 인공신경망과 LSTM 알고리즘이 위너 필터와 칼만 필터에 대하여 압도적인 성능을 보여 주었다. 해마 자료의 경우 93분의 자료를 15분의 자료로 줄일 때까지 같은 현상이 나타났다. 자료의 양을 더 줄여서, 1분의 운동 피질과 체성감각 피질의 자료, 7.5분의 해마 자료일 경우에는 칼만 필터는 현대적인 기계 학습 알고리즘과 비슷한 성능을 보여줬지만, 위너 필터의 경우 여전히 비교하기 힘들 정도의 낮은 성능을 보여 주었다.
최근 널리 퍼진 인공 지능에 대한 주요한 인식 중 하나는 많은 양의 학습용 자료가 필요하다는 것이다. 그러나 위의 성능 비교에서는 비교적 적은 양의 자료(운동 피질과 체성 감각 피질의 경우 2분의 자료, 해마의 경우 15분의 자료)로 학습하여도 현대적 기계 학습 알고리즘이 좋은 성능을 보여주고 있다. 이는 각 알고리즘에 사용된 네트워크의 개수 차이에 따른 것으로 예상된다. 디코딩 성능 비교를 위한 알고리즘들은 십만 개 정도의 네트워크를 사용한 반면, 영상 인식을 위한 최신 인공 지능들은 일억 개 정도의 네트워크를 사용하는 것으로 알려져 있다. 이러한 네트워크의 개수 차이가 학습을 위해 필요한 최소 자료의 양에 영향을 미쳤을 것으로 생각된다.
본 비교를 위해 사용한 자료는 스파이크 발생 시점에 관한 자료이다. 신경세포 전위 기록 장비에 의해 기록된 원 자료에 대하여 연구자가 다양한 필터를 사용하여 스파이크 발생 시점만 추출한 자료로 잡음이 매우 작다고 할 수 있다. fMRI와 같이 신경 세포 전위 기록 장비에 비하여 잡음이 상대적으로 많은 장비를 이용하여 측정한 자료의 경우에는 잡음 제거에 좋은 성능을 보여주는 전통적인 기계 학습 알고리즘이 더 좋은 성능을 보여줄 것으로 기대된다.
위의 성능 비교 실험에서는 각 알고리즘들의 연산 시간에 대해서는 평가하지 않았다. 뇌-컴퓨터 인터페이스(Brain Computer Interface, BCI)와 같은 실시간 응용 영역에서는 알고리즘들의 디코딩 연산 시간도 중요한 지표로 사용될 것으로 예상된다.
7. 결론
본 논문에서는 신경세포에 자극이 인가되었을 때 신경세포의 스파이크 반응으로부터 자극을 추정하는 뉴럴 디코딩에 대한 방법론을 다루었다. 빈도 디코딩 방법은 자극의 세기가 강할수록 신경세포의 스파이크 발화 빈도가 커지므로 스파이크 개수 정보로부터 자극 정보를 복원하는 방법으로 가장 먼저 소개된 디코딩 방법이다. 시간 디코딩 방법은 자극 후 스파이크가 발화하는 시간 정보를 이용하는 방법이다. 실제 우리의 감각기관에 들어오는 자극 신호가 빠르게 변화하는 자극일 경우 일정 시간 동안 스파이크 개수를 센 후 그 정보를 바탕으로 반응을 결정하는 빈도 디코딩 방식으로는 제대로 반응하기 어렵기 때문에 시간 디코딩 방법이 더 유용하다. 군집 디코딩은 단일 신경세포의 스파이크를 분석하는 것이 아니라 다수의 신경세포 군집에서 나오는 스파이크를 종합적으로 분석하는 것이므로 실제 신경계의 작동원리에 가장 가까운 디코딩 방법이다. 그러므로 디코딩 방법이 빈도 디코딩에서 시간 디코딩으로, 단일 디코딩에서 군집 디코딩으로 진화한 것은 필연적인 현상이다. 표 1에 세가지 디코딩 방법을 비교하여 정리하였고 각 디코딩 방법을 사용한 대표적인 문헌도 소개하였다.
또한 본 논문에서는 자극과 반응의 확률분포로부터 그 관측의 정보량을 구하는 방법을 다루었다.
본 논문에서 기술된 디코딩 방법 및 정보이론은 실제 시각계에서 시각정보가 처리되는 과정에서 널리 사용되고 있는 방법이다. 비록 본 논문에서는 이론적인 방법론을 소개하는 것에 그쳤으나, 추후 논문에서는 실제 망막에서 시각 정보를 처리함에 있어 사용되는 각종 파라미터를 디코딩 방법으로 추출하고 각 파라미터의 정보량을 다룸으로써 실제 시각계에서 일어나는 시각정보 처리 기전에 대한 실마리를 제공하고자 한다.