[ В закладки ] Зоопарк архітектур нейронних мереж. Частина 2



Публікуємо другу частину статті про типи архітектури нейронних мереж. Ось перша.

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

Тому я вирішив скласти шпаргалку з таким архітектур. Більшість з них — нейронні мережі, але деякі звірі іншої породи. Хоча всі ці архітектури подаються як нові і унікальні, коли я зобразив їх структуру, внутрішні зв'язки стали набагато зрозуміліше.




Назва “Глибокі згорткові зворотні глибинні мережі (Deep convolutional inverse graphics networks, DCIGN)" може ввести в оману, оскільки насправді це варіаційні автоэнкодеры зі згортковими і развертывающими сетыми як кодує і декодирующей частин відповідно. Такі мережі являють риси зображення у вигляді ймовірностей і можуть навчитися будувати зображення кішки і собаки разом, поглянувши лише на картинки тільки з кішками і тільки з собаками. Крім того, ви можете показати цій мережі фотографію вашого кота з докучливою сусідським собакою і попросити її вирізати собаку і зображення, і DCIGN впорається з цим завданням, навіть якщо ніколи не робила нічого подібного. Розробники також продемонстрували, що DCIGN може моделювати різні складні перетворення зображень, наприклад, зміна джерела світла або поворот 3D об'єктів. Такі мережі зазвичай навчають методом зворотного поширення.

Kulkarni, Tejas D., et al. «Deep convolutional inverse network graphics.» Advances in Neural Information Processing Systems. 2015.
Original Paper PDF




Генеративні змагальні мережі (Generative adversarial networks, GAN) належать іншій колекції нейромереж, це близнюки — дві мережі, які працюють разом. GAN складається з будь-яких двох мереж (але частіше це мережі прямого розповсюдження або згорткові), де одна з мереж генерує дані («генератор»), а друга — аналізує («дискримінатор»). Дискримінатор отримує на вхід або навчальні дані, або згенеровані першою мережею. Те, наскільки точно дискримінатор зможе визначити джерело даних, служить потім для оцінки помилок генератора. Таким чином, відбувається своєрідне змагання, де дискримінатор вчиться краще відрізняти реальні дані від згенерованих, а генератор прагне стати менш передбачуваним для дискримінатора. Це працює почасти тому, що навіть складні зображення з великою кількістю шуму в кінці кінців стають передбачуваними, але згенеровані дані, мало відрізняються від реальних, складніше навчитися відрізняти. GAN досить складно навчити, так як завдання тут — не просто навчити дві мережі, але і дотримувати необхідний баланс між ними. Якщо одна з частин (генератор або дискримінатор) стане набагато краще іншого, то GAN ніколи не буде сходитися.

Goodfellow, Ian, et al. «Generative adversarial nets.» Advances in Neural Information Processing Systems. 2014.
Original Paper PDF




Рекурентні нейронні мережі (Recurrent neural networks, RNN) — це ті ж мережі прямого поширення, але зі зсувом у часі: нейрони отримують інформацію не тільки від попереднього шару, але і від самих себе в результаті попереднього проходу. Отже, тут важливий порядок, в якому ми подаємо інформацію та навчаємо мережа: ми отримаємо різні результати, якщо спочатку згодувати їй «молоко», а потім «печеньки», або якщо спочатку «печеньки», а потім вже «молоко». У RNN є одна велика проблема — це проблема зникає (або вибухового) градієнта: в залежності від використовуваної функції активації інформація з часом втрачається, так само як і в дуже глибоких мережах прямого поширення. Здавалося б, це не така вже серйозна проблема, так як це стосується тільки ваг, а не станів нейронів, але саме у вагах зберігається інформація про минуле; якщо вага досягне значення 0 або 1 000 000, то інформація про минуле стані стане не дуже інформативною. RNN можуть використовуватися в найрізноманітніших областях, так як навіть дані, не пов'язані з плином часу (не звук або відео) можуть бути представлені у вигляді послідовності. Картинка або рядок тексту можуть подаватися на вхід по одному пікселю або символу, так що вага буде використовуватись для попереднього елемента послідовності, а не для того, що сталося X секунд тому. У загальному випадку, рекурентні мережі гарні для продовження або доповнення інформації, наприклад, автодоповнення.

Elman, Jeffrey L. «Finding structure in time.» Cognitive science 14.2 (1990): 179-211.
Original Paper PDF




Довга короткострокова пам'ять (Long short term memory, LSTM) — спроба подолати проблему вибухового градієнта, використовуючи фільтри (gates) і блоки пам'яті (memory cells). Ця ідея прийшла, швидше, з області схемотехніки, а не біології. У кожного нейрона є три фільтра: вхідний фільтр (input gate), вихідний фільтр (output gate) і фільтр забування (forget gate). Завдання цих фільтрів — зберігати інформацію, зупиняючи і відновлюючи її потік. Вхідний фільтр визначає кількість інформації з попереднього кроку, який буде зберігатися в блоці пам'яті. Вихідний фільтр зайнятий тим, що визначає, скільки інформації про поточний стан вузла отримає наступний шар. Наявність фільтра забування на перший погляд здається дивним, але іноді забувати виявляється корисно: якщо нейромережа запам'ятовує книгу, на початку нової глави може бути необхідно забути деяких героїв з попередньої. Показано, що LSTM можуть навчатися дійсно складним послідовності, наприклад, наслідувати Шекспіру або складати просту музику. Варто зазначити, що так як кожен фільтр зберігає свою вагу щодо попереднього нейрона, такі мережі досить ресурсоемки.

Hochreiter, Sepp, and Jürgen Schmidhuber. «Long short-term memory.» Neural computation 9.8 (1997): 1735-1780.
Original Paper PDF




Керовані рекурентні нейрони (Gated recurrent units, GRU) — різновид LSTM. У них на один фільтр менше, і вони трохи інакше з'єднані: замість вхідного, вихідного фільтра і фільтра забування тут використовується фільтр оновлення (update gate). Цей фільтр визначає скільки інформації зберегти від останнього стану, скільки інформації отримати від попереднього шару. Фільтр скидання стану (reset gate) працює майже так само, як фільтр забування, але розташований трохи інакше. На наступні шари відправляється повна інформація про стан вихідного фільтра тут немає. У більшості випадком GRU працюють так само, як LSTM, найбільш значуща відмінність у тому, що GRU трохи швидше і простіше в експлуатації (однак має трохи меншими виразними можливостями).

Chung, Junyoung, et al. «Empirical evaluation of gated recurrent neural networks on sequence modeling.» arXiv preprint arXiv:1412.3555 (2014).
Original Paper PDF




Нейронні машини Тюрінга (Neural Тьюринга machines, NMT) можна визначити як абстракцію над LSTM і спробу «дістати» нейромережі з «чорного ящика», даючи нам уявлення про те, що відбувається всередині. Блок пам'яті тут не вбудований в нейрон, а відокремлений від нього. Це дозволяє об'єднати продуктивність і незмінність звичайного цифрового сховища даних з продуктивністю і виражальними можливостями нейронної мережі. Ідея полягає у використанні адресної по вмісту пам'яті і нейромережі, яка може читати з цієї пам'яті і писати в неї. Вони називаються нейронними машинами Тюрінга, так як є повними за Тьюриингу: можливість читати, писати і змінювати стан на підставі прочитаного дозволяє виконувати все, що вміє виконувати універсальна машина Тьюринга.

Graves, Alex, Greg Wayne, and Ivo Danihelka. «Neural тьюринга machines.» arXiv preprint arXiv:1410.5401 (2014).
Original Paper PDF



Двонаправлені RNN, LSTM і GRU (BiRNN, BiLSTM і BiGRU) не зображені на схемі, так як виглядають в точності так само, як їх односпрямовані колеги. Різниця лише в тому, що ці нейромережі пов'язані не тільки з минулим, але і з майбутнім. Наприклад, однонаправлена LSTM може навчитися прогнозувати слово «риба», отримуючи на вхід букви по одній. Двонаправлена LSTM буде отримувати також і наступну букву під час зворотного проходу, відкриваючи таким чином доступ до майбутньої інформації. А значить, нейромережа можна навчити не тільки доповнювати інформацію, але і заповнювати прогалини, так, замість розширення зображення по краях, вона може домалювати відсутні фрагменти в середині.

Schuster, Mike, and Kuldip K. Paliwal. «Bidirectional recurrent neural networks.» IEEE Transactions on Signal Processing 45.11 (1997): 2673-2681.
Original Paper PDF




Глибокі залишкові мережі (Deep residual networks, DRN) — це дуже глибокі FFNN з додатковими зв'язками між шарами, яких зазвичай від двох до п'яти, що з'єднують не тільки сусідні шари, але і більш віддалені. Замість того, щоб шукати спосіб знаходити відповідні вихідних даних вхідні дані через, скажімо, п'ять шарів, мережа навчена ставити у відповідність вхідного блоку пару «вихідний блок + вхідний блок». Таким чином вхідні дані проходять через всі шари нейромережі і подаються на блюдечку останнім верствам. Було показано, що такі мережі можуть навчатися зразкам глибиною до 150 шарів, що набагато більше, ніж можна очікувати від звичайної 2-5-шарової нейромережі. Тим не менш, було доведено, що мережі цього типу насправді просто RNN без явного використання часу, а також їх часто порівнюють з LSTM без фільтрів.

He, Kaiming, et al. «Deep residual learning for image recognition.» arXiv preprint arXiv:1512.03385 (2015).
Original Paper PDF




Нейронні ехо-мережі (Echo state networks, ESN) — ще один вид рекурентних нейромереж. Вони вирізняються тим, що зв'язки між нейронами в них випадкові, не організовані в акуратні шари, і навчаються вони по-іншому. Замість подачі на вхід даних і зворотного поширення помилки, ми передаємо дані, оновлюємо стану нейронів і протягом деякого часу стежимо за вихідними даними. Вхідний і вихідний шари грають нестандартну роль, так як вхідний шар служить для ініціалізації системи, а вихідний шар — в якості спостерігача за порядком активації нейронів, який проявляється з часом. Під час навчання змінюються зв'язки лише між спостерігачем і прихованими шарами.

Jaeger, Herbert, and Harald Haas. «Harnessing nonlinearity: Predicting chaotic systems and energy saving in wireless communication.» science 304.5667 (2004): 78-80.
Original Paper PDF




Extreme learning machines (ELM) — це ті ж FFNN, але з випадковими зв'язками між нейронами. Вони дуже схожі на LSM і ESN, але використовуються швидше подібно мереж прямого поширення, і не це пов'язано не з тим, що вони не є рекуррентными або імпульсними, а з тим, що їх навчають методом зворотного поширення помилки.

Cambria, Erik, et al. «Extreme learning machines [trends & controversies].» IEEE Intelligent Systems 28.6 (2013): 30-59.
Original Paper PDF




Машини нестійких станів (Liquid state machines, LSM) подібні ESN. Головна їхня відмінність у тому, що LSM — це різновид імпульсних нейронних мереж: на заміну сигмоїдною кривий приходять порогові функції, і кожен нейрон також є накопичувальним блоком пам'яті. Коли стан нейрона оновлюється, значення розраховується не як сума його сусідів, а складається з самим собою. Як тільки поріг перевищено, енергія звільняється і нейрон посилає імпульс іншим нейронам.

Maass, Wolfgang, Thomas Natschläger, and Henry Markram. «Real-time computing without stable states: A new framework for neural computation based on perturbations.» Neural computation 14.11 (2002): 2531-2560.
Original Paper PDF




Метод опорних векторів (Support vector machine, SVM) служить для знаходження оптимальних рішень у задачах класифікації. У класичному розумінні метод здатний класифікувати лінійно-загальні дані: наприклад, визначити, на якому малюнку зображено Гарфілд, а на якому — Снупі. У процесі навчання мережу як би розміщує всіх Гарфилдов і Снупі на 2D-графіку і намагається розділити дані прямою лінією так, щоб з кожної сторони були дані тільки одного класу і щоб відстань від даних до лінії було максимальним. Використовуючи трюк з ядром, можна класифікувати дані розмірності n. Побудувавши 3D граф, ми зможемо відрізнити Гарфілда від Снупі і від кота Саймона, і чим вище розмірність, тим більше мультяшних персонажів можна класифікувати. Цей метод не завжди розглядається як нейронна мережа.

Cortes, Corinna, and Vladimir Vapnik. «Support vector networks.» Machine learning 20.3 (1995): 273-297.
Original Paper PDF




І нарешті, останній мешканець нашого зоопарку — самоорганізована карта Кохонена (Kohonen networks, KN, або organising (feature) map, SOM, SOFM). KN використовує змагальний навчання для класифікації даних без вчителя. Мережа аналізує свої нейрони на предмет максимального співпадіння з вхідними даними. Найбільш відповідні нейрони оновлюються так, щоб ще ближче бути схожим на вхідні дані, крім того, до вхідних даних наближаються і ваги їх сусідів. Те, наскільки зміниться стан сусідів, залежить від відстані до найбільш відповідного вузла. KN також не завжди відносять до нейронних мереж.

Kohonen, Teuvo. «Self-organized formation of topologically correct feature maps.» Biological cybernetics 43.1 (1982): 59-69.
Original Paper PDF



Прочитати першу частину теж.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.