![](http://webcf.waybackmachine.org/web/20200406171528im_/https://habrastorage.org/getpro/habr/avatars/6f9/109/ce5/6f9109ce57a913501a91c65a04740f59.png)
Регуляризация? Ортогонализация! Улучшаем компактные сети
- Блог компании Smart Engines,
- Алгоритмы,
- Обработка изображений,
- Машинное обучение,
- Искусственный интеллект
![](https://webcf.waybackmachine.org/web/20200406171528im_/https://habrastorage.org/webt/jn/gi/4m/jngi4mnuto0wqg0wgq6bg7bauzm.png)
Пока другие компании обсуждают управление коллективом на удаленке, мы в Smart Engines продолжаем делиться с вами своим стеком технологий. Сегодня про оптимизацию нейронных сетей. Сделать систему распознавания на основе нейронных сетей, которая могла бы быстро работать на смартфонах и прочих мобильных устройствах – крайне непросто. А сделать так, чтобы при этом качество было высоким – еще сложнее. В этой статье мы расскажем о простом методе регуляризации нейронных сетей, используемом нами в Smart Engines для улучшения качества «мобильных» сетей с малым числом параметров. Идея метода основана на постепенном уменьшении линейной зависимости фильтров в сверточных слоях во время обучения, благодаря чему каждый нейрон работает более эффективно, и следовательно, улучшается обобщающая способность модели. Для этого мы представляем фильтры в виде одномерных векторов и ортогонализируем пару с наибольшей длиной проекции друг на друга.