Tafole ea likateng[Pata][Bontša]
Boko bo tšoana le marang-rang a methapo ea kutlo. Ena ke papiso eo hangata e sebelisoang ho thusa motho e mocha thutong ho utloisisa mehopolo ea ho ithuta ka mochini le marang-rang a maiketsetso a neural.
Hobane ho na le likarolo tse 'maloa tsa lipalo tsa lipalo le lipalo-palo tse etsahalang ka morao ho liketsahalo, ho hlalosa marang-rang ana e le mosebetsi oa lipalo ke mokhoa o tsoetseng pele haholoanyane.
Sena ke sa batho ba hlileng ba thahasellang ho ithuta ka mochine 'me ba batla ho bona hore na Python neural network code e ngotsoe joang.
Sengoliloeng sena, re tla bonts'a mokhoa oa ho theha marang-rang a tebileng a neural (DNN) ho tloha qalong. python 3.
Kakaretso ea Sebopeho sa Faele bakeng sa Khoutu ea Rōna ea Python Neural Network
Ho tla ba le lifaele tse tharo tse entsoeng mona. Ea pele ke faele e bonolo ea nn.py, e tla tšohloa ho "Ho theha Mesebetsi ea Thuso" le "Ho Aha Neural Network ho tloha Scratch."
Hape re tla ba le faele e bitsoang mnist loader.py ho kenya lintlha tsa tlhahlobo, joalo ka ha ho hlalositsoe ho "Loading MNIST Data."
Qetellong, re tla ba le faele e bitsoang test.py e tla hlahisoa setsing ho leka marang-rang a rona a methapo.
Faele ena e hlalositsoe ka botlalo ho "Liteko tse mathang."
tlhomamiso
Laeborari ea NumPy Python e tlameha ho jarolleloa molemong oa ho latela thuto ena. U ka etsa sena ka ho sebelisa taelo e latelang ho terminal:
Ho kenya Dimojule le ho seta tshebetso ya Helper
Lilaebrari tse peli feela tseo re li hlokang ke tse sa reroang le NumPy, tseo re tla li kenya hang hang. Bakeng sa boima ba mantlha ba netweke ea rona, re tla bo kopanya re sebelisa laeborari e sa reroang.
E le ho potlakisa lipalo tsa rona, re tla sebelisa NumPy kapa np (ka kopano, hangata e romelloa ka ntle e le np). Mesebetsi ea rona e 'meli ea bathusi e tla etsoa ka mor'a ho reka kantle ho naha. Mesebetsi e 'meli ea sigmoid: e le' ngoe le sigmoid prime.
Phokotso ea lintho e tla arola data e sebelisa ts'ebetso ea sigmoid, ha ts'ebetso e ka morao e tla bala delta kapa gradient e sebelisa sigmoid prime function.
Ho theha Sehlopha sa Marang-rang
Ho aha marang-rang a neural a hokahaneng ka botlalo ke eona feela sepheo sa karolo ena. Sehlopha sa marang-rang se tla kenyelletsa mesebetsi eohle e tlang ka morao. The function Object() {[native code] } e tla bōptjoa qalong sehlopheng sa rona sa marang-rang.
Khang e le 'ngoe, boholo, e hlokoa ke mosebetsi Object() {[native code]}. Mefuta e fapa-fapaneng ea boholo ke pokello ea litekanyetso tsa linomoro tse emelang palo ea li-node tsa ho kenya tse teng karolong e 'ngoe le e 'ngoe ea netweke ea rona ea methapo.
Re qala lintho tse 'ne ka mokhoa oa rona oa __init__. Liphetoho tse kenyang, boholo, li sebelisoa ho beha lenane la boholo ba lera le palo ea lihlopha, num layers, ka ho latellana.
Mohato oa pele ke ho fana ka likhetho tsa mantlha tsa marang-rang a rona sebakeng se seng le se seng se latelang karolo ea ho kenya.
Qetellong, sehokelo se seng le se seng pakeng tsa likarolo tse kenang le tse hlahisoang se na le boima ba sona bo hlahisitsoeng ka mokhoa o sa reroang. Np.Random.Randn() e fana ka sampole e sa reroang e nkiloeng ho kabo e tloaelehileng bakeng sa moelelo.
Mosebetsi oa Fepa Pele
Ho netweke ea methapo, tlhahisoleseling e romelloa pele ke tšebetso ea feedforward. Khang e le 'ngoe, a, e bonts'ang vector ea hona joale ea ts'ebetso, e tla hlokoa ke mosebetsi ona.
Ts'ebetso ena e hakanya lits'ebetso sebakeng se seng le se seng ka ho pheta-pheta leeme le boima ba marang-rang. Karabo e fanoeng ke ponelopele, e leng ts'ebetso ea lera la ho qetela.
Ho theoha ha Gradient ea Mini-batch
Sehlopha sa rona sa marang-rang se bapalang "Gradient Descent". Phetolelong ena, re sebelisa "mini-batch" (stochastic) gradient descent, phetoho e fetotsoeng ea ho theoha ha sekhahla.
Sena se bontša hore palo e nyane ea lintlha tsa data e tla sebelisoa ho nchafatsa mohlala oa rona. Tse 'nè tse hlokahalang le khang e le' ngoe ea boikhethelo li fetisetsoa mokhoeng ona. Mefuta e mene e hlokahalang ke sete ea data ea koetliso, palo ea linako, boholo ba li-mini-batches, le sekhahla sa ho ithuta (eta).
Lintlha tsa tlhahlobo lia fumaneha ha u kopa. Re tla fana ka lintlha tsa liteko ha qetellong re hlahloba marang-rang ana. Palo ea lisampole tšebetsong ena qalong e behiloe bolelele ba lenane hang ha data ea koetliso e fetotsoe ho ba mofuta oa lenane.
Re boetse re sebelisa mokhoa o ts'oanang ho hlahloba lintlha tse fanoeng. Sena ke hobane ho e-na le ho khutlisetsoa ho rona e le manane, ke li-zips tsa manane. Ha re kenya lisampole tsa data tsa MNIST hamorao, re tla ithuta haholoanyane ka sena.
Haeba re ka etsa bonnete ba hore re fana ka mefuta e 'meli ea data e le manane, joale mofuta ona oa ho etsa lintho ha o hlokahale.
Ha re se re e-na le data, re fetela linakong tsa koetliso ka loop. Nako ea koetliso ke potoloho e le 'ngoe feela ea koetliso ea neural network. Re qala ka ho hlopha datha nakong e 'ngoe le e 'ngoe ho netefatsa hore ha ho na maemo pele re etsa lethathamo la li-mini-batches.
Ts'ebetso ea ntlafatso ea mini batch, e tšohliloeng ka tlase, e tla bitsoa bakeng sa mini-batch ka 'ngoe. Ho nepahala ha tlhahlobo le hona ho tla khutlisoa haeba lintlha tsa tlhahlobo li fumaneha.
Ts'ebetso ea mothusi e tsoang ho litšenyehelo
Ha re theheng tšebetso ea mothusi e bitsoang "cost derivative" pele re theha khoutu ea "backpropagation". Haeba re etsa phoso karolong ea rona ea tlhahiso, ts'ebetso e tsoang ho litšenyehelo e tla e bontša.
E hloka lintho tse peli tse kentsoeng: lethathamo la li-activation le li-y-coordinates tsa boleng bo lebelletsoeng ba tlhahiso.
Mosebetsi wa ho phatlalatsa
Sesebelisoa sa rona sa hona joale sa ts'ebetso, ts'ebetso, hammoho le li-activator tse ling, li-activations, le z-vectors, zs, kaofela li tlameha ho hopoloa. Lera le bitsoang "input layer" le kengoa tšebetsong pele.
Re tla thefula leeme le boima ka mor'a ho li beha. Loop e 'ngoe le e' ngoe e kenyelletsa ho bala z vector e le sehlahisoa sa matheba a boima le ts'ebetso, ho e kenyelletsa lethathamong la zs, ho bala hape ts'ebetso, le ho eketsa ts'ebetso e nchafalitsoeng lethathamong la lits'ebetso.
Qetellong, lipalo. Delta, e lekanang le phoso e tsoang karolong e fetileng e atolositsoeng ke sigmoid prime ea karolo ea ho qetela ea li-vectors tsa zs, e baloa pele re qala ho khutlela morao.
Karolo ea ho qetela ea nabla b e behiloe ho ba delta, 'me karolo ea ho qetela ea nabla w e behiloe ho ba sehlahisoa sa letheba la delta le karolo ea bobeli ho isa ho ea ho qetela ea ts'ebetso (e fetoletsoeng hore re tsebe ho etsa lipalo) .
Re tsoela pele joaloka pele, ho qala ka lera la bobeli le ho phethela ka la ho qetela, ebe re pheta ts'ebetso ka mor'a ho qeta likarolo tsena tsa ho qetela. Joale li-nabla li khutlisetsoa e le tuple.
E nchafatsa Mini-batch gradient ho theoha
Mokhoa oa rona oa SGD (stochastic gradient descent) ho tloha pele o kenyelletsa ntlafatso ea mini-batch. Kaha e sebelisoa ho SGD empa hape e hloka backprop, ke ile ka ngangisana hore na ke beha mosebetsi ona hokae.
Qetellong, ke ile ka khetha ho e beha mona. E qala ka ho hlahisa li-vector tse 0 tsa leeme 'le boima ba' nablas, joalo ka ha ts'ebetso ea rona ea mokokotlo e entse.
E hloka "mini-batch" le sekhahla sa ho ithuta sa eta e le lintlha tsa eona tse peli. Ho mini-batch, ebe re sebelisa ts'ebetso ea backprop ho fumana delta ea sehlopha ka seng sa nabla bakeng sa tlhahiso ka 'ngoe, x, le tlhahiso, y. Joale manane a nabla a ntlafatsoa ka li-deltas tsena.
Qetellong, re sebelisa sekhahla sa ho ithuta le nablas ho ntlafatsa boima ba marang-rang le leeme. Boleng bo bong le bo bong bo nchafalitsoe ho boleng ba morao-rao, ho fokotsoa sekhahla sa ho ithuta, se atolosoa ka boholo ba minibatch, ebe se eketsoa ho boleng ba nabla.
Hlahloba mosebetsi
Mosebetsi oa ho hlahloba ke oona oa ho qetela oo re lokelang ho o ngola. Lintlha tsa tlhahlobo ke tsona feela tse kentsoeng bakeng sa tšebetso ena. Mosebetsing ona, re bapisa feela liphetho tsa marang-rang le sephetho se lebelletsoeng, y. Ka ho fepa ho kenya letsoho, x, pele, liphello tsa marang-rang li ikemiselitsoe.
Khoutu e Feletseng
Ha re kopanya khoutu eohle, ke kamoo e hlahang kateng.
Teko ea Neural Network
E kenya lintlha tsa MNIST
The Lintlha tsa MNIST e ka fomete ea .pkl.gz, eo re tla e bula re sebelisa GZIP ebe re kenya pickle. Ha re ngole mokhoa o potlakileng oa ho kenya data ena e le tuple ea boholo ba boraro, e arotsoe ka koetliso, netefatso, le data ea liteko.
Ho etsa hore data ea rona e be bonolo ho e laola, re tla ngola ts'ebetso e 'ngoe ho kenyelletsa y ho lethathamo la lintho tse 10. Sehlopha se tla ba li-0 kaofela ntle le 1 e ts'oanang le nomoro e nepahetseng ea setšoantšo.
Re tla sebelisa data ea mantlha ea mojaro le mokhoa o le mong o chesang oa ho kenya kh'outu ho kenya data ea rona ka mokhoa o balehang. Mosebetsi o mong o tla ngoloa o tla fetolela boleng ba rona ba x hore e be lenane la boholo ba 784, bo tsamaellanang le lipikselse tse 784 tsa setšoantšo, le boleng ba rona ba y hore e be mofuta o le mong oa vector o kentsoeng o chesang.
Ebe re kopanya boleng ba x le y hoo index e le 'ngoe e ts'oanang le e' ngoe. Sena se sebetsa ho lithupelo, netefatso, le lisete tsa data tsa liteko. Ebe re khutlisetsa data e fetotsoeng.
Ho matha Liteko
Re tla etsa faele e ncha e bitsoang "mnist loader" e tla kenya marang-rang ka bobeli a neural ao re a thehileng pejana (n e bonolo nn) le MNIST data set loader pele re qala ho etsa liteko.
Ka faele ena, sohle seo re lokelang ho se etsa ke ho kenya data, ho haha marang-rang a nang le boholo ba lesela la ho kenya 784 le boholo ba sekhahla sa tlhahiso ea 10, ho tsamaisa mosebetsi oa SGD oa marang-rang ho data ea koetliso, ebe o e leka ho sebelisa lintlha tsa teko.
Hopola hore lethathamong la rona la lihlopha tsa ho kenya, ha ho etse phapang hore na palo efe kapa efe e pakeng tsa 784 le 10. Re ka fetola lihlopha tse ling ka tsela leha e le efe eo re e ratang; feela ho kenya le ho hlahisa boholo bo tsitsitseng.
Mekhahlelo e meraro ha e hlokahale; re ka sebelisa tse 'nè, tse hlano, kapa tse peli feela. Natefeloa ke ho leka ka eona.
fihlela qeto e
Mona, re sebelisa Python 3, re theha marang-rang a neural ho tloha qalong. Hammoho le lipalo tsa boemo bo holimo, re ile ra boela ra buisana ka lintlha tse tobileng tsa ts'ebetsong.
Re ile ra qala ka ho kenya tšebetsong mesebetsi ea bathusi. Hore li-neuron li sebetse, mesebetsi ea mantlha ea sigmoid le sigmoid e bohlokoa. Ebe re kenya tšebetsong tšebetso ea feedforward, e leng ts'ebetso ea mantlha ea ho kenya data ho netweke ea methapo.
Ka mor'a moo, re thehile ts'ebetso ea ho theoha ha gradient ho Python, enjene e tsamaisang marang-rang a rona a methapo. Bakeng sa ho fumana "minima ea lehae" le ho ntlafatsa boima ba bona le leeme, marang-rang a rona a neural a sebelisa ho theoha ha maemo. Re thehile ts'ebetso ea backpropagation re sebelisa ho thetheha ka sekhahla.
Ka ho fana ka lintlafatso ha liphetho li sa lumellane le lileibole tse nepahetseng, ts'ebetso ena e thusa neural network "ho ithuta."
Qetellong, re beha Python ea rona e ncha neural network tekong o sebelisa MNIST sete ya data. Lintho tsohle li ne li sebetsa hantle.
Thabile Coding!
Leave a Reply