Lisi o Mataupu[Natia][Fa'aali]
O le faiʻai e faʻatusatusa i neural networks. O le fa'atusa lea e masani ona fa'aoga e fesoasoani ai i se tagata fou i le mataupu ia malamalama i manatu i tua atu o le a'oa'oina o masini ma feso'ota'iga neural fa'akomepiuta.
Talu ai o lo'o i ai le tele o fa'asologa o fa'asologa o le matematika ma fuainumera o lo'o alu i tua o vaaiga, o le fa'amalamalamaina o nei feso'ota'iga o se galuega fa'a-matematika o se auala e sili atu le alualu i luma.
E mo tagata e fiafia moni i le aʻoaʻoina o masini ma fia vaʻai pe faʻapefea ona tusia le Python neural network code.
I lenei tusiga, o le a matou faʻaalia pe faʻapefea ona fausia se fesoʻotaʻiga fesoʻotaʻiga loloto (DNN) mai le amataga Python 3.
Ose Vaaiga Aoao o le Faiga o Faila mo la matou Python Neural Network Code
E tolu faila e faia iinei. Muamua o le faila faigofie nn.py, lea o le a talanoaina i le "Setting Up Helper Functions" ma le "Fausiaina o le Neural Network from Scratch."
O le a iai foi sa matou faila e igoa ia mnist loader.py e utaina ai faʻamaumauga o suʻega, e pei ona faʻamatalaina i le "Loading MNIST Data."
Ma le mea mulimuli, o le ai ai se matou faila e igoa test.py o le a faʻalauiloaina i le laina e suʻe ai la matou neural network.
O lenei faila o loʻo faʻamatalaina auʻiliʻili i le "Running Tests."
oʻo
Ole faletusi NumPy Python e tatau ona sii mai ina ia mulimuli ai i lenei aʻoaʻoga. E mafai ona e ausia lenei mea e ala i le faʻaaogaina o le poloaiga lenei i luga o le laina:
Fa'aulufaleina o Modules ma fa'atulaga le galuega Fesoasoani
E na'o le lua faletusi matou te mana'omia o random ma NumPy, lea matou te fa'aulufale mai i le taimi lava lena. Mo le mamafa muamua o la tatou neural network, o le a tatou faʻafefeina i latou e faʻaaoga ai le potutusi faʻafuaseʻi.
Ina ia faʻavaveina a matou faʻatusatusaga, matou te faʻaaogaina NumPy poʻo np (e ala i faʻasalalauga, e masani ona faʻaulufale mai e pei o le np). O a tatou galuega fesoasoani e lua o le a faia pe a uma a tatou oloa mai fafo. E lua galuega sigmoid: tasi ma sigmoid prime.
Logistic regression o le a faʻavasegaina faʻamaumauga e faʻaaoga ai le sigmoid function, ae o le backpropagation o le a faʻatatau le delta poʻo le gradient e faʻaaoga ai le sigmoid prime function.
Fausia le Vasega Network
O le fausiaina o se fesoʻotaʻiga neural fesoʻotaʻiga e naʻo le pau lea o le taulaiga o lenei vaega. Ole vasega ole feso'ota'iga ole a aofia uma ai galuega e mulimuli mai. O le galuega Object() { [native code] } o le a faia muamua i la matou vasega fesoʻotaʻiga.
E tasi le finauga, lapopoa, e mana'omia e le galuega Object() { [native code] }. Ole fesuiaiga ole lapopo'a o se aofa'iga o tau fa'afuainumera e fa'atusalia ai le numera o nodes o lo'o iai i vaega ta'itasi o la tatou neural network.
Matou te amataina ni meatotino se fa i la matou metotia __init__. Ole fa'aoga ole fesuiaiga, lapopo'a, e fa'aogaina e seti ai le lisi o lapo'a lapisi ma le numera o fa'asologa, num layers, i le faasologa.
O le la'asaga muamua o le tu'u fa'afuase'i o le fa'aituau muamua o la tatou feso'ota'iga i vaega ta'itasi o lo'o mulimuli i le vaega fa'aoga.
Mulimuli ane, o so'otaga ta'itasi i le va o fa'aulufalega ma fa'aulufale e iai ona mamafa fa'atupu fa'afuase'i. Np.Random.Randn() o lo'o tu'uina mai ai se fa'ata'ita'iga fa'ata'ita'i mai le fa'asoa masani mo fa'amatalaga.
Fafaga i luma Galuega
I totonu o se neural network, o faʻamatalaga e tuʻuina atu i luma e ala i le feedforward function. E tasi le finauga, a, o loʻo faʻaalia ai le vector activation o loʻo iai nei, o le a manaʻomia e lenei galuega.
O lenei galuega e fa'atatauina le fa'agaoioiga i vaega ta'itasi e ala i le su'esu'eina o fa'aituau uma ma le mamafa i le feso'otaiga. O le tali na tu'uina mai o le valo'aga, o le fa'agaoioia o le vaega mulimuli.
Laiti-batch Gradient Descent
O le galuega a le matou vasega Network o le Gradient Descent. I lenei fa'aliliuga, matou te fa'aogaina le fa'asolo malie (stochastic), o se suiga fa'aopoopo o le fa'asolo malie.
O lo'o fa'ailoa mai ai o le a fa'aogaina se vaega itiiti o fa'amaumauga e fa'afou ai la tatou fa'ata'ita'iga. E fa mana'omia ma tasi le finauga e tu'uina atu i lenei metotia. O suiga e fa e mana'omia o le seti o fa'amaumauga o a'oa'oga, le aofa'i o taimi, le tele o tama'i-vaega, ma le fua o le a'oa'oina (eta).
E maua fa'amatalaga su'ega pe a talosagaina. Matou te tu'uina atu fa'amatalaga su'ega pe a o'o ina matou iloiloina lenei feso'ota'iga. Ole numera o fa'ata'ita'iga ile galuega lea e fa'atulaga muamua ile umi ole lisi pe a uma ona suia fa'amaumauga a'oa'oga ile ituaiga lisi.
Matou te fa'aogaina fo'i le faiga lava lea e tasi e su'e ai fa'amaumauga o lo'o tu'uina mai i totonu. E mafua ona nai lo le toe fa'afo'i mai ia i matou o ni lisi, o latou o ni sipi o lisi. Pe a matou utaina faʻataʻitaʻiga faʻamaumauga a le MNIST mulimuli ane, matou te aʻoaʻoina atili e uiga i lenei mea.
Afai e mafai ona matou mautinoa o loʻo matou tuʻuina atu ituaiga uma o faʻamatalaga e fai ma lisi, o lona uiga o lenei ituaiga-faʻailoga e le o se mea taua.
O le taimi lava e maua ai faʻamaumauga, matou te faʻasolosolo taimi o toleniga i se matasele. O se vaitaimi a'oa'oga e na'o le tasi le taamilosaga o a'oa'oga neural network. Matou te fa'aulu muamua fa'amaumauga i vaitau ta'itasi ina ia mautinoa le fa'aletonu a'o le'i faia se lisi o vaega laiti.
O le faʻafouina o galuega faʻapipiʻi mini, lea o loʻo talanoaina i lalo, o le a valaʻau mo taʻaloga taʻitasi. O le a toe fa'afo'i fo'i le sa'o sa'o o le su'ega pe a maua fa'amaumauga o su'ega.
Galuega fesoasoani e maua mai tau
Se'i o tatou fausia muamua se galuega fesoasoani e ta'ua o le tau e maua muamua ae tatou te lei faia moni le code backpropagation. Afai tatou te faia se mea sese i la tatou vaega o mea e gaosia, o le a fa'aalia e le tau fa'atatau.
E mana'omia ni mea fa'aoga se lua: o le fa'agaoioiga o galuega fa'atino ma le y-fa'amaopoopo o fa'atauga o galuega fa'atino.
Fa'asologa o tua
O la tatou fa'agaioiga o lo'o iai nei, fa'agaoioiga, fa'apea fo'i ma so'o se isi fa'agaioiga vectors, fa'agaioiga, ma z-vectors, zs, e tatau ona teu uma i lou mafaufau. O se vaega e ta'ua o le vaega fa'aoga e fa'agaoioia muamua.
O le a matou fa'asolosolo fa'aituau taitasi ma le mamafa pe a uma ona tu'u i luga. O matasele taʻitasi e aofia ai le faʻatusatusaina o le z vector o le fua o le mamafa ma le faʻagaoioia, faʻaopoopo i le lisi o zs, toe faʻatulagaina le faʻagaoioia, ma faʻaopoopo le faʻafouina faʻafouina i le lisi o faʻagaioiga.
Mulimuli ane, o le numera. O le delta, lea e tutusa ma le mea sese mai le laulau muamua e faʻateleina i le sigmoid prime o le elemene mulimuli o le zs vectors, e faʻatusatusa aʻo leʻi amataina la tatou pasi i tua.
O le vaega mulimuli o le nabla b ua setiina e avea ma delta, ma o le vaega mulimuli o le nabla w ua setiina e avea ma togi fua o le delta ma le vaega lona lua-i-mulimuli o fa'agaioiga (suia ina ia mafai ona tatou faia moni le numera) .
Matou te faʻaauau e pei ona muamua, amata i le vaega lona lua ma faʻaiʻu i le mea mulimuli, ma toe fai le faʻagasologa pe a maeʻa nei laulau mulimuli. Ona toe tu'uina atu lea o le nabla o se tuple.
Fa'afou le fa'asolo malie ole laititi
O la matou metotia SGD (stochastic gradient descent) mai le taimi a'o le'i aofia ai le fa'afouga laiti. Talu ai o loʻo faʻaaogaina i le SGD ae e manaʻomia foʻi le backprop, na ou finau pe o fea e tuʻu ai lenei galuega.
Mulimuli ane, na ou faia le filifiliga e lafo iinei. E amata i le fa'atupuina 0 vectors o le fa'aituau 'ma le mamafa' nablas, e pei lava ona faia e le matou backprop function.
E mana'omia le la'ititi-batch ma le eta a'oa'oga fua e fai ma ana mea e lua. I le mini-batch, matou te faʻaogaina le backprop function e maua ai le delta o laina taʻitasi taʻitasi mo faʻaoga taʻitasi, x, ma gaioiga, y. Ona fa'afouina lea o lisi nabla i nei deltas.
Mulimuli ane, matou te fa'aogaina le fua faatatau a'oa'oga ma le nablas e fa'afou ai le mamafa ma fa'aituau o feso'otaiga. O tau ta'itasi e fa'afouina i le tau sili ona lata mai, fa'aitiitia le fua o le a'oa'oina, fa'atele i le lapopo'a laiti, ona fa'aopoopo lea i le tau nabla.
Iloilo galuega
O le galuega iloilo o le mea mulimuli lea e tatau ona tatou tusia. O fa'amaumauga o su'ega e na'o le pau lea o le fa'aoga mo lenei galuega. I lenei galuega, matou te faʻatusatusa fua o galuega a le fesoʻotaʻiga ma le taunuuga faʻamoemoeina, y. E ala i le fafagaina o le mea e tuʻuina atu, x, agai i luma, o gaioiga o le fesoʻotaʻiga e fuafuaina.
Fa'auma Code
A tatou tuʻufaʻatasia uma le code, o le auala lea e aliali mai ai.
Su'ega Neural Network
O lo'o utaina fa'amaumauga a le MNIST
le fa'amaumauga a le MNIST o loʻo i le .pkl.gz faʻasologa, lea o le a matou tatalaina e faʻaaoga ai le GZIP ma uta i le piko. Sei o tatou tusia se auala vave e utaina ai nei faʻamatalaga o se tuple o le tolu, vaevaeina i aʻoaʻoga, faʻamaonia, ma faʻamatalaga suʻega.
Ina ia fa'afaigofie ona fa'atautaia a matou fa'amaumauga, matou te tusia se isi galuega e fa'asolo ai le y i totonu o se fa'asologa o mea e 10. O le fa'asologa o le a 0 uma se'i vagana le 1 e fetaui ma le numera sa'o o le ata.
O le a matou fa'aogaina fa'amaumauga autu o uta ma se tasi auala fa'avevela vevela e uta ai a matou fa'amaumauga i se fa'asologa e mafai ona faitau. O le a tusia se isi galuega e faaliliu ai a tatou tau x i se lisi o le lapopoa 784, e fetaui ma le ata o le 784 pika, ma a tatou y i totonu o la latou fomu vevela vevela tasi.
Ona tatou tu'ufa'atasia lea o tau x ma le y ina ia fetaui le tasi fa'asino i le isi. E fa'atatau i le a'oa'oga, fa'amaonia, ma fa'amaumauga o su'ega. Ona matou toe faafoi atu lea o faʻamatalaga ua suia.
Tamomo'e Su'ega
O le a matou faia se faila fou e taʻua o le "mnist loader" e faʻaulufale mai uma le neural network na matou faʻatuina muamua (simple nn) ma le MNIST data set loader aʻo leʻi amata suʻega.
I totonu o lenei faila, pau lava le mea e tatau ona tatou faia o le faʻaulufaleina mai o faʻamaumauga, fausia se fesoʻotaʻiga faʻatasi ai ma le lapoʻa faʻapipiʻi o le 784 ma le lapoa o le 10, faʻatautaia le galuega a le SGD i luga o faʻamaumauga o aʻoaʻoga, ona faʻataʻitaʻi lea e faʻaaoga ai faʻamatalaga suʻega.
Ia manatua o la tatou lisi o faʻapipiʻi faʻapipiʻi, e leai se eseesega pe o le a se numera o loʻo i ai i le va o le 784 ma le 10. E mafai ona tatou suia isi laulau i soʻo se auala tatou te fiafia ai; na'o le tele o mea e fa'aoga ma fa'aulufale e fa'amautu.
E le manaʻomia ni laulau e tolu; atonu tatou te faaaogaina le fa, lima, pe na o le lua foi. Ia fiafia e faataitai i ai.
iʻuga
O iinei, faʻaaoga le Python 3, matou te fatuina se fesoʻotaʻiga neural mai le sasa. Faatasi ai ma le numera maualuga, sa matou talanoaina foi faʻamatalaga patino o le faʻatinoga.
Na matou amata i le faʻatinoina o galuega fesoasoani. Mo neurons e galue, o le sigmoid ma le sigmoid prime functions e taua tele. Ona matou faʻatinoina lea o le faʻaogaina o le feedforward, o le faiga faʻavae mo le fafagaina o faʻamaumauga i totonu o le neural network.
O le isi, na matou fatuina le faʻagasologa o le faʻagasologa i le Python, o le afi e faʻauluina ai le matou neural network. Ina ia mafai ona suʻe le "minima faʻapitonuʻu" ma faʻamalieina o latou mamafa ma faʻaituau, e faʻaogaina e le matou neural network le faʻasolosolo faʻasolosolo. Na matou faia le galuega backpropagation e faʻaaoga ai fa'asolo malie.
E ala i le tuʻuina atu o faʻamatalaga pe a le fetaui mea e maua i faʻailoga talafeagai, o lenei galuega e mafai ai e le neural network ona "aʻoaʻo."
Mulimuli ane, matou tuʻuina la matou Python fou fesoʻotaʻiga faʻanoanoa i le suʻega e faʻaaoga ai le seti faʻamaumauga a le MNIST. Sa sologa lelei mea uma.
Fiafia Coding!
Tuua se tali