Loading...
2024. 4. 15. 23:37

batch normalization 개념 간단하게

internal covariate shift 현상을 해결하기 위해 등장 layer를 지날수록 layer의 parameter의 변화에 따라 dataset의 분포가 변화한다고 생각한 것이다. 위와 같이 data가 layer를 지나가면서 분포가 변화한다고 생각한 것이 covariate shift 그런데 진짜있는 것인지는 논란이 많다 batch normalization은 각 layer마다 batch set을 normalization하여 분포의 변형을 막겠다는 것이다. batch의 평균과 분산을 구해서 각 입력값을 normalize 시킨다 마지막 $\gamma , \beta$는 normalize하면 activation의 nonlinearity를 잃어버리기 때문에 이를 조정하기 위함이고 학습해야하는 paramete..

2023. 6. 7. 17:42

neural network를 training 하기 전에 input을 normalization해야하는 이유

1. normalization 신경망의 훈련을 빠르게 하기 위해 필요한 input normalization 다음과 같이 2차원의 입력데이터가 존재할때 주어진 데이터의 평균을 빼고, 표준편차를 나누는 방법으로 normalization할 수 있다. 데이터에 평균을 빼서 얻은 새로운 값의 평균은 0이 되고 위 그림에서 $x_{1}$이 $x_{2}$보다 분산이 더 큰 특징이 있다. 표준편차를 나눠서 얻은 새로운 값의 분산은 1로 되어 $x_{1}$과 $x_{2}$의 산포가 동일해진다. $$Z = \frac{X-\mu}{\sigma}$$ $$\mu = \frac{1}{m}\sum_{i = 1}^{m} X_{i}$$ $$X = X - \mu$$ 새로 얻은 X의 평균은 0이므로, 분산은 다음과 같이 구할 수 있다. ..

2022. 5. 5. 19:03

transformer에 사용된 residual connection과 layer normalization

1. residual connection self attention 구조하에 당시 좋은 성능 향상 기법인 residual add connection, layer normalization을 채택했다. input $X_{t}$의 encoding 결과로 $h_{t}$라는 hidden vector를 얻고 싶은데 multi head attention이 학습하는 결과는$h_{t}-X_{t}$라고 하는 것이며 이 결과에 input $X_{t}$를 그대로 더하여 $h_{t}$라는 목표하는 hidden vector를 얻는다. input의 (1,4)의 multi head attention 결과로 얻은 (2,3)에 단순히 더하여 (3,7)이라는 벡터를 얻는 과정이 residual connection이다. 입력 input과 ..