반응형

 

이전 복습


 

 

 

오늘 배울 것


1) 셋업

: activation functions, preprocessing, weight initialization, regularization, gradient checking

2) training dynamics

: baby sitting learning process, parameter updates, hyperparameter optimization

3) evaluation

: model ensembles

 

 

Activation Functions


 

 

* sigmoid

- output을 [0. 1] 내로 귀결시킨다.

[ 문제점 ]

- x가 너무 작거나 너무 크면(saturated) gradient 사라지는 문제발생

- sigmoid output이 zero-centered가 아니다.

- exp() 계산 시간이 소요된다.

 

* tanh(x)

[ 해결된 것 ]

- zero-centered임 

[ 문제점 ]

- x가 너무 작거나 너무 크면(saturated) gradient 사라지는 문제발생

 

* ReLU

[ 해결된 것 ]

- does not saturate

- 계산 효율적

- converge 하기에 더 빠름

- 생물학적으로 더 그럴듯하다.

- > AlexNet에서 사용

 

[ 문제점 ]

- not zero-centered

- 음수에서는 zero-gradient

 

 

dead-ReLU :

because of bad initialization, too high learning rate, 

 

* Leaky ReLU

[ 해결된 것 ]

- does not saturate

- 계산 효율적

- converge 하기에 더 빠름

- 생물학적으로 더 그럴듯하다.

- 음수에서도 gradient가 죽지 않는다.

 

* ELU

- 모든 ReLU의 장점

- exp() 계산 시간이 소요된다.

 

* tip

 

 

Data preprocessing


1) preprocess the data

normalize -> zero-centering, PCA, whitening

 

In practice) subtract the mean image

 

 

 

Weight Initialization


모든뉴런에서 동일한 gradient 가짐

1) small random numbers

-> small network에서는 괜찮지만, deep network에서는 not work well

all activations become zero!

 

 

 

Batch Normalization


input의 각각의 dimension을 가우시안 분포로 만드는 작업

fully-connected layer나 convolution layer 뒤에 붙인다.

nonlinearity 앞에 붙인다.

 

 

 

Babysitting the Learning Processing


1) data preprocessing

2) choose the architecture

tuning learning rate

cross-validation strategy

lr 너무 커서, reg 많이 안들어가서?

 

hyperparameter 조정 : 네트워크, Learning rate, ..

loss curve 보기

 

weight가 너무 큰지 확인

 

 

 

반응형

+ Recent posts