Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Сверточная нейронная сеть (convolutional neural network -CNN )

Лекция



Привет, Вы узнаете о том , что такое свёрточная нейронная сеть, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое свёрточная нейронная сеть, сверточная нейронная сеть, convolutional neural network, cnn , настоятельно рекомендую прочитать все из категории Распознавание образов.

сверточная нейронная сеть (англ. convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубокого обучения (англ. deep learning). Использует некоторые особенностизрительной коры, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определенного набора простых клеток. Таким образом, идея сверточных нейронных сетей заключается в чередовании сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers, слоев подвыборки). Структура сети — однонаправленная (без обратных связей), принципиально многослойная. Для обучения используются стандартные методы, чаще всего метод обратного распространения ошибки. Функция активации нейронов (передаточная функция) — любая, по выбору исследователя.

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

В машинном обучении сверточная нейронная сеть (СНС, англ. Convolutional neural network, CNN, ConvNet) - это такой тип искусственной нейронной сети прямого распространения , в котором отдельные нейроны заключен таким образом, что они реагируют на области зрительного поля , которые частично перекрываются. свертка сети было воодушевленныебиологическими процессами, они являются вариациями многослойных перцептронов , разработанными для использования минимальной предварительной обработки . они имеют широкое применение в распознавании изображений и видео , рекомендательных системах и обработке естественного языка .

Сверточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.

Содержание

  • 1 Обзор
  • 2 История
  • 3 Различение признаков
  • 4 Строительные блоки
    • 4.0 Архитектура и принцип работы
    • 4.1 Сверточный слой
      • 4.1.1Локальная связность
      • 4.1.2 Пространственная организация
      • 4.1.3 Совместное использование параметров
    • 4.2 Подвыборный слой
    • 4.3 Слой срезанных линейных узлов (ReLU)
    • 4.4 Полносвязный слой
    • 4.5 Слой потерь
  • 5 Схемы слоев
  • 6 Выбор гиперпараметрив
    • 6.1 Количество фильтров
    • 6.2 Форма фильтров
    • 6.3 Формы максимизацийних подвыборок
  • 7 Методы регуляризации
    • Понимание регуляризации и переобучения
    • 7.1 Эмпирические
      • 7.1.1 Исключение
      • 7.1.2 Исключение соединений
      • 7.1.3 Стохастическая подвыборка
      • 7.1.4 Искусственные данные
    • 7.2Явные
      • 7.2.1 Размер сети
      • 7.2.2 Ослабление веса
      • 7.2.3 Ограничение максимума нормы
  • 8 Обучение
  • 8 Иерархические координатные сетки
    • 9 Преимущества
    • 10 Недостатки
  • 11 Применение
    • 11.1 Распознавание изображений
    • 11.2 Анализ видео
    • 11.3 Обработка естественного языка
    • 11.4 Поиск новых лекарств
    • 11.5 Игра в Го
  • 12 Тонкая настройка
  • 13 Распространенные библиотеки
  • Пример решения задачи классификации с использованием сверточной нейроной сети

1. Обзор

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

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

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

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

2. История

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

Неокогнитрон , предшественник сверточных сетей, был представлено в работе 1980 года. 1988 году их количество было разработано отдельно, с явными параллельными и способными к обучению свертками для сигналов, распространяющихся во времени. Их конструкцию была усовершенствована 1998 года, обобщены 2003 и того же года упрощенно. Знаменитая сеть LeNet-5 может успешно классифицировать цифры, и применяется для распознавания цифр в чеках.Однако при более сложных задачах широта размаха и глубина сети растут, и становятся ограниченными вычислительными ресурсами и сдерживают производительность.

В 1988 году был предложен отличную конструкцию ОНР для разложения одномерных сигналов электромиографии . 1989 года она была видоизменена для других схем на основе свертки.

С появлением эффективных вычислений на ГП стало возможным тренировать большие сети. 2006 несколько публикаций описали эффективные пути тренировки сверточных нейронных сетей с большим количеством слоев. 2011 года их было уточнено и реализовано на ГП , с впечатляющими результатами. 2012Чирешан и др. значительно усовершенствовали лучшую производительность в литературе для нескольких наборов изображений, включая базы данных MNIST , базой данных NORB, набором символов HWDB1.0 (китайские символы), набором данных CIFAR10 (набор из 60000 меченых изображений RGB 32 × 32) и набором данных ImageNet.

3. Различение признаков

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

Сверточная нейронная сеть (convolutional neural network -CNN )

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

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

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

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

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

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

4. Строительные блоки

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

Сверточная нейронная сеть (convolutional neural network -CNN )

Архитектура и принцип работы

Сверточная нейронная сеть (convolutional neural network -CNN )

Архитектура сверточной нейронной сети

В обычном перцептроне, который представляет собой полносвязную нейронную сеть, каждый нейрон связан со всеми нейронами предыдущего слоя, причем каждая связь имеет свой персональный весовой коэффициент. В сверточной нейронной сети в операции свертки используется лишь ограниченная матрица весов небольшого размера, которую «двигают» по всему обрабатываемому слою (в самом начале — непосредственно по входному изображению), формируя после каждого сдвига сигнал активации для нейрона следующего слоя с аналогичной позицией. То есть для различных нейронов выходного слоя используются общие веса — матрица весов, которую также называют набором весов или ядром свертки. Она построена таким образом, что графически кодирует какой-либо один признак, например, наличие наклонной линии под определенным углом. Тогда следующий слой, получившийся в результате операции свертки такой матрицей весов, показывает наличие данной наклонной линии в обрабатываемом слое и ее координаты, формируя так называемую карту признаков (англ. feature map). Естественно, в сверточной нейронной сети набор весов не один, а целая гамма, кодирующая всевозможные линии и дуги под разными углами. При этом такие ядра свертки не закладываются исследователем заранее, а формируются самостоятельно путем обучения сети классическим методом распространения ошибки. Проход каждым набором весов формирует свой собственный экземпляр карты признаков, делая нейронную сеть многомерной (много независимых карт признаков на одном слое). Также следует отметить, что при переборе слоя матрицей весов ее передвигают обычно не на полный шаг (размер этой матрицы), а на небольшое расстояние. Так, например, при размерности матрицы весов 5×5 ее сдвигают на один или два нейрона (пикселя) вместо пяти, чтобы не «перешагнуть» искомый признак.

Операция субдискретизации (англ. subsampling, англ. pooling, также переводимая как «операция подвыборки» или операция объединения), выполняет уменьшение размерности сформированных карт признаков. В данной архитектуре сети считается, что информация о факте наличия искомого признака важнее точного знания его координат, поэтому из нескольких соседних нейронов карты признаков выбирается максимальный и принимается за один нейрон карты признаков уменьшенной размерности. Также иногда применяют операцию нахождения среднего между соседними нейронами. За счет данной операции, помимо ускорения дальнейших вычислений, сеть становится более инвариантной к масштабу входного изображения.

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

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

Модель сверточной сети, которую мы рассмотрим в этой статье, состоит из трех типов слоев: сверточные (convolutional) слои, субдискретизирующие (subsampling,подвыборка) слои и слои "обычной"нейронной сети – перцептрона.

Сверточная нейронная сеть (convolutional neural network -CNN )
Рис.1: схема сверточной сети (с сайта http://deeplearning.net)

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

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

Сверточная нейронная сеть (convolutional neural network -CNN )

Здесь f - исходная матрица изображения, g - ядро (матрица) свертки.

Неформально эту операцию можно описать следующим образом - окном размера ядра g проходим с заданным шагом (обычно 1) все изображение f, на каждом шаге поэлементно умножаем содержимое окна на ядро g, результат суммируется и записывается в матрицу результата.

При этом в зависимости от метода обработки краев исходной матрицы результат может быть меньше исходного изображения (valid), такого же размера (same) или большего размера (full).

Сверточная нейронная сеть (convolutional neural network -CNN )
Рис.2: обработка краев valid

Сверточная нейронная сеть (convolutional neural network -CNN )
Рис.3: обработка краев same

Сверточная нейронная сеть (convolutional neural network -CNN )
Рис.4: обработка краев full

2 Сверточный слой

В этом разделе мы рассмотрим устройство сверточного слоя.

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

В упрощенном виде этот слой можно описать следующей формулой.

       (            )
xl = f  xl−1 ∗ kl + bl

Здесь xl - выход слоя l, f() - функция активации, b - коэффициент сдвига, символом ∗ обозначена операция свертки входа x с ядром k.

При этом за счет краевых эффектов размер исходных матриц уменьшается.

       (                )
 l       ∑   l− 1   l   l
xj = f      xi  ∗ kj + bj
          i

Здесь xjl - карта признаков j (выход слоя l), f() - функция активации, b j - коэффициент сдвига для карты признаков j, kj - ядро свертки номер j, xil−1 - карты признаков предыдущего слоя.

3 Субдискретизирующий слой

В этом разделе мы поговорим про субдискретизирующий (subsampling) слой. Слои этого типа выполняют уменьшение размера входной карты признаков (обычно в 2 раза). Это можно делать разными способами, в данном случае мы рассмотрим метод выбора максимального элемента (max-pooling) - вся карта признаков разделяется на ячейки 2х2 элемента, из которых выбираются максимальные по значению. Формально слой может быть описан следующим образом.

 l    (  l             l−1     l)
x =  f a  ⋅ subsample (x  ) + b

Здесь xl - выход слоя l, f() - функция активации, a,b - коэффициенты, subsample() - операция выборки локальных максимальных значений.

Использование этого слоя позволяет улучшить распознавание образцов с измененным масштабом (уменьшенных или увеличенных).

4 Слой MLP

Последний из типов слоев это слой ”обычного” многослойного перцептрона (MLP), его можно описать следующим соотношением.

       (                    )
  l      ∑   l−1   l−1   l−1
x j = f     xi  ⋅ w ij + bj
          i

Здесь xl - выход слоя l, f() - функция активации, b - коэффициент сдвига, w - матрица весовых коэффициентов.

5 О топологии сети

В этом разделе мы поговорим о схеме соединения слоев между собой.

Рассмотрим сверточную сеть из 7 слоев, порядок их следования описан ниже.

  1. входной слой - матрица картинки
  2. сверточный слой - набор однотипных матриц (карт признаков)
  3. субдискретизирующий слой - уменьшенный в 2 раза предыдущий набор матриц
  4. сверточный слой - предыдущий набор матриц объединяется в одну, в соответствии со схемой соединения слоев, и генерируется новый набор
  5. субдискретизирующий слой - уменьшенный в 2 раза предыдущий набор матриц
  6. слой MLP - предыдущий набор матриц разворачивается в вектор и обрабатывается как MLP
  7. слой MLP (выходной)

При этом, нейроны (карты признаков) второго субдискретизирующего слоя и третьего сверточного слоя соединяются выборочно т.е. в соответствии с матрицей смежности, которая задается как параметр сети. Для сети с количеством карт признаков во втором слое 7 и 9 в третьем слое, она может выглядеть следующим образом.


-N--|1--2--3--4--5--6--7--8---9-
  1 |1  0  0  0  0  1  1  1   0
  2 |1  1  0  0  0  0  1  1   1
  3 |1  1  1  0  0  0  0  1   1
  4 |0  1  1  1  0  0  0  1   1
  5 |0  0  1  1  1  0  0  0   1
  6 |0  0  0  1  1  1  0  0   0
  7 |0  0  0  0  1  1  1  0   0
Таблица 1: пример матрицы смежности связей сверточных слоев

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

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

Сверточный слой

сверточный слой ( англ. Convolutional layer ) является основным строительным блоком ОНР. Параметры слоя состоят из набора фильтров для обучения (или ядер ), которые имеют небольшое рецептивное поле, но простираются на всю глубину входного объема. В течение прямого прохода каждый фильтр осуществляет свертку по ширине и высоте входного объема, вычисляяскалярное произведение данных фильтра и входа, и формируя 2-мерную карту активации этого фильтра. В результате сеть учится, какие фильтры активируются, когда они видят определенный конкретный тип признаки в определенном пространственном положении при входе.

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

Локальная соединеннность

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

Пространственная организация

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

  1. Глубина выходного объема контролирует количество нейронов слоя соединяются с одной и той же областью входящего объема. Все эти нейроны учиться активироваться для различных признаков входа. Например, если первый сверточный слой берет как вход сырое изображение, то различные нейроны вдоль измерения глубины могут активироваться в присутствии различных ориентированных контуров, или пятен цвета.
  2. Шаг контролирует то, как столбики глубины распределяются по пространственными измерениями (шириной и высотой). Когда шагом является 1, то глубинные столбики нейронов размещаются в пространственных положениях на расстоянии всего 1 пространственной единицы друг от друга. Это ведет к сильному перекрытия рецептивных полей между столбиками, а также к большим выходных объемов. И наоборот, если применяются большие шаги, то рецептивные поля перекрываться меньше, и получаемый в результате выходной объем будет меньше пространственные размеры.
  3. Иногда удобно дополнять вход нулями по краям входного объема. Размер этого нулевого дополнение является третьим гиперпараметром. Нулевое дополнение позволяет контролировать пространственный размер выходных объемов. В частности, иногда желательно точно сохранять пространственный размер входного объема.

Пространственный размер выходного объема может исчисляться как функция от размера входного объема Сверточная нейронная сеть (convolutional neural network -CNN ), размера рецептивного поля нейронов сверточного слоя Сверточная нейронная сеть (convolutional neural network -CNN ), шага, с которым они применяются, Сверточная нейронная сеть (convolutional neural network -CNN )и величины нулевого дополнения Сверточная нейронная сеть (convolutional neural network -CNN ), применяемой на краях. Об этом говорит сайт https://intellect.icu . Формула для вычисления того, сколько нейронов «умещается» в заданного объема, задается какСверточная нейронная сеть (convolutional neural network -CNN ) .Если это число не является целым, то шаги установлено неправильно, и нейроны не может быть размещено вдоль входного объема симметричным образом. В общем, установление нулевого дополнения в Сверточная нейронная сеть (convolutional neural network -CNN ), когда шагом является Сверточная нейронная сеть (convolutional neural network -CNN ), обеспечивает, чтобы входной и выходной объемы имели одинаковый пространственный размер.

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

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

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

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

Подвыборочный слой

Сверточная нейронная сеть (convolutional neural network -CNN )

Максимизацийна подвыборка ( англ. Max pooling ) с фильтром 2 × 2 и шагом = 2

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

Пидвибирковий слой действует независимо на каждый срез глубины входа, и уменьшает его пространственный размер. Самым распространенным видом является пидвибирковий слой с фильтрами размера 2 × 2, применяемые с шагом 2, который снижает дискретизацию каждого среза глубины входа в 2 раза как по ширине, так и по высоте, отвергая 75% активаций. Каждая операция взятия максимума ( англ. MAX ) в таком случае будет максимум из 4 цифр. Размер по глубине остается неизменным.

В дополнение к максимизационной подвыборки ( англ. Max pooling ), подвыборка слои могут также выполнять и другие функции, такие как усреднительных подвыборка( англ. Average pooling ), или даже L2-нормова подвыборка ( англ. L2-norm pooling ). Исторически усреднительных подвыборка применялась часто, но в последнее время впала в немилость по сравнению с действием максимизации подвыборки, что показала лучшую работу на практике.

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

Слой срезанных линейных узлов (ReLU)

ReLU является аббревиатурой от англ. Rectified Linear Units , срезанных линейных узлов . Это слоем нейронов, применяет ненасичувальну активационную функцию Сверточная нейронная сеть (convolutional neural network -CNN ) . Он усиливает нелинейные свойства функции принятия решения и сети в целом, затрагивая рецептивных полей сверточного слоя.

Для усиления нелинейности применяются и другие функции, например, насыщающих гиперболический тангенс Сверточная нейронная сеть (convolutional neural network -CNN ) , Сверточная нейронная сеть (convolutional neural network -CNN )и сигмоидна функция Сверточная нейронная сеть (convolutional neural network -CNN ) .По сравнению с другими функциями использования срезанных линейных узлов ( англ. ReLU ) является предпочтительным, поскольку оно приводит к в несколько раз более быстрого обучения нейронной сети без создания значительной разницы в точности обобщения.

Полносвязный слой

Наконец, после нескольких сверточных и максимизацийно подвиборочных слоев, высокоуровневые рассуждения в нейронной сети осуществляются полносвязными слоями ( англ. Fully connected layers ). Нейроны в полносвязном слое имеют полные соединение со всеми активации предыдущего слоя, как это можно видеть в обычных нейронных сетях. Их активации затем может быть вычислений матричным умножением, за которым следует смещение предубеждения.

Слой потерь

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

продолжение следует...

Продолжение:


Часть 1 Сверточная нейронная сеть (convolutional neural network -CNN )
Часть 2 Схемы слоев - Сверточная нейронная сеть (convolutional neural network -CNN
Часть 3 Вводы и выводы - Сверточная нейронная сеть (convolutional neural network

См.также

  • Deconvolutional Neural Network

В заключение, эта статья об свёрточная нейронная сеть подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое свёрточная нейронная сеть, сверточная нейронная сеть, convolutional neural network, cnn и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Распознавание образов

создано: 2016-03-21
обновлено: 2024-11-14
5931



Рейтиг 3 of 10. count vote: 3
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


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

Распознавание образов

Термины: Распознавание образов