Data Science/Deep Learning

1. 가장 단순한 신경망을 통한 작동원리 - Shallow Neural Network

HJChung 2020. 4. 3. 16:22

1) Artificial Neural Network (인공 신경망)

: 뉴런이 모여 서로 연결된 형태를 인공신경망 이라고 합니다. 딥러닝 네트워크는 인공신경망을 기반으로 합니다. 

더보기

인공 신경망의 또 다른 부흥의 근거

1. 신경망을 훈련시키기 위한 데이터가 방대하다. 인공 신경망은 규모가 크고 복잡한 문제에서 다른 머신러닝 기법보다 좋은 성능을 나타낸다. 

2. 수백만 개의 강력한 GPU카드를 생산해 내는 게임 사업과 무어의 법칙 등 1990년대 이후 크게 발전된 컴퓨터 하드웨어의 성능

3. 훈련 알고리즘의 향상

4. 인공 신경망의 투자 와 진보 선순환

등이 있습니다. 

출처: <핸즈온 머신러닝> 329p

2) Fully-connected layer ; Dense layer (전결합 계층)

뉴런이 모인 한 단위인 layer(계층) 과 이전 계층의 모든 뉴런이 서로 연결된 계층을 2개의 fully connected layer라고 합니다. 

보충하자면, 이 과정은 DNN에서 feature map을 이 과정을 통해 Flatten하게 해주고, 이를 shallow Neural Network의 input으로 넣어주어서 최종적인 Activatiton function에 따라 출력결과를 내는 기능을 합니다. 

 총 연결 수: layer1의 뉴런 수 x layer2의 뉴런 수 = 4x4 = 16

 

3) Shallow Neural Network (얕은 신경망)input layer, hidden layer, output layer이 세 가지로만 구성되고, hidden layer와 output layer가 fully connected layer인 모델을 말합니다.

이 경우 처럼 input과 output 간에 상관성이 있을 경우, 이를 학습하여 새로운 입력에 대해 Activatiton function에 따라 출력결과을 낼 수 있습니다. 

 

4) Shallow Neural Network를 이용한 Regression과 Classification

앞에서 계속 input에 대해 새로운 것이 오더라도, 학습한 것을 바탕으로 Activation function에 따라 출력을 낸다고 하였습니다. 출력의 유형에는 Regression(회귀)와 Classification(분류) 가 있습니다. 

1. Regression(회귀)

잡음이 있는 학습 샘플로부터 규칙을 찾아

연속된 값의 출력을 추정하는 것을 '회귀'라고 합니다 

 

 

 

- 회귀를 위한 Shallow Nerural Network의 activation function Identity function으로, 전 범위에 대해 연속 한 값을 출력합니다. 

2. Classification(분류)

입력값을 분석하여 특정 범주를 구분하는 것을 '분류'라고 합니다. 

 

특정 범주가 2개일 때=> Binary Classification

M개의 일때 => Multi class Classification을 사용합니다. 

 

이진 분류의 경우, 다중 분류의 경우는 Shallow Neural Network의 종류가 달라집니다. 

- 이진 분류를 위한 Shallow Nerural Network의 activation functionSigmoid function으로, 출력값이 0.5보다 작으면 class1, 0.5보다 크면 class2로 분류 할 수 있습니다. 

 

- 반면 다중 분류르리 위한  Shallow Nerural Network의 activation functionSoftmax function으로, 각 출력은 해당 class에 속할 확률을 의미합니다. 

 

=> 각 함수의 작동에 관해서는 다음에 수식으로 알아 볼 수 있습니다.