Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В глубоком обучении , сверточная нейронная сеть ( CNN или ConvNet ) является классом глубоких нейронных сетей , наиболее широко применяются для анализа визуальных образов. [1] Они также известны как искусственные нейронные сети с инвариантом сдвига или пространственно-инвариантные искусственные нейронные сети ( SIANN ), в зависимости от их архитектуры общих весов и характеристик инвариантности трансляции . [2] [3] У них есть приложения для распознавания изображений и видео , рекомендательных систем , [4] классификации изображений ,Сегментация изображений , анализ медицинских изображений , обработка естественного языка , [5] мозг-компьютерные интерфейсы , [6] и финансовых временных рядов . [7]

CNN - это регуляризованные версии многослойных персептронов . Многослойные перцептроны обычно означают полностью связанные сети, то есть каждый нейрон в одном слое связан со всеми нейронами следующего слоя . «Полностью связность» этих сетей делает их склонными к переобучению данных. Типичные способы регуляризации включают добавление некоторой формы измерения весов к функции потерь. CNN используют другой подход к регуляризации: они используют преимущества иерархического шаблона данных и собирают более сложные шаблоны, используя более мелкие и простые шаблоны. Следовательно, по шкале связности и сложности CNN находятся на нижнем пределе.

Сверточных сети были вдохновлены с помощью биологических процессов [8] [9] [10] [11] в том , что шаблон соединения между нейронами напоминает организацию животного зрительной коры . Отдельные нейроны коры отвечают на стимулы только в ограниченной области поля зрения, известной как рецептивное поле . Воспринимающие поля разных нейронов частично перекрываются, так что они покрывают все поле зрения.

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

Определение [ править ]

Название «сверточная нейронная сеть» указывает на то, что в сети используется математическая операция, называемая сверткой . Сверточные сети - это специализированный тип нейронных сетей, которые используют свертку вместо общего умножения матриц по крайней мере на одном из своих слоев. [12]

Архитектура [ править ]

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

Сверточные слои [ править ]

В CNN входом является тензор с формой (количество изображений) x (высота изображения) x (ширина изображения) x (входные каналы ). После прохождения сверточного слоя изображение преобразуется в карту объектов с формой (количество изображений) x (высота карты объектов) x (ширина карты объектов) x ( каналы карты объектов ). Сверточный слой в нейронной сети должен иметь следующие атрибуты:

  • Сверточные фильтры / ядра, определяемые шириной и высотой (гиперпараметры).
  • Количество входных и выходных каналов (гиперпараметр).
  • Глубина ядра / фильтра свертки (входные каналы) должна равняться количеству каналов (глубине) входной карты функций.
  • Гиперпараметры, специфичные для операции свертки, такие как размер отступа и шаг.

Сверточные слои сворачивают входные данные и передают результат следующему слою. Это похоже на реакцию нейрона зрительной коры на определенный стимул. [13] Каждый сверточный нейрон обрабатывает данные только для своего рецептивного поля . Хотя полностью подключенные нейронные сети с прямой связью можно использовать для изучения функций и классификации данных, эта архитектура непрактична для изображений. Это потребует очень большого количества нейронов даже в неглубокой архитектуре из-за очень больших входных размеров, связанных с изображениями, где каждый пиксель является соответствующей переменной. Например, полностью связанный слой для (маленького) изображения размером 100 x 100 имеет 10 000 весов для каждогонейрон во втором слое. Вместо этого свертка сокращает количество свободных параметров, позволяя сети быть глубже. [14] Например, независимо от размера изображения, мозаичное разделение области 5 x 5, каждая с одинаковыми общими весами, требует только 25 обучаемых параметров. Использование регуляризованных весов по меньшему количеству параметров позволяет избежать проблем с исчезающим градиентом и взрывным градиентом, которые наблюдаются при обратном распространении в традиционных нейронных сетях. [15] [16]

Объединение слоев [ править ]

Сверточные сети могут включать в себя локальные или глобальные уровни объединения для упрощения базовых вычислений. Слои объединения уменьшают размер данных, объединяя выходные данные кластеров нейронов на одном уровне в один нейрон на следующем уровне. Локальный пул объединяет небольшие кластеры, обычно 2 x 2. Глобальный пул действует на все нейроны сверточного слоя. [17] [18] Существует два общих типа объединения: максимальное и среднее. Максимальный пул использует максимальное значение каждого кластера нейронов на предыдущем уровне [19] [20], тогда как средний пул вместо этого использует среднее значение. [21]

Полностью связанные слои [ править ]

Полностью связанные слои соединяют каждый нейрон одного слоя с каждым нейроном другого слоя. Это то же самое, что и традиционная многослойная нейронная сеть персептрона (MLP). Сглаженная матрица проходит через полностью связанный слой для классификации изображений.

Приемное поле [ править ]

В нейронных сетях каждый нейрон получает входные данные из некоторого количества мест на предыдущем уровне. В полностью связанном слое каждый нейрон получает входные данные от каждого нейрона предыдущего слоя. В сверточном слое каждый нейрон получает входные данные только из ограниченной области предыдущего слоя, называемой рецептивным полем нейрона . Обычно площадь представляет собой квадрат (например, 5 на 5 нейронов). (Итак, в полностью связанном слое рецептивное поле - это весь предыдущий слой.) Таким образом, в каждом сверточном слое каждый нейрон принимает входные данные из большей области пикселей во входном изображении, чем предыдущие слои. Это происходит из-за многократного применения свертки, которая учитывает значение пикселя и окружающих его пикселей.

Вес [ править ]

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

Вектор весов и смещение называются фильтрами и представляют определенные характеристики входных данных (например, конкретную форму). Отличительной чертой CNN является то, что многие нейроны могут использовать один и тот же фильтр. Это сокращает объем памяти, поскольку единое смещение и единый вектор весов используются для всех принимающих полей, разделяющих этот фильтр, в отличие от каждого рецептивного поля, имеющего собственное смещение и векторное взвешивание. [22]

История [ править ]

Дизайн CNN следует за обработкой изображений в живых организмах . [ необходима цитата ]

Рецептивные поля в зрительной коре [ править ]

Работа Хьюбела и Визеля в 1950-х и 1960-х годах показала, что зрительная кора кошек и обезьян содержит нейроны, которые индивидуально реагируют на небольшие области поля зрения . При условии, что глаза неподвижны, область зрительного пространства, в которой зрительные стимулы влияют на возбуждение отдельного нейрона, называется его рецептивным полем . [23] Соседние клетки имеют похожие и перекрывающиеся рецептивные поля. [ необходима цитата ] Размер и расположение рецептивного поля систематически варьируются в коре головного мозга, чтобы сформировать полную карту визуального пространства. [ необходима цитата ]Кора в каждом полушарии представляет собой контрлатеральное поле зрения . [ необходима цитата ]

В их статье 1968 года были определены два основных типа зрительных клеток мозга: [9]

  • простые клетки , выход которых максимизируется за счет прямых краев, имеющих определенную ориентацию в пределах их рецептивного поля
  • сложные клетки , которые имеют более крупные рецептивные поля , вывод которых нечувствителен к точному положению краев в поле.

Хьюбел и Визель также предложили каскадную модель этих двух типов ячеек для использования в задачах распознавания образов. [24] [23]

Неокогнитрон, происхождение архитектуры CNN [ править ]

« Неокогнитрон » [8] был введен Кунихико Фукусимой в 1980 году. [10] [20] [25]Он был вдохновлен вышеупомянутой работой Хьюбеля и Визеля. Неокогнитрон представил два основных типа слоев в CNN: сверточные слои и слои с понижающей дискретизацией. Сверточный слой содержит блоки, рецептивные поля которых покрывают участок предыдущего слоя. Весовой вектор (набор адаптивных параметров) такого блока часто называют фильтром. Юниты могут использовать общие фильтры. Слои с понижающей дискретизацией содержат блоки, рецептивные поля которых покрывают участки предыдущих сверточных слоев. Такой юнит обычно вычисляет среднее значение активаций юнитов в своем патче. Эта понижающая дискретизация помогает правильно классифицировать объекты в визуальных сценах, даже когда объекты сдвинуты.

В варианте неокогнитрона, называемом крецептроном, вместо использования пространственного усреднения Фукусимы J. Weng et al. представил метод, называемый max-pooling, при котором блок понижающей дискретизации вычисляет максимум активаций блоков в своем патче. [26] Max-pooling часто используется в современных CNN. [27]

На протяжении десятилетий было предложено несколько алгоритмов контролируемого и неконтролируемого обучения для тренировки веса неокогнитрона. [8] Однако сегодня архитектура CNN обычно обучается методом обратного распространения ошибки .

Неокогнитрон является первым CNN , который требует блоков , расположенных на нескольких сетевых позиций , чтобы иметь общие веса. Неокогнитроны были адаптированы в 1988 году для анализа изменяющихся во времени сигналов. [28]

Нейронные сети с временной задержкой [ править ]

Время задержки нейронной сети (TDNN) была введена в 1987 году Алекс Уэйбел и соавт. и была первой сверточной сетью, поскольку она достигла инвариантности сдвига. [29] Для этого использовалось разделение веса в сочетании с тренировкой по обратному распространению . [30] Таким образом, используя пирамидальную структуру, как в неокогнитроне, он выполнил глобальную оптимизацию весов вместо локальной. [29]

TDNN - это сверточные сети, которые разделяют веса во временном измерении. [31] Они позволяют обрабатывать речевые сигналы независимо от времени. В 1990 году Хэмпшир и Вайбел представили вариант, который выполняет двумерную свертку. [32] Поскольку эти TDNN оперировали спектрограммами, полученная система распознавания фонем была инвариантной как к сдвигам во времени, так и по частоте. Это вдохновило на неизменность перевода при обработке изображений с помощью CNN. [30] Мозаика выходов нейронов может охватывать синхронизированные этапы. [33]

TDNN теперь демонстрируют наилучшую производительность при распознавании речи на большом расстоянии. [34]

Максимальное объединение [ править ]

В 1990 году Ямагути и др. представил концепцию максимального пула. Они сделали это, объединив TDNN с максимальным пулом, чтобы реализовать независимую от говорящего изолированную систему распознавания слов. [19] В своей системе они использовали несколько TDNN на слово, по одному на каждый слог . Результаты каждой TDNN по входному сигналу были объединены с использованием максимального объединения, а выходные данные уровней объединения были затем переданы в сети, выполняющие фактическую классификацию слов.

Распознавание изображений с помощью CNN, обученных методом градиентного спуска [ править ]

Система распознавания рукописных номеров почтовых индексов [35] включала свертки, в которых коэффициенты ядра были тщательно разработаны вручную. [36]

Ян ЛеКун и др. (1989) [36] использовали обратное распространение, чтобы узнать коэффициенты ядра свертки непосредственно из изображений рукописных чисел. Таким образом, обучение было полностью автоматическим, выполнялось лучше, чем ручное вычисление коэффициентов, и подходило для более широкого круга задач распознавания изображений и типов изображений.

Этот подход стал основой современного компьютерного зрения .

LeNet-5 [ править ]

LeNet-5, новаторская 7-уровневая сверточная сеть, разработанная LeCun et al. в 1998 году [37], который классифицирует цифры, несколько банков применили его для распознавания рукописных цифр на чеках ( британский английский : чеки ), оцифрованных в изображениях 32x32 пикселей. Способность обрабатывать изображения с более высоким разрешением требует все большего и большего числа слоев сверточных нейронных сетей, поэтому этот метод ограничен доступностью вычислительных ресурсов.

Нейронная сеть с инвариантным сдвигом [ править ]

Точно так же нейронная сеть, инвариантная к сдвигу, была предложена W. Zhang et al. для распознавания символов изображения в 1988 году. [2] [3] Архитектура и алгоритм обучения были модифицированы в 1991 году [38] и применены для обработки медицинских изображений [39] и автоматического обнаружения рака груди на маммограммах . [40]

Другой дизайн, основанный на свертке, был предложен в 1988 году [41] для применения к разложению свернутых одномерных электромиографических сигналов посредством дек-свертки. Этот дизайн был изменен в 1989 году на другие конструкции, основанные на деконволюции. [42] [43]

Пирамида нейронной абстракции [ править ]

Пирамида нейронной абстракции

Архитектура с прямой связью сверточных нейронных сетей была расширена в пирамиде нейронной абстракции [44] боковыми связями и связями обратной связи. Результирующая рекуррентная сверточная сеть позволяет гибко включать контекстную информацию для итеративного разрешения локальных неоднозначностей. В отличие от предыдущих моделей, выходные данные, подобные изображению, с наивысшим разрешением генерировались, например, для семантической сегментации, реконструкции изображения и задач локализации объектов.

Реализации GPU [ править ]

Хотя CNN были изобретены в 1980-х, их прорыв в 2000-х потребовал быстрой реализации на графических процессорах (GPU).

В 2004 году К.С. О и К. Юнг показали, что стандартные нейронные сети могут быть значительно ускорены на графических процессорах. Их реализация была в 20 раз быстрее, чем аналогичная реализация на CPU . [45] [27] В 2005 году в другом документе также подчеркивалась ценность GPGPU для машинного обучения . [46]

Первая реализация CNN на GPU была описана в 2006 году K. Chellapilla et al. Их реализация была в 4 раза быстрее, чем аналогичная реализация на CPU. [47] В последующих работах также использовались графические процессоры, первоначально для других типов нейронных сетей (отличных от CNN), особенно нейронных сетей без учителя. [48] [49] [50] [51]

В 2010 году Дэн Чиресан и др. в IDSIA показали, что даже глубокие стандартные нейронные сети со многими уровнями можно быстро обучить на GPU с помощью контролируемого обучения с помощью старого метода, известного как обратное распространение . Их сеть превзошла предыдущие методы машинного обучения в тесте рукописных цифр MNIST . [52] В 2011 году они распространили этот подход с использованием графических процессоров на CNN, достигнув коэффициента ускорения 60 с впечатляющими результатами. [17] В 2011 году они использовали такие CNN на GPU, чтобы выиграть конкурс распознавания изображений, в котором они впервые достигли сверхчеловеческой производительности. [53] С 15 мая 2011 г. по 30 сентября 2012 г. их CNN выиграли не менее четырех имиджевых конкурсов. [54][27] В 2012 году они также значительно улучшили лучшую производительность в литературе для нескольких баз данных изображений, включая базу данных MNIST , базу данных NORB, набор данных HWDB1.0 (китайские иероглифы) и набор данных CIFAR10 (набор данных 60000 32x32 помеченных Изображения RGB ). [20]

Впоследствии аналогичный CNN на базе GPU Алекса Крижевского и др. победил в конкурсе ImageNet Large Scale Visual Recognition Challenge 2012. [55] CNN с очень глубоким объемом более 100 слоев от Microsoft выиграла конкурс ImageNet 2015. [56]

Реализации Intel Xeon Phi [ править ]

По сравнению с обучением CNN с использованием графических процессоров сопроцессору Intel Xeon Phi уделялось не так много внимания . [57] Заметной разработкой является метод распараллеливания для обучения сверточных нейронных сетей на Intel Xeon Phi, названный Controlled Hogwild с произвольным порядком синхронизации (CHAOS). [58] CHAOS использует параллелизм на уровне потоков и SIMD, который доступен на Intel Xeon Phi.

Отличительные особенности [ править ]

В прошлом для распознавания изображений использовались традиционные модели многослойного персептрона (MLP). [ Необходим пример ] Однако полная связь между узлами вызвала проклятие размерности и была трудноразрешима в вычислительном отношении с изображениями с более высоким разрешением. Изображение размером 1000 × 1000 пикселей с цветовыми каналами RGB имеет 3 миллиона весов, что слишком велико для эффективной обработки в масштабе с полной связью.

Слои CNN расположены в 3-х измерениях

Например, в CIFAR-10 изображения имеют размер только 32 × 32 × 3 (32 в ширину, 32 в высоту, 3 цветовых канала), поэтому один полностью связанный нейрон в первом скрытом слое обычной нейронной сети будет иметь 32 * 32 * 3 = 3072 веса. Однако изображение размером 200 × 200 приведет к появлению нейронов с весами 200 * 200 * 3 = 120 000.

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

Сверточные нейронные сети - это варианты многослойных перцептронов, предназначенные для имитации поведения зрительной коры . Эти модели смягчают проблемы, связанные с архитектурой MLP, за счет использования сильной пространственно-локальной корреляции, присутствующей в естественных изображениях. В отличие от MLP, CNN имеют следующие отличительные особенности:

  • 3D-объемы нейронов. Слои CNN имеют нейроны, расположенные в трех измерениях : ширине, высоте и глубине. [ необходима цитата ], где каждый нейрон внутри сверточного слоя связан только с небольшой областью слоя перед ним, называемой рецептивным полем. Различные типы слоев, как локально, так и полностью связанные, складываются в стек, чтобы сформировать архитектуру CNN.
  • Локальная связность: следуя концепции рецептивных полей, CNN используют пространственную локальность, навязывая шаблон локальной связи между нейронами соседних слоев. Таким образом, архитектура гарантирует, что изученные « фильтры » дают наиболее сильный отклик на пространственно локальный входной шаблон. Наложение множества таких слоев приводит к нелинейным фильтрам, которые становятся все более глобальными (то есть реагирующими на большую область пиксельного пространства), так что сеть сначала создает представления небольших частей входных данных, а затем из них собирает представления более крупных областей.
  • Общие веса: в CNN каждый фильтр реплицируется по всему визуальному полю. Эти реплицированные единицы имеют одинаковую параметризацию (вектор веса и смещение) и образуют карту характеристик. Это означает, что все нейроны в данном сверточном слое реагируют на одну и ту же функцию в пределах своего конкретного поля ответа. Репликация единиц таким образом позволяет результирующей карте признаков быть эквивариантной при изменениях местоположения входных признаков в поле зрения, то есть они обеспечивают трансляционную эквивалентность.
  • Объединение: в слоях объединения CNN карты характеристик делятся на прямоугольные подобласти, и функции в каждом прямоугольнике независимо подвергаются понижающей дискретизации до одного значения, обычно с использованием их среднего или максимального значения. В дополнение к уменьшению размеров карт признаков, операция объединения предоставляет некоторую степень трансляционной инвариантности для содержащихся в них признаков, позволяя CNN быть более устойчивой к вариациям их положений.

Вместе эти свойства позволяют CNN лучше обобщать проблемы зрения . Распределение веса резко сокращает количество изученных свободных параметров , тем самым снижая требования к памяти для работы сети и позволяя обучать более крупные и мощные сети.

Строительные блоки [ править ]

Архитектура CNN сформирована стеком отдельных слоев, которые преобразуют входной объем в выходной том (например, удерживая оценки классов) посредством дифференцируемой функции. Обычно используются несколько различных типов слоев. Это более подробно обсуждается ниже.

Нейроны сверточного слоя (синий), связанные со своим рецептивным полем (красный)

Сверточный слой [ править ]

Сверточный слой является основным строительным блоком CNN. Параметры слоя состоят из набора обучаемых фильтров (или ядер ), которые имеют небольшое воспринимающее поле, но распространяются на всю глубину входного объема. Во время прямого прохода каждый фильтр сворачивается по ширине и высоте входного объема, вычисляя скалярное произведение между элементами фильтра и входом, создавая 2-мерную карту активации этого фильтра. В результате сеть изучает фильтры, которые активируются, когда она обнаруживает определенный тип объекта в некоторой пространственной позиции на входе. [59] [№ 1]

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

Локальная связь [ править ]

Типичная архитектура CNN

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

Степень этой связи - гиперпараметр, называемый рецептивным полем нейрона. Соединения локальны в пространстве (по ширине и высоте), но всегда проходят по всей глубине входного объема. Такая архитектура гарантирует, что изученные фильтры дают самый сильный отклик на пространственно локальный входной шаблон.

Пространственное устройство [ править ]

Три гиперпараметра управляют размером выходного объема сверточного слоя: глубина, шаг и заполнение нулями.

  • Глубина объема выходного контролирует количество нейронов в слое , которые подключаются к одной и той же области объема ввода. Эти нейроны учатся активироваться для различных функций на входе. Например, если первый сверточный слой принимает необработанное изображение в качестве входных данных, то различные нейроны по измерению глубины могут активироваться в присутствии различных ориентированных краев или пятен цвета.
  • Шаг управляет распределением столбцов глубины по ширине и высоте. Если шаг равен 1, мы перемещаем фильтры по одному пикселю за раз. Это приводит к сильному перекрытию принимающих полей между столбцами и к большим объемам вывода. Для любого целого числашаг S означает, что фильтр транслирует S единиц за раз на выходе. На практикевстречается редко. Большой шаг означает меньшее перекрытие рецептивных полей и меньшие пространственные размеры выходного объема. [60]
  • Иногда удобно заполнить ввод нулями на границе объема ввода. Размер этого отступа - третий гиперпараметр. Padding обеспечивает управление пространственным размером выходного тома. В частности, иногда желательно точно сохранить пространственный размер входного объема.

Пространственный размер выходного объема является функцией размера входного объема, размера поля ядра нейронов сверточного слоя, шага и количества нулевого заполнения на границе. Таким образом, количество нейронов, которые "умещаются" в данном объеме:

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

Совместное использование параметров [ править ]

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

Поскольку все нейроны в одном глубинном срезе имеют одни и те же параметры, прямой проход в каждом глубинном срезе сверточного слоя может быть вычислен как свертка весов нейрона с входным объемом. [nb 2] Следовательно, обычно наборы весов называются фильтром (или ядром ), которое сворачивается с вводом. Результатом этой свертки является карта активации , и набор карт активации для каждого отдельного фильтра складывается вместе по измерению глубины для создания выходного объема. Совместное использование параметров способствует инвариантности трансляции архитектуры CNN.

Иногда предположение о совместном использовании параметров может не иметь смысла. Это особенно актуально, когда входные изображения в CNN имеют некоторую конкретную центрированную структуру; для которого мы ожидаем, что совершенно разные функции будут изучены в разных пространственных точках. Одним из практических примеров является случай, когда входными данными являются лица, центрированные на изображении: мы можем ожидать, что различные специфические для глаз или волос особенности будут изучены в разных частях изображения. В этом случае обычно ослабляют схему совместного использования параметров и вместо этого просто называют уровень «локально подключенным уровнем».

Слой объединения [ править ]

Максимальное объединение с фильтром 2x2 и шагом = 2

Еще одна важная концепция CNN - объединение, которое является формой нелинейной понижающей выборки . Существует несколько нелинейных функций для реализации пула, среди которых наиболее распространен максимальный пул . Он разбивает входное изображение на набор неперекрывающихся прямоугольников и для каждой такой подобласти выводит максимум.

Интуитивно понятно, что точное расположение объекта менее важно, чем его приблизительное расположение относительно других объектов. Это идея использования пула в сверточных нейронных сетях. Уровень объединения служит для постепенного уменьшения пространственного размера представления, уменьшения количества параметров, объема памяти и объема вычислений в сети, а, следовательно, также для управления переобучением . Обычно уровень объединения между последовательными сверточными уровнями (за каждым из которых обычно следует уровень ReLU ) в архитектуре CNN обычно вставляют . [59] : 460–461 Операция объединения может использоваться как другая форма трансляционной инвариантности. [59] : 458

Слой объединения работает независимо на каждом срезе глубины ввода и изменяет его размер в пространстве. Самая распространенная форма - это объединяющий слой с фильтрами размера 2 × 2, применяемыми с шагом 2 субдискретизации на каждом срезе глубины на входе на 2 по ширине и высоте, отбрасывая 75% активаций:

В этом случае каждая максимальная операция превышает 4 числа. Размер глубины остается неизменным.

В дополнении к максимальному объединению, объединяющие блоки могут использовать другие функции, такие как среднее объединение или ℓ 2 -норма объединение. Исторически сложилось так, что средний пул часто использовался, но в последнее время он потерял популярность по сравнению с максимальным пулом, который на практике работает лучше. [61]

Из-за агрессивного уменьшения размера представления [ какой? ] в последнее время наблюдается тенденция к использованию меньших фильтров [62] или к отказу от слоев объединения. [63]

RoI пул до размера 2x2. В этом примере предложение региона (входной параметр) имеет размер 7x5.

« Область интересов » объединения (также известный как Roi объединения) представляет собой вариант макс объединения, в котором выходной размер фиксируется и входной прямоугольник является параметром. [64]

Пул - важный компонент сверточных нейронных сетей для обнаружения объектов на основе архитектуры Fast R-CNN [65] .

Слой ReLU [ править ]

ReLU - это сокращение от выпрямленного линейного блока , который применяет ненасыщающую функцию активации . [55] Он эффективно удаляет отрицательные значения из карты активации, обнуляя их. [66] Это увеличивает нелинейные свойства на решающей функции и от общей сети , не затрагивая рецептивных полей свертки слоя.

Другие функции также используются для увеличения нелинейности, например, с насыщением гиперболического тангенса , и сигмовидной функцией . ReLU часто предпочитают другим функциям, поскольку он обучает нейронную сеть в несколько раз быстрее без значительного ущерба для точности обобщения . [67]

Полностью связанный слой [ править ]

После нескольких слоев сверточного и максимального пула рассуждения высокого уровня в нейронной сети выполняются через полносвязные уровни. Нейроны в полностью связанном слое имеют связи со всеми активациями в предыдущем слое, как это видно в обычных (несверточных) искусственных нейронных сетях . Таким образом, их активации могут быть вычислены как аффинное преобразование с умножением матриц, за которым следует смещение смещения ( векторное сложение изученного или фиксированного члена смещения). [ необходима цитата ]

Слой потерь [ править ]

«Слой потерь» определяет, как обучение наказывает отклонение между предсказанными (выходными) и истинными метками, и обычно является последним слоем нейронной сети. Могут использоваться различные функции потерь, подходящие для разных задач.

Softmax loss используется для прогнозирования одного класса из K взаимоисключающих классов. [nb 3] Сигмоидальная кросс-энтропийная потеря используется для предсказания K независимых значений вероятности в . Евклидовы потери используются для регрессии к меткам с действительной стоимостью .

Выбор гиперпараметров [ править ]

CNN используют больше гиперпараметров, чем стандартный многослойный персептрон (MLP). Хотя обычные правила для скорости обучения и констант регуляризации по- прежнему применяются, при оптимизации следует учитывать следующее.

Количество фильтров [ править ]

Поскольку размер карты объектов уменьшается с глубиной, слои рядом с входным слоем, как правило, имеют меньше фильтров, тогда как более высокие слои могут иметь больше. Чтобы уравнять вычисления на каждом слое, произведение значений характеристик v a на положение пикселя остается примерно постоянным по слоям. Для сохранения большего количества информации о вводе потребуется, чтобы общее количество активаций (количество карт функций, умноженное на количество позиций пикселей) не уменьшалось от одного слоя к другому.

Количество карт функций напрямую влияет на емкость и зависит от количества доступных примеров и сложности задачи.

Форма фильтра [ править ]

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

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

Форма максимального объединения [ править ]

Типичные значения - 2 × 2. Очень большие входные объемы могут потребовать объединения 4 × 4 в нижних слоях. [68] Однако выбор более крупных форм резко уменьшит размер сигнала и может привести к избыточной потере информации . Часто лучше всего работают неперекрывающиеся окна объединения. [61]

Методы регуляризации [ править ]

Регуляризация - это процесс введения дополнительной информации для решения некорректно поставленной проблемы или предотвращения переобучения . CNN используют различные типы регуляризации.

Эмпирический [ править ]

Бросить [ править ]

Поскольку полностью связанный слой занимает большинство параметров, он подвержен переобучению. Один из способов уменьшить переобучение - это отсев . [69] [70] На каждом этапе обучения отдельные узлы либо «выпадают» из сети (игнорируются) с вероятностью, либо сохраняются с вероятностью , так что остается сокращенная сеть; входящие и исходящие ребра выпавшего узла также удаляются. На этом этапе на данных обучается только сокращенная сеть. Затем удаленные узлы повторно вставляются в сеть с их исходными весами.

На этапах обучения обычно составляет 0,5; для входных узлов он обычно намного выше, потому что информация напрямую теряется, когда входные узлы игнорируются.

Во время тестирования после завершения обучения мы в идеале хотели бы найти выборочное среднее всех возможных выпавших сетей; к сожалению, это невозможно для больших значений . Однако мы можем найти приближение, используя полную сеть с выходом каждого узла, взвешенным с коэффициентом , поэтому ожидаемое значение выхода любого узла такое же, как на этапах обучения. Это самый большой вклад метода отсева: хотя он эффективно генерирует нейронные сети и, как таковой, позволяет комбинировать модели, во время тестирования необходимо тестировать только одну сеть.

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

DropConnect [ редактировать ]

DropConnect - это обобщение разрыва связи, при котором с вероятностью может быть прервано каждое соединение, а не каждый выходной блок . Таким образом, каждый блок получает входные данные от случайного подмножества блоков на предыдущем уровне. [71]

DropConnect похож на dropout, поскольку он вводит динамическую разреженность в модель, но отличается тем, что разреженность зависит от весов, а не для выходных векторов слоя. Другими словами, полностью связанный уровень с DropConnect становится редко связанным слоем, в котором соединения выбираются случайным образом на этапе обучения.

Стохастический пул [ править ]

Главный недостаток Dropout заключается в том, что он не имеет тех же преимуществ для сверточных слоев, где нейроны не полностью связаны.

В стохастическом объединении [72] обычные детерминированные операции объединения заменены стохастической процедурой, где активация в каждой области объединения выбирается случайным образом в соответствии с полиномиальным распределением , заданным действиями в области объединения. Этот подход свободен от гиперпараметров и может сочетаться с другими подходами к регуляризации, такими как отсев и увеличение данных .

Альтернативный взгляд на стохастическое объединение состоит в том, что он эквивалентен стандартному максимальному объединению, но с множеством копий входного изображения, каждая из которых имеет небольшие локальные деформации . Это похоже на явные упругие деформации входных изображений [73], которые обеспечивают отличную производительность для набора данных MNIST . [73] Использование стохастического объединения в многослойной модели дает экспоненциальное количество деформаций, поскольку выбор в более высоких слоях не зависит от тех, что ниже.

Искусственные данные [ править ]

Поскольку степень переобучения модели определяется как ее мощностью, так и объемом обучения, которое она получает, предоставление сверточной сети большего количества обучающих примеров может уменьшить переобучение. Поскольку эти сети обычно обучаются со всеми доступными данными, один из подходов состоит в том, чтобы либо сгенерировать новые данные с нуля (если это возможно), либо изменить существующие данные для создания новых. Например, входные изображения могут быть асимметрично обрезаны на несколько процентов для создания новых примеров с той же меткой, что и оригинал. [74]

Явный [ править ]

Ранняя остановка [ править ]

Один из простейших методов предотвращения переобучения сети - просто остановить обучение до того, как произойдет переобучение. Его недостатком является то, что процесс обучения останавливается.

Количество параметров [ редактировать ]

Другой простой способ предотвратить переоснащение - ограничить количество параметров, обычно путем ограничения количества скрытых единиц на каждом уровне или ограничения глубины сети. Для сверточных сетей размер фильтра также влияет на количество параметров. Ограничение количества параметров напрямую ограничивает предсказательную силу сети, снижая сложность функции, которую она может выполнять с данными, и, таким образом, ограничивает количество переобучения. Это эквивалентно « нулевой норме ».

Снижение веса [ править ]

Простая форма добавленного регуляризатора - это уменьшение веса, которое просто добавляет дополнительную ошибку, пропорциональную сумме весов ( норма L1 ) или квадрату величины ( норма L2 ) вектора весов, к ошибке в каждом узле. Уровень приемлемой сложности модели можно снизить, увеличив константу пропорциональности (гиперпараметр «альфа»), тем самым увеличив штраф за большие весовые векторы.

Регуляризация L2 - наиболее распространенная форма регуляризации. Это может быть реализовано путем штрафования квадрата величины всех параметров непосредственно в объективе. Регуляризация L2 имеет интуитивно понятную интерпретацию сильного наказания векторов пиковых весов и предпочтение векторов диффузных весов. Из-за мультипликативного взаимодействия между весами и входами это имеет полезное свойство, побуждающее сеть использовать все свои входы немного, а не некоторые из них много.

Регуляризация L1 также распространена. Это делает весовые векторы разреженными во время оптимизации. Другими словами, нейроны с регуляризацией L1 в конечном итоге используют только разреженное подмножество своих наиболее важных входов и становятся почти инвариантными по отношению к шумным входам. L1 с L2-регуляризациями можно комбинировать; это называется регуляризацией эластичной сети .

Ограничения максимальной нормы [ править ]

Другой формой регуляризации является обеспечение абсолютной верхней границы величины вектора весов для каждого нейрона и использование прогнозируемого градиентного спуска для обеспечения соблюдения ограничения. На практике это соответствует выполнению обновления параметра как обычно, а затем принудительному применению ограничения путем ограничения вектора весов каждого нейрона, чтобы удовлетворить его . Типичные значения порядка 3–4. В некоторых статьях сообщается об улучшениях [75] при использовании этой формы регуляризации.

Иерархические рамки координат [ править ]

При объединении теряются точные пространственные отношения между частями высокого уровня (такими как нос и рот на изображении лица). Эти отношения необходимы для распознавания личности. Перекрытие пулов, чтобы каждая функция находилась в нескольких пулах, помогает сохранить информацию. Сам по себе перевод не может экстраполировать понимание геометрических отношений на радикально новую точку зрения, такую ​​как другую ориентацию или масштаб. С другой стороны, люди очень хорошо умеют экстраполировать; увидев новую форму, они могут узнать ее с другой точки зрения. [76]

Ранее распространенный способ справиться с этой проблемой - обучить сеть преобразованным данным в различных ориентациях, масштабах, освещении и т. Д., Чтобы сеть могла справиться с этими изменениями. Это требует больших вычислений для больших наборов данных. Альтернативой является использование иерархии координатных рамок и использование группы нейронов для представления сочетания формы признака и его положения относительно сетчатки . Поза относительно сетчатки - это взаимосвязь между системой координат сетчатки и системой координат внутренних функций. [77]

Таким образом, один из способов представить что-либо - встроить в него координатную рамку. Это позволяет распознавать большие черты лица, используя согласованность поз их частей (например, позы носа и рта позволяют последовательно прогнозировать позу всего лица). Этот подход гарантирует, что сущность более высокого уровня (например, лицо) присутствует, когда более низкий уровень (например, нос и рот) согласовывает свое предсказание позы. Векторы нейронной активности, представляющие позу («векторы позы»), позволяют моделировать пространственные преобразования как линейные операции, которые упрощают для сети изучение иерархии визуальных объектов и обобщение по точкам зрения. Это похоже на то, как человеческая зрительная система накладывает рамки координат для представления форм. [78]

Приложения [ править ]

Распознавание изображений [ править ]

CNN часто используются в системах распознавания изображений . В 2012 году в базе данных MNIST было зарегистрировано 0,23% ошибок . [20] В другой статье об использовании CNN для классификации изображений сообщается, что процесс обучения был «на удивление быстрым»; в той же статье лучшие опубликованные результаты по состоянию на 2011 год были получены в базе данных MNIST и базе данных NORB. [17] Впоследствии аналогичный CNN под названием AlexNet [79] выиграл конкурс ImageNet Large Scale Visual Recognition Challenge 2012.

Применительно к распознаванию лиц CNN значительно снизили количество ошибок. [80] В другой статье сообщается, что уровень распознавания 97,6% для «5600 неподвижных изображений более 10 предметов». [11] CNN использовались для объективной оценки качества видео после ручного обучения; полученная система имела очень низкую среднеквадратичную ошибку . [33]

Программа ImageNet Large Scale Visual Recognition Challenge - это эталон классификации и обнаружения объектов с миллионами изображений и сотнями классов объектов. В ILSVRC 2014 [81] крупномасштабная задача визуального распознавания почти каждая высокопоставленная команда использовала CNN в качестве основной структуры. Победитель GoogLeNet [82] (основа DeepDream ) увеличил среднюю точность обнаружения объектов до 0,439329 и уменьшил ошибку классификации до 0,06656, что является лучшим результатом на сегодняшний день. В его сети применено более 30 слоев. Производительность сверточных нейронных сетей в тестах ImageNet была близка к показателям людей. [83]Лучшие алгоритмы все еще борются с маленькими или тонкими объектами, такими как маленький муравей на стебле цветка или человек, держащий перо в руке. У них также есть проблемы с изображениями, искаженными фильтрами, что становится все более распространенным явлением в современных цифровых камерах. Напротив, такие изображения редко беспокоят людей. Однако у людей обычно возникают проблемы с другими проблемами. Например, они не умеют классифицировать объекты по мелкозернистым категориям, таким как конкретная порода собак или вид птиц, тогда как сверточные нейронные сети справляются с этим. [ необходима цитата ]

В 2015 году многослойная CNN продемонстрировала способность обнаруживать лица под разными углами, в том числе перевернутыми, даже когда они частично закрыты, с конкурентоспособной производительностью. Сеть была обучена на базе данных из 200 000 изображений, которые включали лица под разными углами и ориентациями, и еще 20 миллионов изображений без лиц. Они использовали пакеты из 128 изображений за 50 000 итераций. [84]

Видеоанализ [ править ]

По сравнению с доменами данных изображений, относительно мало работы по применению CNN для классификации видео. Видео сложнее изображений, поскольку имеет другое (временное) измерение. Однако были исследованы некоторые расширения CNN в видеодомене. Один из подходов - рассматривать пространство и время как эквивалентные измерения входных данных и выполнять свертки как во времени, так и в пространстве. [85] [86] Другой способ - объединить функции двух сверточных нейронных сетей, одну для пространственного, а другую для временного потока. [87] [88] [89] Рекуррентные блоки длительной краткосрочной памяти (LSTM) обычно включаются после CNN для учета межкадровых или межклиповых зависимостей. [90] [91] Были введены схемы неконтролируемого обучения для обучения пространственно-временным функциям, основанные на сверточных ограниченных машинах Больцмана [92] и независимом подпространственном анализе. [93]

Обработка естественного языка [ править ]

CNN также были исследованы для обработки естественного языка . Модели CNN эффективны для различных задач НЛП и достигают отличных результатов в семантическом синтаксическом анализе , [94] извлечении поисковых запросов, [95] моделировании предложений, [96] классификации, [97] прогнозировании [98] и других традиционных задачах НЛП. [99]

Обнаружение аномалий [ править ]

CNN с одномерными свертками использовалась для временных рядов в частотной области (спектральный остаток) неконтролируемой моделью для обнаружения аномалий во временной области. [100]

Открытие лекарств [ править ]

CNN использовались при открытии лекарств . Прогнозирование взаимодействия между молекулами и биологическими белками может определить потенциальные методы лечения. В 2015 году Atomwise представила AtomNet, первую нейронную сеть с глубоким обучением для рационального дизайна лекарств на основе структуры . [101] Система обучается непосредственно на трехмерных представлениях химических взаимодействий. Подобно тому, как сети распознавания изображений учатся составлять более мелкие, пространственно близкие элементы в более крупные и сложные структуры, [102] AtomNet обнаруживает химические свойства, такие как ароматичность , атомы углерода sp 3 и водородные связи.. Впоследствии AtomNet использовалась для прогнозирования новых биомолекул- кандидатов для лечения множества заболеваний, в первую очередь лечения вируса Эбола [103] и рассеянного склероза . [104]

Оценка риска для здоровья и открытие биомаркеров старения [ править ]

Сети CNN могут быть естественным образом адаптированы для анализа достаточно большого набора данных временных рядов, представляющих однонедельные потоки физической активности человека, дополненные обширными клиническими данными (включая регистр смертей, как это предусмотрено, например, исследованием NHANES ). Простая CNN была объединена с моделью пропорциональных рисков Кокса-Гомпертца и использовалась для создания контрольного примера цифровых биомаркеров старения в форме предсказателя смертности от всех причин. [105]

Игра в шашки [ править ]

CNN использовались в игре в шашки . С 1999 по 2001 год Фогель и Челлапилла опубликовали статьи, показывающие, как сверточная нейронная сеть может научиться играть в шашки с помощью коэволюции. В процессе обучения не использовались предыдущие профессиональные игры человека, а скорее был сосредоточен на минимальном наборе информации, содержащейся в шахматной доске: расположение и тип фигур, а также разница в количестве фигур между двумя сторонами. В конечном итоге программа ( Blondie24 ) была протестирована в 165 играх с игроками и заняла первое место в 0,4%. [106] [107] Он также выиграл у программы Chinook на ее «экспертном» уровне игры. [108]

Перейти [ править ]

CNN использовались в компьютерном Go . В декабре 2014 года Кларк и Сторки опубликовали статью, показывающую, что CNN, обученная путем обучения с учителем из базы данных профессиональных игр людей, может превзойти GNU Go и выиграть в некоторых играх против поиска по дереву Монте-Карло Fuego 1.1 за меньшее время, чем у Fuego. играть в. [109] Позже было объявлено, что большая 12-слойная сверточная нейронная сеть правильно предсказала профессиональный ход в 55% позиций, что сравнимо с точностью игрока-человека с 6 данами . Когда обученная сверточная сеть использовалась непосредственно для игры в игры Go без какого-либо поиска, она превосходила традиционную поисковую программу GNU Go.в 97% игр и соответствовал производительности программы поиска по дереву Монте-Карло Fuego, моделирующей десять тысяч разыгрываний (около миллиона позиций) за ход. [110]

AlphaGo использовала пару CNN для выбора ходов («политическая сеть») и оценки позиций («сеть ценностей»), управляющих MCTS , первой, кто победил лучшего игрока-человека того времени. [111]

Прогнозирование временных рядов [ править ]

Рекуррентные нейронные сети обычно считаются лучшими архитектурами нейронных сетей для прогнозирования временных рядов (и моделирования последовательностей в целом), но недавние исследования показывают, что сверточные сети могут работать сопоставимо или даже лучше. [112] [7] Расширенные свертки [113] могут позволить одномерным сверточным нейронным сетям эффективно изучать зависимости временных рядов. [114] Свертки могут быть реализованы более эффективно, чем решения на основе RNN, и они не страдают от исчезающих (или взрывных) градиентов. [115] Сверточные сети могут обеспечить улучшенную производительность прогнозирования, когда есть несколько похожих временных рядов, на которых можно учиться. [116]CNN могут также применяться для решения других задач анализа временных рядов (например, классификации временных рядов [117] или квантильного прогнозирования [118] ).

Культурное наследие и 3D-наборы данных [ править ]

По мере того, как археологические находки, такие как глиняные таблички с клинописью , все чаще приобретаются с помощью 3D-сканеров , становятся доступными первые эталонные наборы данных, такие как HeiCuBeDa [119], обеспечивающие почти 2.000 нормализованных 2D- и 3D-наборов данных, подготовленных с помощью GigaMesh Software Framework . [120] Таким образом, измерения на основе кривизны используются в сочетании с геометрическими нейронными сетями (ГНС), например, для классификации по периоду тех глиняных табличек, которые являются одними из самых старых документов в истории человечества. [121] [122]

Тонкая настройка [ править ]

Для многих приложений данные обучения менее доступны. Сверточным нейронным сетям обычно требуется большой объем обучающих данных, чтобы избежать переобучения . Распространенным методом является обучение сети на большом наборе данных из связанного домена. После того, как параметры сети сойдутся, выполняется дополнительный этап обучения с использованием данных в домене для точной настройки весов сети. Это позволяет успешно применять сверточные сети для решения задач с небольшими обучающими наборами. [123]

Интерпретируемые человеческие объяснения [ править ]

Сквозное обучение и прогнозирование - обычная практика в компьютерном зрении . Однако для критически важных систем, таких как беспилотные автомобили , требуются интерпретируемые человеком объяснения . [124] Благодаря недавним достижениям в визуальной заметности , пространственном и временном внимании , наиболее важные пространственные области / временные моменты могут быть визуализированы, чтобы оправдать прогнозы CNN. [125] [126]

Связанные архитектуры [ править ]

Глубокие Q-сети [ править ]

Глубокая Q-сеть (DQN) - это тип модели глубокого обучения, сочетающий глубокую нейронную сеть с Q-обучением , формой обучения с подкреплением . В отличие от более ранних агентов обучения с подкреплением, DQN, использующие CNN, могут учиться непосредственно из многомерных сенсорных входов посредством обучения с подкреплением. [127]

Предварительные результаты были представлены в 2014 году с сопроводительным документом в феврале 2015 года. [128] В исследовании описывалось приложение к играм на Atari 2600 . Ему предшествовали другие модели глубокого обучения с подкреплением. [129]

Сети глубоких убеждений [ править ]

Сверточные сети глубоких убеждений (CDBN) имеют структуру, очень похожую на сверточные нейронные сети, и обучаются так же, как сети глубоких убеждений. Следовательно, они используют двумерную структуру изображений, как это делают CNN, и используют предварительное обучение, такое как сети глубоких убеждений . Они обеспечивают общую структуру, которую можно использовать во многих задачах обработки изображений и сигналов. Результаты тестов для стандартных наборов данных изображений, таких как CIFAR [130] , были получены с использованием CDBN. [131]

Известные библиотеки [ править ]

  • Caffe : библиотека сверточных нейронных сетей. Создано Berkeley Vision and Learning Center (BVLC). Он поддерживает как CPU, так и GPU. Разработан на C ++ и имеет оболочки Python и MATLAB .
  • Deeplearning4j : глубокое обучение на Java и Scala на Spark с поддержкой нескольких графических процессоров . Универсальная библиотека глубокого обучения для производственного стека JVM, работающая на механизме научных вычислений C ++. Позволяет создавать собственные слои. Интегрируется с Hadoop и Kafka.
  • Dlib : набор инструментов для создания реальных приложений для машинного обучения и анализа данных на C ++.
  • Microsoft Cognitive Toolkit : набор инструментов для глубокого обучения, написанный Microsoft, с несколькими уникальными функциями, повышающими масштабируемость на нескольких узлах. Он поддерживает полноценные интерфейсы для обучения на C ++ и Python, а также с дополнительной поддержкой вывода моделей на C # и Java.
  • TensorFlow : Apache 2.0 -licensed Theano-подобные библиотекам с поддержкой CPU, GPU, собственной компанией Google блока обработки тензора (ТП), [132] и мобильными устройствами.
  • Theano : эталонная библиотека глубокого обучения для Python с API, в значительной степени совместимая с популярной библиотекой NumPy . Позволяет пользователю писать символьные математические выражения, а затем автоматически генерировать их производные, избавляя пользователя от необходимости кодировать градиенты или обратное распространение. Эти символьные выражения автоматически компилируются в код CUDA для быстрой реализации на GPU .
  • Torch : научная вычислительная среда с широкой поддержкой алгоритмов машинного обучения, написанная на C и Lua . Основным автором является Ронан Коллобер, и теперь он используется в Facebook AI Research и Twitter.

Известные API [ править ]

  • Keras : API высокого уровня, написанный на Python для сверточных нейронных сетей TensorFlow и Theano . [133]

См. Также [ править ]

  • Внимание (машинное обучение)
  • Свертка
  • Глубокое обучение
  • Обработка естественного языка
  • Неокогнитрон
  • Масштабно-инвариантное преобразование признаков
  • Нейронная сеть с временной задержкой
  • Блок обработки зрения

Примечания [ править ]

  1. ^ При применении к другим типам данных, кроме данных изображения, таким как звуковые данные, «пространственное положение» может по-разному соответствовать разным точкам во временной области , частотной области или других математических пространствах .
  2. ^ отсюда и название "сверточный слой"
  3. ^ Так называемые категориальные данные .

Ссылки [ править ]

  1. ^ Валуева, М.В. Нагорнов Н.Н. Ляхов П.А. Валуев Г.В. Червяков, Н.И. (2020). «Применение системы счисления остатков для снижения затрат на оборудование для реализации сверточной нейронной сети». Математика и компьютеры в моделировании . Elsevier BV. 177 : 232–243. DOI : 10.1016 / j.matcom.2020.04.031 . ISSN  0378-4754 . Сверточные нейронные сети - перспективный инструмент для решения проблемы распознавания образов.
  2. ^ а б Чжан, Вэй (1988). «Нейронная сеть распознавания образов с инвариантным сдвигом и ее оптическая архитектура» . Материалы ежегодной конференции Японского общества прикладной физики .
  3. ^ а б Чжан, Вэй (1990). «Модель параллельной распределенной обработки с локальными пространственно-инвариантными взаимосвязями и ее оптическая архитектура» . Прикладная оптика . 29 (32): 4790–7. Bibcode : 1990ApOpt..29.4790Z . DOI : 10,1364 / AO.29.004790 . PMID 20577468 . 
  4. ^ ван ден Оорд, Аарон; Дилеман, Сандер; Шраувен, Бенджамин (01.01.2013). Берджес, CJC; Bottou, L .; Веллинг, М .; Ghahramani, Z .; Weinberger, KQ (ред.). Рекомендации по музыке с глубоким содержанием (PDF) . Curran Associates, Inc., стр. 2643–2651.
  5. ^ Коллобер, Ронан; Уэстон, Джейсон (01.01.2008). Унифицированная архитектура для обработки естественного языка: глубокие нейронные сети с многозадачным обучением . Материалы 25-й Международной конференции по машинному обучению . ICML '08. Нью-Йорк, Нью-Йорк, США: ACM. С. 160–167. DOI : 10.1145 / 1390156.1390177 . ISBN 978-1-60558-205-4. S2CID  2617020 .
  6. ^ Авилов, Алексей; Римберт, Себастьян; Попов, Антон; Бугрен, Лоран (июль 2020 г.). «Методы глубокого обучения для улучшения обнаружения интраоперационной осведомленности по электроэнцефалографическим сигналам» . 2020 42-я ежегодная международная конференция общества инженеров IEEE в медицине и биологии (EMBC) . Монреаль, Квебек, Канада: IEEE. 2020 : 142–145. DOI : 10,1109 / EMBC44109.2020.9176228 . ISBN 978-1-7281-1990-8. PMID  33017950 . S2CID  221386616 .
  7. ^ а б Цантэкидис, Авраам; Пассалис, Николаос; Тефас, Анастасиос; Канниайнен, Юхо; Габбуж, Монсеф; Иосифидис, Александрос (июль 2017 г.). «Прогнозирование цен на акции из книги лимитных заказов с использованием сверточных нейронных сетей». 2017 19-я конференция IEEE по бизнес-информатике (CBI) . Салоники, Греция: IEEE: 7–12. DOI : 10.1109 / CBI.2017.23 . ISBN 978-1-5386-3035-8. S2CID  4950757 .
  8. ^ a b c Фукусима, К. (2007). «Неокогнитрон» . Scholarpedia . 2 (1): 1717. Bibcode : 2007SchpJ ... 2.1717F . DOI : 10,4249 / scholarpedia.1717 .
  9. ^ a b Hubel, DH; Визель, TN (1968-03-01). «Рецептивные поля и функциональная архитектура полосатой коры головного мозга обезьян» . Журнал физиологии . 195 (1): 215–243. DOI : 10.1113 / jphysiol.1968.sp008455 . ISSN 0022-3751 . PMC 1557912 . PMID 4966457 .   
  10. ^ a b Фукусима, Кунихико (1980). «Неокогнитрон: модель самоорганизующейся нейронной сети для механизма распознавания образов, не зависящего от сдвига позиции» (PDF) . Биологическая кибернетика . 36 (4): 193–202. DOI : 10.1007 / BF00344251 . PMID 7370364 . S2CID 206775608 . Проверено 16 ноября 2013 года .   
  11. ^ а б Матусугу, Масакадзу; Кацухико Мори; Юсуке Митари; Юджи Канеда (2003). «Независимое от субъекта распознавание выражения лица с надежным распознаванием лиц с использованием сверточной нейронной сети» (PDF) . Нейронные сети . 16 (5): 555–559. DOI : 10.1016 / S0893-6080 (03) 00115-1 . PMID 12850007 . Проверено 17 ноября 2013 года .  
  12. Ян Гудфеллоу и Йошуа Бенжио и Аарон Курвиль (2016). Глубокое обучение . MIT Press. п. 326.
  13. ^ «Сверточные нейронные сети (LeNet) - Документация DeepLearning 0.1» . DeepLearning 0.1 . LISA Lab . Проверено 31 августа 2013 года .
  14. Хабиби, Агдам, Хамед (30 мая 2017 г.). Руководство по сверточным нейронным сетям: практическое приложение для обнаружения и классификации дорожных знаков . Херави, Эльназ Джахани. Чам, Швейцария. ISBN 9783319575490. OCLC  987790957 .
  15. ^ Венкатесан, Рагав; Ли, Баосин (2017-10-23). Сверточные нейронные сети в визуальных вычислениях: краткое руководство . CRC Press. ISBN 978-1-351-65032-8.
  16. ^ Балас, Валентина Е .; Кумар, Рагвендра; Шривастава, Раджшри (19.11.2019). Последние тенденции и достижения в области искусственного интеллекта и Интернета вещей . Springer Nature. ISBN 978-3-030-32644-9.
  17. ^ a b c Чиресан, Дан; Ули Мейер; Джонатан Маши; Лука М. Гамбарделла; Юрген Шмидхубер (2011). «Гибкие, высокопроизводительные сверточные нейронные сети для классификации изображений» (PDF) . Труды двадцать второй международной совместной конференции по искусственному интеллекту - Том второй . 2 : 1237–1242 . Проверено 17 ноября 2013 года .
  18. ^ Крижевский , Алексей. «Классификация ImageNet с глубокими сверточными нейронными сетями» (PDF) . Проверено 17 ноября 2013 года .
  19. ^ a b Ямагути, Коити; Сакамото, Кендзи; Акабане, Тошио; Фудзимото, Ёсидзи (ноябрь 1990 г.). Нейронная сеть для независимого от говорящего изолированного распознавания слов . Первая международная конференция по обработке разговорной речи (ICSLP 90). Кобе, Япония.
  20. ^ a b c d Чиресан, Дан; Мейер, Ули; Шмидхубер, Юрген (июнь 2012 г.). Многоколоночные глубокие нейронные сети для классификации изображений . Конференция IEEE 2012 года по компьютерному зрению и распознаванию образов . Нью-Йорк, штат Нью-Йорк: Институт инженеров по электротехнике и электронике (IEEE). С. 3642–3649. arXiv : 1202.2745 . CiteSeerX 10.1.1.300.3283 . DOI : 10.1109 / CVPR.2012.6248110 . ISBN  978-1-4673-1226-4. OCLC  812295155 . S2CID  2161592 .
  21. ^ " Обзор ускорителей на основе FPGA для сверточных нейронных сетей ", NCAA, 2018
  22. ^ ЛеКун, Янн. «LeNet-5, сверточные нейронные сети» . Проверено 16 ноября 2013 года .
  23. ^ a b Hubel, DH; Визель, Теннесси (октябрь 1959 г.). «Рецептивные поля одиночных нейронов в полосатой коре головного мозга кошки» . J. Physiol . 148 (3): 574–91. DOI : 10.1113 / jphysiol.1959.sp006308 . PMC 1363130 . PMID 14403679 .  
  24. Дэвид Хьюбел и Торстен Н. Визель (2005). Мозг и зрительное восприятие: история 25-летнего сотрудничества . Oxford University Press, США. п. 106. ISBN 978-0-19-517618-6.
  25. ^ ЛеКун, Янн; Бенхио, Йошуа; Хинтон, Джеффри (2015). «Глубокое обучение». Природа . 521 (7553): 436–444. Bibcode : 2015Natur.521..436L . DOI : 10,1038 / природа14539 . PMID 26017442 . S2CID 3074096 .  
  26. ^ Weng, J; Ахуджа, N; Хуанг, Т.С. (1993). «Обучение распознаванию и сегментации трехмерных объектов из двухмерных изображений». Proc. 4-я Международная конф. Компьютерное зрение : 121–128. DOI : 10.1109 / ICCV.1993.378228 . ISBN 0-8186-3870-2. S2CID  8619176 .
  27. ^ a b c Шмидхубер, Юрген (2015). «Глубокое обучение» . Scholarpedia . 10 (11): 1527–54. CiteSeerX 10.1.1.76.1541 . DOI : 10.1162 / neco.2006.18.7.1527 . PMID 16764513 . S2CID 2309950 .   
  28. ^ Хомма, Тошитеру; Les Atlas; Роберт Маркс II (1988). «Искусственная нейронная сеть для пространственно-временных биполярных паттернов: приложение к классификации фонем» (PDF) . Достижения в системах обработки нейронной информации . 1 : 31–40.
  29. ^ a b Вайбель, Алекс (декабрь 1987 г.). Распознавание фонем с использованием нейронных сетей с временной задержкой . Заседание Института инженеров по электрике, информации и связи (IEICE). Токио, Япония.
  30. ^ a b Александр Вайбель и др., Распознавание фонем с использованием нейронных сетей с временной задержкой. Транзакции IEEE по акустике, речи и обработке сигналов, том 37, № 3, стр. 328. - 339 марта 1989 г.
  31. ^ ЛеКун, Янн; Бенхио, Йошуа (1995). «Сверточные сети для изображений, речи и временных рядов» . В Арбибе Майкл А. (ред.). Справочник по теории мозга и нейронным сетям (Второе изд.). Пресса Массачусетского технологического института. С. 276–278.
  32. ^ Джон Б. Хэмпшир и Александр Вайбел, Коннекционистские архитектуры для распознавания фонем с несколькими динамиками , Достижения в системах обработки нейронной информации, 1990, Морган Кауфманн.
  33. ^ а б Ле Калле, Патрик; Кристиан Виар-Годен; Доминик Барба (2006). «Подход сверточной нейронной сети для объективной оценки качества видео» (PDF) . IEEE-транзакции в нейронных сетях . 17 (5): 1316–1327. DOI : 10.1109 / TNN.2006.879766 . PMID 17001990 . S2CID 221185563 . Проверено 17 ноября 2013 года .   
  34. ^ Ко, Том; Педдинти, Виджаядитья; Пови, Даниэль; Зельцер, Майкл Л .; Худанпур, Санджив (март 2018 г.). Исследование увеличения данных реверберирующей речи для надежного распознавания речи (PDF) . 42-я Международная конференция IEEE по акустике, обработке речи и сигналов (ICASSP 2017). Новый Орлеан, Лос-Анджелес, США.
  35. ^ Denker, JS, Gardner, W. R., Graf, H.P, Henderson, D, Howard, RE, Hubbard, W, Jackel, LD, BaIrd, HS, and Guyon (1989) Распознаватель нейронной сети для рукописного почтового индекса. цифры кода , AT&T Bell Laboratories
  36. ^ a b Y. LeCun, B. Boser, JS Denker, D. Henderson, RE Howard, W. Hubbard, LD Jackel, Обратное распространение, применяемое для распознавания рукописного почтового индекса ; AT&T Bell Laboratories
  37. ^ ЛеКун, Янн; Леон Ботту; Йошуа Бенджио; Патрик Хаффнер (1998). «Градиентное обучение применительно к распознаванию документов» (PDF) . Труды IEEE . 86 (11): 2278–2324. CiteSeerX 10.1.1.32.9552 . DOI : 10.1109 / 5.726791 . Проверено 7 октября, 2016 .  
  38. ^ Чжан, Вэй (1991). «Обратное распространение ошибок с минимальными весами энтропии: метод для лучшего обобщения двумерных инвариантных к сдвигу NN» . Труды Международной совместной конференции по нейронным сетям .
  39. ^ Чжан, Вэй (1991). «Обработка изображений эндотелия роговицы человека на основе обучающей сети» . Прикладная оптика . 30 (29): 4211–7. Bibcode : 1991ApOpt..30.4211Z . DOI : 10,1364 / AO.30.004211 . PMID 20706526 . 
  40. ^ Чжан, Вэй (1994). «Компьютеризированное обнаружение кластерных микрокальцификатов на цифровых маммограммах с использованием инвариантной к сдвигу искусственной нейронной сети» . Медицинская физика . 21 (4): 517–24. Bibcode : 1994MedPh..21..517Z . DOI : 10.1118 / 1.597177 . PMID 8058017 . 
  41. ^ Даниэль Граупе, Руэй Вен Лю, Джордж С. Мошиц. « Применение нейронных сетей в медицинской обработке сигналов ». В Proc. 27-я конференция IEEE Decision and Control, стр. 343–347, 1988.
  42. ^ Даниэль Грауп, Борис Верн, Г. Грюнер, Аарон Филд и Цю Хуанг. « Разложение поверхностных сигналов ЭМГ на потенциалы действия отдельных волокон с помощью нейронной сети ». Proc. IEEE International Symp. по схемам и системам, стр. 1008–1011, 1989.
  43. ^ Цю Хуан, Даниэль Грауп, И Фанг Хуанг, Руй Вэнь Лю. « Идентификация паттернов возбуждения нейронных сигналов ». В Proc. 28-я конференция IEEE Decision and Control, стр. 266–271, 1989.
  44. ^ Behnke, Sven (2003). Иерархические нейронные сети для интерпретации изображений (PDF) . Конспект лекций по информатике. 2766 . Springer. DOI : 10.1007 / b11963 . ISBN  978-3-540-40722-5. S2CID  1304548 .
  45. ^ О, KS; Юнг, К. (2004). «Реализация нейронных сетей на GPU». Распознавание образов . 37 (6): 1311–1314. DOI : 10.1016 / j.patcog.2004.01.013 .
  46. ^ Дэйв Стейнкраус; Патрис Симард; Ян Бак (2005). «Использование графических процессоров для алгоритмов машинного обучения» . 12-я Международная конференция по анализу и распознаванию документов (ICDAR 2005) . С. 1115–1119.
  47. ^ Кумар Челлапилла; Сид Пури; Патрис Симард (2006). «Высокопроизводительные сверточные нейронные сети для обработки документов» . В Лоретте, Гай (ред.). Десятый международный семинар по вопросам распознавания почерка . Suvisoft.
  48. ^ Хинтон, GE; Осиндеро, С; Тех, YW (июль 2006 г.). «Алгоритм быстрого обучения для сетей глубоких убеждений». Нейронные вычисления . 18 (7): 1527–54. CiteSeerX 10.1.1.76.1541 . DOI : 10.1162 / neco.2006.18.7.1527 . PMID 16764513 . S2CID 2309950 .   
  49. ^ Bengio, Yoshua; Ламблин, Паскаль; Поповичи, Дан; Ларошель, Хьюго (2007). «Жадное послойное обучение глубоких сетей» (PDF) . Достижения в системах обработки нейронной информации : 153–160.
  50. ^ Ранзато, Марк Аурелио; Поултни, Кристофер; Чопра, Сумит; ЛеКун, Янн (2007). «Эффективное изучение разреженных представлений с помощью модели, основанной на энергии» (PDF) . Достижения в системах обработки нейронной информации .
  51. ^ Райна, R; Мадхаван, А; Нг, Эндрю (2009). «Крупномасштабное глубокое обучение без учителя с использованием графических процессоров» (PDF) . ICML : 873–880 .
  52. ^ Чиресан, Дан; Мейер, Ули; Гамбарделла, Лука; Шмидхубер, Юрген (2010). «Глубокие большие простые нейронные сети для распознавания рукописных цифр». Нейронные вычисления . 22 (12): 3207–3220. arXiv : 1003.0358 . DOI : 10.1162 / NECO_a_00052 . PMID 20858131 . S2CID 1918673 .  
  53. ^ "Таблица результатов конкурса IJCNN 2011" . ОФИЦИАЛЬНЫЙ КОНКУРС IJCNN2011 . 2010 . Проверено 14 января 2019 .
  54. ^ Schmidhuber, Jürgen (17 марта 2017). «История соревнований по компьютерному зрению, выигранных глубокими CNN на GPU» . Проверено 14 января 2019 .
  55. ^ а б Крижевский Алексей; Суцкевер Илья; Хинтон, Джеффри Э. (24 мая 2017 г.). «Классификация ImageNet с глубокими сверточными нейронными сетями» (PDF) . Коммуникации ACM . 60 (6): 84–90. DOI : 10.1145 / 3065386 . ISSN 0001-0782 . S2CID 195908774 .   
  56. ^ Он, Кайминг; Чжан, Сянъюй; Рен, Шаоцин; Сунь, Цзянь (2016). «Глубокое остаточное обучение для распознавания изображений» (PDF) . Конференция IEEE 2016 г. по компьютерному зрению и распознаванию образов (CVPR) : 770–778. arXiv : 1512.03385 . DOI : 10.1109 / CVPR.2016.90 . ISBN  978-1-4673-8851-1. S2CID  206594692 .
  57. ^ Viebke, Андре; Пллана, Сабри (2015). «Возможности Intel (R) Xeon Phi для контролируемого глубокого обучения» . 17-я Международная конференция IEEE 2015 года по высокопроизводительным вычислениям и коммуникациям, 7-й Международный симпозиум IEEE 2015 года по безопасности и защите киберпространства и 12-я Международная конференция IEEE 2015 года по встроенному программному обеспечению и системам . IEEE Xplore . IEEE 2015. С. 758–765. DOI : 10.1109 / СКЦ-CSS-ICESS.2015.45 . ISBN 978-1-4799-8937-9. S2CID  15411954 .
  58. ^ Viebke, Андре; Мемети, Суэйб; Пллана, Сабри; Авраам, Аджит (2019). «CHAOS: схема распараллеливания для обучения сверточных нейронных сетей на Intel Xeon Phi». Журнал суперкомпьютеров . 75 (1): 197–227. arXiv : 1702.07908 . DOI : 10.1007 / s11227-017-1994-х . S2CID 14135321 . 
  59. ^ а б в Жерон, Орелиен (2019). Практическое машинное обучение с помощью Scikit-Learn, Keras и TensorFlow . Севастополь, Калифорния: O'Reilly Media. ISBN 978-1-492-03264-9., стр.448
  60. ^ "CS231n Сверточные нейронные сети для визуального распознавания" . cs231n.github.io . Проверено 25 апреля 2017 .
  61. ^ a b Шерер, Доминик; Мюллер, Андреас С .; Бенке, Свен (2010). «Оценка операций объединения в сверточные архитектуры для распознавания объектов» (PDF) . Искусственные нейронные сети (ICANN), 20-я Международная конференция по . Салоники, Греция: Springer. С. 92–101.
  62. ^ Грэм, Бенджамин (2014-12-18). «Дробное максимальное объединение». arXiv : 1412.6071 [ cs.CV ].
  63. ^ Спрингенберг, Йост Тобиас; Досовицкий, Алексей; Брокс, Томас; Ридмиллер, Мартин (21 декабря 2014 г.). «Стремление к простоте: вся сверточная сеть». arXiv : 1412.6806 [ cs.LG ].
  64. ^ Grel, Томаш (2017-02-28). «Объяснение объединения интересов» . deepsense.io .
  65. ^ Гиршик, Росс (2015-09-27). «Быстрый R-CNN». arXiv : 1504.08083 [ cs.CV ].
  66. ^ Romanuke, Вадим (2017). «Соответствующее количество и размещение ReLU в сверточных нейронных сетях» . Вестник НТУУ «Киевский политехнический институт» . 1 : 69–78. DOI : 10.20535 / 1810-0546.2017.1.88156 .
  67. ^ Крижевский, А .; Суцкевер, И .; Хинтон, GE (2012). «Классификация Imagenet с глубокими сверточными нейронными сетями» (PDF) . Достижения в системах обработки нейронной информации . 1 : 1097–1105.
  68. ^ Дешпанд, Штольня. «9 статей по глубокому обучению, о которых вам нужно знать (понимание CNN, часть 3)» . adeshpande3.github.io . Проверено 4 декабря 2018 .
  69. ^ Шривастава, Нитиш; К. Джеффри Хинтон; Алексей Крижевский; Илья Суцкевер; Руслан Салахутдинов (2014). «Отсев: простой способ предотвратить переоснащение нейронных сетей» (PDF) . Журнал исследований в области машинного обучения . 15 (1): 1929–1958.
  70. ^ Карлос Э. Перес. «Образец языка для глубокого обучения» .
  71. ^ «Регуляризация нейронных сетей с использованием DropConnect | ICML 2013 | JMLR W&CP» . jmlr.org : 1058–1066. 2013-02-13 . Проверено 17 декабря 2015 .
  72. ^ Цайлер, Мэтью Д .; Фергус, Роб (2013-01-15). «Стохастический пул для регуляризации глубоких сверточных нейронных сетей». arXiv : 1301.3557 [ cs.LG ].
  73. ^ a b Платт, Джон; Стейнкраус, Дэйв; Симард, Патрис Ю. (август 2003 г.). «Лучшие практики сверточных нейронных сетей, применяемые для визуального анализа документов - исследования Microsoft» . Microsoft Research . Проверено 17 декабря 2015 .
  74. ^ Хинтон, Джеффри Э .; Шривастава, Нитиш; Крижевский, Алексей; Суцкевер Илья; Салахутдинов, Руслан Р. (2012). «Улучшение нейронных сетей путем предотвращения совместной адаптации детекторов функций». arXiv : 1207.0580 [ cs.NE ].
  75. ^ «Отсев: простой способ предотвратить переоснащение нейронных сетей» . jmlr.org . Проверено 17 декабря 2015 .
  76. ^ Хинтон, Джеффри (1979). «Некоторые демонстрации эффектов структурных описаний в мысленных образах». Когнитивная наука . 3 (3): 231–250. DOI : 10.1016 / s0364-0213 (79) 80008-7 .
  77. ^ Рок, Ирвин. «Система отсчета». Наследие Соломона Аша: Очерки познания и социальной психологии (1990): 243–268.
  78. ^ Дж. Хинтон, Лекции Coursera по нейронным сетям, 2012, URL: https://www.coursera.org/learn/neural-networks Архивировано 31 декабря 2016 г. на Wayback Machine
  79. ^ Dave Gershgorn (18 июня 2018). «Внутренняя история того, как ИИ стал достаточно хорошим, чтобы доминировать в Кремниевой долине» . Кварц . Проверено 5 октября 2018 года .
  80. ^ Лоуренс, Стив; К. Ли Джайлз; А Чунг Цой; Эндрю Д. Бэк (1997). «Распознавание лиц: подход сверточной нейронной сети». IEEE-транзакции в нейронных сетях . 8 (1): 98–113. CiteSeerX 10.1.1.92.5813 . DOI : 10.1109 / 72.554195 . PMID 18255614 .  
  81. ^ «ImageNet Large Scale Visual Recognition Competition 2014 (ILSVRC2014)» . Проверено 30 января 2016 года .
  82. ^ Сегеди, Кристиан; Лю, Вэй; Цзя, Янцин; Сермане, Пьер; Рид, Скотт; Ангуелов, Драгомир; Эрхан, Думитру; Ванхаук, Винсент; Рабинович, Андрей (2014). «Углубляясь в свертки» . Репозиторий компьютерных исследований . arXiv : 1409,4842 . Bibcode : 2014arXiv1409.4842S .
  83. ^ Russakovsky, Ольга ; Дэн, Цзя; Су, Хао; Краузе, Джонатан; Сатиш, Санджив; Ма, Шон; Хуанг, Чжихэн; Карпаты, Андрей ; Хосла, Адитья; Бернштейн, Майкл; Берг, Александр С .; Фэй-Фэй, Ли (2014). « Проблема визуального распознавания в крупномасштабной сети Image Net ». arXiv : 1409.0575 [ cs.CV ].
  84. ^ «Набор алгоритмов распознавания лиц, чтобы революционизировать поиск изображений» . Обзор технологий . 16 февраля 2015 года . Проверено 27 октября 2017 года .
  85. ^ Baccouche, Moez; Мамалет, Франк; Вольф, Кристиан; Гарсия, Кристоф; Баскурт, Атилла (16 ноября 2011 г.). «Последовательное глубокое обучение для распознавания действий человека». В Салахе Альберт Али; Лепри, Бруно (ред.). Непонимание человеческого поведения . Конспект лекций по информатике. 7065 . Springer Berlin Heidelberg. С. 29–39. CiteSeerX 10.1.1.385.4740 . DOI : 10.1007 / 978-3-642-25446-8_4 . ISBN  978-3-642-25445-1.
  86. ^ Цзи, Шуйван; Сюй, Вэй; Ян, Мин; Ю, Кай (01.01.2013). «Трехмерные сверточные нейронные сети для распознавания действий человека». IEEE Transactions по анализу шаблонов и машинному анализу . 35 (1): 221–231. CiteSeerX 10.1.1.169.4046 . DOI : 10.1109 / TPAMI.2012.59 . ISSN 0162-8828 . PMID 22392705 . S2CID 1923924 .    
  87. ^ Хуанг, Цзе; Чжоу, Венган; Чжан, Цилинь; Ли, Хоуцян; Ли, Вэйпин (2018). «Распознавание жестового языка на основе видео без временной сегментации». arXiv : 1801.10111 [ cs.CV ].
  88. ^ Karpathy, Андрей, и др. « Масштабная классификация видео с помощью сверточных нейронных сетей ». Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR). 2014 г.
  89. ^ Симонян, Карен; Зиссерман, Андрей (2014). «Двухпотоковые сверточные сети для распознавания действий в видео». arXiv : 1406.2199 [ cs.CV ]. (2014).
  90. ^ Ван, Ле; Дуань, Сюйхуань; Чжан, Цилинь; Ню, Чжэньсин; Хуа, банда; Чжэн, Наньнин (22.05.2018). «Сегмент-трубка: пространственно-временная локализация действия в видео без обрезки с покадровой сегментацией» (PDF) . Датчики . 18 (5): 1657. DOI : 10,3390 / s18051657 . ISSN 1424-8220 . PMC 5982167 . PMID 29789447 .    
  91. ^ Дуань, Сюйхуань; Ван, Ле; Чжай, Чанбо; Чжэн, Наньнин; Чжан, Цилинь; Ню, Чжэньсин; Хуа, Банда (2018). Совместная пространственно-временная локализация действий в видео без обрезки с покадровой сегментацией . 25-я Международная конференция IEEE по обработке изображений (ICIP). DOI : 10,1109 / icip.2018.8451692 . ISBN 978-1-4799-7061-2.
  92. ^ Тейлор, Грэм В .; Фергус, Роб; ЛеКун, Янн; Бреглер, Кристоф (01.01.2010). Сверточное обучение пространственно-временным характеристикам . Материалы 11-й Европейской конференции по компьютерному зрению: Часть VI . ECCV'10. Берлин, Гейдельберг: Springer-Verlag. С. 140–153. ISBN 978-3-642-15566-6.
  93. ^ Le, QV; Zou, WY; Yeung, SY; Нг, AY (01.01.2011). Изучение иерархических инвариантных пространственно-временных функций для распознавания действий с помощью независимого анализа подпространств . Материалы конференции IEEE 2011 года по компьютерному зрению и распознаванию образов . CVPR '11. Вашингтон, округ Колумбия, США: Компьютерное общество IEEE. С. 3361–3368. CiteSeerX 10.1.1.294.5948 . DOI : 10.1109 / CVPR.2011.5995496 . ISBN  978-1-4577-0394-2. S2CID  6006618 .
  94. ^ Грефенстетт, Эдвард; Блансом, Фил; де Фрейтас, Нандо; Германн, Карл Мориц (2014-04-29). «Глубокая архитектура для семантического анализа». arXiv : 1404.7296 [ cs.CL ].
  95. ^ Меснил, Грегуар; Дэн Ли; Гао, Цзяньфэн; Он, Сяодун; Шен, Йелонг (апрель 2014 г.). «Изучение семантических представлений с использованием сверточных нейронных сетей для веб-поиска - исследования Microsoft» . Microsoft Research . Проверено 17 декабря 2015 .
  96. ^ Kalchbrenner, Нал; Грефенстетт, Эдвард; Блансом, Фил (2014-04-08). «Сверточная нейронная сеть для моделирования предложений». arXiv : 1404.2188 [ cs.CL ].
  97. ^ Ким, Юн (2014-08-25). «Сверточные нейронные сети для классификации предложений». arXiv : 1408.5882 [ cs.CL ].
  98. ^ Collobert, Ронан и Джейсон Weston. « Унифицированная архитектура для обработки естественного языка: глубокие нейронные сети с многозадачным обучением» . Материалы 25-й международной конференции по машинному обучению. ACM, 2008.
  99. ^ Коллобер, Ронан; Уэстон, Джейсон; Ботту, Леон; Карлен, Майкл; Кавукчуоглу, Корай; Кукса, Павел (02.03.2011). «Обработка естественного языка (почти) с нуля». arXiv : 1103.0398 [ cs.LG ].
  100. ^ Рен, Ханьшэн; Сюй, Биксюн; Ван, Юйцзин; Йи, Чао; Хуанг, Конгруи; Коу, Сяоюй; Син, Тони; Ян, Мао; Тонг, Джи; Чжан, Ци (2019). «Служба обнаружения аномалий временных рядов в Microsoft | Материалы 25-й Международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных». arXiv : 1906.03821 . DOI : 10.1145 / 3292500.3330680 . S2CID 182952311 .  Cite journal requires |journal= (help)
  101. ^ Валлах, Ижар; Дзамба, Майкл; Хейфец, Авраам (09.10.2015). «AtomNet: глубокая сверточная нейронная сеть для прогнозирования биоактивности в открытии лекарств на основе структуры». arXiv : 1510.02855 [ cs.LG ].
  102. ^ Йосински, Джейсон; Клун, Джефф; Нгуен, Ань; Фукс, Томас; Липсон, Ход (2015-06-22). «Понимание нейронных сетей посредством глубокой визуализации». arXiv : 1506.06579 [ cs.CV ].
  103. ^ «У стартапа из Торонто есть более быстрый способ найти эффективные лекарства» . Глобус и почта . Проверено 9 ноября 2015 .
  104. ^ "Стартап использует суперкомпьютеры для поиска лекарств" . KQED Будущее вас . 2015-05-27 . Проверено 9 ноября 2015 .
  105. ^ Тим Пырков; Константин Слипенский; Михаил Барг; Алексей Кондрашин; Борис Журов; Александр Зенин; Михаил Пятницкий; Леонид Меньшиков; Сергей Марков; Петр Олегович Федичев (2018). «Извлечение биологического возраста из биомедицинских данных с помощью глубокого обучения: слишком много хорошего?» . Научные отчеты . 8 (1): 5210. Bibcode : 2018NatSR ... 8.5210P . DOI : 10.1038 / s41598-018-23534-9 . PMC 5980076 . PMID 29581467 .  
  106. ^ Chellapilla, K; Фогель, ДБ (1999). «Развитие нейронных сетей для игры в шашки, не полагаясь на экспертные знания». IEEE Trans Neural Netw . 10 (6): 1382–91. DOI : 10.1109 / 72.809083 . PMID 18252639 . 
  107. ^ Chellapilla, K .; Фогель, ДБ (2001). «Разработка программы для игры в шашки без привлечения человеческого опыта». IEEE Transactions по эволюционным вычислениям . 5 (4): 422–428. DOI : 10.1109 / 4235.942536 .
  108. ^ Фогель, Дэвид (2001). Blondie24: Игра на грани ИИ . Сан-Франциско, Калифорния: Морган Кауфманн. ISBN 978-1558607835.
  109. ^ Кларк, Кристофер; Сторки, Амос (2014). «Обучение глубоких сверточных нейронных сетей игре в го». arXiv : 1412.3409 [ cs.AI ].
  110. ^ Мэддисон, Крис Дж .; Хуанг, Аджа; Суцкевер Илья; Серебро, Дэвид (2014). «Оценка хода в Go с использованием глубоких сверточных нейронных сетей». arXiv : 1412.6564 [ cs.LG ].
  111. ^ "AlphaGo - Google DeepMind" . Архивировано из оригинала на 30 января 2016 года . Проверено 30 января 2016 года .
  112. ^ Бай, Шаоцзе; Колтер, Дж. Зико; Колтун, Владлен (19.04.2018). «Эмпирическая оценка общих сверточных и рекуррентных сетей для моделирования последовательности». arXiv : 1803.01271 [ cs.LG ].
  113. ^ Ю, Фишер; Колтун, Владлен (30.04.2016). «Мультимасштабное агрегирование контекста с помощью расширенных сверток». arXiv : 1511.07122 [ cs.CV ].
  114. ^ Боровых, Анастасия; Ботэ, Сандер; Остерли, Корнелис В. (17 сентября 2018 г.). «Условное прогнозирование временных рядов с помощью сверточных нейронных сетей». arXiv : 1703.04691 [ stat.ML ].
  115. ^ Mittelman, Рони (2015-08-03). «Моделирование временных рядов с недецимацией полностью сверточных нейронных сетей». arXiv : 1508.00317 [ stat.ML ].
  116. ^ Чен, Итиан; Канг Яньфэй; Чен, Исюн; Ван, Цзычжуо (2019-06-11). «Вероятностное прогнозирование с помощью временной сверточной нейронной сети». arXiv : 1906.04397 [ stat.ML ].
  117. ^ Чжао, Бендун; Лу, Хуаньчжан; Чен, Шанфэн; Лю, Цзюньлянь; У, Донъя (2017-02-01). «Сверточные нейронные сети для классов временных рядов». Журнал системной инженерии и электроники . 28 (1): 162–169. DOI : 10.21629 / JSEE.2017.01.18 .
  118. ^ Petneházi, Габор (2019-08-21). «QCNN: квантильная сверточная нейронная сеть». arXiv : 1908.07978 [ cs.LG ].
  119. ^ Хуберт Мара (2019-06-07), HeiCuBeDa Hilprecht - набор данных Heidelberg Cuneiform Benchmark для коллекции Hilprecht (на немецком языке), heiDATA - институциональный репозиторий исследовательских данных Гейдельбергского университета, doi : 10.11588 / data / IE8CCN
  120. ^ Хуберт Мара и Бартош Богач (2019), «Нарушение кода на сломанных планшетах: проблема изучения аннотированного клинописи в нормализованных 2D и 3D наборах данных», Труды 15-й Международной конференции по анализу и распознаванию документов (ICDAR) (на немецком языке ), Сидней, Австралия, стр. 148–153, DOI : 10.1109 / ICDAR.2019.00032 , ISBN 978-1-7281-3014-9, S2CID  211026941
  121. ^ Bogacz, Бартош; Мара, Хуберт (2020), «Классификация периодов трехмерных клинописных табличек с геометрическими нейронными сетями», Труды 17-й Международной конференции по границам распознавания почерка (ICFHR) , Дортмунд, Германия
  122. ^ Презентация статьи ICFHR по периодической классификации трехмерных клинописных табличек с геометрическими нейронными сетями на YouTube
  123. ^ Дурджой Сен Майтра; Удджвал Бхаттачарья; С.К. Паруи, «Общий подход на основе CNN к распознаванию рукописных символов в нескольких сценариях», в «Анализ и распознавание документов» (ICDAR), 2015 г., 13-я Международная конференция, том, №, стр. 1021–1025, 23–26 августа 2015 г.
  124. ^ «НИПС 2017» . Интерпретируемый симпозиум ML . 2017-10-20 . Проверено 12 сентября 2018 .
  125. ^ Занг, Цзиньлян; Ван, Ле; Лю, Цзыи; Чжан, Цилинь; Хуа, банда; Чжэн, Наньнин (2018). «Сверточная нейронная сеть, основанная на внимании, взвешенная по времени для распознавания действий». Достижения ИФИП в области информационных и коммуникационных технологий . Чам: Издательство Springer International. С. 97–108. arXiv : 1803.07179 . DOI : 10.1007 / 978-3-319-92007-8_9 . ISBN 978-3-319-92006-1. ISSN  1868-4238 . S2CID  4058889 .
  126. ^ Ван, Ле; Занг, Цзиньлян; Чжан, Цилинь; Ню, Чжэньсин; Хуа, банда; Чжэн, Наньнин (21.06.2018). «Распознавание действий с помощью временной взвешенной сверточной нейронной сети с учетом внимания» (PDF) . Датчики . 18 (7): 1979. DOI : 10,3390 / s18071979 . ISSN 1424-8220 . PMC 6069475 . PMID 29933555 .    
  127. Онг, Хао И; Чавес, Кевин; Хонг, Август (18.08.2015). «Распределенное глубокое Q-Learning». arXiv : 1508.04186v2 [ cs.LG ].
  128. ^ Мних, Владимир; и другие. (2015). «Контроль на уровне человека посредством глубокого обучения с подкреплением». Природа . 518 (7540): 529–533. Bibcode : 2015Natur.518..529M . DOI : 10,1038 / природа14236 . PMID 25719670 . S2CID 205242740 .  
  129. ^ Sun, R .; Сешнс, К. (июнь 2000 г.). «Самосегментация последовательностей: автоматическое формирование иерархий последовательного поведения». IEEE Transactions по системам, человеку и кибернетике - Часть B: Кибернетика . 30 (3): 403–418. CiteSeerX 10.1.1.11.226 . DOI : 10.1109 / 3477.846230 . ISSN 1083-4419 . PMID 18252373 .   
  130. ^ "Сверточные сети глубокого убеждения на CIFAR-10" (PDF) .
  131. ^ Ли, Хонглак; Гросс, Роджер; Ранганатх, Раджеш; Нг, Эндрю Ю. (1 января 2009 г.). Сверточные сети глубокого убеждения для масштабируемого неконтролируемого обучения иерархическим представлениям . Материалы 26-й ежегодной международной конференции по машинному обучению - ICML '09 . ACM. С. 609–616. CiteSeerX 10.1.1.149.6800 . DOI : 10.1145 / 1553374.1553453 . ISBN  9781605585161. S2CID  12008458 .
  132. Кейд Мец (18 мая 2016 г.). «Google создал свои собственные чипы для работы своих AI-ботов» . Проводной .
  133. ^ "Документация Кераса" . keras.io .

Внешние ссылки [ править ]

  • CS231n: сверточные нейронные сети для визуального распознавания - Андрей Karpathy «s Stanford информатики курс CNNs в области компьютерного зрения
  • Интуитивное объяснение сверточных нейронных сетей - введение для начинающих, что такое сверточные нейронные сети и как они работают
  • Сверточные нейронные сети для классификации изображений - Обзор литературы