Як вибрати функцію активації?


13

Я вибираю функцію активації для вихідного шару залежно від потрібного мені виводу та властивостей функції активації, які я знаю. Наприклад, я вибираю сигмоїдну функцію, коли маю справу з ймовірностями, ReLU, коли я маю справу з позитивними значеннями, і лінійну функцію, коли я маю справу з загальними значеннями.

У прихованих шарах я використовую герметичний ReLU, щоб уникнути мертвих нейронів замість ReLU та танху замість сигмоподібних. Звичайно, я не використовую лінійну функцію в прихованих одиницях.

Однак вибір для них у прихованому шарі здебільшого пояснюється спробою та помилками.

Чи є якесь правило, яке функція активації, ймовірно, спрацює добре в деяких ситуаціях? Візьміть термін ситуації максимально загальним: це може стосуватися глибини шару, глибини NN, кількості нейронів для цього шару, оптимізатора, який ми обрали, кількості вхідних особливостей цього шару, до застосування цього NN тощо.

У своїй / її відповіді cantordust посилається на інші функції активації, про які я не згадував, як ELU та SELU. Ці відомості більш ніж вітаються. Однак, чим більше функцій активації я виявляю, тим більше я плутаюся у виборі функції, яку потрібно використовувати у прихованих шарах. І я не думаю, що гортання монети - це хороший спосіб вибору функції активації.

Відповіді:


10

Мені здається, ви вже розумієте недоліки ReLU і сигмоїдів (як мертві нейрони у випадку звичайного ReLU). Я б запропонував переглянути ELU (експоненціальні лінійні одиниці) та SELU ( самонармалізуюча версія ELU). За деякими м'якими припущеннями, останні мають приємну властивість саморегуляції, що пом'якшує проблему зникнення та вибуху градієнтів. Крім того, вони поширюють нормалізацію - тобто гарантують, що вхід до наступного шару матиме нульове середнє та одиничне відхилення.

Редагувати:


Було б неймовірно важко порекомендувати функцію активації, яка працює для всіх випадків використання (хоча я вважаю, що SELU був розроблений так, що це зробить правильно з майже будь-яким вкладом). Існує багато міркувань - наскільки складно обчислити похідну (якщо вона взагалі диференційована!), Наскільки швидко конвергується мережа з обраним вами АФ, наскільки гладка вона, чи відповідає вона умовам теореми універсального наближення , чи це зберігає нормалізацію тощо. Ви можете або не піклуєтесь про деякі або будь-які з них.

Суть полягає в тому, що не існує універсального правила вибору функції активації для прихованих шарів. Особисто мені подобається використовувати сигмоїди (особливо tanh), тому що вони добре обмежені та дуже швидкі для обчислення, але найголовніше тому, що вони працюють для моїх випадків використання . Інші рекомендують витікати ReLU для вхідних та прихованих шарів як функцію переходу, якщо ваша мережа не навчається. Ви навіть можете змішувати і співставляти функції активації, щоб розвивати нейронні мережі для фантазійних додатків .

Зрештою, ви, мабуть, отримаєте стільки думок, скільки людей щодо правильного вибору функції активації, тому коротка відповідь, мабуть, повинна бути: почніть з АФ дня (протікає ReLU / SELU?) і пропрацюйте свій шлях через інші автофокуси, щоб зменшити популярність, якщо ваша мережа намагається навчитися чомусь.


1
Правильно, я забув про поширення нормалізації. Дякую, що нагадали. Однак питання все ще залишається без відповіді. Існує правило чи щось вибрати, які функції активації слід помістити в приховані шари? Для простоти я говорю лише про просто повністю пов'язані шари. Я не хочу ускладнювати тему
згортками

@gvgramazio я відредагував відповідь, сподіваюся, вона зараз трохи корисніша.
кантордуст

З редагуванням я думаю, що ви відповіли на моє запитання, а також надали зацікавлені посилання (зокрема, про мікс та матч ). На жаль, це не відповідь, яку я хотів почути. Я буду тримати своє питання відкритим ще трохи днів. Якщо ніхто не придумає кращої відповіді, я позначу вашу як прийняту.
gvgramazio

-1

Я не знаю, над якими нейронними мережами ви працюєте. Але також слід враховувати функції активації тан, коли маємо справу з періодичною нейронною мережею. Причина полягає в тому, щоб уникнути вибуху проблем з градієнтом, оскільки функція tanh обмежена, наприклад, різницею функції RELU.


У запитанні я зазначив, що використовую танг і сигмоїди, не тільки ReLU. Також для простоти я маю на увазі класичні приховані повністю пов'язані шари. Якщо ви вважаєте, що той факт, що ми маємо справу з періодичною нейронною мережею, є важливим для вибору функції активації, вкажіть причину цього. Вибухові / зникаючі явища можуть траплятися і в нерецидивуючій нейронній мережі.
gvgramazio
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.