Словарь ИИ
Что такое сверточная нейросеть
Коротко
Сверточная нейросеть (CNN) это нейросеть для изображений и сигналов, которая просматривает картинку небольшими окнами и собирает из мелких деталей целые объекты.
Машинное обучение · convolutional neural network
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты разглядываешь большую картину через маленькое окошко в листе бумаги. Двигаешь окошко и замечаешь: тут ухо, там усы, рядом хвост. Потом складываешь находки вместе и понимаешь, что нарисован кот. Такая программа смотрит на фото так же, кусочек за кусочком, а затем собирает из кусочков целую картинку.
Простыми словами
Фотография для компьютера это таблица чисел, по числу на каждую точку и цвет. Сверточная сеть прикладывает к ней маленькие шаблоны-фильтры и проверяет, где на снимке есть вертикальная линия, угол или пятно. Следующие слои ищут сочетания этих находок: глаз, колесо, букву. Один и тот же фильтр работает в любом месте кадра, поэтому кот узнается и в углу, и в центре. Так устроены разблокировка телефона по лицу, чтение номеров машин и поиск дефектов на фото.
Для бизнеса
На таких сетях работает большая часть промышленного компьютерного зрения: контроль брака на конвейере, подсчет товара на полках, чтение сканов и паспортов, анализ медицинских снимков. Они обычно компактнее моделей-трансформеров и запускаются на недорогих видеокартах и даже на камерах со встроенным вычислителем, что важно для цеха без хорошей связи. Обучать с нуля обычно не нужно: берут предобученную модель и дообучают на своих снимках. Расходы зависят от числа видов дефектов, объема разметки и условий съемки. Главный риск в смене света, камеры или продукции: точность падает незаметно, поэтому за ней следят по правилам MLOps. Сначала работу проверяют на реальной линии, а уже потом масштабируют.
Для специалиста
Сверточная нейронная сеть (convolutional neural network, CNN) это архитектура, в которой основные слои вычисляют свертку (convolution) входа с обучаемыми ядрами малого размера. Ее свойства: локальные рецептивные поля, разделение весов (weight sharing) между позициями и эквивариантность к сдвигу; подвыборка (pooling) или свертка с шагом уменьшает разрешение и расширяет контекст. Глубина дает иерархию признаков от краев к частям и объектам. Перелом в распознавании изображений показала AlexNet (Krizhevsky, Sutskever, Hinton, NIPS 2012) с 60 млн параметров и 500 тыс. нейронов. Остаточные связи (residual connections) в ResNet (He и соавторы, 2015) позволили обучать сети глубиной до 152 слоев; ансамбль таких сетей дал 3,57% ошибки на тесте ImageNet и первое место ILSVRC 2015. Варианты: одномерные свертки для звука и временных рядов, U-Net для сегментации, детекторы объектов. Vision Transformer (Dosovitskiy и соавторы, 2020) показал, что трансформер на фрагментах изображения при большом предобучении не уступает CNN.
Пример
Склад ставит камеру над лентой с коробками. Сеть, дообученная на снимках поврежденной упаковки, отмечает мятые и порванные коробки, и сотрудник откладывает их до отправки клиенту.
Связанные термины
Вопросы и ответы
Где используют сверточные нейросети?
Сверточные сети устарели после трансформеров?
Источники
- Krizhevsky, Sutskever, Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NIPS 2012papers.nips.cc
- He, Zhang, Ren, Sun, Deep Residual Learning for Image Recognition, 2015arxiv.org
- Dosovitskiy и др., An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale, 2020arxiv.org
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений