Штучна нейронна мережа — це взаємопов'язана група вузлів, натхнена спрощенням нейронівмозку. Тут кожна кругла вершина подає штучний нейрон, а стрілка подає з'єднання виходу одного штучного нейрона з входом іншого.
Шту́чні нейро́нні мере́жі (ШНМ, англ.artificial neural network), які зазвичай просто називають нейронними мережами (НМ, англ.neural networks, NN) або нейромережами (англ.neural nets),[1] це обчислювальні системи, натхнені біологічними нейронними мережами, які складають мозок тварин.[2]
ШНМ ґрунтується на сукупності з'єднаних вузлів (англ.units, nodes), які називають штучними нейронами, які приблизно моделюють нейрони біологічного мозку. Кожне з'єднання, як і синапси в біологічному мозку, може передавати сигнал до інших нейронів. Штучний нейрон отримує сигнали, потім обробляє їх і може сигналізувати нейронам, з якими його з'єднано. «Сигнал» у з'єднанні це дійсне число, а вихід кожного нейрона обчислюється деякою нелінійною функцією суми його входів. З'єднання називають ребрами (англ.edges). Нейрони та ребра зазвичай мають вагу[en] (англ.weight), яка підлаштовується в процесі навчання. Вага збільшує або зменшує силу сигналу на з'єднанні. Нейрони можуть мати такий поріг, що сигнал надсилається лише тоді, коли сукупний сигнал перевищує цей поріг.
Як правило, нейрони зібрано в шари (англ.layers). Різні шари можуть виконувати різні перетворення даних свого входу. Сигнали проходять від першого шару (шару входу) до останнього (шару виходу), можливо, після проходження шарами декілька разів.
Тренування
Нейронні мережі навчаються (або, їх тренують) шляхом обробки прикладів, кожен з яких містить відомий «вхід» та «результат», утворюючи ймовірнісно зважені асоціації між ними, які зберігаються в структурі даних самої мережі. Тренування нейронної мережі заданим прикладом зазвичай здійснюють шляхом визначення різниці між обробленим виходом мережі (часто, передбаченням) і цільовим виходом. Ця різниця є похибкою. Потім мережа підлаштовує свої зважені асоціації відповідно до правила навчання і з використанням цього значення похибки. Послідовні підлаштовування призведуть до виробляння нейронною мережею результатів, усе більше схожих на цільові. Після достатньої кількості цих підлаштовувань, тренування можливо припинити на основі певного критерію. Це форма керованого навчання.
Такі системи «навчаються» виконувати завдання, розглядаючи приклади, як правило, без програмування правил для конкретних завдань. Наприклад, у розпізнаванні зображень вони можуть навчитися встановлювати зображення, на яких зображені коти, аналізуючи приклади зображень, мічені[en] вручну як «кіт» та «не кіт», і використовуючи результати для ідентифікування котів на інших зображеннях. Вони роблять це без будь-якого апріорного знання про котів, наприклад, що вони мають хутро, хвости, вуса та котоподібні писки. Натомість вони автоматично породжують ідентифікаційні характеристики з прикладів, які оброблюють.
Найпростіший тип нейронної мережі прямого поширення (НМПП, англ.feedforward neural network, FNN) це лінійна мережа, яка складається з єдиного шару вузлів виходу; входи подаються безпосередньо на виходи через низку ваг. В кожному вузлі обчислюється сума добутків ваг та даних входів. Середньоквадратичні похибки між цими обчисленими виходами та заданими цільовими значеннями мінімізують шляхом підлаштовування ваг. Цей метод відомий понад два століття як метод найменших квадратів або лінійна регресія. Лежандр (1805) та Гаусс (1795) використовували його як засіб для знаходження доброго грубого лінійного допасування до набору точок для передбачування руху планет.[3][4][5][6][7]
Дехто каже, що дослідження зазнали застою після того, як Мінскі та Пейперт (1969)[20] виявили, що базові перцептрони не здатні обробляти схему виключного «або», і що комп'ютерам бракує достатньої потужності для обробки придатних нейронних мереж. Проте на момент виходу цієї книги вже були відомі методи тренування багатошарових перцептронів (БШП, англ.multilayer perceptron, MLP).
У 1980-х роках зворотне поширення не працювало добре для глибоких НМПП та РНМ. Щоби подолати цю проблему, Юрген Шмідхубер (1992) запропонував ієрархію РНМ, попередньо тренованих по одному рівню самокерованим навчанням.[58][59] Вона використовує передбачувальне кодування[en] для навчання внутрішніх подань у кількох самоорганізованих масштабах часу. Це може істотно полегшувати подальше глибоке навчання. Цю ієрархію РНМ можливо згорнути (англ.collapse) в єдину РНМ шляхом дистилювання[en]фрагментувальної (англ.chunker) мережі вищого рівня в автоматизувальну (англ.automatizer) мережу нижчого рівня.[58][6] 1993 року фрагментувальник розв'язав завдання глибокого навчання, глибина якого перевищувала 1000.[60]
1992 року Юрген Шмідхубер також опублікував альтернативу РНМ (англ.alternative to RNNs),[61] яку зараз називають лінійним трансформером (англ.linear Transformer) або трансформером з лінеаризованою самоувагою[62][63][6] (за винятком оператора нормування). Він навчається внутрішніх центрів уваги (англ.internal spotlights of attention):[64] повільна нейронна мережа прямого поширення вчиться за допомогою градієнтного спуску керувати швидкими вагами іншої нейронної мережі через тензорні добутки самопороджуваних шаблонів збудження FROM і TO (званих тепер ключем,англ.key, та значенням,англ.value, самоуваги).[62] Це відображення уваги (англ.attention mapping) швидких ваг застосовують до шаблону запиту.
Сучасний трансформер (англ.Transformer) запропонували Ашиш Васвані зі співавт. у своїй праці 2017 року «Увага — це все, що вам треба».[65] Він поєднує це з оператором softmax та проєкційною матрицею.[6] Трансформери все частіше обирають за модель для обробки природної мови.[66] Багато сучасних великих мовних моделей, таких як ChatGPT, GPT-4 та BERT, використовують саме його. Трансформери також все частіше використовують у комп'ютернім баченні.[67]
1991 року Юрген Шмідхубер також опублікував змагальні нейронні мережі (англ.adversarial neural networks), які змагаються між собою у формі антагоністичної гри, де виграш однієї мережі є програшем іншої.[68][69][70] Перша мережа є породжувальною моделлю, яка моделює розподіл імовірності над образами на виході. Друга мережа навчається градієнтним спуском передбачувати реакцію середовища на ці образи. Це було названо «штучною цікавістю» (англ."artificial curiosity").
2014 року Ян Ґудфелоу зі співавт. використали цей принцип у породжувальній змагальній мережі (англ.generative adversarial network, GAN).[71] Тут реакція навколишнього середовища дорівнює 1 або 0 залежно від того, чи належить вихід першої мережі до заданого набору. Це можливо використовувати для створення реалістичних дипфейків.[72]
Відмінної якості зображення досягла StyleGAN[en]Nvidia (2018)[73] на основі прогресивної породжувальної змагальної мережі (англ.Progressive GAN) Теро Карраса, Тімо Айли, Самулі Лайне та Яакко Лехтінена.[74] Тут породжувач вирощується від малого до великого пірамідним чином.
Дипломну працю Зеппа Хохрайтера[en] (1991)[75] його керівник Юрген Шмідхубер назвав «одним із найважливіших документів в історії машинного навчання».[6] Хохрайтер визначив і проаналізував проблему зникання градієнту[75][76] й запропонував для її розв'язання рекурентні залишкові з'єднання. Це призвело до появи методу глибокого навчання, званого довгою короткочасною пам'яттю (ДКЧП, англ.long short-term memory, LSTM), опублікованого в Neural Computation (1997).[77]Рекурентні нейронні мережі ДКЧП можуть навчатися задач «дуже глибокого навчання» (англ."very deep learning")[78] з довгими шляхами розподілу внеску, які вимагають спогадів про події, що відбулися за тисячі дискретних часових кроків до цього. «Стандартну ДКЧП» (англ."vanilla LSTM") із забувальним вентилем запропонували 1999 року Фелікс Ґерс[en], Шмідхубер та Фред Каммінс.[79]ДКЧП стала найцитованішою нейронною мережею XX століття.[6] 2015 року Рупеш Кумар Шрівастава, Клаус Ґрефф і Шмідхубер використали принцип ДКЧП для створення магістралевої мережі (англ.Highway network), нейронної мережі прямого поширення з сотнями шарів, набагато глибшої за попередні.[80][81] 7 місяців потому, Каймін Хе, Сян'ю Чжан; Шаоцін Рен та Цзянь Сунь виграли змагання ImageNet[en] 2015 року з відкритовентильним або безвентильним варіантом магістралевої мережі, названим залишковою нейронною мережею (англ.Residual neural network).[82] Вона стала найцитованішою нейронною мережею XXI століття.[6]
До ранніх успіхів нейронних мереж належали прогнозування фондового ринку, а 1995 року (переважно) безпілотний автомобіль.[a][84]
Джефрі Гінтон зі співавт. (2006) запропонували навчання високорівневих подань з використанням послідовних шарів двійкових або дійснозначних латентних змінних з обмеженою машиною Больцмана[85] для моделювання кожного шару. 2012 року Ин та Дін створили мережу, яка навчилася розпізнавати поняття вищого рівня, такі як коти, лише переглядаючи немічені зображення.[86] Попереднє некероване тренування та збільшення обчислювальної потужності ГП та розподілених обчислень дозволили використовувати більші мережі, зокрема в задачах розпізнавання зображень і бачення, які стали відомі як «глибоке навчання».[87]
Чирешан із колегами (2010)[88] показали, що, попри проблему зникання градієнта, ГП роблять зворотне поширення придатним для багатошарових нейронних мереж прямого поширення.[89] У період між 2009 та 2012 роками ШНМ почали вигравати нагороди в конкурсах із розпізнавання зображень, наближаючись до людського рівня виконання різних завдань, спочатку в розпізнаванні образів та розпізнаванні рукописного тексту.[90][91] Наприклад, двоспрямована та багатовимірна довга короткочасна пам'ять (ДКЧП)[92][93]Ґрейвса[en] зі співавт. виграла три змагання з розпізнавання зв'язаного рукописного тексту 2009 року без будь-яких попередніх знань про три мови, яких потрібно було навчитися.[92][93]
Чирешан із колегами створили перші розпізнавачі образів, які досягли людської/надлюдської продуктивності[94] на таких перевірках як розпізнавання дорожніх знаків (IJCNN 2012).
Нейрон і мієлінований аксон із потоком сигналу від входів на дендритах до виходів на терміналах аксона
ШНМ почалися як спроба використати архітектуру людського мозку для виконання завдань, у яких звичайні алгоритми мали невеликий успіх. Незабаром вони переорієнтувалися на покращення емпіричних результатів, відмовившись від спроб залишатися вірними своїм біологічним попередникам. ШНМ мають здатність навчатися нелінійностей та складних зв'язків та моделювати їх. Це досягається тим, що нейрони з'єднуються за різними схемами, що дозволяє виходам одних нейронів стати входом інших. Ця мережа утворює орієнтованийзважений граф.[95]
Штучна нейронна мережа складається з імітацій нейронів. Кожен нейрон з'єднано з іншими вузлами (англ.nodes) ланками (англ.links), як біологічне з'єднання аксон—синапс—дендрит. Усі вузли, з'єднані ланками, отримують деякі дані й використовують їх для виконання певних операцій і завдань з даними. Кожна ланка має вагу (англ.weight), що визначає силу впливу одного вузла на інший,[96] дозволяючи вагам обирати сигнал між нейронами.
Штучні нейрони
ШНМ складаються зі штучних нейронів, які концептуально походять від біологічних. Кожен штучний нейрон має входи та видає єдиний вихід, який можливо надсилати багатьом іншим нейронам.[97] Входи (англ.inputs) можуть бути значеннями ознак зразка зовнішніх даних, таких як зображення чи документи, або вони можуть бути виходами інших нейронів. Виходи кінцевих нейронів виходу (англ.output neurons) нейронної мережі завершують завдання, наприклад, розпізнавання об'єкта на зображенні.
Щоби знайти вихід нейрона, ми беремо зважену суму всіх входів, зважених за вагамиз'єднань (англ.connection weights) від входів до нейрона. Ми додаємо до цієї суми зміщення (англ.bias).[98] Цю зважену суму іноді називають збудженням (англ.activation). Цю зважену суму потім пропускають крізь (зазвичай нелінійну) передавальну функцію (англ.activation function) для отримання виходу. Первинними входами є зовнішні дані, наприклад зображення та документи. Кінцеві виходи завершують завдання, наприклад, розпізнавання об'єкта на зображенні.[99]
Будова
Нейрони зазвичай впорядковано в кілька шарів (англ.layers), особливо в глибокому навчанні. Нейрони одного шару з'єднуються лише з нейронами безпосередньо попереднього й наступного шарів. Шар, який отримує зовнішні дані, це шар входу (англ.input layer). Шар, який видає кінцевий результат, це шар виходу (англ.output layer). Між ними є нуль або більше прихованих шарів (англ.hidden layers). Використовують також одношарові (англ.single layer) та безшарові (англ.unlayered) мережі. Між двома шарами можливі кілька схем з'єднання. Вони можуть бути «повноз'єднаними» (англ.'fully connected'), коли кожен нейрон одного шару з'єднується з кожним нейроном наступного шару. Вони можуть бути агрегувальними (англ.pooling), коли група нейронів одного шару з'єднується з одним нейроном наступного шару, знижуючи таким чином кількість нейронів у цьому шарі.[100] Нейрони лише з такими зв'язками утворюють орієнтований ациклічний граф і відомі як мережі прямого поширення (англ.feedforward networks).[101] Крім того, мережі, які дозволяють з'єднання до нейронів у тому же або попередніх шарах, відомі як рекурентні мережі (англ.recurrent networks).[102]
Гіперпараметр (англ.hyperparameter) — це сталий параметр, чиє значення встановлюють перед початком процесу навчання. Значення ж параметрів (англ.parameters) виводять шляхом навчання. До прикладів гіперпараметрів належать темп навчання (англ.learning rate), кількість прихованих шарів і розмір пакета.[103] Значення деяких гіперпараметрів можуть залежати від значень інших гіперпараметрів. Наприклад, розмір деяких шарів може залежати від загальної кількості шарів.
Навчання (англ.learning) — це пристосовування мережі для кращого виконання завдання шляхом розгляду вибіркових спостережень. Навчання включає підлаштовування ваг (і, можливо, порогів) мережі для підвищення точності результатів. Це здійснюється шляхом мінімізування спостережуваних похибок. Навчання завершено, якщо розгляд додаткових спостережень не знижує рівня похибки. Навіть після навчання рівень похибки зазвичай не досягає 0. Якщо навіть після навчання рівень похибки занадто високий, зазвичай потрібно змінити будову мережі. Практично це здійснюють шляхом визначення функції витрат (англ.cost function), яку періодично оцінюють протягом навчання. Поки її результат знижується, навчання триває. Витрати часто визначають як статистику, значення якої можливо лише наближувати. Виходи насправді є числами, тож коли похибка низька, різниця між результатом (майже напевно кіт) і правильною відповіддю (кіт) невелика. Навчання намагається знизити загальну відмінність над спостереженнями. Більшість моделей навчання можливо розглядати як пряме застосування теорії оптимізації та статистичного оцінювання.[95][104]
Темп навчання (англ.learning rate) визначає розмір коригувальних кроків, які здійснює модель для підлаштовування під похибку в кожному спостереженні.[105] Високий темп навчання скорочує тривалість тренування, але з меншою кінцевою точністю, тоді як нижчий темп навчання займає більше часу, але з потенціалом до більшої точності. Такі оптимізації, як Quickprop[en] (укр.«швидпошир»), переважно спрямовані на прискорення мінімізування похибки, тоді як інші вдосконалення переважно намагаються підвищити надійність. Щоби запобігти циклічним коливанням усередині мережі, таким як чергування ваг з'єднань, і покращити швидкість збігання, удосконалення використовують адаптивний темп навчання, який підвищується або знижується належним чином.[106] Концепція імпульсу (англ.momentum) дозволяє зважувати баланс між градієнтом і попередньою зміною так, щоби підлаштовування ваги певною мірою залежало від попередньої зміни. Імпульс, близький до 0, додає ваги градієнтові, тоді як значення, близьке до 1, додає ваги крайній зміні.
Функція витрат
Хоча й можливо визначати функцію витрат ad hoc, вибір часто визначається бажаними властивостями цієї функції (такими як опуклість) або тим, що вона постає з моделі (наприклад, у ймовірнісній моделі апостеріорну ймовірність моделі можливо використовувати як обернені витрати).
Кероване навчання[113][114][115] (англ.supervised learning) використовує набір пар входів і бажаних виходів. Завдання навчання полягає в тому, щоби для кожного входу видавати бажаний вихід. У цьому випадку функція витрат пов'язана з усуненням неправильного висновування.[120] Витрати, які використовують зазвичай, це середньоквадратична похибка, яка намагається мінімізувати середню квадратичну похибку виходу мережі відносно бажаного виходу. Для керованого навчання підходять завдання на розпізнавання образів (також відоме як класифікування) та регресію (також відоме як наближення функції). Кероване навчання також застосовне до послідовних даних (наприклад, для розпізнавання рукописного тексту, мовлення та жестів[en]). Його можливо розглядати як навчання з «учителем» у вигляді функції, яка забезпечує безперервний зворотний зв'язок щодо якості отриманих на цей момент рішень.
Некероване навчання
У некерованім навчанні[113][114][117][115] (англ.unsupervised learning) дані входу надаються разом із функцією витрат, деякою функцією від даних та виходу мережі. Функція витрат залежить від завдання (області моделі) та будь-яких апріорних припущень (неявних властивостей моделі, її параметрів та спостережуваних змінних). Як тривіальний приклад розгляньмо модель , де стала, а витрати . Мінімізація цих витрат дає значення , що дорівнює середньому значенню даних. Функція витрат може бути набагато складнішою. Її вигляд залежить від застосування: наприклад, у стисненні вона може бути пов'язаною із взаємною інформацією між та , тоді як у статистичному моделюванні вона може бути пов'язаною з апостеріорною ймовірністю моделі за заданих даних (зверніть увагу, що в обох цих прикладах ці величини підлягають максимізуванню, а не мінімізуванню). Завдання, які підпадають під парадигму некерованого навчання, це зазвичай задачі оцінювання; до цих застосувань належать кластерування, оцінювання статистичних розподілів, стискання та фільтрування.
У таких застосуваннях як гра у відеоігри, діяч (англ.actor) виконує низку дій (англ.actions), отримуючи загалом непередбачуваний відгук від середовища після кожної з них. Мета полягає в тому, щоби виграти гру, тобто породити найбільшу кількість позитивних (з найменшими витратами) відгуків. У навчанні з підкріпленням (англ.reinforcement learning) мета полягає в тому, щоби зважити мережу (розробити стратегію, англ.policy) для виконання дій, яка мінімізує довгострокові (очікувані сукупні) витрати. У кожен момент часу діяч виконує дію, а середовище породжує спостереження та миттєві витрати відповідно до деяких (зазвичай невідомих) правил. Зазвичай правила й довгострокові витрати можливо лише оцінювати. У будь-який момент діяч вирішує, чи дослідити нові дії, щоб розкрити свої витрати, а чи скористатися попереднім знанням для швидшого виконання.
Формально середовище моделюють як марковський процес вирішування (МПВ) зі станами та діями . Оскільки переходи станів невідомі, замість них використовують розподіли ймовірності: розподіл миттєвих витрат , розподіл спостережень та розподіл переходів , тоді як стратегію визначають як умовний розподіл дій за даних спостережень. Взяті разом, вони визначають марковський ланцюг (МЛ). Мета полягає у виявленні МЛ із найменшими витратами.
ШНМ у таких застосуваннях слугують складовою, яка забезпечує навчання.[121][122]Динамічне програмування у поєднанні з ШНМ (що дає нейродинамічне програмування)[123] було застосовано до таких задач як ті, що стосуються маршрутизуваня транспорту[en],[124] відеоігор, природокористування[125][126] та медицини,[127] через здатність ШНМ пом'якшувати втрати точності навіть при зменшенні щільності ґратки дискретування[en] для чисельного наближення розв'язків задач керування. Завдання, які підпадають під парадигму навчання з підкріпленням, це завдання керування, ігри та інші послідовні завдання ухвалювання рішень.
Самонавчання
Самонавчання (англ.self-learning) в нейронних мережах було запропоновано 1982 року разом із нейронною мережею, здатною до самонавчання, названою поперечинним адаптивним масивом (ПАМ, англ.crossbar adaptive array, CAA).[128] Це система лише з одним входом, ситуацією s, й лише одним виходом, дією (або поведінкою) a. Вона не має ані входу зовнішніх порад, ані входу зовнішнього підкріплення з боку середовища. ПАМ обчислює поперечним чином як рішення щодо дій, так і емоції (почуття) щодо виниклих ситуацій. Ця система керується взаємодією між пізнанням та емоціями.[129] За заданої матриці пам'яті, W =||w(a, s)||, поперечинний алгоритм самонавчання на кожній ітерації виконує наступне обчислення:
У ситуації s виконати дію a;
Отримати наслідкову ситуацію s';
Обчислити емоцію перебування в наслідковій ситуації v(s');
Уточнити поперечинну пам'ять w'(a,s) = w(a,s) + v(s').
Поширюване зворотно значення (вторинне підкріплення, англ.secondary reinforcement) — це емоція щодо наслідків ситуації. ПАМ існує у двох середовищах: одне — поведінкове середовище, де вона поводиться, а інше — генетичне середовище, де вона спочатку й лише один раз отримує початкові емоції щодо ситуацій, з якими можливо зіткнутися в поведінковому середовищі. Отримавши геномний вектор (видовий вектор, англ.genome vector, species vector) із генетичного середовища, ПАМ навчатиметься цілеспрямованої поведінки в поведінковому середовищі, що містить як бажані, так і небажані ситуації.[130]
Нейроеволюція (англ.neuroevolution) може створювати топології та ваги нейронної мережі за допомогою еволюційного обчислення. Завдяки сучасним вдосконаленням нейроеволюція конкурує зі складними підходами градієнтного спуску.[131] Одна з переваг нейроеволюції полягає в тому, що вона може бути менш схильною потрапляти в «глухий кут».[132]
Стохастична нейронна мережа
Стохастичні нейронні мережі (англ.stochastic neural networks), що походять від моделей Шеррінгтона — Кіркпатріка(інші мови), це один з типів штучних нейронних мереж, побудований шляхом введення випадкових варіацій у мережу, або надаванням штучним нейронам мережі стохастичних передавальних функцій, або надаванням їм стохастичних ваг. Це робить їх корисними інструментами для розв'язування задач оптимізації, оскільки випадкові флуктуації допомагають мережі уникати локальних мінімумів.[133] Стохастичні нейронні мережі, треновані за допомогою баєсового підходу, відомі як баєсові нейронні мережі (англ.Bayesian neural network).[134]
Є два режими навчання: стохастичний (англ.stochastic) та пакетний (англ.batch). У стохастичному навчанні кожен вхід створює підлаштовування ваг. У пакетному навчанні ваги підлаштовують на основі пакету входів, накопичуючи похибки в пакеті. Стохастичне навчання вносить «шум» до процесу, використовуючи локальний градієнт, розрахований з однієї точки даних; це знижує шанс застрягання мережі в локальних мінімумах. Проте пакетне навчання зазвичай дає швидший і стабільніший спуск до локального мінімуму, оскільки кожне уточнення виконується в напрямку усередненої похибки пакета. Поширеним компромісом є використання «мініпакетів» (англ."mini-batches"), невеликих пакетів зі зразками в кожному пакеті, обраними стохастично з усього набору даних.
ШНМ еволюціювали у широке сімейство методик, які вдосконалили рівень останніх досягнень у багатьох областях. Найпростіші типи мають один або кілька статичних складових, включно з кількістю вузлів, кількістю шарів, вагами вузлів і топологією. Динамічні типи дозволяють одному або декільком із них еволюціювати шляхом навчання. Останнє набагато складніше, але може скорочувати періоди навчання й давати кращі результати. Деякі типи дозволяють/вимагають навчання «під керуванням» оператора, тоді як інші працюють незалежно. Деякі типи працюють виключно апаратно, тоді як інші є суто програмними й працюють на комп'ютерах загального призначення.
До деяких з основних проривів належать: згорткові нейронні мережі, які виявилися особливо успішними в обробці візуальних та інших двовимірних даних;[141][142] довга короткочасна пам'ять, що дозволяє уникати проблеми зникання градієнта[143] й може обробляти сигнали, які містять суміш низько- та високочастотних складових, що допомагає в розпізнаванні мовлення з великим словниковим запасом,[144][145]синтезуванні мовлення з тексту[146][40][147] та фотореалістичних головах, що розмовляють;[148] конкурентні мережі (англ.competitive networks), такі як породжувальні змагальні мережі,[149] в яких численні мережі (різної структури) змагаються одна з одною в таких завданнях як перемога в грі, або введення опонента в оману щодо автентичності входу.[71]
Пошук нейронної архітектури (ПНА, англ.neural architecture search, NAS) використовує машинне навчання для автоматизування побудови ШНМ. Різні підходи до ПНА побудували мережі, добре порівнянні з системами, розробленими вручну. Основним алгоритмом цього пошуку є пропонувати модель-кандидатку, оцінювати її за набором даних, і використовувати результати як зворотний зв'язок для навчання мережі ПНА.[150] Серед доступних систем — АвтоМН та AutoKeras.[151]
До проблем побудови належать визначення кількості, типу та з'єднаності рівнів мережі, а також розміру кожного, та типу з'єднання (повне, агрегувальне, …).
Гіперпараметри також слід визначати як частину побудови (їх не навчаються), керуючи такими питаннями як кількість нейронів у кожному шарі, темп навчання, крок, крок фільтрів (англ.stride), глибина, рецептивне поле та доповнення (для ЗНМ) тощо.[152]
Використання
Цей розділ не містить посилань на джерела. Ви можете допомогти поліпшити цей розділ, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено.(липень 2023)
Використання штучних нейронних мереж вимагає розуміння їхніх характеристик.
Вибір моделі: Це залежить від подання даних та застосування. Надмірно складні моделі навчаються повільно.
Алгоритм навчання: Існують численні компроміси між алгоритмами навчання. Майже кожен алгоритм працюватиме добре з правильними гіперпараметрами[153] для тренування на певному наборі даних. Проте обрання та налаштування алгоритму для навчання на небачених даних вимагає значного експериментування.
Робастність: Якщо модель, функцію витрат та алгоритм навчання обрано належним чином, то отримана ШНМ може стати робастною.
Можливості ШНМ підпадають під наступні широкі категорії:[154]
ШНМ використовували для прискорювання аналізу надійності інфраструктури, що піддається стихійним лихам,[174][175] і для прогнозування просідання фундаментів.[176] Також може бути корисним пом'якшувати повені шляхом використання ШНМ для моделювання дощового стоку.[177] ШНМ також використовували для побудови чорноскринькових моделей в геонауках: гідрології,[178][179] моделюванні океану та прибережній інженерії[en],[180][181] та геоморфології.[182] ШНМ використовують у кібербезпеці з метою розмежовування законної діяльності від зловмисної. Наприклад, машинне навчання використовували для класифікування зловмисного програмного забезпечення під Android,[183] для визначання доменів, що належать суб'єктам загрози, і для виявляння URL-адрес, які становлять загрозу безпеці.[184] Ведуться дослідження систем ШНМ, призначених для випробування на проникнення, для виявляння бот-мереж,[185] шахрайства з кредитними картками[186] та мережних вторгнень.
ШНМ пропонували як інструмент для розв'язування частинних диференціальних рівнянь у фізиці[187][188][189] та моделювання властивостей багаточастинкових відкритих квантових систем[en].[190][191][192][193] У дослідженні мозку ШНМ вивчали короткочасну поведінку окремих нейронів,[194] динаміку нейронних ланцюгів, що виникає через взаємодію між окремими нейронами, та те, як поведінка може виникати з абстрактних нейронних модулів, які подають цілі підсистеми. Дослідження розглядали довгострокову та короткочасну пластичність нейронних систем та їхній зв'язок із навчанням і пам'яттю від окремого нейрона до системного рівня.
Властивість «ємності»[198][199] (англ."capacity") моделі відповідає її здатності моделювати будь-яку задану функцію. Вона пов'язана з обсягом інформації, який можливо зберегти в мережі, та з поняттям складності. Серед спільноти відомі два поняття ємності: інформаційна ємність та ВЧ-розмірність. Інформаційну ємність (англ.information capacity) перцептрона ретельно обговорено в книзі сера Девіда Маккея,[200] яка підсумовує роботу Томаса Ковера.[201] Ємність мережі стандартних нейронів (не згорткових) можливо отримувати за чотирма правилами,[202] які випливають із розуміння нейрона як електричного елемента. Інформаційна ємність охоплює функції, які можливо змоделювати мережею, за довільних даних входу. Друге поняття — ВЧ-розмірність (англ.VC Dimension). ВЧ-розмірність використовує принципи теорії міри та знаходить максимальну ємність за найкращих можливих обставин. Це за даних входу певного вигляду. Як зазначено у [200], ВЧ-розмірність для довільних входів становить половину інформаційної ємності перцептрона. ВЧ-розмірність для довільних точок іноді називають ємністю пам'яті (англ.Memory Capacity).[203]
Збіжність
Моделі можуть не збігатися послідовно на єдиному розв'язку, по-перше, через можливість існування локальних мінімумів, залежно від функції витрат та моделі. По-друге, вживаний метод оптимізації може не гарантувати збіжності, якщо він починається далеко від будь-якого локального мінімуму. По-третє, для досить великих даних або параметрів деякі методи стають непрактичними.
Інша варта згадки проблема полягає в тому, що навчання може проходити крізь деяку сідлову точку, що може призводити до збігання в неправильному напрямку.
Поведінка збіжності певних типів архітектур ШНМ зрозуміліша, ніж інших. Коли ширина мережі наближається до нескінченності, ШНМ добре описується своїм розвиненням у ряд Тейлора першого порядку протягом навчання, і тому успадковує поведінку збіжності афінних моделей.[204][205] Інший приклад: коли параметри малі, спостерігається, що ШНМ часто допасовуються до цільових функцій від низьких до високих частот. Таку поведінку називають спектральним зміщенням (англ.spectral bias) або частотним принципом (англ.frequency principle) нейронних мереж.[206][207][208][209] Це явище протилежне поведінці деяких добре вивчених ітераційних числових схем, таких як метод Якобі. Було виявлено, що глибші нейронні мережі схильніші до низькочастотних функцій.[210]
Застосування, метою яких є створення системи, що добре узагальнюється до невідомих зразків, стикаються з можливістю перетренування. Воно виникає в заплутаних або надмірно визначених системах, коли ємність мережі значно перевищує потребу у вільних параметрах. Існує два підходи, як впоруватися з перетренуванням. Перший полягає у використанні перехресного затверджування та подібних методів для перевірки наявності перенавчання, та обиранні гіперпараметрів для зведення похибки узагальнення до мінімуму.
Другий полягає у використанні якогось із видів регуляризації. Це поняття виникає в імовірнісній (баєсовій) системі, де регуляризацію можливо виконувати шляхом обирання більшої апріорної ймовірності над простішими моделями, але також і в теорії статистичного навчання, де метою є зводити до мінімуму дві величини: «емпіричний ризик» та «структурний ризик», що грубо відповідають похибці над тренувальним набором та передбачуваній похибці в небачених даних через перенавчання.
Довірчий аналіз нейронної мережі
Нейронні мережі керованого навчання, які використовують як функцію витрат середньоквадратичну похибку (СКП), для визначення довіри до тренованої моделі можуть використовувати формальні статистичні методи. СКП на затверджувальному наборі можливо використовувати як оцінку дисперсії. Це значення потім можливо використовувати для обчислення довірчого інтервалу виходу мережі, виходячи з нормального розподілу. Здійснений таким чином аналіз довіри статистично чинний, поки розподіл імовірності виходу залишається незмінним, і не вноситься змін до мережі.
Призначення нормованої експоненційної функції, узагальнення логістичної функції, як передавальної функції шару виходу нейронної мережі (або нормованої експоненційної складової в нейронній мережі на основі складових) для категорійних цільових змінних, дає можливість інтерпретувати виходи як апостеріорні ймовірності. Це корисно для класифікування, оскільки дає міру впевненості в класифікаціях.
Поширена критика нейронних мереж, особливо в робототехніці, полягає в тому, що для роботи в реальному світі вони вимагають забагато тренування.[211] До потенційних розв'язань належить випадкове переставляння тренувальних зразків, застосування алгоритму чисельної оптимізації, який не вимагає завеликих кроків при зміні з'єднань мережі слідом за зразком, групування зразків до так званих міні-пакетів (англ.mini-batches) та/або запровадження алгоритму рекурсивних найменших квадратів для АКММ[en].[139]
Теорія
Головна претензія[джерело?] ШНМ полягає в тому, що вони втілюють нові потужні загальні принципи обробки інформації. Ці принципи погано визначені. Часто стверджують,[хто?] що вони виникають із самої мережі. Це дозволяє описувати просту статистичну асоціацію (основну функцію штучних нейронних мереж) як навчання або розпізнавання. 1997 року Олександр Дьюдні[en] зауважив, що, в результаті, штучні нейронні мережі мають «риси чогось дармового, чогось наділеного особливою аурою ледарства та виразної відсутності зацікавлення хоч би тим, наскільки добрими ці комп'ютерні системи є. Жодного втручання людської руки (та розуму), розв'язки знаходяться мов чарівною силою, і ніхто, схоже, так нічого й не навчився».[212] Однією з відповідей Дьюдні є те, що нейронні мережі розв'язують багато складних і різноманітних завдань, починаючи від автономного літального апарата[213] до виявляння шахрайства з кредитними картками, й завершуючи опануванням гри в Ґо.
Письменник у галузі технологій Роджер Бріджмен прокоментував це так:
Нейронні мережі, наприклад, знаходяться на лаві підсудних не лише через те, що їх розрекламували до небес (хіба ні?), а й через те, що ви можете створити успішну мережу, не розуміючи, як вона працює: купа чисел, які фіксують її поведінку, ймовірно, буде «непрозорою, нечитабельною таблицею... нічого не вартою як науковий ресурс».
Попри свою експресивну заяву про те, що наука — це не технологія, Дьюдні, здається, ганьбить нейронні мережі як погану науку, тоді як більшість із тих, хто їх розробляє, просто намагаються бути добрими інженерами. Нечитабельна таблиця, яку може читати корисна машина, все одно буде вельми варта того, щоби її мати.[214]
Оригінальний текст (англ.)
[Neural networks, for instance, are in the dock not only because they have been hyped to high heaven, (what hasn't?) but also because you could create a successful net without understanding how it worked: the bunch of numbers that captures its behaviour would in all probability be "an opaque, unreadable table...valueless as a scientific resource".
In spite of his emphatic declaration that science is not technology, Dewdney seems here to pillory neural nets as bad science when most of those devising them are just trying to be good engineers. An unreadable table that a useful machine could read would still be well worth having.] Помилка: {{Lang}}: не вказано код мови (допомога)
Біологічний мозок використовує як неглибокі, так і глибокі схеми, як повідомляє анатомія мозку,[215] демонструючи широкий спектр інваріантності. Венг[216] стверджував, що мозок самостійно встановлює зв'язки переважно відповідно до статистики сигналів, і тому послідовний каскад не може вловити всі основні статистичні залежності.
Апаратне забезпечення
Великі й ефективні нейронні мережі вимагають значних обчислювальних ресурсів.[217] Тоді як мозок має апаратне забезпечення, ідеально пристосоване для задачі обробки сигналів графом нейронів, імітація навіть спрощеного нейрона на архітектурі фон Неймана може споживати величезну кількість пам'яті та дискового простору. Крім того, розробникові часто потрібно передавати сигнали багатьма цими з'єднаннями та пов'язаними з ними нейронами, що вимагає величезної обчислювальної потужності та часу ЦП.
Шмідхубер зазначив, що відродження нейронних мереж у двадцять першому сторіччі значною мірою обумовлено досягненнями в апаратному забезпеченні: з 1991 до 2015 року обчислювальна потужність, особливо забезпечувана ГПЗП (на ГП), зросла приблизно в мільйон разів, зробивши стандартний алгоритм зворотного поширення придатним для навчання мереж, на кілька рівнів глибших, ніж раніше.[21] Використання прискорювачів, таких як ПКВМ та ГП, може скорочувати тривалість тренування з місяців до днів. [217]
Нейроморфна інженерія або фізична нейронна мережа[en] розв'язує проблему апаратного забезпечення безпосередньо, створюючи мікросхеми, відмінні від фон нейманових, для безпосереднього втілення нейронних мереж у схемах. Ще одна мікросхема, оптимізована для обробки нейронних мереж, зветься тензорним процесором або ТП (англ.Tensor Processing Unit, TPU).[218]
Практичні контрприклади
Аналізувати те, чого навчилася ШНМ, набагато легше, ніж аналізувати те, чого навчилася біологічна нейронна мережа. Крім того, дослідники, які беруть участь у пошуку алгоритмів навчання для нейронних мереж, поступово розкривають загальні принципи, що дозволяють машині, що вчиться, бути успішною. Наприклад, локальне й нелокальне навчання, та неглибока й глибока архітектура.[219]
Гібридні підходи
Прибічники гібридних[en] моделей (що поєднують нейронні мережі та символьні підходи) стверджують, що така суміш може краще вловлювати механізми людського розуму.[220]
Галерея
Одношарова штучна нейронна мережа прямого поширення. Стрілки, що виходять з , для наочності опущено. Є p входів до цієї мережі, й q виходів. У цій системі значення q-того виходу обчислюватиметься як .
Двошарова штучна нейронна мережа прямого поширення.
Штучна нейронна мережа.
Граф залежностей ШНМ.
Одношарова штучна нейронна мережа прямого поширення з 4 входами, 6 прихованими вузлами, та 2 виходами. Для заданого стану положення та напряму виводить значення керування для коліс.
Двошарова штучна нейронна мережа прямого поширення з 8 входами, 2×8 прихованими вузлами, та 2 виходами. Для заданого стану положення, напряму та інших змінних середовища, видає значення керування для маневрових двигунів.
Паралельно-конвеєрна структура нейронної мережі АКММ[en]. Цей алгоритм навчання здатен збігатися за один крок.
↑Amari, Shun-Ichi (1972). Learning patterns and pattern sequences by self-organizing nets of threshold elements. IEEE Transactions. C (21): 1197—1206. (англ.)
↑McCulloch, Warren; Walter Pitts (1943). A Logical Calculus of Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics. 5 (4): 115—133. doi:10.1007/BF02478259. (англ.)
↑Farley, B.G.; W.A. Clark (1954). Simulation of Self-Organizing Systems by Digital Computer. IRE Transactions on Information Theory. 4 (4): 76—84. doi:10.1109/TIT.1954.1057468. (англ.)
↑Haykin (2008) Neural Networks and Learning Machines, 3rd edition (англ.)
↑Von der Malsburg, C (1973). Self-organization of orientation sensitive cells in the striate cortex. Kybernetik. 14 (2): 85—100. doi:10.1007/bf00288907. PMID4786750. S2CID3351573. (англ.)
↑Fukushima, K. (1969). Visual feature extraction by a multilayered network of analog threshold elements. IEEE Transactions on Systems Science and Cybernetics. 5 (4): 322—333. doi:10.1109/TSSC.1969.300225. (англ.)
↑Ramachandran, Prajit; Barret, Zoph; Quoc, V. Le (16 жовтня 2017). Searching for Activation Functions. arXiv:1710.05941 [cs.NE]. (англ.)
↑Linnainmaa, Seppo (1970). The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors (Masters) (фін.). University of Helsinki. с. 6—7.
↑Griewank, Andreas (2012). Who Invented the Reverse Mode of Differentiation?. Optimization Stories. Documenta Matematica, Extra Volume ISMP. с. 389—400. S2CID15568746. (англ.)
↑A gradient method for optimizing multi-stage allocation processes. Proceedings of the Harvard Univ. Symposium on digital computers and their applications. April 1961. (англ.)
↑Dreyfus, Stuart E. (1 вересня 1990). Artificial neural networks, back propagation, and the Kelley-Bryson gradient procedure. Journal of Guidance, Control, and Dynamics. 13 (5): 926—928. Bibcode:1990JGCD...13..926D. doi:10.2514/3.25422. ISSN0731-5090. (англ.)
↑Mizutani, E.; Dreyfus, S.E.; Nishio, K. (2000). On derivation of MLP backpropagation from the Kelley-Bryson optimal-control gradient formula and its application. Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium. IEEE: 167–172 vol.2. doi:10.1109/ijcnn.2000.857892. ISBN0-7695-0619-4. S2CID351146. (англ.)
↑Dreyfus, Stuart (1973). The computational solution of optimal control problems with time lag. IEEE Transactions on Automatic Control. 18 (4): 383—385. doi:10.1109/tac.1973.1100330. (англ.)
↑Waibel, Alex (December 1987). Phoneme Recognition Using Time-Delay Neural Networks. Meeting of the Institute of Electrical, Information and Communication Engineers (IEICE). Tokyo, Japan. (англ.)
↑Qian, Ning, and Terrence J. Sejnowski. "Predicting the secondary structure of globular proteins using neural network models." Journal of molecular biology 202, no. 4 (1988): 865-884. (англ.)
↑Bohr, Henrik, Jakob Bohr, Søren Brunak, Rodney MJ Cotterill, Benny Lautrup, Leif Nørskov, Ole H. Olsen, and Steffen B. Petersen. "Protein secondary structure and homology by neural networks The α-helices in rhodopsin." FEBS letters 241, (1988): 223-228 (англ.)
↑Rost, Burkhard, and Chris Sander. «Prediction of protein secondary structure at better than 70 % accuracy.» Journal of molecular biology 232, no. 2 (1993): 584—599. (англ.)
↑Schmidhuber, Jürgen (1993). Habilitation Thesis(PDF).{{cite book}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)(англ.)
↑ абSchlag, Imanol; Irie, Kazuki; Schmidhuber, Jürgen (2021). Linear Transformers Are Secretly Fast Weight Programmers. ICML 2021. Springer. с. 9355—9366. (англ.)
↑Schmidhuber, Jürgen (1993). Reducing the ratio between learning complexity and number of time-varying variables in fully recurrent nets. ICANN 1993. Springer. с. 460—463. (англ.)
↑Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N.; Kaiser, Lukasz; Polosukhin, Illia (12 червня 2017). Attention Is All You Need. arXiv:1706.03762 [cs.CL]. (англ.)
↑Wolf, Thomas; Debut, Lysandre; Sanh, Victor; Chaumond, Julien; Delangue, Clement; Moi, Anthony; Cistac, Pierric; Rault, Tim; Louf, Remi; Funtowicz, Morgan; Davison, Joe; Shleifer, Sam; von Platen, Patrick; Ma, Clara; Jernite, Yacine; Plu, Julien; Xu, Canwen; Le Scao, Teven; Gugger, Sylvain; Drame, Mariama; Lhoest, Quentin; Rush, Alexander (2020). Transformers: State-of-the-Art Natural Language Processing. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. с. 38—45. doi:10.18653/v1/2020.emnlp-demos.6. S2CID208117506. (англ.)
↑He, Cheng (31 грудня 2021). Transformer in CV. Transformer in CV. Towards Data Science. (англ.)
↑Schmidhuber, Jürgen (1991). A possibility for implementing curiosity and boredom in model-building neural controllers. Proc. SAB'1991. MIT Press/Bradford Books. с. 222—227. (англ.)
↑ абGoodfellow, Ian; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua (2014). Generative Adversarial Networks(PDF). Proceedings of the International Conference on Neural Information Processing Systems (NIPS 2014). с. 2672—2680. Архів(PDF) оригіналу за 22 листопада 2019. Процитовано 20 серпня 2019. (англ.)
↑Gers, Felix; Schmidhuber, Jürgen; Cummins, Fred (1999). Learning to forget: Continual prediction with LSTM. 9th International Conference on Artificial Neural Networks: ICANN '99. Т. 1999. с. 850—855. doi:10.1049/cp:19991218. ISBN0-85296-721-7. (англ.)
↑Srivastava, Rupesh Kumar; Greff, Klaus; Schmidhuber, Jürgen (2 травня 2015). Highway Networks. arXiv:1505.00387 [cs.LG]. (англ.)
↑Srivastava, Rupesh K; Greff, Klaus; Schmidhuber, Juergen (2015). Training Very Deep Networks. Advances in Neural Information Processing Systems. Curran Associates, Inc. 28: 2377—2385. (англ.)
↑Ng, Andrew; Dean, Jeff (2012). Building High-level Features Using Large Scale Unsupervised Learning. arXiv:1112.6209 [cs.LG]. (англ.)
↑Ian Goodfellow and Yoshua Bengio and Aaron Courville (2016). Deep Learning. MIT Press. Архів оригіналу за 16 квітня 2016. Процитовано 1 червня 2016. (англ.)
↑Abbod, Maysam F. (2007). Application of Artificial Intelligence to the Management of Urological Cancer. The Journal of Urology. 178 (4): 1150—1156. doi:10.1016/j.juro.2007.05.122. PMID17698099. (англ.)
↑Dawson, Christian W. (1998). An artificial neural network approach to rainfall-runoff modelling. Hydrological Sciences Journal. 43 (1): 47—66. doi:10.1080/02626669809492102. (англ.)
↑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) оригіналу за 5 квітня 2022. Процитовано 7 липня 2022. (англ.)
↑Zell, Andreas (1994). Simulation Neuronaler Netze [Simulation of Neural Networks] (нім.) (вид. 1st). Addison-Wesley. с. 73. ISBN3-89319-554-8.
↑Kelleher, John D.; Mac Namee, Brian; D'Arcy, Aoife (2020). 7-8. Fundamentals of machine learning for predictive data analytics: algorithms, worked examples, and case studies (вид. 2nd). Cambridge, MA. ISBN978-0-262-36110-1. OCLC1162184998. (англ.)
↑Wei, Jiakai (26 квітня 2019). Forget the Learning Rate, Decay Loss. arXiv:1905.00094 [cs.LG]. (англ.)
↑Widrow, Bernard та ін. (2013). The no-prop algorithm: A new learning algorithm for multilayer neural networks. Neural Networks. 37: 182—188. doi:10.1016/j.neunet.2012.09.020. PMID23140797. (англ.)
↑Ollivier, Yann; Charpiat, Guillaume (2015). Training recurrent networks without backtracking. arXiv:1507.07680 [cs.NE]. (англ.)
↑ абвгДуда, О. М.; Кунанець, Н. Е.; Мацюк, О. В.; Пасічник, В. В. (21—27 травня 2018). Методи аналітичного опрацювання big data(PDF). Інтелектуальні системи прийняття рішень та проблеми обчислювального інтелекту (укр.). Залізний Порт. с. 159. ISBN978-617-7573-17-2.
↑Secomandi, Nicola (2000). Comparing neuro-dynamic programming algorithms for the vehicle routing problem with stochastic demands. Computers & Operations Research. 27 (11–12): 1201—1225. CiteSeerX10.1.1.392.4034. doi:10.1016/S0305-0548(99)00146-X. (англ.)
↑de Rigo, D.; Rizzoli, A. E.; Soncini-Sessa, R.; Weber, E.; Zenesi, P. (2001). Neuro-dynamic programming for the efficient management of reservoir networks. Proceedings of MODSIM 2001, International Congress on Modelling and Simulation. MODSIM 2001, International Congress on Modelling and Simulation. Canberra, Australia: Modelling and Simulation Society of Australia and New Zealand. doi:10.5281/zenodo.7481. ISBN0-86740-525-2. Архів оригіналу за 7 серпня 2013. Процитовано 29 липня 2013. (англ.)
↑Damas, M.; Salmeron, M.; Diaz, A.; Ortega, J.; Prieto, A.; Olivares, G. (2000). Genetic algorithms and neuro-dynamic programming: application to water supply networks. Proceedings of 2000 Congress on Evolutionary Computation. 2000 Congress on Evolutionary Computation. Т. 1. La Jolla, California, US: IEEE. с. 7—14. doi:10.1109/CEC.2000.870269. ISBN0-7803-6375-2. (англ.)
↑Bozinovski, S. (1982). «A self-learning system using secondary reinforcement». In R. Trappl (ed.) Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research. North Holland. pp. 397—402. ISBN 978-0-444-86488-8. (англ.)
↑Bozinovski, Stevo; Bozinovska, Liljana (2001). Self-learning agents: A connectionist theory of emotion based on crossbar value judgment. Cybernetics and Systems. 32 (6): 637—667. doi:10.1080/01969720118145. S2CID8944741. (англ.)
↑Ferreira, C. (2006). Designing Neural Networks Using Gene Expression Programming. У A. Abraham; B. de Baets; M. Köppen; B. Nickolay (ред.). Applied Soft Computing Technologies: The Challenge of Complexity(PDF). Springer-Verlag. с. 517—536. Архів(PDF) оригіналу за 19 грудня 2013. Процитовано 8 жовтня 2012. (англ.)
↑Li, Xiangang; Wu, Xihong (15 жовтня 2014). Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition. arXiv:1410.4281 [cs.CL]. (англ.)
↑Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan; Graepel, Thore; Lillicrap, Timothy; Simonyan, Karen; Hassabis, Demis (5 грудня 2017). Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. arXiv:1712.01815 [cs.AI]. (англ.)
↑Zoph, Barret; Le, Quoc V. (4 листопада 2016). Neural Architecture Search with Reinforcement Learning. arXiv:1611.01578 [cs.LG]. (англ.)
↑Haifeng Jin; Qingquan Song; Xia Hu (2019). Auto-keras: An efficient neural architecture search system. Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM. arXiv:1806.10282. Архів оригіналу за 21 серпня 2019. Процитовано 21 серпня 2019 — через autokeras.com. (англ.)
↑Ermini, Leonardo; Catani, Filippo; Casagli, Nicola (1 березня 2005). Artificial Neural Networks applied to landslide susceptibility assessment. Geomorphology. Geomorphological hazard and human impact in mountain environments. 66 (1): 327—343. Bibcode:2005Geomo..66..327E. doi:10.1016/j.geomorph.2004.09.025. (англ.)
↑Nix, R.; Zhang, J. (May 2017). Classification of Android apps and malware using deep neural networks. 2017 International Joint Conference on Neural Networks (IJCNN): 1871—1878. doi:10.1109/IJCNN.2017.7966078. ISBN978-1-5090-6182-2. S2CID8838479. (англ.)
↑Detecting Malicious URLs. The systems and networking group at UCSD. Архів оригіналу за 14 липня 2019. Процитовано 15 лютого 2019. (англ.)
↑Homayoun, Sajad; Ahmadzadeh, Marzieh; Hashemi, Sattar; Dehghantanha, Ali; Khayami, Raouf (2018), Dehghantanha, Ali; Conti, Mauro; Dargahi, Tooska (ред.), BoTShark: A Deep Learning Approach for Botnet Traffic Detection, Cyber Threat Intelligence, Advances in Information Security, Springer International Publishing, с. 137—153, doi:10.1007/978-3-319-73951-9_7, ISBN978-3-319-73951-9(англ.)
↑Ghosh та Reilly (January 1994). Credit card fraud detection with a neural-network. 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences. 3: 621—630. doi:10.1109/HICSS.1994.323314. ISBN978-0-8186-5090-1. S2CID13260377. (англ.)
↑Balcázar, José (July 1997). Computational Power of Neural Networks: A Kolmogorov Complexity Characterization. IEEE Transactions on Information Theory. 43 (4): 1175—1183. CiteSeerX10.1.1.411.7782. doi:10.1109/18.605580. (англ.)
↑Lee, Jaehoon; Xiao, Lechao; Schoenholz, Samuel S.; Bahri, Yasaman; Novak, Roman; Sohl-Dickstein, Jascha; Pennington, Jeffrey (2020). Wide neural networks of any depth evolve as linear models under gradient descent. Journal of Statistical Mechanics: Theory and Experiment. 2020 (12): 124002. arXiv:1902.06720. Bibcode:2020JSMTE2020l4002L. doi:10.1088/1742-5468/abc62b. S2CID62841516. (англ.)
↑Xu ZJ, Zhang Y, Xiao Y (2019). Training Behavior of Deep Neural Network in Frequency Domain. У Gedeon T, Wong K, Lee M (ред.). Neural Information Processing. ICONIP 2019. Lecture Notes in Computer Science. Т. 11953. Springer, Cham. с. 264—274. arXiv:1807.01251. doi:10.1007/978-3-030-36708-4_22. ISBN978-3-030-36707-7. S2CID49562099. (англ.)
↑Nasim Rahaman; Aristide Baratin; Devansh Arpit; Felix Draxler; Min Lin; Fred Hamprecht; Yoshua Bengio; Aaron Courville (2019). On the Spectral Bias of Neural Networks(PDF). Proceedings of the 36th International Conference on Machine Learning. 97: 5301—5310. arXiv:1806.08734. Архів(PDF) оригіналу за 22 жовтня 2022. Процитовано 4 червня 2022. (англ.)
↑Tao Luo; Zheng Ma; Zhi-Qin John Xu; Yaoyu Zhang (2019). Theory of the Frequency Principle for General Deep Neural Networks. arXiv:1906.09235 [cs.LG]. (англ.)
↑ абEdwards, Chris (25 червня 2015). Growing pains for deep learning. Communications of the ACM. 58 (7): 14—16. doi:10.1145/2771283. S2CID11026540. (англ.)
Borgelt, Christian (2003). Neuro-Fuzzy-Systeme : von den Grundlagen künstlicher Neuronaler Netze zur Kopplung mit Fuzzy-Systemen. Vieweg. ISBN978-3-528-25265-6. OCLC76538146. (нім.)
Dewdney, A. K. (1997). Yes, we have no neutrons : an eye-opening tour through the twists and turns of bad science. New York: Wiley. ISBN978-0-471-10806-1. OCLC35558945. (англ.)
Duda, Richard O.; Hart, Peter Elliot; Stork, David G. (2001). Pattern classification (вид. 2). Wiley. ISBN978-0-471-05669-0. OCLC41347061. (англ.)
Hertz, J.; Palmer, Richard G.; Krogh, Anders S. (1991). Introduction to the theory of neural computation. Addison-Wesley. ISBN978-0-201-51560-2. OCLC21522159. (англ.)