Table of Contents[Hūnā][Hōʻike]
I nā makahiki i hala iho nei, ua ulu nui nā neural network i ka mea i hōʻike ʻia he maikaʻi loa i nā ʻano hana.
Ua hōʻike ʻia lākou he koho maikaʻi loa no ka ʻike kiʻi a me ka leo, ka hoʻoponopono ʻōlelo kūlohelohe, a me ka pāʻani ʻana i nā pāʻani paʻakikī e like me Go a me chess.
Ma kēia pou, e hele au iā ʻoe ma ke kaʻina holoʻokoʻa o ke aʻo ʻana i kahi pūnaewele neural. E haʻi a wehewehe wau i nā ʻanuʻu āpau e hoʻomaʻamaʻa i kahi pūnaewele neural.
ʻOiai e hele au ma luna o nā ʻanuʻu, makemake wau e hoʻohui i kahi laʻana maʻalahi e ʻike pono aia kekahi laʻana kūpono.
No laila, e hele mai, a e aʻo kākou i ka hana ʻana i nā ʻupena neural
E hoʻomaka maʻalahi a nīnau i nā mea nā hanana laulā i mua.
He aha ke ʻano o nā Neural Networks?
ʻO nā pūnaewele neural nā polokalamu kamepiula e hoʻohālike i ka hana o ka lolo kanaka. Hiki iā lākou ke aʻo mai ka nui o nā ʻikepili a me nā hiʻohiʻona ʻike i paʻakikī i nā kānaka ke ʻike.
Ua ulu kaulana nā pūnaewele neural i nā makahiki i hala iho nei ma muli o ko lākou maʻalahi i nā hana e like me ke kiʻi a me ka ʻike leo, ka hana ʻōlelo kūlohelohe, a me ka hoʻohālike wānana.
Ma keʻano holoʻokoʻa, ʻo nā neural networks he mea hana ikaika no ka nui o nā noi a loaʻa ka manawa e hoʻololi i ke ala a mākou e hoʻokokoke ai i kahi ākea o nā hana.
No ke aha mākou e ʻike ai e pili ana iā lākou?
He mea koʻikoʻi ka hoʻomaopopo ʻana i nā ʻupena neural no ka mea ua alakaʻi lākou i nā ʻike ma nā ʻano ʻano like ʻole, me ka ʻike kamepiula, ka ʻike ʻōlelo, a me ka hana ʻōlelo kūlohelohe.
ʻO nā pūnaewele neural, no ka laʻana, aia ma ka puʻuwai o nā hanana hou i nā kaʻa kaʻa ponoʻī, nā lawelawe unuhi ʻakomi, a me nā diagnostics olakino.
ʻO ka hoʻomaopopo ʻana i ka hana ʻana o nā ʻupena neural a pehea e hoʻolālā ai iā lākou e kōkua iā mākou e kūkulu i nā noi hou a noʻonoʻo. A, malia paha, hiki ke alakaʻi i nā ʻike hou aku i ka wā e hiki mai ana.
He Manaʻo e pili ana i ke kumu aʻo
E like me kaʻu i ʻōlelo ai ma luna, makemake wau e wehewehe i nā ʻanuʻu o ke aʻo ʻana i kahi neural network ma ka hāʻawi ʻana i kahi laʻana. No ka hana ʻana i kēia, pono mākou e kamaʻilio e pili ana i ka dataset MNIST. He koho kaulana ia no nā poʻe hoʻomaka e makemake e hoʻomaka me nā pūnaewele neural.
ʻO MNIST kahi acronym e kū nei no Modified National Institute of Standards and Technology. He ʻikepili helu helu lima i hoʻohana mau ʻia no ka hoʻomaʻamaʻa ʻana a me ka hoʻāʻo ʻana i nā hiʻohiʻona aʻo mīkini, ʻo ia hoʻi nā pūnaewele neural.
Aia i loko o ka hō'ili'ili he 70,000 ki'i ki'i hina o nā helu kākau lima mai ka 0 a hiki i ka 9.
ʻO ka ʻikepili MNIST kahi hōʻailona kaulana no hoʻokaʻawale kiʻi nā hana. Hoʻohana pinepine ʻia no ke aʻo ʻana a me ke aʻo ʻana no ka mea he paʻakikī a maʻalahi hoʻi e hana ʻoiai ke kau nei i kahi paʻakikī paʻakikī no nā algorithm aʻo mīkini e pane.
Kākoʻo ʻia ka ʻikepili MNIST e kekahi mau papa hana aʻo mīkini a me nā hale waihona puke, me TensorFlow, Keras, a me PyTorch.
I kēia manawa ua ʻike mākou e pili ana i ka ʻikepili MNIST, e hoʻomaka kākou me kā mākou mau ʻanuʻu o ke aʻo ʻana i kahi pūnaewele neural.
Nā ʻanuʻu kumu no ka hoʻomaʻamaʻa ʻana i kahi pūnaewele neural
Hoʻokomo i nā hale waihona puke e pono ai
I ka hoʻomaka mua ʻana e hoʻomaʻamaʻa i kahi pūnaewele neural, he mea koʻikoʻi ka loaʻa ʻana o nā mea pono e hoʻolālā a hoʻomaʻamaʻa i ke kumu hoʻohālike. ʻO ka hana mua i ka hana ʻana i kahi neural network ʻo ka hoʻokomo ʻana i nā hale waihona puke e pono ai e like me TensorFlow, Keras, a me NumPy.
Hana kēia mau hale waihona puke i mau poloka no ka hoʻomohala ʻana o ka neural network a hāʻawi i nā mana koʻikoʻi. ʻO ka hui pū ʻana o kēia mau hale waihona puke e hiki ai ke hana i nā hoʻolālā neural network maʻalahi a me ka hoʻomaʻamaʻa wikiwiki.
E hoʻomaka i kā mākou hiʻohiʻona; e lawe mai mākou i nā hale waihona puke i koi ʻia, ʻo ia hoʻi ʻo TensorFlow, Keras, a me NumPy. Nānā He papa hana hoʻonaʻauao mīkini kumu, ʻo Keras kahi API neural pae kiʻekiʻe, a ʻo NumPy kahi waihona helu Python helu helu.
import tensorflow as tf
from tensorflow import keras
import numpy as np
Hoʻouka i ka ʻikepili
Pono e hoʻouka ʻia ka ʻikepili i kēia manawa. ʻO ka ʻikepili ka pūʻulu o ka ʻikepili kahi e aʻo ʻia ai ka neural network. He ʻano ʻikepili paha kēia, me nā kiʻi, nā leo, a me nā kikokikona.
He mea koʻikoʻi ka hoʻokaʻawale ʻana i ka ʻikepili i ʻelua ʻāpana: hoʻokahi no ka hoʻomaʻamaʻa ʻana i ka pūnaewele neural a ʻo kekahi no ka loiloi ʻana i ka pololei o ke kumu hoʻohālike i aʻo ʻia. Hiki ke hoʻohana ʻia kekahi mau hale waihona puke, me TensorFlow, Keras, a me PyTorch, no ka hoʻokomo ʻana i ka waihona.
No kā mākou laʻana, hoʻohana mākou iā Keras e hoʻouka i ka ʻikepili MNIST. Aia he 60,000 mau kiʻi hoʻomaʻamaʻa a me 10,000 kiʻi hoʻāʻo i ka dataset.
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Hana mua i ka ʻikepili
ʻO ka preprocessing ʻikepili kahi pae koʻikoʻi i ke aʻo ʻana i kahi pūnaewele neural. Hoʻopili ia i ka hoʻomākaukau ʻana a me ka hoʻomaʻemaʻe ʻana i ka ʻikepili ma mua o ka hānai ʻia ʻana i loko o ka pūnaewele neural.
ʻO ka hoʻonui ʻana i nā waiwai pixel, ka hoʻoponopono ʻana i ka ʻikepili, a me ka hoʻololi ʻana i nā lepili i ka hoʻopāpā wela hoʻokahi he mau laʻana o nā kaʻina hana mua. Kōkua kēia mau kaʻina hana i ka neural network i ke aʻo ʻana me ka maikaʻi a me ka pololei.
Hiki i ka hoʻoponopono mua ʻana i ka ʻikepili ke kōkua i ka hōʻemi ʻana i ka overfitting a hoʻomaikaʻi i ka hana o ka neural network.
Pono ʻoe e hana mua i ka ʻikepili ma mua o ka hoʻomaʻamaʻa ʻana i ka pūnaewele neural. Hoʻopili kēia i ka hoʻololi ʻana i nā lepili i ka hoʻopāpā wela hoʻokahi a me ka hoʻonui ʻana i nā waiwai pixel ma waena o 0 a me 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)
Wehewehe i ka Model
ʻO ke kaʻina hana o ka wehewehe ʻana i ke ʻano hoʻohālike neural network e pili ana i ka hoʻokumu ʻana i kāna hoʻolālā, e like me ka helu o nā papa, ka helu o nā neurons ma kēlā me kēia papa, nā hana hoʻāla, a me ke ʻano pūnaewele (feedforward, recurrent, or convolutional).
Hoʻoholo ʻia ka hoʻolālā neural network āu e hoʻohana ai e ke ʻano o ka pilikia āu e hoʻāʻo nei e hoʻoponopono. Hiki ke kōkua ʻia kahi hoʻolālā neural network i hoʻopaʻa ʻia i ke aʻo ʻana i ka neural network ma o ka hoʻomaʻamaʻa ʻana a me ka pololei.
ʻO ka manawa kēia e wehewehe i ke kumu hoʻohālike neural network i kēia manawa. E hoʻohana i kahi hiʻohiʻona maʻalahi me nā papa huna ʻelua, ʻo kēlā me kēia me nā neurons 128, a me kahi papa puka softmax, nona nā neurons 10, no kēia laʻana.
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')
])
Hoʻopili i ka Model
Pono e kuhikuhi ʻia ka hana pohō, ka mea hoʻonui, a me nā metric i ka wā o ka hoʻopili ʻana o ka ʻōnaehana neural network. ʻIke ʻia ka hiki i ka neural network ke wānana pololei i ka hoʻopuka e ka hana poho.
No ka hoʻonui ʻana i ka pololei o ka ʻoihana neural i ka wā o ke aʻo ʻana, hoʻololi ka optimizer i kāna mau kaupaona. ʻIke ʻia ka maikaʻi o ka neural network i ka wā o ke aʻo ʻana me ka hoʻohana ʻana i nā metric. Pono e hana ʻia ke kumu hoʻohālike ma mua o ka hoʻomaʻamaʻa ʻana i ka neural network.
I kā mākou laʻana, pono mākou i kēia manawa e kūkulu i ke kumu hoʻohālike.
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
E aʻo i ka Model
ʻO ka hāʻawi ʻana i ka ʻikepili i hoʻomākaukau ʻia ma o ka pūnaewele neural ʻoiai e hoʻololi ana i nā paona o ka pūnaewele e hōʻemi i ka hana pohō ʻike ʻia ʻo ke aʻo ʻana i ka pūnaewele neural.
Hoʻohana ʻia ka ʻikepili hōʻoia no ka hoʻāʻo ʻana i ka pūnaewele neural i ka wā o ka hoʻomaʻamaʻa ʻana e nānā i kona pono a pale i ka overfitting. Hiki i ke kaʻina hana hoʻomaʻamaʻa ke lōʻihi, no laila he mea nui e hōʻoia i ka hoʻomaʻamaʻa pono ʻana o ka neural network e pale i ka underfitting.
Ke hoʻohana nei i ka ʻikepili aʻo, hiki iā mākou ke hoʻomaʻamaʻa i ke kumu hoʻohālike. No ka hana ʻana i kēia, pono mākou e wehewehe i ka nui o ka puʻupuʻu (ka helu o nā laʻana i hana ʻia ma mua o ka hoʻonui ʻia ʻana o ke kumu hoʻohālike) a me ka helu o nā manawa (ka helu o ka hana hou ʻana ma ka ʻikepili piha).
model.fit(train_images, train_labels, epochs=10, batch_size=32)
Ka Loiloi ana i ka Model
ʻO ka hoʻāʻo ʻana i ka hana o ka neural network ma ka ʻikepili hōʻike ʻo ia ke kaʻina o ka loiloi ʻana. I kēia pae, hoʻohana ʻia ka ʻupena neural i hoʻomaʻamaʻa ʻia e hana i ka ʻikepili hōʻike, a loiloi ʻia ka pololei.
ʻO ka maikaʻi o ka ʻoihana neural hiki ke wānana i ka hopena kūpono mai ka ʻikepili hou, ʻaʻole i hoʻāʻo ʻia ke ana o kona pololei. Hiki i ke kālailai ʻana i ke kumu hoʻohālike ke kōkua i ka hoʻoholo ʻana i ka maikaʻi o ka hana ʻana o ka neural network a hōʻike pū i nā ala e hoʻomaikaʻi ai.
Hiki iā mākou ke loiloi i ka hana o ke kŘkohu me ka ho'ohana 'ana i ka 'ikepili ho'ā'o ma hope o ke a'o 'ana.
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
ʻo ia wale nō! Ua hoʻomaʻamaʻa mākou i kahi pūnaewele neural e ʻike i nā huahelu ma ka ʻikepili MNIST.
Mai ka hoʻomākaukau ʻana i ka ʻikepili a hiki i ka loiloi ʻana i ka pono o ke kumu hoʻohālike i hoʻomaʻamaʻa ʻia, ʻo ke aʻo ʻana i kahi pūnaewele neural e pili ana i nā kaʻina hana. Kōkua kēia mau ʻōlelo aʻoaʻo i ka poʻe novice i ke kūkulu pono ʻana a me ke aʻo ʻana i nā ʻupena neural.
Hiki i nā poʻe hoʻomaka e hoʻohana i nā ʻupena neural e hoʻoponopono i nā pilikia like ʻole ke hana pēlā ma ka hahai ʻana i kēia mau ʻōlelo aʻoaʻo.
Nānā i ka Laʻana
E ho'āʻo kākou e noʻonoʻo i ka mea a mākou i hana ai me kēia laʻana e hoʻomaopopo maikaʻi.
Hoʻohana ʻia ka pūʻolo Matplotlib i kēia snippet code e hoʻolālā i kahi koho maʻamau o nā kiʻi mai ka ʻikepili aʻo. ʻO ka mea mua, hoʻokomo mākou i ka module "pyplot" a Matplotlib a kapa ʻia ʻo ia ʻo "plt". A laila, me ka nui o 10 me 10 iniha, hana mākou i kiʻi me 5 lālani a me 5 kolamu o nā subplots.
A laila, hoʻohana mākou i ka loop loop e hoʻololi i nā subplots, e hōʻike ana i kahi kiʻi mai ka ʻikepili aʻo i kēlā me kēia. No ka hōʻike ʻana i ke kiʻi, hoʻohana ʻia ka hana "imshow", me ke koho "cmap" i hoʻonohonoho ʻia i 'hina' e hōʻike i nā kiʻi ma ke kala hina. Hoʻonohonoho pū ʻia ke poʻo inoa o kēlā me kēia subplot i ka lepili o ke kiʻi pili i ka hōʻiliʻili.
ʻO ka hope, hoʻohana mākou i ka hana "hōʻike" e hōʻike i nā kiʻi i kālai ʻia i ke kiʻi. Hāʻawi kēia hana iā mākou e loiloi ʻike maka i kahi laʻana o nā kiʻi mai ka ʻikepili, hiki ke kōkua i ko mākou hoʻomaopopo ʻana i ka ʻikepili a me ka ʻike ʻana i nā pilikia.
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()
Nā Hoʻohālike Neural Network Nui
- Nā Pūnaewele Neural Feedforward (FFNN): He ʻano maʻalahi o ka neural network kahi e hele ai ka ʻike ma ke ala hoʻokahi, mai ka papa hoʻokomo a i ka papa hoʻopuka ma o hoʻokahi a ʻoi aku paha nā papa huna.
- Nā Pūnaewele Neural Convolutional (CNN): He pūnaewele neural i hoʻohana mau ʻia i ka ʻike kiʻi a me ka hana ʻana. Manaʻo ʻia nā CNN e ʻike a unuhi i nā hiʻohiʻona mai nā kiʻi.
- Pūnaehana neural hou (RNN): He pūnaewele neural i hoʻohana mau ʻia i ka ʻike kiʻi a me ka hana ʻana. Manaʻo ʻia nā CNN e ʻike a unuhi i nā hiʻohiʻona mai nā kiʻi.
- Pūnaehana Hoʻomanaʻo Kūlana Pōkole (LSTM): ʻO kahi ʻano RNN i hana ʻia e lanakila ai i ka pilikia o ka nalowale ʻana o nā gradients i nā RNN maʻamau. Hiki ke hoʻopaʻa maikaʻi ʻia nā hilinaʻi lōʻihi i ka ʻikepili sequential me nā LSTM.
- Nā mea hoʻopaʻa inoa ʻauʻa: ʻO ka pūnaewele neural aʻo ʻole i mālama ʻia kahi i aʻo ʻia ai ka pūnaewele e hana hou i kāna ʻikepili hoʻokomo ma kāna papa puka. Hiki ke hoʻokō ʻia me nā autoencoders ka hoʻopaʻa ʻana i ka ʻikepili, ka ʻike anomaly, a me ka denoising kiʻi.
- Nā Pūnaehana Kūʻē Kūʻē (GAN): ʻO kahi pūnaewele neural generative kahi ʻano o ka neural network i aʻo ʻia e hana i nā ʻikepili hou e hoʻohālikelike ʻia me kahi ʻikepili aʻo. Hoʻokumu ʻia nā GAN i ʻelua mau pūnaewele: kahi pūnaewele generator e hana ana i nā ʻikepili hou a me kahi pūnaewele discriminator e loiloi i ka maikaʻi o ka ʻikepili i hana ʻia.
Wrap-Up, He aha kāu mau ʻanuʻu aʻe?
E ʻimi i nā kumuwaiwai pūnaewele a me nā papa e aʻo hou aʻe e pili ana i ke aʻo ʻana i kahi pūnaewele neural. ʻO ka hana ʻana i nā papahana a i ʻole nā hiʻohiʻona kekahi ala e loaʻa ai ka ʻike maikaʻi o nā ʻupena neural.
E hoʻomaka me nā laʻana maʻalahi e like me nā pilikia hoʻohālikelike binary a i ʻole nā hana hoʻokaʻawale kiʻi, a laila e hele i nā hana paʻakikī e like me ka hoʻoponopono ʻōlelo kūlohelohe a i ʻole Hoʻoikaika i ka aʻo.
ʻO ka hana ʻana i nā papahana e kōkua iā ʻoe e loaʻa ka ʻike maoli a hoʻomaikaʻi i kāu mau mākau hoʻomaʻamaʻa neural network.
Hiki paha iā ʻoe ke hui pū me ke aʻo ʻana i ka mīkini pūnaewele a me nā hui neural network a me nā ʻaha kūkā e launa pū me nā haumāna a me nā ʻoihana ʻē aʻe, kaʻana like i kāu hana, a loaʻa nā manaʻo a me ke kōkua.
LSRS MONRAD-KROHN
⁶ĵMakemake paha e ʻike i ka polokalamu python no ka hōʻemi hewa. Nā node koho kūikawā no ka hoʻololi kaumaha i ka papa aʻe