Introduction to spiking neural networks: Information processing, learning and applications
스파이킹 신경망 개론: 정보의 처리, 학습과 적용
Introduction to spiking neural networks: Information processing, learning and applications |
---|
Filip Ponulak, Andrzej kasinski |
Acta neurobiologiae experimentalis, 2011 |
survey |
출처 : https://europepmc.org/article/med/22237491
Abstract
신경 정보neural information가 뉴런의 발사 주기firing rate로 인코딩 된 정보라는 관점은 수년간 신경생물학의 지배적 패러다임이었다. 이 패러다임은 또한 인공신경망artificial neural networks:ANN 이론에도 적용되었다. 그러나, 근래의 실험 결과들은 신경계nervous system의 여러 부분에서 신경 코드neural code는 각 뉴런의 활동 전위action potentials의 형태로 표현됨을 드러내었다. 이러한 발견은 스파이킹 신경망spiking neural networks:SNN라는 새로운 신경 모델의 등장을 야기하였다. 이 논문에서 우리는 스파이킹 뉴런과 이로 구성된 스파이킹 모델의 기본 지식들을 요약해보고자 한다. 특히 우리는 스파이크 기반으로 코드 된 정보를 다루는 모델들models of spike-based information coding과 시냅스의 가소성 및 학습에 대하여 중점적으로 다루고자 한다. 우리는 또한 스파이킹 모델의 실제 적용 사례에 대하여도 조사하였다. 이 논문은 스파이크 기반 신경망에 관심이 잇는 다양한 분야의 학자들을 위한 SNN의 소개서로써 기획되었다.
Introduction
스파이킹 신경망SNN은 인공신경망ANN의 한 종류로서, 모델의 뉴런들이 스파이크의 시퀀스를 통해 소통하는 신경망을 지칭한다. 스파이킹 뉴런을 기반으로 설계된 신경망은 대량의 데이터를 상대적으로 적은 수의 스파이크로 처리할 수 있다 (VanRullen et al. 2005). 스파이킹 신경망과 생물학적 신경망의 유사성 덕분에, 스파이킹 신경망은 신경 정보 처리neural information processing, 시냅스 가소성과 학습을 포함한 뇌의 기본적인 동작 과정을 분석하는 데 있어 강력한 도구로 사용된다. 뿐만 아니라 SNN은 공학과 접목되어 넓은 분야에서의 다양한 문제에 대한 해결책을 제시하는데 이는 신호처리, 이벤트 감지, 분류, 발화 인식speech recognition, 공간 탐색spatial navigation 혹은 모터 조작과 같은 분야이다. 이는 SNN이 일반적인 신경망으로 해결 가능한 문제들을 해결할 수 있을 뿐만 아니라, 퍼셉트론과 비선형 함수sigmoidal gates (Maass 1997)로 구성된 신경망에 비해 적은 컴퓨팅 자원을 소모하여 해결할 수 있음을 나타낸다. 이러한 요인들에 의해 SNN은 점차 더욱 많은 학자들에게 관심을 받는 주제로 부상하고 있다.
이 논문에서 우리는 스파이킹 신경 모델 이론의 기반이 되는 개념들을 설명하고자 한다. 우리의 목표는 스파이크 기반 정보 처리와 학습, 적응adaptation 과정을 학습하는 것이다. 우리는 SNN에 사용되는 다양한 시냅스 가소성의 규칙에 대하여 조사하였으며 이를 고전적인 머신 러닝의 방식으로 설명하려고 한다. 또한, 신경생물학과 공학 분야를 포함한 다양한 분야에서의 성공적인 SNN 적용 사례를 간단히 알아볼 것이다. 이 논문은 SNN과 관련된 다양한 논문들의 주석으로 보완되어 있다.
우리의 목표는 학계에 SNN을 더욱 널리 알리고 소개하는 것이다. 이 논문이 생물학적 신경 알고리즘이나 고속 정보 처리 및 학습에 관심이 있는 학자들에게 도움이 되리라 생각한다. 이 논문은 그러한 메커니즘과 SNN 적용 사례를 조사한 결과물을 포함할 것이며, 생물학적 지식 기반을 갖춘 신경학자라면 이 논문은 생물의 학습 과정을 기계 학습 이론의 관점에서 이해하는데 도움이 될 것이다. 마지막으로 다시금, 이 논문은 스파이크 기반 신경망의 기본 원리를 이해하고자 하는 모든 학자들에게 소개서로써 제공될 것임을 밝힌다.
Spiking Models
생물학적 뉴런들은 활동 전위action potential 혹은 스파이크spike라고 부르는 전기적 펄스를 생성하고, 전파함으로써 소통한다. 일반적인 스파이크 기반 모델들은 이로 인해 아래와 같은 생물학적 모델과의 공통점을 갖는다.
- 뉴런은 여러 입력으로부터의 정보를 처리하여 하나의 스파이크 출력 신호를 생성한다.
- 뉴런의 발사 가능성(스파이크를 생성할 확률)은 흥분성excitatory 입력에 의해 증가하고, 억제inhibitory 입력에 의해 감소한다.
- 뉴런의 역학관계dynamics는 하나 이상의 상태 변수state variable에 의해 변화하며 모델 내부의 변수가 특정 값에 도달했을 때 모델은 하나 이상의 스파이크를 생성해야 한다.
SNN의 기반 법칙은 신경 정보가 스파이크의 형태가 아니라 신경망이 스파이크를 생성하는 타이밍에 담겨있다는 것이다.
발사 시간의 시퀀스spike train S(t)는 f=1,2... 일 때, (t-tf)에 디렉함수를 씌우고 f에 대하여 모두 더한 것과 같다.
대표적인 스파이크 모델로 Integrate-and-Fire(IF) 모델과 Leaky-IF (LIF) 모델이 있는데, 요약하자면 입력에 따라 증가하고 시간에 따라 점차 감소하는 u(i, t)에 대하여, u가 발사 임계firing threshold에 도달하면 모델은 스파이크를 생성하고, 그 즉시 u를 ures로 초기화하고 잠시 그 상태를 유지하는 모델이다. 이때, 스파이크 생성 직후 초기화된 상태를 잠시 유지하는 기간을 내화 기간refractory period이라고 한다.
오른쪽 그림에서, 이전 시냅스의 스파이크가 다음 뉴런의 입력을 촉진시키는 것을 확인할 수 있다. 이렇듯 한 뉴런으로의 입력은 이전 시냅스의 스파이크나 입력에 의해 증가하며 시간에 따라 감소하는데, 간단한 모델에서 시간에 따른 감소는 exponential로 표현하기도 한다.
우리는 SNN 모델을 유향 그래프(V, E)로 표현할 수 있다. 여기서 V는 뉴런의 집합이며 E는 시냅스의 집합이다. 이때, V에는 입력 및 출력 뉴런들인 Vin과 Vout이 포함된다.
스파이킹 신경망의 위상은 세 가지로 분류할 수 있다.
- 정방향feedforward 신경망은 데이터가 입력층에서 출력층까지 한 방향으로 흐르는 신경망이다. 이는 주로 생물의 감각기관에서 발견되며, 인공신경망에서도 비슷하게 시각, 후각, 촉각 감지와 같은 간단한 감각 시스템에 활용된다. 또한, 정방향 신경망은 스파이크 동기화spike synchronization (Kumar et al. 2010)나 스파이크의 공간-시간적 인식spatio-temporal pattern에 관련된 문제를 해결하는데 활용된다.
- 순환 신경망(RNN)은 모델의 일부 혹은 전체 뉴런이 서로 상호 작용하는 연결을 갖는 신경망이다. 뉴런들의 상호 연결이 신경망 내부에 영향을 줘 동적인 시계열 문제에 대한 접근이 가능하다. 이로 하여금 정방향 신경망에 비해 동적인 처리가 가능하며, 잠재적으로 더욱 많은 컴퓨팅 자원을 요구할 수 있다. 스파이크 뉴런을 적용한 RNN은 신경망 진동이나 신경망의 다중성과 같은 뇌내 신경간의 복잡한 상호작용을 모델링하고 분석하는 데 사용되었다.
- 하이브리드 신경망은 일부는 정방향이고 일부는 순환적인 연결을 갖는 신경망이다. 정방향/순환 신경망 간의 연결 역시 정방향일 수도 있고, 순환적일 수도 있다. 가장 많이 연구된 하이브리드 신경망의 적용 사례는 아래와 같다.
- Synfire chain : 인간의 학습과 유사하게, 시간적으로 동떨어진 두 사건을 연관 짓고, 주어진 상황에 대한 정확한 대처를 가능케 하는 메커니즘이다. 이는 다층 구조로써, 스파이크가 뉴런의 동시적인 파동synchronous wave of neuronal firing 형태로 다른 계층에 전파된다. 이 메커니즘은 전체적으로 정방향이지만, 일부 순환적인 구조를 가진다. Synfire에 대한 자세한 리뷰는 Kumar와 저자들이 쓴 2010년의 논문에 잘 적혀있다.
- Reservoir Computing : 이는 쉽게 말해 RNN의 이점은 취하면서도 이들을 학습시키는 어려움은 피하는 방법이다. Reservoir Computing은 기본적으로 고정된 순환 구조체인 Reservoir와 일반적인 뉴런들의 집합인 Readout으로 구성된다. 몇몇 논문에서는 reservoir를 어느 정도 커스텀 하긴 하지만, 이는 논하지 않겠다. Reservoir Computing 모델을 학습시킬 때, Reservoir는 고정하고, Reservoir에서 Readout으로의 연결만을 학습시킨다. 이를 통해 순환적 구조를 가지면서도 학습은 단순한 신경망의 구현이 가능하다. 이러한 모델에서 Reservoir는 입력 신호를 고차원화 시키고 이를 Readout으로 분석하는 것으로 볼 수도 있다. Reservoir가 고정된 랜덤 구조이므로, 한 개의 Reservoir를 여러 문제에 활용할 수 있다. Reservoir Computing은 원래 ANN을 위해 설계되었으나, 스파이킹 모델과의 접목에서 최근 다양한 성과를 내고 있다. 이러한 사례는 Application 섹션에서 자세히 다룰 것이다.
Information processing in spiking neurons
뇌에서는 아주 짧은 시간에 최선의 결정을 내리는데, 이런 정확하고 고속의 연산이 가능한 이유를 신경 신호로 정보가 인코드 되는 방법에서 찾으려는 시도가 많았다.
1920년대에는 개구리의 촉각 피질이 외부 자극을 많이 받음에 따라 더 많은 스파이크를 생성하는 것을 기반으로, 정보가 발사 주기로 인코딩 된다는 가설이 있었다. 이런 발사 주기 위주의 패러다임은 한동안 주류였으나, 최근의 연구에서는 적어도 일부 신경망에서는, 정보 처리가 발사 주기가 아닌 활동 전위의 타이밍으로 처리된다는 것이 밝혀졌다.
이렇듯 전자 의수를 포함한 다양한 분야에서 발사 주기가 아닌 활동 전위와 스파이크의 발생 타이밍 기반의 정보처리를 관측, 적용하고 있다. 아래는 몇 가지 예시이다.
- Time to first spike 모델에서, 신경망 내의 정보는 자극의 시작 시점과 신경망 내의 첫 스파이크 반응 사이의 간극으로 인코딩 된다. Saal과 공저자들의 연구에 의하면, 첫 스파이크의 발생 타이밍 정보는 촉각 감지와 분류 등의 task에서 자극의 형태와 자극의 방향과 같은 정보에 대하여 스파이크의 개수나 주기 정보보다 두 배 이상의 정보를 포함한다. 이는 다음 계층의 뉴런들이 전 계층의 뉴런에서 전송한 첫 스파이크만을 가지고 정확한 정보처리를 시작할 수 있음을 의미한다. 이러한 모델은 인공 신경망에서 촉각이나 후각 등에 대한 인풋 계층으로써 고려 가능한다.
- Rank-order coding (ROC) 또한 신경 코드 방안 중에 하나로, 여기서는 각 뉴런이 처음으로 스파이크를 방출하는 순서를 기록한다. 이 방법은 영장류의 시각계가 엄청난 속도로 사물을 분류하는 것을 설명하기 위해 제안되었다. Thorpe와 그의 동료들은 신경절이 시각 자극을 신경절의 활성화 순서로 코드한다고 주장했다. 이러한 관점은 정방향 신경망에 쉽게 적용 가능한데, Thorpe는 이를 이용하여 인간과 비슷한 속도로 정적 이미지를 분류하는 예제를 보였다.
- Latency code 모델에서, 정보는 각 스파이크 간의 정확한 간극으로 코드된다. 스파이크 간의 정밀한 간극을 조작함으로서 다양한 정보를 표현할 수 있다. 앞 계층 시냅스의 활성화 타이밍을 10ms만 조작해도 뒤 계층의 시냅스 활성화 타이밍에 영향을 끼치기 떄문이다. 이러한 방법은 적은 수의 스파이크만으로 대량의 정보를 다룰 수 있어 굉장히 효율적이다. 이렇게 정확하게 통제되는 스파이크들은 일반적으로 정방향 신경망에서 관측된다. 이는 순환 신경망에서는 약간의 노이즈나 내적 요인으로 인해 생긴 문제가 정확성을 크게 해칠 수 있기 때문인데, 그럼에도 순환 신경망에 이런 정확한 스파이크 타이밍을 적용하려는 연구가 reservoir computation을 비롯한 분야에서 진행되고 있다.
- Resonant burst 모델은 스파이크의 폭발 주기(burst frequency)가 어떤 하위 뉴런이 활성화되었는지에 따라 추정 가능하다고 가정했다. 이 모델은 공명현상을 통해 작은 폭발이 후위 시냅스에 큰 폭발을 유발할 수 있음을 보였다.
- Coding by synchrony 모델은 같은 오브젝트 정보를 인코드한 각 비트는 동시에 활성화 할 거라는 가정에 기반한다. 이러한 가정은 몇가지 관측과 실험에서 비롯된다.
- Phase coding 모델에서 스파이크의 발생 시점은 주기적인 신호내의 특정 시점으로 간주된다. 이 방법으로 신경 스파이크는 정보를 백그라운드 진동과 연관하여 인코드할 수 있다.
알아둬야 할 것은, 이 문단에서 논의한 여러 예시들이 발사 주기 기반의 방법들을 부정하는 것은 아니라는 것이다.
Learning
시냅스 가소성은 기억이나 학습의 기반 메커니즘이라 추정되는 시냅스간의 연결 강도의 변화율을 따른다. 다양한 형태의 시냅스 가소성이 공존하는데, 이들은 주로 시간에 따라 구분된다. pulse paired facilitation 같은 일부 작업은 10~100ms만에 끝나는 반면, 일부 작업은 몇 시간에서 몇 주에 걸친 장기간동안 처리된다.
가소성은 그 전달 과정에 의해서도 분류되는데, 일부는 이전 시냅스 계층의 영향만을 받는 방면, 일부는 이전 계층 뿐 아니라 이후 계층의 시냅스의 활동에도 영향을 받는다.
이 섹션에서는 SNN을 위한 다양한 학습 모델과 스파이크 타이밍 기반의 시냅스 가소성에 대해 다룰 것이다.
비지도 학습
1949년 Donald Hebb가 정보를 보존하며 시냅스간의 가중치를 바꾸는 첫 모델을 내놓았다. 이 모델에서 w(i,j)는 i에서 j로 연결된 시냅스의 가중치인데, 이는 i와 j가 동시에 활성화될 때마다 계속 가중치가 커지는 모델이었다. 이 모델은 시냅스의 가중치가 약화되는 것이 불가능했다.
이후 Hebbian 과정을 수저하여 새로운 기능들이 등장했는데, 입력 클러스터링, 패턴 인식, 소스 분리, 차원 축소와 같은 것들이었다. 이러한 Hebbian 기반 기능들이 대채로 비지도 학습으로 통했는데, 정확한 답안이 없기에 새로운 기능을 신경망에 구현할 때, 신경망을 고칠 필요가 없었다. 게다가, 해마 및 신피질 해마 세포에서 나온 증거는 시냅스의 활성화 순서의 전후관계가 완전히 다른 Hebbian 과정을 생성할 수 있었음을 보였다. 또한, 한 실험에서 시냅스 스파이크가 시냅스에 도착하는 상대적 타이밍과 시냅스 후 활동 전위는 시스템적으로 변헀다. 실험을 여러 번 반복한 후 그 결과로 나타나는 시냅스 효과의 변화는 스파이크 시간의 상대적 차이에 의한 것임을 보였다.
(작성 중)