1. introduction weight뿐만 아니라 activation에도 quantization을 적용할 수 있다 심지어 activation과 weight에 서로 다른 quantization을 적용할 수 있다 activation끼리도 서로 다른 quantization 적용이 가능하고 weight끼리도 서로 다른 quantization 적용이 가능하다 위 그림을 보면 weight에 모두 8bit로 quantization을 하고 activation 3개에는 모두 다른 16bit, 8bit, 3bit quantization을 하고 있다 2. problem activation function을 quantization하면 문제점은 계단함수가 되어 모든 구간에서 미분이 안된다는 문제점이 있다 forward ..
internal covariate shift 현상을 해결하기 위해 등장 layer를 지날수록 layer의 parameter의 변화에 따라 dataset의 분포가 변화한다고 생각한 것이다. 위와 같이 data가 layer를 지나가면서 분포가 변화한다고 생각한 것이 covariate shift 그런데 진짜있는 것인지는 논란이 많다 batch normalization은 각 layer마다 batch set을 normalization하여 분포의 변형을 막겠다는 것이다. batch의 평균과 분산을 구해서 각 입력값을 normalize 시킨다 마지막 γ,β는 normalize하면 activation의 nonlinearity를 잃어버리기 때문에 이를 조정하기 위함이고 학습해야하는 paramete..
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..
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보다 해..
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..
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이기 때문임 δ는 loss를 o로 편미분한 값이다. loss를 w로 미분한것이 δ와 x의 곱으로 나타남 convolution을 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.