심층 학습/MobileNet
1. 소개
이번에는, 스마트폰 등의 용량이 적은 소형 단말기에 CNN을 싣기 위해서 개발된 MobileNet에 대해 정리합니다.
2.MobileNet.V1
통상의 Convolution의 모식도입니다. $(h,w,C_i)\to(h,w,C_o)$가 되는 stride1의 k×k Convolution을 생각하면, 파라미터수는 $hw*C_i*k^2*C_o$가 필요합니다.
Depthhwise Separable Convolution의 모식도입니다. 통상의 Convolution은 공간 방향과 채널 방향의 컨벌루션을 동시에 실시합니다만, 이 모델은 공간 방향의 컨벌루션(Depthwise Conv)을 행하고 나서, 채널 방향의 컨벌루션(Pointwise Conv)을 실시하는 것과 같이 2단계로 실시합니다 합니다. 이를 통해 매개 변수 수를 $\frac{k^2+C_o}{k^2*C_o}=\frac{1}{k^2}+\frac{1}{C_o}$로 줄일 수 있습니다. 합니다.
3.MobileNet.V2
MobileNet.V2는 Inverted Residual이라는 ResNet에서 사용되는 Residual Block을 응용한 블록을 가지고 있는 것이 특징입니다. Residual Block은 입력에서 채널 방향으로 주목하면 넓은 -> 좁은 -> 넓다는 구조(Bottleneck 구조)가 되어 있지만, Inverted Residual에서는 좁은 -> 넓음 -> 좁다고 합니다.
3×3Depthwise Conv.를 1x1Conv.(Pointwise Conv.)로 끼우는 구조입니다. 이 구성을 통해 파라미터를 증가시키는 최대 요인인 출력 채널 수를 대폭 줄일 수 있습니다.
출력 채널 수를 대폭 줄이는 것은 그만큼 정보량을 충분히 추출할 수 없어 정밀도가 나오지 않게 됩니다만, Inverted Residual Block 안에서 채널 수를 일단 늘려 컨벌루션을 실시해 채널수를 되돌리는 것 에서 해결하고 있습니다.
4. MobileNet V1과 V2 비교
V2 쪽이 V1보다 압도적으로 적은 채널수로 성립하고 있는 것을 알 수 있습니다.
Reference
이 문제에 관하여(심층 학습/MobileNet), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jun40vn/items/54a62c7b871effb104ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
통상의 Convolution의 모식도입니다. $(h,w,C_i)\to(h,w,C_o)$가 되는 stride1의 k×k Convolution을 생각하면, 파라미터수는 $hw*C_i*k^2*C_o$가 필요합니다.
Depthhwise Separable Convolution의 모식도입니다. 통상의 Convolution은 공간 방향과 채널 방향의 컨벌루션을 동시에 실시합니다만, 이 모델은 공간 방향의 컨벌루션(Depthwise Conv)을 행하고 나서, 채널 방향의 컨벌루션(Pointwise Conv)을 실시하는 것과 같이 2단계로 실시합니다 합니다. 이를 통해 매개 변수 수를 $\frac{k^2+C_o}{k^2*C_o}=\frac{1}{k^2}+\frac{1}{C_o}$로 줄일 수 있습니다. 합니다.
3.MobileNet.V2
MobileNet.V2는 Inverted Residual이라는 ResNet에서 사용되는 Residual Block을 응용한 블록을 가지고 있는 것이 특징입니다. Residual Block은 입력에서 채널 방향으로 주목하면 넓은 -> 좁은 -> 넓다는 구조(Bottleneck 구조)가 되어 있지만, Inverted Residual에서는 좁은 -> 넓음 -> 좁다고 합니다.
3×3Depthwise Conv.를 1x1Conv.(Pointwise Conv.)로 끼우는 구조입니다. 이 구성을 통해 파라미터를 증가시키는 최대 요인인 출력 채널 수를 대폭 줄일 수 있습니다.
출력 채널 수를 대폭 줄이는 것은 그만큼 정보량을 충분히 추출할 수 없어 정밀도가 나오지 않게 됩니다만, Inverted Residual Block 안에서 채널 수를 일단 늘려 컨벌루션을 실시해 채널수를 되돌리는 것 에서 해결하고 있습니다.
4. MobileNet V1과 V2 비교
V2 쪽이 V1보다 압도적으로 적은 채널수로 성립하고 있는 것을 알 수 있습니다.
Reference
이 문제에 관하여(심층 학습/MobileNet), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jun40vn/items/54a62c7b871effb104ee
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
V2 쪽이 V1보다 압도적으로 적은 채널수로 성립하고 있는 것을 알 수 있습니다.
Reference
이 문제에 관하여(심층 학습/MobileNet), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jun40vn/items/54a62c7b871effb104ee텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)