Краткое введение в нейронные сети: от нейронов к глубокому обучению

искусственный интеллект глубокое обучение

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

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

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

Рисунок 1 Нейронная сеть человеческого мозга

 

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

Из-за большого объема статьи, для удобства читателей, содержание этой статьи следующее:

один.предисловие

два.нейроны

три.Однослойная нейронная сеть (персептрон)

Четыре.Двухслойная нейронная сеть (многослойный персептрон)

пять.Многослойные нейронные сети (глубокое обучение)

шесть.обзор

Семь.Перспектива

8.Суммировать

Девять.постскриптум

десять.Примечание

 

Введение

Давайте посмотрим на классическую нейронную сеть. Это нейронная сеть с тремя слоями. красный этовходной слой, зеленый этовыходной слой, фиолетовыйсредний слой(Также известен какскрытый слой). Входной слой имеет 3 единицы ввода, скрытый слой имеет 4 единицы, а выходной слой имеет 2 единицы. В следующем тексте мы единообразно используем этот цвет для выражения структуры нейронной сети.

Рис. 2 Структурная схема нейронной сети

 

Прежде чем приступить к введению, следует запомнить некоторые сведения:

  1. При проектировании нейронной сети количество узлов во входном и выходном слоях часто фиксируется, а средний слой может быть задан свободно;
  2. Топология и стрелки на схеме структуры нейронной сети представляютпредсказыватьПоток данных во время процесса, стренироватьсяВ то время существуют определенные различия в потоке данных;
  3. Ключом на структурной диаграмме являются не круги (представляющие «нейроны»), а соединительные линии (представляющие связи между «нейронами»). Каждая линия соединения соответствует разнымВеса(его значение называетсямасса), что требует обучения. 

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

Рис. 3. Структурная схема нейронной сети снизу вверх

 

Форма выражения слева направо больше используется в литературе Эндрю Нг и Лекуна, тогда как выражение снизу вверх используется в Caffe. В этой статье используется представление слева направо, представленное Эндрю Нг.

Начнем с простых нейронов и шаг за шагом введем формирование сложных структур нейронных сетей.

 

2. Нейроны

1. Введение

Изучение нейронов имеет долгую историю, и биологи знают структуру нейронов с 1904 года.

Нейрон обычно имеет несколькодендриты, который в основном используется для приема входящей информации;аксонЕсть только один, а на хвосте аксона есть много аксонных терминалов, которые могут передавать информацию множеству других нейронов. Терминалы аксонов соединяются с дендритами других нейронов для передачи сигналов. Место этого соединения биологически называется "синапс".

Форму нейронов в человеческом мозгу можно кратко проиллюстрировать следующей схемой:

Рис. 4. Нейроны

 

В 1943 году психолог Маккаллох и математик Питтс опубликовали абстрактную модель нейрона MP со ссылкой на структуру биологических нейронов. Далее мы подробно рассмотрим модель нейрона.

   

Рисунок 5 Уоррен МакКаллох (слева) и Уолтер Питтс (справа)

2. Структура 

Модель нейрона — это модель, которая включает входные, выходные и вычислительные функции. Вход можно сравнить с дендритами нейрона, выход можно сравнить с аксоном нейрона, а вычисление можно сравнить с ядром клетки.

На рисунке ниже представлена ​​типичная модель нейрона: она содержит 3 входа, 1 выход и 2 вычислительные функции.

Обратите внимание на линию со стрелкой посередине. Эти линии называются «соединениями». На каждом есть «вес».

Рисунок 6 Модель нейрона

 

Связи — самое важное в нейронах. Каждое соединение имеет вес.

Алгоритм обучения нейронной сети состоит в том, чтобы настроить значение веса на лучшее, чтобы эффект предсказания всей сети был лучшим.

Мы используем a для представления входных данных и w для представления веса. Направленную стрелку, обозначающую связь, можно понимать так: в начале размер передаваемого сигнала по-прежнему равен a, а в середине конца есть весовой параметр w. После этого взвешивания сигнал станет a* w, поэтому в конце соединения размер сигнала становится равным a*w.

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

Рисунок 7 Подключение (подключение)

 

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

Рис. 8. Нейронные вычисления

 

Можно видеть, что z накладывается на линейно взвешенную сумму входа и веса.функция гзначение . В модели МП функция g является знаковой функцией, то есть знаковой функцией. Эта функция выводит 1, когда вход больше 0, иначе выводит 0.

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

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

Рисунок 9 Расширение нейрона

 

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

3. Эффекты 

Использование модели нейрона можно понять следующим образом:

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

Конкретный метод заключается в использовании формулы нейронов для расчета. Значение трех известных свойств равно1,Какие2,Какие3, значение неизвестного свойства равно z. z можно рассчитать по формуле.

Здесь известные свойства называютсяособенность, неизвестное свойство называетсяЦель. Предположим, что между функцией и целью действительно существует линейная связь, и мы получили вес w, представляющий эту связь.123. Затем мы можем предсказать цель нового образца с помощью модели нейрона.

4. Влияние

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

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

Рисунок 10 Дональд Олдинг Хебб

 

Хотя модель нейронов и закон обучения Хебба были созданы, но ограничены вычислительной мощностью того времени, только почти 10 лет спустя родилась первая настоящая нейронная сеть.

 

3. Однослойная нейронная сеть (перцептрон)

1. Введение

В 1958 году ученый-вычислитель Розенблатт предложил нейронную сеть, состоящую из двух слоев нейронов. Он дал ему название — «персептрон» (Perceptron) (некоторые документы переводятся как «персептрон», а следующие единообразно именуются «персептрон»).

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

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

Рис. 11. Розенблат и персептрон

2. Структура

Модель персептрона поясняется ниже.

Добавьте узел нейрона в позицию «вход» исходной модели MP и отметьте его как «блок ввода». Остальное остается прежним, поэтому имеем следующую картину: начиная с этой картинки задаем вес w1, w2, w3Пишите до середины «соединительной линии».

Рис. 12 Однослойная нейронная сеть

 

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

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

Предположим, что цель, которую мы хотим предсказать, больше не является значением, а является вектором, таким как [2,3]. Затем вы можете добавить еще один «выходной блок» к выходному слою.

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

Рис. 13. Однослойная нейронная сеть (Z1)

 

Видно, что з1Расчет z ничем не отличается от исходного z.

Мы знаем, что выходные данные нейрона могут быть переданы нескольким нейронам, поэтому z2Формула расчета следующая.

Рис. 14. Однослойная нейронная сеть (Z2)

 

Видно, что з2Помимо расчета трех новых весов: w456кроме г1это то же самое.

Выход всей сети выглядит следующим образом.

Рис. 15. Однослойная нейронная сеть (Z1и Z2)

 

Текущая формула выражения немного неудовлетворительна: w456Он был добавлен позже, и трудно показать, что он отличается от исходного w.123Отношение.

Поэтому вместо этого мы используем двумерный индекс, используя wx,yдля выражения веса. X в нижнем индексе представляет собой порядковый номер нейронов в следующем слое, а y представляет порядковый номер нейронов в предыдущем слое (порядок порядковых номеров сверху вниз).

Например, ш1,2Представляет вес связи между первым нейроном в последнем слое и вторым нейроном в предыдущем слое (этот метод маркировки относится к учебному пособию Эндрю Нг). Разметив по вышеуказанной методике, мы имеем следующее изображение.

Рис. 16. Однослойная нейронная сеть (расширенная)

 

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

Например, входная переменная [a1,Какие2,Какие3]T(представленный1,Какие2,Какие3составленный из векторов-столбцов), используйте векторaПредставлять. Левая часть уравнения равна [z1,существует2]T, с векторомzПредставлять.

Коэффициенты - это матрицаW(Матрица с 2 строками и 3 столбцами, расположение такое же, как в формуле).

Таким образом, формулу вывода можно переписать так:

g(W * a) = z;

 

Эта формула является вычислением следующего слоя из предыдущего слоя в нейронной сети.Матричные операции.

3. Эффекты

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

мы можем использоватьграница решенияДля визуализации эффекта классификации. Границей решения является рисование прямой линии в двумерной плоскости данных.Когда измерение данных трехмерное, это рисование плоскости.Когда измерение данных n-мерное, это рисование измерение супер-n-1.

На рисунке ниже показан эффект рисования границы решения в двумерной плоскости, то есть классификационный эффект персептрона.

Рис. 17 Однослойная нейронная сеть (граница решения)

4. Влияние

Персептроны могут выполнять только простые задачи линейной классификации. Но энтузиазм народа в то время был слишком высок, и никто этого четко не осознавал. Так что все изменилось, когда на это указал ИИ-гигант Мински.

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

Мински считает, что если вычислительный слой увеличить до двух слоев, объем вычислений будет слишком большим, и эффективного алгоритма обучения не будет. Поэтому он считает, что нет смысла изучать более глубокие сети. (Через месяц после написания этой статьи, в январе 2016 г.,Мински умер в США. В этой статье я хотел бы почтить память этого известного компьютерного исследователя и Даны. )

   

Рисунок 18 Марвин Мински

Из-за огромного влияния Мински и пессимистического отношения, представленного в книге, многие ученые и лаборатории отказались от исследований нейронных сетей. Исследования нейронных сетей попали в ледниковый период. Этот период также известен как «зима ИИ».

Почти 10 лет спустя исследования двухслойных нейронных сетей привели к возрождению нейронных сетей.

 

4. Двухслойная нейронная сеть (многослойный перцептрон)

1. Введение

Двухслойная нейронная сеть находится в центре внимания этой статьи, потому что именно в это время нейронная сеть начала широко продвигаться и использоваться.

Мински сказал, что однослойная нейронная сеть не может решить проблему XOR. Но когда добавляется вычислительный слой, двухслойная нейронная сеть может не только решить проблему XOR, но и иметь очень хороший эффект нелинейной классификации. Однако расчет двухслойной нейронной сети — проблема, и лучшего решения нет.

В 1986 году Румельхар, Хинтон и др. предложили алгоритм обратного распространения (BP), который решил сложную вычислительную задачу, требуемую двухслойной нейронной сетью, что привело к резкому увеличению использования исследований двухслойной нейронной сети в промышленности. В настоящее время большое количество учебных материалов по нейронным сетям сосредоточено на содержании двухслойной (с одним скрытым слоем) нейронной сети. 

В то время Хинтон был еще очень молод, и тридцать лет спустя именно он переопределил нейронную сеть и принес очередную весну восстановления нейронной сети.

        

Рисунок 19 Дэвид Румелхарт (слева) и Джеффри Хинтон (справа)

 

2. Структура

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

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

Напримерx(y)представляет x-й узел y-го слоя. г1,существует2стал1(2),Какие2(2). На рисунке ниже1(2),Какие2(2)формула расчета.

Рис. 20 Двухслойная нейронная сеть (расчет среднего слоя)

 

Способ вычисления конечного результата z состоит в том, чтобы использовать a среднего слоя1(2),Какие2(2)И вычисляется вторая весовая матрица, как показано ниже.

Рисунок 21 Двухслойная нейронная сеть (вычисление выходного слоя)

 

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

Мы используем векторы и матрицы для представления переменных в иерархиях.a(1),a(2),z- векторные данные, передаваемые в сети.W(1)иW(2)– матричные параметры сети. Как показано ниже.

Рисунок 22 Двухслойная нейронная сеть (векторная форма)

 

Использование матричных операций для выражения всей формулы расчета выглядит следующим образом:

  g(W(1) * a(1)) = a(2)

g(W(2) * a(2)) = z;

 

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

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

Блок смещения подключен ко всем узлам в последнем слое, и мы задаем эти значения параметров как векторыb, называемое предвзятостью. Как показано ниже.

Рис. 23 Двухслойная нейронная сеть (с учетом узлов смещения)

 

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

Матричная операция нейронной сети после учета смещения выглядит следующим образом:

  g(W(1) * a(1) + b(1)) = a(2)

g(W(2) * a(2) + b(2)) = z;

 

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

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

3. Эффекты

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

Что это означает? То есть для сложных задач нелинейной классификации двухслойная (с одним скрытым слоем) нейронная сеть может классифицировать очень хорошо.

Ниже приведен пример (эти две картинки взяты с сайта Colah'sблог), красная и синяя линии представляют данные. Красная и синяя области представляют собой область, разделенную нейронной сетью, а разделительная линия между ними является границей решения.

Рисунок 24 Двухслойная нейронная сеть (граница решения)

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

Мы можем отдельно взглянуть на границу решения выходного слоя. Это изображение ниже.

Рисунок 25 Двухслойная нейронная сеть (пространственное преобразование)

 

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

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

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

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

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

Рис. 26 Сеть распознавания символов EasyPR

 

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

4. Обучение

Ниже приводится краткое введение в обучение двухслойной нейронной сети.

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

Цель обучения модели машинного обучения — максимально приблизить параметры к реальной модели. Конкретный метод заключается в следующем. Сначала присвойте всем параметрам случайные значения. Мы используем эти случайно сгенерированные значения параметров для прогнозирования выборок в обучающих данных. Предсказанная цель выборки yp, настоящая цель — y. Затем определите значение потери, формула расчета выглядит следующим образом.

loss = (y- y)2

 

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

Если формулу матрицы, предсказанную предыдущей нейронной сетью, внести в ypв (потому что z=yp), то мы можем записать потери как функцию параметра, который называетсяфункция потерь(функция потерь). Задача состоит в том, чтобы найти: как оптимизировать параметры так, чтобы значение функции потерь было минимальным.

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

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

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

Рисунок 27 Алгоритм обратного распространения

 

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

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

5. Влияние

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

История всегда поразительно похожа, и исследователи нейронных сетей снова появились в эксклюзивном интервью The New York Times. Считается, что нейронные сети могут решить многие проблемы. Даже индустрия развлечений начала страдать: Арнольд в фильме «Терминатор» как-то сказал: «Мой процессор — это нейросетевой процессор, компьютер, который может обучаться.

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

В середине 1990-х родился алгоритм SVM (Support Vector Machines, Support Vector Machines), изобретенный Вапником и другими, и вскоре показал преимущества сравнения нейронных сетей в нескольких аспектах: отсутствие настройки параметров, высокая эффективность, глобальное оптимальное решение. Основываясь на вышеуказанных причинах, SVM быстро победил алгоритм нейронной сети и стал мейнстримом.

Рисунок 28 Владимир Вапник

 

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

 

5. Многослойная нейронная сеть (глубокое обучение)

1. Введение

За 10 лет заброшенности несколько ученых все еще настаивают на исследованиях. Одним из игроков является профессор Джеффри Хинтон из Университета Торонто, Канада.

В 2006 году Хинтон опубликовал статью в «Science» и смежных журналах и впервые предложил концепцию «сети глубокого убеждения». В отличие от традиционных методов обучения, «Сети глубокого убеждения» имеют «предварительная подготовка"(pre-training) процесс, который может легко позволить весам в нейронной сети найти значение, близкое к оптимальному решению, а затем использовать "тонкая настройка»(тонкая настройка) технологии для оптимизации обучения всей сети. Использование этих двух методик значительно сокращает время на обучение многослойной нейронной сети. Он дал новый термин методу обучения, связанному с многослойной нейронной сетью. сети -- "глубокое обучение".

Вскоре глубокое обучение временно появилось в области распознавания речи. Затем, в 2012 году, технологии глубокого обучения добились больших успехов в области распознавания изображений. В конкурсе ImageNet Хинтон и его ученики успешно обучили миллион изображений, содержащих тысячу категорий, с помощью многослойной сверточной нейронной сети и достигли уровня ошибок классификации 15%.Второе место почти на 11 процентных пунктов выше, что полностью доказывает превосходство эффекта распознавания многослойной нейронной сети.

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

Рисунок 29 Джеффри Хинтон

 

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

2. Структура

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

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

Рис. 30 Многослойная нейронная сеть

 

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

при известном вводеa(1),параметрW(1),W(2),W(3)случае, выходzФормула вывода выглядит следующим образом:

     g(W(1) * a(1)) = a(2)

    g(W(2) * a(2)) = a(3);

g(W(3) * a(3)) = z;

 

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

Давайте обсудим параметры в многослойной нейронной сети.

Сначала мы смотрим на первую картинку, мы видим, чтоW(1)Есть 6 параметров,W(2)Есть 4 параметра,W(3)Параметров 6, значит во всей нейросети 16 параметров (здесь мы не рассматриваем узел смещения, такой же ниже).

 

Рисунок 31 Многослойная нейронная сеть (меньше параметров)

 

Предположим, мы настраиваем количество узлов в среднем слое. Первый промежуточный слой был изменен на 3 единицы, а второй промежуточный слой был изменен на 4 единицы.

После настройки параметры всей сети стали 33.

 

Рисунок 32 Многослойная нейронная сеть (больше параметров)

 

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

В случае согласованных параметров мы также можем получить «более глубокую» сеть.

 

Рисунок 33 Многослойная нейронная сеть (более глубокие слои)

 

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

3. Эффекты

В отличие от двухслойной нейронной сети. Количество слоев в многослойной нейронной сети сильно увеличилось.

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

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

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

 

Рис. 34. Многослойная нейронная сеть (обучение признаков)

 

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

В результате исследований было обнаружено, что при одинаковом количестве параметров более глубокие сети, как правило, имеют лучшую эффективность распознавания, чем мелкие сети. Это также было подтверждено во многих конкурсах ImageNet. С 2012 года количество слоев глубокой нейронной сети, ежегодно завоевавшей титул чемпиона ImageNet, увеличивалось из года в год, а лучший метод в 2015 году — GoogleNet — представляет собой нейронную сеть, имеющую до 22 слоев.

В последнем соревновании ImageNet команда MSRA с лучшими результатами использовала 152-уровневую глубокую сеть! Более подробную информацию об этом методе можно найти на веб-сайте ImageNet.

4. Обучение

В однослойной нейронной сети используемой нами функцией активации является функция sgn. Когда дело доходит до двухслойных нейронных сетей, мы чаще всего используем сигмовидную функцию. Когда дело доходит до многослойной нейронной сети, в ходе серии исследований было обнаружено, что функция ReLU легче сходится и имеет лучшую производительность прогнозирования при обучении многослойной нейронной сети. Поэтому в настоящее время в глубоком обучении самой популярной нелинейной функцией является функция ReLU. Функция ReLU — это не традиционная нелинейная функция, а кусочно-линейная функция. Его выражение очень простое: y=max(x,0). Короче говоря, когда x больше 0, выход является входом, а когда x меньше 0, выход остается равным 0. Дизайн этой функции вдохновлен линейной реакцией биологических нейронов на возбуждение и симуляцией отсутствия реакции ниже определенного порога.

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

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

5. Влияние

В настоящее время в мире ИИ доминируют глубокие нейронные сети. Любой отраслевой отчет об искусственном интеллекте должен быть неотделим от глубокого обучения. Помимо упомянутых выше Нг и Хинтона, четырьмя нынешними лидерами в области нейронных сетей являются Янн Лекун, изобретатель CNN, и Бенжио, автор «Глубокого обучения».

Маск, который некоторое время назад с осторожностью относился к искусственному интеллекту, сделалПроект OpenAI, пригласил Бенжио в качестве старшего советника. Маск считает, что технология искусственного интеллекта не должна находиться в руках крупных компаний, таких как Google и Facebook, а должна использоваться как открытая технология, позволяющая всем участвовать в исследованиях. Дух Маска достоин восхищения.

   

Рисунок 35 Янн ЛеКун (слева) и Йошуа Бенжио (справа)

 

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

 

6. Обзор

1. Влияние

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

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

 

Рис. 36. Нейронная сеть с тремя взлетами и падениями

 

Вершины и впадины на приведенном выше рисунке можно рассматривать как пики и впадины развития нейронной сети. По горизонтальной оси графика отложено время в годах. Вертикальная ось представляет собой схематическое изображение влияния нейронной сети. Если 10 лет от модели Хебба, предложенной в 1949 г., до рождения персептрона в 1958 г. считать падением (а не ростом), то нейронная сеть пережила процесс «тройки взлетов и троек», аналогичный товарищу «Сяопину». . Как говорится, когда небо возложит на людей большую ответственность, они должны сначала потерпеть свою волю и поработать своими мышцами и костями. Успех нейронной сети, пережившей на этом этапе столько перипетий, также можно рассматривать как накопление тяжелой работы.

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

Поэтому спокойствие — лучший способ справиться с нынешним бумом глубокого обучения. Если глубокое обучение горячо или если есть порыв «денежной сцены», то конечной жертвой может быть только вы сами. Люди дважды хвалили индустрию нейронных сетей, и я полагаю, что глубоко понимаю поговорку о том, что чем выше похвала, тем хуже падение. Таким образом, ученые в области нейронных сетей также должны вылить воду из этого увлечения, чтобы средства массовой информации и инвесторы не слишком высоко оценивали эту технологию. Очень вероятно, что через 30 лет Hedong, 30 лет Hexi и еще через несколько лет нейросеть снова опустится на дно. Судя по приведенному выше историческому графику, это вполне возможно.

2. Эффекты

Давайте поговорим о том, почему нейронные сети так популярны? Короче говоря, это сила его обучающего эффекта. С развитием нейронной сети производительность ее представления становится все сильнее и сильнее.

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

 

Рисунок 37 представляет растущие возможности

 

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

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

3. Внешние причины

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

 

Рисунок 38 Внешние причины развития

 

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

Но в эпоху стремительной популярности двухслойных нейронных сетей. Из-за проблемы производительности вычислений и некоторых методов вычислений невозможно отразить преимущества нейронных сетей более высокого уровня. До 2012 года исследователи обнаружили, что карты графических ускорителей (GPU) для высокопроизводительных вычислений могут идеально соответствовать требованиям, предъявляемым к обучению нейронных сетей: высокий параллелизм, большой объем памяти, небольшие требования к управлению и предварительное обучение. сеть может светить.

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

«Времена делают героев», как выразился Хинтон в своей статье 2006 года.

"... provided that computers were fast enough, data sets were big enough, and the initial weights were close enough to a good solution. All three conditions are now satisfied.",

 

Удовлетворение внешних условий также является важным фактором развития нейронной сети от нейронов до текущей глубокой нейронной сети.

Кроме того, разработка технологии невозможна без «Боле». В долгой истории нейронных сетей именно благодаря настойчивости и непрерывным исследованиям многих исследователей можно достичь текущих достижений. В раннем Розенблате Румельхарт не видел сегодня популярности и статуса нейронных сетей. Но в ту эпоху основы, заложенные ими для развития нейронных сетей, будут жить вечно и никогда не исчезнут.

 

7. Перспективы

1. Квантовые вычисления

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

Согласно некоторым недавним исследованиям, вычисления, происходящие внутри человеческого мозга, могут быть чем-то вроде квантовых вычислений. Более того, по сравнению с количеством нейронов в человеческом мозгу, самая крупная из известных нейронных сетей все еще очень мала, всего менее 1%. Поэтому в будущем, если вы действительно захотите реализовать моделирование нейронной сети человеческого мозга, вам может понадобиться использовать мощную вычислительную мощность квантовых вычислений.

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

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

 

Рисунок 39 Квантовые вычисления

 

2. Искусственный интеллект

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

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

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

Рисунок 40 Искусственный интеллект

 

Восьмое резюме

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

 

9. Постскриптум

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

 

 

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

Уже,EasyPRОткрыта версия 1.4 модуля обучения нейронной сети (ИНС), разработчики могут использовать этот модуль для обучения собственных моделей персонажей. Заинтересованные могутскачать.

 

X. Замечания

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

1. Концепция

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

исторический термин

Это представлено термином многослойный персептрон (MLP). При первом взгляде на литературу сложно понять один вопрос: почему нейронные сети имеют другое название: MLP. Фактически, название MLP (Multi-Layer Perceptron) произошло от Perceptron в 1950-х и 1960-х годах. Поскольку мы добавляем еще один вычислительный слой поверх персептрона, он называется многослойным персептроном. Стоит отметить, что хотя MLP и называется «многослойным», обычно он относится к двухслойной (с одним скрытым слоем) нейронной сети.

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

противоречивое заявление

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

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

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

Забытое исследование

Поскольку история развития нейронных сетей имеет долгую историю в 70 лет, в исследовательском процессе должны быть какие-то направления исследований, которые относятся к забытому этапу. Это включает в себя множество различных сетей, таких как SOM (самоорганизующаяся карта, самоорганизующаяся сеть картографирования), SNN (синергетическая нейронная сеть, совместная нейронная сеть), ART (теория адаптивного резонанса, сеть теории адаптивного резонанса) и так далее. . Поэтому, просматривая исторические документы, вы увидите множество не встречавшихся ранее понятий и существительных.

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

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

2. Категория

Давайте поговорим о различных категориях нейронных сетей.

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

 

Рисунок 41 Категории нейронных сетей

 

Нейронная сеть на самом деле является очень широким термином, он включает в себя две категории: одна предназначена для моделирования человеческого мозга с помощью компьютера, которую мы часто называем ИНС (искусственная нейронная сеть), а другая предназначена для изучения биологических нейронных сетей. известная как биологическая нейронная сеть. Для нас, компьютерщиков, это определенно первое.

В искусственной нейронной сети она делится на нейронную сеть с прямой связью и нейронную сеть с обратной связью. Так в чем же между ними разница? Это на самом деле лежит в их структурной схеме. Мы можем думать о структурном графе как о ориентированном графе. Где нейроны представляют собой вершины, а соединения представляют собой направленные ребра. Для нейронных сетей с прямой связью этот ориентированный граф не имеет петель. Вы можете внимательно посмотреть на структурные схемы всех нейронных сетей, представленных в этой статье, чтобы убедиться в этом. Для нейронной сети с обратной связью ориентированный граф структурного графа имеет петлю. Нейронная сеть с обратной связью также является важным типом нейронной сети. Сеть Хопфилда — это нейронная сеть с обратной связью. RNN в глубоком обучении также относится к разновидности нейронной сети с обратной связью.

Что касается нейронной сети с прямой связью, в этой статье описаны три сети: однослойная нейронная сеть, двухслойная нейронная сеть и многослойная нейронная сеть. CNN в глубоком обучении принадлежит к особому виду многослойных нейронных сетей. Кроме того, что такое нейронная сеть BP, которую можно увидеть в некоторых блогах и литературе? По сути, это двухслойные нейронные сети с прямой связью, использующие алгоритм обратного распространения BP. Это также самый распространенный тип двухслойной нейронной сети.

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

3. Учебник

Как лучше изучить нейронные сети, надо пройти курс или серьезно прочитать книгу.

Говоря о сетевых учебниках, я должен рассказать о курсах машинного обучения Ng. Для новичков видеокурсы Нг очень полезны. Нг открыл в общей сложности два открытых курса по машинному обучению: один был открыт в Стэндфорде в 2003 году для студентов со всего мира, и это видео теперь можно найти в открытом курсе NetEase; другой был специально открыт в 2010 году для пользователей Coursera, Вам нужно войти в Coursera, чтобы учиться.

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

 

Рисунок 42 Ng и нейронная сеть

 

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

 

Заявление об авторских правах:

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

  

использованная литература:

1.Neural Networks

2.Andrew Ng Neural Networks 

3.Краткая история нейронных сетей

4.Конспект лекций нейронной сети Ши Чжунчжи Китайской академии наук

5.Глубокое обучение Ху Сяолинь