Функции нейронной активации - разница между Logistic / Tanh / и т. Д.

Я пишу некоторые базовые методы нейронной сети - в частности, функции активации - и исчерпал свои дрянные математические знания. Я понимаю соответствующие диапазоны (-1/1) (0/1) и т.д., но меня смущают различные описания и реализации.

В частности, сигмовидная, логистическая, биполярная сигмовидная, tanh и т. Д.

сигмоид просто описывает форму функции независимо от диапазона? Если да, то является ли tanh «сигмовидной функцией»?

Я видел в статье сравнение «биполярной сигмоиды» и «tanh», однако я видел, как обе функции реализованы (в разных библиотеках) с одним и тем же кодом:

((2 / (1 + Exp (-2 * n))) - 1). Это одно и то же?

Точно так же я видел активации logistic и sigmoid, реализованные с помощью одного и того же кода:

(1 / (1 + Exp (-1 * n))). Они тоже эквивалентны?

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


person Satellite    schedule 07.08.2012    source источник
comment
К вашему сведению Полный список функций активации в нейронных сетях с плюсами и минусами   -  person Franck Dernoncourt    schedule 01.01.2017


Ответы (4)


Логистическая функция: e x / (e x + e c)

Особый («стандартный») случай логистической функции: 1 / (1 + e -x)

Биполярная сигмовидная кишка: никогда о ней не слышала.

Тан: (e x -e -x) / (e x + e -x)

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

((2 / (1 + Exp (-2 * x))) - 1) эквивалентно tanh (x).

person Beta    schedule 07.08.2012
comment
Отличный ответ, спасибо! Я проверил функцию `` биполярной сигмоидной '', и в документе, который у меня есть передо мной, они реализовали ее как: ((2 / (1 + Exp (-1 * x))) - 1) = tanh (x / 2) - person Satellite; 08.08.2012
comment
На самом деле вам нужно быть осторожным с тем, какой сигмоид вы используете - например, по крайней мере, соответствовать диапазону вывода (или масштабировать вывод). Также с обратным распространением tanh / tansig имеет тенденцию работать лучше, чем logsig в ​​скрытые слои. Это потому, что он находится в диапазоне от -1 до +1 (биполярный), а не от 0 до +1 (униполярный), и поддерживает лучший баланс. - person David M W Powers; 07.04.2017

Как правило, наиболее важными отличиями являются: гладкие, непрерывно дифференцируемые, такие как tanh и логистические по сравнению со ступенчатыми или усеченными b. конкурентное против передачи c. сигмовидная против радиальной d. симметричный (-1, + 1) против асимметричного (0,1)

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

Как правило, рекомендуется использовать tanh на промежуточных уровнях для +/- баланса и соответствие выходного уровня задаче (логическое / дихотомическое решение класса с пороговым значением, логистические или конкурентные выходы (например, softmax, саморегулирующееся многоклассовое обобщение логистической системы). ); задачи регрессии могут быть даже линейными). Выходной слой не обязательно должен быть непрерывно дифференцируемым. Входной слой должен быть каким-то образом нормализован, либо до [0,1], либо, что еще лучше, стандартизация или нормализация с унижением до [-1, + 1]. Если вы включаете фиктивный вход 1, затем нормализуйте так, чтобы || x || p = 1 вы делите на сумму или длину, и эта информация о величине сохраняется во входном фиктивном смещении, а не теряется. Если вы нормализуете примеры, это технически мешает вашим тестовым данным, если вы смотрите на них, или они могут быть вне диапазона, если вы этого не сделаете. Но с нормализацией || 2 такие вариации или ошибки должны приближаться к нормальному распределению, если они являются следствием естественного распределения или ошибки. Это означает, что они с высокой вероятностью не превысят исходный диапазон (вероятно, около 2 стандартных отклонений) более чем на небольшой коэффициент (то есть такие значения превышения диапазона считаются выбросами, а не значительными).

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

person David M W Powers    schedule 22.08.2014

Говорят (и я тестировал), что в некоторых случаях может быть лучше использовать tanh, чем logistic, поскольку

  1. Выводы, близкие к Y = 0 в логистике, умноженные на вес w, дают значение, близкое к 0, которое не оказывает большого влияния на верхние слои, на которые оно влияет (хотя отсутствие также влияет), однако значение, близкое к Y = -1 на тан, умноженном на вес w, может дать большое число, которое будет иметь больший числовой эффект.
  2. Производная от tanh (1 - y^2) дает значения больше, чем логистическая (y (1 -y) = y - y^2). Например, когда z = 0, функция логистики дает y = 0.5 и y' = 0.25, для tanh y = 0, но y' = 1 (в целом это можно увидеть, просто взглянув на график). ЗНАЧЕНИЕ, что слой tanh может обучаться быстрее, чем слой логистический из-за величины градиента.
person Cristian Garcia    schedule 02.02.2015

Биполярная сигмовидная кишка = (1-e ^ (- x)) / (1 + e ^ (- x))

Подробное объяснение можно найти на здесь

person Gongqin Shen    schedule 23.09.2015