Глубокое обучение | Нейронные сети

Функции активации в нейронных сетях

Нейронные сети, функции активации и как это работает?

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

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

Компоненты искусственных нейронных сетей

ИНС состоят из трех слоев — входного слоя, скрытого слоя/слоев и выходного слоя.

Входной слой

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

Скрытый слой

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

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

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

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

Упреждающее распространение

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

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

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

Что такое функция активации?

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

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

Типы функций активации

Функции активации можно разделить на три основные части.

  • Двоичная ступенчатая функция
  • Линейная функция активации
  • Нелинейные функции активации

Двоичная ступенчатая функция

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

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

Линейная функция активации

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

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

Нелинейные функции активации

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

Сигмовидная/логистическая функция активации

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

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

Функция активации гиперболического тангенса (Tanh)

Функция Tanh очень похожа на сигмовидную/логистическую функцию активации с разницей в диапазоне вывода от -1 до 1.

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

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

Функция активации Rectified Linear Unit (ReLU) — это наиболее широко используемая в настоящее время функция активации, которая находится в диапазоне от 0 до бесконечности.

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

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

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

Негерметичная функция активации ReLU

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

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

Функция Софтмакс

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

Предположим, у вас есть 3 класса и 3 нейрона в выходном слое. Применение функции softmax вернет вероятности каждого класса с суммой всех вероятностей, равной 1.

Кратко о функциях активации

Давайте кратко повторим все, что вы узнали:

  • Функции активации используются для введения нелинейности в сеть.
  • Нейронная сеть почти всегда будет иметь одну и ту же функцию активации во всех скрытых слоях и другую на выходном слое в зависимости от типа вывода модели.
  • ReLU — наиболее часто используемая функция активации для скрытых слоев.
  • Что касается выходного слоя, мы всегда должны учитывать диапазон ожидаемых значений прогнозов. Если это может быть любое числовое значение (как в случае проблемы регрессии), вы можете использовать линейную функцию активации или ReLU.
  • Используйте функцию Softmax или Sigmoid для задач классификации.

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

Вы можете найти меня на | Гитхаб | Твиттер | ЛинкедИн |