Вторая часть истории серии нейросетей

Сеть Хопфилда (Рекуррентная)

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

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

Обратное распространение

В статье 1986, озаглавленной «Изучение представлений с помощью обратного распространения ошибок», Румельхарт, Хинтон и Уильямс более подробно описали процесс обратного распространения.

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

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

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

В 1989 Ян ЛеКун и др. в AT&T Bell Labs продемонстрировали очень важное реальное применение обратного распространения в «» Обратном распространении, применяемом к распознаванию рукописного почтового индекса.

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

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

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

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

Три основных типа слоев используются для построения архитектуры CNN.

  1. Сверточные слои (CONV)

Создает карту объектов, чтобы предсказать вероятности классов для каждого объекта, применяя фильтр, который сканирует все изображение, по несколько пикселей за раз.
— Вывод: Карта объектов
— Слои ReLU (выпрямленная линейная единица) ( РЕЛУ)

2. Объединение (или подвыборка) слоев (POOL)

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

3. Полносвязные слои (классификация) (FC)
— Многослойный персептрон

Популярные архитектуры сверточных нейронных сетей

Ленет-5 (1998)

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

АлексНет (2012)

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

Гуглнет (2014)

Сеть GoogleNet, созданная с помощью CNN, вдохновленной LetNet, которая также называется Inception V1, была создана командой Google. GoogleNet стал победителем ILSVRC 2014 и достиг уровня ошибок менее 7% в топ-5, что близко к уровню человеческого потенциала. Архитектура GoogleNet состояла из 22-уровневой CNN, в которой использовался модуль, основанный на небольших свертках, называемый «начальным модулем», который использовал пакетную нормализацию, RMSprop и изображение для сокращения количества параметров с 60 миллионов, как в AlexNet, до всего 4 миллионов.

ВГГНет (2014)

VGGNet, занявшая второе место на ILSVRC 2014, состояла из 16 сверточных слоев. Подобно AlexNet, он использовал только свертки 3 × 3, но добавил больше фильтров. VGGNet тренировался на 4 графических процессорах более двух недель, чтобы достичь своей производительности. Проблема с VGGNet заключается в том, что он состоит из 138 миллионов параметров, что в 34,5 раза больше, чем у GoogleNet, что усложняет его работу.

В следующей статье будут рассмотрены ограниченная машина Больцмана (RBM), Q-обучение (подкрепление), машина опорных векторов (SVM) и долговременная кратковременная память (LSTM).

История нейронных сетей, часть 1 — https://medium.com/@kalhara.sampath/history-of-the-neural-networks-part-1-d6e0bdd9009a