Я заранее прошу прощения за то, что до сих пор не тороплюсь с этим. Я пытаюсь понять плюсы и минусы использования tanh (карта от -1 до 1) против сигмовидной (карта от 0 до 1) для моей функции активации нейронов. Из моего чтения это звучало как незначительная вещь с незначительными различиями. На практике для моих проблем я обнаружил, что сигмовидную кишку легче тренировать, и, как ни странно, сигмовидная кишка, кажется, находит общее решение лучше. Под этим я подразумеваю, что, когда сигмовидная версия проходит обучение, она хорошо справляется с эталонным (необученным) набором данных, где версия танга, кажется, способна получить правильные ответы на тренировочных данных, в то время как плохо справляется. Это для той же сетевой архитектуры.
Одна интуиция, которую я имею, заключается в том, что с сигмоидом нейрону легче почти полностью отключиться, таким образом не предоставляя входных данных для последующих слоев. Для tanh здесь труднее, так как он должен полностью отменить свои входные данные, иначе он всегда дает значение следующему слою. Может быть, эта интуиция не так, хотя.
Длинный пост. Итог, в чем суть сделки, и должна ли она иметь большое значение?
Эти две функции активации очень похожи, но смещены. В моей оригинальной сети не было условий смещения. С добавлением уклонов все гораздо стабильнее. Исходя из моего опыта, я бы сказал, что один или другой из них могут работать лучше для конкретного приложения по сложным, возможно, непонятным причинам, но правильный подход состоит в том, чтобы включить термины смещения, чтобы зависимость от смещения активации могла быть уменьшена или устранена.
источник
Активация tanh на выходных узлах не работает с (двоичной) перекрестной потерей энтропии:tanh
источник