본문 바로가기

반응형

Machine Learning Models/Covolutions

(13)
Temporal Convolutional Network (TCN) Transformer 모델이 등장하기 전에는 자연어처리, 시계열 데이터 처리 등에는 RNN의 LSTM/GRU 모델이 압도적으로 많이 사용되었습니다. 그 와중에서 convolution의 locality를 잡는 특성과 dilation을 이용해 receptive field를 넓힌 WaveNet의 등장 이후 1차원 convolution을 시퀀스 데이터에 적용하려는 시도가 많이 있었는데요, 이번 포스트에서 알아볼 내용은 다양한 시퀀스 벤치마크 데이터셋에 대해서 LSTM/GRU에 비해 높은 성능을 보인 TCN (Temporal Convolutional Network) 모델입니다. Temporal convolutional network Causal convolutions 먼저 시퀀스 모델링을 입력 시퀀스 $x_0, ..
MobileNet (2) 이전 포스트 [Machine Learning/Architecture] - MobileNet (1) Model architecture MobileNet V2의 전체 구조는 Table 와 같습니다. 첫 번째 layer 에서는 32 사이즈 필터의 convolution 을 수행하고 19개의 residual bottlenect 구조로 이루어집니다. 또한, 계산속도를 바르게 하기 위해 연산에 소요되는 bit 수를 줄인 low-precision 을 위해 ReLU6을 사용했고 expansion factor $t$는 6을 사용했다고 합니다. ShuffleNet, MobileNet V1 등의 다른 경량화 모델과의 비교는 Figure 4와 같습니다. ShuffleNet 은 point-wise group convolution..
MobileNet (1) MobileNet 은 저전력/저용량 디바이스인 모바일에 deep neural networks 를 디플로이하기 위해 설계된 대표적인 lightweight model 중 하나입니다. MobileNet V1, V2가 2018년도에 제안되었고 최근에는 NAS와 (Neural Architecture Search) 결합된 MobileNet V3까지 발표되었습니다. 이번 포스트에서는 MobileNet V1, V2 에서 사용된 모델의 경량화를 달성하기 위한 설계 기법들에 대해 살펴보도록 하겠습니다. MobileNet V1 MobileNet V1 은 기존 convolution 을 depth-wise separable convolution 으로 치환한 것으로 요약할 수 있습니다. Depth-wise separable co..
Convolution 의 종류 이번 포스트에서는 convolution 의 기능을 유지하면서 소요되는 파라미터 수와 연산량을 줄이기 위한 다양한 convolution 기법들에 대해 살펴보도록 하겠습니다. 먼저 $W, H, C, K, M$을 각각 입력의 너비, 높이, 채널, 커널 사이즈, 출력 채널 수로 정의하고 stride가 1인 일반적인 상황을 가정하여 입력, 출력 사이즈가 동일하다고 전제합니다. Standard convolution 일반적인 convolution 수행을 위해 몇 개의 파라미터가 필요할까요? 먼저 커널의 사이즈가 $K$이고 입력 채널 수가 $C$이므로 하나의 커널이 가지는 파라미터 수는 $K^2\cdot C$가 됩니다. 이 하나의 커널이 출력의 하나의 채널을 형성하므로 총 $K^2\cdot C\cdot M$개의 파라미..
Slimmable Neural Networks 딥러닝 모델을 실제 어플리케이션에 적용하기 위해 다양한 경량화 기법, 모델 등이 연구되고 있습니다만 deploy를 하기 위한 mobile device 의 종류가 여러 가지고 각각의 computational power와 실행 시간이 다르기에, 목표로 한 device에 맞게 경량화된 모델을 탑재하여야 합니다. 위의 그림처럼 같은 안드로이드를 사용하는 핸드폰이라 하더라도 image classification을 실행하는 시간은 제각각이기에 하드웨어 성능이 좋은 디바이스에는 더 큰 모델을 deploy 하고, 하드웨어 성능이 안 좋은 디바이스에는 latency 최적화를 위한 모델의 성능 감소가 필연적입니다. (latency-accuracy tradeoff) MobileNet이나 ShuffleNet 같은 경량화 모델..
Learning Efficient Convolutional Networks through Network Slimming Convolution Neural Networks (CNN) 모델이 커지고 깊어지면서 모바일 등의 저사양 디바이스에 deployment 하기에 다음과 같은 제약 사향이 발생합니다. 모델이 커지면서 파라미터의 개수가 매우 많아집니다. ResNet-152 은 6천만 개의 파라미터를 가지고 하나의 파라미터가 32 bit (4 byte)의 메모리가 필요한 것을 생각해봤을 때, 모델을 loading 하기 위해 메모리 공간은 수백 메가가 넘어가게 됩니다. 모델의 파라미터를 저장하는 부분 이외에도 중간의 feature map 들을 저장하고 계산하는 run-time memory 도 매우 많이 소요됩니다. 특히 연산량 파워가 작은 임베디드 시스템에서는 큰 문제가 될 수 있습니다. 이 논문에서는 network slimmi..
Pruning Filters for Efficient Convnets ImageNet challenge 이후 Convolutional Neural Networks (Convnets)는 높은 성능을 위해 점점 커지고 깊어졌지만 이에 대한 반대급부로 한정된 computational 리소스를 가진 임베디드 시스템에 모델을 deploy하기가 어려워지고 FLOPS의 증가로 inference 시간이 길어지면서 실시간 서비스가 중요한 웹 서비스에 부적합하게 되었습니다. 이 문제를 해결하기 위해 모델의 불필요한 부분을 제거하거나 (pruning), 모델 파라미터를 표현하는 bit 수를 감소시키는 (quantization) 등의 다양한 모델 압축 기법이 연구되고 있습니다. 이번 포스트에서는 그 중 모델의 영향력이 적은 파라미터를 통째로 제거하는 pruning 기법에 관해 살펴보려 합니다...
EfficientNet Convolution Neural Networks (CNN) 은 일반적으로 레이어가 많고 (deep), feature map의 수가 많고 (wide), resolution이 커야 더 좋은 성능을 얻을 수 있습니다. 하지만 구현 환경에 따른 resource는 한정되어 있다보니 baseline CNN을 구성한 이후 성능을 높이기 위해 굉장히 heuristic한 scaling을 하여 CNN의 complexity를 높이게 됩니다. EfficientNet은 CNN의 feature map 개수 (width), 레이어 개수 (deep), resolution 을 일정한 비율로 증가시키는 compound scaling 방법을 제안하였습니다. 이는 기존에 구성한 baseline 모델에 대해 모델의 depth, width,..

반응형