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

Нейрон или блок активации

Нейрон - это основной вычислительный блок нейронной сети, также известный как блок активации. Он получает входные данные от других узлов или внешних источников и применяет к ним функцию. Каждый вход имеет вес, связанный с ним, основанный на важности входа по сравнению с другими входами. Единица активации применяет функцию к этой взвешенной сумме. Обычно используются функции активации Sigmoid, tanh и ReLU.

На изображении выше X обозначает входы, W обозначает веса, связанные с ними, а b - член смещения. Веса - это числа, которые мы умножаем на входные данные перед передачей их в функцию активации. Функция активации применяет к нему функцию и выдает результат (Y). Каждая функция активации принимает один вход и выполняет над ним определенную фиксированную математическую операцию. Некоторые из наиболее часто используемых функций активации:

Сигмовидная:

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

σ (x) = 1 / (1 + ехр (−x))

танх:

Еще одна функция активации - tanh. Он принимает ввод с действительным знаком и сжимает его в диапазоне [-1, 1]. Функция монотонна, а ее производная - нет.

tanh (x) = 2σ (2x) - 1

ReLU:

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

Дырявый ReLU:

Leaky ReLU аналогичен обычному ReLU, за исключением того, что вместо 0 для x ‹0 он имеет небольшой отрицательный наклон для этой области.

Нейронная сеть с прямой связью

Сети Deep Feed Forward, также известные как Multi Layer Perceptron, являются основой большинства моделей глубокого обучения. Такие сети, как сверточные нейронные сети (CNN) и рекуррентные нейронные сети (RNN), представляют собой просто некоторые особые случаи или достижения в сетях с прямой связью. В основном в нейронной сети есть 3 разных слоя:

Входной слой:

Входной слой - это самый нижний слой, который виден непосредственно. Он получает ввод и переходит к следующему скрытому слою.

Скрытый слой:

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

Выходной слой:

Узлы вывода вместе называются «Уровень вывода» и отвечают за вычисление и передачу информации из сети во внешний мир.

На рисунке выше показана структура простого многослойного персептрона. Он состоит из одного входного слоя, 3 скрытых слоев и одного выходного слоя. Здесь f ij представляет функцию активации, в которой i представляет номер слоя, а j представляет номер сверху. Точно так же W ij-n представляет веса от i-го нейрона в n-м слое до j-го нейрона в (n + 1) -м слое, а O ij представляет выходной сигнал функции активации f ij. Здесь у нас есть четыре функции, и в i-й итерации X i1, X i2, X i3, X i4 представляют входные данные.

Как работает многослойный персептрон?

В основном обучение модели состоит из 3 шагов.

  1. Прямое распространение.
  2. Расчет убытков
  3. Обратное распространение.

Прямое распространение

На этом этапе обучения мы передаем входные данные из входного слоя, и они умножаются на соответствующие веса в каждом слое и добавляются со смещением. Здесь, в нашем примере, вход X i1 умножается на W 11–1 при переходе к первому нейрону слоя 1 и на W 12–1 при переходе ко второму нейрону слоя 1 и так далее.

Расчет убытков

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

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

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

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

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

Как и в слое 3, мы также обновим веса в слое 2. Этот процесс продолжается до тех пор, пока веса в слое 1 не обновятся. Эти шаги в целом известны как обратное распространение. Обратное распространение работает только для дифференциальных функций активации. Если функции можно легко дифференцировать, скорость обратного распространения также будет высокой. Если мы будем пропускать по сети по одной точке, это займет много времени. Итак, решение состоит в том, чтобы передать пакет точек (известный как стохастический градиентный спуск).

Многослойные персептроны - это простейший тип нейронной сети. Его расширенные версии, такие как сверточная нейронная сеть (CNN) и рекуррентная нейронная сеть (RNN), еще не описаны. Мы также рассмотрим некоторые из основных проблем искусственной нейронной сети, такие как исчезающий градиентный спуск и взрывной градиентный спуск, в предстоящих обсуждениях. А пока Удачного машинного обучения!

Первоначально опубликовано на https://www.infolks.info 16 июня 2019 г.