Uploaded by sanjar jokov

Макола

advertisement
Сунъий нейрон тармоқлари
Нейрон тармоқ – бу биологик нейрон тармоғининг моделига асосланган
машина ўқиш алгоритми. Ушбу нейронлар синапслар деб номланувчи махсус
тузилмаларга боғланган. Синапслар нейронларга сигналларни узатиш
имконини беради. Нейрон тармоқ кўп сонли моделлаштирилган нейронлардан
ҳосил бўлади. Ушбу технология бугунги кунда жадал ривожланмоқда. Бу
технология учувчисиз транспорт воситаларини дастурлашда, машиналарни
ўқитишда, мавжуд маълумотлар асосида медиа ва аудио маълумотларни
яратишда ҳамда ахборот технологияларининг бошқа кўплаб соҳаларида кенг
тарқалди. Мақолада нейрон тармоқларни қўллаш доираси, уларнинг
тузилиши, ҳар бир “нейрон” нинг модели, уларнинг биргаликдаги фаолияти
ва ушбу технологиянинг асосий алгоритмлари кўриб чиқилади. Сунъий
нейрон тармоқларнинг ишлаши ва унинг босқичма-босқич таҳлилига оддий
мисоллар келтирилган. Шунингдек, бугунги кунда фаолият юритаётган ва
жамият учун жуда фойдали ҳамда кўплаб илғор технологияларни
ривожлантириш учун нейрон тармоқлар ҳам ўрганилган.
Калит сўзлар: нейрон тармоқ, машиналарни ўқитиш, дастурлаш,
тасвирни аниқлаш, тасвирни қайта ишлаш, ахборот тизимлари
Нейрон тармоқлар кўплаб машиналарни ўрганиш ва чуқур ўрганиш
дастурларида қўлланиладиган кучли алгоритмлар тўпламидир. Улар тасвирни
аниқлаш, табиий тилни қайта ишлаш, видео таҳлили ва сунъий интеллект
билан боғлиқ кўплаб вазифалар учун ишлатилиши мумкин.
Сунъий нейрон тармоқ – бу инсон асаб тизимининг моделига асосланган
машиналарни ўқитиш алгоритми. Инсон мияси миллионлаб нейронлардан
иборат. Нейронлар сигналларни электр ва кимёвий сигналлар шаклида
юборади ҳамда қайта ишлайди. Ушбу нейронлар синапслар деб номланувчи
махсус тузилмаларга боғланган. Синапслар нейронларга сигналларни узатиш
имконини беради. Нейрон тармоқ кўп сонли нейронларнинг ўзаро
моделлаштирилган тизимидан ҳосил бўлади.
Сунъий нейрон тармоқ одатда турли босқичларда ташкил этилади ва
босқичлар фаоллаштириш вазифасини бажарувчи ўзаро боғланган кўплаб
тугунлардан иборат.
Нейрон тармоқ қуйидаги учта босқични ўз ичига олиши мумкин:
1. Кириш босқичи.
Кириш босқичининг мақсади ҳар бир кирувчи қийматларни кирувчи
маълумотлар сифатида қабул қилиш. Одатда, кириш босқичидаги кириш
тугунлари сони кирувчи қийматларни сонига тенг. “Кириш босқичи” бир ёки
бир нечта “яширин қатламлар” билан алоқа қиладиган тармоқдаги
намуналарни ифодалайди.
Кириш босқичининг тугунлари пассив бўлиб, улар маълумотлар устида
амаллар бажармайди. Улар киришда битта қиймат олади ва бир нечта
чиқишларида қийматни такрорлайди. Кириш босқичидан ҳар бир қиймат
такрорланади ва барча яширин тугунларга юборилади.
2. Яширин босқич.
Яширин босқичлар ушбу маълумотларни тармоқ ичидаги кириш
қийматларига қўллайди. Бундай ҳолда кирувчи ёйлар бошқа яширин
тугунлардан ёки ҳар бир тугунга уланган кириш тугунларидан келади. Улар
чиқиш тугунлари ёки бошқа яширин тугунлар учун чиқувчи ёйларга уланади.
Яширин босқичда ҳақиқий ишлов бериш вазнли боғланишлар тизими орқали
амалга оширилади. Бир ёки бир нечта яширин босқичлар бўлиши мумкин.
Яширин тугунга киритилган қийматлар оғирликларга кўпайтирилиб, дастурда
сақланган олдиндан белгиланган рақамлар тўпламини ифодалайди. Кейин
битта рақам ишлаб чиқариш учун вазнли киришлар қўшилади.
3. Чиқиш босқичи.
Якунда яширин босқичлар чиқиш босқичига уланади. Чиқиш босқичи
яширин босқичлардан ёки кириш босқичидан уланишларни олади, жавоб
ўзгарувчисининг мантиғига мос келадиган чиқиш қийматини қайтаради.
Таснифлаш муаммоларида одатда битта чиқиш тугунлари мавжуд. Чиқиш
босқичидаги фаол тугунлар чиқиш қийматларини ишлаб чиқариш учун
маълумотларни бирлаштиради ва ўзгартиради.
Aрхитектура ёки топология деб ҳам аталадиган нейрон тармоғининг
тузилиши босқичлар сони, элементар бирликлар ва вазнни созлаш
механизмидан иборат.
Энг оддий тармоқ тузилиш бирликлар икки босқичга тақсимланган
тармоқ тузилиши ҳисобланади: кириш босқичи ва чиқиш босқичи. Бунда ҳар
бир бирлик кириш босқичида битта кириш ва битта чиқиш мавжуд бўлиб, у
киришдаги бирликка тенг бўлади.
Келинг, сунъий нейроннинг ички тузилишини ва унинг кириш
жойларига келган сигнални ўзгартириш жараёнини кўриб чиқайлик. Қуйидаги
расмда сунъий нейроннинг тўлиқ модели кўрсатилган (1-расм).
Кириш
x1
Оғирлик
x2
w2
x3
w3
w1
∑
Активлаштирувчи
функция
net
f
Чиқиш
Қўшувчи
xn
wn
1-расм. Сунъий нейроннинг ички тузилиши.
Aнъанавий компьютерлар алгоритмик ёндашувдан фойдаланади, яъни
компьютер муаммони ҳал қилиш учун кўрсатмалар тўпламини бажаради. Aгар
компьютер бажариши керак бўлган аниқ қадамларни билмаса, у муаммони ҳал
қила олмайди.
Нейрон тармоғининг фойдали маълумотлар манипуляциясини
таъминлаш қобилияти оғирликларни тўғри танлашда ётади. Бу уни ахборотни
компьютерда қайта ишлашдан ажратиб туради. Aгар уланиш оғирликларига
тасодифий қийматлар берилган бўлса, унда бундай нейрон тармоқ ҳеч қандай
мазмунли иш қилмайди. Яъни, улар ҳали ҳам қандайдир тарзда тўғри
танланиши керак. Бошқача қилиб айтганда, нейрон тармоқни ўқитиш керак.
Нейрон тармоқни ўқиши – бу тармоқдан ўтгандан сўнг кириш сигнали
бизга керак бўлган чиқиш сигналига айлантириладиган оғирлик
коеффициентлари тўпламини қидириш.
Нейрон тармоқлар ва анъанавий алгоритмик компьютерлар рақобат
қилмайди, балки бир-бирини тўлдиради. Aрифметик амаллар каби алгоритмик
ёндашув учун кўпроқ мос бўлган муаммолар ва нейрон тармоқлар учун кўпроқ
мос келадиган муаммолар мавжуд. Кўп сонли вазифалар уларни энг юқори
самарадорлик билан бажариш учун иккита ёндашувнинг комбинациясидан
фойдаланадиган тизимни талаб қилади (кўпинча оддий компютер нейрон
тармоғини бошқариш учун ишлатилади).
Нейрон тармоқларнинг муҳим қўлланилиши объектларни аниқлашдир.
Объектни таниб олиш мос равишда ўқитилган бевосита боғланган нейрон
тармоғи (2-расм) ёрдамида амалга оширилиши мумкин. Ишлаш жараёнида
тармоқ чиқишларни кириш объектлари билан боғлашни ўрганади. Тармоқдан
фойдаланилганда, у кириш намунасини аниқлайди ва тегишли чиқиш
намунасини чиқаришга ҳаракат қилади. Нейрон тармоқларнинг кучи ҳеч
қандай чиқишга эга бўлмаган кириш сифатида намуна берилганда юзага
чиқади. Бундай ҳолда, тармоқ берилган объектдан энг кам фарқ қиладиган
ўқитилган кириш намунасига мос келадиган чиқишни ишлаб чиқаради.
x11
x12
x13
x21
x22
x23
x31
x32
x33
TAN
1
F1
TAN
2
F2
TAN
3
F3
2-расм. Бевосита боғланган нейрон тармоқ
Мураккаброқ нейрон (3-расм) МакКаллох ва Питтс моделидир. Олдинги
моделдан фарқи шундаки, киришлар вазнланган ва ҳар бир киришнинг
қарорга таъсири муайян киришнинг оғирлигига боғлиқ. Кириш оғирлиги – бу
киришга кўпайтирилганда, вазнли киришни ҳосил қиладиган рақам. Кейин бу
оғирликдаги киришлар бир-бирига қўшилади ва агар улар олдиндан
белгиланган чегарадан ошиб кетса, нейрон ишга тушади. Бошқа ҳар қандай
ҳолатда, нейрон ишламайди.
Ўқитиш/қўллаш
x1
x2
w1
w2
∑
Кириш
xn
Чиқиш
wn
Ўқитиш
3-расм. МакКаллох ва Питтснинг Нейрон тармоғи
Математик сўзлар билан айтганда, нейрон фақатгина қуйидаги шарт
бажарилса ишга тушади:
x1 * w1 + x2 * w2 + x3 * w3 + ... + xn * wn > T.
Кириш оғирликлари ва чегара қўшилиши бу нейронни жуда
мослашувчан ва кучли қилади. МакКаллох ва Питтс нейрони ўз вазнини ёки
чегарасини ўзгартириб, муайян вазиятга мослашиш қобилиятига ега.
Нейрон тармоқлар кўп ўн йиллар олдин ихтиро қилинган, аммо
кейинчалик улардан фойдаланиш учун ҳисоблаш қуввати етарли эмас эди.
Ҳозирги вақтда СНТ ишлаши учун мос бўлган жуда кучли видео карталар
ишлаб чиқилган.
Келинг, замонавий нейрон тармоқларнинг ютуқларини кўриб чиқайлик.
TensorFlow — Google томонидан яратилган кучли кутубхона бўлиб, у
моделларни ишлаб чиқиш, ўқитиш ва жойлаштириш учун кенг қамровли
платформани тақдим этади. У чуқур ўрганиш алгоритмларини қўллабқувватлаш учун мўлжалланган ва тасвирни аниқлаш, табиий тилни қайта
ишлаш ва бошқа иловалар каби вазифалар учун ишлатилиши мумкин.
TensorFlow илғор моделларни ишлаб чиқишда жуда самарали, чунки у GPU ва
TPU тезлашувидан фойдаланади ва моделни тезроқ ва ишончли ўқитишни
таъминлайди.
Keras – бу очиқ манба Python кутубхонаси бўлиб, у ишлаб чиқувчиларга
тезкор прототиплаш ва нейрон тармоқларни ривожлантириш учун қулай
интерфейс билан таъминлайди. Бу ишлаб чиқувчиларга мавжуд нейрон
тармоқлардаги кодни қайта ишлатиш, кенг маълумот манбаларидан
фойдаланиш ва камроқ код қаторли моделларни ишлаб чиқиш орқали вақтни
тежаш имконини беради. Keras кўплаб йирик машина ўрганиш кутубхоналари
ва булут хизматлари томонидан қўллаб-қувватланади, бу эса ишлаб
чиқувчиларга ўз моделларини тез ва самарали жойлаштириш имконини
беради.
PyTorch – бу ишлаб чиқувчиларга нейрон тармоқларни осонлик билан
ривожлантиришга ёрдам берадиган кучли хусусиятларни тақдим этадиган
машинани ўрганиш кутубхонаси. Бу Python-да ёзилган ва Torch C++
кутубхонасидан фойдаланган ҳолда чуқур ўрганиш тизими. PyTorch GPU-лар
билан фойдаланиш учун мўлжалланган ва улардан тўлиқ фойдаланади, бу эса
ишлаб чиқувчиларга ўз моделларини тезда ўқитиш имкониятини беради.
Шунингдек, у тақсимланган ҳисоблашни қўллаб-қувватлайди ва чуқур
ўрганиш моделларини тезроқ ўқитиш учун бир нечта тугунларда ишлайди.
CatBoost – бу Yandex-нинг кучли очиқ манба кутубхонаси бўлиб, у
машинани ўрганиш иловалари учун барқарор тезлик ва аниқликни
таъминлайди. У қарорлар дарахтига асосланган алгоритмларни қўллабқувватлаш учун мўлжалланган ва тоифали маълумотларни олдиндан ишлов
бермасдан қайта ишлашга қодир. CatBoost ҳам таснифлаш, ҳам регрессия
вазифалари учун юқори самарали ва юқори CPU ва GPU ишлаши учун
оптималлаштирилган.
Google DeepMind нейрон тармоғи инсон нутқига тақлид қилишни
ўрганганини эълон қилди. Ушбу технология нутқни аниқловчи ва таржимон
билан биргаликда турли тиллардаги маърузачилар осонгина мулоқот
қилишлари мумкин бўлган дастур яратиш имкониятига эга. Нейрон тармоқ
нутқни аниқлайди, инсондан фарқ қилмайдиган овоз ва интонация билан
таржима қилади ва эшиттиради.
Nvidea компанияси эса хайдовчисиз бошқарилувчи автомобиллар учун
ишлатилиши мумкин бўлган визуал ҳисоблаш нейрон тармоғини ишлаб
чиқди. Нейрон тармоқ аллақачон светофорлар, белгилар, бошқа машиналар ва
одамларни таниб, гавжум йўлда ҳам мукаммал ҳаракатлана олади. Йўлларда
қанча кўп машина ҳаракатланса, нейрон тармоқ шунчалик кўп ўрганади.
Nvidia GauGAN нейрон тармоғида ишлайдиган Canvas дастури оддий
ескизларни реал ландшафтларга айлантиради (4-расм). Объектлар ва
рангларнинг контурларини кўрсатиш кифоя (кўк сув сифатида қабул
қилинади, жигарранг тоғлар, яшил ўт каби). GauGAN нейрон тармоғи
шаблонлардан фойдаланмайди, лекин ҳар сафар янги ландшафтларни яратади.
4-расм. Canvas дастури ёрдамида тайёрланган тасвир.
Ушбу тадқиқот натижалари нейрон тармоқларнинг ишлашини асослаш,
уларнинг тузилиши ва қўлланилиш доираси, шунингдек, мавжуд СНТ
таҳлиллари ва бошқа инновацион технологияларни ривожлантириш учун
аҳамиятини баҳолашдир.
Хулоса қилиб айтишимиз мумкинки, ушбу мақолада муҳокама
қилинганлардан ташқари бошқа кўплаб ахборот нейрон тармоқлари мавжуд.
Уларнинг аксарияти жуда фойдали ва такомиллаштирилмоқда.
Нейрон тармоқлар ёрдамида ақл бовар қилмайдиган технологияларни
амалга ошириш мумкин. Нейрон тармоқларнинг асосий афзаллиги уларнинг
ўз-ўзини ўрганишидир. Сизга керак бўлган нарса – тизимни ўқитиш учун
етарли миқдордаги маълумот ва вақт. Синов ва хато орқали нейрон тармоқ
қандай ишлашни тушунади. Кўпгина мисоллардан ўрганиш қобилиятидан
фойдаланган ҳолда, СНТ вазиятнинг ривожланиш эҳтимоллари, кириш ва
чиқиш маълумотлари ўртасидаги боғлиқлик номаълум бўлган муаммоларни
ҳал қила олади. Яъни, нейрон тармоқлар ишлаб чиқувчининг ўзи уларни ҳал
қилиш алгоритмини билмаган муаммоларни ҳал қилишга қодир.
Нейрон тармоқлар аллақачон машинани таҳлил қилиш ва ўрганишнинг
кўплаб соҳаларида кенг тарқалган. Бу технология вақт ўтиши билан
ривожланишда давом этади.
Адабиётлар рўйҳати:
1. Нейрон тармоқларга кириш, [Электрон манбаа]
https://hashdork.com/uz/neyron-tarmoq/
2. Орельен Жерон, Scikit-Learn ва TensorFlow билан амалий машинани
ўрганиш: ақлли тизимларни қуриш учун тушунчалар, асбоблар ва
техникалар, 2020 й.
3. Сантану Паттанаяк, Мутахассислар учун чуқур ўрганиш ва TensorFlow.
Python да сунъий интеллект тизимларини яратишга математик
ёндашув, 2019 й.
4. Рашид Тарик, Нейрон тармоғини яратиш, 2017 й.
5. Саймон Хайкин, Нейрон тармоқлари: Тўлиқ курс, 2016 й.
Download