mobilenet
MobileNet (Howard et al., Google, 2017) is a family of CNNs designed from the ground up to run fast on phones and other devices with tight compute and power budgets, while staying accurate enough to be useful. Its central trick is the depthwise separable convolution, which replaces a standard convolution with two cheaper steps. A standard convolution mixes information across space and across channels simultaneously, which is expensive. The separable version factorises this into a depthwise convolution, one spatial filter applied independently to each input channel (it mixes space but not channels), followed by a pointwise 1x1 convolution that mixes across channels (but not space). Doing the two jobs in sequence rather than jointly cuts the computation by roughly a factor equal to the kernel area, often eight to nine times for 3x3 kernels.
On top of this, MobileNet exposes two global knobs that let a practitioner trade accuracy for speed without redesigning the network. The width multiplier (alpha) uniformly scales the number of channels in every layer, shrinking the model and its computation roughly quadratically. The resolution multiplier scales the input image size, which scales computation quadratically as well. Together these let you slide along an accuracy-versus-latency curve to fit a specific device or latency target, which is exactly what deployment on a wide range of phones requires.
The family has evolved meaningfully. MobileNetV2 (2018) introduced the inverted residual with a linear bottleneck: it expands channels with a 1x1 convolution, applies the depthwise convolution in that high-dimensional space, projects back down with a 1x1 convolution, and crucially omits the final nonlinearity (the 'linear bottleneck') because applying ReLU in a low-dimensional space destroys information; a residual shortcut connects the narrow bottlenecks. MobileNetV3 (2019) used neural architecture search to tune the structure, added squeeze-and-excitation channel attention, and replaced some activations with the hardware-friendly h-swish. MobileNet's depthwise separable convolution became one of the most important primitives in efficient deep learning, reused in Xception, EfficientNet, and many on-device models.
A frequent confusion: V2's residual is called 'inverted' because, unlike a ResNet bottleneck (wide-narrow-wide), it goes narrow-wide-narrow and connects the narrow ends. And the bottleneck is deliberately 'linear' (no ReLU on the final projection) precisely because ReLU on a low-dimensional, compressed representation would zero out and lose too much information.