Введение в нейронные сети и функции активации

В этом блоге мы расскажем:

  1. Нейронная сеть: простые нейронные сети и их работа.
  2. Функция активации: Введение и три широко используемые функции активации:

2.a - сигмовидная функция

2.b - ReLu (выпрямленная линейная единица)

2.c - Leaky ReLu

Итак, приступим.

НЕЙРОННАЯ СЕТЬ:

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

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

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

Базовая структура нейрона состоит из:

  1. Один или несколько входов, например x
  2. Одна зона обработки.
  3. И один или несколько выходных данных, например y

Изображение отдельного нейрона приведено ниже:

Это один нейрон со следующими элементами:

  1. Ввод: x1 и x2 с их соответствующими весами как w1 и w2. У нас также есть предвзятое значение, например b
  2. Вывод: a
  3. Обработка: сложение всех входных данных со смещенным членом b после их умножения на их соответствующие веса.

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

Надеюсь, вы понимаете основную структуру нейрона. Теперь вопрос в том, как работает отдельный нейрон?

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

Что такое функция активации? Почему мы их используем?

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

Здесь у нас есть вход x1, имеющий вес w1 и смещенный член b, и когда мы помещаем все значения, мы получаем a = 0,584

Здесь у нас есть f (z): Это функция активации, названная сигмоидной функцией. Об этом поговорим позже. Но сначала посмотрим, что означает функция активации.

ФУНКЦИИ АКТИВАЦИИ:

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

ПРИМЕЧАНИЕ. Нейронная сеть без функции активации - это просто модель линейной регрессии.

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

Мы видели одну функцию активации, то есть сигмовидную функцию, у нас также есть другой тип функций активации, как указано ниже:

  1. Функция двоичного шага
  2. Линейная функция
  3. Сигмовидная функция
  4. Функция гиперболического тангенса
  5. ReLu (выпрямленная линейная единица)
  6. Дырявый ReLu
  7. Функция Softmax

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

СИГМОИДНАЯ ФУНКЦИЯ:

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

Математически сигмовидная функция показана ниже.

Здесь Z = ∑i = от 1 до n xn.wn + bn

Где x вводится, w - это веса, а b - это предвзятые термины.

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

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

В функции линейной активации выходной сигнал может изменяться от –inf до + inf, но здесь он имеет диапазон от 0 до 1.

Звучит неплохо, функция активации имеет свои ограничения. Здесь, в сигмоидной функции, у нас есть значения от 0 до 1, а значение для y приблизительно равно нулю, если не от -4 до 4. Это означает, что когда мы умножаем эти выходные данные, конечный результат становится очень маленьким - это проблема известна как исчезающий градиент. И это основная причина, по которой мы предпочитаем другие функции активации сигмовидной функции, такой как ReLu.

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

Функция активации ReLu (выпрямленное линейное устройство):

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

На этом графике мы видим, что любое отрицательное значение обращается в ноль. Эта функция и ее производные являются монотонными. Он имеет диапазон [0, бесконечность).

Математическое выражение для этой функции:

Y = max (0, x)

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

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

Чтобы преодолеть это, у нас есть Leaky-ReLu, который решает эту проблему и делает нейронную сеть более отзывчивой.

Функция активации LEAKY ReLu:

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

Здесь мы меняем значение на 0,01x, если оно меньше нуля, иначе как есть. Таким образом, мы преодолеваем проблему, созданную ReLu, здесь каждый нейрон будет учиться вначале.

Я думаю, что основным недостатком Leaky ReLU является то, что у вас есть еще один параметр, который нужно настроить, - наклон.

ПРИМЕЧАНИЕ.

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