1. 생체 신경망 (Biological Neural Network)
ㅇ 구조
- 1천억개(1O11개)의 신경 세포인 뉴런들이 있고,
. (뉴런 (Neuron) : 뇌의 정보 처리에 관여하는 기본 세포)
- 이들 간을 연결하는 시냅스들로 구성된 결합체
. (시냅스 (Synapse) : 각 뉴런 간을 연결하는 수천만개의 연결부위)
ㅇ 기능
- 시냅스로 연결된, 적응적,병렬적 특성을 갖는, 신경 회로망을 통해,
- 감각,기억,판단,운동 기능을 일으키며, 조화롭게 발현됨
ㅇ 특징
- 병렬 처리, 학습과 적응, 비선형성
2. 인공 신경망 (Artificial Neural Network, ANN)
ㅇ 인간의 뇌 구조에 착안,모방하여 만든 기계학습법의 일종
- 적응적 학습과 병렬 처리 등이 가능함
3. 인공 신경망의 특징
ㅇ 학습이 가능함
- 훈련 데이터 집합을 주면, 연결 강도를 자동 추정하며, 인공 신경망이 만들어짐
ㅇ 적응적 학습
- 신경 세포 구조를 적응적으로 변화시키는 것에 의해 학습 함
. 잘못된 답으로 이끄는 뉴런들 사이의 연결은 약화되고,
. 올바른 답으로 이끄는 연결은 강화됨
* 시냅스 가소성 (Synaptic Plasticity)
. 시냅스를 통해 신경 전달 물질이 많이 전달되면, 관계 강화됨
. 그 역이면, 관계 약화됨
ㅇ 병렬 정보 처리
- 정보가 신경망 특정 위치가 아니라 신경망 전체에 동시에 저장되고 처리됨
. 통상, 노드의 출력이 연결 강도와 곱하여, 계산이 이루어지므로,
. 각각 독립적으로 계산 처리되면서, 병렬 처리 가능
ㅇ 인공 신경망(ANN)은 딥러닝의 핵심
- 다재다능하고, 강력하며, 확장성이 뛰어남
4. 인공 신경망의 주요 모델
ㅇ 퍼셉트론 (Perceptron)
- 생물학적 뉴런의 기능을 수학적으로 모델링한 것
. 입력 데이터에 대해 가중치를 적용하고,
. 이 가중치의 합을 계산한 후,
. 활성화 함수를 통해, 최종 출력을 결정
- 선형 분류기의 일종
- 2개의 층을 갖음
. 왼쪽에 입력을 받는 입력층 (input layer)
. 오른쪽에 출력을 보내는 출력층 (output layer)
. (일정 개수의 입력이 활성화되었을 때, 출력을 내보냄)
- 구성요소 : 입력값, 가중치, 바이어스, 가중치합, 활성화 함수
- 매개변수 : 가중치(weight), 편향(bias)
. 가중치(weight) : 각각의 입력 신호에 부여되어, 입력 신호와의 계산을 하고,
.. 신호 총합이, 정해진 임계값(θ; theta,세타)을,
.. 넘으면, 1을 출력 (활성화, activation)
.. 넘지 못하면, 0 또는 -1을 출력
. 입력 신호
.. 입력 각각에 고유한 가중치가 부여됨
.. weight가 클수록, 해당 신호가 중요하다고 봄
. [참고]
.. 사실상, 가중치를 만들어내는 것이 학습이며,
.. 가중치 값은, 학습 알고리즘에 따라 달라짐
ㅇ 다층 퍼셉트론 (MLP, Multi Layer Perceptron)
- 비선형 분류기의 일종
- 층 구분 : 입력 층, 은닉 층 (하나 이상), 출력 층
. 은닉층을 늘려 더 복잡한 패턴을 학습할 수 있음
. 다만, 은닉층이 많아질수록 학습이 어려워지고 계산 비용이 증가
. 특히 역전파 과정에서, 기울기 소실 문제(Vanishing Gradient Problem) 발생 가능
. 은닉 층이 2 이상 있는 경우 : 심층 신경망 (DNN : Deep Neural Network)
- 각 층의 역할 및 구조
. 입출력 : 이전 층의 출력을 입력 받아 연산을 수행하고, 그 결과를 다음 층으로 전달
. 각 층 내 뉴런들의 구조 : 서로 완전히 연결되는 완전 연결층(Fully Connected Layer) 구조
- 다층 퍼셉트론은, 딥러닝의 기본적인 구성 요소로, CNN, RNN 등의 심층 신경망의 기초가 됨
- 학습 과정 : 역전파 알고리즘을 사용하여 학습
. 순전파 (Feedforward) : 입력을 통해 각 층의 출력을 순차 계산하여 최종 출력층까지 전달
. 오차 계산 (Error Calculation) : 출력층의 출력과 실제 정답 간의 오차를 계산
.. 오차는 손실 함수(Loss Function)를 통해 정의됨
. 역전파 (Backpropagation) : 출력층부터 입력층 방향으로 오차를 전달하며 가중치를 조정
.. 가중치 갱신(Weight Update)는 경사 하강법에 의해 오차를 최소화하는 방향으로 이루어짐
- 학습 모델의 형성 : (종단간 학습, end-to-end learning)
. 충분히 학습을 진행하면, 여러 층을 경유하면서,
. 임의 데이터를 입력 받아 이를 점진적으로 변형하며 출력을 내는 모델이 만들어짐
5. 인공 신경망의 학습 방식
ㅇ 가중 링크 (Weighted Link)
- 뉴런들 간에 링크로 연결되어 있고,
- 그에 연관된 수치 가중치가 있어서,
- 가중치들을 반복적으로 조정하며 학습이 이루어짐
ㅇ 즉, 가중치 조정으로 프로그램될 수 있는 학습능력을 갖는다고 볼 수 있음
6. 인공 신경망의 응용
ㅇ 분류,예측,평가,합성,제어 등 다양한 분야에 적용 가능함
- 즉, 일반적인 문제 해결을 위한 수학적 도구로써 주로 활용됨
ㅇ 例) 이미지 분류, 음성 인식, 동영상 추천, 바둑 경기 등
7. 인공 신경망의 종류
ㅇ DNN (Deep Neural Network, 심층 신경망)
ㅇ CNN (Convolutional Neural Network, 합성곱 신경망)
- 컴퓨팅 성능의 향상, 훈련 데이터의 증가, 심층 신경망 훈련에 대한 다양한 기법 덕분에,
복잡한 시각 작업에서 CNN은 인간을 능가하게 됨
- 응용 例) 검색 서비스, 자율 주행차, 자동 비디오 분류 시스템 등
ㅇ RNN (Recurrent Neural Network, 순환 신경망)