Teburin Abubuwan Ciki[Boye][Nuna]
A cikin 'yan shekarun nan, cibiyoyin sadarwar jijiyoyi sun girma cikin shahara tun lokacin da suka nuna cewa suna da kyau sosai a ayyuka masu yawa.
An nuna su a matsayin babban zaɓi don gane hoto da sauti, sarrafa harshe na halitta, har ma da yin wasanni masu rikitarwa kamar Go da dara.
A cikin wannan sakon, zan bi ku ta hanyar duk tsarin horar da hanyar sadarwa na jijiyoyi. Zan ambaci kuma in bayyana duk matakan don horar da hanyar sadarwa na jijiyoyi.
Yayin da zan wuce matakan zan so in ƙara misali mai sauƙi don tabbatar da cewa akwai misali mai amfani kuma.
Don haka, ku zo, kuma bari mu koyi yadda ake sarrafa hanyoyin sadarwa na jijiyoyi
Bari mu fara sauƙi kuma mu tambayi menene neural networks da fari.
Menene Ainihi Neural Networks?
Neural networks software ce ta kwamfuta da ke kwaikwayi aikin kwakwalwar ɗan adam. Za su iya koyo daga ɗimbin bayanai da tsarin tabo waɗanda mutane na iya samun wahalar ganowa.
Cibiyoyin sadarwa na jijiyoyi sun girma cikin shahara a cikin 'yan shekarun nan saboda iyawarsu a ayyuka kamar su gane hoto da sauti, sarrafa harshe na halitta, da ƙirar ƙira.
Gabaɗaya, cibiyoyin sadarwar jijiyoyi sune kayan aiki mai ƙarfi don aikace-aikacen da yawa kuma suna da damar canza hanyar da muke kusanci da ayyuka masu yawa.
Me Ya Sa Ya Kamata Mu Sani Game da Su?
Fahimtar hanyoyin sadarwa na jijiyoyi yana da mahimmanci saboda sun haifar da bincike a fannoni daban-daban, gami da hangen nesa na kwamfuta, fahimtar magana, da sarrafa harshe na halitta.
Cibiyoyin sadarwa na jijiyoyi, alal misali, sune tushen ci gaba na baya-bayan nan a cikin motoci masu tuƙi, sabis na fassarar atomatik, har ma da binciken likita.
Fahimtar yadda hanyoyin sadarwar jijiyoyi ke aiki da yadda ake tsara su yana taimaka mana gina sabbin aikace-aikace masu ƙirƙira. Kuma, watakila, yana iya haifar da ƙarin bincike a nan gaba.
Bayani Game da Koyarwar
Kamar yadda na fada a sama, Ina so in bayyana matakan horar da hanyar sadarwa ta hanyar ba da misali. Don yin wannan, ya kamata mu yi magana game da saitin bayanai na MNIST. Shahararren zaɓi ne ga masu farawa waɗanda ke son farawa tare da cibiyoyin sadarwar jijiyoyi.
MNIST gagara ce da ke tsaye ga Modified National Institute of Standards and Technology. Saitin bayanan lambobi ne da aka rubuta da hannu wanda aka saba amfani da shi don horarwa da gwada samfuran koyon injin, musamman cibiyoyin sadarwa.
Tarin ya ƙunshi hotuna masu launin toka 70,000 na lambobin da aka rubuta da hannu daga 0 zuwa 9.
Saitin bayanan MNIST sanannen ma'auni ne don rarraba hoto ayyuka. Ana amfani da shi akai-akai don koyarwa da koyo tunda yana da ƙanƙanta kuma mai sauƙin magance shi yayin da yake haifar da ƙalubale mai wahala ga algorithms koyon injin don amsa.
Saitin bayanan MNIST yana samun goyan bayan tsarin koyon injina da dakunan karatu, gami da TensorFlow, Keras, da PyTorch.
Yanzu mun san game da saitin bayanai na MNIST, bari mu fara da matakan horar da hanyar sadarwar jijiya.
Matakai na asali don Horar da Cibiyar Sadarwar Jijiya
Shigo da Laburaren Labura
Lokacin da aka fara horar da hanyar sadarwa na jijiyoyi, yana da mahimmanci a sami kayan aikin da suka dace don ƙira da horar da ƙirar. Matakin farko na ƙirƙirar hanyar sadarwar jijiya shine shigo da dakunan karatu da ake buƙata kamar TensorFlow, Keras, da NumPy.
Waɗannan ɗakunan karatu suna aiki azaman tubalan gini don haɓaka hanyar sadarwar jijiyoyi kuma suna ba da ƙarfi mai mahimmanci. Haɗin waɗannan ɗakunan karatu yana ba da damar ƙirƙirar ƙirar hanyoyin sadarwa na jijiyoyi da sauri da horo.
Don fara misalinmu; za mu shigo da ɗakunan karatu da ake buƙata, waɗanda suka haɗa da TensorFlow, Keras, da NumPy. TensorFlow tsarin koyon injin buɗaɗɗen tushe ne, Keras babbar hanyar sadarwa ce ta API, kuma NumPy ɗakin karatu na Python na ƙididdigewa ne.
import tensorflow as tf
from tensorflow import keras
import numpy as np
Load da Dataset
Dole ne a ɗora bayanan bayanan yanzu. Matsakaicin bayanai shine saitin bayanai wanda za'a horar da cibiyar sadarwar jijiyoyi akan su. Wannan yana iya zama kowane nau'in bayanai, gami da hotuna, sauti, da rubutu.
Yana da mahimmanci a raba saitin bayanai zuwa sassa biyu: ɗaya don horar da cibiyar sadarwa ta jijiyoyi da wani don tantance daidaiton ƙirar da aka horar. Ana iya amfani da ɗakunan karatu da yawa, gami da TensorFlow, Keras, da PyTorch, don shigo da saitin bayanai.
Misalin mu, muna kuma amfani da Keras don loda saitin bayanan MNIST. Akwai hotunan horo 60,000 da hotunan gwaji 10,000 a cikin bayanan.
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Preprocess The Data
Ƙaddamar da bayanai wani muhimmin mataki ne a horar da cibiyar sadarwa na jijiyoyi. Ya ƙunshi shiryawa da tsaftace bayanan kafin a ciyar da su cikin hanyar sadarwar jijiyoyi.
Ƙimar ƙimar pixel, daidaita bayanai, da kuma juyar da lakabi zuwa rufaffiyar zafi ɗaya misalai ne na hanyoyin aiwatarwa. Waɗannan matakai suna taimaka wa hanyar sadarwar jijiya don koyo sosai kuma daidai.
Gabatar da bayanan kuma na iya taimakawa don rage wuce gona da iri da inganta ayyukan cibiyar sadarwa.
Dole ne ku tsara bayanan kafin horar da cibiyar sadarwar jijiyoyi. Wannan ya haɗa da canza labulen zuwa ɓoye-zafi ɗaya da daidaita ƙimar pixel don zama tsakanin 0 da 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)
Ƙayyade Samfurin
Tsarin ma'anar ƙirar hanyar sadarwa ta jijiyoyi ya ƙunshi kafa tsarin gine-ginensa, kamar adadin yadudduka, adadin neurons a kowane Layer, ayyukan kunnawa, da nau'in hanyar sadarwa (cikawa, maimaituwa, ko juyi).
Ƙirar hanyar sadarwar jijiyoyi da kuke amfani da ita an ƙaddara ta irin matsalar da kuke ƙoƙarin warwarewa. Ƙirar hanyar sadarwar jijiya mai ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun tsarin jijiyoyi na iya taimakawa wajen ilmantarwa na cibiyar sadarwa ta hanyar samar da shi mafi inganci da daidaito.
Lokaci ya yi da za a kwatanta ƙirar hanyar sadarwa ta jijiyoyi a wannan lokacin. Yi amfani da tsari mai sauƙi tare da ɓoyayyun yadudduka guda biyu, kowannensu yana da 128 neurons, da softmax fitarwa Layer, wanda ke da neurons 10, ga wannan misali.
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')
])
Haɗa Model
Dole ne a ƙayyade aikin asara, ingantawa, da ma'auni yayin haɗar ƙirar hanyar sadarwa ta jijiyoyi. Ƙarfin cibiyar sadarwar jijiyoyi don yin hasashen daidaitaccen abin fitarwa ana auna shi ta aikin asara.
Don haɓaka daidaiton hanyar sadarwar jijiyoyi yayin horo, mai ingantawa yana gyara ma'aunin sa. Ana auna tasirin hanyar sadarwar jijiyoyi yayin horo ta amfani da ma'auni. Dole ne a ƙirƙiri samfurin kafin a iya horar da cibiyar sadarwar jijiyoyi.
A cikin misalinmu, dole ne a yanzu mu gina samfurin.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Horar da Model
Wuce saitin bayanan da aka shirya ta hanyar sadarwar jijiya yayin da ake gyara ma'aunin cibiyar sadarwa don rage aikin asara an san shi da horar da cibiyar sadarwa ta jijiya.
Ana amfani da saitin ingantattun bayanai don gwada hanyar sadarwar jijiya yayin horo don bin diddigin tasirin sa da hana wuce gona da iri. Tsarin horo na iya ɗaukar ɗan lokaci, don haka yana da mahimmanci a tabbatar cewa cibiyar sadarwa ta jijiyoyi an horar da su yadda ya kamata don hana rashin dacewa.
Yin amfani da bayanan horo, yanzu za mu iya horar da samfurin. Don yin wannan, dole ne mu ayyana girman batch (yawan samfuran da aka sarrafa kafin a sabunta samfurin) da adadin lokutan zamani (yawan maimaitawa a cikin cikakkun bayanai).
model.fit(train_images, train_labels, epochs=10, batch_size=32)
Ƙimar Samfurin
Gwajin aikin cibiyar sadarwar jijiya akan saitin gwajin shine tsarin tantance shi. A wannan matakin, ana amfani da hanyar sadarwar jijiyoyi da aka horar don aiwatar da bayanan gwajin, kuma ana kimanta daidaito.
Ta yaya ingantaccen hanyar sadarwar jijiyoyi za ta iya yin hasashen sakamako mai kyau daga sabbin sabbin bayanai, bayanan da ba a gwada su ba shine ma'aunin daidaito. Yin nazarin samfurin na iya taimakawa wajen sanin yadda hanyar sadarwar jijiyoyi ke aiki da kuma ba da shawarar hanyoyin da za a inganta ta.
A ƙarshe zamu iya tantance aikin ƙirar ta amfani da bayanan gwaji bayan horo.
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
Shi ke nan! Mun horar da hanyar sadarwa ta jijiya don gano lambobi a cikin bayanan MNIST.
Daga shirya bayanai zuwa kimanta tasiri na samfurin horarwa, horar da hanyar sadarwa na jijiyoyi ya ƙunshi matakai da yawa. Waɗannan umarnin suna taimaka wa novice wajen ginawa da horar da cibiyoyin sadarwa yadda yakamata.
Masu farawa waɗanda ke son amfani da hanyoyin sadarwa na jijiyoyi don magance batutuwa daban-daban na iya yin hakan ta bin waɗannan umarnin.
Kallon Misali
Bari mu yi ƙoƙari mu hango abin da muka yi da wannan misalin don mu fahimta da kyau.
Ana amfani da fakitin Matplotlib a cikin wannan snippet na lambar don tsara zaɓin hotuna na bazuwar daga tsarin bayanan horo. Da farko, muna shigo da tsarin “pyplot” na Matplotlib kuma ana masa lakabi da “plt”. Sa'an nan, tare da jimlar girman 10 ta 10 inci, muna yin adadi tare da layuka 5 da ginshiƙai 5 na subplots.
Sa'an nan kuma, muna amfani da madauki don maimaita kan ramummuka, nuna hoto daga bayanan horo akan kowannensu. Don nuna hoton, ana amfani da aikin "imshow", tare da zaɓin "cmap" da aka saita zuwa 'launin toka' don nuna hotuna a cikin launin toka. An kuma saita taken kowane maƙasudin ƙididdiga zuwa lakabin hoton haɗin gwiwa a cikin tarin.
A ƙarshe, muna amfani da aikin "nunawa" don nuna hotunan da aka tsara a cikin adadi. Wannan aikin yana ba mu damar kimanta samfurin hotuna na gani daga bayanan, wanda zai iya taimakawa wajen fahimtar bayananmu da gano duk wata damuwa mai yiwuwa.
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()
Muhimman Samfuran Sadarwar Jijiya
- Hanyoyin Sadarwar Jijiya (FFNN): Nau'in cibiyar sadarwa mai sauƙi wanda bayanai ke tafiya ta hanya ɗaya kawai, daga layin shigarwa zuwa layin fitarwa ta hanyar ɓoye ɗaya ko fiye.
- Hanyoyin Sadarwar Jijiya na Juyin Halitta (CNN): Cibiyar sadarwa ta jijiya wacce aka fi amfani da ita wajen gano hoto da sarrafa su. CNNs an yi niyya don ganowa da cire fasali daga hotuna ta atomatik.
- Cibiyoyin Sadarwar Jijiya na Maimaituwa (RNN): Cibiyar sadarwa ta jijiya wacce aka fi amfani da ita wajen gano hoto da sarrafa su. CNNs an yi niyya don ganowa da cire fasali daga hotuna ta atomatik.
- Cibiyoyin Sadarwar Ƙwaƙwalwar Ƙwaƙwalwar Tsawon Lokaci (LSTM): Wani nau'i na RNN da aka ƙirƙira don shawo kan batun bacewar gradients a daidaitattun RNNs. Dogaro na dogon lokaci a cikin bayanan jeri zai iya zama mafi kyawun kamawa tare da LSTMs.
- Masu rikodin autoencoders: Cibiyar ilmantarwa mara kulawa ba tare da kulawa ba inda ake koyar da cibiyar sadarwa don sake fitar da bayanan shigar da ita a matakin fitarwa. Matsa bayanai, gano ɓarna, da ɓata hoto duk ana iya cika su tare da autoencoders.
- Generative Adversarial Networks (GAN): Ƙwararren jijiyoyi wani nau'i ne na hanyar sadarwa na jijiyoyi wanda aka koya don samar da sababbin bayanai wanda ya yi daidai da bayanan horo. GANs sun ƙunshi cibiyoyin sadarwa guda biyu: cibiyar sadarwa ta janareta mai ƙirƙira sabbin bayanai da cibiyar sadarwar wariya da ke tantance ingancin bayanan da aka ƙirƙira.
Kunnawa, Menene Ya Kamata Ku Zama Matakanku Na Gaba?
Bincika albarkatun kan layi da yawa da darussa don ƙarin koyo game da horar da hanyar sadarwa na jijiyoyi. Yin aiki akan ayyuka ko misalai hanya ɗaya ce don samun kyakkyawar fahimtar hanyoyin sadarwa.
Fara da misalai masu sauƙi kamar matsalolin rarraba binaryar ko ayyukan rarraba hoto, sannan je zuwa ayyuka masu wahala kamar sarrafa harshe na halitta ko ƙarfafa ilmantarwa.
Yin aiki akan ayyukan yana taimaka muku samun ƙwarewa ta gaske da haɓaka ƙwarewar horarwar hanyar sadarwar ku.
Hakanan kuna iya shiga koyan injunan kan layi da ƙungiyoyin hanyoyin sadarwa na jijiya da tarukan tattaunawa don yin hulɗa tare da sauran ɗalibai da ƙwararru, raba aikinku, da karɓar tsokaci da taimako.
Farashin LSRS MONRAD-KROHN
⁶ĵDa na so ganin shirin Python don rage girman kuskure. Ƙididdigar zaɓi na musamman don canjin nauyi zuwa Layer na gaba