M'ndandanda wazopezekamo[Bisani][Show]
M'zaka zaposachedwa, ma neural network achulukirachulukira chifukwa awonetsa kuti ndiabwino kwambiri pantchito zingapo.
Awonetsedwa kuti ndi chisankho chabwino kwambiri pakuzindikiritsa zithunzi ndi mawu, kukonza chilankhulo chachilengedwe, komanso kusewera masewera ovuta ngati Go ndi chess.
Mu positi iyi, ndikuyendetsani njira yonse yophunzitsira neural network. Nditchula ndikufotokozera njira zonse zophunzitsira neural network.
Ngakhale ndidutsa masitepe omwe ndikufuna kuwonjezera chitsanzo chosavuta kuti nditsimikizire kuti palinso chitsanzo chothandiza.
Chifukwa chake, bwerani, ndipo tiphunzire momwe tingagwiritsire ntchito ma neural network
Tiyeni tiyambe mophweka ndikufunsa zomwe zili mawindo a neural poyamba.
Kodi Neural Networks Ndi Chiyani Kwenikweni?
Ma Neural network ndi mapulogalamu apakompyuta omwe amatengera momwe ubongo wamunthu umagwirira ntchito. Atha kuphunzira kuchokera kuzinthu zambiri komanso mawonekedwe omwe anthu angavutike kuwazindikira.
Ma Neural network achulukirachulukira m'zaka zaposachedwa chifukwa cha kusinthasintha kwawo pa ntchito monga kuzindikiritsa zithunzi ndi mawu, kukonza zilankhulo zachilengedwe, komanso kutengera chitsanzo.
Ponseponse, ma neural network ndi chida champhamvu chogwiritsa ntchito zosiyanasiyana ndipo amakhala ndi mwayi wosintha momwe timayendera ntchito zosiyanasiyana.
N'chifukwa Chiyani Tiyenera Kudziwa za Iwo?
Kumvetsetsa ma neural network ndikofunikira chifukwa apangitsa kuti atulutsidwe m'magawo osiyanasiyana, kuphatikiza masomphenya apakompyuta, kuzindikira mawu, komanso kukonza chilankhulo chachilengedwe.
Mwachitsanzo, ma netiweki a Neural, ali pakatikati pa zochitika zaposachedwa zamagalimoto odziyendetsa okha, ntchito zomasulira zokha, ngakhalenso zachipatala.
Kumvetsetsa momwe ma neural network amagwirira ntchito komanso momwe angawapangire kumatithandiza kupanga mapulogalamu atsopano komanso abwino. Ndipo, mwina, zitha kupangitsa kuti atulutsidwe kwambiri m'tsogolomu.
Chidziwitso Chokhudza Maphunziro
Monga ndanenera pamwambapa, ndikufuna kufotokozera njira zophunzitsira neural network popereka chitsanzo. Kuti tichite izi, tiyenera kulankhula za deta ya MNIST. Ndi chisankho chodziwika bwino kwa oyamba kumene omwe akufuna kuyamba ndi ma neural network.
MNIST ndi chidule chomwe chimayimira Modified National Institute of Standards and Technology. Ndi manambala olembedwa pamanja omwe amagwiritsidwa ntchito pophunzitsa ndi kuyesa makina ophunzirira, makamaka ma neural network.
Zosonkhanitsazo zili ndi zithunzi 70,000 zotuwa za manambala olembedwa pamanja kuyambira 0 mpaka 9.
MNIST dataset ndi benchmark yotchuka ya gulu la zithunzi ntchito. Imagwiritsidwa ntchito nthawi zambiri pophunzitsa ndi kuphunzira chifukwa ndi yaying'ono komanso yosavuta kuthana nayo pomwe imakhala yovuta kuti makina ophunzirira makina ayankhe.
Seti ya data ya MNIST imathandizidwa ndi makina angapo ophunzirira makina ndi malaibulale, kuphatikiza TensorFlow, Keras, ndi PyTorch.
Tsopano tikudziwa za dataset ya MNIST, tiyeni tiyambe ndi njira zathu zophunzitsira neural network.
Njira Zoyambira Zophunzitsira Neural Network
Tengani Laibulale Yofunika
Mukayamba kuphunzitsa neural network, ndikofunikira kukhala ndi zida zofunika kupanga ndi kuphunzitsa chitsanzocho. Gawo loyambirira popanga neural network ndikulowetsa malaibulale ofunikira monga TensorFlow, Keras, ndi NumPy.
Ma library awa amagwira ntchito ngati zomangira za chitukuko cha neural network ndikupereka kuthekera kofunikira. Kuphatikiza kwa malaibulalewa kumathandizira kupanga mapangidwe apamwamba a neural network ndikuphunzitsidwa mwachangu.
Kuyamba chitsanzo chathu; tidzalowetsa malaibulale ofunikira, omwe akuphatikiza TensorFlow, Keras, ndi NumPy. TensorFlow ndi njira yophunzirira makina otseguka, Keras ndi API yapamwamba kwambiri ya neural network, ndipo NumPy ndi laibulale yamakompyuta ya Python.
import tensorflow as tf
from tensorflow import keras
import numpy as np
Kwezani Dataset
Zosungidwazo ziyenera kuikidwa. Deta ndi seti ya data yomwe neural network idzaphunzitsidwa. Izi zitha kukhala zamtundu uliwonse, kuphatikiza zithunzi, zomvera, ndi mawu.
Ndikofunikira kugawa deta m'magawo awiri: imodzi yophunzitsira neural network ndi ina yowunika kulondola kwachitsanzo chophunzitsidwa bwino. Malaibulale angapo, kuphatikiza TensorFlow, Keras, ndi PyTorch, atha kugwiritsidwa ntchito kuitanitsa seti ya data.
Mwachitsanzo, timagwiritsanso ntchito Keras kuyika deta ya MNIST. Pali zithunzi zophunzitsira 60,000 ndi zithunzi zoyeserera 10,000 muzosungira.
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Yambitsanitu Deta
Kukonzekera kwa data ndi gawo lofunikira pakuphunzitsa neural network. Zimaphatikizapo kukonzekera ndi kuyeretsa deta isanalowe mu neural network.
Kuchulukitsa ma pixel, kusintha deta, ndikusintha zilembo kukhala encoding yotentha imodzi ndi zitsanzo zamachitidwe okonzekeratu. Njirazi zimathandiza ma neural network kuphunzira bwino komanso molondola.
Kukonza zidziwitso kungathandizenso kuchepetsa kuchulukitsitsa ndikuwongolera magwiridwe antchito a neural network.
Muyenera kukonzanso zambiri musanaphunzitse neural network. Izi zikuphatikiza kusintha zilembo kukhala encoding yotentha imodzi ndikukweza ma pixel kukhala pakati pa 0 ndi 1.
train_images = train_images / 255.0
test_images = test_images / 255.0
train_labels = keras.utils.to_categorical(train_labels, 10)
test_labels = keras.utils.to_categorical(test_labels, 10)
Tanthauzirani Chitsanzo
Njira yofotokozera mtundu wa neural network imaphatikizapo kukhazikitsa kamangidwe kake, monga kuchuluka kwa zigawo, kuchuluka kwa ma neuroni pagawo lililonse, ntchito zoyambitsa, ndi mtundu wa netiweki (wothandizira, wobwereza, kapena wosinthika).
Mapangidwe a neural network omwe mumagwiritsa ntchito amatsimikiziridwa ndi mtundu wavuto lomwe mukuyesera kuthetsa. Mapangidwe odziwika bwino a neural network amatha kuthandizira kuphunzira kwa neural network popangitsa kuti ikhale yabwino komanso yolondola.
Yakwana nthawi yoti mufotokoze za neural network model pakadali pano. Gwiritsani ntchito chitsanzo chosavuta chokhala ndi zigawo ziwiri zobisika, aliyense ali ndi 128 neurons, ndi softmax output layer, yomwe ili ndi 10 neurons, mwachitsanzo.
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
Lembani Chitsanzo
Ntchito yotayika, optimizer, ndi ma metrics ziyenera kufotokozedwa panthawi ya neural network model. Kuthekera kwa neural network kulosera molondola zomwe zatuluka kumayesedwa ndi ntchito yotayika.
Kuti muwonjezere kulondola kwa neural network panthawi yophunzitsira, chowonjezeracho chimasintha zolemera zake. Kuchita bwino kwa neural network panthawi yophunzitsira kumayesedwa pogwiritsa ntchito ma metric. Chitsanzocho chiyenera kupangidwa pamaso pa neural network ingaphunzitsidwe.
Mu chitsanzo chathu, tiyenera tsopano kupanga chitsanzo.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Phunzitsani Chitsanzo
Kudutsira deta yokonzedwa kudzera mu neural network pomwe mukusintha zolemera za netiweki kuti muchepetse ntchito yotayika kumadziwika kuti kuphunzitsa neural network.
Chidziwitso chovomerezeka chimagwiritsidwa ntchito kuyesa neural network panthawi yophunzitsidwa kuti iwonetsere momwe imagwirira ntchito ndikupewa kuchulukitsitsa. Maphunzirowa amatha kutenga nthawi, chifukwa chake ndikofunikira kuwonetsetsa kuti ma neural network aphunzitsidwa bwino kuti apewe kuperewera.
Pogwiritsa ntchito deta yophunzitsira, tsopano tikhoza kuphunzitsa chitsanzo. Kuti tichite izi, tiyenera kufotokozera kukula kwa batch (chiwerengero cha zitsanzo zomwe zasinthidwa chitsanzo chisanasinthidwe) ndi chiwerengero cha ma epochs (chiwerengero chobwerezabwereza pa dataset yonse).
model.fit(train_images, train_labels, epochs=10, batch_size=32)
Kuwunika Chitsanzo
Kuyesa magwiridwe antchito a neural network pa dataset yoyeserera ndi njira yowunikira. Munthawi imeneyi, neural network yophunzitsidwa bwino imagwiritsidwa ntchito poyesa dataset, ndipo kulondola kumawunikidwa.
Momwe maukonde a neural angalosere zotsatira zolondola kuchokera ku data yatsopano, yosayesedwa ndi muyeso wa kulondola kwake. Kusanthula chitsanzocho kungathandize kudziwa momwe ma neural network akugwirira ntchito komanso kupereka njira zopangira kuti zikhale zabwinoko.
Titha kuwunika momwe chitsanzocho chimagwirira ntchito pogwiritsa ntchito deta yoyeserera pambuyo pa maphunziro.
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
Ndizomwezo! Tinaphunzitsa neural network kuti izindikire manambala mu dataset ya MNIST.
Kuchokera pakukonzekera deta mpaka kuwunika momwe chitsanzo chophunzitsidwa chikuyendera, kuphunzitsa neural network kumaphatikizapo njira zingapo. Malangizowa amathandizira oyambira kumanga bwino ndikuphunzitsa ma neural network.
Oyamba kumene omwe akufuna kugwiritsa ntchito ma neural network kuthana ndi zovuta zosiyanasiyana atha kuchita izi potsatira malangizo awa.
Kuwona Chitsanzo
Tiyeni tiyese kuona m’maganizo zimene tachita ndi chitsanzo ichi kuti timvetse bwino.
Phukusi la Matplotlib likugwiritsidwa ntchito pazithunzithunzi za code iyi kukonza zithunzi zosasinthika kuchokera pagulu lamaphunziro. Choyamba, timalowetsa gawo la "pyplot" la Matplotlib ndikulitchula kuti "plt". Kenaka, ndi chiwerengero chonse cha mainchesi 10 ndi 10, timapanga chithunzi chokhala ndi mizere 5 ndi mizati 5 ya subplots.
Kenako, timagwiritsa ntchito loop kubwereza ma subplots, kuwonetsa chithunzi kuchokera pagulu la maphunziro pa chilichonse. Kuwonetsa chithunzicho, ntchito ya "imshow" imagwiritsidwa ntchito, ndi "cmap" njira yokhazikitsidwa kuti 'imvi' kuti iwonetse zithunzi mu grayscale. Mutu wa gawo laling'ono lililonse umayikidwanso ku lebulo la chithunzi chomwe chikugwirizana nacho m'gululi.
Pomaliza, timagwiritsa ntchito ntchito ya "show" kuti tiwonetse zithunzi zojambulidwa pachithunzichi. Ntchitoyi imatithandiza kuti tiwone bwinobwino zitsanzo za zithunzi zochokera mu dataset, zomwe zingatithandize kumvetsetsa deta ndi kuzindikira zovuta zilizonse.
import matplotlib.pyplot as plt
# Plot a random sample of images
fig, axes = plt.subplots(nrows=5, ncols=5, figsize=(10,10))
for i, ax in enumerate(axes.flat):
ax.imshow(train_images[i], cmap='gray')
ax.set_title(f"Label: {train_labels[i].argmax()}")
ax.axis('off')
plt.show()
Zofunika Neural Network Models
- Feedforward Neural Networks (FFNN): Mtundu wosavuta wa neural network momwe chidziwitso chimangoyenda mwanjira imodzi, kuchokera pagawo lolowera kupita kugawo lotulutsa kudzera mugawo limodzi kapena zingapo zobisika.
- Convolutional Neural Networks (CNN): Neural network yomwe imagwiritsidwa ntchito kwambiri pozindikira ndi kukonza zithunzi. Ma CNN amapangidwa kuti azindikire ndikuchotsa zinthu pazithunzi zokha.
- Ma Neural Networks Okhazikika (RNN): Neural network yomwe imagwiritsidwa ntchito kwambiri pozindikira ndi kukonza zithunzi. Ma CNN amapangidwa kuti azindikire ndikuchotsa zinthu pazithunzi zokha.
- Maukonde a Memory Yanthawi Yaifupi (LSTM): Mtundu wa RNN wopangidwa kuti uthetse vuto la kutha kwa ma gradient mu RNNs wamba. Kudalira kwanthawi yayitali muzotsatira zotsatizana kumatha kujambulidwa bwino ndi ma LSTM.
- Ma Autoencoder: Kuphunzira kosayang'aniridwa kwa neural network komwe netiweki imaphunzitsidwa kutulutsanso deta yake yolowera pagawo lake. Kuphatikizika kwa data, kuzindikira molakwika, ndi kutulutsa zithunzi zonse zitha kukwaniritsidwa ndi ma autoencoder.
- Generative Adversarial Networks (GAN): generative neural network ndi mtundu wa neural network womwe umaphunzitsidwa kupanga zatsopano zomwe zingafanane ndi dataset yophunzitsira. Ma GAN amapangidwa ndi maukonde awiri: netiweki ya jenereta yomwe imapanga deta yatsopano ndi netiweki yatsankho yomwe imawunika kuchuluka kwa zomwe zidapangidwa.
Pomaliza, Ndi Njira Zotani Zomwe Muyenera Kukhalira?
Onani zida zingapo zapaintaneti ndi maphunziro kuti mudziwe zambiri zophunzitsira neural network. Kugwira ntchito pama projekiti kapena zitsanzo ndi njira imodzi yodziwira bwino ma neural network.
Yambani ndi zitsanzo zosavuta monga zovuta zamagulu a binary kapena ntchito zamagulu azithunzi, kenako pitani kuzinthu zovuta monga kukonza zilankhulo zachilengedwe kapena kupititsa patsogolo maphunziro.
Kugwira ntchito pama projekiti kumakuthandizani kuti mukhale ndi chidziwitso chenicheni ndikuwongolera luso lanu lophunzitsira ma neural network.
Mutha kujowinanso kuphunzira pamakina pa intaneti ndi magulu a neural network ndi ma forum kuti muyanjane ndi ophunzira ena ndi akatswiri, kugawana ntchito yanu, ndikulandila ndemanga ndi chithandizo.
LSRS MONRAD-KROHN
⁶ĵNdikadakonda kuwona pulogalamu ya python pakuchepetsa zolakwikazo. Node zapadera zosankhidwa zosintha zolemera ku gawo lotsatira