Ke hana nei me nā pūnaewele neural: papa inoa no ka hoʻopau ʻana

Ke hana nei me nā pūnaewele neural: papa inoa no ka hoʻopau ʻana

He paʻakikī a huikau ka code o nā huahana polokalamu aʻo mīkini. ʻO ka ʻike ʻana a me ka hoʻopau ʻana i nā pōpoki i loko o ia mea he hana koʻikoʻi. ʻO ka mea maʻalahi loa nā pūnaewele neural feedforward e koi i kahi ala koʻikoʻi i ka hoʻolālā pūnaewele, ka hoʻomaka ʻana o nā kaupaona, a me ka hoʻonui ʻana i ka pūnaewele. Hiki i kahi hewa liʻiliʻi ke alakaʻi i nā pilikia maikaʻi ʻole.

ʻO kēia ʻatikala e pili ana i kahi algorithm no ka hoʻopau ʻana i kāu pūnaewele neural.

Manaʻo ʻo Skillbox: Papa hana ʻO ka mea hoʻomohala Python mai ka wā kahiko.

Hoʻomaopopo mākou iā ʻoe: no ka poʻe heluhelu a pau o "Habr" - kahi ho'ēmi o 10 rubles i ka wā e kākau inoa ai i kekahi papa Skillbox e hoʻohana ana i ka code promotional "Habr".

Aia ka algorithm i ʻelima mau pae:

  • hoʻomaka maʻalahi;
  • hōʻoia o nā poho;
  • nānā i nā hopena waena a me nā pilina;
  • hōʻailona diagnostics;
  • ka hoomalu ana i ka hana.

Inā ʻoi aku ka hoihoi iā ʻoe ma mua o ke koena, hiki iā ʻoe ke lele koke i kēia mau ʻāpana.

Hoʻomaka maʻalahi

ʻO kahi pūnaewele neural me kahi hoʻolālā paʻakikī, hoʻonohonoho hoʻonohonoho, a me kahi papa helu hoʻonaʻauao ʻoi aku ka paʻakikī o ka debug ma mua o ka mea maʻamau. Ke hoʻopunipuni iki nei mākou ma ʻaneʻi, no ka mea pili pili ʻole ka helu ponoʻī i ka debugging, akā he ʻōlelo koʻikoʻi kēia.

ʻO kahi hoʻomaka maʻalahi ka hana ʻana i kahi hoʻohālike maʻalahi a hoʻomaʻamaʻa iā ia ma kahi hoʻonohonoho (point) o ka ʻikepili.

Hana mua mākou i kahi hoʻohālike maʻalahi

No ka hoʻomaka wikiwikiʻana, hana mākou i kahi pūnaewele liʻiliʻi me kahi papa huna hoʻokahi a nānā i ka hana pono o nā mea a pau. A laila hoʻopili mālie mākou i ke kumu hoʻohālike, e nānā ana i kēlā me kēia ʻano hou o kona ʻano (papa hou, parameter, etc.), a neʻe.

Hoʻomaʻamaʻa mākou i ke kumu hoʻohālike ma kahi hoʻonohonoho hoʻokahi (point) o ka ʻikepili

Ma ke ʻano he mākaʻikaʻi maʻemaʻe wikiwiki no kāu papahana, hiki iā ʻoe ke hoʻohana i hoʻokahi a i ʻole ʻelua mau wahi ʻikepili hoʻomaʻamaʻa e hōʻoia i ka hana pololei ʻana o ka ʻōnaehana. Pono ka neural network e hōʻike i ka 100% pololei i ka hoʻomaʻamaʻa a me ka hoʻāʻo. Inā ʻaʻole kēia ka hihia, a laila liʻiliʻi paha ke kumu hoʻohālike a i ʻole ua loaʻa iā ʻoe kahi bug.

ʻOiai inā maikaʻi nā mea a pau, e hoʻomākaukau i ke kumu hoʻohālike no hoʻokahi manawa a ʻoi aku paha ma mua o ka neʻe ʻana.

Loiloi poho

ʻO ka manaʻo pohō ke ala nui e hoʻomaʻemaʻe i ka hana o ke kŘkohu. Pono ʻoe e hōʻoia i ke kūpono o ka poho i ka pilikia a ua helu ʻia nā hana pohō ma ka pae kūpono. Inā hoʻohana ʻoe i ʻoi aku ma mua o hoʻokahi ʻano pohō, e hōʻoia i ka hoʻonohonoho like ʻana o lākou āpau a hoʻonui pono ʻia.

He mea nui e makaala i na poho mua. E nānā i ka pili ʻana o ka hopena maoli i ka hopena i manaʻo ʻia inā hoʻomaka ke kŘkohu me ka kuhi hewa. IN Hōʻike ka hana a Andrey Karpathy i kēia mau mea:: "E hōʻoia e loaʻa iā ʻoe ka hopena āu e manaʻo ai ke hoʻomaka ʻoe me kahi helu liʻiliʻi o nā ʻāpana. ʻOi aku ka maikaʻi e nānā koke i ka nalowale o ka ʻikepili (me ke kiʻekiʻe o ka regularization i hoʻonohonoho ʻia i ka ʻole). No ka laʻana, no CIFAR-10 me kahi papa Softmax, manaʻo mākou he 2.302 ka pohō mua no ka mea ʻo 0,1 ka manaʻo diffuse i manaʻo ʻia no kēlā me kēia papa (no ka mea he 10 mau papa) a ʻo ka poho Softmax ʻo ia ka log likelihood maikaʻi ʻole o ka papa pololei. me − ln (0.1) = 2.302.”

No ka laʻana binary, hana ʻia kahi helu like no kēlā me kēia papa. Eia kekahi laʻana, ʻo ka ʻikepili: 20% 0 a me 80% 1. ʻO ka pohō mua i manaʻo ʻia e piʻi i ka –0,2ln (0,5) –0,8ln (0,5) = 0,693147. Inā ʻoi aku ka nui o ka hopena ma mua o 1, hiki ke hōʻike ʻia ʻaʻole i kaulike pono nā paona neural network a ʻaʻole i maʻamau ka ʻikepili.

Ke nānā nei i nā hopena waena a me nā pilina

No ka hoʻopauʻana i kahi pūnaewele neural, pono e hoʻomaopopo i ka dynamics o nā kaʻina hana i loko o ka pūnaewele a me ke kuleana o kēlā me kēia papa waena i ka wā e pili ana. Eia nā hewa maʻamau āu e hālāwai ai:

  • nā ʻōlelo pololei ʻole no nā hoʻonui gradle;
  • ʻaʻole hoʻohana ʻia nā mea hou kaumaha;
  • pahū gradients.

Inā ʻaʻohe o nā waiwai gradient, ʻo ia ke ʻano o ka lohi o ke aʻo ʻana i ka optimizer, a i ʻole ke ʻike nei ʻoe i kahi ʻōlelo kūpono ʻole no ka hoʻonui ʻana i ka gradient.

Eia kekahi, pono e nānā i nā waiwai o nā hana hoʻāla, nā kaupaona a me nā mea hou o kēlā me kēia papa. No ka laʻana, ka nui o ka hoʻonui ʻana i nā ʻāpana (nā kaupaona a me nā biases) pono 1-e3.

Aia kekahi hanana i kapa ʻia ʻo "Dying ReLU" a i ʻole "pilikia gradient nalowale", i ka wā e hoʻopuka ai nā neurons ReLU i ka zero ma hope o ke aʻo ʻana i kahi waiwai hoʻohālikelike maikaʻi ʻole no kāna mau kaupaona. ʻAʻole i puhi hou ʻia kēia mau neurons i kēlā me kēia manawa o ka ʻikepili.

Hiki iā ʻoe ke hoʻohana i ka nānā gradient no ka ʻike ʻana i kēia mau hewa ma ka hoʻopili ʻana i ka gradient me ka hoʻohana ʻana i kahi ala helu. Inā kokoke i nā gradients i helu ʻia, a laila ua hoʻokō pono ʻia ka backpropagation. No ka hana ʻana i kahi māka gradient, e nānā i kēia mau kumuwaiwai nui mai CS231 maanei и maaneia me kekahi haʻawina Andrew Nga ma keia kumuhana.

Faizan Sheikh hōʻike i ʻekolu mau ala nui no ka nānā ʻana i kahi pūnaewele neural:

  • He ʻano maʻalahi nā preliminaries e hōʻike ana iā mākou i ke ʻano maʻamau o ke kumu hoʻohālike i aʻo ʻia. Hoʻopili kēia i ka hoʻopuka o nā ʻano a i ʻole nā ​​kānana o kēlā me kēia papa o ka neural network a me nā ʻāpana i loko o kēlā me kēia papa.
  • Hoʻoulu ʻia ma muli. I loko o lākou, wehewehe mākou i ka hoʻoulu ʻana o nā neurons a i ʻole nā ​​hui o nā neurons e hoʻomaopopo i kā lākou mau hana.
  • Ma muli o nā gradients. Hoʻohana ʻia kēia mau ʻano hana i nā gradients i hana ʻia mai ka hele ʻana i mua a i hope o ka hoʻomaʻamaʻa kumu hoʻohālike (me nā palapala saliency a me nā palapala hoʻāla papa).

Nui nā mea hana pono no ka nānā ʻana i ka hoʻoulu ʻana a me ka hoʻopili ʻana o nā papa pākahi, e laʻa. ConX и Tensorboard.

Ke hana nei me nā pūnaewele neural: papa inoa no ka hoʻopau ʻana

Nā hōʻailona hōʻailona

Loaʻa i nā ʻupena neural nā ʻāpana he nui e launa pū kekahi me kekahi, e hoʻopiʻi nei i ka optimization. ʻOiaʻiʻo, ʻo kēia ʻāpana ke kumuhana o ka noiʻi ikaika e nā loea, no laila pono e noʻonoʻo ʻia nā manaʻo ma lalo nei he ʻōlelo aʻoaʻo, nā wahi e hoʻomaka ai e kūkulu.

Nui pūʻolo (ka nui pūʻulu) - Inā makemake ʻoe e lawa ka nui o ka pūʻulu no ka loaʻa ʻana o nā kuhi gradient hewa pololei, akā liʻiliʻi no ka stochastic gradient descent (SGD) e hoʻomaʻamaʻa i kāu pūnaewele. ʻO ka nui o nā pūʻulu liʻiliʻi e alakaʻi i ka hoʻololi wikiwiki ʻana ma muli o ka walaʻau i ka wā o ke kaʻina aʻo ʻana a ma hope o nā pilikia optimization. Ua wehewehe nui ʻia kēia maanei.

Laki aʻo - ʻo ka haʻahaʻa loa e alakaʻi i ka hoʻololi ʻana a i ʻole ka pilikia o ka paʻa ʻana i ka minima kūloko. I ka manawa like, ʻo ka nui o ka hoʻonaʻauao kiʻekiʻe e hoʻoulu i ka hoʻokaʻawale ʻana no ka mea hiki iā ʻoe ke lele i loko o ka ʻāpana hohonu akā haiki o ka hana poho. E ho'āʻo e hoʻohana i ka hoʻonohonoho wikiwiki e hōʻemi i ka wā e hoʻomaʻamaʻa ana i ka pūnaewele neural. Loaʻa i kēia manawa me CS231n aia kahi ʻāpana nui i hoʻolaʻa ʻia no kēia pilikia.

ʻokiʻoki gradient  - ke ʻoki ʻana i nā gradient ʻāpana i ka wā backpropagation i ka waiwai kiʻekiʻe a i ʻole ka palena maʻamau. Maikaʻi no ka hoʻoponopono ʻana i nā gradient pahū āu e hālāwai ai ma ka helu ʻekolu.

Hoʻoponopono pūʻulu - hoʻohana ʻia e hoʻomaʻamaʻa i ka ʻikepili komo o kēlā me kēia papa, kahi e hiki ai iā mākou ke hoʻoponopono i ka pilikia o ka hoʻololi covariate kūloko. Inā ʻoe e hoʻohana pū ana iā Dropout a me Batch Norma, e nānā i kēia ʻatikala.

ʻO ka hiʻi ʻana i ka gradient stochastic (SGD) - aia kekahi mau ʻano like ʻole o SGD e hoʻohana ana i ka manawa, nā helu aʻo adaptive a me ke ʻano Nesterov. Eia nō naʻe, ʻaʻohe o lākou i loaʻa ka pōmaikaʻi ma ke ʻano o ka maikaʻi o ke aʻo ʻana a me ka generalization (kikoʻī maanei).

Hoʻoponopono mau - he mea koʻikoʻi ia no ke kūkulu ʻana i kahi kumu hoʻohālike maʻamau, no ka mea, hoʻohui ia i ka hoʻopaʻi no ka paʻakikī o ka hoʻohālike a i ʻole nā ​​waiwai hoʻohālikelike. He ala kēia e hōʻemi ai i ka ʻokoʻa hoʻohālike me ka hoʻonui ʻole ʻana i kona ʻano. ʻOi aku ʻike kikoʻī - maanei.

No ka loiloi i nā mea āpau iā ʻoe iho, pono ʻoe e hoʻopau i ka regularization a nānā i ka gradient nalowale o ka ʻikepili iā ʻoe iho.

Haʻalele ʻo ia kekahi ala e hoʻomāmā ai i kāu pūnaewele e pale ai i ka paʻa. I ka wā o ka hoʻomaʻamaʻa ʻana, hoʻokō ʻia ka haʻalele ʻana ma ka mālama ʻana i ka hana o ka neuron me kahi probability p (hyperparameter) a i ʻole ka hoʻonohonoho ʻana iā ia i ka ʻole ma ka hihia ʻē aʻe. ʻO ka hopena, pono e hoʻohana ka pūnaewele i kahi ʻāpana ʻokoʻa o nā ʻāpana no kēlā me kēia pūʻulu hoʻomaʻamaʻa, e hōʻemi ana i nā loli i kekahi mau ʻāpana i lilo i mea nui.

Mea nui: Inā hoʻohana ʻoe i ka haʻalele ʻana a me ka hoʻomaʻamaʻa batch, e makaʻala i ka hoʻonohonoho ʻana o kēia mau hana a i ʻole ka hoʻohana pū ʻana iā lākou. Ke kūkākūkā ikaika ʻia nei kēia mau mea a hoʻohui ʻia. Eia ʻelua mau kūkākūkā koʻikoʻi e pili ana i kēia kumuhana ma Stackoverflow и ʻO Arxiv.

Ka hoomalu ana i ka hana

E pili ana i ka palapala ʻana i nā kaʻina hana a me nā hoʻokolohua. Inā ʻaʻole ʻoe i palapala i kekahi mea, poina paha ʻoe, no ka laʻana, he aha ka helu aʻo ʻana a i ʻole nā ​​​​paona papa i hoʻohana ʻia. Mahalo i ka mana, hiki iā ʻoe ke nānā a hana hou i nā hoʻokolohua mua. Hiki iā ʻoe ke hōʻemi i ka nui o nā hoʻokolohua pālua.

Eia naʻe, hiki i ka palapala lima ke lilo i hana paʻakikī i ka hihia o ka nui o ka hana. ʻO kēia kahi e komo ai nā mea paahana e like me Comet.ml e kōkua iā ʻoe e hoʻopaʻa inoa i nā ʻikepili, nā hoʻololi code, ka mōʻaukala hoʻokolohua, a me nā hiʻohiʻona hana, me ka ʻike nui e pili ana i kāu kumu hoʻohālike (hyperparameters, model performance metrics, and environmental information).

Hiki i kahi pūnaewele neural ke maʻalahi i nā loli liʻiliʻi, a e alakaʻi kēia i ka hāʻule o ka hana hoʻohālike. ʻO ka hoʻopaʻa ʻana a me ka hoʻopaʻa ʻana i kāu hana ʻo ia ka hana mua e hiki ai iā ʻoe ke hana e hoʻohālikelike i kou kaiapuni a me ke ʻano hoʻohālike.

Ke hana nei me nā pūnaewele neural: papa inoa no ka hoʻopau ʻana

Manaʻo wau e lilo kēia pou i wahi hoʻomaka no ʻoe e hoʻomaka i ka hoʻopau ʻana i kāu pūnaewele neural.

Manaʻo ʻo Skillbox:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka