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

Матеріал з testwiki
Версія від 16:30, 5 листопада 2024, створена imported>A.sav (clean up, typos fixed: стендфорд → стенфорд, виключенням → винятком за допомогою AWB)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблон:Машинне навчання

Зго́рткові нейро́нні мере́жі (ЗНМ, Шаблон:Lang-en) в машинному навчанні — це клас глибоких штучних нейронних мереж прямого поширення, який успішно застосовувався до аналізу візуальних зображень.

ЗНМ використовують різновид багатошарових перцептронів, розроблений так, щоби вимагати використання мінімального обсягу попередньої обробки.[1] Вони відомі також як інваріа́нтні відно́сно зсу́ву (Шаблон:Lang-en) або просторо́во інваріа́нтні шту́чні нейро́нні мере́жі (Шаблон:Lang-en), виходячи з їхньої архітектури спільних ваг та характеристик інваріантності відносно паралельного перенесення.[2][3]

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

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

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

Шаблон:Toclimit

Конструкція

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

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

Згорткові шари

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

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

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

Агрегувальні шари

Згорткові мережі можуть включати шари локального або глобального агрегування,Шаблон:Clarify які об'єднують виходи кластерів нейронів одного шару до одного нейрону наступного шару.[9][10] Наприклад, максимізаційне агрегування (Шаблон:Lang-en) використовує максимальне значення з кожного з кластерів нейронів попереднього шару.[11] Іншим прикладом є усереднювальне агрегування (Шаблон:Lang-en), що використовує усереднене значення з кожного з кластерів нейронів попереднього шару.Шаблон:Citation needed

Повноз'єднані шари

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

Ваги

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

Історія

Конструкція ЗНМ наслідує зорові механізми в живих організмах.Шаблон:Citation needed

Рецептивні поля

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

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

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

Неокогнітрон

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

LeNet-5

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

Інваріантна відносно зсуву нейронна мережа

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

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

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

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

Втілення на ГП

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

Розрізнювання ознак

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

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

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

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

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

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

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

Будівельні блоки

Шаблон:Refimprove section

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

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

Згортковий шар

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

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

Локальна з'єднаність

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

Просторова організація

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

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

Просторовий розмір ємності виходу може обчислюватися як функція від розміру вхідної ємності W, розміру ядрового поля нейронів згорткового шару K, кроку, з яким вони застосовуються, S, і величини нульового доповнення P, що застосовується на краях. Формула для обчислення того, скільки нейронів «уміщається» до заданої ємності, задається як (WK+2P)/S+1. Якщо це число не є цілим, то кроки встановлено неправильно, і нейрони не може бути розміщено вздовж вхідної ємності симетричним чином. Загалом, встановлення нульового доповнення в P=(K1)/2, коли кроком є S=1, забезпечує, щоби ємності входу та виходу мали однаковий просторовий розмір. Хоча взагалі використання всіх нейронів попереднього шару не є абсолютно обов'язковим, наприклад, ви можете вирішити використовувати лише частину доповнення.

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

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

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

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

Агрегувальний шар

Максимізаційне агрегування (Шаблон:Lang-en) із фільтром 2×2 та кроком = 2

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

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

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

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

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

Агрегування областей інтересу (Шаблон:Lang-en, відоме також як Шаблон:Lang-en), — це варіація максимізаційного агрегування, в якій розмір виходу фіксовано, а прямокутник входу є параметром.[38]

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

Шар зрізаних лінійних вузлів (ReLU)

ReLU є абревіатурою від Шаблон:Lang-en. Цей шар застосовує Шаблон:Нп передавальну функцію f(x)=max(0,x). Він посилює нелінійні властивості функції ухвалення рішення і мережі в цілому, не зачіпаючи рецептивних полів згорткового шару.

Для посилення нелінійності застосовуються й інші функції, наприклад, насичувальні гіперболічний тангенс f(x)=tanh(x), f(x)=|tanh(x)|, та сигмоїдна функція f(x)=(1+ex)1. Зрізаному лінійному вузлові (Шаблон:Lang-en) часто віддають перевагу перед іншими функціями, оскільки він тренує нейронну мережу в декілька разів швидше[40] без значної розплати точністю узагальнення.

Повноз'єднаний шар

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

Шар втрат

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

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

Вибір гіперпараметрів

Шаблон:Seealso Шаблон:Refimprove section

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

Кількість фільтрів

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

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

Форма фільтрів

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

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

Форми максимізаційних агрегувань

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

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

Шаблон:Main article Шаблон:Refimprove section

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

Емпіричні

Виключення

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

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

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

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

Виключення з'єднань

Виключення з'єднань (Шаблон:Lang-en)[43] є узагальненням виключення (Шаблон:Lang-en), в якому кожне з'єднання, а не кожен вузол виходу, може бути виключено з імовірністю 1p. Таким чином, кожен вузол отримує вхід з випадкової підмножини вузлів попереднього шару.

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

Стохастичне агрегування

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

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

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

Штучні дані

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

Явні

Рання зупинка

Шаблон:Докладніше

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

Кількість параметрів

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

Ослаблення ваг

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

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

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

Обмеження максимуму норми

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

Ієрархічні координатні сітки

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

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

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

Застосування

Розпізнавання зображень

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

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

Шаблон:Нп (Шаблон:Lang-en) є еталоном у класифікації та виявленні об'єктів, з мільйонами зображень та сотнями класів об'єктів. В 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] Було представлено схеми спонтанного навчання для тренування просторово-часових ознак на основі згорткових вентильних обмежених машин Больцмана (Шаблон:Lang-en)[61] та методу незалежних підпросторів (Шаблон:Lang-en).[62]

Обробка природної мови

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

Пошук нових ліків

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

Шашки

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

Ґо

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

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

Тонке налаштування

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

Розширення

Глибокі Q-мережі

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

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

Глибокі мережі переконань

Шаблон:Main

Згорткові глибокі мережі переконань (ЗГМП, Шаблон:Lang-en) мають структуру, дуже подібну до згорткових нейронних мереж, і тренуються подібно до глибоких мереж переконань. Таким чином, вони використовують двовимірну структуру зображень, як це роблять ЗНМ, і користаються попереднім тренуванням як глибокі мережі переконань. Вони забезпечують загальну структуру, яку можливо використовувати в багатьох задачах обробки зображень та сигналу. Із застосуванням ЗГМП було отримано зразкові результати[82] на стандартних базах даних зображень, таких як CIFAR.[83]

Нейронні мережі з часовою затримкою

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

Поширені бібліотеки

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

Поширені ППІ

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

У популярній культурі

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

Див. також

Примітки

Шаблон:Примітки

Посилання

  1. 1,0 1,1 Шаблон:Cite web Шаблон:Ref-en
  2. 2,0 2,1 Шаблон:Cite journal Шаблон:Ref-en
  3. 3,0 3,1 Шаблон:Cite journal Шаблон:Ref-en
  4. 4,0 4,1 Шаблон:Cite journal Шаблон:Ref-en
  5. Шаблон:Cite book Шаблон:Ref-en
  6. Шаблон:Cite journal Шаблон:Ref-en
  7. Шаблон:Cite web Шаблон:Ref-en
  8. Шаблон:Cite book Шаблон:Ref-en
  9. 9,0 9,1 9,2 Шаблон:Cite journal Шаблон:Ref-en
  10. Шаблон:Cite web Шаблон:Ref-en
  11. 11,0 11,1 11,2 11,3 Шаблон:Cite journal Шаблон:Ref-en
  12. Шаблон:Cite journal Шаблон:Ref-en
  13. Шаблон:Cite journal Шаблон:Ref-en
  14. Шаблон:Cite journal Шаблон:Ref-en
  15. Шаблон:Cite book Шаблон:Ref-en
  16. Шаблон:Cite journal Шаблон:Ref-en
  17. 17,0 17,1 Шаблон:Cite journal Шаблон:Ref-en
  18. S. Behnke. Hierarchical Neural Networks for Image Interpretation, volume 2766 of Lecture Notes in Computer Science. Springer, 2003. Шаблон:Ref-en
  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. Шаблон:Ref-en
  20. Шаблон:Cite journal
  21. Шаблон:Cite journal Шаблон:Ref-en
  22. Шаблон:Cite journal Шаблон:Ref-en
  23. Шаблон:Cite journal Шаблон:Ref-en
  24. 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. Шаблон:Ref-en
  25. 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. Шаблон:Ref-en
  26. 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. Шаблон:Ref-en
  27. Шаблон:Cite book Шаблон:Ref-en
  28. Шаблон:Cite book Шаблон:Ref-en
  29. Шаблон:Cite book Шаблон:Ref-en
  30. Шаблон:Cite journal Шаблон:Ref-en
  31. Шаблон:Cite journal Шаблон:Ref-en
  32. Шаблон:Cite journal Шаблон:Ref-en
  33. 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. Шаблон:Ref-en
  34. Шаблон:Cite web Шаблон:Ref-en
  35. 35,0 35,1 Шаблон:Cite conference Шаблон:Ref-en
  36. Шаблон:Cite arXiv Шаблон:Ref-en
  37. Шаблон:Cite arXiv Шаблон:Ref-en
  38. Шаблон:Cite web Шаблон:Ref-en
  39. Шаблон:Cite arXiv Шаблон:Ref-en
  40. Шаблон:Cite journal Шаблон:Ref-en
  41. Шаблон:Cite journal Шаблон:Ref-en
  42. Шаблон:Cite web Шаблон:Ref-en
  43. Шаблон:Cite web Шаблон:Ref-en
  44. Шаблон:Cite arXiv Шаблон:Ref-en
  45. Шаблон:Cite web Шаблон:Ref-en
  46. Шаблон:Cite arXiv Шаблон:Ref-en
  47. Шаблон:Cite web Шаблон:Ref-en
  48. Шаблон:Cite journal Шаблон:Ref-en
  49. Rock, Irvin. «The frame of reference.» The legacy of Solomon Asch: Essays in cognition and social psychology (1990): 243—268. Шаблон:Ref-en
  50. J. Hinton, Coursera lectures on Neural Networks, 2012, Url: https://www.coursera.org/learn/neural-networks Шаблон:Webarchive Шаблон:Ref-en
  51. Шаблон:Cite journal Шаблон:Ref-en
  52. 52,0 52,1 Шаблон:Cite journal Шаблон:Ref-en
  53. Шаблон:Cite web Шаблон:Ref-en
  54. Шаблон:Cite journal Шаблон:Ref-en
  55. Шаблон:Cite arXiv Шаблон:Ref-en
  56. Шаблон:Cite news Шаблон:Ref-en
  57. Шаблон:Cite book Шаблон:Ref-en
  58. Шаблон:Cite journal Шаблон:Ref-en
  59. Karpathy, Andrej, et al. «Large-scale video classification with convolutional neural networks.» IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2014. Шаблон:Ref-en
  60. Шаблон:Cite arXiv Шаблон:Ref-en
  61. Шаблон:Cite journal Шаблон:Ref-en
  62. Шаблон:Cite journal Шаблон:Ref-en
  63. Шаблон:Cite arXiv Шаблон:Ref-en
  64. Шаблон:Cite web Шаблон:Ref-en
  65. Шаблон:Cite arXiv Шаблон:Ref-en
  66. Шаблон:Cite arXiv Шаблон:Ref-en
  67. 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. Шаблон:Ref-en
  68. Шаблон:Cite arXiv Шаблон:Ref-en
  69. Шаблон:Cite arXiv Шаблон:Ref-en
  70. Шаблон:Cite arXiv Шаблон:Ref-en
  71. Шаблон:Cite web Шаблон:Ref-en
  72. Шаблон:Cite web Шаблон:Ref-en
  73. Шаблон:Cite journal Шаблон:Ref-en
  74. http://ieeexplore.ieee.org/document/942536/ Шаблон:Webarchive Шаблон:Ref-en
  75. Шаблон:Cite book Шаблон:Ref-en Шаблон:Ref-en
  76. Шаблон:Cite arXiv Шаблон:Ref-en
  77. Шаблон:Cite arXiv Шаблон:Ref-en
  78. Шаблон:Cite web Шаблон:Ref-en
  79. Durjoy Sen Maitra; Ujjwal Bhattacharya; S.K. Parui, "CNN based common approach to handwritten character recognition of multiple scripts, " Шаблон:Webarchive in Document Analysis and Recognition (ICDAR), 2015 13th International Conference on, vol., no., pp.1021–1025, 23–26 Aug. 2015 Шаблон:Ref-en
  80. Шаблон:Cite journal Шаблон:Ref-en
  81. Шаблон:Cite journal Шаблон:Ref-en
  82. Шаблон:Cite journal Шаблон:Ref-en
  83. Шаблон:Cite web Шаблон:Ref-en
  84. Шаблон:Нп 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. Шаблон:Ref-en
  85. Шаблон:Cite news Шаблон:Ref-en
  86. Шаблон:Cite web Шаблон:Ref-en
  87. Шаблон:Cite book Шаблон:Ref-en