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

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

Есть много типов нейронных сетей. Выдающиеся - это

  • Нейронная сеть прямого распространения - искусственный нейрон.
  • Нейронная сеть с радиальной базисной функцией.
  • Многослойный персептрон
  • Сверточная нейронная сеть
  • Рекуррентная нейронная сеть (RNN) - долговременная краткосрочная память
  • Модульная нейронная сеть

Базовая единица во всех вышеперечисленных сетях - перцептрон. Так что же такое перцептрон?

Персептроны были разработаны в 1950-х и 1960-х годах ученым Фрэнком Розенблаттом, вдохновленным более ранними работами Уоррена Маккаллоха и Уолтера Питтса.

Так как же работают перцептроны? Персептрон принимает несколько двоичных входов, x1, x2,… x1, x2,…, и производит один двоичный выход:

В показанном примере перцептрон имеет три входа: x1, x2, x3. В общем, входов может быть больше или меньше. Розенблатт предложил простое правило для вычисления результата. Он ввел веса, w1, w2,… w1, w2,…, действительные числа, выражающие важность соответствующих входных данных для выходных данных. Выход нейрона, 00 или 11, определяется тем, меньше ли взвешенная сумма
j w j x j или больше некоторого порогового значения. Как и веса, порог - это действительное число, которое является параметром нейрона. Выражаясь более точными алгебраическими терминами:

Вот и все, что нужно знать о том, как работает перцептрон!

Перцептрон состоит из 4 частей.

1. входные значения или один входной слой

2. веса и смещения

3. чистая сумма

4.Функция активации

Вес показывает силу конкретного узла.

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

Так что же такое функция активации?

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

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

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

Нейронная сеть без нелинейной функции активации - это, по сути, просто модель линейной регрессии. Доказательства?

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

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

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

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

Есть много видов функций активации, таких как сигмовидная активация , ReLu, Softmax и т. Д.

Итак, вопрос: КАК нелинейная функция активации вызывает нелинейность в сети?

Возьмем для примера функцию активации ReLu.

Активация просто задается нулевым порогом: R (x) = max (0, x), т.е. если x ‹0, R (x) = 0 и если x› = 0, R (x) = x

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

С Relu граница классификации больше не является прямой линией, проходящей через точку x-y. Часть под осью x обрезается, в результате получается угловая область

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

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

например, на графике ниже мы добавили четыре функции ReLU: ReLU (-4–2x + y), ReLU (4 + 2x + y), ReLU (4-x-2y) и ReLU (9 + 2x- y)

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

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

Чем больше количество «скрытых слоев», тем точнее это приближение и чем меньше заключенная область или граница решения. Таким образом, добавление большего количества скрытых слоев всегда приводит к лучшему прогнозированию (классификации). Использование 20–30 или даже большего количества ReLU делает границу принятия решения более «нелинейной» и «гладкой», что улучшает классификацию.

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