스파이킹 신경망

Spiking neural network
곤충은 스파이킹 신경망에 의해 제어되어 알려지지 않은 지형에서 목표물을 찾습니다.

스파이킹 신경망(SNN)은 자연 신경망을 더 가깝게 모방하는 인공 신경망입니다.[1] SNN은 뉴런시냅스 상태 외에도 시간 개념을 작동 모델에 통합합니다. SNN의 뉴런은 (일반적인 다층 퍼셉트론 네트워크에서 일어나는 것처럼) 각 전파 주기에서 정보를 전송하지 않고 막 전위, 즉 막 전하와 관련된 뉴런의 고유한 특성이 임계값이라고 불리는 특정 값에 도달할 때만 정보를 전송한다는 개념입니다. 막 전위가 임계치에 도달하면, 뉴런은 신호를 발사하고, 다른 뉴런으로 이동하는 신호를 생성하고, 이 신호에 반응하여 전위를 증가시키거나 감소시킵니다. 문턱을 넘는 순간에 발사되는 뉴런 모델을 스파이킹 뉴런 모델이라고도 합니다.[2]

가장 눈에 띄는 스파이킹 뉴런 모델은 누수가 있는 통합 및 화재 모델입니다. 통합 및 화재 모델에서 순간 활성화 수준(미분 방정식으로 모델링됨)은 일반적으로 뉴런의 상태로 간주되며, 들어오는 스파이크는 이 값을 더 높거나 더 낮게 밀어 상태가 결국 붕괴되거나 발사 임계값에 도달하면 뉴런이 발사됩니다. 발사 후 상태 변수가 더 낮은 값으로 재설정됩니다.

스파이크의 주파수(율 코드), 자극 후 첫 번째 스파이크까지의 시간 또는 스파이크 사이의 간격에 따라 발신 스파이크 트레인을 실수 값으로 해석하기 위한 다양한 디코딩 방법이 존재합니다.

역사

펄스 뉴런 모델
FTJ 기반 인공 시냅스

많은 다층 인공 신경망이 완전히 연결되어 이전 계층의 모든 뉴런에서 입력을 받고 이후 계층의 모든 뉴런에 신호를 보냅니다. 이러한 네트워크는 많은 분야에서 획기적인 발전을 이루었지만 생물학적으로 정확하지 않고 생물의 뇌에 있는 뉴런의 작동 메커니즘을 모방하지 않습니다.[3]

생물학적으로 영감을 받은 호지킨은스파이킹 뉴런의 헉슬리 모델은 1952년에 제안되었습니다. 이 모델은 작업 전위가 시작되고 전파되는 방법을 설명합니다. 시냅스 갭에서 화학적 신경전달물질의 교환을 필요로 하는 뉴런 사이의 통신은 통합-불 모델, FitzHugh-Nagumo 모델(1961-1962), Hindmarsh-Rose 모델(1984)과 같은 다양한 모델에서 설명됩니다. 누출이 많은 적화 모델(또는 도함수)은 호지킨보다 계산하기 쉽기 때문에 일반적으로 사용됩니다.헉슬리 모델.[4]

밑바탕

뇌의 정보는 활동전위(신경 스파이크)로 표현되는데, 이는 스파이크 트레인 또는 뇌 활동의 조정파로 분류될 수 있습니다. 신경과학의 근본적인 질문은 뉴런이 속도나 시간적 코드에 의해 의사소통하는지 여부를 결정하는 것입니다.[5] 시간 부호화는 단일 스파이킹 뉴런이 S자형 신경망의 수백 개의 숨겨진 단위를 대체할 수 있음을 시사합니다.[1]

SNN은 이산 도메인이 아닌 연속 도메인에서 계산합니다. 이 아이디어는 뉴런이 (일반적인 다층 퍼셉트론 네트워크의 경우처럼) 모든 전파 반복에서 활성화를 테스트할 수 없고 막 전위가 특정 값에 도달할 때만 활성화를 테스트할 수 있다는 것입니다. 뉴런이 활성화되면 연결된 뉴런으로 전달되는 신호를 만들어 막 전위를 높이거나 낮춥니다.

스파이킹 신경망에서 뉴런의 현재 상태는 막 전위로 정의됩니다(아마도 미분 방정식으로 모델링됨). 입력 펄스는 일정 시간 동안 막 전위를 상승시킨 다음 점차 감소시킵니다. 이러한 펄스 시퀀스를 펄스 주파수와 펄스 간격을 모두 고려하여 숫자로 해석하기 위해 인코딩 방식이 구성되었습니다. 펄스 발생 시간에 기반한 신경망 모델을 구축할 수 있습니다. 정확한 펄스 발생 시간을 사용하여 신경망은 더 많은 정보를 사용하고 더 나은 컴퓨팅 특성을 제공할 수 있습니다.

SNN 접근 방식은 기존의 인공 신경망(ANN)의 이진 출력 대신 연속 출력을 생성합니다. 펄스 열은 쉽게 해석할 수 없으므로 위와 같은 인코딩 방식이 필요합니다. 그러나 펄스 트레인 표현은 시공간 데이터(또는 지속적인 실제 감각 데이터 분류)를 처리하는 데 더 적합할 수 있습니다.[6] SNN은 입력 블록을 별도로 처리(필터를 사용하는 CNN과 유사)하기 위해 뉴런을 근처 뉴런에만 연결하여 공간을 고려합니다. 이들은 이진 인코딩에서 정보를 잃지 않도록 정보를 펄스열로 인코딩하여 시간을 고려합니다. 이는 반복 신경망(RNN)의 추가 복잡성을 방지합니다. 임펄스 뉴런은 기존의 인공 뉴런보다 더 강력한 계산 단위임이 밝혀졌습니다.[7]

SNN은 이론적으로 2세대 네트워크보다[term undefined: what are 2nd-gen networks?] 강력하지만 SNN 교육 문제와 하드웨어 요구 사항으로 인해 사용이 제한됩니다. Hebbian 학습이나 STDP와 같이 생물학적으로 영감을 받은 비지도 학습 방법을 사용할 수 있지만 2세대 네트워크보다 더 나은 성능을 제공할 수 있는 SNN에는 효과적인 지도 학습 방법이 적합하지 않습니다.[citation needed] SNN의 스파이크 기반 활성화는 구별할 수 없기 때문에 오차 역전파를 수행하기 위한 기울기 하강 기반 훈련 방법을 개발하는 것이 어렵습니다.AD[8] 및 다층 노름AD는[9] 스파이크 기반 활성화의 기울기의 적절한 근사를 통해 우수한 훈련 성능을 입증했습니다.

SNN은 기존의 ANN보다 현실적인 신경 모델을 시뮬레이션하기 위한 계산 비용이 훨씬 더 큽니다.[citation needed]

펄스 연결 신경망(PCNN)은 종종 SNN과 혼동됩니다. PCNN은 SNN의 일종으로 볼 수 있습니다.

현재 연구자들이 활발하게 연구하고 있는 SNN을 사용할 때 몇 가지 어려움이 있습니다. 첫 번째 과제는 스파이킹 비선형성의 미분 가능성에 관한 것입니다. 순방향 및 역방향 학습 방법 모두에 대한 표현은 뉴런의 출력이 스파이크될 때 1이고 그렇지 않으면 0이기 때문에 미분할 수 없는 신경 활성화 함수의 도함수를 포함합니다. 이진 스파이킹 비선형성의 이러한 전부 또는 전부 동작은 기울기가 "흐르는" 것을 방지하고 LIF 뉴런을 기울기 기반 최적화에 적합하지 않게 만듭니다. 두 번째 과제는 최적화 알고리즘 자체의 구현에 관한 것입니다. 표준 BP는 계산, 메모리 및 통신 측면에서 비용이 많이 들 수 있으며 이를 구현하는 하드웨어(예: 컴퓨터, 뇌 또는 뉴로모픽 장치)가 지시하는 제약 조건에 적합하지 않을 수 있습니다.[10] 첫 번째 도전과 관련하여 이를 극복하기 위해 몇 가지 접근 방법이 있습니다. 그 중 몇 가지는 다음과 같습니다.

  1. 숨겨진 유닛에 대해 완전히 생물학적으로 영감을 받은 로컬 학습 규칙에 의존합니다.
  2. 기존에 훈련된 "레이트 기반" NN을 SNN으로 변환
  3. 네트워크 모델을 연속적으로 차별화할 수 있도록 평활화
  4. SG(Sugrogate Gradient)를 실제 그래디언트의 연속 완화로 정의

적용들

SNN은 원칙적으로 기존 ANN과 동일한 애플리케이션에 적용될 수 있습니다.[11] 또한 SNN은 환경에 대한 사전 지식 없이 먹이를 찾는 곤충과 같은 생물학적 유기체의 중추신경계를 모델링할 수 있습니다.[12] 상대적인 현실성으로 인해 생물학적 신경 회로의 작동을 연구하는 데 사용할 수 있습니다. 생물학적 신경 회로의 위상과 그 기능에 대한 가설에서 시작하여 이 회로의 기록을 해당 SNN의 출력과 비교하여 가설의 신뢰성을 평가할 수 있습니다. 그러나 SNN에 대한 효과적인 훈련 메커니즘이 부족하여 컴퓨터 비전 작업을 포함한 일부 응용 프로그램을 억제할 수 있습니다.

2019년 현재 SNN은 정확도 측면에서 ANN에 비해 뒤처지지만 격차가 줄어들고 있으며 일부 작업에서 사라졌습니다.[13]

이미지 기반 데이터에 SNN을 사용할 때 정적 이미지를 이진 스파이크 열차 코딩으로 변환해야 합니다.[14] 인코딩 유형:[15]

  • 시간 코딩은 스파이크 지연 시간이 픽셀 강도에 반비례하는 뉴런당 하나의 스파이크를 생성합니다.
  • 레이트 코딩은 픽셀 강도를 스파이크 수가 픽셀 강도에 비례하는 스파이크 트레인으로 변환합니다.
  • 직접 코딩은 훈련 가능한 계층을 사용하여 각 시간 단계에 대한 플로팅 값을 생성합니다. 유동 숫자의 특정 시간 단계에서 각 픽셀을 변환한 다음 생성된 유동 숫자에 임계값을 사용하여 1인지 0인지 확인할 수 있는 학습 가능한 계층이 있습니다.
  • 위상 부호화는 글로벌 오실레이터를 기반으로 시간 정보를 스파이크 패턴으로 부호화합니다.
  • 버스트 코딩은 스파이크의 버스트를 적은 시간 동안 전송하여 뉴런 간 시냅스 통신의 신뢰성을 높입니다.

소프트웨어

다양한 응용 소프트웨어가 SNN을 시뮬레이션할 수 있습니다. 이 소프트웨어는 용도에 따라 분류할 수 있습니다.

SNN 시뮬레이션

강유전체 시냅스를 이용한 비지도 학습

이들은 높은 수준의 세부 사항과 정확성으로 복잡한 신경 모델을 시뮬레이션합니다. 대규모 네트워크는 일반적으로 긴 처리를 필요로 합니다. 후보는 다음과 같습니다.[16]

하드웨어

강유전체 시냅스를 이용한 STDP 학습 예측
뉴런 대 뉴런 메쉬 라우팅 모델

미래의 뉴로모픽 아키텍처는[19] 수십억 개의 그러한 나노합성을 포함할 것이며, 이는 가소성을 담당하는 물리적 메커니즘에 대한 명확한 이해를 필요로 합니다. 강유전체 터널 접합에 기반한 실험 시스템을 사용하여 STDP가 이기종 편광 스위칭으로부터 활용될 수 있음을 보여주었습니다. 결합된 스캐닝 프로브 이미징, 전기 전송 및 원자 규모 분자 역학을 통해 컨덕턴스 변화는 핵 생성이 지배하는 도메인 역전에 의해 모델링될 수 있습니다. 시뮬레이션에 따르면 강유전체 나노 합성 배열은 예측 가능한 방식으로 패턴을 인식하는 방법을 자율적으로 학습하여 감독되지 않은 학습으로 가는 길을 열 수 있습니다.[20]

강유전체 시냅스를 이용한 비지도 학습
  • 아키다는 브레인칩이 개발한 120만 개의 인공 뉴런과 100억 개의 인공 시냅스를 보유한 완전 디지털 이벤트 기반의 신경 처리 장치입니다. 이벤트 기반 보유를 활용하여 특정 지점에서 필수 입력을 분석합니다. 결과는 온칩 메모리 장치에 저장됩니다.
  • 뉴로그리드(Neurogrid)는 급증하는 신경망을 하드웨어로 직접 시뮬레이션 할 수 있는 보드입니다. (스탠포드 대학)
  • SpiNaker(Spiking Neural Network Architecture)는 ARM 프로세서를 6계층 시상 피질 모델을 기반으로 하는 대규모 병렬 컴퓨팅 플랫폼의 구성 요소로 사용합니다. (맨체스터 대학교)[21] SpiNaker 시스템은 ARM 아키텍처를 사용하여 사용자 지정 디지털 멀티코어 칩에서 실시간으로 실행되는 수치 모델을 기반으로 합니다. 각각 18개의 코어와 공유 로컬 128Mbyte RAM, 총 1,000,000개 이상의 코어를 가진 맞춤형 디지털 칩을 제공합니다.[22] 단일 칩은 실시간으로 실행되는 800만 개의 플라스틱 시냅스로 16,000개의 뉴런을 시뮬레이션할 수 있습니다.[23]
  • TrueNorth는 단지 70밀리와트를 소비하는 54억 개의 트랜지스터를 포함하는 프로세서입니다; 개인용 컴퓨터의 대부분의 프로세서는 약 14억 개의 트랜지스터를 포함하고 35와트 이상을 필요로 합니다. IBM은 TrueNorth 뒤에 있는 설계 원리를 뉴로모픽 컴퓨팅이라고 말합니다. 주요 목적은 패턴 인식입니다. 이 칩이 충분히 강력하지 않다고 비판하는 반면, 이 칩의 지지자들은 이것이 단지 1세대일 뿐이며, 개선된 반복의 능력은 분명해질 것이라고 지적합니다. (IBM)[24]

벤치마크

감독되지 않은 학습 방법에[25] 따라 훈련된 스파이킹 네트워크의 분류 기능은 Iris, Wisconsin 유방암 또는 Statlog Landsat 데이터 세트와 같은 일반적인 벤치마크 데이터 세트에서 테스트되었습니다.[26][27] 정보 인코딩 및 네트워크 설계에 대한 다양한 접근 방식이 사용되었습니다. 예를 들어, 데이터 클러스터링 및 분류를 위한 2계층 피드포워드 네트워크입니다. 저자들은 홉필드(1995)에서 제안된 아이디어를 기반으로 유동점 표현을 가진 입력 신호(분류된 데이터)를 스파이킹 표현으로 변환하기 위해 방사형 기저 함수(RBF)와 스파이킹 뉴런의 속성을 결합한 로컬 수용 필드 모델을 구현했습니다.[28][29]

참고 항목

참고문헌

  1. ^ a b Maass W (1997). "Networks of spiking neurons: The third generation of neural network models". Neural Networks. 10 (9): 1659–1671. doi:10.1016/S0893-6080(97)00011-7. ISSN 0893-6080.
  2. ^ Gerstner W, Kistler WM (2002). Spiking neuron models : single neurons, populations, plasticity. Cambridge, U.K.: Cambridge University Press. ISBN 0-511-07817-X. OCLC 57417395.
  3. ^ "Spiking Neural Networks, the Next Generation of Machine Learning". 16 July 2019.
  4. ^ Lee D, Lee G, Kwon D, Lee S, Kim Y, Kim J (June 2018). "Flexon: A Flexible Digital Neuron for Efficient Spiking Neural Network Simulations". 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). pp. 275–288. doi:10.1109/isca.2018.00032. ISBN 978-1-5386-5984-7. S2CID 50778421.
  5. ^ Gerstner W (2001). "Spiking Neurons". In Maass W, Bishop CM (eds.). Pulsed Neural Networks. MIT Press. ISBN 978-0-262-63221-8.
  6. ^ Van Wezel M (2020). A robust modular spiking neural networks training methodology for time-series datasets: With a focus on gesture control (Master of Science thesis). Delft University of Technology.
  7. ^ Maass W (1997). "Networks of spiking neurons: The third generation of neural network models". Neural Networks. 10 (9): 1659–1671. doi:10.1016/S0893-6080(97)00011-7.
  8. ^ Anwani N, Rajendran B (July 2015). "NormAD - Normalized Approximate Descent based supervised learning rule for spiking neurons". 2015 International Joint Conference on Neural Networks (IJCNN). pp. 1–8. doi:10.1109/IJCNN.2015.7280618. ISBN 978-1-4799-1960-4. S2CID 14461638.
  9. ^ Anwani N, Rajendran B (2020-03-07). "Training multi-layer spiking neural networks using NormAD based spatio-temporal error backpropagation". Neurocomputing. 380: 67–77. arXiv:1811.10678. doi:10.1016/j.neucom.2019.10.104. ISSN 0925-2312. S2CID 53762477.
  10. ^ Neftci EO, Mostafa H, Zenke F (2019-05-03). "Surrogate Gradient Learning in Spiking Neural Networks". arXiv:1901.09948 [cs.NE].
  11. ^ Alnajjar F, Murase K (2008). "A simple Aplysia-like spiking neural network to generate adaptive behavior in autonomous robots". Adaptive Behavior. 14 (5): 306–324. doi:10.1177/1059712308093869. S2CID 16577867.
  12. ^ Zhang X, Xu Z, Henriquez C, Ferrari S (Dec 2013). "Spike-based indirect training of a spiking neural network-controlled virtual insect". 52nd IEEE Conference on Decision and Control. pp. 6798–6805. CiteSeerX 10.1.1.671.6351. doi:10.1109/CDC.2013.6760966. ISBN 978-1-4673-5717-3. S2CID 13992150. {{cite book}}: journal= 무시됨(도움말)
  13. ^ Tavanaei A, Ghodrati M, Kheradpisheh SR, Masquelier T, Maida A (March 2019). "Deep learning in spiking neural networks". Neural Networks. 111: 47–63. arXiv:1804.08150. doi:10.1016/j.neunet.2018.12.002. PMID 30682710. S2CID 5039751.
  14. ^ Yamazaki K, Vo-Ho VK, Bulsara D, Le N (June 2022). "Spiking Neural Networks and Their Applications: A Review". Brain Sciences. 12 (7): 863. doi:10.3390/brainsci12070863. PMC 9313413. PMID 35884670.
  15. ^ Kim Y, Park H, Moitra A, Bhattacharjee A, Venkatesha Y, Panda P (2022-01-31). "Rate Coding or Direct Coding: Which One is Better for Accurate, Robust, and Energy-efficient Spiking Neural Networks?". arXiv:2202.03133 [cs.NE].
  16. ^ Abbott LF, Nelson SB (November 2000). "Synaptic plasticity: taming the beast". Nature Neuroscience. 3 (S11): 1178–1183. doi:10.1038/81453. PMID 11127835. S2CID 2048100.
  17. ^ Atiya AF, Parlos AG (May 2000). "New results on recurrent network training: unifying the algorithms and accelerating convergence". IEEE Transactions on Neural Networks. 11 (3): 697–709. doi:10.1109/72.846741. PMID 18249797.
  18. ^ Sanaullah S, Koravuna S, Rückert U, Jungeblut T (August 2023). "Evaluation of Spiking Neural Nets-Based Image Classification Using the Runtime Simulator RAVSim". International Journal of Neural Systems. 33 (09): 2350044--2350044. doi:10.1142/S0129065723500442. PMID 37604777.
  19. ^ Sutton RS, Barto AG(2002) 강화 학습: 서론. 브래드포드 북스, MIT 출판사, 캠브리지, MA.
  20. ^ Boyn S, Grollier J, Lecerf G, Xu B, Locatelli N, Fusil S, et al. (April 2017). "Learning through ferroelectric domain dynamics in solid-state synapses". Nature Communications. 8: 14736. Bibcode:2017NatCo...814736B. doi:10.1038/ncomms14736. PMC 5382254. PMID 28368007.
  21. ^ Jin X, Furber SB, Woods JV (2008). "Efficient modelling of spiking neural networks on a scalable chip multiprocessor". 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence). pp. 2812–2819. doi:10.1109/IJCNN.2008.4634194. ISBN 978-1-4244-1820-6. S2CID 2103654.
  22. ^ "Neuromorphic Computing". Human Brain Project.
  23. ^ "Hardware: Available Systems". Human Brain Project. Retrieved 2020-05-10.
  24. ^ Markoff J (8 August 2014). "A new chip functions like a brain, IBM says". The New York Times. p. B1.
  25. ^ Ponulak F, Kasiński A (February 2010). "Supervised learning in spiking neural networks with ReSuMe: sequence learning, classification, and spike shifting". Neural Computation. 22 (2): 467–510. doi:10.1162/neco.2009.11-08-901. PMID 19842989. S2CID 12572538.
  26. ^ Newman D, Hettich S, Blake C, Merz C (1998). "UCI repository of machine learning databases".
  27. ^ Bohte S, Kok JN, La Poutré H (2002). "Error-backpropagation in temporally encoded networks of spiking neurons". Neurocomputing. 48 (1–4): 17–37. doi:10.1016/S0925-2312(01)00658-0.
  28. ^ Pfister JP, Toyoizumi T, Barber D, Gerstner W (June 2006). "Optimal spike-timing-dependent plasticity for precise action potential firing in supervised learning". Neural Computation. 18 (6): 1318–1348. arXiv:q-bio/0502037. Bibcode:2005q.bio.....2037P. doi:10.1162/neco.2006.18.6.1318. PMID 16764506. S2CID 6379045.
  29. ^ Bohte SM, La Poutré H, Kok JN (March 2002). "Unsupervised clustering with spiking neurons by sparse temporal coding and multilayer RBF networks". IEEE Transactions on Neural Networks. 13 (2): 426–435. doi:10.1109/72.991428. PMID 18244443.