эйай ньюз
58K subscribers
1.39K photos
729 videos
7 files
1.72K links
Культурно освещаю самые и не самые важные новости из мира AI, и облагораживаю их своим авторитетным профессиональным мнением.

В свободное время работаю как Staff Research Scientist в Meta Generative AI в Швейцарии.

Aвтор: @asanakoy

PR: @kander426
Download Telegram
Немного ликбеза об эффективных сетках. Pt.1

Все слышали о MobileNetV1. Это одна из первых нейронок от Google из линейки быстрых и эффективных, предназначенных для запуска на мобильных устройствах с ограниченными ресурсами.

Главная идея там была по сравнению с обычными сетками, такими как VGG, - это depthwise separable convolutions. То есть обычную конволюцию k × k × C_in × C_out, где С_in - это число входных каналов, заменяют на две более лёгких: а) depthwise convolution, k × k × 1 × 1, которую применяют к каждому из C_in входных каналов независимо, и б) pointwise convolution 1 × 1 × C_in × C_out, которая комбинирует сигналы из C_in входных каналов и преобразует в C_out выходных.

Таким образом значительно уменьшается количество обучаемых параметров (k² + C_in×C_out против k²×C_in×C_out), и увеличивется скорость вычисления при очень небольших потерях точности.

Подробный разбор MobileNetV1 можно глянуть тут. В следующем посте напишу про MobileNetV2.

#ликбез
#efficient_nets
⚡️Немного ликбеза об эффективных сетках. Pt.2

В Pt.1 мы говорили о главной идее архитектуры MobilenetV1 - depthwise separable convolutions. В этом посте речь пойдет о MobileNetV2.

Во второй версии MobileNet авторы из Google Inc. предложили пробросить skip-соединения и использовать Inverted Residual Block (IRF), что существенно сократило необходимый объем памяти для тренировки и предсказания сети, и улучшило точность на многих задачах.

В обычных residual блоках из статьи про ResNet skip-соединения проброшены между выходами жирных конволюций, то есть каждая конволюция имеет довольно большое число выходных каналов, причем это число каналов поддерживается фиксированным на протяжении нескольких блоков. Нововведение IRF блока в том, что:
(1) он использует depthwise separable конволюции, как и в MobilenetV1;
(2) число каналов внутри блока меняется за счет того, что в начале каждого IRF блока стоит 1x1 conv, который увеличивает число каналов (expansion layer). Затем идет 3x3 depthwise convolution. А замыкает блок ещё один 1x1 conv, который уменьшает число каналов (projection layer). Смотрим схему на картинке.

Таким образом, skip-соединения всегда связывают тензоры боле низкой размерности (после projection layer), а бóльшая часть "работы" по выучиванию сложных фичей происходит внутри блока, где размерность выше (после expansion layer). Главное преимущество такого подхода в том, что требуется меньше памяти и меньше операций сложения, т.к. skip-соединения проброшены между тензорами низкой размерности. Кроме того, IRF блоки более эффективны чем традиционные residual block-и из-за использования 1x1 конволюций и 3x3 depthwise конволюций.

Интересно, что авторы не добавляют ReLU после projection layer, то есть IRF блоки провязаны skip-соединениями, где нет нелинейности. Эмпирически это даёт лучшую точность, т.к. добавление нелинейности режет информацию после каждого блока, а без нее больше информации может свободно "гулять" по сети.

Блог-пост на английском, откуда я нарезал картинки.

---

Друзья, напишите в комментариях, нравятся ли вам посты в таком стиле. Ваша благодарность даёт мне мотивацию. Так же предлагайте свои темы, я выберу наиболее интересные для следующего разбора.

#efficient_nets #ликбез