Какую архитектуру взять в качестве бейзлайна и что докинуть в свою?
Вдохновимся статьёй из OpenAI и посмотрим какую сетку они используют в качестве feature extractor для картиночек. А там ResNet из статьи Bag Of Tricks и какой-то antialiased rect-2 blur pooling. Кто такие и почему?
• ResNet Bag Of Tricks это такая сборная статья в которой проверили и попробовали кучу всяких советов\триков\твиков\мудростей накопившихся для свёрточных сетей и соединили всё в одну модель ResNet-D (рис. 1). Статья выступает в роли такого бывалого коллеги сеньёра, который накидывает вам “А вот ты у батчнормов, которые в конце блока, гамму в ноль поставь, тогда у тебя сетка круто по началу сходится начнёт”. В ней подробно описано как учить, что менять в +- современном мире (конечно у нас уже трансформеры, потом собрали ConvNeXt, но Bag Of Tricks всё ещё актуален). Удобно это тем что можно кусочками к себе в пайплайн тянуть всякие улучшения, и не пересобирать всё своё решение.
• Антиалиасинг в нейронных сетях. Сетки которые мы используем не инварианты к сдвигу. Вот так вот, придумали свёртки с учётом, что они инвариантны к сдвигу, а сети у нас совсем не инварианты. Всё из-за коварного пулинга, который как и при обычном сжатии картинок даёт эффект алиасинга. Нам бы очень хотелось сгладить этот эффект, особенно это хочется сделать после того как мы посмотрим на графики зависимости score от сдвига (рис. 2). Решается это проблема обычным размытием перед пулингом.
Основное в ResNet Bag Of Tricks.
• Как скейлить learning rate, какой взять scheduler, кто такой warmup, какой батч сайз взять и прочие training strategy.
• Польза обучения в FP16 на современных видеокартах.
• Что поменять в дефолтной архитектуре ResNet чтобы стало лучше, на что заменить первые свёртки, как поменять Residual Block.
• Какие ауги зашли на ImageNet и у вас наверное сработают.
Это не статья откровение, возможно многое вы уже слышали или даже использовали, но когда всё в одном месте с красивыми табличками и подробно описано, то жить сразу как-то приятнее.
Основное в Making Convolutional Networks Shift-Invariant Again.
Всё что нужно сделать, это из официального репозитория достать реализацию BlurPool и по гайду вставить в свою сеть (рис. 3). В репозитории есть функции, которые это делают за вас, но надёжней просто в своём коде поменять, чтобы вы наверняка знали что у вас поменялось. А самое классное в том что сеть не надо учить заново, она не сильно изменится и можно со спокойной душой дотюнивать со своего претрейна.
#советы #nn #training
Вдохновимся статьёй из OpenAI и посмотрим какую сетку они используют в качестве feature extractor для картиночек. А там ResNet из статьи Bag Of Tricks и какой-то antialiased rect-2 blur pooling. Кто такие и почему?
• ResNet Bag Of Tricks это такая сборная статья в которой проверили и попробовали кучу всяких советов\триков\твиков\мудростей накопившихся для свёрточных сетей и соединили всё в одну модель ResNet-D (рис. 1). Статья выступает в роли такого бывалого коллеги сеньёра, который накидывает вам “А вот ты у батчнормов, которые в конце блока, гамму в ноль поставь, тогда у тебя сетка круто по началу сходится начнёт”. В ней подробно описано как учить, что менять в +- современном мире (конечно у нас уже трансформеры, потом собрали ConvNeXt, но Bag Of Tricks всё ещё актуален). Удобно это тем что можно кусочками к себе в пайплайн тянуть всякие улучшения, и не пересобирать всё своё решение.
• Антиалиасинг в нейронных сетях. Сетки которые мы используем не инварианты к сдвигу. Вот так вот, придумали свёртки с учётом, что они инвариантны к сдвигу, а сети у нас совсем не инварианты. Всё из-за коварного пулинга, который как и при обычном сжатии картинок даёт эффект алиасинга. Нам бы очень хотелось сгладить этот эффект, особенно это хочется сделать после того как мы посмотрим на графики зависимости score от сдвига (рис. 2). Решается это проблема обычным размытием перед пулингом.
Основное в ResNet Bag Of Tricks.
• Как скейлить learning rate, какой взять scheduler, кто такой warmup, какой батч сайз взять и прочие training strategy.
• Польза обучения в FP16 на современных видеокартах.
• Что поменять в дефолтной архитектуре ResNet чтобы стало лучше, на что заменить первые свёртки, как поменять Residual Block.
• Какие ауги зашли на ImageNet и у вас наверное сработают.
Это не статья откровение, возможно многое вы уже слышали или даже использовали, но когда всё в одном месте с красивыми табличками и подробно описано, то жить сразу как-то приятнее.
Основное в Making Convolutional Networks Shift-Invariant Again.
Всё что нужно сделать, это из официального репозитория достать реализацию BlurPool и по гайду вставить в свою сеть (рис. 3). В репозитории есть функции, которые это делают за вас, но надёжней просто в своём коде поменять, чтобы вы наверняка знали что у вас поменялось. А самое классное в том что сеть не надо учить заново, она не сильно изменится и можно со спокойной душой дотюнивать со своего претрейна.
#советы #nn #training