Згорткова нейронна мережа

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В машинному навчанні зго́рткова нейро́нна мере́жа (ЗНМ, англ. convolutional neural network, CNN, ConvNet) — це такий тип штучної нейронної мережі прямого поширення, в якому схему з'єднання її нейронів натхнено організацією зорової кори тварин, окремі нейрони якої впорядковано таким чином, що вони реагують на області, які покривають зорове поле[en], частково перекриваючись.[1] Згорткові мережі було натхнено біологічними процесами,[2] вони є варіаціями багатошарових перцептронів, розробленими для використання мінімальної попередньої обробки.[3] Вони мають широке застосування в розпізнаванні зображень та відео, рекомендаційних системах[4] та обробці природної мови.[5]

Огляд[ред.ред. код]

При застосуванні для розпізнавання зображень згорткові нейронні мережі (ЗНМ) складаються з декількох шарів невеликих збірок нейронів, які обробляють частини вхідного зображення, що називаються рецептивними полями. Виходи цих збірок потім укладаються таким чином, щоби їхні вхідні області перекривалися, для отримання кращого представлення первинного зображення; це повторюється для кожного такого шару. Укладання з перекриттям дозволяє ЗНМ бути терпимими до паралельних перенесень вхідного зображення.[6]

Згорткові мережі можуть включати шари локальної або глобальної підвибірки, які поєднують виходи кластерів нейронів.[7][8] Вони також складаються з різних комбінацій згорткових та повноз'єднаних шарів, із застосуванням поточкової нелінійності в кінці кожного шару.[9] Для зниження числа вільних параметрів та покращення узагальнення вводиться операція згортки на малих областях входу. Однією з головних переваг згорткових мереж є використання спільної ваги у згорткових шарах, що означає, що для кожного пікселя шару використовується один і той же фільтр (банк ваги); це як зменшує обсяг необхідної пам'яті, так і поліпшує продуктивність.[3]

Дуже подібну до згорткових нейронних мереж архітектуру також застосовують і деякі нейронні мережі з часовою затримкою[en], особливо призначені для задач розпізнавання та/або класифікації зображень, оскільки укладання виходів нейронів може бути здійснено через певні проміжки часу, зручним для аналізу зображень чином.[10]

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

Історія[ред.ред. код]

Розробка згорткових нейронних мереж послідувала за відкриттям зорових механізмів у живих організмах. Рання праця 1968 року[11] показала, що зорова кора тварин містить складні компонування клітин, чутливі до виявлення світла в малих підобластях зорового поля, які перекриваються, названих рецептивними полями. Ця праця ідентифікувала два основні типи клітин: прості клітини[en], що реагують максимально на особливі контуроподібні образи в їхніх рецептивних полях, і складні клітини[en], що мають більші рецептивні поля, і є локально інваріантними до точного положення образу. Ці клітини діють як локальні фільтри над простором входу.

Неокогнітрон, попередник згорткових мереж,[12] було представлено в праці 1980 року.[9][13] Він відрізняється від згорткових мереж, оскільки не змушує вузли, розташовані в кількох місцях, мати одні й ті ж треновані ваги. Ця ідея з'являється 1986 року в книжній версії первинної праці про зворотне поширення[14] (мал. 14). Їх було розроблено 1988 року для сигналів, що поширюються в часі.[15] Їхню конструкцію було вдосконалено 1998 року,[16] узагальнено 2003 року[17] і того ж року спрощено.[18] Знаменита мережа LeNet-5 може успішно класифікувати цифри, і застосовується для розпізнавання цифр у заповнюваних від руки чеках. Проте при складніших задачах широта розмаху та глибина мережі зростають, і стають обмеженими обчислювальними ресурсами, стримуючи таким чином продуктивність.

1988 року було запропоновано відмінну конструкцію на основі згортки[19] для застосування в розкладі згорнутих одновимірних сигналів електроміографії шляхом розгортки. 1989 року її було видозмінено для інших схем на основі розгортки.[20][21]

Слідом за працею 2005 року, яка встановила значення обчислення загального призначення на графічних процесорах для машинного навчання,[22] декілька публікацій описали ефективніші шляхи тренування згорткових нейронних мереж із застосуванням обчислень на ГП.[23][24][25][26] 2011 року їх було уточнено й реалізовано на ГП, із вражаючими результатами.[7] 2012 року Чирешан та ін. значно вдосконалили найкращу продуктивність в літературі для кількох наборів зображень, включно з базою даних MNIST, базою даних NORB, набором символів HWDB1.0 (китайські символи), набором даних CIFAR10 (набір з 60000 мічених RGB-зображень[en] 32×32)[9] та набором даних ImageNet.[27]

Розрізнювання ознак[ред.ред. код]

В той час як традиційні моделі багатошарового перцептрону (БШП) успішно застосовувалися для розпізнавання зображень, через повну зв'язність між вузлами вони страждають від прокляття розмірності[en], і, отже не дуже добре масштабуються на зображення вищих роздільностей.

Шари ЗНМ, розташовані в 3 вимірах

Наприклад, у наборі CIFAR-10 зображення мають розмір лише 32×32×3 (ширина 32, висота 32, 3 канали кольору), тому один повноз'єднаний нейрон у першому прихованому шарі звичайної нейронної мережі матиме 32*32*3 = 3 072 вагові коефіцієнти. Проте зображення 200×200 призведе до нейронів, що мають 200*200*3 = 120 000 вагових коефіцієнтів.

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

Згорткові нейронні мережі є біологічно натхненими варіантами багатошарових перцептронів, розробленими для імітації поведінки зорової кори. Ці моделі пом'якшують виклики, поставлені архітектурою БШП, використовуючи сильну просторово локальну кореляцію, присутню в природних зображеннях. На противагу до БШП, ЗНМ мають наступні відмітні ознаки:

  1. Тривимірні ємності нейронів. Шари ЗНМ мають нейрони, впорядковані в 3 вимірах: ширина, висота та глибина. Нейрони всередині шару є з'єднаними з невеликою областю попереднього шару, що називається рецептивним полем. Для формування архітектури ЗНМ складаються різні типи шарів, як локально, так і повноз'єднані.
  2. Локальна з'єднаність: відповідно до концепції рецептивних полів, ЗНМ використовують просторово локальну кореляцію шляхом застосування схеми локальної з'єднаності між нейронами сусідніх шарів. Ця архітектура таким чином забезпечує, що навчені «фільтри» виробляють найсильніший відгук до просторово локального вхідного образу. Складання багатьох таких шарів веде до нелінійних «фільтрів», що стають все більше «глобальними» (тобто, чутливими до більшої області піксельного простору). Це дозволяє мережі спочатку створювати добрі представлення дрібних деталей входу, а потім збирати з них представлення більших областей.
  3. Спільні ваги: В ЗНМ кожен фільтр відтворюється на усьому зоровому полі. Ці відтворені вузли використовують спільну параметризацію (вектор ваги та упередження) та формують карту ознаки. Це означає, що всі нейрони в заданому згортковому шарі виявляють в точності одну й ту ж саму ознаку. Відтворені вузли таким чином дозволяють ознакам бути виявленими незалежно від їхнього положення в зоровому полі, забезпечуючи таким чином властивість інваріантності відносно зсуву.

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

Будівельні блоки[ред.ред. код]

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

Нейрони згорткового шару, з'єднані з їхнім рецептивним полем

Згортковий шар[ред.ред. код]

Згортковий шар (англ. convolutional layer) є основним будівельним блоком ЗНМ. Параметри шару складаються з набору фільтрів для навчання (або ядер), які мають невеличке рецептивне поле, але простягаються на всю глибину вхідного об'єму. Протягом прямого проходу кожен фільтр здійснює згортку по ширині та висоті вхідного об'єму, обчислюючи скалярний добуток даних фільтру та входу, і формуючи 2-вимірну карту активації цього фільтру. В результаті мережа навчається, які фільтри активуються, коли вони бачать певний конкретний тип ознаки у певному просторовому положенні у вході.

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

Локальна з'єднаність[ред.ред. код]

При опрацюванні входів високої розмірності, таких як зображення, недоцільно з'єднувати нейрони з усіма нейронами попереднього об'єму, оскільки така архітектура мережі не бере до уваги просторову структуру даних. Згорткові мережі використовують просторово локальну кореляцію шляхом забезпечення схеми локальної з'єднаності між нейронами сусідніх шарів: кожен нейрон з'єднується лише з невеликою областю вхідного об'єму. Обшир цієї з'єднаності є гіперпараметром[en], що називається рецептивним полем нейрону. З'єднання є локальними в просторі (вздовж ширини та висоти), але завжди поширюються вздовж усієї глибини вхідного об'єму. Така архітектура забезпечує, щоби навчені фільтри виробляли найсильніший відгук до просторово локальних вхідних образів.

Просторова організація[ред.ред. код]

Розмір вихідного об'єму згорткового шару контролюють три гіперпараметри[en]: глибина, крок та нульове доповнення.

  1. Глибина вихідного об'єму контролює кількість нейронів шару, що з'єднуються з однією й тією ж областю вхідного об'єму. Всі ці нейрони вчитимуться активуватися для різних ознак входу. Наприклад, якщо перший згортковий шар бере як вхід сире зображення, то різні нейрони вздовж виміру глибини можуть активуватися в присутності різних орієнтованих контурів, або плям кольору.
  2. Крок контролює те, як стовпчики глибини розподіляються за просторовими вимірами (шириною та висотою). Коли кроком є 1, то глибинні стовпчики нейронів розміщуються в просторових положеннях на відстані лише 1 просторової одиниці один від одного. Це веде до сильного перекриття рецептивних полів між стовпчиками, а також до великих вихідних об'ємів. І навпаки, якщо застосовуються більші кроки, то рецептивні поля перекриватимуться менше, й отримуваний в результаті вихідний об'єм матиме менші просторові розміри.
  3. Іноді зручно доповнювати вхід нулями по краях вхідного об'єму. Розмір цього нульового доповнення є третім гіперпараметром. Нульове доповнення дозволяє контролювати просторовий розмір вихідних об'ємів. Зокрема, іноді бажано точно зберігати просторовий розмір вхідного об'єму.

Просторовий розмір вихідного об'єму може обчислюватися як функція від розміру вхідного об'єму , розміру ядрового поля нейронів згорткового шару , кроку, з яким вони застосовуються, , і величини нульового доповнення , що застосовується на краях. Формула для обчислення того, скільки нейронів «уміщається» до заданого об'єму, задається як . Якщо це число не є цілим, то кроки встановлено неправильно, і нейрони не може бути розміщено вздовж вхідного об'єму симетричним чином. Загалом, встановлення нульового доповнення в , коли кроком є , забезпечує, щоби вхідний та вихідний об'єми мали однаковий просторовий розмір. Хоча взагалі використання всіх нейронів попереднього шару не є абсолютно обов'язковим, наприклад, ви можете вирішити використовувати лише частину доповнення.

Спільне використання параметрів[ред.ред. код]

Схема спільного використання параметрів застосовується в згорткових шарах для того, щоби контролювати кількість вільних параметрів. Вона спирається на одне розумне припущення: якщо одна клаптикова ознака є корисною для обчислення в певному просторовому положенні, то вона також повинна бути корисною для обчислення в іншому положенні. Іншими словами, позначаючи 2-вимірний зріз за глибиною як зріз глибини, ми обмежуємо нейрони в кожному зрізі глибини використанням одних і тих же ваги та упередження.

Оскільки всі нейрони в єдиному зрізі ділять між собою одну й ту ж параметризацію, то прямий прохід у кожному зрізі глибини згорткового (англ. CONV) шару може бути обчислено як згортку вагових коефіцієнтів нейронів з вхідним об'ємом (звідси й назва: згортковий шар). Таким чином, є звичним називати набори вагових коефіцієнтів фільтром (або ядром), який згортається із входом. Результатом цієї згортки є активаційна карта, і набір активаційних карт для кожного з різних фільтрів складається разом вздовж виміру глибини для отримання вихідного об'єму. Спільне використання параметрів сприяє інваріантності архітектури ЗНМ відносно зсуву.

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

Підвибірковий шар[ред.ред. код]

Максимізаційна підвибірка (англ. max pooling) із фільтром 2×2 та кроком = 2

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

Підвибірковий шар діє незалежно на кожен зріз глибини входу, і зменшує його просторовий розмір. Найпоширенішим видом є підвибірковий шар із фільтрами розміру 2×2, що застосовуються з кроком 2, який знижує дискретизацію кожного зрізу глибини входу в 2 рази як за шириною, так і за висотою, відкидаючи 75 % активацій. Кожна операція взяття максимуму (англ. MAX) в такому разі братиме максимум з 4 чисел. Розмір за глибиною залишається незмінним.

На додачу до максимізаційної підвибірки (англ. max pooling), підвибіркові шари можуть також виконувати й інші функції, такі як усереднювальна підвибірка (англ. average pooling) та навіть L2-нормова підвибірка (англ. L2-norm pooling). Історично усереднювальна підвибірка застосовувалася часто, але останнім часом впала в немилість у порівнянні з дією максимізаційної підвибірки, робота якої на практиці виявилася кращою.

Через агресивне скорочення розміру представлення (що є корисним лише для менших наборів даних для контролю перенавчання) поточною тенденцією в літературі є використання менших фільтрів,[28] або відмова від підвибіркового шару взагалі.[29]

Шар зрізаних лінійних вузлів (ReLU)[ред.ред. код]

ReLU є абревіатурою від англ. Rectified Linear Units, зрізаних лінійних вузлів[en]. Це є шаром нейронів, що застосовує ненасичувальну[en] передавальну функцію . Він посилює нелінійні властивості функції ухвалення рішення і мережі в цілому, не зачіпаючи рецептивних полів згорткового шару.

Для посилення нелінійності застосовуються й інші функції, наприклад, насичувальні гіперболічний тангенс , , та сигмоїдна функція . У порівнянні з іншими функціями використання зрізаних лінійних вузлів (англ. ReLU) є кращим, оскільки воно призводить до в кілька разів швидшого навчання нейронної мережі[30] без створення значної різниці в точності узагальнення.

Повноз'єднаний шар[ред.ред. код]

Насамкінець, після кількох згорткових та максимізаційно підвибіркових шарів, високорівневі міркування в нейронній мережі здійснюються повноз'єднаними шарами (англ. fully connected layers). Нейрони у повноз'єднаному шарі мають повні з'єднання з усіма активаціями попереднього шару, як це можна бачити у звичайних нейронних мережах. Їхні активації відтак може бути обчислювано матричним множенням, за яким слідує зсув упередження.

Шар втрат[ред.ред. код]

Шар втрат визначає, як тренування мережі штрафує відхилення між передбаченими та справжніми мітками, і є, як правило, останнім шаром у мережі. В ньому можуть використовуватися різні функції втрат для різних завдань. Багатозмінна логістична[en] втрата (англ. softmax) застосовується для передбачення єдиного класу з K взаємно виключних класів. Сигмоїдна перехресно-ентропійна втрата застосовується для передбачення K незалежних значень імовірності в проміжку . Евклідова втрата застосовується до регресії дійснозначних міток .

Типова архітектура ЗНМ

Вибір гіперпараметрів[ред.ред. код]

ЗНМ використовує більше гіперпараметрів[en], ніж стандартний БШП. У той час як звичайні правила для темпів навчання та сталих регуляризації все ще застосовуються, при оптимізації згорткових мереж потрібно мати на увазі наступне.

Кількість фільтрів[ред.ред. код]

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

Кількість карт ознак напряму контролює ємність, і залежить від кількості доступних прикладів та складності завдання.

Форма фільтрів[ред.ред. код]

Поширені в літературі форми поля фільтрів сильно різняться, і зазвичай вибираються в залежності від набору даних. Найкращі результати на зображеннях розміру MNIST (28×28) є зазвичай у діапазоні 5×5 на першому шарі, тоді як набори даних природних зображень (часто із сотнями пікселів за кожним із вимірів) схильні до використання більших фільтрів першого шару форми 12×12 або 15×15.

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

Форми максимізаційних підвибірок[ред.ред. код]

Типовими значеннями є 2×2. Дуже великі вхідні об'єми можуть виправдовувати на нижчих шарах підвибірку 4×4. Проте вибір більших форм різно знижуватиме розмірність сигналу, і може призводити до відкидання завеликої кількості інформації.

Методи регуляризації[ред.ред. код]

Емпіричні[ред.ред. код]

Виключення[ред.ред. код]

Оскільки повноз'єднаний шар займає найбільше параметрів, він є схильним до перенавчання. Для запобігання перенавчанню введено метод виключення (англ. Dropout).[31][32] На кожному етапі тренування окремі вузли або «виключаються» з мережі з імовірністю , або залишаються з імовірністю , так що залишається зменшена мережа; вхідні та вихідні ребра виключених вузлів також усуваються. На наступному етапі на даних тренується вже лише зменшена мережа. Після цього усунені вузли повторно вставляються до мережі з їхніми первинними ваговими коефіцієнтами.

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

Під час перевірки після завершення тренування ми в ідеалі хотіли би знайти вибіркове середнє всіх можливих мереж із виключеннями; на жаль, це є нездійсненним для великих значень . Тим не менше, ми можемо знайти наближення, використовуючи повну мережу, в якій вихід кожного вузла зважено на коефіцієнт , так що математичне очікування значення виходу будь-якого вузла буде таким самим, як і на етапах тренування. Це є найбільшим внеском методу виключення: хоча він ефективно породжує нейронних мереж, і таким чином уможливлює поєднання моделей, під час перевірки перевіряти необхідно лише одну мережу.

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

Виключення з'єднань[ред.ред. код]

Виключення з'єднань (англ. DropConnect)[33] є узагальненням виключення (англ. Dropout), в якому кожне з'єднання, а не кожен вихідний вузол, може бути виключено з імовірністю . Таким чином, кожен вузол отримує вхід з випадкової підмножини вузлів попереднього шару.

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

Стохастична підвибірка[ред.ред. код]

Головним недоліком виключення є те, що воно не має таких самих переваг для згорткових шарів, де нейрони не є повноз'єднаними.

В стохастичній підвибірці (англ. stochastic pooling)[34] звичайні детерміновані дії підвибірки замінюються стохастичною процедурою, в якій активація в межах кожної області підвибірки вибирається випадково, відповідно до поліноміального розподілу, заданого показниками в межах області підвибірки. Цей підхід є вільним від гіперпараметрів, і може поєднуватися з іншими підходами до регуляризації, такими як виключення, та нарощування даних.

Альтернативним поглядом на стохастичну підвибірку є те, що вона є рівнозначною стандартній максимізаційній підвибірці, але з багатьма копіями вхідного зображення, кожна з яких має невеликі локальні деформації. Це є подібним до явних еластичних деформацій вхідних зображень,[35] які забезпечують відмінну продуктивність у MNIST. Застосування стохастичної підвибірки в багатошаровій моделі дає експоненційне число деформацій, оскільки вибори у вищих шарах залежать від виборів у нижчих.

Штучні дані[ред.ред. код]

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

Явні[ред.ред. код]

Розмір мережі[ред.ред. код]

Найпростішим способом запобігти перенавчанню мережі є просто обмежити кількість прихованих вузлів та вільних параметрів (з'єднань) у ній. Це безпосередньо обмежує передбачувальну потужність мережі, знижуючи складність функції, яку вона виконує на даних, і відтак обмежує розмір перенавчання. Це є рівнозначним «нульовій нормі»[en].

Ослаблення ваги[ред.ред. код]

Простим видом доданого регуляризатора є ослаблення ваги (англ. weight decay), яке просто додає до похибки кожного вузла додаткову похибку, пропорційну сумі вагових коефіцієнтів (норма L1) або квадратному ступеневі (норма L2) вектора вагових коефіцієнтів. Рівень прийнятної складності моделі може бути знижено збільшенням сталої пропорційності, що тим самим збільшує штраф за великі вектори вагових коефіцієнтів.

L2-регуляризація (англ. L2 regularization) є, можливо, найпоширенішим видом регуляризації. Її може бути реалізовано штрафуванням квадратного ступеня всіх параметрів безпосередньо в цілі. L2-регуляризація має інтуїтивну інтерпретацію у сильному штрафуванні пікових вагових векторів, та віддаванні переваги розсіяним ваговим векторам. У зв'язку з багатократними взаємодіями між вагами та входами, це має привабливу властивість заохочення мережі використовувати всі її входи потроху, замість сильного використання лише деяких із них.

L1-регуляризація (англ. L1 regularization) є іншим відносно поширеним видом регуляризації. L1-регуляризацію можливо поєднувати з L2-регуляризацією (це називається еластично-сітковою регуляризацією[en], англ. elastic net regularization). L1-регуляризація має таку захоплюючу властивість, що вона веде вагові вектори до набуття розрідженості протягом оптимізації. Іншими словами, нейрони з L1-регуляризацією закінчують використанням лише розрідженої підмножини їхніх найважливіших входів, і стають майже інваріантними відносно зашумлених входів.

Обмеження максимуму норми[ред.ред. код]

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

Ієрархічні координатні сітки[ред.ред. код]

Підвибірка у згорткових мережах призводить до втрат точних просторових взаємовідношень між високорівневими частинами (такими як ніс та рот у зображенні обличчя). А точні просторові взаємовідношення потрібні для розпізнавання ідентичності. Збереженню інформації про положення ознаки допомагає перекриття підвибірок, таке, що кожна ознака трапляється в різних підвибірках. Але згорткові мережі, що просто використовують зсув, не можуть екстраполювати своє розуміння геометричних взаємовідношень на докорінно нову точку огляду, таку як інша орієнтація, або інший масштаб. З іншого боку, люди є дуже вправними в екстраполяції; побачивши нову фігуру один раз, вони можуть розпізнати її з іншої точки огляду.[38]

Наразі поширеним способом подолання цієї проблеми є тренування згорткових мереж на перетворених даних в різних орієнтаціях, масштабах, освітленні тощо, щоби мережа могла впоруватися з цими варіаціями, що є вкрай обчислювально напруженим для великих наборів даних. Альтернативою є застосування ієрархії координатних сіток (англ. coordinate frames) та використання групи нейронів для представлення зв'язку форми фігури та її положення з сітківкою. Положення відносно сітківки є взаємовідношенням між координатною сіткою сітківки та власною координатною сіткою ознаки.[39]

Таким чином, одним зі способів представлення чогось є вбудовування координатної сітки у це. Щойно це зроблено, великі ознаки можуть розпізнаватися застосуванням узгодженості положень їхніх частин (наприклад, положення носа та рота роблять узгоджене передбачення положення всього обличчя). Застосовуючи цей підхід, можна сказати, що вищий рівень сутності (наприклад, обличчя) є присутнім, коли візуальні сутності нижчого рівня (наприклад, ніс та рот) мають узгоджені передбачення його положення. Вектори нейронної активності, що представляють положення («вектори положення», англ. «pose vectors»), уможливлюють моделювання просторових перетворень як лінійних операцій, що спрощує мережі навчання ієрархії візуальних сутностей та узагальнення за точками огляду. Це є подібним до того, як людський зоровий аналізатор накладає координатні сітки для представлення фігур.[40]

Застосування[ред.ред. код]

Розпізнавання зображень[ред.ред. код]

Згорткові нейронні мережі часто застосовують у системах розпізнавання зображень. Вони досягли 0.23-відсоткового рівня похибки[en] на базі даних MNIST, який станом на лютий 2012 року є найнижчим із досягнених на ній.[9] Ще одна праця про застосування ЗНМ для класифікації зображень повідомила, що процес навчання був «на диво швидким»; у тій самій праці було досягнуто найкращих із опублікованих на той час результатів на базах даних MNIST та NORB.[7]

При застосуванні до розпізнавання облич[en] їм вдалося привнести велике зниження рівня похибки.[41] В іншій праці їм вдалося досягти 97.6-відсоткового рівня розпізнавання на «5 600 нерухомих зображеннях понад 10 суб'єктів».[2] ЗНМ було використано для оцінки якості відео об'єктивним чином, після ручного тренування; отримана в результаті система мала дуже низьку кореневу середньоквадратичну похибку[en].[10]

Широкомасштабне випробування з візуального розпізнавання ImageNet[en] (англ. ImageNet Large Scale Visual Recognition Challenge) є еталоном у класифікації та виявленні об'єктів, з мільйонами зображень та сотнями класів об'єктів. В ILSVRC 2014,[42] що є великомасштабним змаганням з візуального розпізнавання, майже кожна команда, яка досягла високого рівня, використовувала ЗНМ як свою основну схему. Переможець, GoogLeNet[43] (основа DeepDream[en]), збільшив очікувану середню точність[en] виявлення об'єктів до 0.439329, і знизив похибку класифікації до 0.06656, найкращого результату на той момент. Його мережа застосовувала понад 30 шарів. Продуктивність згорткових нейронних мереж у завданнях ImageNet вже близька до людської.[44] Найкращі алгоритми все ще б'ються з об'єктами, що є маленькими або тонкими, такими як маленький мураха на стеблі квітки, або особа, що тримає перо в руці. Вони також мають проблеми із зображеннями, що було спотворено фільтрами, все поширенішим явищем із сучасними цифровими камерами. На противагу, такі типи зображень рідко викликають утруднення в людей. Люди, проте, схильні мати проблеми з іншими питаннями. Наприклад, вони не дуже вправні в класифікації об'єктів на тонкі категорії, такі як окремі породи собак або види птахів, у той час як згорткові нейронні мережі впоруються із цим з легкістю.

2015 року багатошарова ЗНМ продемонструвала здатність з конкурентоспроможною продуктивністю помічати обличчя з великого діапазону кутів, включно із перевернутими, навіть частково закритими. Ця мережа тренувалася на базі даних із 200 000 зображень, що включали обличчя під різними кутами та в різних орієнтаціях, і ще 20 мільйонів зображень без облич. Вони використовували пакети зі 128 зображень у 50 000 ітерацій.[45]

Аналіз відео[ред.ред. код]

У порівнянні з галузями даних зображень, є відносно мало роботи із застосування ЗНМ до класифікації відео. Відео є складнішим за зображення, оскільки воно має ще один (часовий) вимір. Тим не менше, було досліджено деякі розширення ЗНМ в область відео. Одним із підходів є трактувати простір та час як рівноцінні виміри входу, та виконувати згортку як за часом, так і за простором.[46][47] Іншим підходом є злиття особливостей різних згорткових нейронних мереж, відповідальних за просторовий та часовий потік.[48][49] Також було представлено схеми спонтанного навчання для тренування просторово-часових ознак на основі згорткових вентильних обмежених машин Больцмана (англ. Convolutional Gated Restricted Boltzmann Machine)[50] та методу незалежних підпросторів (англ. Independent Subspace Analysis).[51]

Обробка природної мови[ред.ред. код]

Згорткові нейронні мережі також бачили застосування і в області обробки природної мови. Потім було показано ефективність моделей ЗНМ для різних задач ОПМ, і вони досягли відмінних результатів у семантичному розборі,[52] отриманні результатів пошукових запитів,[53] моделюванні речень,[54] класифікації,[55] передбаченні[56] та інших традиційних задачах ОПМ.[57]

Пошук нових ліків[ред.ред. код]

Згорткові нейронні мережі застосовувалися в пошуку нових ліків[en]. Передбачення взаємодії між молекулами та біологічними протеїнами може застосовуватися для ідентифікації потенційних ліків, які ймовірніше будуть дієвими та безпечними. 2015 року Atomwise представила AtomNet, перші нейронні мережі глибинного навчання для раціональної розробки ліків на основі структури.[58] Ця система тренується безпосередньо на 3-вимірних представленнях хімічних взаємодій. Подібно до того, як мережа розпізнавання зображень навчається складати менші, просторово близькі ознаки у більші, складні структури,[59] AtomNet відкриває нові хімічні ознаки, такі як ароматичність, sp3-вуглеці та водневе зв'язування. Згодом AtomNet було використано для передбачення новітніх кандидатур біомолекул для цілей деяких хвороб, передусім для лікування вірусу Ебола[60] та розсіяного склерозу.[61]

Гра у ґо[ред.ред. код]

Згорткові нейронні мережі застосовувалися в комп'ютернім ґо[en]. У грудні 2014 року Крістофер Кларк та Еймос Сторкі опублікували працю, яка показала згорткову мережу, треновану керованим навчанням з бази даних людських професійних ігор, яка може перевершувати GNU Go[en] та вигравати деякі ігри проти Fuego 1.1 деревного пошуку Монте-Карло[en] за лише частку часу, що був потрібний для гри Fuego.[62] Незабаром після цього було оголошено, що велика 12-шарова згорткова нейронна мережа правильно передбачила професійний крок у 55 % положень, зрівнявши точність із 6-м даном[en] людських гравців. Коли тренована згорткова мережа застосовувалася безпосередньо для гри у ґо, без жодного пошуку, вона поборола традиційну пошукову програму GNU Go[en] в 97 % ігор, і досягла рівня продуктивності програми деревного пошуку Монте-Карло[en] Fuego, яка імітує десять тисяч розіграшів (близько мільйона позицій) за хід.[63]

AlphaGo, програма Google DeepMind, яка першою побила професійного гравця-людину, застосовувала пару ЗНМ для вибору ходів для проби («мережа стратегії», англ. policy network), та для оцінки позицій («мережа значення», англ. value network).[64]

Тонке налаштування[ред.ред. код]

Для багатьох застосувань доступна лише невелика кількість тренувальних даних. А згорткові нейронні мережі зазвичай вимагають великої кількості тренувальних даних, щоби запобігати перенавчанню. Поширеною методикою є тренувати мережу на ширшому наборі даних з пов'язаної області визначення. Щойно параметри мережі зійшлися, виконується додатковий етап тренування із застосуванням даних з області визначення для тонкого налаштування вагових коефіцієнтів мережі. Це дозволяє згортковим мережам успішно застосовуватися до задач з невеликими тренувальними наборами.[65]

Поширені бібліотеки[ред.ред. код]

  • Caffe: Caffe (заміна Decaf) була популярною бібліотекою для згорткових нейронних мереж. Її створено Центром бачення і навчання Берклі (англ. Berkeley Vision and Learning Center, BVLC). Переваги в тому, що вона має чистішу архітектуру та вищу швидкість. Вона підтримує як ЦП, так і ГП, легко перемикаючись між ними. Її розроблено мовою C++, і вона має обгортки для Python та MATLAB. В розробці Caffe використовується protobuf, щоби забезпечувати дослідникам легке налаштування параметрів, а також додавання або вилучення шарів.
  • Torch (www.torch.ch): Система наукових обчислень з широкою підтримкою алгоритмів машинного навчання, написана мовами C та Lua. Основним автором є Ронан Коллобер (англ. Ronan Collobert), і вона, поміж інших, широко застосовується у Facebook AI Research, Google DeepMind та Twitter.
  • neon: Найшвидша система для згорткових нейронних мереж та глибинного навчання з підтримкою підсистем ЦП та ГП. Передній край є мовою Python, тоді як швидкі ядра пишуться особливим шейдерним асемблером. Доступно декілька наперед тренованих моделей.
  • OverFeat: Наперед треноване виділяння ознак від П'єра Сермане (англ. Pierre Sermanet).
  • Cuda-convnet: Реалізація згорткової мережі в CUDA
  • MatConvnet
  • Theano: написана мовою Python з ППІ, значною мірою сумісним з популярною бібліотекою NumPy. Дозволяє користувачам писати символічні математичні вирази, потім автоматично породжує їхні похідні, вберігаючи користувача від обов'язку кодувати градієнти або зворотне поширення. Ці символічні вирази автоматично компілюються в CUDA для отримання швидкої реалізації на ГП.
  • Deeplearning4j[en]: Глибинне навчання для Java та Scala на Spark з ГП
  • deeplearning-hs: Глибинне навчання для Haskell, підтримує обчислення з CUDA.
  • TensorFlow: Підтримувана Google Theano-подібна бібліотека з підтримкою ЦП, ГП, мобільних, з ліцензією Apache 2.0
  • Veles: Програма керування тренуванням нейронних мереж від Samsung

Див. також[ред.ред. код]

Посилання[ред.ред. код]

  • convnet-benchmarks — простий порівняльний аналіз усіх відкритих реалізацій згорткових мереж (із результатами)

Примітки[ред.ред. код]

  1. Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation. DeepLearning 0.1. LISA Lab. Процитовано 31 August 2013.  (англ.)
  2. а б Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). Subject independent facial expression recognition with robust face detection using a convolutional neural network. Neural Networks 16 (5). с. 555–559. doi:10.1016/S0893-6080(03)00115-1. Процитовано 17 November 2013.  (англ.)
  3. а б LeCun, Yann. LeNet-5, convolutional neural networks. Процитовано 16 November 2013.  (англ.)
  4. van den Oord, Aaron; Dieleman, Sander; Schrauwen, Benjamin (2013-01-01). У Burges, C. J. C.; Bottou, L.; Welling, M.; Ghahramani, Z.; Weinberger, K. Q. Deep content-based music recommendation. Curran Associates, Inc. с. 2643–2651.  (англ.)
  5. Collobert, Ronan; Weston, Jason (2008-01-01). A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning. Proceedings of the 25th International Conference on Machine Learning. ICML '08 (New York, NY, USA: ACM). с. 160–167. ISBN 978-1-60558-205-4. doi:10.1145/1390156.1390177.  (англ.)
  6. Korekado, Keisuke; Morie, Takashi; Nomura, Osamu; Ando, Hiroshi; Nakano, Teppei; Matsugu, Masakazu; Iwata, Atsushi (2003). A Convolutional Neural Network VLSI for Image Recognition Using Merged/Mixed Analog-Digital Architecture. Knowledge-Based Intelligent Information and Engineering Systems. с. 169–176. CiteSeerX: 10.1.1.125.3812.  (англ.)
  7. а б в Ciresan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). Flexible, High Performance Convolutional Neural Networks for Image Classification. Proceedings of the Twenty-Second international joint conference on Artificial Intelligence-Volume Volume Two 2. с. 1237–1242. Процитовано 17 November 2013.  (англ.)
  8. Krizhevsky, Alex. ImageNet Classification with Deep Convolutional Neural Networks. Процитовано 17 November 2013.  (англ.)
  9. а б в г Ciresan, Dan; Meier, Ueli; Schmidhuber, Jürgen (June 2012). Multi-column deep neural networks for image classification. 2012 IEEE Conference on Computer Vision and Pattern Recognition[en] (New York, NY: Institute of Electrical and Electronics Engineers (IEEE)). с. 3642–3649. ISBN 978-1-4673-1226-4. OCLC 812295155. arXiv:1202.2745v1. doi:10.1109/CVPR.2012.6248110. Процитовано 2013-12-09.  (англ.)
  10. а б Le Callet, Patrick; Christian Viard-Gaudin; Dominique Barba (2006). A Convolutional Neural Network Approach for Objective Video Quality Assessment. IEEE Transactions on Neural Networks 17 (5). с. 1316–1327. PMID 17001990. doi:10.1109/TNN.2006.879766. Процитовано 17 November 2013.  (англ.)
  11. Hubel, D. H.; Wiesel, T. N. (1968-03-01). Receptive fields and functional architecture of monkey striate cortex. The Journal of Physiology 195 (1). с. 215–243. ISSN 0022-3751. PMC 1557912. PMID 4966457.  (англ.)
  12. LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). Deep learning. Nature 521 (7553). с. 436–444. PMID 26017442. doi:10.1038/nature14539.  (англ.)
  13. Fukushima, Kunihiko (1980). Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics 36 (4). с. 193–202. PMID 7370364. doi:10.1007/BF00344251. Процитовано 16 November 2013.  (англ.)
  14. David E. Rumelhart; Geoffrey E. Hinton; Ronald J. Wiliams (1986). Chapter 8 : Learning Internal Representations by ErrorPropagation. У Rumelhart, David E.; McClelland, James.L. Parallel Distributed Processing, Volume 1. MIT Press. с. 319–362. ISBN 9780262680530.  (англ.)
  15. Homma, Toshiteru; Les Atlas; Robert Marks II (1988). An Artificial Neural Network for Spatio-Temporal Bipolar Patters: Application to Phoneme Classification. Advances in Neural Information Processing Systems 1. с. 31–40.  (англ.)
  16. LeCun, Yann; Léon Bottou; Yoshua Bengio; Patrick Haffner (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE 86 (11). с. 2278–2324. doi:10.1109/5.726791. Процитовано 16 November 2013.  (англ.)
  17. S. Behnke. Hierarchical Neural Networks for Image Interpretation, volume 2766 of Lecture Notes in Computer Science. Springer, 2003. (англ.)
  18. Simard, Patrice, David Steinkraus, and John C. Platt. "Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis." In ICDAR, vol. 3, pp. 958-962. 2003. (англ.)
  19. Daniel Graupe, Ruey Wen Liu, George S Moschytz."Applications of neural networks to medical signal processing". In Proc. 27th IEEE Decision and Control Conf., pp. 343-347, 1988. (англ.)
  20. Daniel Graupe, Boris Vern, G. Gruener, Aaron Field, and Qiu Huang. "Decomposition of surface EMG signals into single fiber action potentials by means of neural network". Proc. IEEE International Symp. on Circuits and Systems , pp. 1008–1011, 1989. (англ.)
  21. Qiu Huang, Daniel Graupe, Yi Fang Huang, Ruey Wen Liu."Identification of firing patterns of neuronal signals." In Proc. 28th IEEE Decision and Control Conf., pp. 266-271, 1989. (англ.)
  22. Dave Steinkraus; Patrice Simard; Ian Buck (2005). Using GPUs for Machine Learning Algorithms. 12th International Conference on Document Analysis and Recognition (ICDAR 2005). с. 1115–1119.  (англ.)
  23. Kumar Chellapilla; Sid Puri; Patrice Simard (2006). High Performance Convolutional Neural Networks for Document Processing. У Lorette, Guy. Tenth International Workshop on Frontiers in Handwriting Recognition. Suvisoft.  (англ.)
  24. Hinton, GE; Osindero, S; Teh, YW (Jul 2006). A fast learning algorithm for deep belief nets.. Neural computation 18 (7). с. 1527–54. PMID 16764513. doi:10.1162/neco.2006.18.7.1527.  (англ.)
  25. Bengio, Yoshua; Lamblin, Pascal; Popovici, Dan; Larochelle, Hugo (2007). Greedy Layer-Wise Training of Deep Networks. Advances in Neural Information Processing Systems. с. 153–160.  (англ.)
  26. Ranzato, MarcAurelio; Poultney, Christopher; Chopra, Sumit; LeCun, Yann (2007). Efficient Learning of Sparse Representations with an Energy-Based Model. Advances in Neural Information Processing Systems.  (англ.)
  27. 10. Deng, Jia, et al. "Imagenet: A large-scale hierarchical image database."Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. IEEE, 2009. (англ.)
  28. Graham, Benjamin (2014-12-18). «Fractional Max-Pooling». arXiv:1412.6071 [cs.CV].  (англ.)
  29. Springenberg, Jost Tobias; Dosovitskiy, Alexey; Brox, Thomas; Riedmiller, Martin (2014-12-21). «Striving for Simplicity: The All Convolutional Net». arXiv:1412.6806 [cs.LG].  (англ.)
  30. Krizhevsky, A.; Sutskever, I.; Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems 1. с. 1097–1105.  (англ.)
  31. Srivastava, Nitish; C. Geoffrey Hinton; Alex Krizhevsky; Ilya Sutskever; Ruslan Salakhutdinov (2014). Dropout: A Simple Way to Prevent Neural Networks from overfitting. Journal of Machine Learning Research 15 (1). с. 1929–1958.  (англ.)
  32. Carlos E. Perez. A Pattern Language for Deep Learning.  (англ.)
  33. Regularization of Neural Networks using DropConnect | ICML 2013 | JMLR W&CP. jmlr.org. Процитовано 2015-12-17.  (англ.)
  34. Zeiler, Matthew D.; Fergus, Rob (2013-01-15). «Stochastic Pooling for Regularization of Deep Convolutional Neural Networks». arXiv:1301.3557 [cs.LG].  (англ.)
  35. Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis – Microsoft Research. research.microsoft.com. Процитовано 2015-12-17.  (англ.)
  36. Hinton, Geoffrey E.; Srivastava, Nitish; Krizhevsky, Alex; Sutskever, Ilya; Salakhutdinov, Ruslan R. (2012). «Improving neural networks by preventing co-adaptation of feature detectors». arXiv:1207.0580 [cs.NE].  (англ.)
  37. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. jmlr.org. Процитовано 2015-12-17.  (англ.)
  38. Hinton, Geoffrey. "Some demonstrations of the effects of structural descriptions in mental imagery." Cognitive Science 3.3 (1979): 231-250. (англ.)
  39. Rock, Irvin. "The frame of reference." The legacy of Solomon Asch: Essays in cognition and social psychology (1990): 243-268. (англ.)
  40. J. Hinton, Coursera lectures on Neural Networks, 2012, Url: https://www.coursera.org/course/neuralnets (англ.)
  41. Lawrence, Steve; C. Lee Giles; Ah Chung Tsoi; Andrew D. Back (1997). Face Recognition: A Convolutional Neural Network Approach. Neural Networks, IEEE Transactions on 8 (1). с. 98–113. doi:10.1109/72.554195. CiteSeerX: 10.1.1.92.5813.  (англ.)
  42. ImageNet Large Scale Visual Recognition Competition 2014 (ILSVRC2014). Процитовано 30 January 2016.  (англ.)
  43. Szegedy, Christian; Liu, Wei; Jia, Yangqing; Sermanet, Pierre; Reed, Scott; Anguelov, Dragomir; Erhan, Dumitru; Vanhoucke, Vincent та ін. (2014). Going Deeper with Convolutions. Computing Research Repository. arXiv:1409.4842.  (англ.)
  44. Russakovsky, Olga; Deng, Jia; Su, Hao; Krause, Jonathan; Satheesh, Sanjeev; Ma, Sean; Huang, Zhiheng; Karpathy, Andrej та ін. (2014). «Image Net Large Scale Visual Recognition Challenge». arXiv:1409.0575 [cs.CV].  (англ.)
  45. The Face Detection Algorithm Set To Revolutionize Image Search. Technology Review. February 16, 2015. Процитовано February 2015.  (англ.)
  46. Baccouche, Moez; Mamalet, Franck; Wolf, Christian; Garcia, Christophe; Baskurt, Atilla (2011-11-16). Sequential Deep Learning for Human Action Recognition. У Salah, Albert Ali; Lepri, Bruno. Human Behavior Unterstanding. Lecture Notes in Computer Science 7065. Springer Berlin Heidelberg. с. 29–39. ISBN 978-3-642-25445-1. doi:10.1007/978-3-642-25446-8_4.  (англ.)
  47. Ji, Shuiwang; Xu, Wei; Yang, Ming; Yu, Kai (2013-01-01). 3D Convolutional Neural Networks for Human Action Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence 35 (1). с. 221–231. ISSN 0162-8828. PMID 22392705. doi:10.1109/TPAMI.2012.59.  (англ.)
  48. Karpathy, Andrej, et al. "Large-scale video classification with convolutional neural networks." IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2014. (англ.)
  49. Simonyan, Karen; Zisserman, Andrew (2014). «Two-Stream Convolutional Networks for Action Recognition in Videos». arXiv:1406.2199 [cs.CV].  (англ.)
  50. Taylor, Graham W.; Fergus, Rob; LeCun, Yann; Bregler, Christoph (2010-01-01). Convolutional Learning of Spatio-temporal Features. Proceedings of the 11th European Conference on Computer Vision: Part VI. ECCV'10 (Berlin, Heidelberg: Springer-Verlag). с. 140–153. ISBN 3-642-15566-9.  (англ.)
  51. Le, Q. V.; Zou, W. Y.; Yeung, S. Y.; Ng, A. Y. (2011-01-01). Learning Hierarchical Invariant Spatio-temporal Features for Action Recognition with Independent Subspace Analysis. Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. CVPR '11 (Washington, DC, USA: IEEE Computer Society). с. 3361–3368. ISBN 978-1-4577-0394-2. doi:10.1109/CVPR.2011.5995496.  (англ.)
  52. Grefenstette, Edward; Blunsom, Phil; de Freitas, Nando; Hermann, Karl Moritz (2014-04-29). «A Deep Architecture for Semantic Parsing». arXiv:1404.7296 [cs.CL].  (англ.)
  53. Learning Semantic Representations Using Convolutional Neural Networks for Web Search – Microsoft Research. research.microsoft.com. Процитовано 2015-12-17.  (англ.)
  54. Kalchbrenner, Nal; Grefenstette, Edward; Blunsom, Phil (2014-04-08). «A Convolutional Neural Network for Modelling Sentences». arXiv:1404.2188 [cs.CL].  (англ.)
  55. Kim, Yoon (2014-08-25). «Convolutional Neural Networks for Sentence Classification». arXiv:1408.5882 [cs.CL].  (англ.)
  56. Collobert, Ronan, and Jason Weston. "A unified architecture for natural language processing: Deep neural networks with multitask learning."Proceedings of the 25th international conference on Machine learning. ACM, 2008. (англ.)
  57. Collobert, Ronan; Weston, Jason; Bottou, Leon; Karlen, Michael; Kavukcuoglu, Koray; Kuksa, Pavel (2011-03-02). «Natural Language Processing (almost) from Scratch». arXiv:1103.0398 [cs.LG].  (англ.)
  58. Wallach, Izhar; Dzamba, Michael; Heifets, Abraham (2015-10-09). «AtomNet: A Deep Convolutional Neural Network for Bioactivity Prediction in Structure-based Drug Discovery». arXiv:1510.02855 [cs.LG].  (англ.)
  59. Yosinski, Jason; Clune, Jeff; Nguyen, Anh; Fuchs, Thomas; Lipson, Hod (2015-06-22). «Understanding Neural Networks Through Deep Visualization». arXiv:1506.06579 [cs.CV].  (англ.)
  60. Toronto startup has a faster way to discover effective medicines. The Globe and Mail. Процитовано 2015-11-09.  (англ.)
  61. Startup Harnesses Supercomputers to Seek Cures. KQED Future of You (en-us). Процитовано 2015-11-09.  (англ.)
  62. Clark, Christopher; Storkey, Amos (2014). «Teaching Deep Convolutional Neural Networks to Play Go». arXiv:1412.3409 [cs.AI].  (англ.)
  63. Maddison, Chris J.; Huang, Aja; Sutskever, Ilya; Silver, David (2014). «Move Evaluation in Go Using Deep Convolutional Neural Networks». arXiv:1412.6564 [cs.LG].  (англ.)
  64. AlphaGo – Google DeepMind. Процитовано 30 January 2016.  (англ.)
  65. Durjoy Sen Maitra; Ujjwal Bhattacharya; S.K. Parui, , "CNN based common approach to handwritten character recognition of multiple scripts," in Document Analysis and Recognition (ICDAR), 2015 13th International Conference on , vol., no., pp.1021-1025, 23-26 Aug. 2015 (англ.)