
Нейронная сетка – гэта паслядоўнасць нейронаў, злучаных паміж сабой сінапсамі. Структура нейроннай сеткі прыйшла ў свет праграмавання з біялогіі. Дзякуючы такой структуры, машына набывае здольнасць аналізаваць і нават запамінаць розную інфармацыю. Нейронныя сеткі таксама здольныя не толькі аналізаваць уваходную інфармацыю, але і прайграваць яе са сваёй памяці. Іншымі словамі, нейросетка – гэта машынная інтэрпрэтацыя мозгу чалавека, у якім знаходзяцца мільёны нейронаў, што перадаюць інфармацыю ў выглядзе электрычных імпульсаў.
Для чаго патрэбныя нейронныя сеткі?
Нейронныя сеткі выкарыстоўваюцца для вырашэння складаных задач, якія патрабуюць аналітычных вылічэнняў падобных тым, што робіць чалавечы мозг. Самымі распаўсюджанымі ўжываннямі нейронных сетак з’яўляюцца:
Класіфікацыя – размеркаванне даных па параметрах. Напрыклад, на ўваход даецца набор людзей і трэба вырашыць, каму з іх даваць крэдыт, а каму не. Гэту працу можа зрабіць нейронная сетка, аналізуючы такую інфармацыю як: узрост, плацежаздольнасць, крэдытная гісторыя і т. д.
Прадказанне – магчымасць прадказваць наступны крок. Напрыклад, рост або падзенне акцый, грунтуючыся на сітуацыі на фондавым рынку.
Распазнаванне – у цяперашні час, самае шырокае прымяненне нейронных сетак. Выкарыстоўваецца ў Google, калі вы шукаеце фота ці ў камерах тэлефонаў. Яно вызначае ваша становішча і вылучае яго і шмат іншага.
Што такое нейрон?
Нейрон – гэта вылічальная адзінка, якая атрымлівае інфармацыю, вырабляе над ёй простыя вылічэнні і перадае яе далей. Нейроны падзяляюцца на тры асноўныя тыпы: уваходны (на малюнку сіні), схаваны (чырвоны) і выходны (зялёны). Калі нейрасетка складаецца з вялікай колькасці нейронаў, уводзяць тэрмін “слаі”. Адпаведна, ёсць уваходны слой, які атрымлівае інфармацыю, n схаваных слаёў, якія яе апрацоўваюць, і выходны слой, які выводзіць вынік. У кожнага з нейронаў ёсць 2 асноўныя параметры: уваходныя даныя (input data) і выходныя даныя (output data). У выпадку ўваходнага нейрона: input=output. У астатніх, у поле input трапляе сумарная інфармацыя ўсіх нейронаў з папярэдняга слоя, пасля чаго яна нармалізуецца з дапамогай функцыі актывацыі і трапляе ў поле output.
Што такое сінапс?
Сінапс – гэта сувязь паміж двума нейронамі. У сінапсаў ёсць 1 параметр – вага. Дзякуючы яму, уваходная інфармацыя змяняецца, калі перадаецца ад аднаго нейрона да іншага. Возьмем 3 нейрона, якія перадаюць інфармацыю наступнага нейрона. Тады ёсць 3 вагі, якія адпавядаюць кожнаму з гэтых нейронаў. У таго нейрона, вага якога будзе больш, нясе інфармацыю, дамінуючую ў наступным нейроне (прыклад на малюнку – змешванне колераў). На самой справе, сукупнасць вагаў нейроннай сеткі або матрыца вагаў – гэта своеасаблівы мозг ўсёй сістэмы. Менавіта дзякуючы гэтым вагам, уваходная інфармацыя апрацоўваецца і пераўтвараецца ў вынік.
Як працуе нейронная сетка?
У дадзеным прыкладзе прадстаўлена частка нейроннай сеткі, дзе літарамі I пазначаныя ўваходныя нейроны, літарай H – схаваны нейрон, а літарай w – вагі. З формулы відаць, што ўваходная інфармацыя – гэта сума ўсіх ўваходных даных, памножаных на адпаведныя ім вагі. На ўваход кожнага ўваходнага нейрона i падаецца інфармацыя, па якой разлічваецца ўзважаная сума. Атрыманы лік – уваходная інфармацыя слоя H. Цяпер, калі маюцца ўваходныя даныя, можна атрымаць выходныя даныя, падставіўшы ўваходнае значэнне ў функцыю актывацыі (апісана далей). Затым, калі вылічаны выходныя даныя, яны перадаюцца далей. І так паўтараецца для ўсіх слаёў, пакуль не дойдзе да выхаднога нейрона. Запусціўшы такую сетку ў першы раз, прыкметна, што адказ далёкі ад правільнага, таму што сетка не натрэніравана. Для разумення трэніроўкі нейроннай сеткі неабходна ўвесці некалькі тэрмінаў.
Функцыя актывацыі
Функцыя актывацыі – гэта спосаб нармалізацыі ўваходных даных. Гэта значыць, калі на ўваходзе будзе вялікі лік, прапусціўшы яго праз функцыю актывацыі, можна атрымаць выхад у патрэбным дыяпазоне. Функцый актывацыі даволі шмат. У дадзеным артыкуле будуць разгледжаны самыя асноўныя: Сігмоід (лагістычная) і Гіпербалічны тангенс. Галоўныя іх адрозненні – гэта дыяпазон значэнняў.
Сігмоід
Самая распаўсюджаная функцыя актывацыі. Яе дыяпазон значэнняў [0,1]. Менавіта на ёй паказана большасць прыкладаў у сетцы. Таксама яе часам называюць лагістычнай функцыяй. Адпаведна, калі ў даных прысутнічаюць адмоўныя значэнні (напрыклад, акцыі могуць ісці не толькі ўверх, але і ўніз), то ў такім выпадку патрэбна функцыя, якая захоплівае і адмоўныя значэнні.
Гіпербалічны тангенс
Мае сэнс выкарыстоўваць гіпербалічны тангенс толькі тады, калі значэнні ў даных могуць быць і адмоўнымі, і станоўчымі, так як дыяпазон функцыі [-1,1]. Выкарыстоўваць гэту функцыю толькі са станоўчымі значэннямі немэтазгодна, так як гэта значна пагоршыць вынікі вашай нейрасеткі.
Трэніровачны сэт (выбарка/набор)
Трэніровачны сэт – гэта паслядоўнасць даных, на якіх навучаецца нейронная сетка.
Ітэрацыя
Своеасаблівы лічыльнік, які павялічваецца кожны раз, калі нейронная сетка праходзіць адзін трэніровачны сэт. Іншымі словамі, гэта агульная колькасць трэніровачных сэтаў, якія праходзіць нейронная сетка.
Эпоха
Пры ініцыялізацыі нейроннай сеткі гэта велічыня ўсталёўваецца ў 0 і мае верхні парог, які задаецца ўручную. Эпоха павялічваецца кожны раз, калі нейронная сетка праходзіць увесь трэніровачны набор даных.
Памылка
Памылка – гэта велічыня, якая адлюстроўвае разыходжанне паміж чаканым і атрыманым адказамі, якая фарміруецца кожную эпоху. Памылку можна вылічыць рознымі шляхамі, але ў дадзеным артыкуле будуць разгледжаны толькі два асноўныя спосабы: Mean Squared Error (далей MSE) і Root MSE. Тут няма якога-небудзь абмежавання на выкарыстанне, як у функцыі актывацыі, і вы можаце выбраць любы метад, які будзе прыносіць найлепшы вынік.
MSE
Root MSE
Прынцып падліку памылкі ва ўсіх выпадках аднолькавы. За кожны сэт падлічваецца памылка і вылічаецца розніца паміж атрыманым значэннем і ідэальным значэннем. Далей атрыманы лік дзелім на колькасць сэтаў.
Такім чынам, у дадзеным артыкуле пазначаны задачы, для якіх выкарыстоўваюцца нейронныя сеткі. Таксама апісана асноўная структура нейроннай сеткі, прадстаўлены некалькі функцый актывацыі і некалькі функцый для падліку памылкі.