1. 피드 포워드 신경망(Feed-Forward Neural Network, FFNN)
- 입력층에서 출력층 방향으로 연산이 전개되는 신경망
2. 전결합층(Fully-connected layer, FC, Dense layer)
- 위 이미지와 같이 어떤 층의 모든 뉴런이 이전 층의 모든 뉴런과 연결돼 있는 층
3. 활성화 함수(Activation Function)
- 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수
- 활성화 함수의 특징 - 비선형 함수(Nonlinear function: 직선 1개로는 그릴 수 없는 함수)
- 만약 활성화 함수로 선형 함수를 사용하게 되면 은닉층을 쌓을 수가 없음(선형 함수로는 은닉층을 여러번 추가하더라도 1회 추가한 것과 차이를 줄 수 없음)
- 계단 함수(Step function)
- 시그모이드 함수(Sigmoid function)와 기울기 소실
- 시그모이드 함수의 문제점은 미분을 해서 기울기(gradient)를 구할 때 발생
- 시그모이드 함수를 사용하는 은닉층의 개수가 다수가 될 경우에는 0에 가까운 기울기가 계속 곱해지면 앞단에서는 거의 기울기를 전파받을 수 없게 됨 --> 기울기 소실(Vanishing Gradient) 문제
- 위의 그림은 은닉층이 깊은 신경망에서 기울기 소실 문제로 인해 출력층과 가까운 은닉층에서는 기울기가 잘 전파되지만, 앞단으로 갈수록 기울기가 제대로 전파되지 않는 모습을 보여 줌. 결론적으로 시그모이드 함수를 은닉층에서 사용하는 것은 지양 함
- 하이퍼볼릭탄젠트 함수(Hyperbolic tangent function) : 입력값을 -1과 1사이의 값으로 변환
- 시그모이드 함수와 비교하면 반환값의 변화폭이 더 큼(기울기 소실 증상이 적은 편)
- 은닉층에서 시그모이드 함수보다는 많이 사용됨
- 렐루 함수(ReLU) : 음수를 입력하면 0을 출력하고, 양수를 입력하면 입력값을 그대로 반환
- 단순 임계값이므로 연산 속도가 빠름
- 죽은 렐루(dying ReLU) : 입력값이 음수면 기울기도 0. 이 뉴런은 다시 회생하는 것이 매우 어려움
- 리키 렐루(Leaky ReLU) : 입력값이 음수일 경우에 0이 아니라 0.001과 같은 매우 작은 수를 반환
- 소프트맥스 함수(Softmax function)
4. 행렬의 곱셈을 이용한 순전파(Foward Propagation)
- 인공 신경망에서 입력층에서 출력층 방향으로 연산을 진행하는 과정
- 출처 : [딥러닝을이용한 자연어 처리 입문] 0802 인공 신경망(Artificial Neural Network) 훑어보기
'IT 와 Social 이야기 > NLP 자연어처리' 카테고리의 다른 글
[딥러닝을이용한 자연어 처리 입문] 0804 과적합(Overfitting)을 막는 방법들 (0) | 2021.05.18 |
---|---|
[딥러닝을이용한 자연어 처리 입문] 0803 딥 러닝의 학습 방법 (0) | 2021.05.18 |
[딥러닝을이용한 자연어 처리 입문] 0801 퍼셉트론(Perceptron) (0) | 2021.05.18 |
[딥러닝을이용한 자연어 처리 입문] 0709 소프트맥스 회귀(Softmax Regression) - 다중 클래스 분류 (0) | 2021.05.18 |
[딥러닝을이용한 자연어 처리 입문] 0708 벡터와 행렬 연산 (0) | 2021.05.18 |