Возможно ли иметь разные типы функций активации на разных слоях нейронной сети Opencv?

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


person Ling91    schedule 23.04.2015    source источник
comment
Очень интересная идея. Не могли бы вы объяснить, почему вы хотите использовать разные функции активации между разными слоями? Какие-то математические или логические причины?   -  person Yuriy Zaletskyy    schedule 23.04.2015
comment
Я пришел сюда через Google, когда искал ответ на тот же вопрос (например, как установить разные функции активации для разных слоев в opencv ml::mlp). сигмоид как скрытый и линейный для вывода довольно стандартен для регрессии (даже если ввод/вывод нормализован).   -  person memo    schedule 22.10.2015


Ответы (1)


Я просто смотрю на страницу здесь: метод создания. Посмотрите на описание метода создания:

enableFunc — параметр, определяющий функцию активации для каждого нейрона: один из CvANN_MLP::IDENTITY, CvANN_MLP::SIGMOID_SYM и CvANN_MLP::GAUSSIAN. Я не вижу никакого способа установить или изменить функцию активации, поэтому я предполагаю, что если это не упомянуто в документации, вы не сможете создать такую ​​сеть с различными функциями активации. Но ничто не мешает вам скачать исходный код и модифицировать конструктор и алгоритм обучения под свои нужды.

person DragonFly    schedule 24.04.2015