Loading...
2022. 11. 5. 17:01

경량화 모델하면 가장 먼저 떠오르는 MobileNetV1의 핵심 아이디어

1. idea MobileNet v1의 핵심 아이디어는 depthwise separable convolution 일반적인 convolution 연산을 2단계로 분리하여 depthwise convolution을 수행하고 pointwise convolution을 수행 계산량이 일반적인 convolution에 비해 줄어드는데 정확도는 오히려 좋아지거나?? 아주 조금 손해를 보는 정도 2. 일반적인 convolution M channel 커널이 M channel input에 한번에 convolution을 수행함 원래 depthwise separable이 연산량이 높을수도 있다고 생각했는데 지금부터 항상 감소한다는 것을 증명할 것이다. kernel size를 $D_{k} \times D_{k}^{'}$, inpu..

2022. 4. 20. 10:00

fully convolutional network는 어떻게 임의의 input size에서 동작하게 만들었을까?

1. 어떻게 하면 임의의 size에도 동작할 수 있을까? 기존 네트워크의 마지막 단인 fully connected layer 대신에 1*1 convolutional layer로 구성하여 가능하게 만들었다 기존 네트워크의 경우는 마지막이 fully connected layer로 linear layer니까 vector 형태로 나와서 class에 대한 확률분포를 구해주기에 적절했다면 fully convolutional network는 convolutional layer이므로 activation map을 출력하여 각 pixel에 속하는 classification 결과를 알 수 있게 해준다. 2. 1*1 convolution layer의 성질 기존 네트워크의 문제점은 output이 하나의 벡터로 나와 이미지 ma..

2022. 2. 8. 18:49

1*1 convolution은 왜 중요한가?

1*1 크기의 kernel을 input에 적용시키면 input의 모든 pixel을 그대로 가져온다 1번 적용하면 output channel은 1이되므로 kernel 수를 적절하게 조절하면 spatial dimension은 그대로 가져오면서 channel만 줄이는 효과가 있다 왜 사용하는가? 그림에서 보이지만 spatial dimension인 256*256을 input에서 output 그대로 가져오면서 channel수를 줄이는 효과를 가진다 convolution을 깊게 만들면서 parameter 수를 줄이는 획기적인 아이디어

2022. 2. 8. 18:23

GoogleNet의 핵심 아이디어 inception module, auxiliary classifier, 1*1 convolution 알아보기

0. 개요 22층으로 구성됨 네트워크 안에 네트워크가 있는 구조인 Network In Network 구조 Inception block이라는 아이디어를 사용함 그림을 보면 값을 여러개로 분산시킨 것이 눈에 먼저 보이는 특징인데 물론 그러면서 얻는 효과도 있다. 5*5 CONV나 3*3 CONV에 들어가기 전에 1*1 CONV를 넣으면서 parameter 수를 감소시킨 것이 중요한 아이디어다. 1*1 conv는 spatial dimension을 그대로 가져오면서 channel수를 줄여 적절하게 사용하면 네트워크는 깊게 구축하면서 parameter 수를 줄일 수 있다 https://deepdata.tistory.com/202 1*1 convolution은 왜 중요한가? 1*1 크기의 kernel을 input에..

2022. 2. 4. 22:15

convolution 연산의 stride와 padding

1. stride filter가 매 스텝 convolution할 때마다 다음회에 얼마나 이동할지 2차원의 경우 stride는 2차원이다, (옆으로 얼마나 이동할지 * 아래로 얼마나 이동할지) 2. padding 일반적으로 input, output은 convolution 연산으로 크기가 서로 달라짐 보통은 output이 input보다 차원이 줄어든다 보통 convolution을 하면 input의 가장자리 빨간색 부분의 정보가 짤린다 그렇지만 input의 모든 정보를 가져오는게 좋지 않겠는가 그래서 input과 output의 크기가 동일했으면 하는 마음이 있다 가장자리 주변에 padding을 하여 모든 정보를 가져오도록 만든다 stride=1인 경우 적절한 크기의 패딩을 사용하면 반드시 input과 outp..

2022. 2. 3. 21:00

convolution 연산 이해하기 중급편

1. convolution signal processing에서 먼저 나왔다 수학적 정의는 다음과 같다. 변수변환을 이용하면 교환법칙이 성립한다 2. convolution의 실제 계산법 커널을 이미지 상에서 stride만큼 움직여간다 찍은 부분에 대해 element wise product를 수행 이미지에 filter를 찍으면 convolution에 의해 filter의 효과에 따라 픽셀의 조정이 이루어지면서 사진이 흐려지거나 밝아지거나 하게 된다 ' 3. convolution의 기본적인 특징 커널과 input의 channel은 크기가 같아야한다 보통 커널은 5*5같이 크기만 제시되는데 input의 channel에 맞춰서 생각하면 된다. input 하나가 kernel 하나에 맞춰 convolution하면 ou..