[Ref.] https://www.youtube.com/playlist?list=PLm4EZB3VG6zlu1BkFw2DHN58x8QlLHEBu
본 포스팅을 상단 Reference에 첨부한 강의를 수강하고
정리, 수정, 보완한 자료입니다.
[A] Introduction
AI > ML > Brain-Inspried > Spiking, Neural networks
- AI(Artificial Intelligene) in 1956 : 지능형 기계를 만드는 과학과 공학
- ML(Machine Learning) in 1959 : 컴퓨터가 명시적으로 프로그래밍 하지 않고도 학습 할 수 있는 연구 분야 : 'Training 개념 등장'
- Brain-Inspired : 뇌의 동작 방식에 대한 이해에서 기본 기능을 취하는 알고리즘
- Spiking : Spike와 같은 Purse 신호에 따라 신호를 주고 받는다.
- Neural networks (Digital 개념) : Weighted sum 개념으로 입력이 일정 임계값을 넘으면 출력이 생성되는 비선형함수 (선형대수) 연산
[B] How does the brain works?
뇌의 구조에서 영감을 받은 Spiking architecture와 Neural networks 개념을 이해하기 전에 뇌 안에서 신호들이 어떻게 전달되는지 신경 세포의 구조에 대해 공부할 필요성이 있습니다.
- 뇌는 약 860억개의 뉴런으로 이루어져있으며 각 뉴런은 시냅스로 연결되어 있다.
- dendrites : 입력 신호를 받는 곳
- axon : 출력 신호를 내보내는 통로
- synapse : 화학적 반응에 의해서 들어오는 입력의 전달 양이 결정된다 : weight(가중치) 라고 한다.
[B-1] Spiking architecture
- Spike architecture : 신경망에서 일어나는 메커니즘으로 기억과 학습에 중요한 역할
(1) 뉴런이 자극을 받으면 spike라는 전기 신호 생성
(2) spike가 시냅스에 도착하면 신경전달물질이 분비되어 시냅스가 활성화
(3) 신호를 받는 뉴런의 수용체가 신경전달 물질을 인식해 spike를 발생시킴
(4) 시냅스를 통해 신호가 전달됨
(5) 이 때, 뉴런들의 연결을 강화하거나 약화시켜 정보를 장기기억으로 전환하거나 빨리 잊도록 할 수 있음
(6) 이는 spike가 발생하는 상대적인 간격으로 조절 가능
(7) presynaptic input이 postsynaptic output 이전에 일어나면 이전 시냅스가 다음 시냅스 신호에 영향을 준 것으로 판단되어 시냅스의 연결이 강화됨
(8) presynaptic input이 postsynaptic output 이후에 일어나면 뉴런 사이의 상관성이 적다 판단하여 연결이 억제됨
(9) 이 때 spike의 간격이 좁을수록 입력 spike로 인해 다음 spike가 빨리 나타나게 되고 연결의 변화가 크게 나타남
[B-2] Neural networks
*Neural Networks
- 뇌의 구조에서 영감을 받은 이론이며 Neuron에 Weighted sum의 개념을 도입하여 구조화함
- 입력값(x0)는 synapse의 weight(w0)와 곱해져 cell body로 도달함
- 각 시냅스는 같은 방법으로 cell body로 신호 전달
- 위의 과정들은 '곱하고 더하는' 연산
- 후에 cell body에서 합쳐진 값들이 특정 임계 값(Threshold value)을 넘어야 신호를 전달하는 activation function 존재함
- Hidden layer는 1개 이상이 될 수 있음
- 동그라미 하나는 Neuron (node), 동그라미를 연결하는 화살표는 Synaps (edge)라고 부름
- DNN 이란 Neural networks 구조에서 layer가 deep하게 연결되어 있는 구조를 일컫음
[C] Deep Neural Networks (DNN)
*Deep Neural Networks
- 최근 일반적으로 DNN에 쓰이는 Layer는 5개에서 1000여개 임
- Complexity가 높아 더 복잡한 연산을 처리할 수 있음
- Low level features에서 High level features를 추출해내는 과정에서 깊고 복잡한 연산을 수행함
- 점점 더 복잡한 연산에서 더 높은 정확도를 요구하는 최근에는 더 많은 컴퓨팅 파워가 필요함 : 더 많은 GPU가 사용되어야 함
- 2015년에 ImageNet이라는 사진 판별 대회에서 ResNet이라는 DNN 알고리즘을 적용한 모델이 사람의 Error rate (5%)보다 낮은 값을 성취함
*Deep Learning 의 성공 요소
(1) Big Data Availity : 많은 양의 데이터가 필요 , 최근에는 양질의 데이터의 중요성 증가
(2) GPU Acceleratrion : 반도체 장치 및 아키텍쳐의 발전으로 DNN 처리를 위한 컴퓨팅 파워가 증가함
(3) New Techniqes : DNN을 쉽게 처리하기 위한 여러 Framework들이 개발됨 (Tensorflow, caffe, pytorch 등)
*현재 DNN은 High Computing Power를 요구 : AI Hardware를 공부해야 하는 이유
[1] https://www.explainthatstuff.com/introduction-to-neural-networks.html
[2] https://commons.wikimedia.org/wiki/File:Spike_Response_Model_(schematic).jpg
[3] https://www.youtube.com/watch?v=FE6snk8Coec&list=PLm4EZB3VG6zlu1BkFw2DHN58x8QlLHEBu&index=4
[4] https://commons.wikimedia.org/wiki/File:Neural_network_example.svg
[5] http://dlwiki.finfra.com/algorithm:dnn