Да, то, что вы наблюдаете, верно. У меня есть аналогичные наблюдения при обучении нейронных сетей с использованием обратного распространения. Для проблемы XOR
я использовал для настройки сети 2x20x2
, логистическая функция занимает более 3000 эпизодов, чтобы получить следующий результат:
[0, 0] -> [0.049170633762142486]
[0, 1] -> [0.947292007836417]
[1, 0] -> [0.9451808598939389]
[1, 1] -> [0.060643862846171494]
При использовании tanh
в качестве функции активации вот результат после 800 эпизодов. tanh
сходится последовательно быстрее, чем logistic
.
[0, 0] -> [-0.0862215901296476]
[0, 1] -> [0.9777578145233919]
[1, 0] -> [0.9777632805205176]
[1, 1] -> [0.12637838259658932]
Форма двух функций выглядит следующим образом (кредит: эффективная обратная связь а>):
![функции активации](https://i.stack.imgur.com/Enfpd.png)
- Слева стандартная логистическая функция:
1/(1+e^(-x))
.
- Справа — функция
tanh
, также известная как гиперболический тангенс.
Легко видеть, что tanh
антисимметрично относительно начала координат.
Согласно эффективному Backprop,
Симметричные сигмоиды, такие как tanh
, часто сходятся быстрее, чем стандартная логистическая функция.
Также из вики Логистическая регрессия:
Практики предупреждают, что сигмоидальные функции, антисимметричные относительно начала координат (например, гиперболический тангенс), приводят к более быстрой сходимости при обучении сетей с обратным распространением ошибки.
См. эффективный Backprop для более подробного объяснения интуиции здесь.
См. elliott для альтернативы tanh
с более простыми вычислениями. Ниже она показана черной кривой (синяя — исходная tanh
).
![введите здесь описание изображения](https://i.stack.imgur.com/EDaP1.png)
![введите здесь описание изображения](https://i.stack.imgur.com/F7f1H.png)
На приведенной выше диаграмме должны выделяться две вещи. Во-первых, TANH обычно требовало меньше итераций для обучения, чем Elliott. Таким образом, точность обучения не так хороша с Эллиоттом для кодировщика. Однако обратите внимание на время обучения. Elliott выполнил всю свою задачу, даже с дополнительными итерациями, которые он должен был сделать, в два раза быстрее, чем TANH. Это огромное улучшение, которое буквально означает, что в этом случае Эллиот сократит время обучения вдвое и добавит ту же последнюю ошибку обучения. Хотя для достижения этого требуется больше итераций обучения, скорость на итерацию настолько выше, что это все равно приводит к тому, что время обучения сокращается вдвое.
person
greeness
schedule
30.01.2013
1 0 = 1
или-1 1 = 1
? - person Thomas Jungblut   schedule 24.01.2013