Свёрточная нейронная сеть(СНС)

СВЁРТОЧНАЯ НЕЙРОННАЯ СЕТЬ (СНС)
Автор: Gianluca Marchio
Дата подачи: 29.04.2021

АБСТРАКЦИЯ
В этой статье рассматриваются сверточные нейронные сети, начиная с их введения в термины искусственной нейронной сети и заканчивая рассмотрением наиболее характерных аспектов этого конкретного типа нейронной сети. После упоминания истории их появления, обсуждаются архитектура CНС и концепция свертки, лежащая в основе этих сетей. В последней части разъясняются основные типы сетей СНС, различия с точки зрения приложений и связанные с ними недостатки и преимущества.

ВВЕДЕНИЕ
СНС (сверточная нейронная сеть) — это особый тип Искусственной Нейронной Сети (ИНС), специализирующийся на распознавании визуальных паттернов, то есть изображений и видео. Чтобы полностью понять, как работают СНС, необходимо знание ИНС. Искусственные нейронные сети — это вычислительные системы, вдохновленные организацией биологических нервных систем и их нейронов. От входного уровня до выходного слоя есть несколько слоев нейронов (узлов), связанных между собой (через дуги), они обрабатывают информацию в соответствии с точной передаточной функцией и вносят свой вклад в окончательный результат. Обучение таких сетей обычно осуществляется с помощью набора желаемых примеров ввода-вывода с помощью алгоритмов, которые позволяют минимизировать ошибку вывода путем изменения веса нейронных связей (контролируемое обучение).

Рисунок 1 — простая организация ИНС

Другой режим обучения — это неконтролируемый, в нем сеть не знает желаемого результата, но самообучается, отслеживая собственную внутреннюю среду обработки. Обычно лучшим и наиболее часто используемым обучением для сетей, специализирующихся на распознавании изображений, является обучение с учителем.1
Одна из самых известных нейронных сетей — СНС (сверточная нейронная сеть). Эта сеть получила свое название от математической операции свертки (операции, которая может применяться к матрицам), где свертка заключается в интегрировании произведения между первой функцией и второй переданной функцией определенного значения. Следовательно, операция свертки связана с корреляциями между матрицами, где матрицы представляют изображения, которые должны распознаваться нейронной сетью. СНС, согласно структуре ИНС, включает в себя различные уровни, такие как сверточный слой, уровень нелинейности, уровень объединения и полностью связанный слой. Первые два слоя, сверточный и нелинейный, параметризованы. Два других уровня, объединяющий и полностью связанный, не имеют конкретных параметров. CНС превосходны и особенно подходят для приложений, использующих данные изображения, такие как самый большой набор данных классификации изображений (Image Net). Image Net, по сути, представляет собой большую базу данных изображений, созданных для использования в области искусственного зрения, в области распознавания объектов.2


ИСТОРИЯ
История CНС тесно связана с историей сетей ИНС. В частности, в последние несколько лет проявился большой интерес к глубокому обучению, и сети СНС стали наиболее устоявшимся алгоритмом среди различных моделей глубокого обучения. Такие сети зарекомендовали себя как доминирующий метод в компьютерном зрении, поскольку результаты, полученные в результате их использования, были представлены в конкурсе по распознаванию объектов, известном как ImageNet Large Scale Visual Recognition Competition (ILSVRC) в 2012 году. Интерес еще больше возрос благодаря также результатам, полученные в области медицины. Gulshan, Esteva, Ehteshami Bejnordi и другие продемонстрировали потенциал глубокого обучения для скрининга диабетической ретинопатии, классификации поражений кожи и распознавания метастазов лимфатических узлов. С тех пор было проведено и опубликовано несколько исследований. Эта передовая методология, по сути, поможет не только исследователям, использующим CНС в своих задачах радиологии и медицинской визуализации, но и клиническим радиологам (поскольку глубокое обучение может повлиять на их практику в ближайшем будущем).3

 

 

 

ПОДРОБНОЕ ОБЪЯСНЕНИЕ (ОПИСАНИЕ)
В этом режиме, альтернативном полностью подключенной сети, получаются менее сложные и более эффективные сети. Например, он может быть подключен только к нейронам 5 × 5. Итак, если мы хотим иметь 32 × 32 нейрона на следующем уровне, у нас будет 5 × 5 × 3 соединений для 32 × 32, или 76800 соединений (по сравнению с предыдущими 3145728). Другая гипотеза для дальнейшего упрощения состоит в том, чтобы использовать одни и те же веса локальных соединений для соединения нейронов одного слоя со всеми нейронами следующего слоя. Таким образом, соседние нейроны следующего слоя с одинаковым весом связаны с локальной областью предыдущего слоя. Следовательно, он снова уменьшает количество весов до 5 × 5 × 3 = 75 для соединения 32 × 32 × 3 нейронов с 32 × 32 в следующем слое. Эти предположения, какими бы приблизительными они ни были, позволяют получить такие преимущества, как уменьшение количества подключений, но, прежде всего, возможность сдвигать внутренние окна (части) изображения, фиксируя веса для локальных подключений, входным нейронам и отображение вывода в соответствующую позицию. Это дает возможность обнаруживать и распознавать особенности независимо от их положения на изображении.

В этом режиме, альтернативном полностью подключенной сети, получаются менее сложные и более эффективные сети. Например, он может быть подключен только к нейронам 5 × 5. Итак, если мы хотим иметь 32 × 32 нейрона на следующем уровне, у нас будет 5 × 5 × 3 соединений для 32 × 32, или 76800 соединений (по сравнению с предыдущими 3145728). Другая гипотеза для дальнейшего упрощения состоит в том, чтобы использовать одни и те же веса локальных соединений для соединения нейронов одного слоя со всеми нейронами следующего слоя. Таким образом, соседние нейроны следующего слоя с одинаковым весом связаны с локальной областью предыдущего слоя. Следовательно, он снова уменьшает количество весов до 5 × 5 × 3 = 75 для соединения 32 × 32 × 3 нейронов с 32 × 32 в следующем слое. Эти предположения, какими бы приблизительными они ни были, позволяют получить такие преимущества, как уменьшение количества подключений, но, прежде всего, возможность сдвигать внутренние окна (части) изображения, фиксируя веса для локальных подключений, входным нейронам и отображение вывода в соответствующую позицию. Это дает возможность обнаруживать и распознавать особенности независимо от их положения на изображении. По этой причине их называют сверточными. Чтобы сделать метод еще более эффективным, можно добавить дополнительные слои после входного уровня, которые состоят из нейронов, которые смотрят на одни и те же части изображения, но которые извлекают различную информацию и, таким образом, ведут себя как фильтры изображения. В сверточной нейронной сети эти фильтры инициализируются, за ними следуют фильтры формы процедуры обучения. Фокусом сетей CНС, от которого они также получили свое название, является сверточный слой. Свертка — это математическая операция между входом I и аргументом, ядром K, которая возвращает взаимную корреляцию между ними. Другими словами, он выражает то, как форма одного изменяется другим. CНС обрабатывают данные изображения, поэтому свертка изображений объясняется ниже. Входное изображение называется «x» и представляет собой двумерный массив с разными цветовыми каналами (красный, зеленый и синий-КЗС или RGB). Детектор признаков, или ядро, «w» применяется ко входу в соответствии с продуктом свертки, так что мы получаем карту признаков. Применяемая функция свертки:

Операция свертки позволяет вычислить сходство между двумя сигналами, поэтому мы могли бы использовать детектор признаков в качестве фильтра для идентификации, например, краев изображения. Основное предположение в СНС заключается в том, что функция свертки инициализируется значением 0 везде, кроме конечного набора точек, для которых мы сохраняем значения. Таким образом, бесконечное суммирование приводит к конечному суммированию определенного числа элементов массива.

Формулу свертки можно еще больше упростить, поскольку операция коммутативна. Это упрощает его последующую реализацию в машинном обучении, поскольку диапазон допустимых значений m и n меньше варьируется.

Этот механизм реализован в СНС через сверточный слой. В этом случае ядро ​​K представляет собой набор обучаемых фильтров. Хотя он невелик по сравнению со всем изображением, он простирается по всей его глубине. На практике он сканирует изображение, чтобы определить его различные характеристики (края, формы и т.д.) с помощью специальных фильтров.4 Как упоминалось во введении, в СНС есть дополнительные фундаментальные слои. Следующий — слой нелинейности. Это можно использовать для регулировки или отключения генерируемого вывода. Поэтому его использование необходимо для насыщения вывода или ограничения генерируемого вывода. В течение многих лет сигмовидная и тангенциальная формы были самыми популярными нелинейностями. Последние два уровня — это объединение и полностью связанный уровень. Функция, выполняемая пулом, — это понижающая выборка, чтобы уменьшить сложность для следующих уровней (без влияния на количество фильтров). Выполняемую операцию можно считать аналогичной уменьшению разрешения, и одним из наиболее применяемых методов является Max-pooling. В этом случае изображение разбивается на подобласти, и метод возвращает максимальное значение каждой подобласти. Один из наиболее распространенных размеров, используемых в max-pooling, — 2 × 2. Наконец, полностью связанный слой возобновляет организацию традиционных нейронных сетей. Фактически, в этом слое каждый узел связан друг с другом узлом как предыдущего, так и следующего уровня. Недостатком полносвязного слоя, очевидно, являются многочисленные параметры, которые требуют сложных вычислений в обучающих примерах. Таким образом, сущность сети CНС заключается в организации и количестве различных типов уровней, выбранных для ее реализации, поэтому эти характеристики позволяют идентифицировать различные типы CНС.2

ВИДЫ CНС

Ежегодно проводится мероприятие под названием ImageNet Large Scale Visual Recognition Challenge (ILSVRC), которое состоит из обнаружения крупномасштабных объектов и классификации изображений с использованием СНС. Различные типы CНС, которые представляют собой точку отсчета в области классификации объектов. Будет рассмотрено ниже.

LeNet, изначально задуманный и обученный для классификации рукописных цифр от 0 до 9 набора данных MNIST, был одним из самых революционных алгоритмов в возможностях классификации объектов. Благодаря революционному характеру, его слоистый состав также будет указан ниже:

1. ПЕРВЫЙ КОНВОЛЮЦИОННЫЙ СЛОЙ: 6 фильтров размером 5 X 5 и шаг 1;

2. СРЕДНИЙ СЛОЙ: размер 2 X 2, шаг 2; 3. КОНВОЛЮЦИОННЫЙ СЛОЙ: 16 фильтров размером 5 X 5 и шагом 1;

4. СРЕДНИЙ СЛОЙ: размер 2 X 2 и шаг 2; 5. ПЯТЫЙ СЛОЙ: соединяет четвертый слой с полностью связанным слоем (состоящим из 120 узлов);

6. ПОЛНОСТЬЮ СОЕДИНЕННЫЙ СЛОЙ: состоит из 84 узлов, полученных из выходных данных 120 узлов пятого уровня;

7. ПОСЛЕДНИЙ СЛОЙ: последний слой классификации, позволяющий определить выходной класс последнего уровня. Классы — 10 относительно 10 цифр, для классификации которых в основном обучался LeNet.

Полученная точность составляет примерно 98,9%, это обеспечивается функцией активации RELU. Эту функцию можно эффективно применять для распознавания рукописных цифр, но она не подходит для обработки больших изображений и классификации более чем на 10 классов.5

AlexNext, разработанный Alex Krizhevsky, Ilya Sutskever и Geoffery E. Hinton, выиграл ImageNet ILSVRC в 2012 году. С точки зрения архитектуры он очень похож на LeNet, но включает гораздо большее количество фильтров, которые позволяют отнести его к большому классу объектов с сохранением высокой точности. Благодаря этой архитектуре он может получать на входе цветное изображение (RGB) размером 224 X 224.

AlexNet одновременно обучался на двух графических процессорах Nvidia GeForce GTX 580, но требовалось больше, поскольку высокая вычислительная стоимость, продиктованная 62,3 миллионами параметров сети, требует миллиардов вычислительных единиц.6

VGGNet 16, разработанный Simonyan и Zisserman, занял второе место в ILSVRC-2014. Было достигнуто 5,1% ошибок в топ-5. Несмотря на большое количество параметров, схема, которой следует сеть, довольно проста, поэтому разработчики предпочитают ее в области извлечения признаков. Основные параметры, размер фильтра и шаги, постоянны как для слоя объединения, так и для слоя свертки. Слои свертки имеют фильтры размером 3 X 3 и шагом = 1. Слой Max-Pooling имеет фильтры размером 2 X 2 и шагом = 2. Эти типы слоев применяются в точном порядке по всей сети. Количество параметров очень велико (140 миллионов) и превосходит AlexNet, что объясняет сложность реализации той же сети.7

GoogleNet стал победителем конкурса ILSVRC CNN 2014 года, попав в пятерку лучших по уровню ошибок 6,67% (что очень похоже на результативность на уровне человека). Его абсолютно невероятная производительность обусловлена ​​более умной реализацией архитектуры LeNet. Основная идея состоит в том, что вместо реализации сверточных слоев с множеством параметров в разных слоях более эффективно реализовать свертку, чтобы она сходилась к результату, содержащему матрицы из всех операций фильтрации вместе (поэтому мы выполняем всю свертку вместе). Идея называется начальным модулем, от которого и названа сеть. Фактически, это можно назвать как GoogleNet, так и Inception Network.8

 

ПРИЛОЖЕНИЯ

Количество приложений, в которых задействованы CНС, со временем выросло благодаря развитию этой технологии. Некоторые из самых популярных упомянуты ниже:

1. Классификация изображений. В классификации изображений CНС сделали несколько шагов вперед. Их возможности классификации и высокая точность особенно изменились с течением времени, в частности, после победы AlexNet на ILSVRC 2012. С тех пор исследователи значительно улучшили размер фильтра (уменьшение) и глубину сети;

2. Обнаружение объектов. Обнаружение объектов — давняя проблема с данными в области компьютерного зрения из-за трудностей, возникающих в том, как точно и точно определять местонахождение объектов на изображениях или видеокадрах.

Идея использования CНС в этой области возникла в 1990-х годах, но, тем не менее, развитие было ограничено технологиями того времени. После отличных результатов CНС в 2012 году интерес возродился, и эволюция продолжилась с поразительной скоростью по сравнению с прошлым;

3. Отслеживание объекта: основная проблема — это представление цели относительно переменных, таких как изменение точки обзора, изменения освещения и загораживания. С необходимыми изменениями архитектуры стало возможным изменить природу CНС с детектора на локатор;

4. Оценка позы. DeepPose была первым приложением СНС для решения проблемы оценки позы человека. В этой работе оценка позы формулируется как задача регрессии на основе CНС в координатах суставов тела. 7 каскадных слоев были необходимы для целостного осмысления позы;

5. Обнаружение и распознавание текста: OРС (оптическое распознавание символов) всегда было одной из областей наибольшего применения CНС. Первоначально он был разработан для распознавания символов на довольно обычных изображениях (хорошо выровненный текст и чистый фон), но в последнее время акцент сместился на распознавание текста на изображениях сцен из-за растущей тенденции к высокоуровневому визуальному пониманию в исследованиях компьютерного зрения;

6. Обнаружение визуальной заметности: этот метод, прогнозирование визуальной заметности, заключается в обнаружении важных областей на изображениях. Поскольку это очень сложная задача, недавно было предложено несколько работ, чтобы воспользоваться преимуществами сильных возможностей визуального моделирования CНС;

7. Распознавание действия. Еще одна очень сложная задача — распознавание действия, анализ поведения человека и классификация его деятельности на основе динамики движения. Разбив проблему на две части, такие как анализ действия в неподвижных изображениях и в видео, были применены эффективные решения, предполагающие использование CНС.9

 

ПРЕИМУЩЕСТВА/НЕДОСТАТКИ

Наиболее очевидные преимущества использования СНС касаются, в частности, высокой точности и точности в задачах классификации / прогнозирования. Кроме того, диапазон CНС весьма разнообразен, что позволяет использовать их в различных приложениях. Раньше подходы к обработке и классификации изображений основывались на ручных разработках, производительность и точность которых сильно влияли на общие результаты. Разработка функций (РФ) также является довольно сложным и дорогостоящим процессом, и его нельзя обобщать, но его необходимо повторять всякий раз, когда изменяется набор данных (т.е. когда изменяется конкретное приложение). Сам факт отсутствия необходимости в РФ является большим преимуществом, предлагаемым CНС, они, по сути, могут автоматически определять важные характеристики в процессе обучения. Как правило, они также достаточно надежны в отношении возможных изменений освещения, фона, размера и ориентации изображений. Однако главный недостаток — время, необходимое для обучения, и необходимость в больших наборах данных. Кроме того, правильное аннотирование таких данных — деликатный процесс, который должен выполняться только экспертами в предметной области. Наконец, еще одним недостатком являются проблемы, которые могут возникнуть при использовании предварительно обученной CНС на аналогичном, но меньшем наборе данных.10

БУДУЩИЕ ИННОВАЦИИ

С 1989 года усовершенствования, внесенные в CНС, касаются их архитектуры, и их можно выделить в оптимизации параметров, структурной регуляризации и переформулировке. Наиболее значительное улучшение достигается за счет реструктуризации блоков обработки и проектирования новых блоков, поэтому разумно полагать, что дальнейшее ускорение их развития в будущем может начаться с этой области. Дальнейшие изменения в их архитектуре могут сделать CНС более универсальными, а также сделать их эффективными и устойчивыми даже для решения очень сложных задач, таких как отслеживание объектов и обнаружение визуальной заметности.11

ЗАКЛЮЧЕНИЕ

Как видно, сверточные нейронные сети сильно отличаются от других типов нейронных сетей тем, что они обладают весьма своеобразными характеристиками, которые делают их в целом более подходящими для обработки данных изображения. В этом документе основное внимание уделяется их структуре и текущим областям применения, но следует ожидать, что с дальнейшими улучшениями и изменениями в архитектуре CНС их количество в ближайшем будущем вырастет еще больше.

СПИСОК ИСПОЛЬЗОВАНИЯ

  1. Keiron O’Shea, Ryan Nash (2015) ‘An Introduction to  Convolutional Neural Networks’ [Online], доступен в: 
    https://arxiv.org/pdf/1511.08458.pdf


  2. Saad Albawi, Tareq Abed Mohammed (2017)  ‘Understanding of a Convolutional Neural Network’ доступен в: 
    https://www.researchgate.net/profile/SaadAlbawi/publication/319253577_Understanding_of_a_Convolutional_Neural_Network/links/5ad26025458515c60f 51dbf9/Understanding-of-a-Convolutional-Neural Network.pdf

  3. Rikiya Yamashita, Mizuho Nishio, Richard Kinh Gian Do,  Kaori Togashi (2018) ‘Convolutional neural networks: an  overview and application in radiology’ [Online], доступен в:
    https://link.springer.com/article/10.1007/s13244-018- 0639-9

  4. Renu Khandelwal (2018) ‘Convolutional Neural  Network(CNN) Simplified’ [Online], доступен в:
    https://medium.datadriveninvestor.com/convolutional neural-network-cnn-simplified-ecafd4ee52c5


  5. Yann LeCun, Léon Bottou, Yoshua Bengio, Patrick Haffner  (1998) ‘Gradient-Based Learning Applied to Document  Recognition’ [Online], доступен в:
    http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

  6. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton (2012)  ‘ImageNet Classification with Deep Convolutional Neural  Networks’ [Online], доступен в:
    https://papers.nips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

  7. Karen Simonyan, Andrew Zisserman (2015) ‘VERY DEEP  CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE  RECOGNITION’ [Online], доступен в:
    https://arxiv.org/pdf/1409.1556

  8. Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet,  Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent  Vanhoucke, Andrew Rabinovich (2014) ‘Going deeper with  convolutions’ [Online], доступен в:
    https://arxiv.org/pdf/1409.4842.pdf

  9. Jiuxiang Gua, Zhenhua Wangb, Jason Kuenb, Lianyang Mab,  Amir Shahroudyb, Bing Shuaib, Ting Liub, Xingxing Wangb,  Li Wangb, Gang Wangb, Jianfei Caic, Tsuhan Chenc (2017)  ‘Recent Advances in Convolutional Neural Networks’  [Online], доступен в:
    https://arxiv.org/pdf/1512.07108.pdf

  10. Andreas Kamilaris, Francesc X. Prenafeta-Boldú  (2018) ‘A literature survey on the Use of Convolutional  Neural Networks in Agriculture’ Networks’ [Online],  доступен в:
    https://repositori.irta.cat/bitstream/handle/20.500.12327/815/Prenafeta_review_2018.pdf?sequence=2

  11. Asifullah Khan, Anabia Sohail, Umme Zahoora, Aqsa  Saeed Qureshi (2020) ‘A Survey of the Recent  Architectures of Deep Convolutional Neural Networks’  [Online], доступен в:
    https://arxiv.org/ftp/arxiv/papers/1901/1901.06032.pdf