Шту́чні нейро́нні мере́жі (ШНМ, ), які зазвичай просто називають нейронними мережами (НМ, ) або нейромережами (), це обчислювальні системи, натхнені біологічними нейронними мережами, які складають мозок тварин.
ШНМ ґрунтується на сукупності з'єднаних вузлів (), які називають штучними нейронами, які приблизно моделюють нейрони біологічного мозку. Кожне з'єднання, як і синапси в біологічному мозку, може передавати сигнал до інших нейронів. Штучний нейрон отримує сигнали, потім обробляє їх і може сигналізувати нейронам, з якими його з'єднано. «Сигнал» у з'єднанні це дійсне число, а вихід кожного нейрона обчислюється деякою нелінійною функцією суми його входів. З'єднання називають ребрами (). Нейрони та ребра зазвичай мають (), яка підлаштовується в процесі навчання. Вага збільшує або зменшує силу сигналу на з'єднанні. Нейрони можуть мати такий поріг, що сигнал надсилається лише тоді, коли сукупний сигнал перевищує цей поріг.
Як правило, нейрони зібрано в шари (). Різні шари можуть виконувати різні перетворення даних свого входу. Сигнали проходять від першого шару (шару входу) до останнього (шару виходу), можливо, після проходження шарами декілька разів.
Тренування
Нейронні мережі навчаються (або, їх тренують) шляхом обробки прикладів, кожен з яких містить відомий «вхід» та «результат», утворюючи ймовірнісно зважені асоціації між ними, які зберігаються в структурі даних самої мережі. Тренування нейронної мережі заданим прикладом зазвичай здійснюють шляхом визначення різниці між обробленим виходом мережі (часто, передбаченням) і цільовим виходом. Ця різниця є похибкою. Потім мережа підлаштовує свої зважені асоціації відповідно до правила навчання і з використанням цього значення похибки. Послідовні підлаштовування призведуть до виробляння нейронною мережею результатів, усе більше схожих на цільові. Після достатньої кількості цих підлаштовувань, тренування можливо припинити на основі певного критерію. Це форма керованого навчання.
Такі системи «навчаються» виконувати завдання, розглядаючи приклади, як правило, без програмування правил для конкретних завдань. Наприклад, у розпізнаванні зображень вони можуть навчитися встановлювати зображення, на яких зображені коти, аналізуючи приклади зображень, вручну як «кіт» та «не кіт», і використовуючи результати для ідентифікування котів на інших зображеннях. Вони роблять це без будь-якого апріорного знання про котів, наприклад, що вони мають хутро, хвости, вуса та котоподібні писки. Натомість вони автоматично породжують ідентифікаційні характеристики з прикладів, які оброблюють.
Історія
Найпростіший тип нейронної мережі прямого поширення (НМПП, ) це лінійна мережа, яка складається з єдиного шару вузлів виходу; входи подаються безпосередньо на виходи через низку ваг. В кожному вузлі обчислюється сума добутків ваг та даних входів. Середньоквадратичні похибки між цими обчисленими виходами та заданими цільовими значеннями мінімізують шляхом підлаштовування ваг. Цей метод відомий понад два століття як метод найменших квадратів або лінійна регресія. Лежандр (1805) та Гаусс (1795) використовували його як засіб для знаходження доброго грубого лінійного допасування до набору точок для передбачування руху планет.Mansfield Merriman, «A List of Writings Relating to the Method of Least Squares»
та створили та проаналізували модель Ізінга (1925), яка, по суті, є штучною рекурентною нейронною мережею (РНМ, ) без навчання, що складається з нейроноподібних порогових елементів. 1972 року зробив цю архітектуру адаптивною. Його навчання РНМ популяризував Джон Гопфілд 1982 року.
Воррен Маккалох та (1943) також розглядали ненавчану обчислювальну модель для нейронних мереж. Наприкінці 1940-х років Д. О. Гебб створив гіпотезу навчання, засновану на механізмі нейропластичності, що стала відомою як геббове навчання (). Фарлі та (1954) вперше використали обчислювальні машини, звані тоді «калькуляторами», для моделювання геббової мережі. 1958 року психолог Френк Розенблат винайшов перцептрон (), першу втілену штучну нейронну мережу,Haykin (2008) Neural Networks and Learning Machines, 3rd edition фінансовану США.
Дехто каже, що дослідження зазнали застою після того, як Мінскі та Пейперт (1969) виявили, що базові перцептрони не здатні обробляти схему виключного «або», і що комп'ютерам бракує достатньої потужності для обробки придатних нейронних мереж. Проте на момент виходу цієї книги вже були відомі методи тренування багатошарових перцептронів (БШП, ).
Перший БШП глибокого навчання опублікували Олексій Григорович Івахненко та Валентин Лапа 1965 року під назвою метод групового урахування аргументів (). Перший БШП глибокого навчання, навчений стохастичним градієнтним спуском, опублікував 1967 року . У комп'ютерних експериментах, проведених учнем Амарі Сайто, п'ятишаровий БШП із двома змінюваними шарами навчився корисних внутрішніх подань для класифікування нелінійно роздільних класів образів.
Самоорганізаційні карти () описав Теуво Кохонен 1982 року. Самоорганізаційні карти — це нейрофізіологічно натхнені нейронні мережі, які навчаються низьковимірного подання високовимірних даних, зберігаючи при цьому топологічну структуру цих даних. Вони тренуються за допомогою конкурентного навчання.
Архітектуру згорткової нейронної мережі (ЗНМ, ) зі згортковими шарами та шарами пониження дискретизації запропонував 1980 року. Він назвав її неокогнітроном (). 1969 року він також запропонував передавальну функцію ReLU (, випрямлений лінійний вузол). Цей випрямляч став найпопулярнішою передавальною функцією для ЗНМ та глибоких нейронних мереж загалом. ЗНМ стали важливим інструментом комп'ютерного бачення.
Алгоритм зворотного поширення () це ефективне застосування ланцюгового правила Лейбніца (1673) до мереж диференційовних вузлів. Він також відомий як зворотний режим автоматичного диференціювання або зворотне накопичення, завдяки (1970). Термін «похибки зворотного поширення» () запровадив 1962 року Френк Розенблат, але він не мав втілення цієї процедури, хоча та мали безперервні попередники зворотного поширення на основі динамічного програмування. вже в 1960—61 роках у контексті теорії керування. 1973 року Дрейфус використав зворотне поширення для пристосовування параметрів контролерів пропорційно градієнтам похибок. 1982 року застосував зворотне поширення до БШП у спосіб, який став стандартним. 1986 року Румельхарт, Гінтон та Вільямс показали, що зворотне поширення навчається цікавих внутрішніх подань слів як векторів ознак, коли тренується передбачувати наступне слово в послідовності.David E. Rumelhart, Geoffrey E. Hinton & Ronald J. Williams, «Learning representations by back-propagating errors ,» Nature, 323, pages 533—536 1986.
Нейронна мережа з часовою затримкою () (1987) поєднала згортки, спільні ваги та зворотне поширення. 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. 1988 року Вей Чжан зі співавт. застосовували зворотне поширення до ЗНМ (спрощеного неокогнітрона зі згортковими взаємозв'язками між шарами ознак зображення та останнім повнозв'язним шаром) для абеткового розпізнавання. 1989 року Ян Лекун зі співавт. навчили ЗНМ розпізнавати рукописні поштові індекси на пошті. 1992 року Джуан Венг зі співавт. запропонували максимізувальне агрегування () для ЗНМ, щоби допомогти з інваріантністю щодо найменшого зсуву та толерантністю до деформування для сприяння .J. Weng, N. Ahuja and T. S. Huang, "Cresceptron: a self-organizing neural network which grows adaptively ," Proc. International Joint Conference on Neural Networks, Baltimore, Maryland, vol I, pp. 576–581, June 1992. J. Weng, N. Ahuja and T. S. Huang, "Learning recognition and segmentation of 3-D objects from 2-D images ," Proc. 4th International Conf. Computer Vision, Berlin, Germany, pp. 121–128, May 1993. J. Weng, N. Ahuja and T. S. Huang, "Learning recognition and segmentation using the Cresceptron ," International Journal of Computer Vision, vol. 25, no. 2, pp. 105–139, Nov. 1997. LeNet-5 (1998), 7-рівневу ЗНМ від Яна Лекуна зі співавт., яка класифікує цифри, було застосовано кількома банками для розпізнавання рукописних чисел на чеках, оцифрованих у зображення 32×32 пікселів.
Починаючи з 1988 року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.
У 1980-х роках зворотне поширення не працювало добре для глибоких НМПП та РНМ. Щоби подолати цю проблему, Юрген Шмідхубер (1992) запропонував ієрархію РНМ, попередньо тренованих по одному рівню самокерованим навчанням. Вона використовує передбачувальне кодування для навчання внутрішніх подань у кількох самоорганізованих масштабах часу. Це може істотно полегшувати подальше глибоке навчання. Цю ієрархію РНМ можливо згорнути () в єдину РНМ шляхом фрагментувальної () мережі вищого рівня в автоматизувальну () мережу нижчого рівня. 1993 року фрагментувальник розв'язав завдання глибокого навчання, глибина якого перевищувала 1000.
1992 року Юрген Шмідхубер також опублікував альтернативу РНМ (), яку зараз називають лінійним трансформером () або трансформером з лінеаризованою самоувагою (за винятком оператора нормування). Він навчається внутрішніх центрів уваги (): повільна нейронна мережа прямого поширення вчиться за допомогою градієнтного спуску керувати швидкими вагами іншої нейронної мережі через тензорні добутки самопороджуваних шаблонів збудження FROM і TO (званих тепер ключем, , та значенням, , самоуваги). Це відображення уваги () швидких ваг застосовують до шаблону запиту.
Сучасний трансформер () запропонували Ашиш Васвані зі співавт. у своїй праці 2017 року «Увага — це все, що вам треба». Він поєднує це з оператором softmax та проєкційною матрицею. Трансформери все частіше обирають за модель для обробки природної мови. Багато сучасних великих мовних моделей, таких як ChatGPT, GPT-4 та BERT, використовують саме його. Трансформери також все частіше використовують у комп'ютернім баченні.
1991 року Юрген Шмідхубер також опублікував змагальні нейронні мережі (), які змагаються між собою у формі антагоністичної гри, де виграш однієї мережі є програшем іншої. Перша мережа є породжувальною моделлю, яка моделює розподіл імовірності над образами на виході. Друга мережа навчається градієнтним спуском передбачувати реакцію середовища на ці образи. Це було названо «штучною цікавістю» ().
2014 року Ян Ґудфелоу зі співавт. використали цей принцип у породжувальній змагальній мережі (). Тут реакція навколишнього середовища дорівнює 1 або 0 залежно від того, чи належить вихід першої мережі до заданого набору. Це можливо використовувати для створення реалістичних дипфейків. Відмінної якості зображення досягла Nvidia (2018) на основі прогресивної породжувальної змагальної мережі () Теро Карраса, Тімо Айли, Самулі Лайне та Яакко Лехтінена. Тут породжувач вирощується від малого до великого пірамідним чином.