일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- col_names
- JavaScript
- Sequential Model
- r
- 모각공
- NomadCoder
- regular expression
- summarise( )
- 베이즈통계학
- 네이버커넥트재단
- LinearNeuralNetwork
- dplyr
- 부스트캠프 aitech3기
- Beyond Linear Neural Networks
- RNN
- 네이버커넥트
- Filter
- aitech
- convolution 역전파
- 부스트캠프aitech3기
- group_by( )
- 생활코딩
- 역전파알고리즘
- 자바스크립트
- Convolution
- 정규표현식
- Multi-Layer Perceptron
- regex
- mutate( )
- 부스트캠프
- Today
- Total
clear_uncertainty
네이버 부스트캠프 모각공 캠페인 9일차 - Optimization 본문
네이버 부스트캠프 모각공 캠페인 9일차 - Optimization
SOidentitiy 2021. 11. 18. 22:09
모든 설명 및 자료의 출처는 네이버 부스트코스의 <[부스트캠프 AI Tech 3기] Pre-Course>입니다.
(https://www.boostcourse.org/onlyboostcampaitech3/joinLectures/329424)
<인공지능 본격 탐구: 딥러닝 기초>
Optimization
"Language is the source of misunderstanding" - Antoine de Saint-Exupery (1900-1944)
"언어가 잘못된 이해의 원천이다 "
최적화에 대한 많은 용어가 생기는데 용어에 명확한 이해가 없다면 뒤로 갈수록 큰 오해가 쌓일 수 있습니다.
Gradient Descent
First-order iterative optimization algorithm for finding a local minimum of a differentiable function
Important Concept in Optimization
용어
-Generalization
-Under-fitting vs Over-fitting
-Cross validation
-Bias-variance tradeoff
-Boostrapping
-Bagging and Boosting
Generalization(일반화)
How well the learned model will behave on unseen data
많은 경우에 우리는 일반화 성능을 높이는 것이 목표입니다.
Training error 가 0이 됐다고해서 우리가 원하는 최적화 값에 도달했다고 보장할 수 없습니다.
일반적으로 Training error가 줄어들지만 시간이 지날수록 Test error(학습하지 않은 데이터)가 증가합니다.
따라서 Generalization gap이 증가합니다.
Generalization gap: Test error 와 Training error 와의 차
학습데이터의 성능 자체가 안 좋을 때 Generalization performance가 좋다고해서 Test performance가 좋다고 말할 수 없습니다.
Underfitting vs Overfitting
Underfitting: 학습데이터에 대해서 잘 동작하지 못하는 것
Overfitting: 학습데이터에 대해선 잘 동작하지만 Test data 에 대해선 잘 동작하지 않는 것
Cross-validation
Cross-validation is a mode validation technique for assessing how the model will generalize to an independent(test) dataset.
k for validation 이라고도 불립니다.( 위는 5 for validation)
학습데이터와 validation 데이터를 k개로 나눠서 k-1개로 학습을 시키고 나머지 1개로 test를 해보는 것
Cross-validation 을 통해 hyperparameter를 찾습니다.
test validation을 활용해 Cross-validation 하거나, hyperparameter를 찾는 것은 절대 안 됩니다.
Bias and Variance
Variance : 입력을 넣었을 때 출력이 얼마나 일관적인가. Variance가 큰 모델은 비슷한 입력이 들어와도 출력이 많이 다릅니다.
Bias : 평균적으로 봤을때 mean과 얼마나 벗어나는가.
Bias and Variance Tradeoff
학습데이터에 노이즈가 껴있다고 가정했을때
Tradeoff : 값 하나가 작아지면 다른 값 하나가 커진다.
t: target
f hat : neural network 출력값
cost를 minimize 할려고하면 bias, variance, noise를 줄여야하는데 동시에 줄일 수 없다.
bias 를 줄이면 variance가 높아지고, variance를 줄이면 bias 가 높아질 확률이 큽니다.
Boostrapping
Bootstrapping is any test or metric that uses random sampling with replacement.
학습데이터가 고정되어 있을 때 그 안에서 sub sampling을 통해 학습데이터를 여러개를 만들고
이를 통해 여러 모델, metric을 만드는 것
Bagging vs Boosting
Bagging(Bootstrapping aggregating)
Multiple models are being trained with bootstrapping.
ex)Base classifiers are fitted on random subset where individual predictions are aggregated (voting or averaging).
학습데이터를 여러개를 만들어 여러 모델을 통해 output의 평균을 내는 것 (앙상블)
Boosting
It focuses on those specific training samples that are hard to classify.
A strong model is built by combining weak learners in sequence where each learner learns from the mistakes of the previous weak learner.
여러개의 모델을 만들어 합치는 것 , 여러개의 weak learne가 하나의 strong model을 만드는 것
Gradient Descent Methods
Stochastic gradient descent - Update with the gradient computed from a single sample
Mini-bath gradient descent - Update with the gradient computed from a subset of data
Batch gradient descent - Update with the gradient computed from the whole data
Batch-size Matters
"It has been observed in practice that when using a larger batch there is a degradation in the quality of the model, as measured by its ability to generalize"
"We ... present numerical evidence that supports the view that large batch methods tend to converge to sharp minimizers of the training and testing functions. In contrast, small-batch methods consistently converge to flat minimizers... this is due to the inherent noise in the gradient estimation."
Gradient Descent Methods
Stochastic gradient descent
Momentum
Nesterov accelerated gradient
Adagrad
Adadelta
RMSprop
Adam
Gradient Descent
Learning rate를 적절히 잡아주는 것이 중요합니다.
Momentum
Momentum의 장점은 한 번 흘러가기 시작한 gradient를 유지시켜줍니다.
Nesterov Accelerated Gradient
Adagrad
Adagrad adapts the learning rate, performing larger updates for infrequent and smaller updates for frequent parameters.
parameter가 얼마나 변한지를 계산하여 많이 변한 parameter은 적게 변화시키고 적게 변한 parameter은 많이 변화시킵니다.
가장 큰 문제는시간이 지날수록 G(Sum of gradient squares)는 계속해서 커지기때문에 결국에는 G가 무한대로 가게되면 W의 업데이트가 진행지지않습니다.
Adadelta extends Adagrad to reduce its monotonically decreasing the learning rate by restricting the accumulation window.
Adadelta의 큰 특징은 learning rate가 없습니다. 우리가 바꿀수있는 요소가 많지않기때문에 많이 활용되는 방법은 아닙니다.
RMSprop
RMSprop is an unpublished adaptive learning rate method proposed by Geoff Hinton in his lecture.
Adam
Adaptive Moment Estimation (Adam) leverages both gradients and squared gradients.
Regularization
Early stopping
Parameter norm penalty
Data augmentation
Noise robustness
Label smoothing
Dropout
Batch normalization
Early Stopping
추가적인 validation error 가 필요합니다.
Parameter Norm Penalty
It adds smoothness to the function space
function space 속에서 함수를 최대한 부드러운 함수로 보자라는 관점
Data Augmentation
More data are always welcomed
데이터가 적을때는 DL보다 Neural Networks , ML이 효과적입니다.
However, in most cases, training data are given in advance
In such cases, we need data augmentation
데이터 수를 늘리는 것을 Data Augmentation입니다.↓
Noise Robustness
Add random noise inputs or weights
입력값에 noise를 집어넣는 것 (weight, input) > 결과가 잘나옴
Label Smoothing
Mix-up constructs augmented training examples by mixing both input and output of two randomly selected training data
데이터 2개를 뽑아서 이 2개를 섞어주는 것
Cutmix constructed augmented training examples by mixing inputs with cut and paste and outputs with soft labels of two randomly selected training data.
Cutout 은 일정 부분을 빼버리는 것입니다.
Dropout
In each forward pass, randomly set some neurons to zero
Batch Normalization
Batch normalization compute the empirical mean and variance independently for each dimension (layers) and normalize.
There are different variances of normalization
출처
'네이버 부스트캠프 - AI Tech 3rd > 인공지능 본격 탐구: 딥러닝 기초' 카테고리의 다른 글
네이버 부스트캠프 모각공 캠페인 10일차 - Sequential Models - RNN (0) | 2021.11.19 |
---|---|
네이버 부스트캠프 모각공 캠페인 10일차 - CNN-Convolution은 무엇인가? (0) | 2021.11.19 |
네이버 부스트캠프 모각공 캠페인 9일차 - 뉴럴 네트워크 - MLP (Multi-Layer Perceptron) (0) | 2021.11.18 |