Comments 10
И вот вся эта машинерия жрет в 2.5 раз больше вычислительных ресурсов, чем Inception-v1 и достигает значительно лучших результатов.
так получается, что GoogLeNet в любом случае при сравнимом качестве с ResNet (0.01% — это не принципиальный проигрыш) работает существенно быстрее, т.к. сложность для ResNet-152 ~12 GFLOP, а для GoogLeNet ~3GFLOP (если считать 2x от Inception v1).
Есть ли какое-нить доступное объяснение, почему «классические» (не residual) глубокие сети с ростом числа уровней начали давать худший training error?
Ну, во первых, при тренировке достаточно глубоких сетей возникает пробелма с исчезающими градиентами. Но эту проблему вроде бы достаточно эффективно побеждают за счет использования Batch Normalization. И в статье про ResNet авторы предположили иную природу такого поведения, а именно то, что при увеличении глубины сети, экспоненциально убывает скорость сходимости, соответственно тупо не получается дождаться сходимости процесса обучения. А residual connections позволяют усиливать активацию на каждом слое, тем самым более эффективно тренирую глубокие слои. Но, даже для таких сетей авторы уткнулись в то, что с некоторого момента возникает проблема с тем, что в датасетах недостаточно данных, чтобы обобщиться с еще большим качеством (насколько я помню, даже для 1000-слойного резнета они уже пришли к выводу, что он мог бы и лучше результаты показать, но данных не достаточно).
Эволюция нейросетей для распознавания изображений в Google: Inception-v3