Сверточная нейронная сеть (CNN) — важная модель нейронной сети в области глубокого обучения, особенно в области обработки изображений и компьютерного зрения. Имитируя принцип работы зрительной системы человека, CNN может автоматически извлекать особенности изображений и выполнять такие задачи, как классификация и распознавание. Базовая структура CNN включает входной уровень, уровень свертки, уровень пула, полностью связный уровень и выходной уровень. Среди них сверточный слой отвечает за извлечение локальных особенностей изображения, слой объединения используется для уменьшения размера объекта и предотвращения переобучения, а полностью связный слой используется для окончательной задачи классификации или регрессии. Эти уровни подвергаются нелинейной трансформации с помощью функций активации, таких как ReLU, для повышения выразительности модели. Основная идея CNN состоит в том, чтобы использовать ядро свертки (фильтр) для выполнения операции свертки над входным изображением для создания карты объектов (карты объектов), а затем уменьшить объем вычислений и сохранить важную информацию посредством операции объединения. . Эта структура делает трансляцию CNN инвариантной и надежной при обработке изображений. Классические модели CNN включают LeNet, AlexNet, VGG и ResNet и т. д., которые добились замечательных результатов в различных задачах распознавания изображений. Например, LeNet широко используется для распознавания рукописных цифр, а AlexNet добился выдающихся результатов на конкурсе ImageNet 2012 года. CNN широко используется в области компьютерного зрения, включая классификацию изображений, обнаружение целей, распознавание лиц, сегментацию изображений и т. д. Кроме того, CNN также используется в таких областях, как распознавание речи и обработка естественного языка. Короче говоря, сверточные нейронные сети благодаря своей уникальной структуре и мощным возможностям извлечения признаков хорошо справляются с различными визуальными и невизуальными задачами и стали важным инструментом для современных исследований искусственного интеллекта.
Сверточные нейронные сети (CNN) — важная отрасль глубокого обучения. Ее историческое развитие и ключевые вехи можно проследить еще в 1950-х годах, и она прошла через множество важных этапов.
В 1950-х годах исследования в области искусственного интеллекта только начинались. Исследования этого периода заложили основу для более поздней CNN. В частности, канадские нейробиологи Дэвид Х. Хьюбель и Торстен Визель в 1959 году предложили концепцию «рецептивного поля», которая обеспечила теоретическую основу для последующего развития CNN.
1989, Йошуа Bengio、Yann Ле Кун и Джеффри Хинтон и др. разработали первую Настоящую сверточная нейронная сети, для распознавания рукописных цифр. Это современная глубина сверточная нейронная Начало сети. Разработка Лекуна ознаменовала важный прорыв в практическом применении CNN и заложила прочную основу для последующего развития.
После вступления в 21 век, с улучшением вычислительной мощности и увеличением объема данных, сверточные нейронные сети получили быстрое развитие. Особенно развитию CNN способствовало появление AlexNet в 2012 году. AlexNet добилась отличных результатов в конкурсе ImageNet, доказав мощные возможности глубоких сверточных нейронных сетей в задачах классификации изображений.
С 2012 года сверточные нейронные сети достигли самых современных результатов в решении многих задач, став наиболее универсальным из различных методов глубокого обучения. В последние годы конструкция CNN также продолжает развиваться, и появились классические модели, такие как VGGNet и EfficientNet. Эти модели дополнительно оптимизируют производительность CNN за счет модульности, многопутевого распространения, факторизации, сжатия и масштабируемости.
От ранних концепций до современных приложений, сверточные нейронные сети прошли путь от теоретических исследований до практических приложений и непрерывной оптимизации. Его ключевые вехи включают в себя:
LeNet, AlexNet, VGG и ResNet — классические модели сверточных нейронных сетей (CNN) в области глубокого обучения. Они имеют свои особенности по структуре и производительности. Вот сравнение конкретной архитектуры и производительности этих моделей:
LeNet был разработан Яном Лекуном и в основном используется для задач распознавания рукописных цифр. Основная идея состоит в том, чтобы извлекать признаки с помощью таких операций, как сверточные слои, совместное использование параметров и понижающая дискретизация, а также использовать полносвязные нейронные сети для классификации и распознавания. LeNet-5 — самая известная версия, содержащая два сверточных слоя, три слоя максимального пула и два полносвязных слоя, в общей сложности около 200 000 параметров.
AlexNet был предложен Алексом Крижевским и другими в 2012 году для конкурса ImageNet и добился большого успеха. Он содержит 5 сверточных слоев и 3 полностью связанных слоя, всего 8 взвешенных слоев. Возможности AlexNet включают в себя:
VGG был предложен исследователями из Оксфордского университета и известен своей простой, но мощной структурой. Основная идея состоит в том, чтобы использовать меньшие ядра свертки (3x3) и большие шаги (1x1 или 2x2), а также увеличить глубину сети за счет повторения одних и тех же модулей свертки и объединения несколько раз. Типичная модель VGG-16 содержит 16 сверточных слоев и 3 полносвязных слоя. К основным особенностям VGG относятся:
ResNet (остаточная сеть) была предложена Хэ Каймингом и другими из Microsoft Research для решения проблемы деградации при глубоком обучении сети. Основная идея состоит в том, чтобы ввести «пропуск соединений» или «остаточные соединения», чтобы входные данные можно было напрямую добавлять к последующим слоям, тем самым помогая плавному протеканию градиента. Типичная версия ResNet — ResNet-50, которая содержит 50 остаточных блоков:
В целом эти модели хорошо работают в различных сценариях применения и задачах:
Случаи применения сверточных нейронных сетей (CNN) в невизуальных задачах в основном сосредоточены в областях обработки естественного языка (NLP) и распознавания речи. В обработке естественного языка (NLP) CNN широко используется в таких задачах, как классификация текста, анализ настроений и распознавание именованных объектов. Например, алгоритм классификации китайского текста, основанный на CNN, можно использовать в различных сценариях применения, таких как фильтрация спама и анализ настроений. Кроме того, CNN также может извлекать признаки из текстовых данных, а ее практический эффект в этих задачах демонстрируется на примерах и диаграммах. Что касается распознавания речи, CNN также продемонстрировала свой мощный прикладной потенциал. Например, модель DeepSpeech2, реализованная с помощью PaddlePaddle, может выполнять распознавание китайской речи. Кроме того, модель Conformer сочетает в себе технологию Transformer с усовершенствованной сверткой для достижения значительного повышения точности задач распознавания речи.
Переоснащение — распространенная проблема в процессе обучения сверточных нейронных сетей (CNN). Для решения данной проблемы можно использовать следующие методы:
Будущие тенденции развития и потенциальные новые области применения сверточных нейронных сетей (CNN) очень широки, в основном сосредоточены на следующих аспектах: