01. Deep Neural Network 훈련의 핵심
- Gradient Descent (경사하강법)
- 목적 - 실제 값과 예측 값의 차이를 최소화 하는 parameter(0) 발견
- 방법 - 손실 함수를 정의하여 손실 함수의 값이 0으로 수렴하도록 parameter(0) 조절
- Backpropagation (오차역전파)
- 손실 함수를 최소화 하는 방향으로 신경망 전체의 parameter가 update 되도록 하는 기법
- 경사하강법과 parameter update (선형회귀)
- 손실 함수
- 비용 함수(cost function), 목적함수(object function) 등으로도 불림
- 경사하강법이 가능하도록 미분 가능한 함수를 정의
- 대표적 손실 함수
- Linear Regression (선형 회귀) - MSE(Mean Squared Error)
- Binary Clasification (이진 분류) - Binary-Cross-Entropy
- Multi-Class Classification (다중 분류) - Categorical-Cross-Entropy
- Global Minima / Local Minima
- Learning Rate (α)
- Step size
- Range : 1e-6 ~ 1.0 (default 0.01)
- High learning rate – fast learning, may overshoot the target
- Low learning rate – slow learning, may take long time
- Adaptive Learning Rates
- 초기값을 크게 주고 학습 진행에 따라 slow down
- Stochastic Gradient Descent (확률적 경사하강법)
- Optimizers
- Stochastic Gradient Descent Optimizer
- RMSProp Optimzer
- Adagrad Optimizer
- Adam Optimizer, etc
- epoch
- 정의 - 전체 dataset이 neural network를 통해 한번 처리된 것
- Epoch 은 model 의 training 시에 hyperparameter 로 횟수 지정
- 하나의 epoch 은 한번에 처리하기 어려운 size 이므로 여러 개의 batch 로 나누어 처리
- Parameter training 을 위해서는 여러 번 epoch 을 반복해야 한다.
- One epoch 내에서의 iteration 횟수는 total sample size / batch size
- Ex) 1 epoch = 4 iterations = 2000 training example / 500 batches
- Hyper-parameters
- a - Learning Rate
- b - momentum term
- # of layers
- Dropout rate
- # of epochs
- Batch size
- Hyper-parameter 값 결정
- 정해진 RULE이 없음
- 유사한 model 참조
- 경험에 의한 guessing
- Grid search – computationally expensive
'JavaScript Dev. > Tensorflow.js' 카테고리의 다른 글
Logistic Regression (0) | 2024.01.07 |
---|---|
Linear Regression (0) | 2023.11.23 |
Visualization(시각화 도구) - tfjs-vis API (0) | 2023.11.20 |
04. Data Handling API (0) | 2023.11.16 |
03. Tensors (0) | 2023.11.14 |