Згорткова нейронна мережа
Зго́рткові нейро́нні мере́жі (ЗНМ, англ. convolutional neural network, CNN, ConvNet) в машинному навчанні — це клас глибоких штучних нейронних мереж прямого поширення, який успішно застосовувався до аналізу візуальних зображень.
ЗНМ використовують різновид багатошарових перцептронів, розроблений так, щоби вимагати використання мінімального обсягу попередньої обробки.[1] Вони відомі також як інваріа́нтні відно́сно зсу́ву (англ. shift invariant) або просторо́во інваріа́нтні шту́чні нейро́нні мере́жі (англ. space invariant artificial neural networks, SIANN), виходячи з їхньої архітектури спільних ваг та характеристик інваріантності відносно паралельного перенесення.[2][3]
Згорткові мережі взяли за основу біологічний процес,[4] а саме схему з'єднання нейронів зорової кори тварин. Окремі нейрони кори реагують на стимули[en] лише в обмеженій області зорового поля, відомій як рецептивне поле. Рецептивні поля різних нейронів частково перекриваються таким чином, що вони покривають усе зорове поле.
ЗНМ використовують порівняно мало попередньої обробки, в порівнянні з іншими алгоритмами класифікування зображень. Це означає, що мережа навчається фільтрів[en], що в традиційних алгоритмах конструювали вручну. Ця незалежність у конструюванні ознак від апріорних знань та людських зусиль є великою перевагою.
Вони мають застосування в розпізнаванні зображень та відео, рекомендаційних системах[5] та обробці природної мови.[6]
ЗНМ складається з шарів входу та виходу, а також із декількох прихованих шарів. Приховані шари ЗНМ зазвичай складаються зі згорткових шарів, агрегувальних шарів, повноз'єднаних шарів та шарів нормалізації.
Цей процес описують в нейронних мережах як згортку за домовленістю. З математичної точки зору він є радше взаємною кореляцією, ніж згорткою. Це має значення лише для індексів у матриці, й відтак які ваги на якому індексі розташовуються.
Згорткові шари застосовують до входу операцію згортки, передаючи результат до наступного шару. Згортка імітує реакцію окремого нейрону на зоровий стимул[en].[7]
Кожен згортковий нейрон обробляє дані лише для свого рецептивного поля.
Хоч повноз'єднані нейронні мережі прямого поширення й можливо застосовувати як для навчання ознак, так і для класифікування даних, застосування цієї архітектури до зображень є непрактичним. Було би необхідним дуже велике число нейронів, навіть у неглибокій (протилежній до глибокої) архітектурі, через дуже великі розміри входу, пов'язані з зображеннями, де кожен піксель є відповідною змінною. Наприклад, повноз'єднаний шар для (маленького) зображення розміром 100 × 100 має 10 000 ваг. Операція згортки дає змогу розв'язати цю проблему, оскільки вона зменшує кількість вільних параметрів, дозволяючи мережі бути глибшою за меншої кількості параметрів.[8] Наприклад, незалежно від розміру зображення, області замощування розміру 5 × 5, кожна з одними й тими ж спільними вагами, вимагають лише 25 вільних параметрів. Таким чином, це розв'язує проблему зникання або вибуху градієнтів у тренуванні традиційних багатошарових нейронних мереж з багатьма шарами за допомогою зворотного поширення.[джерело?]
Згорткові мережі можуть включати шари локального або глобального агрегування,[прояснити] які об'єднують виходи кластерів нейронів одного шару до одного нейрону наступного шару.[9][10] Наприклад, максимізаційне агрегування (англ. max pooling) використовує максимальне значення з кожного з кластерів нейронів попереднього шару.[11] Іншим прикладом є усереднювальне агрегування (англ. average pooling), що використовує усереднене значення з кожного з кластерів нейронів попереднього шару.[джерело?]
Повноз'єднані шари з'єднують кожен нейрон одного шару з кожним нейроном наступного шару. Це, в принципі, є тим же, що й традиційна нейронна мережа багатошарового перцептрону (БШП).
ЗНМ використовують спільні ваги в згорткових шарах, що означає, що для кожного рецептивного поля[прояснити: ком.] шару використовується один і той же фільтр (банк ваг[прояснити: ком.]); це зменшує обсяг необхідної пам'яті та поліпшує продуктивність[як?].[1]
Конструкція ЗНМ наслідує зорові механізми в живих організмах.[джерело?]
Праця Г'юбела та Візела в 1950-ті та 1960-ті роки показала, що зорові кори[en] котів та мавп містять нейрони, які окремо реагують на маленькі ділянки зорового поля. За умови, що очі не рухаються, область зорового простору, в межах якої візуальний стимул впливає на збудження одного нейрону, відома як його рецептивне поле.[джерело?] Сусідні клітини мають подібні рецептивні поля, що перекриваються.[джерело?] Розмір та розташування рецептивних полів систематично змінюються по всій корі, формуючи повне відображення зорового простору.[джерело?] Кора кожної з півкуль представляє перехресне зорове поле.[джерело?]
Їхня праця 1968 року[12] визначила два основні типи зорових клітин у мозку:
- прості клітини[en], чий вихід максимізується прямими краями, що мають певне орієнтування, в межах їхніх рецептивних полів
- складні клітини[en], що мають більші рецептивні поля, чий вихід є нечутливим до точного положення країв у полі.
Неокогнітрон[13] було представлено 1980 року.[11][14] Неокогнітрон не вимагає від вузлів, розташованих в декількох місцях мережі, мати одні й ті ж треновані ваги. Ця ідея з'являється 1986 року в книжній версії первинної праці про зворотне поширення.[15] Неокогнітрони було розроблено 1988 року для сигналів, що поширюються в часі.[прояснити][16] Їхню конструкцію було вдосконалено 1998 року,[17] узагальнено 2003 року[18] і того ж року спрощено.[19]
LeNet-5 - 7-рівнева згорткова мережа від ЛеКуна та ін., запропонована у 1998 р.,[17], яка класифікує рукописні цифри[20]. Була застосовано кількома банками для розпізнавання рукописних цифр на чеках, оцифровуваних у зображення 32×32 пікселів. Здатність оброблювати зображення вищої роздільності вимагає більшої кількості згорткових шарів, тож цю методику обмежено наявністю обчислювальних ресурсів.
Аналогічно, інваріантну відносно зсуву нейронну мережу було запропоновано для розпізнавання зображень символів 1988 року.[2][3] Цю архітектуру та алгоритм тренування було видозмінено 1991 року[21] та застосовано до обробки медичних зображень[22] та автоматичного виявлення раку молочної залози в маммограмах.[23]
1988 року було запропоновано відмінну конструкцію на основі згортки[24] для застосування в розкладі згорнутих одновимірних сигналів електроміографії шляхом розгортки. 1989 року її було видозмінено для інших схем на основі розгортки.[25][26]
Архітектуру прямого поширення згорткових нейронних мереж було розширено в нейронній піраміді абстракцій (англ. neural abstraction pyramid)[27] бічними з'єднаннями та з'єднаннями зворотного зв'язку. Отримана в результаті рекурентна згорткова мережа уможливлює гнучке включення контекстної інформації для ітеративного розв'язання локальних неоднозначностей. На відміну від попередніх моделей, породжувалися виходи, подібні до зображень, на найвищій роздільній здатності.
Слідом за працею 2005 року, яка встановила значення ГПЗП для машинного навчання,[28] декілька публікацій описали ефективніші шляхи тренування згорткових нейронних мереж із застосуванням ГП.[29][30][31][32] 2011 року їх було уточнено й реалізовано на ГП, із вражаючими результатами.[9] 2012 року Чирешан та ін. значно вдосконалили найкращу серед літератури продуктивність для кількох баз даних зображень, включно з базою даних MNIST, базою даних NORB, набором даних HWDB1.0 (китайські символи), набором даних CIFAR10 (набір з 60000 мічених RGB-зображень[en] 32×32)[11] та набором даних ImageNet.[33]
В той час як традиційні моделі багатошарового перцептрону (БШП) успішно застосовувалися для розпізнавання зображень,[потрібні приклади] через повну з'єднаність між вузлами вони потерпають від прокляття розмірності, і, отже, не дуже добре масштабуються на зображення вищих роздільностей.
Наприклад, у наборі CIFAR-10 зображення мають розмір лише 32×32×3 (ширина 32, висота 32, 3 канали кольору), тому один повноз'єднаний нейрон у першому прихованому шарі звичайної нейронної мережі матиме 32*32*3 = 3 072 ваг. Проте зображення 200×200 призведе до нейронів, що мають 200*200*3 = 120 000 ваг.
Також, такі мережеві архітектури не беруть до уваги просторову структуру даних, розглядаючи вхідні пікселі, що є далеко один від одного, таким же чином, як і пікселі, що є близько один від одного. Таким чином, повна з'єднаність нейронів для таких цілей, як розпізнавання зображень, у яких переважають просторово локальні вхідні візерунки, є марнотратною.
Згорткові нейронні мережі є біологічно натхненими варіантами багатошарових перцептронів, розробленими для імітації поведінки зорової кори.[джерело?] Ці моделі пом'якшують виклики, поставлені архітектурою БШП, використовуючи сильну просторово локальну кореляцію, присутню в природних зображеннях. На противагу до БШП, ЗНМ мають наступні відмітні ознаки:
- Тривимірні ємності нейронів. Шари ЗНМ мають нейрони, впорядковані в 3 вимірах: ширина, висота та глибина. Нейрони всередині шару є з'єднаними лише з невеликою областю попереднього шару, що називається рецептивним полем. Для формування архітектури ЗНМ складають різні типи шарів, як локально-, так і повноз'єднані.
- Локальна з'єднаність: відповідно до концепції рецептивних полів, ЗНМ використовують просторову локальність шляхом застосування схеми локальної з'єднаності між нейронами сусідніх шарів. Ця архітектура таким чином забезпечує, що навчені «фільтри» виробляють найсильніший відгук до просторово локального вхідного образу. Складання багатьох таких шарів веде до нелінійних фільтрів, що стають все глобальнішими (тобто, чутливими до більшої області піксельного простору), так що мережа спочатку створює представлення дрібних деталей входу, а потім з них збирає представлення більших областей.
- Спільні ваги: В ЗНМ кожен фільтр повторюється на всьому зоровому полі. Ці повторні вузли використовують спільну параметризацію (вектор ваги та упередженості) та формують карту ознаки. Це означає, що всі нейрони в заданому згортковому шарі реагують на одну й ту ж саму ознаку в межах свого рецептивного поля. Повторювання вузлів таким чином дозволяє ознакам бути виявленими незалежно від їхнього положення в зоровому полі, забезпечуючи таким чином властивість інваріантності відносно зсуву.
Разом ці властивості дозволяють ЗНМ досягати кращого узагальнення на задачах бачення. Спільне використання ваг різко зменшує кількість вільних параметрів, яких вчиться мережа, знижуючи таким чином вимоги до пам'яті для роботи мережі та уможливлюючи тренування більших, потужніших мереж.
Архітектура ЗНМ формується стосом різних шарів, що перетворюють ємність входу на ємність виходу (що, наприклад, зберігає рівні відношення до класів) за допомогою диференційовної функції. Зазвичай застосовується декілька різних типів шарів. Ми обговорюємо їх нижче:
Згортковий шар (англ. convolutional layer) є основним будівельним блоком ЗНМ. Параметри шару складаються з набору фільтрів для навчання (або ядер), які мають невеличке рецептивне поле, але простягаються на всю глибину вхідної ємності. Протягом прямого проходу кожен фільтр здійснює згортку за шириною та висотою вхідної ємності, обчислюючи скалярний добуток даних фільтру та входу, і формуючи 2-вимірну карту збудження цього фільтру. В результаті мережа навчається, які фільтри активуються, коли вона виявляє певний конкретний тип ознаки у певному просторовому положенні у вході.
Складання карт збудження всіх фільтрів уздовж виміру глибини формує повну ємність виходу згорткового шару. Таким чином, кожен запис в ємності виходу може також трактуватися як вихід нейрону, що дивиться на невеличку область у вході, та має спільні параметри з нейронами тієї ж карти збудження.
При опрацюванні входів високої розмірності, таких як зображення, недоцільно з'єднувати нейрони з усіма нейронами попередньої ємності, оскільки така архітектура мережі не бере до уваги просторову структуру даних. Згорткові мережі використовують просторово локальну кореляцію шляхом забезпечення схеми локальної з'єднаності між нейронами сусідніх шарів: кожен нейрон з'єднано лише з невеликою областю вхідної ємності. Обшир цієї з'єднаності є гіперпараметром, що називається рецептивним полем нейрону. З'єднання є локальними в просторі (вздовж ширини та висоти), але завжди поширюються вздовж усієї глибини вхідної ємності. Така архітектура забезпечує, щоби навчені фільтри виробляли найсильніший відгук до просторово локальних вхідних образів.
Розмір ємності виходу згорткового шару контролюють три гіперпараметри: глибина, крок та нульове доповнення.
- Глибина ємності виходу контролює кількість нейронів шару, що з'єднуються з однією й тією ж областю вхідної ємності. Ці нейрони вчаться активуватися для різних ознак входу. Наприклад, якщо перший згортковий шар бере як вхід сире зображення, то різні нейрони вздовж виміру глибини можуть активуватися в присутності різних орієнтованих контурів, або плям кольору.
- Крок контролює те, як стовпчики глибини розподіляються за просторовими вимірами (шириною та висотою). Коли кроком є 1, ми рухаємо фільтри на один піксель за раз. Це веде до сильного перекриття рецептивних полів між стовпчиками, а також до великих ємностей виходу. Коли ми робимо крок 2 (або, рідше, 3 чи більше), то фільтри, просуваючись, перестрибують на 2 пікселі за раз. Рецептивні поля перекриваються менше, й отримувана в результаті ємність виходу має менші просторові розміри.[34]
- Іноді зручно доповнювати вхід нулями по краях вхідної ємності. Розмір цього доповнення є третім гіперпараметром. Доповнення забезпечує контроль над просторовим розміром ємності виходу. Зокрема, іноді бажано точно зберігати просторовий розмір вхідної ємності.
Просторовий розмір ємності виходу може обчислюватися як функція від розміру вхідної ємності , розміру ядрового поля нейронів згорткового шару , кроку, з яким вони застосовуються, , і величини нульового доповнення , що застосовується на краях. Формула для обчислення того, скільки нейронів «уміщається» до заданої ємності, задається як . Якщо це число не є цілим, то кроки встановлено неправильно, і нейрони не може бути розміщено вздовж вхідної ємності симетричним чином. Загалом, встановлення нульового доповнення в , коли кроком є , забезпечує, щоби ємності входу та виходу мали однаковий просторовий розмір. Хоча взагалі використання всіх нейронів попереднього шару не є абсолютно обов'язковим, наприклад, ви можете вирішити використовувати лише частину доповнення.
Схема спільного використання параметрів застосовується в згорткових шарах для регулювання кількості вільних параметрів. Вона спирається на одне розумне припущення: якщо клаптикова ознака є корисною для обчислення в певному просторовому положенні, то вона також повинна бути корисною для обчислення й в інших положеннях. Іншими словами, позначаючи 2-вимірний зріз за глибиною як зріз глибини, ми обмежуємо нейрони в кожному зрізі глибини використанням одних і тих же ваг та упередженості.
Оскільки всі нейрони в одному зрізі поділяють спільну параметризацію, то прямий прохід у кожному зрізі глибини згорткового (англ. CONV) шару може бути обчислено як згортку ваг нейронів із вхідною ємністю (звідси й назва: згортковий шар). Таким чином, є звичним називати набори ваг фільтром (або ядром), який згортається із входом. Результатом цієї згортки є карта збудження, і набір карт збудження для кожного з різних фільтрів складають докупи вздовж виміру глибини для отримання ємності виходу. Спільне використання параметрів сприяє інваріантності архітектури ЗНМ відносно зсуву.
Іноді спільне використання параметрів може й не мати сенсу. Особливо в тому разі, коди вхідні зображення до ЗНМ мають певну особливу центровану структуру, в якій ми очікуємо зовсім різних ознак для навчання в різних просторових положеннях. Одним із практичних прикладів є коли вхід є обличчями, що було відцентровано в зображенні: ми можемо очікувати, що вчитимемося різних особливих ознак очей та волосся в різних частинах зображення. В такому разі є звичним пом'якшувати схему спільного використання параметрів, і натомість просто називати шар локально з'єднаним.
Іншим важливим поняттям ЗНМ є агрегування (англ. pooling), яке є різновидом нелінійного зниження дискретизації. Існує декілька нелінійних функцій для реалізації агрегування, серед яких найпоширенішою є максимізаційне агрегування (англ. max pooling). Воно розділяє вхідне зображення на набір прямокутників без перекриттів, і для кожної такої підобласті виводить її максимум. Ідея полягає в тому, що точне положення ознаки не так важливе, як її грубе положення відносно інших ознак. Агрегувальний шар слугує поступовому скороченню просторового розміру представлення для зменшення кількості параметрів та об'єму обчислень у мережі, і відтак також для контролю перенавчання. В архітектурі ЗНМ є звичним періодично вставляти агрегувальний шар між послідовними згортковими шарами. Операція агрегування забезпечує ще один різновид інваріантності відносно паралельного перенесення.
Агрегувальний шар діє незалежно на кожен зріз глибини входу, і зменшує його просторовий розмір. Найпоширенішим видом є агрегувальний шар із фільтрами розміру 2×2, що застосовуються з кроком 2, який знижує дискретизацію кожного зрізу глибини входу в 2 рази як за шириною, так і за висотою, відкидаючи 75 % збуджень. В цьому випадку кожна операція взяття максимуму діє над 4 числами. Розмір за глибиною залишається незмінним.
На додачу до максимізаційного агрегування, агрегувальні вузли можуть використовувати й інші функції, такі як усереднювальне агрегування (англ. average pooling) та L2-нормове агрегування (англ. L2-norm pooling). Історично усереднювальне агрегування застосовувалася часто, але останнім часом впало в немилість у порівнянні з дією максимізаційного агрегування, робота якого на практиці виявилася кращою.[35]
Через агресивне скорочення розміру представлення, тенденція йде до менших фільтрів,[36] або відмови від агрегувального шару взагалі.[37]
Агрегування областей інтересу (англ. Region of Interest pooling, відоме також як англ. RoI pooling), — це варіація максимізаційного агрегування, в якій розмір виходу фіксовано, а прямокутник входу є параметром.[38]
Агрегування є важливою складовою згорткових нейронних мереж для виявляння об'єктів, що ґрунтуються на архітектурі швидких згорткових нейронних мереж на основі областей (англ. Fast R-CNN).[39]
ReLU є абревіатурою від англ. Rectified Linear Units. Цей шар застосовує ненасичувальну[en] передавальну функцію . Він посилює нелінійні властивості функції ухвалення рішення і мережі в цілому, не зачіпаючи рецептивних полів згорткового шару.
Для посилення нелінійності застосовуються й інші функції, наприклад, насичувальні гіперболічний тангенс , , та сигмоїдна функція . Зрізаному лінійному вузлові (англ. ReLU) часто віддають перевагу перед іншими функціями, оскільки він тренує нейронну мережу в декілька разів швидше[40] без значної розплати точністю узагальнення.
Насамкінець, після кількох згорткових та максимізаційно агрегувальних шарів, високорівневі міркування в нейронній мережі здійснюються повноз'єднаними шарами (англ. fully connected layers). Нейрони у повноз'єднаному шарі мають з'єднання з усіма збудженнями попереднього шару, як це можна бачити у звичайних нейронних мережах. Їхні збудження відтак може бути обчислювано матричним множенням, за яким слідує зсув упередженості.
Шар втрат визначає, як тренування штрафує відхилення між передбаченими та справжніми мітками, і є, як правило, завершальним шаром. Для різних завдань у ньому можуть використовувати різні функції втрат. Нормовані експоненційні втрати (англ. softmax) застосовуються для передбачення єдиного класу з K взаємно виключних класів. Сигмоїдні перехресно-ентропійні втрати застосовуються для передбачення K незалежних значень імовірності в проміжку . Евклідові втрати застосовуються для регресії до дійснозначних міток .
ЗНМ використовує більше гіперпараметрів, ніж стандартний БШП. У той час як звичайні правила для темпів навчання та сталих регуляризації все ще застосовуються, при оптимізації потрібно мати на увазі наступне.
Оскільки карта ознак з глибиною зменшується, шари поруч із вхідним шаром, як правило, матимуть менше фільтрів, тоді як вищі шари можуть мати більше. Для вирівнювання обчислень на кожному шарі, добуток ознак × піксельні позиції підтримують грубо сталим по всіх шарах. Збереження більшої кількості інформації про вхід вимагатиме забезпечення, щоби загальне число збуджень (кількість відображень ознак на кількість піксельних положень) не зменшувалося від одного шару до наступного.
Кількість карт ознак напряму контролює ємність, і залежить від кількості доступних прикладів та складності завдання.
Поширені в літературі форми поля фільтрів сильно різняться, і зазвичай вибираються в залежності від набору даних.
Таким чином, складність полягає в знаходженні правильного рівня зернистості, щоби створювати абстракції у правильному масштабі для певного набору даних.
Типовими значеннями є 2×2. Дуже великі вхідні об'єми можуть виправдовувати на нижчих шарах агрегування 4×4. Проте вибір більших форм різко знижуватиме розмірність сигналу, і може призводити до надмірної втрати інформації. Часто найкраще працюють вікна агрегування без перекривання.[35]
Регуляризація — це процес введення додаткової інформації для розв'язання некоректно поставленої задачі або запобігання перенавчанню. ШНМ використовують різні типи регуляризації.
Оскільки повноз'єднаний шар займає найбільше параметрів, він є схильним до перенавчання. Одним з методів зниження перенавчання є виключення (англ. dropout).[41][42] На кожному етапі тренування окремі вузли або «виключаються» з мережі з імовірністю , або залишаються з імовірністю , так що залишається зменшена мережа; вхідні та вихідні ребра виключених вузлів також усуваються. На наступному етапі на даних тренується вже лише зменшена мережа. Після цього усунені вузли повторно вставляються до мережі з їхніми первинними вагами.
На етапах тренування ймовірністю того, що прихований вузол буде виключено, зазвичай є 0.5; для вхідних вузлів вона повинна бути набагато нижчою, інтуїтивно тому, що при ігноруванні вхідних вузлів відбувається безпосередня втрата інформації.
Під час перевірки після завершення тренування ми в ідеалі хотіли би знайти вибіркове середнє всіх можливих мереж із виключеннями; на жаль, для великих значень це є нездійсненним. Тим не менше, ми можемо знайти наближення, використовуючи повну мережу, в якій вихід кожного вузла зважено на коефіцієнт , так що математичне очікування значення виходу будь-якого вузла буде таким самим, як і на етапах тренування. Це є найбільшим внеском методу виключення: хоча він ефективно породжує нейронних мереж, і таким чином уможливлює поєднання моделей, під час перевірки перевіряти необхідно лише одну мережу.
Уникаючи тренування всіх вузлів на всіх тренувальних даних, виключення знижує перенавчання. Цей метод також значно покращує швидкість тренування. Це робить поєднання моделей практичним, навіть для глибоких нейронних мереж. Схоже, що ця методика послаблює взаємодії між вузлами, ведучи їх до навчання надійніших ознак, що краще узагальнюються на нові дані.
Виключення з'єднань (англ. DropConnect)[43] є узагальненням виключення (англ. dropout), в якому кожне з'єднання, а не кожен вузол виходу, може бути виключено з імовірністю . Таким чином, кожен вузол отримує вхід з випадкової підмножини вузлів попереднього шару.
Виключення з'єднань є подібним до виключення тим, що воно вводить до моделі динамічну розрідженість, але відрізняється тим, що ймовірність є на вагах, а не на векторах виходу шару. Іншими словами, повноз'єднаний шар з винятком з'єднань стає розріджено з'єднаним шаром, у якому з'єднання обираються випадково під час етапу тренування.
Головним недоліком виключення є те, що воно не має таких самих переваг для згорткових шарів, де нейрони не є повноз'єднаними.
В стохастичному агрегуванні (англ. stochastic pooling)[44] звичайні детерміновані дії агрегування замінюються стохастичною процедурою, в якій збудження в межах кожної області агрегування вибирається випадково, відповідно до поліноміального розподілу, заданого збудженнями в межах області агрегування. Цей підхід є вільним від гіперпараметрів, і може поєднуватися з іншими підходами до регуляризації, такими як виключення, та нарощування даних.
Альтернативним поглядом на стохастичне агрегування є те, що воно є рівнозначним стандартному максимізаційному агрегуванню, але з багатьма копіями вхідного зображення, кожна з яких має невеликі локальні деформації. Це є подібним до явних еластичних деформацій вхідних зображень,[45] які забезпечують відмінну продуктивність у MNIST. Застосування стохастичного агрегування в багатошаровій моделі дає експоненційне число деформацій, оскільки вибори у вищих шарах залежать від виборів у нижчих.
Оскільки ступінь перенавчання моделі визначається як її потужністю, так і кількістю отримуваного нею тренування, забезпечення згорткової мережі більшою кількістю тренувальних прикладів може знижувати перенавчання. Оскільки ці мережі зазвичай тренують усіма наявними даними, одним із підходів є або породжувати нові дані з нуля (якщо це можливо), або збурювати наявні дані для створення нових. Наприклад, вхідні зображення може бути асиметрично обрізувано на декілька відсотків для створення нових прикладів з таким же маркером, як і первинний.[46]
Одним із найпростіших методів запобігання перенавчанню мережі є просто зупиняти тренування, перш ніж перенавчання отримає шанс відбутися. Такий підхід має той недолік, що процес навчання обривається.
Іншим простим шляхом запобігання перенавчанню є обмежити кількість параметрів, зазвичай обмежуючи кількість прихованих вузлів у кожному шарі, або обмежуючи глибину мережі. Для згорткових мереж на кількість параметрів впливає й розмір фільтру. Обмежування кількості параметрів безпосередньо обмежує передбачувальну потужність мережі, знижуючи складність функції, яку вона може виконувати на даних, і відтак обмежує розмір перенавчання. Це є рівнозначним «нульовій нормі»[en].
Простим видом доданого регуляризатора є ослаблення ваг (англ. weight decay), яке просто додає до похибки кожного вузла додаткову похибку, пропорційну сумі ваг (норма L1) або квадратові величини (норма L2) вектора ваг. Рівень прийнятної складності моделі може бути знижено збільшенням сталої пропорційності, що тим самим збільшує штраф за великі вектори ваг.
L2-регуляризація (англ. L2 regularization) є найпоширенішим видом регуляризації. Її може бути реалізовано штрафуванням квадратного ступеня всіх параметрів безпосередньо в цілі. L2-регуляризація має інтуїтивну інтерпретацію в сильному штрафуванні пікових вагових векторів, та віддаванні переваги розсіяним ваговим векторам. У зв'язку з багатократними взаємодіями між вагами та входами, це має корисну властивість заохочення мережі використовувати всі її входи потроху, замість сильного використання лише деяких із них.
L1-регуляризація (англ. L1 regularization) є іншим поширеним видом. Можливо поєднувати L1 та L2-регуляризації (це називається еластично-сітковою регуляризацією[en], англ. elastic net regularization). L1-регуляризація веде вагові вектори до набуття розрідженості протягом оптимізації. Іншими словами, нейрони з L1-регуляризацією закінчують використанням лише розрідженої підмножини їхніх найважливіших входів, і стають майже інваріантними відносно зашумлених входів.
Іншим видом регуляризації є нав'язування абсолютної верхньої межі величині вагового вектора для кожного нейрону, і застосування методу проекційного найшвидшого спуску[en] для забезпечення цього обмеження. На практиці це відповідає виконанню уточнення параметрів як завжди, а потім забезпеченню обмеження затисненням вагового вектора кожного нейрона, щоби він задовольняв . Типові значення є порядку 3 або 4. Деякі праці повідомляють про поліпшення[47] при застосуванні цього виду регуляризації.
Агрегування призводить до втрат точних просторових взаємовідношень між високорівневими частинами (такими як ніс та рот у зображенні обличчя). А ці взаємовідношення потрібні для розпізнавання особи. Зберігати цю інформацію допомагає перекривання агрегувань, таке, що кожна ознака трапляється в декількох агрегуваннях. Саме лише паралельне перенесення не може екстраполювати розуміння геометричних взаємовідношень на докорінно нову точку огляду, таку як інша орієнтація, або інший масштаб. З іншого боку, люди є дуже вправними в екстраполяції; побачивши нову фігуру один раз, вони можуть розпізнати її з іншої точки огляду.[48]
Наразі поширеним способом подолання цієї проблеми є тренування мережі на перетворених даних в різних орієнтаціях, масштабах, освітленні тощо, щоби мережа могла впоруватися з цими варіаціями. Для великих наборів це є обчислювально напруженим. Альтернативою є застосування ієрархії координатних сіток (англ. coordinate frames) та використання групи нейронів для представлення зв'язку форми фігури та її положення відносно сітківки. Положення відносно сітківки є взаємовідношенням між координатною сіткою сітківки та власною координатною сіткою ознаки.[49]
Таким чином, одним зі способів представлення чогось є вбудовування координатної сітки у це. Щойно це зроблено, великі ознаки можуть розпізнаватися застосуванням узгодженості положень їхніх частин (наприклад, положення носа та рота роблять узгоджене передбачення положення всього обличчя). Застосування цього гарантує присутність сутності вищого рівня (наприклад, обличчя), якщо нижчий рівень (наприклад, ніс та рот) має узгодженість передбачення її положення. Вектори нейронної активності, що представляють положення («вектори положення», англ. «pose vectors»), уможливлюють моделювання просторових перетворень через лінійні операції, що спрощує мережі навчання ієрархії візуальних сутностей та узагальнення за точками огляду. Це є подібним до того, як людський зоровий аналізатор накладає координатні сітки для представлення фігур.[50]
ЗНМ часто застосовують у системах розпізнавання зображень. 2012 року було повідомлено про 0.23-відсотковий рівень похибки[en] на базі даних MNIST.[11] Ще одна праця про застосування ЗНМ для класифікації зображень повідомила, що процес навчання був «на диво швидким»; у тій самій праці було досягнуто найкращих із опублікованих на 2011 рік результатів на базах даних MNIST та NORB.[9]
ЗНМ досягли великого зниження рівня похибки при застосуванні до розпізнавання облич.[51] Інша праця повідомила про 97.6-відсотковий рівень розпізнавання на «5 600 нерухомих зображеннях понад 10 суб'єктів».[4] ЗНМ використовували для оцінки якості відео об'єктивним чином, після тренування вручну; отримана в результаті система мала дуже низьку кореневу середньоквадратичну похибку[en].[52]
Широкомасштабне випробування з візуального розпізнавання ImageNet[en] (англ. ImageNet Large Scale Visual Recognition Challenge) є еталоном у класифікації та виявленні об'єктів, з мільйонами зображень та сотнями класів об'єктів. В ILSVRC 2014,[53] великомасштабнім змаганні з візуального розпізнавання, майже кожна команда, яка досягла високого рівня, використовувала ЗНМ як свою основну схему. Переможець, GoogLeNet[54] (основа DeepDream), збільшив очікувану середню влучність виявлення об'єктів до 0.439329, і знизив похибку класифікації до 0.06656, найкращого результату на той момент. Його мережа застосовувала понад 30 шарів. Ця продуктивність згорткових нейронних мереж у завданнях ImageNet була близькою до людської.[55] Найкращі алгоритми все ще б'ються з об'єктами, що є маленькими або тонкими, такими як маленький мураха на стеблі квітки, або особа, що тримає перо в руці. Вони також мають проблеми із зображеннями, що було спотворено фільтрами, все поширенішим явищем із сучасними цифровими камерами. На противагу, такі типи зображень рідко викликають утруднення в людей. Люди, проте, схильні мати проблеми з іншими питаннями. Наприклад, вони не дуже вправні в класифікуванні об'єктів на тонкі категорії, такі як окремі породи собак або види птахів, у той час як для згорткових нейронних мереж це легка задача.
2015 року багатошарова ЗНМ продемонструвала здатність з конкурентоспроможною продуктивністю помічати обличчя з великого діапазону кутів, включно із перевернутими, навіть частково закритими. Ця мережа тренувалася на базі даних із 200 000 зображень, що включали обличчя під різними кутами та в різних орієнтаціях, і ще 20 мільйонів зображень без облич. Вони використовували пакети зі 128 зображень у 50 000 ітерацій.[56]
У порівнянні з галузями даних зображень, роботи із застосування ЗНМ до класифікації відео є відносно мало. Відео є складнішим за зображення, оскільки воно має ще один (часовий) вимір. Тим не менше, деякі розширення ЗНМ в область відео було досліджено. Одним із підходів є трактувати простір та час як рівноцінні виміри входу, та виконувати згортку як за часом, так і за простором.[57][58] Іншим підходом є злиття ознак двох згорткових нейронних мереж, однієї для просторового та однієї для часового потоків.[59][60] Було представлено схеми спонтанного навчання для тренування просторово-часових ознак на основі згорткових вентильних обмежених машин Больцмана (англ. Convolutional Gated Restricted Boltzmann Machine)[61] та методу незалежних підпросторів (англ. Independent Subspace Analysis).[62]
ЗНМ також розвідували й обробку природної мови. Моделі ЗНМ є ефективними для різних задач ОПМ, і вони досягали відмінних результатів у семантичному розборі,[63] отриманні результатів пошукових запитів,[64] моделюванні речень,[65] класифікації,[66] передбаченні[67] та інших традиційних задачах ОПМ.[68]
ЗНМ застосовувалися в пошуку нових ліків[en]. Передбачення взаємодії між молекулами та біологічними білками може ідентифікувати потенційні ліки. 2015 року Atomwise представила AtomNet, першу нейронну мережу глибокого навчання для раціонального конструювання ліків на основі структури.[69] Ця система тренується безпосередньо на 3-вимірних представленнях хімічних взаємодій. Подібно до того, як мережа розпізнавання зображень навчається складати менші, просторово близькі ознаки у більші, складні структури,[70] AtomNet відкриває нові хімічні ознаки, такі як ароматичність, sp3-вуглеці та водневе зв'язування. Згодом AtomNet було використано для передбачення новітніх кандидатур біомолекул для цілей численних хвороб, передусім для лікування вірусу Ебола[71] та розсіяного склерозу.[72]
ЗНМ використовували у грі в шашки. У 1999—2001 роках Фогель[en] та Челлапілла опублікували праці, що показали, як згорткова нейронна мережа може навчитися грати в шашки, застосовуючи ковеволюцію. Процес навчання не використовував попередніх професійних ігор людей, а натомість зосереджувався на мінімальному наборі інформації, що містився на шахівниці: положенні та типові фігур, та різниці в оцінці партій. Врешті-решт, цю програму (Blondie24[en]) було перевірено на 165 іграх проти гравців, і вона увійшла до найвищих 0,4 %.[73][74] Вона також здобула перемогу над програмою Chinook на її рівні гри «експерт».[75]
ЗНМ застосовувалися в комп'ютернім ґо. У грудні 2014 року Кларк та Сторкі опублікували працю, яка показала, що ЗНМ, тренована керованим навчанням з бази даних людських професійних ігор, може перевершувати GNU Go}} та вигравати деякі ігри проти Fuego 1.1 деревного пошуку Монте-Карло за лише частку часу, потрібного Fuego для гри.[76] Згодом було оголошено, що велика 12-шарова згорткова нейронна мережа правильно передбачила професійний хід у 55 % положень, зрівнявши точність із 6-м даном[en] людських гравців. Коли тренована згорткова мережа застосовувалася безпосередньо для гри у ґо, без жодного пошуку, вона поборола традиційну пошукову програму GNU Go в 97 % ігор, і досягла рівня продуктивності програми деревного пошуку Монте-Карло Fuego, яка імітує десять тисяч розіграшів (близько мільйона позицій) за хід.[77]
AlphaGo, перша програма, яка побила найкращого на той момент гравця-людину, застосовувала пару ЗНМ для вибору ходів для проби («мережа стратегії», англ. policy network), та для оцінки позицій («мережа значення», англ. value network), що працювала на ДПМК.[78]
Для багатьох застосувань тренувальних даних доступно мало. А згорткові нейронні мережі зазвичай вимагають великої кількості тренувальних даних, щоби запобігати перенавчанню. Поширеною методикою є тренувати мережу на ширшому наборі даних з пов'язаної області визначення. Щойно параметри мережі зійшлися, виконується додатковий етап тренування із застосуванням даних з області визначення для тонкого налаштування ваг мережі. Це дозволяє згортковим мережам успішно застосовуватися до задач з невеликими тренувальними наборами.[79]
Глибока Q-мережа (англ. deep Q-network, DQN) — це такий тип глибокої моделі навчання, який поєднує ЗНМ із Q-навчанням, різновидом навчання з підкріпленням. На відміну від попередніх агентів навчання з підкріпленням, DQN може навчатися безпосередньо з сенсо́рних входів високої розмірності.
Попередні результати було представлено 2014 року, а супровідний документ — у лютому 2015 року.[80] Це дослідження описувало застосування до гри в ігри Atari 2600. Йому передували інші моделі глибокого навчання з підкріпленням.[81]
Згорткові глибокі мережі переконань (ЗГМП, англ. convolutional deep belief networks, CDBN) мають структуру, дуже подібну до згорткових нейронних мереж, і тренуються подібно до глибоких мереж переконань. Таким чином, вони використовують двовимірну структуру зображень, як це роблять ЗНМ, і користаються попереднім тренуванням як глибокі мережі переконань. Вони забезпечують загальну структуру, яку можливо використовувати в багатьох задачах обробки зображень та сигналу. Із застосуванням ЗГМП було отримано зразкові результати[82] на стандартних базах даних зображень, таких як CIFAR.[83]
Нейронна мережа з часовою затримкою дозволяє сигналам мовлення бути оброблюваними інваріантно відносно часу, аналогічно до інваріантності відносно паралельного перенесення, що пропонують ЗНМ.[84] Їх було представлено на початку 1980-х років. Замощування виходів нейронів може покривати часові періоди.[52]
- Caffe: Популярна бібліотека для згорткових нейронних мереж. Створена Центром бачення і навчання Берклі (англ. Berkeley Vision and Learning Center, BVLC). Вона підтримує як ЦП, так і ГП. Розроблена мовою C++, і має обгортки для Python та MATLAB.
- Deeplearning4j: Глибоке навчання мовами Java та Scala на Spark, який має багато-ГП-шну підтримку. Бібліотека глибокого навчання [Архівовано 30 березня 2016 у Wayback Machine.] загального призначення для стеку розробки JVM, що працює на рушії наукових обчислень мовою C++ [Архівовано 11 червня 2018 у Wayback Machine.]. Дозволяє створювати власні шари. Поєднується з Hadoop та Kafka.
- deeplearning-hs [Архівовано 8 грудня 2015 у Wayback Machine.]: Глибоке навчання для Haskell, підтримує обчислення з CUDA.
- MatConvNet [Архівовано 3 лютого 2016 у Wayback Machine.]: Зручне втілення для MATLAB.
- MXNet [Архівовано 18 серпня 2017 у Wayback Machine.]: Відкрита система глибокого навчання, що є масштабованою, включно з підтримкою декількох ГП та ЦП для розподілу. Вона підтримує інтерфейси декількома мовами (C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl, Wolfram).
- neon [Архівовано 1 лютого 2016 у Wayback Machine.]: Найшвидша [Архівовано 25 січня 2016 у Wayback Machine.] система для згорткових нейронних мереж та глибокого навчання з підтримкою підсистем ЦП та ГП. Передній край є мовою Python, тоді як швидкі ядра пишуться особливим шейдерним асемблером. Створена компанією Nervana Systems, яку було придбано компанією Intel.
- TensorFlow [Архівовано 26 січня 2016 у Wayback Machine.]: Ліцензована за Apache 2.0 Theano-подібна бібліотека з підтримкою ЦП, ГП, власницького ТП Google,[85] мобільних
- Theano: Еталонна бібліотека глибокого навчання для Python з ППІ, значною мірою сумісним з популярною бібліотекою NumPy. Дозволяє користувачам писати символічні математичні вирази, потім автоматично породжує їхні похідні, вберігаючи користувача від обов'язку кодувати градієнти або зворотне поширення. Ці символічні вирази автоматично компілюються в CUDA для отримання швидкої реалізації на ГП.
- Torch (www.torch.ch [Архівовано 9 липня 2016 у Wayback Machine.]): Система наукових обчислень з широкою підтримкою алгоритмів машинного навчання, написана мовами C та Lua. Основним автором є Ронан Коллобер (англ. Ronan Collobert), і її зараз застосовують у Facebook AI Research та Twitter.
- Microsoft Cognitive Toolkit: Інструментарій глибокого навчання, написаний Microsoft, із деякими унікальними властивостями, що підвищують масштабованість над декількома вузлами. Він підтримує повноцінні інтерфейси для тренування в C++ та Python, і з додатковою підтримкою для виведення моделей у C# та Java.
- Keras: Високорівневий ППІ, написаний мовою Python для згорткових нейронних мереж TensorFlow та Theano.[86]
Згорткові нейронні мережі згадуються в романі 2017 року «Infinity Born».[87]
- Глибоке навчання
- Згортка (математичний аналіз)
- Зоровий процесор
- Нейронаука
- Нейронна мережа з часовою затримкою
- Неокогнітрон
- Масштабоінваріантне ознакове перетворення
- Увага (машинне навчання)
- ↑ а б LeCun, Yann. LeNet-5, convolutional neural networks. Архів оригіналу за 24 лютого 2021. Процитовано 16 листопада 2013. (англ.)
- ↑ а б Zhang, Wei (1988). Shift-invariant pattern recognition neural network and its optical architecture. Proceedings of annual conference of the Japan Society of Applied Physics. Архів оригіналу за 6 лютого 2017. (англ.)
- ↑ а б 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. doi:10.1364/AO.29.004790. PMID 20577468. Архів оригіналу за 6 лютого 2017. (англ.)
- ↑ а б Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). Subject independent facial expression recognition with robust face detection using a convolutional neural network (PDF). Neural Networks. 16 (5): 555—559. doi:10.1016/S0893-6080(03)00115-1. Архів оригіналу (PDF) за 13 грудня 2013. Процитовано 17 листопада 2013. (англ.)
- ↑ van den Oord, Aaron; Dieleman, Sander; Schrauwen, Benjamin (1 січня 2013). Burges, C. J. C.; Bottou, L.; Welling, M.; Ghahramani, Z.; Weinberger, K. Q. (ред.). Deep content-based music recommendation (PDF). Curran Associates, Inc. с. 2643—2651. Архів оригіналу (PDF) за 16 травня 2017. Процитовано 19 січня 2016. (англ.)
- ↑ Collobert, Ronan; Weston, Jason (1 січня 2008). 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. doi:10.1145/1390156.1390177. ISBN 978-1-60558-205-4. (англ.)
- ↑ Convolutional Neural Networks (LeNet) – DeepLearning 0.1 documentation. DeepLearning 0.1. LISA Lab. Архів оригіналу за 28 грудня 2017. Процитовано 31 серпня 2013. (англ.)
- ↑ 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. (англ.)
- ↑ а б в Ciresan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). Flexible, High Performance Convolutional Neural Networks for Image Classification (PDF). Proceedings of the Twenty-Second international joint conference on Artificial Intelligence-Volume Volume Two. 2: 1237—1242. Архів оригіналу (PDF) за 16 листопада 2013. Процитовано 17 листопада 2013. (англ.)
- ↑ Krizhevsky, Alex. ImageNet Classification with Deep Convolutional Neural Networks (PDF). Архів оригіналу (PDF) за 12 травня 2013. Процитовано 17 листопада 2013. (англ.)
- ↑ а б в г Ciresan, Dan; Meier, Ueli; Schmidhuber, Jürgen (June 2012). Multi-column deep neural networks for image classification (PDF). 2012 IEEE Conference on Computer Vision and Pattern Recognition[en]. New York, NY: Institute of Electrical and Electronics Engineers (IEEE): 3642—3649. arXiv:1202.2745v1. doi:10.1109/CVPR.2012.6248110. ISBN 978-1-4673-1226-4. OCLC 812295155. Архів оригіналу (PDF) за 7 березня 2016. Процитовано 9 грудня 2013. (англ.)
- ↑ Hubel, D. H.; Wiesel, T. N. (1 березня 1968). Receptive fields and functional architecture of monkey striate cortex. The Journal of Physiology. 195 (1): 215—243. doi:10.1113/jphysiol.1968.sp008455. ISSN 0022-3751. PMC 1557912. PMID 4966457. (англ.)
- ↑ LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). Deep learning. Nature. 521 (7553): 436—444. Bibcode:2015Natur.521..436L. doi:10.1038/nature14539. PMID 26017442. (англ.)
- ↑ Fukushima, Kunihiko (1980). Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position (PDF). Biological Cybernetics. 36 (4): 193—202. doi:10.1007/BF00344251. PMID 7370364. Архів оригіналу (PDF) за 3 червня 2014. Процитовано 16 листопада 2013. (англ.)
- ↑ 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. (англ.)
- ↑ Homma, Toshiteru; Les Atlas; Robert Marks II (1988). An Artificial Neural Network for Spatio-Temporal Bipolar Patters: Application to Phoneme Classification (PDF). Advances in Neural Information Processing Systems. 1: 31—40. Архів оригіналу (PDF) за 28 березня 2016. Процитовано 19 січня 2016. (англ.)
- ↑ а б LeCun, Yann; Léon Bottou; Yoshua Bengio; Patrick Haffner (1998). Gradient-based learning applied to document recognition (PDF). Proceedings of the IEEE. 86 (11): 2278—2324. doi:10.1109/5.726791. Архів оригіналу (PDF) за 3 липня 2021. Процитовано 7 жовтня 2016. (англ.)
- ↑ S. Behnke. Hierarchical Neural Networks for Image Interpretation, volume 2766 of Lecture Notes in Computer Science. Springer, 2003. (англ.)
- ↑ 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. (англ.)
- ↑ Слюсар, В.И. (2021). Тензорно-матричная версия LeNet5 (PDF). IV Міжнародна науково-практична конференція «Інтеграція інформаційних систем і інтелектуальних технологій в умовах трансформації інформаційного суспільства», що присвячена 50-ій річниці кафедри інформаційних систем та технологій, 21-22 жовтня 2021 р., Полтава: Полтавський державний аграрний університет.: 114—119. doi:10.32782/978-966-289-562-9. Архів оригіналу (PDF) за 2 листопада 2021. Процитовано 30 жовтня 2021.
- ↑ 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. Архів оригіналу за 6 лютого 2017. (англ.)
- ↑ Zhang, Wei (1991). Image processing of human corneal endothelium based on a learning network. Applied Optics. 30 (29): 4211—7. Bibcode:1991ApOpt..30.4211Z. doi:10.1364/AO.30.004211. PMID 20706526. Архів оригіналу за 6 лютого 2017. (англ.)
- ↑ 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. doi:10.1118/1.597177. PMID 8058017. Архів оригіналу за 6 лютого 2017. (англ.)
- ↑ 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. (англ.)
- ↑ 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. (англ.)
- ↑ 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. (англ.)
- ↑ Behnke, Sven (2003). Hierarchical Neural Networks for Image Interpretation (PDF). Lecture Notes in Computer Science. Т. 2766. Springer. doi:10.1007/b11963. ISBN 978-3-540-40722-5. Архів оригіналу (PDF) за 10 серпня 2017. Процитовано 21 січня 2018. (англ.)
- ↑ 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. Архів оригіналу за 15 березня 2016. Процитовано 9 липня 2016. (англ.)
- ↑ 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. Архів оригіналу за 18 травня 2020. Процитовано 9 липня 2016. (англ.)
- ↑ Hinton, GE; Osindero, S; Teh, YW (Jul 2006). A fast learning algorithm for deep belief nets. Neural computation. 18 (7): 1527—54. doi:10.1162/neco.2006.18.7.1527. PMID 16764513. (англ.)
- ↑ Bengio, Yoshua; Lamblin, Pascal; Popovici, Dan; Larochelle, Hugo (2007). Greedy Layer-Wise Training of Deep Networks. Advances in Neural Information Processing Systems: 153—160. (англ.)
- ↑ Ranzato, MarcAurelio; Poultney, Christopher; Chopra, Sumit; LeCun, Yann (2007). Efficient Learning of Sparse Representations with an Energy-Based Model (PDF). Advances in Neural Information Processing Systems. Архів оригіналу (PDF) за 22 березня 2016. Процитовано 19 січня 2016. (англ.)
- ↑ 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. (англ.)
- ↑ CS231n Convolutional Neural Networks for Visual Recognition. cs231n.github.io. Архів оригіналу за 23 жовтня 2019. Процитовано 25 квітня 2017. (англ.)
- ↑ а б Scherer, Dominik; Müller, Andreas C.; Behnke, Sven (2010). Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition (PDF). Artificial Neural Networks (ICANN), 20th International Conference on. Thessaloniki, Greece: Springer. с. 92—101. Архів оригіналу (PDF) за 3 квітня 2018. Процитовано 21 січня 2018. (англ.)
- ↑ Graham, Benjamin (18 грудня 2014). Fractional Max-Pooling. arXiv:1412.6071 [cs.CV]. (англ.)
- ↑ Springenberg, Jost Tobias; Dosovitskiy, Alexey; Brox, Thomas; Riedmiller, Martin (21 грудня 2014). Striving for Simplicity: The All Convolutional Net. arXiv:1412.6806 [cs.LG]. (англ.)
- ↑ Grel, Tomasz (28 лютого 2017). Region of interest pooling explained. deepsense.io (англ.). Архів оригіналу за 2 червня 2017. (англ.)
- ↑ Girshick, Ross (27 вересня 2017). Fast R-CNN. arXiv:1504.08083 [cs.CV]. (англ.)
- ↑ Krizhevsky, A.; Sutskever, I.; Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems. 1: 1097—1105. Архів оригіналу за 16 лютого 2015. Процитовано 19 січня 2016. (англ.)
- ↑ Srivastava, Nitish; C. Geoffrey Hinton; Alex Krizhevsky; Ilya Sutskever; Ruslan Salakhutdinov (2014). Dropout: A Simple Way to Prevent Neural Networks from overfitting (PDF). Journal of Machine Learning Research. 15 (1): 1929—1958. Архів оригіналу (PDF) за 19 січня 2016. Процитовано 19 січня 2016. (англ.)
- ↑ Carlos E. Perez. A Pattern Language for Deep Learning. Архів оригіналу за 3 червня 2017. Процитовано 24 березня 2022. (англ.)
- ↑ Regularization of Neural Networks using DropConnect | ICML 2013 | JMLR W&CP. jmlr.org. Архів оригіналу за 4 березня 2016. Процитовано 17 грудня 2015. (англ.)
- ↑ Zeiler, Matthew D.; Fergus, Rob (15 січня 2013). Stochastic Pooling for Regularization of Deep Convolutional Neural Networks. arXiv:1301.3557 [cs.LG]. (англ.)
- ↑ Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis – Microsoft Research. research.microsoft.com. Архів оригіналу за 22 грудня 2015. Процитовано 17 грудня 2015. (англ.)
- ↑ 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]. (англ.)
- ↑ Dropout: A Simple Way to Prevent Neural Networks from Overfitting. jmlr.org. Архів оригіналу за 5 грудня 2019. Процитовано 17 грудня 2015. (англ.)
- ↑ 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. (англ.)
- ↑ Rock, Irvin. «The frame of reference.» The legacy of Solomon Asch: Essays in cognition and social psychology (1990): 243—268. (англ.)
- ↑ J. Hinton, Coursera lectures on Neural Networks, 2012, Url: https://www.coursera.org/learn/neural-networks [Архівовано 31 грудня 2016 у Wayback Machine.] (англ.)
- ↑ 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. CiteSeerX 10.1.1.92.5813. doi:10.1109/72.554195. (англ.)
- ↑ а б Le Callet, Patrick; Christian Viard-Gaudin; Dominique Barba (2006). A Convolutional Neural Network Approach for Objective Video Quality Assessment (PDF). IEEE Transactions on Neural Networks. 17 (5): 1316—1327. doi:10.1109/TNN.2006.879766. PMID 17001990. Архів оригіналу (PDF) за 23 лютого 2014. Процитовано 17 листопада 2013. (англ.)
- ↑ ImageNet Large Scale Visual Recognition Competition 2014 (ILSVRC2014). Архів оригіналу за 5 лютого 2016. Процитовано 30 січня 2016. (англ.)
- ↑ Szegedy, Christian; Liu, Wei; Jia, Yangqing; Sermanet, Pierre; Reed, Scott; Anguelov, Dragomir; Erhan, Dumitru; Vanhoucke, Vincent; Rabinovich, Andrew (2014). Going Deeper with Convolutions. Computing Research Repository. arXiv:1409.4842. (англ.)
- ↑ Russakovsky, Olga; Deng, Jia; Su, Hao; Krause, Jonathan; Satheesh, Sanjeev; Ma, Sean; Huang, Zhiheng; Karpathy, Andrej; Khosla, Aditya; Bernstein, Michael; Berg, Alexander C.; Fei-Fei, Li (2014). Image Net Large Scale Visual Recognition Challenge. arXiv:1409.0575 [cs.CV]. (англ.)
- ↑ The Face Detection Algorithm Set To Revolutionize Image Search. Technology Review. 16 лютого 2015. Архів оригіналу за 27 листопада 2015. Процитовано 27 жовтня 2017. (англ.)
- ↑ Baccouche, Moez; Mamalet, Franck; Wolf, Christian; Garcia, Christophe; Baskurt, Atilla (16 листопада 2011). 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. doi:10.1007/978-3-642-25446-8_4. ISBN 978-3-642-25445-1. Архів оригіналу за 21 січня 2018. Процитовано 21 січня 2018. (англ.)
- ↑ Ji, Shuiwang; Xu, Wei; Yang, Ming; Yu, Kai (1 січня 2013). 3D Convolutional Neural Networks for Human Action Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (1): 221—231. doi:10.1109/TPAMI.2012.59. ISSN 0162-8828. PMID 22392705. (англ.)
- ↑ Karpathy, Andrej, et al. «Large-scale video classification with convolutional neural networks.» IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2014. (англ.)
- ↑ Simonyan, Karen; Zisserman, Andrew (2014). Two-Stream Convolutional Networks for Action Recognition in Videos. arXiv:1406.2199 [cs.CV]. (англ.)
- ↑ Taylor, Graham W.; Fergus, Rob; LeCun, Yann; Bregler, Christoph (1 січня 2010). Convolutional Learning of Spatio-temporal Features (PDF). Proceedings of the 11th European Conference on Computer Vision: Part VI. ECCV'10. Berlin, Heidelberg: Springer-Verlag: 140—153. ISBN 3-642-15566-9. Архів оригіналу (PDF) за 5 лютого 2016. Процитовано 19 січня 2016. (англ.)
- ↑ Le, Q. V.; Zou, W. Y.; Yeung, S. Y.; Ng, A. Y. (1 січня 2011). Learning Hierarchical Invariant Spatio-temporal Features for Action Recognition with Independent Subspace Analysis (PDF). Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. CVPR '11. Washington, DC, USA: IEEE Computer Society: 3361—3368. doi:10.1109/CVPR.2011.5995496. ISBN 978-1-4577-0394-2. Архів оригіналу (PDF) за 23 грудня 2015. Процитовано 19 січня 2016. (англ.)
- ↑ Grefenstette, Edward; Blunsom, Phil; de Freitas, Nando; Hermann, Karl Moritz (29 квітня 2014). A Deep Architecture for Semantic Parsing. arXiv:1404.7296 [cs.CL]. (англ.)
- ↑ Learning Semantic Representations Using Convolutional Neural Networks for Web Search – Microsoft Research. research.microsoft.com. Архів оригіналу за 18 червня 2016. Процитовано 17 грудня 2015. (англ.)
- ↑ Kalchbrenner, Nal; Grefenstette, Edward; Blunsom, Phil (8 квітня 2014). A Convolutional Neural Network for Modelling Sentences. arXiv:1404.2188 [cs.CL]. (англ.)
- ↑ Kim, Yoon (25 серпня 2014). Convolutional Neural Networks for Sentence Classification. arXiv:1408.5882 [cs.CL]. (англ.)
- ↑ 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. (англ.)
- ↑ Collobert, Ronan; Weston, Jason; Bottou, Leon; Karlen, Michael; Kavukcuoglu, Koray; Kuksa, Pavel (2 березня 2011). Natural Language Processing (almost) from Scratch. arXiv:1103.0398 [cs.LG]. (англ.)
- ↑ Wallach, Izhar; Dzamba, Michael; Heifets, Abraham (9 жовтня 2015). AtomNet: A Deep Convolutional Neural Network for Bioactivity Prediction in Structure-based Drug Discovery. arXiv:1510.02855 [cs.LG]. (англ.)
- ↑ Yosinski, Jason; Clune, Jeff; Nguyen, Anh; Fuchs, Thomas; Lipson, Hod (22 червня 2015). Understanding Neural Networks Through Deep Visualization. arXiv:1506.06579 [cs.CV]. (англ.)
- ↑ Toronto startup has a faster way to discover effective medicines. The Globe and Mail. Архів оригіналу за 20 жовтня 2015. Процитовано 9 листопада 2015. (англ.)
- ↑ Startup Harnesses Supercomputers to Seek Cures. KQED Future of You (амер.). Архів оригіналу за 24 грудня 2015. Процитовано 9 листопада 2015. (англ.)
- ↑ Chellapilla, K; Fogel, DB (1999). Evolving neural networks to play checkers without relying on expert knowledge. IEEE Trans Neural Netw. 10 (6): 1382—91. doi:10.1109/72.809083. PMID 18252639. (англ.)
- ↑ http://ieeexplore.ieee.org/document/942536/ [Архівовано 17 червня 2018 у Wayback Machine.] (англ.)
- ↑ Fogel, David (2001). Blondie24: Playing at the Edge of AI. San Francisco, CA: Morgan Kaufmann. ASIN 1558607838. ISBN 1558607838.
{{cite book}}
: Перевірте значення|asin=
(довідка) (англ.) (англ.) - ↑ Clark, Christopher; Storkey, Amos (2014). Teaching Deep Convolutional Neural Networks to Play Go. arXiv:1412.3409 [cs.AI]. (англ.)
- ↑ Maddison, Chris J.; Huang, Aja; Sutskever, Ilya; Silver, David (2014). Move Evaluation in Go Using Deep Convolutional Neural Networks. arXiv:1412.6564 [cs.LG]. (англ.)
- ↑ AlphaGo – Google DeepMind. Архів оригіналу за 30 січня 2016. Процитовано 30 січня 2016. (англ.)
- ↑ Durjoy Sen Maitra; Ujjwal Bhattacharya; S.K. Parui, "CNN based common approach to handwritten character recognition of multiple scripts, " [Архівовано 28 липня 2020 у Wayback Machine.] in Document Analysis and Recognition (ICDAR), 2015 13th International Conference on, vol., no., pp.1021–1025, 23–26 Aug. 2015 (англ.)
- ↑ Mnih, Volodymyr та ін. (2015). Human-level control through deep reinforcement learning. Nature. 518 (7540): 529—533. Bibcode:2015Natur.518..529M. doi:10.1038/nature14236. PMID 25719670. (англ.)
- ↑ 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. doi:10.1109/3477.846230. ISSN 1083-4419. Архів оригіналу за 22 серпня 2017. Процитовано 21 січня 2018. (англ.)
- ↑ Lee, Honglak; Grosse, Roger; Ranganath, Rajesh; Ng, Andrew Y. (1 січня 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. doi:10.1145/1553374.1553453. ISBN 9781605585161 — через ACM Digital Library. (англ.)
- ↑ Convolutional Deep Belief Networks on CIFAR-10 (PDF). Архів оригіналу (PDF) за 30 серпня 2017. Процитовано 21 січня 2018. (англ.)
- ↑ 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. (англ.)
- ↑ Cade Metz (18 травня 2016). Google Built Its Very Own Chips to Power Its AI Bots. Wired. Архів оригіналу за 13 січня 2018. Процитовано 21 січня 2018. (англ.)
- ↑ Keras Documentation. keras.io (англ.). Архів оригіналу за 17 січня 2020. Процитовано 21 січня 2018. (англ.)
- ↑ Richards, Douglas E. (30 квітня 2017). Infinity Born (English) . Paragon Press. ISBN 1546406395. Архів оригіналу за 18 листопада 2020. Процитовано 21 січня 2018. (англ.)
- convnet-benchmarks [Архівовано 25 січня 2016 у Wayback Machine.] — простий порівняльний аналіз усіх відкритих реалізацій згорткових мереж (із результатами) (англ.)
- Beginner's Guide to Convolutional Neural Nets — легкий посібник про те, як працюють згорткові нейронні мережі (англ.)
- CS231n: Convolutional Neural Networks for Visual Recognition [Архівовано 20 січня 2018 у Wayback Machine.] — стенфордський курс з інформатики Андрія Карпати (англ. Andrej Karpathy) (англ.)
- An Intuitive Explanation of Convolutional Neural Networks [Архівовано 21 січня 2018 у Wayback Machine.] — введення початкового рівня до того, чим згорткові нейронні мережі є, і як вони працюють (англ.)
- Convolutional Neural Networks for Image Classification [Архівовано 21 січня 2018 у Wayback Machine.] — огляд літератури