Интеллекти сунъӣ (AI) дар солҳои охир маъруфияти зиёд пайдо кардааст.
Агар шумо як муҳандиси нармафзор, олими компютерӣ ё умуман як мухлиси илми маълумот бошед, пас эҳтимол шумо аз барномаҳои аҷиби коркарди тасвир, шинохти намуна ва кашфи ашё, ки ин соҳа пешниҳод мекунад, шавқманд бошед.
Муҳимтарин зерсоҳаи AI, ки шумо эҳтимол дар бораи он шунидаед, омӯзиши амиқ аст. Ин соҳа ба алгоритмҳои пуриқтидор (дастурҳои барномаи компютерӣ) тамаркуз мекунад, ки пас аз фаъолияти мағзи сари инсон модел карда шудаанд. Шабакаҳои асабӣ.
Дар ин мақола, мо консепсияи шабакаҳои нейрон ва чӣ гуна сохтан, тартиб додан, мувофиқат кардан ва баҳодиҳии ин моделҳоро бо истифода аз Python.
Шабакаҳои асабӣ
Шабакаҳои нейронӣ ё NN як қатор алгоритмҳо мебошанд, ки пас аз фаъолияти биологии майнаи инсон модел карда шудаанд. Шабакаҳои нейрон аз гиреҳҳо иборатанд, ки онҳоро нейронҳо низ меноманд.
Маҷмӯаи гиреҳҳои амудӣ ҳамчун қабатҳо маълуманд. Модел аз як вуруд, як баромад ва як қатор қабатҳои пинҳон иборат аст. Ҳар як қабат аз гиреҳҳо иборат аст, ки онҳоро нейронҳо меноманд, ки дар он ҳисобҳо сурат мегиранд.
Дар диаграммаи зерин доираҳо гиреҳҳоро ва коллексияи амудии гиреҳҳо қабатҳоро ифода мекунанд. Дар ин модел се қабат мавҷуд аст.
Гиреҳҳои як қабат ба қабати дигар тавассути хатҳои интиқол, тавре ки дар зер дида мешавад, пайваст карда мешаванд.
Маҷмӯи додаҳои мо аз маълумоти нишондодашуда иборат аст. Ин маънои онро дорад, ки ба ҳар як воҳиди маълумот арзиши муайяни ном таъин шудааст.
Ҳамин тавр, барои маҷмӯаи таснифоти ҳайвонот мо тасвирҳои гурбаҳо ва сагҳоро ҳамчун маълумоти мо дорем ва "гурба" ва "саг" ҳамчун тамғакоғазҳои мо.
Қайд кардан муҳим аст, ки тамғакоғазҳо бояд ба арзишҳои ададӣ барои модели мо табдил дода шаванд, то онҳо маънои онро дошта бошанд, аз ин рӯ тамғакоғазҳои ҳайвоноти мо барои гурба "0" ва барои саг "1" мешаванд. Ҳам маълумот ва ҳам тамғакоғазҳо тавассути модел гузаронида мешаванд.
омӯзиши
Маълумот дар як вақт ба модел як объект дода мешавад. Ин маълумот ба қисмҳо тақсим карда мешавад ва аз ҳар як гиреҳи модел мегузарад. Гиреҳҳо дар ин қисмҳо амалҳои математикиро иҷро мекунанд.
Ба шумо лозим нест, ки функсияҳо ё ҳисобҳои математикиро барои ин дарс бидонед, аммо муҳим аст, ки тасаввуроти умумӣ дар бораи чӣ гуна кор кардани ин моделҳо дошта бошед. Пас аз як қатор ҳисобҳо дар як қабат, маълумот ба қабати дигар интиқол дода мешавад ва ғайра.
Пас аз анҷомёбӣ, модели мо тамғаи маълумотро дар қабати баромад пешгӯӣ мекунад (масалан, дар масъалаи таснифоти ҳайвонот мо барои гурба пешгӯии "0" мегирем).
Пас аз он, модел ба муқоисаи ин арзиши пешбинишуда бо арзиши аслии нишона идома медиҳад.
Агар арзишҳо мувофиқат кунанд, модели мо вуруди навбатиро мегирад, аммо агар арзишҳо фарқ кунанд, модел фарқияти байни ҳарду арзишро ҳисоб мекунад, ки талафот номида мешавад ва ҳисобҳои гиреҳро барои тавлиди тамғакоғазҳои мувофиқ дафъаи оянда танзим мекунад.
Чорчӯбҳои омӯзиши амиқ
Барои сохтани шабакаҳои нейрон дар код, мо бояд ворид кунем Чаҳорчӯбаҳои омӯзиши амиқ ҳамчун китобхонаҳо бо истифода аз муҳити интегратсионӣ ба рушд (IDE) маълуманд.
Ин чаҳорчӯбаҳо маҷмӯи вазифаҳои қаблан навишташуда мебошанд, ки дар ин дарс ба мо кӯмак мекунанд. Мо барои сохтани модели худ чаҳорчӯбаи Keras-ро истифода хоҳем бурд.
Keras як китобхонаи Python аст, ки омӯзиши амиқ ва зеҳни сунъиро истифода мебарад Танзими ҷараён ки NN дар шакли моделҳои пайдарпайи оддӣ бо осонӣ эҷод кунанд.
Keras инчунин бо моделҳои қаблан мавҷудбудаи худ меояд, ки онҳоро низ истифода бурдан мумкин аст. Барои ин дарс, мо бо истифода аз Keras модели худро эҷод мекунем.
Шумо метавонед дар бораи ин чаҳорчӯбаи омӯзиши амиқ аз ин Вебсайти Keras.
Сохтани шабакаи нейрон (дарсӣ)
Биёед ба сохтани шабакаи нейронӣ бо истифода аз Python гузарем.
Изҳороти мушкилот
Шабакаҳои нейрон як навъи ҳалли мушкилоти бар асоси AI мебошанд. Барои ин дарс мо маълумотро оид ба диабети Pima Indians, ки дастрас аст, баррасӣ хоҳем кард Ин ҷо.
ICU Machine Learning ин маҷмӯи маълумотро тартиб додааст ва дорои сабти тиббии беморони Ҳиндустон мебошад. Модели мо бояд пешгӯӣ кунад, ки оё бемор дар давоми 5 сол гирифтори диабети қанд мешавад ё не.
Боркунии маҷмӯи маълумот
Маҷмӯи додаҳои мо як файли ягонаи CSV бо номи "diabetes.csv" мебошад, ки онро бо истифода аз Microsoft Excel ба осонӣ идора кардан мумкин аст.
Пеш аз сохтани модели худ, мо бояд маҷмӯи додаҳои худро ворид кунем. Бо истифода аз коди зерин шумо метавонед ин корро кунед:
воридоти пандаҳо ҳамчун pd
маълумот = pd.read_csv ('diabetes.csv')
x = data.drop("Натиҷа")
y = маълумот["Натиҷа"]
Дар ин ҷо мо истифода мебарем Пандас Китобхона барои коркарди маълумоти файли CSV-и мо, read_csv() як функсияи дохилии Pandas мебошад, ки ба мо имкон медиҳад, ки арзишҳоро дар файли худ ба тағирёбанда бо номи "маълумот" нигоҳ дорем.
Тағйирёбандаи x дорои маҷмӯаи додаҳои моро бидуни маълумоти натиҷавӣ (тамгаҳо) дорад. Мо инро бо функсияи data.drop() ба даст меорем, ки тамғакоғазҳоро барои x хориҷ мекунад, дар ҳоле ки y танҳо маълумоти натиҷа (тамга)-ро дар бар мегирад.
Сохтани модели пайдарпай
Қадами 1: Воридоти китобхонаҳо
Аввалан, мо бояд TensorFlow ва Keras-ро бо параметрҳои муайяне, ки барои модели мо заруранд, ворид кунем. Рамзи зерин ба мо имкон медиҳад, ки ин корро кунем:
воридоти тензорflow ҳамчун tf
аз керасхои тензорфлвки импортй
аз tensorflow.keras.models воридоти пайдарпай
аз tensorflow.keras.layers воридот Фаъолсозӣ, Зиччи
аз tensorflow.keras.optimizers воридоти Одам
аз tensorflow.keras.metrics воридоти categorical_crossentropy
Барои модели мо мо қабатҳои зичро ворид мекунем. Инҳо қабатҳои комилан пайваст мебошанд; яъне, ҳар як гиреҳи қабат бо гиреҳи дигари қабати оянда комилан пайваст аст.
Мо инчунин ворид мекунем фаъолона функсия барои миқёси маълумоти ба гиреҳ фиристодашуда лозим аст. Оптимизаторҳо инчунин барои кам кардани талафот ворид карда шудаанд.
Одам як оптимизатори маъруфест, ки ҳисобҳои гиреҳи модели моро дар якҷоягӣ самараноктар мекунад categorical_crossentropy, ки аст навъи функсияи талафот (фарқи байни арзишҳои нишони воқеӣ ва пешбинишударо ҳисоб мекунад), ки мо истифода хоҳем кард.
Қадами 2: Тарҳрезии модели мо
Моделе, ки ман эҷод мекунам, дорои як вуруд (бо 16 адад), як қабати пинҳон (бо 32 адад) ва як баромад (бо 2 воҳид) мебошад. Ин рақамҳо собит нестанд ва комилан аз мушкилоти додашуда вобаста хоҳанд буд.
Муқаррар кардани миқдори дурусти воҳидҳо ва қабатҳо як равандест, ки метавонад тавассути амалия такмил дода шавад. Фаъолсозӣ ба намуди миқёси мо мувофиқат мекунад, ки мо пеш аз гузаштани он аз гиреҳ дар маълумотҳои худ иҷро хоҳем кард.
Relu ва Softmax функсияҳои машҳури фаъолсозӣ барои ин вазифа мебошанд.
модел = пайдарпай ([
Зич (адад = 16, input_shape = (1,), фаъолсозӣ = 'relu'),
Зич (адад = 32, фаъолсозӣ = 'relu'),
Зич (адад = 2, фаъолсозӣ = 'softmax')
])
Ин аст, ки хулосаи модел бояд чӣ гуна бошад:
Омӯзиши модел
Модели мо дар ду марҳила омӯзонида мешавад, ки якум тартиб додани модел (якҷоя кардани модел) ва навбатии оянда мувофиқ кардани модел дар маҷмӯи додаҳо мебошад.
Инро метавон бо истифода аз функсияи model.compile() ва пас аз функсияи model.fit() анҷом дод.
model.compile(оптимизатор = Одам(меъёри_омӯзиш = 0.0001), талафот = 'бинарӣ_кросентропия', метрика = ['дақиқият'])
model.fit(x, y, давраҳо = 30, андозаи_бача = 10)
Муайян кардани метрикаи "дақиқӣ" ба мо имкон медиҳад, ки ҳангоми омӯзиш дақиқии модели худро мушоҳида кунем.
Азбаски тамғакоғазҳои мо дар шакли 1 ва 0 ҳастанд, мо барои ҳисоб кардани фарқияти байни тамғакоғазҳои воқеӣ ва пешбинишуда аз функсияи талафоти дуӣ истифода хоҳем кард.
Маҷмӯи додаҳо инчунин ба қисмҳои 10 (batch_size) тақсим карда мешавад ва аз модел 30 маротиба (даврҳо) гузаронида мешавад. Барои маҷмӯи додаҳои додашуда, x маълумот хоҳад буд ва y тамғакоғазҳои мувофиқи додаҳо хоҳад буд.
Санҷиши модели истифодаи пешгӯиҳо
Барои баҳодиҳии модели худ, мо бо истифода аз функсияи пешбинишуда () дар бораи маълумоти санҷиш пешгӯиҳо мекунем.
пешгӯиҳо = model.predict(x)
Ва ин он аст!
Ҳоло шумо бояд фаҳмиши хубе дошта бошед Омӯзиши чуқур барнома, Шабакаҳои нейрон, чӣ гуна онҳо дар маҷмӯъ кор мекунанд ва чӣ гуна сохтан, омӯзиш додан ва озмоиш кардани модел дар коди Python.
Умедворам, ки ин дастур ба шумо имкон медиҳад, ки моделҳои Deep Learning-и худро эҷод ва ҷойгир кунед.
Дар шарҳҳо ба мо хабар диҳед, ки оё мақола муфид буд.
Дин ва мазҳаб