Tha Artificial Intelligence (AI) air fàs mòr-chòrdte anns na bliadhnachan mu dheireadh.
Ma tha thu nad innleadair bathar-bog, neach-saidheans coimpiutair, no neach-dealasach saidheans dàta san fharsaingeachd, is dòcha gu bheil thu air do bheò-ghlacadh leis na tagraidhean iongantach de ghiollachd ìomhaighean, aithneachadh pàtrain agus lorg nithean a tha an raon seo a’ toirt seachad.
Is e an fho-raon AI as cudromaiche a chuala tu mu dheidhinn Deep Learning. Tha an raon seo a’ cuimseachadh air algoirmean cumhachdach (stiùireadh prògram coimpiutair) air an dealbhadh às deidh gnìomhachd eanchainn daonna ris an canar Lìonraidhean Neural.
San artaigil seo, thèid sinn thairis air bun-bheachd Neural Networks agus mar as urrainn dhut na modalan sin a thogail, a chur ri chèile, uidheamachadh agus luachadh a’ cleachdadh Python.
Lìonraidhean Neural
'S e sreath de dh'algorithms a th' ann an Neural Networks, neo NNn, air an dealbhadh às dèidh gnìomhachd bith-eòlais eanchainn an duine. Tha Neural Networks air a dhèanamh suas de nodan, ris an canar cuideachd neurons.
Canar sreathan ri cruinneachadh de nodan dìreach. Tha am modail air a dhèanamh suas de aon chur-a-steach, aon toradh, agus grunn shreathan falaichte. Anns gach còmhdach tha nodan, ris an canar cuideachd neurons, far am bi an àireamhachadh a’ tachairt.
Anns an diagram a leanas, tha na cearcallan a’ riochdachadh nan nodan agus tha an cruinneachadh dìreach de nodan a’ riochdachadh nan sreathan. Tha trì sreathan anns a 'mhodail seo.
Tha nodan aon fhilleadh ceangailte ris an ath shreath tro loidhnichean tar-chuir mar a chithear gu h-ìosal.
Tha an stòr-dàta againn air a dhèanamh suas de dhàta le bileagan. Tha seo a’ ciallachadh gun deach luach ainm sònraichte a thoirt do gach eintiteas dàta.
Mar sin airson dàta seòrsachadh bheathaichean bidh ìomhaighean againn de chait is coin mar an dàta againn, le ‘cat’ agus ‘cù’ mar na bileagan againn.
Tha e cudromach cuimhneachadh gum feumar bileagan atharrachadh gu luachan àireamhach airson ar modail gus ciall a dhèanamh dhiubh, agus mar sin bidh na bileagan beathach againn mar ‘0’ airson cat agus ‘1’ airson cù. Tha an dà chuid an dàta agus na bileagan air an toirt seachad tron mhodail.
ionnsachadh
Tha dàta air a thoirt don mhodail aon eintiteas aig an aon àm. Tha an dàta seo air a bhriseadh sìos gu pìosan agus air a dhol tro gach nód den mhodail. Bidh nodan a’ dèanamh obair matamataigeach air na pìosan sin.
Chan fheum fios a bhith agad air na gnìomhan matamataigeach no an àireamhachadh airson an oideachadh seo, ach tha e cudromach gum bi beachd coitcheann agad air mar a tha na modailean sin ag obair. Às deidh sreath de àireamhachadh ann an aon ìre, thèid dàta a chuir chun ath ìre agus mar sin air adhart.
Nuair a bhios e deiseil, bidh am modail againn a’ ro-innse an leubail dàta aig an ìre toraidh (mar eisimpleir, ann an duilgheadas seòrsachadh bheathaichean gheibh sinn ro-innse ‘0’ airson cat).
Bidh am modail an uairsin a’ dol air adhart gus coimeas a dhèanamh eadar an luach ro-mheasta seo agus luach an leubail fhèin.
Ma tha na luachan a’ maidseadh, bheir am modail againn an ath chuir a-steach ach ma tha na luachan eadar-dhealaichte obraichidh am modail an diofar eadar an dà luach, ris an canar call, agus atharraichidh e àireamhachadh nodan gus bileagan maidsidh a thoirt gu buil an ath thuras.
Frèamaichean Ionnsachaidh domhainn
Gus Neural Networks a thogail ann an còd, feumaidh sinn in-mhalairt Frèamaichean Ionnsachaidh domhainn ris an canar leabharlannan a’ cleachdadh ar n-Àrainneachd Leasachaidh Amalaichte (IDE).
Tha na frèaman sin nan cruinneachadh de ghnìomhan ro-sgrìobhte a chuidicheas sinn san oideachadh seo. Bidh sinn a’ cleachdadh frèam Keras gus ar modail a thogail.
Is e leabharlann Python a th’ ann an Keras a bhios a’ cleachdadh backend ionnsachaidh domhainn agus inntleachd fuadain ris an canar Sruth tensor gus NNn a chruthachadh ann an cruth mhodalan sreath sìmplidh gu furasta.
Bidh Keras cuideachd a ’tighinn leis na modalan preexisting aige fhèin a dh’ fhaodadh a bhith air an cleachdadh cuideachd. Airson an oideachadh seo, bidh sinn a 'cruthachadh ar modail fhèin a' cleachdadh Keras.
Faodaidh tu barrachd ionnsachadh mun fhrèam Deep Learning seo bhon Làrach-lìn Keras.
Togail lìonra neural (Oideachadh)
Gluaisidh sinn air adhart gu bhith a’ togail Lìonra Neural a’ cleachdadh Python.
Aithris Trioblaid
Tha Neural Networks mar sheòrsa de fhuasgladh air duilgheadasan stèidhichte air AI. Airson an oideachadh seo bidh sinn a 'dol thairis air an Pima Indians Diabetes Data, a tha ri fhaighinn an seo.
ICU Tha Machine Learning air an dàta seo a chur ri chèile agus tha clàr meidigeach ann de dh’ euslaintich Innseanach. Feumaidh am modail againn ro-innse a bheil tinneas an t-siùcair air tòiseachadh taobh a-staigh 5 bliadhna no nach eil.
A' luchdachadh an stòr-dàta
’S e aon fhaidhle CSV ris an canar ‘diabetes.csv’ a th’ anns an t-seata dàta againn a tha furasta a làimhseachadh le bhith a’ cleachdadh Microsoft Excel.
Mus cruthaich sinn ar modail, feumaidh sinn ar dàta a thoirt a-steach. A’ cleachdadh a’ chòd a leanas faodaidh tu seo a dhèanamh:
cuir a-steach pandathan mar pd
data = pd.read_csv ('diabetes.csv')
x = data.drop (“Toradh”)
y = dàta[“Toradh”]
An seo tha sinn a ’cleachdadh an Bidh pandathan leabharlann gus a bhith comasach air ar dàta faidhle CSV a làimhseachadh, tha read_csv() na ghnìomh togte de Pandas a leigeas leinn na luachan san fhaidhle againn a stòradh gu caochladair ris an canar ‘data’.
Tha an caochladair x a’ toirt a-steach an stòr-dàta againn às aonais an dàta toraidh (bileagan). Bidh sinn a’ coileanadh seo leis a’ ghnìomh data.drop() a bheir air falbh na bileagan airson x, fhad ‘s nach eil aig y ach an dàta builean (leubail).
Togalach Modail Sequential
Ceum 1: A 'toirt a-steach leabharlannan
An toiseach, feumaidh sinn TensorFlow agus Keras a thoirt a-steach, còmhla ri cuid de pharamadairean a tha riatanach airson ar modail. Leigidh an còd a leanas leinn seo a dhèanamh:
toirt a-steach tensorflow mar tf
bho keras in-mhalairt tensorflow
bho tensorflow.keras.models import Sequential
bho tensorflow.keras.layers import Gnìomhachadh, dùmhail
bho tensorflow.keras.optimizers toirt a-steach Adhamh
bho tensorflow.keras.metrics import categorical_crossentropy
Airson ar modail tha sinn a 'toirt a-steach sreathan dùmhail. Tha iad sin nan sreathan làn-cheangailte; ie, tha gach nód ann an còmhdach làn ceangailte ri nód eile san ath shreath.
Tha sinn cuideachd a’ toirt a-steach an gnìomhachd gnìomh a dh’ fheumar airson dàta a chaidh a chuir gu nodan a sgèileadh. Optimizers air an toirt a-steach cuideachd gus call a lughdachadh.
Tha Adhamh na optimizer ainmeil a nì ar àireamhachadh nodan ùrachadh modail nas èifeachdaiche, còmhla ri categorical_crossentropy a tha an seòrsa gnìomh call (a’ cunntadh an eadar-dhealachadh eadar luachan leubail fìor agus ro-innse) a bhios sinn a’ cleachdadh.
Ceum 2: Dealbhadh ar Modail
Anns a 'mhodail a tha mi a' cruthachadh tha aon chur-a-steach (le 16 aonadan), aon fhalach (le 32 aonad) agus aon toradh (le 2 aonad). Chan eil na h-àireamhan sin stèidhichte agus bidh iad gu tur an urra ris an duilgheadas a chaidh a thoirt seachad.
Is e pròiseas a th’ ann a bhith a’ suidheachadh na h-àireimh cheart de dh’aonadan agus shreathan a dh’fhaodar a leasachadh thar ùine tro chleachdadh. Tha gnìomhachd a’ freagairt ris an t-seòrsa sgèileadh a bhios sinn a’ coileanadh air an dàta againn mus tèid sinn tro nód.
Tha Relu agus Softmax nan gnìomhan gnìomhachaidh cliùiteach airson na h-obrach seo.
model = sreath ([
Dense(units = 16, input_shape = (1,), activation = 'relu'),
Dense(aonadan = 32, gnìomhachadh = 'relu'),
Dense(aonadan = 2, gnìomhachadh = 'softmax')
])
Seo cò ris a bu chòir geàrr-chunntas a’ mhodail a bhith coltach:
A 'trèanadh a' mhodail
Bidh am modail againn air a thrèanadh ann an dà cheum, a’ chiad fhear a bhith a’ cur ri chèile a’ mhodail (a’ cur a’ mhodail ri chèile) agus an ath fhear a’ freagairt a’ mhodail air seata dàta sònraichte.
Faodar seo a dhèanamh a’ cleachdadh a’ ghnìomh model.compile() air a leantainn leis a’ ghnìomh model.fit().
model.compile(optimizer = Adam(learning_rate = 0.0001), call = 'binary_crossentropy', meatrach = ['cruinneas'])
model.fit(x, y, epochs = 30, batch_size = 10)
Le bhith a’ sònrachadh a’ mheatrach ‘cruinneas’ leigidh sin leinn sùil a chumail air neo-mhearachdachd a’ mhodail againn rè an trèanaidh.
Leis gu bheil na bileagan againn ann an cruth 1's agus 0's, bidh sinn a’ cleachdadh gnìomh call binary gus obrachadh a-mach an eadar-dhealachadh eadar bileagan fìor agus ro-innse.
Tha an stòr-dàta cuideachd ga roinn ann an baidsean de 10 (batch_size) agus thèid a thoirt tron mhodail 30 tursan (epochs). Airson stòr-dàta ainmichte, b’ e x an dàta agus is e y na bileagan a rèir an dàta.
Modail deuchainn a 'cleachdadh ro-innse
Gus ar modail a mheasadh, bidh sinn a’ dèanamh ro-innse air an dàta deuchainn a’ cleachdadh a’ ghnìomh ro-innse ().
ro-innse = model.predict(x)
Agus sin e!
Bu chòir dhut a-nis tuigse mhath a bhith agad air na Ionnsachadh domhainn tagradh, Neural Networks, mar a bhios iad ag obair san fharsaingeachd agus mar a thogas iad, a thrèanadh agus a nì deuchainn air modal ann an còd Python.
Tha mi an dòchas gun toir an oideachadh seo an kickstart dhut gus na modalan Deep Learning agad fhèin a chruthachadh agus a chleachdadh.
Leig fios dhuinn anns na beachdan an robh an artaigil cuideachail.
Leave a Reply