일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Self-loop attention
- XOR
- Classificaion
- Set Transformer
- sentence embedding
- elif
- Attention
- neural net
- pytorch
- NLP
- abstraction
- Python
- overfitting
- sigmoid
- GNN
- python practice
- deep learning
- machine learning
- Transformer
- word2vec
- Today
- Total
Research Notes
[DL] Neural Network - ReLU and Weight Initialization 본문
▶ ReLU의 출현
- 신경망의 층이 깊을때, Backpropagation을 사용하였을 경우 학습이 잘 안됨 : Vanishing Gradient(경사 감소 소멸)
- sigmoid의 잘못된 사용
▶ReLU : Rectified Linear Unit
- ReLU 함수 : x가 0보다 크면 y=x, x가 0보다 작으면 0
▶ 다양한 Activation Functions
- sigmoid, tanh, ReLU, Leaky ReLU, Maxout, ELU 등 여러 가지의 활성화함수가 존재
▶ Weight 초기값 정하기
- Vanishing Gradient를 해결할 수 있는 방법
1) ReLU 함수의 사용
2) Weight의 초기값을 잘 정하기
- 초기값을 줄 때 주의점
· 값에 0을 주면 안됨
· RBM(Restricted Boatman Machine)을 사용하여 가중치 초기화를 시키는 네트워크를 사용할수도 있다.
▶ RBM(Restricted Boatman Machine)
- 2개의 레이어만 사용하여 encoder, decoder를 반복하여 pre-training을 함.
1. 처음의 두 레이어를 입력값과 유사하게 학습을 시킨다.
2. 그 다음의 두 레이어 학습
3. 그 다음의 두 레이어 학습
4. 실제 학습 데이터를 사용하여 마지막 학습 ; Fine Tuning
- RBM은 처음에는 획기적이었으나 복잡하였음.
▶Xavier Initialization
- 입력값(fan_in)과 출력값(fan_out)에 따라서 W을 랜덤하게 줌. (아래와 같은 방식)
# Tensorflow
W = np.random.randn(fan_in, fan_out)/np.squrt(fan_in)
# 2015 오류 개선
W = np.random.randn(fan_int, fan_out)/np.sqrt(fan_in/2)
- 이러한 형태로 주면 RBM과 유사한 성능을 낼 수 있다고 밝혀짐.
'Study > Deep Learning' 카테고리의 다른 글
[DL] Convolutional Neural Networks (CNN) (0) | 2023.07.03 |
---|---|
[DL] Neural Network - Dropout and Model Ensemble (0) | 2023.07.03 |
[DL] Neural Network - XOR Problem, Back-propagation (0) | 2023.07.03 |
[DL] Basic Concept of Deep Learning (0) | 2023.07.03 |
[DL] Skip-Thought Vectors (0) | 2022.09.21 |