Что такое inception модуль?
Что проверяют
Умеете ли вы читать архитектуру свёрточной сети как инженерное решение: какой компромисс в неё заложен и какой ценой. Inception удобен именно этим, за ним стоит внятная идея про несколько масштабов сразу и про экономию вычислений.
Как отвечать
Модуль пропускает один и тот же вход через несколько параллельных ветвей: свёртки с ядрами разного размера и ветвь с пулингом. Результаты склеиваются по каналам. Смысл в том, чтобы не выбирать единственный размер рецептивного поля, а дать сети несколько и позволить обучению взвесить их самому.
Вторая идея важнее первой. Свёртки 1x1 стоят перед тяжёлыми ветвями и после пулинга, сжимая число каналов. Без такого узкого места параллельные ветви с ядрами 5x5 стоили бы неприемлемо дорого, и вся конструкция потеряла бы смысл.
Покажите развитие семейства: крупные ядра факторизуются в пары меньших, затем в пары несимметричных, добавляется пакетная нормализация, в поздних версиях приходят остаточные связи, а предельный случай идеи это раздельные по глубине свёртки.
И практический слой. Сегодня как основу для переноса обучения чаще берут более поздние архитектуры, зато сеть этого семейства закрепилась внутри метрик качества генеративных моделей, где она зафиксирована как общий эталон сравнения.
Где спотыкаются
Перечисляют ветви и не объясняют роль свёртки 1x1. Часто говорят, что она уменьшает размер изображения, хотя меняет она только число каналов, а пространственный размер оставляет прежним.
Путают склейку по каналам со сложением в остаточном блоке. Отсюда вторая ошибка: забывают, что ветви обязаны давать одинаковый пространственный размер, иначе склеивать нечего, и подбирают дополнение и шаг наугад.
Берут архитектуру по инерции. Сравнения с современными основами по качеству на своих данных и по времени ответа нет, а предобработку входа тянут из чужого примера, хотя это семейство ждёт своей нормализации и своего размера картинки. Метрика при этом не падает громко, она просто оказывается заметно ниже ожидаемой.