Как устроена архитектура U-Net
Что проверяют
Понимаете ли вы, зачем U-Net нужны skip-соединения и почему архитектура стала базовой для сегментации. Следом часто спрашивают, чем её skip-соединения отличаются от остаточных связей ResNet и какую функцию потерь вы бы взяли.
Как отвечать
U-Net (Ronneberger и соавторы, 2015) это энкодер-декодер для попиксельной классификации:
- энкодер (сжимающий путь): блоки из двух свёрток 3×3 с ReLU и max pooling 2×2. На каждом уровне разрешение падает вдвое, число каналов вдвое растёт (в оригинале от 64 до 1024);
- боттлнек: самый глубокий уровень, признаки несут контекст всего изображения, но потеряли точную локализацию;
- декодер (расширяющий путь): транспонированная свёртка или upsampling поднимает разрешение вдвое, затем снова две свёртки;
- skip-соединения: карта признаков энкодера того же уровня конкатенируется с декодером по каналам. Так возвращаются мелкие детали и точные границы, потерянные при пулинге;
- выходной слой: свёртка 1×1 даёт по каналу на класс, дальше softmax или sigmoid.
Почему работает на малых данных: полностью свёрточная сеть, мало параметров относительно разрешения, а в оригинале ещё сильные аугментации, в том числе упругие деформации.
Покажите, что знаете современную практику: энкодер часто берут предобученный (ResNet, EfficientNet), популярны U-Net++, Attention U-Net и самонастраивающийся nnU-Net для медицины. Та же схема долго служила денойзером в диффузионных моделях генерации изображений.
Где спотыкаются
Путают конкатенацию с суммой. В U-Net признаки склеиваются по каналам, в ResNet складываются, и от этого зависит число входных каналов следующей свёртки.
Уверены, что выход всегда совпадает по размеру со входом. В оригинальной статье свёртки без паддинга, маска получается меньше входа, а большие снимки обрабатывались перекрывающимися тайлами. В современных реализациях ставят padding=1, и размеры совпадают.
Не упоминают функцию потерь и дисбаланс классов. Когда объект занимает пару процентов пикселей, чистая кросс-энтропия учит модель рисовать фон. Спасают Dice или Focal loss, их комбинация с кросс-энтропией и метрика IoU вместо accuracy.