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

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

Зго́рткові нейро́нні мере́жі (ЗНМ, англ. convolutional neural network, CNN, ConvNet) в машинному навчанні — це клас глибинних штучних нейронних мереж прямого поширення, який успішно застосовувався до аналізу візуальних зображень.

ЗНМ використовують різновид багатошарових перцептронів, розроблений так, щоби вимагати використання мінімального обсягу попередньої обробки.[1] Вони відомі також як інваріа́нтні відно́сно зсу́ву (англ. shift invariant) або просторо́во інваріа́нтні шту́чні нейро́нні мере́жі (англ. space invariant artificial neural networks, SIANN), виходячи з їхньої архітектури спільних ваг та характеристик інваріантності відносно паралельного перенесення.[2][3]

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

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

Вони мають застосування в розпізнаванні зображень та відео, рекомендаційних системах[5] та обробці природної мови.[6]

Зміст

Конструкція[ред. | ред. код]

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

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

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

Згорткові шари застосовують до входу операцію згортки, передаючи результат до наступного шару. Згортка імітує реакцію окремого нейрону на зоровий стимул[en].[7]

Кожен згортковий нейрон обробляє дані лише для свого рецептивного поля.

Хоч повноз'єднані нейронні мережі прямого поширення й можливо застосовувати як для навчання ознак, так і для класифікування даних, застосування цієї архітектури до зображень є непрактичним. Було би необхідним дуже велике число нейронів, навіть у поверхневій (протилежній до глибинної) архітектурі, через дуже великі розміри входу, пов'язані з зображеннями, де кожен піксель є відповідною змінною. Наприклад, повноз'єднаний шар для (маленького) зображення розміром 100 × 100 має 10 000 ваг. Операція згортки дає змогу розв'язати цю проблему, оскільки вона зменшує кількість вільних параметрів, дозволяючи мережі бути глибшою за меншої кількості параметрів.[8] Наприклад, незалежно від розміру зображення, області замощування розміру 5 × 5, кожна з одними й тими ж спільними вагами, вимагають лише 25 вільних параметрів. Таким чином, це розв'язує проблему зникання або вибуху градієнтів у тренуванні традиційних багатошарових нейронних мереж з багатьма шарами за допомогою зворотного поширення.[джерело?]

Агрегувальні шари[ред. | ред. код]

Згорткові мережі можуть включати шари локального або глобального агрегування,[прояснити] які об'єднують виходи кластерів нейронів одного шару до одного нейрону наступного шару.[9][10] Наприклад, максимізаційне агрегування (англ. max pooling) використовує максимальне значення з кожного з кластерів нейронів попереднього шару.[11] Іншим прикладом є усереднювальне агрегування (англ. average pooling), що використовує усереднене значення з кожного з кластерів нейронів попереднього шару.[джерело?]

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

Повноз'єднані шари з'єднують кожен нейрон одного шару з кожним нейроном наступного шару. Це, в принципі, є тим же, що й традиційна нейронна мережа багатошарового перцептрону (БШП).

Ваги[ред. | ред. код]

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

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

Конструкція ЗНМ наслідує зорові механізми в живих організмах.[джерело?]

Рецептивні поля[ред. | ред. код]

Праця Г'юбела та Візела в 1950-ті та 1960-ті роки показала, що зорові кори[en] котів та мавп містять нейрони, які окремо реагують на маленькі ділянки зорового поля[en]. За умови, що очі не рухаються, область зорового простору, в межах якої візуальний стимул впливає на збудження одного нейрону, відома як його рецептивне поле.[джерело?] Сусідні клітини мають подібні рецептивні поля, що перекриваються.[джерело?] Розмір та розташування рецептивних полів систематично змінюються по всій корі, формуючи повне відображення зорового простору.[джерело?] Кора кожної з півкуль представляє перехресне зорове поле[en].[джерело?]

Їхня праця 1968 року[12] визначила два основні типи зорових клітин у мозку:

Неокогнітрон[ред. | ред. код]

Неокогнітрон[13] було представлено 1980 року.[11][14] Неокогнітрон не вимагає від вузлів, розташованих в декількох місцях мережі, мати одні й ті ж треновані ваги. Ця ідея з'являється 1986 року в книжній версії первинної праці про зворотне поширення.[15]:мал. 14 Неокогнітрони було розроблено 1988 року для сигналів, що поширюються в часі.[прояснити][16] Їхню конструкцію було вдосконалено 1998 року,[17] узагальнено 2003 року[18] і того ж року спрощено.[19]

LeNet-5[ред. | ред. код]

LeNet-5, новаторську 7-рівневу згорткову мережу від ЛеКуна та ін. 1998 року,[17] яка класифікує цифри, було застосовано декількома банками для розпізнавання рукописних цифр на чеках, оцифровуваних у зображення 32×32 пікселів. Здатність оброблювати зображення вищої роздільності вимагає більших та згортковіших шарів, тож цю методику обмежено наявністю обчислювальних ресурсів.

Інваріантна відносно зсуву нейронна мережа[ред. | ред. код]

Аналогічно, інваріантну відносно зсуву нейронну мережу було запропоновано для розпізнавання зображень символів 1988 року.[2][3] Цю архітектуру та алгоритм тренування було видозмінено 1991 року[20] та застосовано до обробки медичних зображень[21] та автоматичного виявлення раку молочної залози в маммограмах[en].[22]

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

Нейронна піраміда абстракцій[ред. | ред. код]

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

Втілення на ГП[ред. | ред. код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Агрегувальний шар[ред. | ред. код]

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

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

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

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

Через агресивне скорочення розміру представлення, тенденція йде до менших фільтрів,[35] або відмови від агрегувального шару взагалі.[36]

Агрегування області інтересу до розміру 2×2. В цьому прикладі пропозиція області (вхідний параметр) має розмір 7×5.

Агрегування областей інтересу (англ. Region of Interest pooling, відоме також як англ. RoI pooling), — це варіація максимізаційного агрегування, в якій розмір виходу фіксовано, а прямокутник входу є параметром.[37]

Агрегування є важливою складовою згорткових нейронних мереж для виявлення об'єктів[en], що ґрунтуються на архітектурі швидких згорткових нейронних мереж на основі областей (англ. Fast R-CNN).[38]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Форми максимізаційних агрегувань[ред. | ред. код]

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

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

Регуляризація — це процес введення додаткової інформації для розв'язання некоректно поставленої задачі або запобігання перенавчанню. ШНМ використовують різні типи регуляризації.

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

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

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

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

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

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

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

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

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

Стохастичне агрегування[ред. | ред. код]

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

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

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

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

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

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

Рання зупинка[ред. | ред. код]

Детальніші відомості з цієї теми Ви можете знайти в статті Рання зупинка[en].

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

Кількість параметрів[ред. | ред. код]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗНМ також розвідували й обробку природної мови. Моделі ЗНМ є ефективними для різних задач ОПМ, і вони досягали відмінних результатів у семантичному розборі,[62] отриманні результатів пошукових запитів,[63] моделюванні речень,[64] класифікації,[65] передбаченні[66] та інших традиційних задачах ОПМ.[67]

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

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

Шашки[ред. | ред. код]

ЗНМ використовували у грі в шашки. У 1999—2001 роках Фогель[en] та Челлапілла опублікували праці, що показали, як згорткова нейронна мережа може навчитися грати в шашки, застосовуючи ковеволюцію. Процес навчання не використовував попередніх професійних ігор людей, а натомість зосереджувався на мінімальному наборі інформації, що містився на шахівниці: положенні та типові фігур, та різниці в оцінці партій. Врешті-решт, цю програму (Blondie24[en]) було перевірено на 165 іграх проти гравців, і вона увійшла до найвищих 0,4 %.[72][73] Вона також здобула перемогу над програмою Chinook на її рівні гри «експерт».[74]

Ґо[ред. | ред. код]

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

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

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

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

Розширення[ред. | ред. код]

Глибинні Q-мережі[ред. | ред. код]

Глибинна Q-мережа (англ. deep Q-network, DQN) — це такий тип глибинної моделі навчання, який поєднує ЗНМ із Q-навчанням, різновидом навчання з підкріпленням. На відміну від попередніх агентів навчання з підкріпленням, DQN може навчатися безпосередньо з сенсо́рних входів високої розмірності.

Попередні результати було представлено 2014 року, а супровідний документ — у лютому 2015 року.[79] Це дослідження описувало застосування до гри в ігри Atari 2600. Йому передували інші моделі глибинного навчання з підкріпленням.[80]

Глибинні мережі переконань[ред. | ред. код]

Згорткові глибинні мережі переконань (ЗГМП, англ. convolutional deep belief networks, CDBN) мають структуру, дуже подібну до згорткових нейронних мереж, і тренуються подібно до глибинних мереж переконань. Таким чином, вони використовують двовимірну структуру зображень, як це роблять ЗНМ, і користаються попереднім тренуванням як глибинні мережі переконань. Вони забезпечують загальну структуру, яку можливо використовувати в багатьох задачах обробки зображень та сигналу. Із застосуванням ЗГМП було отримано зразкові результати[81] на стандартних базах даних зображень, таких як CIFAR.[82]

Нейронні мережі з часовою затримкою[ред. | ред. код]

Нейронна мережа з часовою затримкою дозволяє сигналам мовлення бути оброблюваними інваріантно відносно часу, аналогічно до інваріантності відносно паралельного перенесення, що пропонують ЗНМ.[83] Їх було представлено на початку 1980-х років. Замощування виходів нейронів може покривати часові періоди.[51]

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

  • Caffe: Популярна бібліотека для згорткових нейронних мереж. Створена Центром бачення і навчання Берклі (англ. Berkeley Vision and Learning Center, BVLC). Вона підтримує як ЦП, так і ГП. Розроблена мовою C++, і має обгортки для Python та MATLAB.
  • Deeplearning4j[en]: Глибинне навчання мовами Java та Scala на Spark, який має багато-ГП-шну підтримку. Бібліотека глибинного навчання загального призначення для стеку розробки JVM, що працює на рушії наукових обчислень мовою C++. Дозволяє створювати власні шари. Поєднується з Hadoop та Kafka[en].
  • deeplearning-hs: Глибинне навчання для Haskell, підтримує обчислення з CUDA.
  • MatConvNet: Зручне втілення для MATLAB.
  • MXNet: Відкрита система глибинного навчання, що є масштабованою, включно з підтримкою декількох ГП та ЦП для розподілу. Вона підтримує інтерфейси декількома мовами (C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Wolfram).
  • neon: Найшвидша система для згорткових нейронних мереж та глибинного навчання з підтримкою підсистем ЦП та ГП. Передній край є мовою Python, тоді як швидкі ядра пишуться особливим шейдерним асемблером. Створена компанією Nervana Systems, яку було придбано компанією Intel.
  • TensorFlow: Ліцензована за Apache 2.0 Theano-подібна бібліотека з підтримкою ЦП, ГП, власницького ТП[en] Google,[84] мобільних
  • Theano: Еталонна бібліотека глибинного навчання для Python з ППІ, значною мірою сумісним з популярною бібліотекою NumPy. Дозволяє користувачам писати символічні математичні вирази, потім автоматично породжує їхні похідні, вберігаючи користувача від обов'язку кодувати градієнти або зворотне поширення. Ці символічні вирази автоматично компілюються в CUDA для отримання швидкої реалізації на ГП.
  • Torch (www.torch.ch): Система наукових обчислень з широкою підтримкою алгоритмів машинного навчання, написана мовами C та Lua. Основним автором є Ронан Коллобер (англ. Ronan Collobert), і її зараз застосовують у Facebook AI Research та Twitter.
  • Microsoft Cognitive Toolkit[en]: Інструментарій глибинного навчання, написаний Microsoft, із деякими унікальними властивостями, що підвищують масштабованість над декількома вузлами. Він підтримує повноцінні інтерфейси для тренування в C++ та Python, і з додатковою підтримкою для виведення моделей у C# та Java.

Поширені ППІ[ред. | ред. код]

  • Keras: Високорівневий ППІ, написаний мовою Python для згорткових нейронних мереж TensorFlow та Theano.[85]

У популярній культурі[ред. | ред. код]

Згорткові нейронні мережі згадувано в романі 2017 року «Infinity Born».[86]

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

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

  1. а б LeCun, Yann. LeNet-5, convolutional neural networks. Процитовано 16 November 2013.  (англ.)
  2. а б Zhang, Wei (1988). Shift-invariant pattern recognition neural network and its optical architecture. Proceedings of annual conference of the Japan Society of Applied Physics.  (англ.)
  3. а б Zhang, Wei (1990). Parallel distributed processing model with local space-invariant interconnections and its optical architecture. Applied Optics 29 (32): 4790–7. Bibcode:1990ApOpt..29.4790Z. PMID 20577468. doi:10.1364/AO.29.004790.  (англ.)
  4. а б 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.  (англ.)
  5. 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.  (англ.)
  6. 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.  (англ.)
  7. Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation. DeepLearning 0.1. LISA Lab. Процитовано 31 August 2013.  (англ.)
  8. Habibi,, Aghdam, Hamed. Guide to convolutional neural networks : a practical application to traffic-sign detection and classification. Heravi, Elnaz Jahani,. Cham, Switzerland. ISBN 9783319575490. OCLC 987790957.  (англ.)
  9. а б в 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.  (англ.)
  10. Krizhevsky, Alex. ImageNet Classification with Deep Convolutional Neural Networks. Процитовано 17 November 2013.  (англ.)
  11. а б в г 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.  (англ.)
  12. 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. doi:10.1113/jphysiol.1968.sp008455.  (англ.)
  13. LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). Deep learning. Nature 521 (7553): 436–444. Bibcode:2015Natur.521..436L. PMID 26017442. doi:10.1038/nature14539.  (англ.)
  14. 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.  (англ.)
  15. 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.  (англ.)
  16. 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.  (англ.)
  17. а б 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. Процитовано October 7, 2016.  (англ.)
  18. S. Behnke. Hierarchical Neural Networks for Image Interpretation, volume 2766 of Lecture Notes in Computer Science. Springer, 2003. (англ.)
  19. 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. (англ.)
  20. Zhang, Wei (1991). Error Back Propagation with Minimum-Entropy Weights: A Technique for Better Generalization of 2-D Shift-Invariant NNs. Proceedings of the International Joint Conference on Neural Networks.  (англ.)
  21. Zhang, Wei (1991). Image processing of human corneal endothelium based on a learning network. Applied Optics 30 (29): 4211–7. Bibcode:1991ApOpt..30.4211Z. PMID 20706526. doi:10.1364/AO.30.004211.  (англ.)
  22. Zhang, Wei (1994). Computerized detection of clustered microcalcifications in digital mammograms using a shift-invariant artificial neural network. Medical Physics 21 (4): 517–24. Bibcode:1994MedPh..21..517Z. PMID 8058017. doi:10.1118/1.597177.  (англ.)
  23. 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. (англ.)
  24. 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. (англ.)
  25. 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. (англ.)
  26. Behnke, Sven (2003). Hierarchical Neural Networks for Image Interpretation. Lecture Notes in Computer Science 2766. Springer. ISBN 978-3-540-40722-5. doi:10.1007/b11963.  (англ.)
  27. 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.  (англ.)
  28. 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.  (англ.)
  29. 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.  (англ.)
  30. Bengio, Yoshua; Lamblin, Pascal; Popovici, Dan; Larochelle, Hugo (2007). Greedy Layer-Wise Training of Deep Networks. Advances in Neural Information Processing Systems: 153–160.  (англ.)
  31. 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.  (англ.)
  32. 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. (англ.)
  33. CS231n Convolutional Neural Networks for Visual Recognition. cs231n.github.io. Процитовано 2017-04-25.  (англ.)
  34. а б Scherer, Dominik; Müller, Andreas C.; Behnke, Sven (2010). Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition. Thessaloniki, Greece: Springer. с. 92–101.  Проігноровано невідомий параметр |book-title= (довідка) (англ.)
  35. Graham, Benjamin (2014-12-18). «Fractional Max-Pooling». arXiv:1412.6071 [cs.CV].  (англ.)
  36. Springenberg, Jost Tobias; Dosovitskiy, Alexey; Brox, Thomas; Riedmiller, Martin (2014-12-21). «Striving for Simplicity: The All Convolutional Net». arXiv:1412.6806 [cs.LG].  (англ.)
  37. Grel, Tomasz (2017-02-28). Region of interest pooling explained. deepsense.io (en).  (англ.)
  38. Girshick, Ross (2017-09-27). «Fast R-CNN». arXiv:1504.08083 [cs.CV].  (англ.)
  39. Krizhevsky, A.; Sutskever, I.; Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems 1: 1097–1105.  (англ.)
  40. 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.  (англ.)
  41. Carlos E. Perez. A Pattern Language for Deep Learning.  (англ.)
  42. Regularization of Neural Networks using DropConnect | ICML 2013 | JMLR W&CP. jmlr.org. Процитовано 2015-12-17.  (англ.)
  43. Zeiler, Matthew D.; Fergus, Rob (2013-01-15). «Stochastic Pooling for Regularization of Deep Convolutional Neural Networks». arXiv:1301.3557 [cs.LG].  (англ.)
  44. Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis – Microsoft Research. research.microsoft.com. Процитовано 2015-12-17.  (англ.)
  45. 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].  (англ.)
  46. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. jmlr.org. Процитовано 2015-12-17.  (англ.)
  47. Hinton, Geoffrey (1979). Some demonstrations of the effects of structural descriptions in mental imagery. Cognitive Science 3 (3): 231–250. doi:10.1016/s0364-0213(79)80008-7.  (англ.)
  48. Rock, Irvin. "The frame of reference." The legacy of Solomon Asch: Essays in cognition and social psychology (1990): 243–268. (англ.)
  49. J. Hinton, Coursera lectures on Neural Networks, 2012, Url: https://www.coursera.org/learn/neural-networks (англ.)
  50. 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= (довідка) (англ.)
  51. а б 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.  (англ.)
  52. ImageNet Large Scale Visual Recognition Competition 2014 (ILSVRC2014). Процитовано 30 January 2016.  (англ.)
  53. 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.  (англ.)
  54. 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].  (англ.)
  55. The Face Detection Algorithm Set To Revolutionize Image Search. Technology Review. February 16, 2015. Процитовано 27 October 2017.  (англ.)
  56. 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.  (англ.)
  57. 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.  (англ.)
  58. Karpathy, Andrej, et al. "Large-scale video classification with convolutional neural networks." IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2014. (англ.)
  59. Simonyan, Karen; Zisserman, Andrew (2014). «Two-Stream Convolutional Networks for Action Recognition in Videos». arXiv:1406.2199 [cs.CV].  (англ.)
  60. 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.  (англ.)
  61. 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.  (англ.)
  62. Grefenstette, Edward; Blunsom, Phil; de Freitas, Nando; Hermann, Karl Moritz (2014-04-29). «A Deep Architecture for Semantic Parsing». arXiv:1404.7296 [cs.CL].  (англ.)
  63. Learning Semantic Representations Using Convolutional Neural Networks for Web Search – Microsoft Research. research.microsoft.com. Процитовано 2015-12-17.  (англ.)
  64. Kalchbrenner, Nal; Grefenstette, Edward; Blunsom, Phil (2014-04-08). «A Convolutional Neural Network for Modelling Sentences». arXiv:1404.2188 [cs.CL].  (англ.)
  65. Kim, Yoon (2014-08-25). «Convolutional Neural Networks for Sentence Classification». arXiv:1408.5882 [cs.CL].  (англ.)
  66. 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. (англ.)
  67. 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].  (англ.)
  68. 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].  (англ.)
  69. Yosinski, Jason; Clune, Jeff; Nguyen, Anh; Fuchs, Thomas; Lipson, Hod (2015-06-22). «Understanding Neural Networks Through Deep Visualization». arXiv:1506.06579 [cs.CV].  (англ.)
  70. Toronto startup has a faster way to discover effective medicines. The Globe and Mail. Процитовано 2015-11-09.  (англ.)
  71. Startup Harnesses Supercomputers to Seek Cures. KQED Future of You (en-us). Процитовано 2015-11-09.  (англ.)
  72. Chellapilla, K; Fogel, DB (1999). Evolving neural networks to play checkers without relying on expert knowledge. IEEE Trans Neural Netw 10 (6): 1382–91. PMID 18252639. doi:10.1109/72.809083.  (англ.)
  73. http://ieeexplore.ieee.org/document/942536/ (англ.)
  74. Fogel, David (2001). Blondie24: Playing at the Edge of AI. San Francisco, CA: Morgan Kaufmann. ASIN 1558607838. ISBN 1558607838.  (англ.) (англ.)
  75. Clark, Christopher; Storkey, Amos (2014). «Teaching Deep Convolutional Neural Networks to Play Go». arXiv:1412.3409 [cs.AI].  (англ.)
  76. Maddison, Chris J.; Huang, Aja; Sutskever, Ilya; Silver, David (2014). «Move Evaluation in Go Using Deep Convolutional Neural Networks». arXiv:1412.6564 [cs.LG].  (англ.)
  77. AlphaGo – Google DeepMind. Процитовано 30 January 2016.  (англ.)
  78. 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 (англ.)
  79. Mnih, Volodymyr (2015). Human-level control through deep reinforcement learning. Nature 518 (7540): 529–533. Bibcode:2015Natur.518..529M. PMID 25719670. doi:10.1038/nature14236.  (англ.)
  80. Sun, R.; Sessions, C. (June 2000). Self-segmentation of sequences: automatic formation of hierarchies of sequential behaviors. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 30 (3): 403–418. ISSN 1083-4419. doi:10.1109/3477.846230.  (англ.)
  81. Lee, Honglak; Grosse, Roger; Ranganath, Rajesh; Ng, Andrew Y. (1 January 2009). Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations. Proceedings of the 26th Annual International Conference on Machine Learning – ICML '09 (ACM): 609–616. ISBN 9781605585161. doi:10.1145/1553374.1553453 — через ACM Digital Library.  (англ.)
  82. Convolutional Deep Belief Networks on CIFAR-10.  (англ.)
  83. Alexander Waibel[en] et al., Phoneme Recognition Using Time-Delay Neural Networks IEEE Transactions on Acoustics, Speech and Signal Processing, Volume 37, No. 3, pp. 328. - 339 March 1989. (англ.)
  84. Cade Metz (May 18, 2016). Google Built Its Very Own Chips to Power Its AI Bots. Wired.  (англ.)
  85. Keras Documentation. keras.io (en).  (англ.)
  86. Richards, Douglas E. (2017-04-30). Infinity Born (English). Paragon Press. ISBN 1546406395.  (англ.)

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