Table of Contents[Kache][Montre]
Nan dènye ane yo, rezo neral yo te grandi nan popilarite depi yo te montre yo trè bon nan yon pakèt travay.
Yo te montre yo se yon gwo chwa pou rekonesans imaj ak odyo, pwosesis lang natirèl, e menm jwe jwèt konplike tankou Go ak echèk.
Nan pòs sa a, mwen pral mache w atravè tout pwosesis fòmasyon yon rezo neral. Mwen pral mansyone epi eksplike tout etap yo fòme yon rezo neral.
Pandan ke mwen pral ale sou etap sa yo mwen ta renmen ajoute yon egzanp senp pou asire ke gen yon egzanp pratik tou.
Donk, vini ansanm, epi ann aprann kijan pou trete rezo neral yo
Ann kòmanse senp epi mande sa yo ye rezo neral nan premye plas.
Ki sa ki egzakteman rezo neral yo?
Rezo neral yo se lojisyèl òdinatè ki simulation operasyon sèvo imen an. Yo ka aprann nan gwo volim done ak modèl tach ke moun ka jwenn difisil pou detekte.
Rezo neral yo te grandi nan popilarite nan dènye ane yo akòz adaptabilite yo nan travay tankou foto ak rekonesans odyo, pwosesis lang natirèl, ak modèl prediksyon.
An jeneral, rezo neral yo se yon zouti solid pou yon pakèt aplikasyon epi yo gen yon chans transfòme fason nou apwoche yon pakèt travay.
Poukisa nou ta dwe konnen sou yo?
Konprann rezo neral enpòtan paske yo te mennen nan dekouvèt nan yon varyete domèn, tankou vizyon òdinatè, rekonesans lapawòl, ak pwosesis langaj natirèl.
Rezo neral, pou egzanp, se nan kè a nan dènye devlopman nan machin oto-kondwi, sèvis tradiksyon otomatik, e menm dyagnostik medikal.
Konprann ki jan rezo neral fonksyone ak fason pou konsepsyon yo ede nou bati nouvo aplikasyon ak envante. Epi, petèt, li ka mennen nan menm pi gwo dekouvèt nan tan kap vini an.
Yon Nòt sou Leson patikilye a
Kòm mwen te di pi wo a, mwen ta renmen eksplike etap yo nan fòmasyon yon rezo neral pa bay yon egzanp. Pou fè sa, nou ta dwe pale sou dataset MNIST la. Li se yon chwa popilè pou débutan ki vle kòmanse ak rezo neral.
MNIST se yon akwonim ki vle di Enstiti Nasyonal Modifye nan Estanda ak Teknoloji. Li se yon seri done chif ekri alamen ki souvan itilize pou fòmasyon ak tès modèl aprantisaj machin, sitou rezo neral.
Koleksyon an gen 70,000 foto gri de chif ekri alamen sòti 0 a 9.
Dataset MNIST se yon referans popilè pou klasifikasyon imaj travay. Li se souvan itilize pou ansèyman ak aprantisaj paske li se kontra enfòmèl ant ak fasil fè fas ak pandan y ap poze yon defi difisil pou algoritm aprantisaj machin yo reponn.
Ansanm done MNIST la sipòte pa plizyè kad aprantisaj machin ak bibliyotèk, tankou TensorFlow, Keras, ak PyTorch.
Kounye a nou konnen sou seri done MNIST la, ann kòmanse ak etap nou yo nan fòmasyon yon rezo neral.
Etap debaz pou fòme yon rezo neral
Enpòte bibliyotèk ki nesesè yo
Lè premye kòmanse fòme yon rezo neral, li enpòtan pou gen zouti ki nesesè yo konsepsyon ak fòme modèl la. Premye etap la nan kreye yon rezo neral se enpòte bibliyotèk obligatwa tankou TensorFlow, Keras, ak NumPy.
Bibliyotèk sa yo sèvi kòm blòk konstriksyon pou devlopman rezo neral la epi yo bay kapasite enpòtan. Konbinezon bibliyotèk sa yo pèmèt pou kreye konsepsyon rezo neral sofistike ak fòmasyon rapid.
Pou kòmanse egzanp nou an; nou pral enpòte bibliyotèk obligatwa yo, ki gen ladan TensorFlow, Keras, ak NumPy. TensorFlow se yon kad aprantisaj machin sous louvri, Keras se yon API rezo neral wo nivo, ak NumPy se yon bibliyotèk Python enfòmatik nimerik.
import tensorflow as tf
from tensorflow import keras
import numpy as np
Chaje Dataset la
Done yo dwe kounye a chaje. Dataset la se yon seri done ki pral antrene rezo neral la. Sa a ka nenpòt kalite done, tankou foto, odyo, ak tèks.
Li enpòtan pou divize seri done a an de pati: youn pou fòme rezo neral la ak yon lòt pou evalye kòrèkteman modèl ki resevwa fòmasyon an. Plizyè bibliyotèk, tankou TensorFlow, Keras, ak PyTorch, ka itilize pou enpòte dataset la.
Pou egzanp nou an, nou itilize Keras tou pou chaje dataset MNIST la. Gen 60,000 foto fòmasyon ak 10,000 imaj tès nan dataset la.
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Pretrete done yo
Done preprocessing se yon etap enpòtan nan fòmasyon yon rezo neral. Li mande pou prepare ak netwaye done yo anvan yo antre nan rezo neral la.
Echèl valè pixel, nòmalize done, ak konvèti etikèt nan kodaj yon sèl-cho se egzanp pwosedi preprocessing. Pwosesis sa yo ede rezo neral la nan aprann pi efikas ak presizyon.
Pre-trete done yo ka ede tou pou misyon pou minimize surfitting ak amelyore pèfòmans rezo neral la.
Ou dwe pretrete done yo anvan fòmasyon rezo neral la. Sa a gen ladan chanje etikèt yo nan yon sèl-cho kodaj ak echèl valè pixel yo dwe ant 0 ak 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)
Defini modèl la
Pwosesis defini modèl rezo neral la enplike nan etabli achitekti li yo, tankou kantite kouch, kantite newòn pou chak kouch, fonksyon deklanchman, ak kalite rezo (feedforward, frekan, oswa konvolusyonèl).
Konsepsyon rezo neral ou itilize a detèmine pa kalite pwoblèm w ap eseye rezoud. Yon konsepsyon rezo neral byen defini ka ede nan aprantisaj rezo neral lè li fè li pi efikas ak egzat.
Li lè pou dekri modèl rezo neral la nan pwen sa a. Sèvi ak yon modèl senp ak de kouch kache, chak ak 128 newòn, ak yon kouch pwodiksyon softmax, ki gen 10 newòn, pou egzanp sa a.
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')
])
Konpile modèl la
Yo dwe espesifye fonksyon pèt, optimisateur, ak metrik pandan konpilasyon modèl rezo neral la. Kapasite rezo neral la pou prevwa kòrèkteman pwodiksyon an mezire pa fonksyon pèt la.
Pou ogmante presizyon rezo neral la pandan fòmasyon, optimize a modifye pwa li yo. Efikasite rezo neral la pandan fòmasyon yo mezire lè l sèvi avèk mezi. Modèl la dwe kreye anvan yo ka fòme rezo neral la.
Nan egzanp nou an, nou dwe kounye a konstwi modèl la.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Antrene modèl la
Pase done ki prepare nan rezo neral la pandan y ap modifye pwa rezo a pou minimize fonksyon pèt la ke yo rekonèt kòm fòmasyon rezo neral la.
Ansanm done validation yo itilize pou teste rezo neral la pandan fòmasyon pou swiv efikasite li yo epi anpeche twòp ekipe. Pwosesis fòmasyon an ka pran kèk tan, kidonk li enpòtan pou asire w ke rezo neral la byen fòme pou anpeche underfitting.
Sèvi ak done fòmasyon yo, nou ka kounye a fòme modèl la. Pou fè sa, nou dwe defini gwosè pakèt la (kantite echantiyon yo trete anvan yo mete ajou modèl la) ak kantite epòk (kantite repetisyon atravè seri done konplè a).
model.fit(train_images, train_labels, epochs=10, batch_size=32)
Evalye modèl la
Tès pèfòmans rezo neral la sou seri done tès la se pwosesis pou evalye li. Nan etap sa a, yo itilize rezo neral ki resevwa fòmasyon pou trete seri done tès la, epi yo evalye presizyon.
Ki jan efikas yon rezo neral ka prevwa bon rezilta a soti nan mak-nouvo done ki pa eseye se yon mezi presizyon li yo. Analize modèl la ka ede detèmine kijan rezo neral la ap travay epi tou sijere fason pou fè li menm pi bon.
Nou ka finalman evalye pèfòmans modèl la lè l sèvi avèk done tès yo apre fòmasyon.
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
Se tout! Nou fòme yon rezo neral pou detekte chif nan seri done MNIST la.
Soti nan prepare done yo nan evalye efikasite nan modèl la ki resevwa fòmasyon, fòmasyon yon rezo neral enplike nan plizyè pwosesis. Enstriksyon sa yo ede inisyasyon yo avèk efikasite bati ak fòmasyon rezo neral.
Débutan ki vle sèvi ak rezo neral yo atake divès pwoblèm ka fè sa lè yo swiv enstriksyon sa yo.
Vizyalize Egzanp la
Ann eseye visualiser sa nou te fè ak egzanp sa a pou nou konprann pi byen.
Yo itilize pake Matplotlib la nan snippet kòd sa a pou trase yon seleksyon owaza nan foto nan seri done fòmasyon an. Premyèman, nou enpòte modil "pyplot" Matplotlib la ak alyas li kòm "plt". Lè sa a, ak yon dimansyon total de 10 pa 10 pous, nou fè yon figi ak 5 ranje ak 5 kolòn nan subplot.
Lè sa a, nou sèvi ak yon bouk for pou iterasyon sou subplot yo, montre yon foto nan seri done fòmasyon an sou chak youn. Pou montre foto a, yo itilize fonksyon "imshow" la, ak opsyon "cmap" la mete sou 'gri' pou montre foto yo nan echèl gri. Se tit chak subplot tou mete sou etikèt la nan imaj ki asosye nan koleksyon an.
Finalman, nou itilize fonksyon "montre" pou montre foto yo trase nan figi a. Fonksyon sa a pèmèt nou evalye vizyèlman yon echantiyon foto nan seri done a, sa ki ka ede nou konprann done yo ak idantifikasyon nenpòt enkyetid posib.
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()
Modèl Rezo Neral Enpòtan yo
- Feedforward Neural Networks (FFNN): Yon senp kalite rezo neral kote enfòmasyon vwayaje sèlman nan yon fason, soti nan kouch antre nan kouch pwodiksyon an atravè youn oswa plis kouch kache.
- Rezo neral konvolusyonèl (CNN): Yon rezo neral ki souvan itilize nan deteksyon ak pwosesis imaj. CNN yo gen entansyon rekonèt ak ekstrè karakteristik nan foto otomatikman.
- Rezo neral renouvlab (RNN): Yon rezo neral ki souvan itilize nan deteksyon ak pwosesis imaj. CNN yo gen entansyon rekonèt ak ekstrè karakteristik nan foto otomatikman.
- Rezo memwa kout tèm (LSTM): Yon fòm RNN kreye pou simonte pwoblèm nan disparisyon gradyan nan RNN estanda. Depandans alontèm nan done sekans yo ka pi byen kaptire ak LSTM yo.
- Autoencoders: Rezo neral aprantisaj san sipèvizyon kote yo anseye rezo a pou repwodui done opinyon li yo nan kouch pwodiksyon li yo. Konpresyon done, deteksyon anomali, ak denoising foto tout ka akonpli ak autoencoders.
- Rezo Adversary Jeneratif (GAN): Yon rezo neral jeneratif se yon fòm rezo neral ke yo anseye pou pwodwi nouvo done ki konparab ak yon seri done fòmasyon. GAN yo konpoze de de rezo: yon rezo jeneratè ki kreye done fre ak yon rezo diskriminatè ki evalye kalite done yo kreye.
Wrap-Up, ki sa ki ta dwe pwochen etap ou a?
Eksplore plizyè resous ak kou sou entènèt pou aprann plis sou fòmasyon yon rezo neral. Travay sou pwojè oswa egzanp se yon metòd pou jwenn yon pi bon konprann rezo neral.
Kòmanse ak egzanp fasil tankou pwoblèm klasifikasyon binè oswa travay klasifikasyon foto, epi ale nan travay ki pi difisil tankou pwosesis lang natirèl oswa aprantisaj ranfòsman.
Travay sou pwojè ede w jwenn eksperyans reyèl ak amelyore kapasite fòmasyon rezo neral ou.
Ou kapab tou rantre nan gwoup aprantisaj machin sou entènèt ak rezo neral ak fowòm pou kominike avèk lòt elèv k ap aprann ak pwofesyonèl, pataje travay ou, epi resevwa kòmantè ak èd.
LSRS MONRAD-KROHN
⁶ĵTa renmen wè pwogram python pou minimize erè a. Nœuds seleksyon espesyal pou chanjman pwa nan pwochen kouch la