일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pip
- json
- code
- Ai
- github
- cs224n
- install
- git
- Stanford
- machinelearning
- Statistics
- terminal
- seq2seq
- language_model
- tab
- computer_setting
- Vim
- computer
- deeplearning
- Standford
- natural_language_processing
- text
- review
- gensim
- cs231n
- nlp
- error
- linux
- slideshare
- paper_review
- Today
- Total
NLP/AI/Statistics
[cs231n] Note 6: Neural Network-2 (Data Processing) 본문
[cs231n] Note 6: Neural Network-2 (Data Processing)
Danbi Cho 2021. 3. 24. 20:02Neural network 2 에서는 데이터를 처리하고 모델을 설계하는 방법에 대하여 설명한다.
1. Data Processing
2. Weight Initialization
3. Batch Normalization
4. Regularization
위의 순서대로 정리할 예정이다.
Data Processing은 말 그대로 데이터를 전처리하는 과정으로 볼 수 있다.
어떤 task를 수행하기 위한 데이터가 있을 때,
데이터 간의 분포가 다를 수도 있고 데이터 내의 이상치들이 많이 존재할 수 있다.
이럴 경우, 데이터 간의 차이로 인해 학습이 제대로 수행되지 않거나 이상치에 의해 학습에 노이즈가 발생하는 문제가 발생한다.
이를 처리해주기 위해 데이터를 전처리함으로써 모델이 데이터에 대한 학습을 충분히할 수 있도록 하는 것이 중요하다.
가장 기본적인 방법은 mean substraction이다.
전체 데이터을 $X = (x_1, x_2, .., x_n)$이라고 할 때,
$X$의 평균을 각 데이터에서 빼주는 방식이다.
즉, $x_1 = x_1 - mean(X)$와 같이 수행된다.
mean substraction 방법은 평균을 빼주기 때문에 zero-centered 되어 데이터를 모아주는 효과가 있다.
다만, zero-centered 방법은 데이터의 분포를 표준화시키지는 못한다.
그렇기 때문에 통계적으로 많이 사용되는 표준화 (normalization) 방식이 수행되기도 하다.
normalization은 데이터의 차원을 동일한 기준으로 정규화시키는 작업을 의미한다.
normalization을 위한 방법으로 2가지가 있다.
첫 번째로, 각 데이터를 표준편차로 나누어주는 방법이다.
이 방법은 데이터가 zero-centered 되어 있을 때 수행된다.
즉, 각 데이터에 대하여 평균을 빼고 표준편차로 나누어 주는 Z 정규화 방식과 같다.
두 번째는 전체 데이터의 범위를 [-1, 1]로 축소시키는 방법이다.
데이터를 처리하는 방법으로 PCA와 Whitening 방법이 있다.
이 방법들 역시 데이터를 중심으로 처리해주는 역할을 수행하여 SVD를 통한 공분산 행렬의 연산을 활용한다.
PCA (Principal Component Analysis)는 데이터의 차원을 축소시켜 벡터를 변환시켜주며
whitening은 각 데이터를 고유값으로 나누어 정규화시키는 작업이다.
#. 사실 PCA와 whitening 방법은 convoluational network에서는 잘 사용되지 않는다.
참고) https://cs231n.github.io/neural-networks-2/#datapre
'Stanford Lectures : AI > CS231n' 카테고리의 다른 글
[cs231n] Note 6: Neural Network-2 (Batch Normalization) (0) | 2021.04.15 |
---|---|
[cs231n] Note 6: Neural Network-2 (Weight Initialization) (0) | 2021.03.30 |
[cs231n] Note 5: Neural Networks-1 (Activation function) (0) | 2021.02.08 |
[cs231n] Note 3: Optimization (Gradient Descent) (0) | 2021.01.12 |
[cs231n] Note 3: Optimization (Optimization) (0) | 2021.01.11 |