Чи можна використовувати ReLU в автоенкодері як функцію активації?


11

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

Чи можемо ми використовувати замість ReLU? (Оскільки ReLU не має обмежень на верхній межі, в основному означає, що вхідне зображення може мати піксель більше 1, на відміну від обмежених критеріїв для автокодера, коли використовується сигмоїд).

Відповіді:


5

Ось тема дискусії (з липня 2013 р.), Яка вказує на те, що з цим можуть виникнути деякі проблеми, але це можна зробити.

Шалар Гюлчере (з лабораторії Йошуа Бенджо) сказав, що він успішно використовував таку техніку в питаннях знань: Важливість попередньої інформації для оптимізації :

тренуйте перший DAE як завжди, але з випрямлячами у прихованому шарі: a1(x) = W1 x + b1 h1 = f1(x) = rectifier(a1(x)) g1(h1) = {sigmoid}(V1 h1 + c1) мінімізуйте перехресну ентропію або втрати MSE, порівнюючи g1 (f1 (пошкоджений (x))) та x. сигмоїд необов'язковий залежно від даних.

тренуйте другий DAE із додаванням шуму перед випрямлячем f1 та використовуйте блоки реконструкції softplus із втратами MSE: h2 = f2(h1) = rectifier(W2 h1 + b2) g2(h2) = softplus(V2 h2 + c2) мінімізуйтеf1(x)g2(f2(rectifier(corrupt(a1(x)))))2+λ1W1+λ2W2

Xavier Glorot, а також з лабораторії Bengio, сказав він зробив те ж саме для заміни , крім з штрафу «на значення активації» (імовірно ?) В обох доменів адаптації для Широкомасштабна класифікація почуттів: підхід до глибокого навчання (ICML 2011) та в нейромережевих нейронних мережах глибокого випрямлення (AISTATS 2011).W1L1g2()1


Дякуємо за швидку відповідь! Отже, ви кажете, що існує певна проблема оптимізації аутенкодера, коли замість Sigmoid використовується ReLU?
RockTheStar

Здається, це може викликати проблеми, так, але це однозначно можна зробити, якщо правильно налаштувати навчальний процес. Це може допомогти прочитати пов'язані документи.
Дугал

Я експериментую з простим автокодером на наборі даних MNIST. Я використовую повністю пов'язані мережі з архітектурою 784-128-64-2-64-128-784. Я використовую relus скрізь, але експериментую із шаром вузького місця (relu або лінійним) та вихідним шаром (relu чи sigmoid). Використання випрямляча на виході призводить до зниження продуктивності; сигмоїд робить краще. Що стосується сигмоподібного виходу, лінійне вузьке вугілля здається дещо кращим. Тож моя улюблена комбінація цих двох шарів - лінійна / сигмоподібна. (До речі, використання сигмоїдів на всіх шарах робить це явно гірше.)
амеба,

@ameoba Мені не дивно, що виходи relu є поганими: якщо ви знаєте, що виходи мають певні межі, має сенс використовувати функцію активації, яка обмежує вас до цих меж. Я не надто досвідчений в цій області, але, мабуть, я б спробував ELU або герметичний ReLU для прихованих шарів.
Дугал

2
О, вау, я не знав про ELUs! Дуже дякую за пораду, Дугал. Я спробував їх, і вони працюють краще. Глибоке навчання дивовижне: нові трюки з’являються щороку, і ніхто не має уявлення, чому деякі працюють краще, ніж інші. (CC до @RockTheStar). До речі, я також вважаю, що оптимізатор Адама працює досить приголомшливо.
амеба
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.