Хотите узнать, что такое функции активации и почему они необходимы?

Мы знаем, что модели глубокого обучения представляют собой комбинацию различных компонентов, таких как функция активации, пакетная нормализация, импульс, градиентный спуск и т. Д. Итак, для этого блога я взял одну часть DL и дал подробное объяснение функции активации, ответив на следующие вопросы. вопросов-:

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

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

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

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

Необходимость функции активации

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

В этом примере предположим, что мы не добавляем предвзятости. Мы можем записать вывод Y как -:

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

Если вы внимательно посмотрите на приведенное выше уравнение, то

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

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

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

Желаемые свойства функции активации

  • Как видно из вышеизложенного, функции активации должны быть нелинейными.
  • Функции активации используются после каждого уровня нейронной сети, поэтому всегда желательно, чтобы функции активации были вычислительно эффективными.
  • Основное требование ко всем компонентам нейронной сети - они должны быть дифференцируемыми, поэтому функция активации также должна быть дифференцируемой.
  • Одним из важных аспектов при разработке функции анактивации является предотвращение проблемы исчезающего градиента. Подробное объяснение этой проблемы выходит за рамки этого блога, но позвольте мне рассказать вам суть. Чтобы предотвратить проблему исчезающего градиента, требуется, чтобы производная функции активации по входному параметру была не ограничена в диапазоне от -1 до 1 теоретически. .

Различные типы функций активации

ReLU

ReLU расшифровывается как повторно ctified L inear U nit и определяется как f (x) = max (0, f (x) )

Это широко используемая функция активации, особенно с CNN (сверточная нейронная сеть). Его легко вычислить, он не насыщает и не вызывает проблемы исчезающего градиента. Но у него есть проблема, то есть для отрицательного ввода его значение становится равным нулю. Поскольку выход равен нулю для всех отрицательных входов, это приводит к тому, что некоторые узлы полностью умирают и ничего не узнают. Для решения этой проблемы используется Leaky ReLU или Parametric ReLU, что составляет F (x) = max (αx, x).

Сигмовидная

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

Софтмакс

Он используется в задачах многоклассовой классификации. Как и сигмоид, он дает значения в диапазоне 0–1, поэтому используется в качестве последнего слоя в моделях классификации.

Выводы

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

Подпишитесь на нас на medium, чтобы увидеть больше такого контента.

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