Зоопарк архітектур нейронних мереж (частина 1)


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

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





Зображення нейромереж у вигляді графів є один недолік: граф не покаже, як мережа працює. Наприклад, варіаційний автоэнкодер (variational autoencoders, VAE) виглядає в точності як простий автоэнкодер (AE), в той час як процес навчання у цих нейромереж абсолютно різний. Сценарії використання розрізняються ще сильніше: у VAE на вхід подається шум, з якого вони отримують новий вектор, в той час як AE просто знаходять для вхідних даних найближчий відповідний вектор з тих, що вони «пам'ятають». Додам ще, що цей огляд не має мети пояснити роботу кожної з топологій зсередини (але це буде темою однієї з наступних статей).

Слід зазначити, що не всі (хоча й більшість) з використовуваних тут скорочень загальноприйняті. Під RNN іноді розуміють рекурсивні нейронні мережі (recursive neural networks), але зазвичай ця абревіатура означає рекуррентную нейронну мережу (recurrent neural network). Але і це ще не все: у багатьох джерелах ви зустрінете RNN як позначення для будь рекурентної архітектури, включаючи LSTM, GRU і навіть двунапраленные варіанти. Іноді схожа плутанина відбувається з AE: VAE, DAE і їм подібні можуть називати просто AE. Багато скорочення містять різну кількість N наприкінці: можна сказати «сверточная нейронна мережа» — CNN (Convolutional Neural Network), а можна і просто «сверточная мережа» — CN.

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

Кожній з архітектур, зображеної на схемі, я навів дуже короткий опис. Деякі з них будуть корисні, якщо ви добре знайомі з кількома архітектурами, але не знайомі конкретно з цієї.




Мережі прямого поширення (Feed forward neural networks, FF or FFNN) і перцептрони (perceptrons, P) дуже прості — вони передають інформацію від входу до виходу. Вважається, що у нейронних мереж є шари, кожен з яких складається з вхідних прихованих або вихідних нейронів. Нейрони одного шару між собою не пов'язані, при цьому кожен нейрон шару пов'язаний з кожним нейроном сусіднього шару. Найпростіша мало-мальськи робоча мережа складається з двох вхідних і одного вихідного нейрона і може моделювати логічний вентиль — базовий елемент цифрової схеми, виконує елементарну логічну операцію. FFNN зазвичай навчають методом зворотного поширення помилки, подаючи моделі на вхід пари очікуваних вхідних та вихідних даних. Під помилкою зазвичай розуміються різні ступені відхилення вихідних даних від вихідних (наприклад, середньоквадратичне відхилення або сума модулів різниць). За умови, що мережа володіє достатньою кількістю прихованих нейронів, теоретично вона завжди зможе встановити зв'язок між вхідними і вихідними даними. На практиці використання мереж прямого поширення обмежена, і частіше використовуються спільно з іншими мережами.

Rosenblatt, Frank. «The perceptron: a probabilistic model for information storage and organization in the brain.» Psychological review 65.6 (1958): 386.
Original Paper PDF




Мережі радіально-базисних функцій (radial basis function, RBF) — це FFNN з радіально-базисної функцією в якості функції активації. Більше тут нічого додати. Ми не хочемо сказати, що вона не використовується, але більшість FFNN з іншими функціями активації зазвичай не виділяють в окремі групи.

Broomhead, David S., and David Lowe. Radial basis functions, multi-variable functional interpolation and adaptive networks. No. RSRE-MEMO-4148. ROYAL SIGNALS AND RADAR ESTABLISHMENT MALVERN (UNITED KINGDOM), 1988.
Original Paper PDF




Нейронна мережа Хопфілда — повнозв'язна мережа (кожен нейрон з'єднаний з кожним), де кожен нейрон виступає у всіх трьох іпостасях. Кожен нейрон служить вхідним до навчання, прихованим під час нього і вихідним після. Матриця ваг підбирається таким чином, щоб усі «запам'ятовування» вектора були б для неї власними. Одного разу навчена одному або декільком образів система буде сходитися до одного з відомих їй образів, тому що тільки одне з цих станів є стаціонарним. Зазначимо, що це не обов'язково відповідає бажаному стану (на жаль, у нас не чарівний чорний ящик). Система стабілізується лише частково із-за того, що загальна «енергія» або «температура» мережі під час навчання поступово знижується. Кожен нейрон має порогом активації, порівнянним з цією температурою, і якщо сума вхідних даних перевищить цей поріг, нейрон може переходити в одне з двох станів (зазвичай -1 або 1, інколи 0 або 1). Вузли мережі можуть оновлюватися паралельно, але найчастіше це відбувається послідовно. В останньому випадку генерується випадкова послідовність, яка визначає порядок, в якому нейрони будуть оновлювати свій стан. Коли кожен з нейронів оновився і їх стан більше не змінюється, мережа приходить у стаціонарний стан. Такі мережі часто називають асоціативною пам'яттю, так як вони сходяться з станом, найбільш близькому до заданого: як людина, бачачи половину картинки, може домалювати відсутню половину, так і нейронна мережа, отримуючи на вході наполовину зашумленную картинку, добудовує її до цілої.

Hopfield, John J. «Neural networks and physical systems with emergent collective computational abilities.» Proceedings of the national academy of sciences 79.8 (1982): 2554-2558.
Original Paper PDF




Ланцюга Маркова (Markov Chains, MC або discrete time Markov Chain, DTMC) — свого роду попередники машин Больцмана (BM) та мереж Хопфілда (HN). У ланцюгах Маркова ми задаємо ймовірності переходу з поточного стану в сусідні. Крім того, це ланцюги не мають пам'яті: подальший стан залежить тільки від поточного і не залежить від всіх минулих станів. Хоча ланцюг Маркова не можна назвати нейронною мережею, вона близька до них і формує теоретичну основу для BM і HN. Ланцюги Маркова також не завжди є полносвязными.

Hayes, Brian. «First links in the Markov chain.» American Scientist 101.2 (2013): 252.
Original Paper PDF




Машини Больцмана (Boltzmann machines, BM) багато в чому схожі на мережі Хопфілда, але в них деякі нейрони помічені як вхідні, а деякі залишаються прихованими. Вхідні нейрони стають вихідними, коли всі нейрони в мережі оновлюють свої статки. Спочатку вагові коефіцієнти присвоюються випадковим чином, потім відбувається навчання методом зворотного поширення, або, останнім часом все частіше з допомогою алгоритму contrastive дивергенція (коли градієнт обчислюється за допомогою ланцюгів маркова). BM — стохастична нейронна мережа, так як в навчанні задіяна ланцюг Маркова. Процес навчання і роботи тут майже такий же, як в мережі Хопфілда: нейронам присвоюють певні початкові стану, а потім ланцюг починає вільно функціонувати. У процесі роботи нейрони можуть приймати будь-який стан, і ми постійно рухаємось між вхідними і прихованими нейронами. Активація регулюється значенням загальної температури, при зниженні якої скорочується і енергія нейронів. Скорочення енергії викликає стабілізацію нейронів. Таким чином, якщо задана температура вірно, система досягає рівноваги.

Hinton, Geoffrey E., and Terrence J. Sejnowski. «Learning and releaming in Boltzmann machines.» Parallel distributed processing: Explorations in the microstructure of cognition 1 (1986): 282-317.
Original Paper PDF




Обмежена машина Больцмана (Restricted Boltzmann machine, RBM), як не дивно, дуже схожа на звичайну машину Больцмана. Основна відмінність RBM від BM в тому, що вони обмежені, і отже, більш зручні у використанні. У них кожен нейрон не пов'язаний з кожним, а лише кожна група нейронів з'єднана з іншими групами. Вхідні нейрони не пов'язані між собою, немає з'єднань і між прихованими нейронами. RBM можна навчати так само, як і FFPN, за невеликою відмінністю: замість передачі даних вперед і подальшого зворотного поширення помилки, дані передаються вперед і назад (до першого шару), а потім застосовується пряме і зворотне поширення (forward-and-back propagation).

Smolensky, Paul. Information processing in dynamical systems: Foundations of harmony theory. No. CU-CS-321-86. COLORADO AT UNIV BOULDER DEPT OF COMPUTER SCIENCE, 1986.
Original Paper PDF




Автоэнкодеры (Autoencoders, AE) — щось подібне FFNN, це скоріше інший спосіб використання FFNN, чим принципово нова архітектура. Основна ідея автоэнкодеров — автоматичне кодування (як при стисненні, а не при шифруванні інформації, звідси і назва. Мережа нагадує за формою пісочний годинник, так як прихований шар менше, ніж вхідний і вихідний; до того ж вона симетрична відносно середніх шарів (одного або двох, залежно від парності/непарності загальної кількості шарів). Найменший шар майже завжди середній, в ньому інформація максимально стиснута. Все, що розташовано до середини — кодуюча частина, вище середини — декодирующая, а в середині (ви не повірите) — код. AE навчають методом зворотного поширення помилки, подаючи вхідні дані і задаючи помилку рівній різницю між входом і виходом. AE можна побудувати симетричними і з точки зору ваг, виставляючи кодують ваги рівними декодирующим.

Bourlard, Hervé, and Yves Kamp. «Auto-by association multilayer perceptrons and singular value decomposition.» Biological cybernetics 59.4-5 (1988): 291-294.
Original Paper PDF




Розріджений автоэнкодер (Sparse autoencoder, AE) — в деякій мірі антипод AE. Замість того, щоб навчати мережа представляти блоки інформації на меншому просторі", ми кодуємо інформацію так, щоб вона займала більше місця. І замість того, щоб змушувати систему сходитися в центрі, а потім назад розширюватися до початкового розміру, ми, навпаки, збільшуємо середні шари. Мережі цього типу можуть застосовуватися для вилучення безлічі маленьких деталей з набору даних. Якщо б ми стали навчати SAE тим же методом, що і AE, ми отримали б в більшості випадків абсолютно непотрібну мережу, де на виході виходить рівно те ж, що і на вході. Щоб цього уникнути, ми замість вхідних даних видаємо на виході вхідні дані плюс штраф за кількість активованих нейронів в прихованому шарі. Це в якійсь мірі нагадує біологічну нейронну мережу (spiking neural network), у якій не всі нейрони постійно знаходяться в збудженому стані.

Marc'Aurelio Ranzato, Christopher Poultney, Sumit Chopra, and Yann LeCun. «Efficient learning of sparse representations with an energy-based model.» Proceedings of NIPS. 2007.
Original Paper PDF




Архітектура варіаційних автоэнкодеров (VAE) така ж, як і у звичайних, але навчають їх іншому — приблизного імовірного розподілу вхідних зразків. Це в якійсь мірі повернення до витоків, так як VAE трошки ближче до машин Больцмана. Тим не менш, вони опираються на Байєсівську математику щодо імовірнісних суджень і незалежності, які інтуїтивно зрозумілі, але вимагають складних обчислень. Базовий принцип можна сформулювати так: приймати в розрахунок ступінь впливу однієї події на іншу. Якщо в одному місці відбувається певна подія, а інша подія трапляється десь ще, то ці події зовсім не обов'язково пов'язані. Якщо вони не пов'язані, то поширення помилки має це враховувати. Це корисний підхід, так як нейронні мережі — свого роду величезні графи, і іноді буває корисно виключити вплив одних нейронів на інші, провалюючись в нижні шари.

Kingma, Diederik P., and Max Welling. «Auto-encoding variational bayes.» arXiv preprint arXiv:1312.6114 (2013).
Original Paper PDF




Шумоподавляющіе (завадостійкі) автоэнкодеры (Denoising autoencoders, DAE) — це таке AE, яким на подаємо на вхід не просто дані, а дані з шумом (наприклад, роблячи зображення більш зернистої). Тим не менш, помилку ми обчислюємо тим самим методом, порівнюючи вихідний зразок з оригіналом без шуму. Таким чином, мережа запам'ятовує не дрібні деталі, а великі риси, так як запам'ятовування невеликих деталей, постійно змінюються з-за шуму, часто не призводить нікуди.

Vincent, Pascal, et al. «Extracting and composing robust features with denoising autoencoders.» Proceedings of the 25th international conference on Machine learning. ACM, 2008.
Original Paper PDF




Глибокі мережі довіри (Deep belief networks, DBN) — мережі, що представляють собою композицію декількох RBM або VAE. Такі мережі показали себе ефективно навчатися одна за одною, коли кожна мережа повинна навчитися кодувати попередню. Цей метод також називають «жадібне навчання», він полягає у прийнятті оптимального на даний момент рішення, щоб отримати відповідний, але, можливо, не оптимальний результат. DBN можуть навчатися методами contrastive divergence або зворотним поширенням помилки і вчаться представляти дані у вигляді ймовірнісної моделі, в точності як RBM або VAE. Одного разу навчену і приведену до стаціонарного стану модель можна використовувати для генерації нових даних.

Bengio, Yoshua, et al. «Greedy layer-wise training of deep networks.» Advances in neural information processing systems 19 (2007): 153.
Original Paper PDF




Згорткові нейронні мережі (convolutional neural networks, CNN) і глибокі згорткові нейронні мережі (deep convolutional neural networks, DCNN) кардинально відрізняються від інших мереж. Вони використовуються в основному для обробки зображень, іноді для аудіо і інших видів вхідних даних. Типовим способом застосування CNN є класифікація зображень: якщо на вхід подається зображення кішки, мережа видасть «кішка», якщо картинка собаки — «собака». Такі мережі зазвичай використовують «сканер», не обробляє всі дані за один раз. Наприклад, якщо у вас є зображення 200х200, ви захочете будувати шар мережі з 40 тисяч вузлів. Замість це мережа вважає квадрат розміру 20х20 (зазвичай з лівого верхнього кута), потім зрушиться на 1 піксель і вважає новий квадрат, і т. д. Зауважте, що ми не розбиваємо зображення на квадрати, а швидше повземо по ньому. Ці вхідні дані передаються через згорткові шари, в яких не всі вузли з'єднані між собою. Замість цього кожен вузол з'єднаний тільки з своїми найближчими сусідами. Ці шари мають властивість стискуватися з глибиною, причому зазвичай вони зменшуються на який-небудь з дільників кількості вхідних даних (наприклад, 20 вузлів у наступному шарі перетворяться в 10, в наступному — в 5), часто використовуються ступеня двійки. Крім згорткових шарів є також так звані шари об'єднання (pooling layers). Об'єднання — це спосіб зменшити розмірність одержуваних даних, наприклад, з квадрата 2х2 вибирається і передається найбільш червоний піксель. На практиці до кінця CNN прикріплюють FFNN для подальшої обробки даних. Такі мережі називаються глибокими (DCNN), але назви їх зазвичай взаємозамінні.

LeCun, Yann, et al. «Gradient-based learning applied to document recognition.» Proceedings of the IEEE 86.11 (1998): 2278-2324.
Original Paper PDF




Развертають нейронні мережі (deconvolutional networks, DN), також звані зворотними графічними мережами, — це згорткові нейронні мережі навпаки. Уявіть, що ви передаєте мережі слово «кішка» і навчаєте її генерувати зображення кішок шляхом порівняння одержуваних картинок з реальними зображеннями котів. DNN теж можна поєднувати з FFNN. Варто зауважити, що в більшості випадків мережі передається не рядок, а бінарний классифицирующий вектор: наприклад, <0, 1> — це кішка, <1, 0> — собака, а <1, 1> — і кішка, і собака. Замість шарів об'єднання, які часто зустрічаються в CNN, тут присутні аналогічні зворотні операції, зазвичай інтерполяцію або екстраполяції.

Zeiler, Matthew D., et al. «Deconvolutional networks.» Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on. IEEE, 2010.
Original Paper PDF

О, а приходьте до нас працювати? :)wunderfund.io — молодий фонд, який займається високочастотної алготорговлей. Високочастотна торгівля — це безперервне змагання кращих програмістів і математиків всього світу. Приєднавшись до нас, ви станете частиною цієї захоплюючої сутички.

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

Приєднуйтесь до нашої команди: wunderfund.io
Джерело: Хабрахабр

0 коментарів

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