user

Авторизация

Добро пожаловать!

Регистрация

Undefined666

Кодинг

Глубокое обучение искусственных нейронных сетей. [Часть 2]

В этой статье мы узнаем о функциях активации.

 Если вы не читали нашу прошлую статью, то советуем вам ознакомится с 1-ой частью глубокого обучения искусственных нейронных сетей.

Активация/Передача функций

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

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

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

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

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

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

  1. Бинарная сигмовидная функция

 Также известна как функция логистики/сквоша. Функция находится в диапазоне от 0 до 1, имеющей S-образную форму. Он используется в выходном слое DNN и используется для вывода на основе вероятности. Поскольку вероятность чего-либо существует только в диапазоне от 0 до 1, сигмовидная является правильным выбором из-за ее диапазона.

 Также известна как функция логистики/сквоша. Функция находится в диапазоне от 0 до 1, имеющей S-образную форму. Он используется в выходном слое DNN и используется для вывода на основе вероятности. Поскольку вероятность чего-либо существует только в диапазоне от 0 до 1, сигмовидная является правильным выбором из-за ее диапазона.

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

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

  1. Биполярная сигмовидная функция

 Диапазон значений сигмовидных функций может варьироваться в зависимости от приложения. Однако чаще всего используется диапазон (-1,+1).

  1. Функция Таня (гиперболический тангенс)

 Он имеет ту же S-образную форму (сигмовидная/логистическая функция активации) с разницей в диапазоне выходных данных от -1 до 1. Чем больше входной сигнал (более положительный), тем ближе выходное значение будет к 1,0, тогда как чем меньше вход (более отрицательный), тем ближе выход будет к -1,0. Он носит биполярный характер. Это широко распространенная функция активации для особого типа нейронной сети, известной как сеть обратного распространения ошибки.

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

  1. Функция ReLU

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

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

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

  1. Дырявая функция ReLU

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

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

  1. Параметрическая функция ReLU

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

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

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

  1. Экспоненциальные линейные единицы (ELU)

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

 ELU является сильной альтернативой ReLU из-за следующих преимуществ:

  • ELU медленно сглаживается до тех пор, пока его выход не станет равным -α, тогда как RELU резко сглаживается.
  • Избегает проблемы мертвого ReLU, вводя логарифмическую кривую для отрицательных значений ввода. Это помогает сети подтолкнуть веса и смещения в правильном направлении.
  1. Функция Софтмакс

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

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

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

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

  1. Функция взмаха

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

  1. Гауссовская линейная единица ошибки (GELU)

 Функция активации Gaussian Error Linear Unit (GELU) совместима с BERT, ROBERTa, ALBERT и другими ведущими моделями НЛП. Эта функция активации мотивирована сочетанием свойств отсева, зонирования и ReLU.

  1. Масштабированная экспоненциальная линейная единица

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

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

 Градиенты можно использовать для регулировки дисперсии. Для увеличения функции активации требуется область с градиентом больше единицы. SELU имеет предварительно определенные значения альфа α и лямбда λ.

 Вот основное преимущество SELU перед ReLU:

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