Table of Contents[Hide][Show]
Nyob rau hauv xyoo tas los no, neural tes hauj lwm tau loj hlob nyob rau hauv muaj koob meej vim hais tias lawv tau pom tias ua tau zoo heev nyob rau hauv ntau yam ntawm cov dej num.
Lawv tau pom tias yog ib qho kev xaiv zoo rau cov duab thiab lub suab, kev ua cov lus ntuj, thiab txawm tias ua si nyuaj xws li Mus thiab chess.
Hauv tsab xov xwm no, kuv yuav coj koj mus rau tag nrho cov txheej txheem ntawm kev cob qhia neural network. Kuv yuav hais thiab piav qhia tag nrho cov kauj ruam los cob qhia neural network.
Thaum kuv yuav mus dhau cov kauj ruam kuv xav ntxiv ib qho piv txwv yooj yim kom paub tseeb tias muaj ib qho piv txwv zoo.
Yog li, tuaj nrog, thiab cia peb kawm yuav ua li cas ua cov neural networks
Cia peb pib yooj yim thiab nug dab tsi neural networks thawj qhov chaw.
Dab tsi yog Neural Networks?
Neural networks yog computer software uas simulates kev ua haujlwm ntawm tib neeg lub hlwb. Lawv tuaj yeem kawm los ntawm ntau cov ntaub ntawv thiab cov qauv ntawm qhov chaw uas tib neeg yuav pom qhov nyuaj los tshawb xyuas.
Neural tes hauj lwm tau loj hlob nyob rau hauv muaj koob meej nyob rau hauv xyoo tas los no vim hais tias ntawm lawv versatility nyob rau hauv cov hauj lwm xws li daim duab thiab suab paub, natural language processing, thiab kwv yees ua qauv.
Zuag qhia tag nrho, neural networks yog cov cuab yeej muaj zog rau ntau yam kev siv thiab muaj lub sijhawm los hloov txoj hauv kev peb mus rau ntau txoj haujlwm.
Vim Li Cas Peb Yuav Tsum Paub Txog Lawv?
Kev nkag siab txog neural networks yog qhov tseem ceeb vim tias lawv tau coj mus rau kev tshawb pom hauv ntau qhov chaw, suav nrog kev pom hauv computer, kev paub txog kev hais lus, thiab kev ua cov lus ntuj.
Piv txwv li, Neural tes hauj lwm yog nyob rau hauv lub plawv ntawm kev loj hlob tsis ntev los no nyob rau hauv tus kheej-tsav tsheb, tsis siv neeg txhais cov kev pab cuam, thiab txawm kev kuaj mob.
Kev nkag siab yuav ua li cas neural networks ua haujlwm thiab tsim lawv li cas pab peb tsim cov ntawv thov tshiab thiab tsim kho. Thiab, tej zaum, nws yuav ua rau muaj kev tshawb pom ntau dua yav tom ntej.
Ib Daim Ntawv Qhia Txog Kev Qhia
Raws li kuv tau hais los saum toj no, kuv xav piav qhia txog cov kauj ruam ntawm kev cob qhia neural network los ntawm kev muab piv txwv. Ua li no, peb yuav tsum tham txog MNIST dataset. Nws yog qhov kev xaiv nrov rau cov neeg pib tshiab uas xav pib nrog neural networks.
MNIST yog lub ntsiab lus uas sawv cev rau Hloov Kho Lub Tsev Kawm Ntawv ntawm Cov Qauv thiab Tshuab. Nws yog ib phau ntawv sau tus lej uas feem ntau siv rau kev cob qhia thiab kev sim tshuab kev kawm qauv, tshwj xeeb hauv neural networks.
Cov ntawv sau muaj 70,000 cov duab greyscale ntawm cov lej sau los ntawm 0 txog 9.
MNIST dataset yog ib qho kev ntsuas nrov rau kev faib duab hauj lwm. Nws nquag siv rau kev qhia thiab kev kawm vim nws yog compact thiab yooj yim rau kev nrog thaum tseem tab tom ua ib qho nyuaj rau kev kawm tshuab algorithms los teb.
Cov ntaub ntawv MNIST tau txhawb nqa los ntawm ntau lub tshuab kev kawm thiab cov tsev qiv ntawv, suav nrog TensorFlow, Keras, thiab PyTorch.
Tam sim no peb paub txog MNIST dataset, cia peb pib nrog peb cov kauj ruam ntawm kev cob qhia neural network.
Cov kauj ruam yooj yim los cob qhia Neural Network
Ntshuam cov tsev qiv ntawv tsim nyog
Thaum xub thawj pib cob qhia ib lub neural network, nws yog ib qho tseem ceeb kom muaj cov cuab yeej tsim nyog los tsim thiab cob qhia tus qauv. Thawj kauj ruam hauv kev tsim lub network neural yog kom xa cov tsev qiv ntawv xav tau xws li TensorFlow, Keras, thiab NumPy.
Cov tsev qiv ntawv no ua lub tsev thaiv rau neural network txoj kev loj hlob thiab muab peev xwm tseem ceeb. Kev sib xyaw ua ke ntawm cov tsev qiv ntawv no tso cai rau kev tsim cov txheej txheem neural network tsim thiab kev cob qhia ceev.
Yuav pib peb tus qauv; peb yuav import cov tsev qiv ntawv xav tau, uas suav nrog TensorFlow, Keras, thiab NumPy. TensorFlow yog qhov qhib-qhov kev kawm tshuab lub moj khaum, Keras yog qib siab neural network API, thiab NumPy yog lub tsev qiv ntawv suav lej Python.
import tensorflow as tf
from tensorflow import keras
import numpy as np
Load lub Dataset
Tam sim no cov ntaub ntawv yuav tsum tau loaded. Cov dataset yog cov ntaub ntawv uas cov neural network yuav raug cob qhia. Qhov no yuav yog txhua yam ntaub ntawv, suav nrog cov duab, suab, thiab ntawv.
Nws yog ib qho tseem ceeb uas yuav tau faib cov ntaub ntawv rau hauv ob feem: ib qho rau kev cob qhia cov neural network thiab lwm qhov rau kev ntsuam xyuas qhov tseeb ntawm cov qauv kev cob qhia. Ntau lub tsev qiv ntawv, suav nrog TensorFlow, Keras, thiab PyTorch, yuav raug siv los import cov ntaub ntawv.
Piv txwv li, peb kuj siv Keras los thauj cov ntaub ntawv MNIST. Muaj 60,000 kev cob qhia cov duab thiab 10,000 cov duab sim hauv cov ntaub ntawv.
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Preprocess Cov ntaub ntawv
Cov ntaub ntawv ua ntej yog ib theem tseem ceeb hauv kev cob qhia neural network. Nws entails npaj thiab ntxuav cov ntaub ntawv ua ntej nws yuav tsum tau pub rau hauv lub neural network.
Scaling pixel qhov tseem ceeb, normalizing cov ntaub ntawv, thiab hloov cov ntawv rau ib-kub encoding yog cov piv txwv ntawm preprocessing cov txheej txheem. Cov txheej txheem no pab cov neural network hauv kev kawm zoo dua thiab meej.
Preprocessing cov ntaub ntawv kuj tuaj yeem pab txo qis overfitting thiab txhim kho neural network kev ua haujlwm.
Koj yuav tsum tau ua cov ntaub ntawv ua ntej ua ntej kev cob qhia neural network. Qhov no suav nrog kev hloov cov ntawv rau ib-kub encoding thiab scaling cov pixel qhov tseem ceeb nyob nruab nrab ntawm 0 thiab 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)
Txhais tus qauv
Cov txheej txheem ntawm kev txhais cov qauv neural network suav nrog tsim nws cov qauv tsim, xws li cov txheej txheem, tus naj npawb ntawm cov neurons ib txheej, ua kom muaj zog, thiab hom network (feedforward, recurrent, lossis convolutional).
Lub neural network tsim koj siv yog txiav txim siab los ntawm cov teeb meem uas koj tab tom sim daws. Kev tsim kho neural network tsim tau zoo tuaj yeem pab hauv kev kawm neural network los ntawm kev ua kom muaj txiaj ntsig zoo thiab raug.
Nws yog lub sijhawm los piav qhia txog tus qauv neural network ntawm lub sijhawm no. Siv cov qauv yooj yim nrog ob txheej zais, txhua tus muaj 128 neurons, thiab cov txheej txheem softmax, uas muaj 10 neurons, piv txwv li no.
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')
])
Compile tus qauv
Kev poob haujlwm, optimizer, thiab ntsuas yuav tsum tau teev tseg thaum lub sij hawm neural network qauv muab tso ua ke. Lub neural network lub peev xwm kom raug kwv yees qhov tso zis yog ntsuas los ntawm kev poob haujlwm.
Txhawm rau ua kom cov neural network qhov raug thaum lub sij hawm kev cob qhia, tus optimizer hloov nws qhov hnyav. Kev ua tau zoo ntawm cov neural network thaum lub sijhawm kev cob qhia yog ntsuas los ntawm kev ntsuas. Tus qauv yuav tsum tau tsim ua ntej lub neural network tuaj yeem cob qhia.
Hauv peb qhov piv txwv, peb yuav tsum tam sim no tsim tus qauv.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Qhia tus qauv
Dhau cov ntaub ntawv npaj los ntawm neural network thaum hloov kho lub network qhov hnyav kom txo qis kev ua haujlwm poob yog hu ua kev cob qhia neural network.
Cov ntaub ntawv pov thawj siv tau yog siv los sim cov neural network thaum lub sijhawm kev cob qhia txhawm rau taug qab nws cov txiaj ntsig thiab tiv thaiv kev ua haujlwm dhau. Cov txheej txheem kev cob qhia tuaj yeem siv sijhawm qee lub sijhawm, yog li nws yog ib qho tseem ceeb kom paub tseeb tias cov neural network raug cob qhia kom tsim nyog los tiv thaiv kev ua tsis zoo.
Siv cov ntaub ntawv kev cob qhia, tam sim no peb tuaj yeem cob qhia tus qauv. Txhawm rau ua qhov no, peb yuav tsum txheeb xyuas qhov loj me (tus naj npawb ntawm cov qauv ua tiav ua ntej tus qauv hloov kho) thiab tus naj npawb ntawm epochs (tus naj npawb ntawm rov ua dua thoob plaws cov ntaub ntawv tiav).
model.fit(train_images, train_labels, epochs=10, batch_size=32)
Kev ntsuas tus qauv
Kev ntsuam xyuas cov neural network qhov kev ua tau zoo ntawm cov ntaub ntawv xeem yog tus txheej txheem ntawm kev ntsuas nws. Hauv theem no, kev cob qhia neural network yog siv los ua cov ntaub ntawv xeem, thiab ntsuas qhov tseeb.
Yuav ua li cas zoo lub neural network tuaj yeem kwv yees qhov txiaj ntsig zoo los ntawm cov ntaub ntawv tshiab, tsis tau sim yog qhov ntsuas ntawm nws qhov tseeb. Kev tshuaj xyuas tus qauv tuaj yeem pab txiav txim siab seb qhov neural network ua haujlwm zoo npaum li cas thiab tseem qhia txog txoj hauv kev ua kom nws zoo dua.
Thaum kawg peb tuaj yeem ntsuas tus qauv kev ua tau zoo siv cov ntaub ntawv xeem tom qab kev cob qhia.
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
Yog tag nrho! Peb tau cob qhia neural network txhawm rau txheeb xyuas cov lej hauv MNIST dataset.
Los ntawm kev npaj cov ntaub ntawv los ntsuas qhov ua tau zoo ntawm cov qauv kev cob qhia, kev cob qhia cov neural network muaj ntau yam txheej txheem. Cov lus qhia no pab cov novices hauv kev tsim thiab cob qhia neural tes hauj lwm zoo.
Cov pib tshiab uas xav siv neural networks los daws ntau yam teeb meem tuaj yeem ua tau los ntawm kev ua raws li cov lus qhia no.
Visualizing tus piv txwv
Cia peb sim ua kom pom qhov peb tau ua nrog qhov piv txwv no kom nkag siab zoo dua.
Cov pob Matplotlib yog siv rau hauv cov kab lus no los npaj cov duab xaiv los ntawm cov ntaub ntawv qhia kev cob qhia. Ua ntej, peb import Matplotlib's "pyplot" module thiab alias nws li "plt". Tom qab ntawd, nrog rau tag nrho qhov ntev ntawm 10 los ntawm 10 ntiv tes, peb ua ib daim duab nrog 5 kab thiab 5 kab ntawm subplots.
Tom qab ntawd, peb siv lub voj voog rau iterate hla cov subplots, tso tawm ib daim duab los ntawm cov ntaub ntawv qhia kev cob qhia ntawm txhua tus. Txhawm rau tso cov duab, siv "imshow" muaj nuj nqi, nrog rau "cmap" kev xaiv teem rau 'grey' los tso saib cov duab hauv greyscale. Lub npe ntawm txhua qhov subplot tseem raug teeb tsa rau daim ntawv lo ntawm cov duab cuam tshuam hauv kev sau.
Thaum kawg, peb siv cov haujlwm "show" los tso saib cov duab kos hauv daim duab. Qhov kev ua haujlwm no tso cai rau peb pom qhov ntsuas tus qauv ntawm cov duab los ntawm cov ntaub ntawv, uas tuaj yeem pab peb nkag siab txog cov ntaub ntawv thiab kev txheeb xyuas ntawm txhua qhov kev txhawj xeeb.
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()
Cov qauv Neural Network tseem ceeb
- Feedforward Neural Networks (FFNN): Ib yam yooj yim ntawm neural network nyob rau hauv uas cov ntaub ntawv tsuas yog mus nyob rau hauv ib txoj kev, los ntawm cov input txheej mus rau lub tso zis txheej ntawm ib los yog ntau tshaj cov txheej.
- Convolutional Neural Networks (CNN): Ib lub neural network uas feem ntau siv hauv kev tshawb pom thiab ua cov duab. CNNs yog npaj los lees paub thiab rho tawm cov yam ntxwv ntawm cov duab tau txais.
- Cov Neural Networks (RNN): Ib lub neural network uas feem ntau siv hauv kev tshawb pom thiab ua cov duab. CNNs yog npaj los lees paub thiab rho tawm cov yam ntxwv ntawm cov duab tau txais.
- Long Short-Term Memory (LSTM) Networks: Ib daim ntawv ntawm RNN tsim los kov yeej qhov teeb meem ntawm ploj mus gradients hauv tus qauv RNNs. Kev vam khom mus sij hawm ntev hauv cov ntaub ntawv txuas ntxiv tuaj yeem ntes tau zoo dua nrog LSTMs.
- Autoencoders: Unsupervised kawm neural network nyob rau hauv uas lub network tau qhia kom rov tsim nws cov ntaub ntawv tawm tswv yim ntawm nws cov txheej txheem tso tawm. Cov ntaub ntawv compression, nrhiav tsis pom, thiab daim duab denoising tuaj yeem ua tiav nrog autoencoders.
- Generative Adversarial Networks (GAN): Lub generative neural network yog ib daim ntawv ntawm neural network uas tau qhia los tsim cov ntaub ntawv tshiab uas piv rau cov ntaub ntawv qhia kev cob qhia. GANs yog tsim los ntawm ob lub tes hauj lwm: lub tshuab hluav taws xob network uas tsim cov ntaub ntawv tshiab thiab kev sib cais sib cais uas ntsuas qhov zoo ntawm cov ntaub ntawv tsim.
Wrap-Up, Dab tsi yuav tsum yog koj cov kauj ruam tom ntej?
Tshawb nrhiav ntau qhov kev pabcuam online thiab cov chav kawm kom paub ntau ntxiv txog kev cob qhia neural network. Ua hauj lwm ntawm tej yaam num los yog piv txwv yog ib txoj kev kom tau txais kev nkag siab zoo ntawm neural networks.
Pib nrog cov piv txwv yooj yim xws li cov teeb meem kev faib tawm binary lossis cov duab faib cov haujlwm, thiab tom qab ntawd mus rau cov haujlwm nyuaj dua li kev ua cov lus ntuj lossis kev txhawb zog kev kawm.
Kev ua haujlwm ntawm cov haujlwm yuav pab koj kom tau txais kev paub tiag tiag thiab txhim kho koj cov kev cob qhia neural network.
Koj tseem tuaj yeem koom nrog kev kawm tshuab online thiab cov pab pawg neural network thiab cov rooj sab laj los cuam tshuam nrog lwm tus kawm thiab cov kws tshaj lij, qhia koj txoj haujlwm, thiab tau txais cov lus pom thiab kev pab.
LSRS MONRAD-KROHN
⁶ĵXav tau nyiam pom cov python program rau qhov ua yuam kev minimization. Cov kev xaiv tshwj xeeb rau qhov hnyav hloov mus rau txheej tom ntej