Нейронныя сеткі гучаць загадкава, пакуль не перастануць быць загадкавымі. Калі вы калі-небудзь задаваліся пытаннем, што такое нейронная сетка ў штучным інтэлекце і ці з'яўляецца гэта проста матэматыкай у мудрагелістым капелюшы, вы ў патрэбным месцы. Мы будзем прытрымлівацца практычнага падыходу, дадамо невялікія адхіленні ад тэмы і, так, некалькі эмодзі. Вы даведаецеся, што гэта за сістэмы, чаму яны працуюць, дзе яны даюць збой і як пра іх казаць, не махаючы рукой.
Артыкулы, якія вам могуць спадабацца пасля гэтага:
🔗 Што такое прадузятасць штучнага інтэлекту
Разуменне прадузятасці ў сістэмах штучнага інтэлекту і стратэгіі забеспячэння справядлівасці.
🔗 Што такое прагназуючы штучны інтэлект
Як прагназуючы штучны інтэлект выкарыстоўвае заканамернасці для прагназавання будучых вынікаў.
🔗 Што такое трэнер па штучным інтэлекце
Вывучэнне ролі і абавязкаў спецыялістаў, якія навучаюць штучны інтэлект.
🔗 Што такое камп'ютэрны зрок у штучным інтэлекце
Як штучны інтэлект інтэрпрэтуе і аналізуе візуальныя дадзеныя з дапамогай камп'ютэрнага зроку.
Што такое нейронная сетка ў штучным інтэлекце? Адказ за 10 секунд ⏱️
Нейронная сетка — гэта набор простых вылічальных адзінак, якія называюцца нейронамі, якія перадаюць лікі наперад, карэктуюць сваю трываласць злучэнняў падчас навучання і паступова вывучаюць заканамернасці ў дадзеных. Калі вы чуеце пра глыбокае навучанне , гэта звычайна азначае нейронную сетку з мноствам шматслаёвых слаёў, якая аўтаматычна вывучае функцыі, а не кадуе іх уручную. Іншымі словамі: мноства дробных матэматычных элементаў, разумна размешчаных, навучаных на дадзеных, пакуль яны не стануць карыснымі [1].
Што робіць нейронную сетку карыснай? ✅
-
Магутнасць прадстаўлення : пры правільнай архітэктуры і памеры сеткі могуць апраксімаваць надзвычай складаныя функцыі (гл. тэарэму універсальнага прыбліжэння) [4].
-
Сквознае навучанне : замест ручной распрацоўкі асаблівасцей мадэль іх выяўляе [1].
-
Абагульненне : добра рэгулярызаваная сетка не проста запамінае — яна працуе з новымі, нябачнымі дадзенымі [1].
-
Маштабаванасць : большыя наборы дадзеных і больш маштабныя мадэлі часта паляпшаюць вынікі… да практычных абмежаванняў, такіх як якасць вылічэнняў і дадзеных [1].
-
Пераноснасць : магчымасці, атрыманыя ў адной задачы, могуць дапамагчы іншай (пераноснае навучанне і тонкая налада) [1].
Маленькая палявая нататка (прыклад сцэнарыя): Невялікая каманда па класіфікацыі прадуктаў замяняе ўручную створаныя функцыі на кампактную CNN, дадае простыя дапаўненні (перавароты/абрэзкі) і назірае, як памылкі праверкі змяншаюцца — не таму, што сетка «магічная», а таму, што яна навучылася больш карысным функцыям непасрэдна з пікселяў.
«Што такое нейронная сетка ў штучным інтэлекце?» — простай мовай, з недарэчнай метафарай 🍞
Уявіце сабе пякарню. Інгрэдыенты паступаюць, рабочыя карэктуюць рэцэпт, дэгустатары скардзяцца, і каманда зноў абнаўляе рэцэпт. У сетцы ўваходныя дадзеныя праходзяць праз пласты, функцыя страт ацэньвае вынік, а градыенты падштурхоўваюць вагі, каб наступным разам атрымаць лепшыя вынікі. Не ідэальна як метафара — хлеб не дыферэнцыявальны — але ён трымаецца [1].
Анатомія нейроннай сеткі 🧩
-
Нейроны : малюсенькія калькулятары, якія прымяняюць узважаную суму і функцыю актывацыі.
-
Вагі і зрушэнні : рэгуляваныя ручкі, якія вызначаюць, як сігналы аб'ядноўваюцца.
-
Слаі : уваходны слой атрымлівае дадзеныя, схаваныя слоі пераўтвараюць іх, выходны слой робіць прагноз.
-
Функцыі актывацыі : нелінейныя павароты, такія як ReLU, сігмападобная, tanh і softmax, робяць навучанне гнуткім.
-
Функцыя страт : паказчык таго, наколькі няправільны прагноз (перакрыжаваная энтрапія для класіфікацыі, MSE для рэгрэсіі).
-
Аптымізатар : алгарытмы, такія як SGD або Adam, выкарыстоўваюць градыенты для абнаўлення ваг.
-
Рэгулярызацыя : такія метады, як адсеў або зніжэнне вагі, каб прадухіліць перанавучанне мадэлі.
Калі вам патрэбна фармальная апрацоўка (але ўсё яшчэ чытэльная), адкрыты падручнік «Глыбокае навучанне» ахоплівае ўвесь стэк: асновы матэматыкі, аптымізацыю і абагульненне [1].
Функцыі актывацыі, коратка, але карысна ⚡
-
ReLU : Нуль для адмоўных значэнняў, лінейны для станоўчых. Просты, хуткі, эфектыўны.
-
Сігмападобная : Зводзіць значэнні паміж 0 і 1 — карысна, але можа насычаць.
-
Танх : Падобны да сігмападобнай, але сіметрычны вакол нуля.
-
Softmax : Ператварае неапрацаваныя балы ў верагоднасці для розных класаў.
Вам не трэба запамінаць кожную форму крывой — проста ведайце кампрамісы і распаўсюджаныя значэнні па змаўчанні [1, 2].
Як насамрэч адбываецца навучанне: з падтрымкай, але не страшна 🔁
-
Прамая перадача : дадзеныя перадаюцца пласт за пластом для стварэння прагнозу.
-
Вылічыць страты : параўнаць прагноз з праўдай.
-
Зваротнае распаўсюджванне : вылічыце градыенты страт адносна кожнай вагі, выкарыстоўваючы правіла ланцуга.
-
Абнаўленне : Аптымізатар трохі змяняе вагі.
-
Паўтарэнне : Шмат эпох. Мадэль паступова вучыцца.
Для практычнага разумення з візуальнымі элементамі і тлумачэннямі, прылеглымі да кода, глядзіце класічныя нататкі CS231n па зваротнай аптымізацыі і аптымізацыі [2].
Асноўныя сямействы нейронных сетак, кароткі агляд 🏡
-
Сеткі прамой сувязі (MLP) : найпрасцейшы тып. Дадзеныя перадаюцца толькі наперад.
-
Згорткавыя нейронныя сеткі (ЗНС) : выдатна падыходзяць для малюнкаў дзякуючы прасторавым фільтрам, якія выяўляюць краю, тэкстуры, формы [2].
-
Рэкурэнтныя нейронныя сеткі (RNN) і іх варыянты : створаны для паслядоўнасцей, такіх як тэкст або часовыя шэрагі, з захаваннем парадку [1].
-
Трансформеры : звяртайце ўвагу на мадэляванне адносін паміж пазіцыямі ў паслядоўнасці адначасова; дамінуюць у мове і не толькі [3].
-
Графавыя нейронныя сеткі (ГНС) : працуюць з вузламі і рэбрамі графа — карысныя для малекул, сацыяльных сетак, рэкамендацый [1].
-
Аўтаэнкадэры і VAE : вывучэнне сціснутых прадстаўленняў і стварэнне варыяцый [1].
-
Генератыўныя мадэлі : ад GAN да дыфузійных мадэляў, якія выкарыстоўваюцца для малюнкаў, аўдыё і нават кода [1].
Нататкі CS231n асабліва зручныя для CNN, у той час як праца Transformer з'яўляецца асноўнай крыніцай для мадэляў, заснаваных на ўвазе [2, 3].
Параўнальная табліца: распаўсюджаныя тыпы нейронных сетак, для каго яны прызначаны, коштавыя вібрацыі і чаму яны працуюць 📊
| Інструмент / Тып | Аўдыторыя | Прыблізная цана | Чаму гэта працуе |
|---|---|---|---|
| Прамая сувязь (MLP) | Пачаткоўцы, аналітыкі | Нізкі-сярэдні | Простыя, гнуткія, прыстойныя базавыя лініі |
| Сі-Эн-Эн | Каманды па бачанні | Сярэдні | Лакальныя шаблоны + сумеснае выкарыстанне параметраў |
| РНН / LSTM / ГРУ | Паслядоўнасць людзей | Сярэдні | Часавая памяць... фіксуе парадак |
| Трансфарматар | НЛП, мультымадальны | Сярэдне-высокі | Увага сканцэнтравана на адпаведных адносінах |
| ГНН | Навукоўцы, recsys | Сярэдні | Перадача паведамленняў па графах раскрывае структуру |
| Аўтаэнкадэр / VAE | Даследчыкі | Нізкі-сярэдні | Вывучае сціснутыя прадстаўленні |
| GAN / Дыфузія | Творчыя лабараторыі | Сярэдне-высокі | Змагальная або ітэрацыйная магія шумапрыглушэння |
Заўвагі: цана залежыць ад вылічэнняў і часу; ваш прабег можа адрознівацца. Адзін ці два мабільныя наўмысна балбатлівыя.
«Што такое нейронная сетка ў штучным інтэлекце?» супраць класічных алгарытмаў машыннага навучання ⚖️
-
Распрацоўка прыкмет : класічнае машыннае навучанне часта абапіраецца на ручную распрацоўку прыкмет. Нейронныя сеткі вывучаюць прыкметы аўтаматычна — вялікая перамога для складаных дадзеных [1].
-
Патрэба ў дадзеных : сеткі часта маюць вялікую колькасць дадзеных; невялікія аб'ёмы дадзеных могуць спрыяць больш простым мадэлям [1].
-
Вылічэнні : Сеткі любяць паскаральнікі, такія як графічныя працэсары [1].
-
Максімальная прадукцыйнасць : для неструктураваных дадзеных (малюнкаў, аўдыё, тэксту) глыбокія сеткі, як правіла, дамінуюць [1, 2].
Працэс навучання, які рэальна працуе на практыцы 🛠️
-
Вызначце мэту : класіфікацыя, рэгрэсія, ранжыраванне, генерацыя - выберыце страту, якая адпавядае.
-
Апрацоўка дадзеных : Падзяліць на навучанне/праверку/тэставанне. Нармалізаваць прыкметы. Збалансаваць класы. Для малюнкаў разгледзьце магчымасці пашырэння, такія як перавароты, кадраванне, невялікі шум.
-
Выбар архітэктуры : пачніце з простага. Дадавайце магутнасці толькі пры неабходнасці.
-
Навучальны цыкл : Пакетная апрацоўка дадзеных. Прамы праход. Вылічэнне страт. Зваротнае прасоўванне. Абнаўленне. Запіс метрык.
-
Рэгулярызацыя : адсеў, зніжэнне вагі, ранні спыненне заняткаў.
-
Ацэнка : Выкарыстоўвайце набор праверак для гіперпараметраў. Падрыхтуйце набор тэстаў для канчатковай праверкі.
-
Адпраўляйце асцярожна : кантралюйце дрэйф, правярайце на наяўнасць зрушэння, плануйце адкаты.
Для комплексных, арыентаваных на код падручнікаў з грунтоўнай тэорыяй адкрыты падручнік і нататкі па CS231n з'яўляюцца надзейнай апорай [1, 2].
Перанавучанне, абагульненне і іншыя грэхліны 👀
-
Перанавучанне : мадэль запамінае асаблівасці навучання. Выпраўце іх, выкарыстоўваючы больш дадзеных, больш моцную рэгулярызацыю або больш простыя архітэктуры.
-
Недастатковая падрыхтоўка : мадэль занадта простая або трэніроўкі занадта баязлівыя. Павялічце магутнасць або трэніруйцеся даўжэй.
-
Уцечка дадзеных : інфармацыя з тэставага набору пранікае ў навучальны працэс. Тройчы праверце свае падзелы.
-
Дрэнная каліброўка : мадэль, якая ўпэўненая, але памылковая, небяспечная. Падумайце пра каліброўку або іншы метад узважвання страт.
-
Зрух у размеркаванні : рэальныя дадзеныя рухаюцца. Кантралюйце і адаптуйцеся.
Што да тэорыі абагульнення і рэгулярызацыі, выкарыстоўвайце стандартныя спасылкі [1, 2].
Бяспека, інтэрпрэтабельнасць і адказнае разгортванне 🧭
Нейронавыя сеткі могуць прымаць рашэнні з высокімі стаўкамі. Недастаткова, каб яны добра паказвалі вынікі ў табліцы лідэраў. Патрэбныя этапы кіравання, вымярэння і змякчэння наступстваў на працягу ўсяго жыццёвага цыклу. Структура кіравання рызыкамі NIST AI акрэслівае практычныя функцыі - КІРАВАННЕ, КАРТАГРАФІКАЦЫЯ, ВЫМЯРЭННЕ, КІРАВАННЕ - каб дапамагчы камандам інтэграваць кіраванне рызыкамі ў праектаванне і разгортванне [5].
Некалькі хуткіх падказак:
-
Праверка на прадузятасць : ацэньвайце па дэмаграфічных зрэзах, дзе гэта мэтазгодна і законна.
-
Інтэрпрэтабельнасць : выкарыстоўвайце такія метады, як вылучэнне або атрыбуцыя рыс. Яны недасканалыя, але карысныя.
-
Маніторынг : Усталёўвайце абвесткі аб раптоўным падзенні паказчыкаў або дрэйфе дадзеных.
-
Чалавечы кантроль : Трымайце людзей у курсе важных рашэнняў. Ніякага геройства, толькі гігіена.
Часта задаваныя пытанні, якія ў вас таемна ўзнікалі 🙋
Ці з'яўляецца нейронная сетка па сутнасці мозгам?
Натхнёны мозгам, так, але спрошчана. Нейроны ў сетках — гэта матэматычныя функцыі; біялагічныя нейроны — гэта жывыя клеткі са складанай дынамікай. Падобныя вібрацыі, зусім іншая фізіка [1].
Колькі слаёў мне трэба?
Пачніце з малога. Калі вы недастаткова аптымізаваны, дадайце шырыню або глыбіню. Калі вы занадта аптымізаваны, рэгулярызуйце або паменшыце ёмістасць. Няма магічнага ліку; ёсць толькі крывыя праверкі і цярпенне [1].
Ці заўсёды мне патрэбны графічны працэсар?
Не заўсёды. Невялікія мадэлі на невялікіх дадзеных могуць навучацца на працэсарах, але для малюнкаў, вялікіх тэкставых мадэляў або вялікіх набораў дадзеных паскаральнікі эканомяць кучу часу [1].
Чаму людзі кажуць, што ўвага — гэта магутная сіла?
Паколькі ўвага дазваляе мадэлям засяродзіцца на найбольш важных частках уваходных дадзеных, не рухаючыся строга па парадку. Гэта фіксуе глабальныя сувязі, што вельмі важна для моўных і мультымадальных задач [3].
Ці адрозніваецца «Што такое нейронная сетка ў штучным інтэлекце?» ад «што такое глыбокае навучанне»?
Глыбокае навучанне — гэта больш шырокі падыход, які выкарыстоўвае глыбокія нейронныя сеткі. Таму пытанне «Што такое нейронная сетка ў штучным інтэлекце?» падобнае да пытання пра галоўнага героя; глыбокае навучанне — гэта ўвесь фільм [1].
Практычныя, крыху суб'ектыўныя парады 💡
-
Аддавайце перавагу простым базавым лініям . Нават невялікі шматслаёвы персептрон можа сказаць вам, ці можна вывучаць дадзеныя.
-
Забяспечце ўзнаўляльнасць вашага канвеера дадзеных . Калі вы не можаце яго паўтарыць, вы не можаце яму давяраць.
-
Хуткасць навучання важнейшая, чым вы думаеце. Паспрабуйце расклад. Размінка можа дапамагчы.
-
кампрамісы з памерам партыі . Большыя партыі стабілізуюць градыенты, але могуць абагульняць па-рознаму.
-
Калі вы блытаеце, пабудуйце крывыя страты і нормы вагі . Вы здзівіцеся, як часта адказ знаходзіцца на графіках.
-
Дакументуйце здагадкі. Будучыня — вы хутка забываеце рэчы [1, 2].
Глыбокае апусканне ў тэму: роля дадзеных, або чаму смецце на ўваходзе ўсё яшчэ азначае смецце на выхадзе 🗑️➡️✨
Нейронныя сеткі не выпраўляюць памылковыя дадзеныя чароўным чынам. Скажоныя пазнакі, памылкі ў анатацыях або вузкая выбарка — усё гэта будзе адбівацца на мадэлі. Курыруйце, аўдытуйце і дапаўняйце. А калі вы не ўпэўненыя, што вам патрэбна больш дадзеных ці лепшая мадэль, адказ часта раздражняльна просты: і тое, і другое — але пачніце з якасці дадзеных [1].
«Што такое нейронная сетка ў штучным інтэлекце?» — кароткія азначэнні, якія можна выкарыстоўваць паўторна 🧾
-
Нейронная сетка — гэта шматслаёвы апраксіматар функцый, які вывучае складаныя заканамернасці, карэктуючы вагі з дапамогай градыентных сігналаў [1, 2].
-
Гэта сістэма, якая пераўтварае ўваходныя дадзеныя ў выхадныя праз паслядоўныя нелінейныя крокі, навучаная мінімізаваць страты [1].
-
Гэта гнуткі падыход да мадэлявання, які патрабуе вялікіх аб'ёмаў дадзеных і працуе на неструктураваных уваходных дадзеных, такіх як выявы, тэкст і аўдыё [1, 2, 3].
Занадта доўга, не чытаў і заключныя заўвагі 🎯
Калі хтосьці спытае вас: «Што такое нейронная сетка ў штучным інтэлекце?» , вось краткая фраза: нейронная сетка — гэта набор простых адзінак, якія крок за крокам пераўтвараюць дадзеныя, навучаючыся пераўтварэнню, мінімізуючы страты і прытрымліваючыся градыентаў. Яны магутныя, таму што маштабуюцца, аўтаматычна вывучаюць функцыі і могуць прадстаўляць вельмі складаныя функцыі [1, 4]. Яны рызыкоўныя, калі ігнараваць якасць дадзеных, кіраванне або маніторынг [5]. І гэта не магія. Проста матэматыка, вылічэнні і добрая інжынерыя — з ноткай густу.
Дадатковая літаратура, старанна адабраная (дадатковыя матэрыялы без цытавання)
-
Нататкі па CS231n у Стэнфардзе — даступныя і практычныя: https://cs231n.github.io/
-
DeepLearningBook.org — кананічная спасылка: https://www.deeplearningbook.org/
-
Структура кіравання рызыкамі ў галіне штучнага інтэлекту NIST — рэкамендацыі па адказным выкарыстанні штучнага інтэлекту: https://www.nist.gov/itl/ai-risk-management-framework
-
«Увага — гэта ўсё, што вам трэба» — артыкул пра Трансфарматара: https://arxiv.org/abs/1706.03762
Спасылкі
[1] Гудфелаў, І., Бенджыа, Ю. і Курвіль, А. Глыбокае навучанне . MIT Press. Бясплатная анлайн-версія: чытаць далей
[2] Стэнфард CS231n. Згортачныя нейронныя сеткі для візуальнага распазнавання (канспекты курса): чытаць далей
[3] Васвані, А., Шазір, Н., Пармар, Н. і інш. (2017). Увага — гэта ўсё, што вам трэба . NeurIPS. arXiv: чытаць далей
[4] Цыбенка, Г. (1989). Апраксімацыя суперпазіцыямі сігмапаіднай функцыі . Матэматыка кіравання, сігналаў і сістэм , 2, 303–314. Springer: чытаць далей
[5] NIST. Структура кіравання рызыкамі штучнага інтэлекту (AI RMF) : чытаць далей