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..

2024. 1. 11. 01:11

2일차 activation, gradient descent, random initialization, deep neural network, hyperparameter 간단하게

1. non-linear activation z1 = W1x + b1 a1 = g1(z1) z2 = W2a1 + b2 a2 = g2(z2) 만약, g1 = px+q, g2 = rx+s의 선형함수라고 한다면, z2 = W2W1(px+q) + W2b1+b2이고, W2W1 = W3, W2b1+b2 = b3라고 한다면, z2 = W3(px+q)+b3이다. 따라서 몇개의 layer를 연결하더라도, activation이 linear라면, 하나의 layer로 만들어진다. 그래서 함수의 표현력이 떨어져서 hidden layer에서 linear activation은 사용하지 않는다. output layer에서 linear activation을 사용할 수 있으며, 그렇다면 hidden layer은 non-linear ac..

2023. 6. 24. 01:53

CNN visualization6 - grad CAM -

1. motivation ResNet과 GoogleNet은 이미 CAM구조를 가지고 있어서 상관없는데 AlexNet은 global average pooling이 아닌 flatten을 사용했고 fully connected layer도 2개나 사용 이것을 억지로 CAM 구조로 바꾸고 사용한다면 모델 구조가 바뀌면서 parameter size가 호환이 안될 수 있는 문제부터 재학습까지 해야하고 결과적으로 전체적인 모형 성능이 떨어질 수 있음 그래서 특별히 구조를 변경하지도 않고 재학습도 하지 않으면서 CAM을 뽑는 괴물같은 방법이 등장했다 image를 넣으면 CAM처럼 어디 보고 고양이나 개를 판별했는지 heatmap을 그려준다 당연하지만 guided backpropagation saliency map보다 해..

2023. 6. 22. 01:52

CNN visualization4 - guided backpropagation -

1. motivation CNN에서 일반적으로 ReLU를 사용하여 forward pass를 한다 ReLU는 음수 부분을 0으로 만드는 성질이 있다 이것의 backpropagation은 input단에서 음수부분은 gradient가 존재하지 않는다는 것을 기억한다면 gradient map이 가더라도 gradient가 음수인 부분은 input에서 0으로 masking되어 구해진다 파란색 부분은 input단에서 양수인 부분이라 gradient map에서 gradient 값이 들어올 수 있음 2. Zeiler의 deconvolution 앞에서 backpropagation이 input단의 음수인 부분에서 gradient가 흐르지 않게 만들었는데 input으로 들어오는 gradient map에서 음수인 gradien..

2023. 1. 2. 01:45

convolution의 backpropagation 대충

1. convolution은 미분해도 여전히 convolution convolution을 미분하면 도함수와 convolution이 된다. 앞에 있는 f가 커널이라는 거 알지? 2. convolution의 직관적인 계산 그림 처음에는 w1,w2,w3가 x1,x2,x3에 만나서 o1 다음으로 한칸 옆으로 가서 x2,x3,x4를 만나서 o2 다음으로 한칸 옆으로 가서 x3,x4,x5를 만나서 o3 backpropagation을 위해 미분을 해보면 여전히 kernel과의 convolution이 된다는 것을 위에서 보였으므로 왜 x로 전달되느냐 oi의 미분이 xi이기 때문임 $\delta$는 loss를 o로 편미분한 값이다. loss를 w로 미분한것이 $\delta$와 x의 곱으로 나타남 convolution을 ..

2022. 4. 15. 23:50

attention 구조는 NLP를 어떻게 바꾸었는가

1. backpropagation attention의 가중치(attention distribution, attention모듈에는 가중치가 없는데? 근데 이놈들은 결국 encoder의 가중치랑 decoder의 가중치에 영향을 받겠지)를 잘 학습하도록 backpropagation에 의한 gradient가 attention module로도 흘러들어감 gradient vanishing 문제를 어느정도 완화시켰다. 직관적으로 attention구조가 없다면 gradient는 위 그림에서 먼 단어까지 가는데 굉장히 멀어서 잘 안흘러가겠다는 것을 느낄 수 있는데 attention구조에 의해 마치 빠른 길로도 gradient가 흘러들어가는 모습이다.. 2. 다양한 attention mechanism attention 구..