일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dann paper
- tent paper
- Pseudo Label
- Pix2Pix
- mme paper
- 컴퓨터구조
- adamatch paper
- CoMatch
- conjugate pseudo label paper
- semi supervised learnin 가정
- 딥러닝손실함수
- ConMatch
- WGAN
- CGAN
- cifar100-c
- Meta Pseudo Labels
- 최린컴퓨터구조
- dcgan
- 백준 알고리즘
- CycleGAN
- UnderstandingDeepLearning
- BYOL
- SSL
- shrinkmatch paper
- simclrv2
- remixmatch paper
- shrinkmatch
- Entropy Minimization
- mocov3
- GAN
- Today
- Total
Hello Computer Vision
GELU에 대해 이해해보기 본문
최근 ViT라든가 CNN논문들을 살펴보면 ReLU 가 아닌 GELU를 사용하는 경우가 많은데 한번 살펴보려고 한다.
(논문에서 처음 보았을 때는 오타인줄 알았다..)
일단 파이토치 공식문서에 올라와있는 공식들을 한번 살펴보면 다음과 같다.
$GELU(x) = 0.5 * x * ( 1 + Tanh(\sqrt{(2/\pi)} * (x + 0.44715 * x^{3})))$
상당히 직관적이었던 ReLU와는 달리 조금 복잡한 것을 확인할 수 있다.
적용되는 기울기를 살펴보면 ReLU와 비슷하지만 x가 음수인 부분에서 약간의 기울기가 발생하며 값이 낮아질수록 0으로 수렴함을 알 수 있다.
GELU함수는 ReLU, dropout, zoneout 함수들의 특징들을 조합하여 유도되었다고 하는데
ReLU함수가 x부호에 따라 0,1을 deterministic하게 곱하고 dropout은 0,1을 stochastic하게 곱한다는 것을 합쳐
x에 stochastic하게 곱하면서도 이 stochasitcity한 값을 부호가 아닌 x의 값에 따라 정하는 것이다. 그리고 이 값은
$m - Bernoulli(\Phi (x))$ 를 곱한다고 한다.
$\Phi (x) = P(X <= x) , X~ N(0,1)$ 를 뜻하는데 x는 배치정규화를 거치면 일반적으로 정규분포 양상을 띄기 때문에
정규분포를 사용햇다고 한다. 따라서 x가 줄어들수록 함수값이 줄어드므로 x가 dropped될 확률이 높아진다고 한다.
참조 블로그 : https://hongl.tistory.com/236
'딥러닝 > 파이토치' 카테고리의 다른 글
코사인 유사도(Cosine Similarity) 알아보기 (0) | 2023.03.29 |
---|---|
[pytorch] transpose, view 의 차이 알아보기 (0) | 2023.03.16 |
super().__init__() 쓰는 이유 및 부모 클래스 상속 (0) | 2023.02.10 |
Depthwise seperable convolution 이해해보기(XceptionNet, MobileNet) (0) | 2023.01.25 |
transforms.Resize (0) | 2023.01.21 |