Агар шумо инро хонда истода бошед, шумо бешубҳа сафари худро ба омӯзиши амиқ оғоз кардаед. Агар шумо дар ин мавзӯъ нав бошед, омӯзиши амиқ як изофаест, ки сохторҳои беназири майнаро истифода мебарад, ки шабакаҳои нейронҳои сунъиро барои сохтани компютерҳои ба одам монанд, ки мушкилоти ҷаҳонии воқеиро ҳал мекунанд, истифода мебарад.
Барои кӯмак дар таҳияи ин тарҳҳо, бегемотҳои технологӣ ба монанди Google, Facebook ва Uber чаҳорчӯбаҳои гуногунро барои муҳити омӯзиши амиқи Python таҳия кардаанд, ки фаҳмидан, эҷод ва омӯзиши шабакаҳои нейронҳои гуногунро осонтар мекунад.
Чаҳорчӯбаи омӯзиши амиқ як пораи нармафзорест, ки академикҳо ва олимони маълумот барои эҷод ва омӯзиши моделҳои омӯзиши амиқ истифода мебаранд.
Ҳадафи ин чаҳорчӯбаҳо он аст, ки ба шахсони алоҳида имкон фароҳам оранд, ки моделҳои худро бидуни фаҳмидани усулҳои паси худ омӯзанд. омӯзиши чуқур, шабакаҳои нейрон ва омӯзиши мошинҳо.
Тавассути интерфейси барномасозии сатҳи баланд, ин чаҳорчӯбаҳо блокҳои сохтмонӣ барои сохтан, омӯзиш ва санҷиши моделҳоро таъмин мекунанд.
Мо ба TensorFlow, Keras, Apache MXNet, Microsoft CNTK ва DeepLearing4j ҳамчун алтернатива ба PyTorch, ки ба таври васеъ истифодашаванда аст, дида мебароем. чаҳорчӯбаи омӯзиши амиқ.
Pytorch чист?
PyTorch китобхонаи ройгони омӯзиши мошинсозӣ мебошад, ки бо китобхонаи Torch Python сохта шудааст.
Он аз ҷониби гурӯҳи Тадқиқоти AI-и Facebook сохта шудааст ва дар моҳи январи соли 2016 ҳамчун китобхонаи ройгон ва кушодаасос бо барномаҳо дар биниши компютер, омӯзиши амиқ ва коркарди забони табиӣ нашр шудааст.
Он дорои забони императивӣ ва Pythonic барномасозӣ мебошад, ки кодро ҳамчун модел дастгирӣ мекунад, ислоҳи ислоҳро осон мекунад ва бо дигар китобхонаҳои маъмули компютерии илмӣ мувофиқ аст, дар ҳоле ки самаранок боқӣ мемонад ва суръатбахшии сахтафзорро ба мисли GPUҳо фаъол мекунад.
PyTorch ба шарофати тамаркуз ба қобили истифода ва мулоҳизаҳои ҳамаҷонибаи иҷроиш, дар байни муҳаққиқони омӯзиши амиқ маъруфият пайдо кардааст.
Он дорои сохтори асосии додаҳо, Tensor мебошад, ки массиви бисёрченакаи монанд ба массивҳои Numpy мебошад, ки ба барномасозон имкон медиҳад, ки ба осонӣ тарҳи мураккаби мураккабро тарҳрезӣ кунанд. шабакаи нейралӣ.
Он аз сабаби чандирӣ, суръат ва осонии татбиқаш дар бахшҳои кунунӣ ва ҷомеаи академӣ маъмултар шуда, онро яке аз маъмултарин воситаҳои омӯзиши амиқ месозад.
Хусусиятҳои асосии Pytorch
- PyTorch ба Python марказӣ ё "питоникӣ" аст, зеро он барои ҳамгироии амиқ бо барномасозии Python пешбинӣ шудааст, на ҳамчун интерфейс ба китобхонае, ки бо забони дигар таҳия шудааст.
- Омӯзиши оддӣ - PyTorch ба ҳамон сохтори барномасозии анъанавӣ пайравӣ мекунад ва ба таври дақиқ ҳуҷҷатгузорӣ шудааст ва ҷомеаи таҳиягарон ҳамеша кӯшиш мекунад, ки онро такмил диҳад. Аз ин рӯ, омӯхтан ҳам барои барномасозон ва ҳам барои барномасозон осон аст.
- PyTorch метавонад кори ҳисоббарориро ба якчанд CPU ё тақсим кунад GPU ядроҳо бо истифода аз қобилияти параллелизатсияи додаҳо. Гарчанде ки параллелизми шабеҳро бо дигар усулҳои омӯзиши мошинсозӣ кардан мумкин аст, PyTorch онро хеле осон мекунад.
- Debugging: Яке аз абзорҳои сершумори ба таври васеъ дастраси ислоҳи Python (масалан, абзорҳои pdb ва ipdb Python) метавонад барои ислоҳи PyTorch истифода шавад.
- PyTorch графикҳои динамикии ҳисобкуниро дастгирӣ мекунад, ки ин маънои онро дорад, ки рафтори шабака метавонад дар давоми вақти корӣ динамикӣ тағир дода шавад.
- PyTorch бо модулҳои гуногуни махсус сохташуда меояд, ба монанди torchtext, torchvision ва торчаудио, ки метавонад барои мубориза бо соҳаҳои гуногуни омӯзиши амиқ, аз қабили NLP, биниши компютерӣ ва коркарди овоз истифода шавад.
Маҳдудиятҳои Pytorch
- Интерфейсҳои маҳдуди мониторинг ва визуализатсия: Дар ҳоле ки TensorFlow дорои абзори пурқудрати визуализатсия барои тавлиди графики моделӣ (TensorBoard), PyTorch дар айни замон ин хусусият надорад. Дар натиҷа, таҳиягарон метавонанд ба TensorBoard берунӣ пайваст шаванд ё яке аз Python-ҳои сершумори мавҷударо истифода баранд. воситаҳои визуализатсияи маълумот.
- PyTorch як нуқта ба охир нест омӯзиши машқҳо платформаи рушд; он барномаҳоро ба серверҳо, истгоҳҳои корӣ ва дастгоҳҳои мобилӣ ҷойгир мекунад.
Бо ҳамаи ин сабабҳо, ҷустуҷӯи алтернативаҳои беҳтарин ба Pytorch як қарори оқилона мебуд.
Алтернативаҳои маъмултарини Pytorch
Ин аст рӯйхати беҳтарин алтернативаҳо ба Pytorch.
1. Тензорflow
ТенорФлов чаҳорчӯбаи амиқ ба омӯзиш нигаронидашуда ва кушодаасос мебошад, ки аз ҷониби Google сохта шудааст. Он инчунин стандартиро дастгирӣ мекунад омӯзиши машқҳо. TensorFlow бо назардошти ҳисобҳои бузурги ададӣ тарҳрезӣ шудааст, на омӯзиши амиқ.
Ғайр аз он, он барои рушди омӯзиши амиқ низ хеле арзишманд буд, аз ин рӯ Google онро ройгон дастрас кард. TensorFlow маълумотро дар шакли массивҳои бисёрченака бо андозаҳои калонтар мегирад, ки ҳамчун тензорҳо маълуманд. Ҳангоми кор бо ҳаҷми бузурги додаҳо, массивҳои бисёрченака муфиданд.
TensorFlow ба графикҳои ҷараёни маълумот дар гиреҳ асос ёфтааст. Азбаски усули иҷро шакли графикҳоро мегирад, иҷро кардани рамзи TensorFlow дар як кластери компютерҳо ҳангоми истифодаи GPU хеле осонтар аст.
C#, Haskell, Julia, R, Ruby, Rust ва Scala аз ҷумлаи забонҳое мебошанд, ки ҷомеаи TensorFlow барои дастгирӣ эҷод кардааст. TensorFlow бартарии доштани шумораи зиёди нуқтаҳои дастрасиро пешниҳод мекунад.
Ғайр аз забонҳо, TensorFlow дорои доираи васеи асбобҳое мебошад, ки бо он пайваст мешаванд ё дар болои он сохта шудаанд.
афзалиятҳо
- Ин барои корбар қулай аст. Агар шумо бо Python шинос бошед, гирифтан осон хоҳад буд.
- Дастгирии ҷомеа. TensorFlow амалан ҳар рӯз аз ҷониби Google ва таҳиягарони коршиносони дигар созмонҳо такмил дода мешавад.
- TensorFlow Lite метавонад барои иҷрои моделҳои TensorFlow дар дастгоҳҳои мобилӣ истифода шавад.
- Tensorboard як воситаи мониторинг ва визуализатсияи маълумот. Агар шумо хоҳед, ки моделҳои омӯзиши амиқи худро дар амал тамошо кунед, ин як воситаи аъло барои истифода аст.
- Tensorflow.js ба шумо имкон медиҳад, ки JavaScript-ро истифода баред, то моделҳои омӯзиши амиқро дар браузер дар вақти воқеӣ иҷро кунед.
нуқсонҳои
- TensorFlow дорои сохтори беназир аст, ки кашф ва ислоҳи хатогиҳоро душвортар мекунад.
- Дастгирии OpenCL вуҷуд надорад.
- TensorFlow барои корбарони системаи оператсионии Windows бисёр қобилиятҳоро таъмин намекунад. Он барои корбарони Linux як қатор қобилиятҳоро мекушояд. Бо вуҷуди ин, корбарони Windows то ҳол метавонанд TensorFlow-ро бо истифода аз дархости anaconda ё бастаи pip зеркашӣ кунанд.
- TensorFlow аз ҷиҳати пешниҳоди ҳалқаҳои рамзӣ барои пайдарпаии номуайян ақиб мемонад. Он барои пайдарпайии мушаххас истифодаи мушаххас дорад, ки онро системаи қобили истифода мегардонад. Дар натиҷа, он ҳамчун API-и сатҳи паст номида мешавад.
2. Керас
Керас китобхонаи омӯзиши амиқи Python аст, ки онро аз дигар чаҳорчӯбаҳои омӯзиши амиқ фарқ мекунад.
Ин забони барномасозии сатҳи баланд аст, ки а шабакаи нейралӣ таърифи API. Он метавонад ҳам ҳамчун интерфейси корбар ва ҳам барои беҳтар кардани имкониятҳои чаҳорчӯбаи омӯзиши амиқ, ки дар он кор мекунад, истифода шавад.
Ин чаҳорчӯбаи минималистист, ки сабук ва истифодааш осон аст. Бо ин сабабҳо, Keras як қисми API асосии TensorFlow мебошад. Андозаи фронталии Keras имкон медиҳад, ки прототипи босуръати моделҳои шабакаи нейронӣ дар таҳқиқот.
API барои фаҳмидан ва истифода кардан осон аст ва бо бонуси иловагӣ имкон медиҳад, ки моделҳо ба осонӣ байни чаҳорчӯбаҳо интиқол дода шаванд.
афзалиятҳо
- Истифодаи Keras API оддӣ аст. API хуб тарҳрезишуда, ба объект нигаронидашуда ва мутобиқшаванда аст, ки дар натиҷа таҷрибаи ҷолибтари корбар меорад.
- Дастгирии омӯзиши тақсимшуда ва параллелизми бисёрсоҳаи GPU дарунсохт аст.
- Keras як модули аслии Python мебошад, ки дастрасии оддиро ба муҳити мукаммали маълумоти Python таъмин мекунад. Масалан, моделҳои Keras метавонанд бо истифода аз API Python scikit-learn истифода шаванд.
- Керас вазнҳои қаблан омӯзонидашударо барои якчанд моделҳои омӯзиши амиқ дар бар мегирад. Мо метавонем ин моделҳоро мустақиман барои пешгӯӣ ё истихроҷи хусусиятҳо истифода барем.
нуқсонҳои
- Мунтазам ба даст овардани масъалаҳои пуштибонии сатҳи паст метавонад бениҳоят озурдакунанда бошад. Ин мушкилот вақте ба миён меоянд, ки мо кӯшиш мекунем, ки корҳоеро иҷро кунем, ки Керас барои иҷрои онҳо набуд.
- Ҳангоми муқоиса бо пуштибонии он, он метавонад дар GPU-ҳо суст бошад ва барои ҳисоб кардан вақти зиёдтарро талаб кунад. Дар натиҷа, мо бояд суръатро барои осонии корбар созем.
- Ҳангоми муқоиса бо бастаҳои дигар, ба монанди sci-kit-learn, қобилиятҳои коркарди пешакии додаҳои Keras он қадар ҷолиб нестанд.
3. Apache MX Net
Дигар намоён Чаҳорчӯбаи омӯзиши амиқ MXNet аст. MXNet, ки аз ҷониби Фонди нармафзори Apache сохта шудааст, забонҳои гуногунро дастгирӣ мекунад, аз ҷумла JavaScript, Python ва C++.
Amazon Web Services инчунин MXNet-ро дар таҳияи моделҳои омӯзиши амиқ дастгирӣ мекунад. Он хеле миқёспазир аст, ки барои омӯзиши зуди модел имкон медиҳад ва бо забонҳои гуногуни компютерӣ мувофиқ аст.
Барои оптимизатсияи суръат ва маҳсулнокӣ, MXNet ба шумо имкон медиҳад, ки забонҳои барномасозии рамзӣ ва императивиро омехта кунед. Он ба нақшаи вобастагии динамикӣ асос ёфтааст, ки фаъолиятҳои рамзӣ ва императивиро дар вақти воқеӣ мувозӣ мекунад.
Илова бар ин, қабати оптимизатсияи графикӣ иҷроиши рамзӣ зуд ва хотираро сарфакорона мегардонад. MXNet китобхонаи сайёр ва сабук аст.
Он аз ҷониби NVIDIA PascalTM GPU-ҳо таъмин карда мешавад ва дар якчанд GPU ва гиреҳҳо миқёспазир аст, ки ба шумо имкон медиҳад, ки моделҳоро зудтар омӯзед.
афзалиятҳо
- GPU-ҳоро дастгирӣ мекунад ва дорои режими бисёрҷонибаи GPU мебошад.
- Самаранок, миқёспазир ва зуд.
- Ҳама платформаҳои асосӣ дар киштӣ ҳастанд.
- Хизматрасонии модел оддӣ аст ва API зуд аст.
- Scala, R, Python, C++ ва JavaScript аз ҷумлаи забонҳои барномасозӣ мебошанд.
нуқсонҳои
- MXNet дорои хурдтар аст манбаи кушода ҷомеа назар ба TensorFlow.
- Такмилҳо, ислоҳи хатогиҳо ва беҳбудиҳои дигар аз сабаби набудани дастгирии ҷиддии ҷомеа барои татбиқи вақти зиёдтар лозим мешаванд.
- MxNet, гарчанде ки дар ширкатҳои сершумори соҳаи технологияҳои иттилоотӣ васеъ кор мекунанд, аммо ҳамчун Tensorflow маъруф нест.
4. Microsoft CNTK
Асбобҳои маърифатии Microsoft (CNTK) як чаҳорчӯбаи кушодаи аз ҷиҳати тиҷоратӣ қобили таваҷҷуҳ барои омӯзиши амиқ паҳншуда мебошад. Он одатан барои эҷод истифода мешавад шабакаҳои нейралӣ, балки инчунин метавонад барои омӯзиши мошинсозӣ ва ҳисоббарории маърифатӣ истифода шавад.
Он забонҳои гуногунро дастгирӣ мекунад ва истифодааш дар абр осон аст. Аз сабаби ин сифатҳо, CNTK барои барномаҳои гуногуни AI мувофиқ аст. Гарчанде ки мо метавонем C++-ро барои ба кор андохтани функсияҳои он истифода барем, варианти маъмултарин ин истифодаи барномаи Python мебошад.
Ҳангоми кор дар якчанд компютерҳо, Microsoft Cognitive Toolkit эътироф шудааст, ки нисбат ба абзорҳо ба монанди Theano ё TensorFlow, иҷрои беҳтар ва миқёспазирӣ медиҳад.
Toolkit Cognitive Microsoft ҳам моделҳои нейронии RNN ва CNN-ро дастгирӣ мекунад, ки онро барои тасвирҳо, хатнависӣ ва шинохти сухан мувофиқ мекунад.
афзалиятҳо
- Оддӣ барои ҳамгироӣ бо Apache Spark, як муҳаррики таҳлили додаҳо.
- Миқёспазирии CNTK онро дар бисёр корхонаҳо интихоби маъмул кардааст. Якчанд ҷузъҳои оптимизатсияшуда мавҷуданд.
- Фаъолияти устувор ва хубро пешниҳод мекунад.
- Бо Azure Cloud хуб кор мекунад, ки ҳардуи онҳоро Microsoft дастгирӣ мекунад.
- Истифодаи захираҳо ва идоракунии самаранок мебошанд.
нуқсонҳои
- Дар муқоиса бо Tensorflow, дастгирии ҷомеа камтар аст.
- Хатти шадиди омӯзиш.
- Он як тахтаи визуализатсия ва инчунин дастгирии ARM надорад.
5. DeepLearning4j
Агар Java забони асосии барномасозии шумо бошад, DeepLearning4j чаҳорчӯбаи хуб барои истифода аст. Ин як китобхонаи амиқи таълимии тақсимшуда мебошад, ки дараҷаи тиҷоратӣ ва сарчашмаи кушода аст.
Ҳама намудҳои асосии тарҳҳои шабакаи нейронӣ, аз қабили RNN ва CNN, дастгирӣ мешаванд. Deeplearning4j китобхонаи Java ва Scala барои омӯзиши амиқ аст.
Он инчунин бо Hadoop ва Apache Spark хуб кор мекунад. Deeplearning4j алтернативаи олиҷаноб барои ҳалли омӯзиши амиқи Java аст, зеро он инчунин GPU-ро дастгирӣ мекунад.
Вақте ки сухан дар бораи чаҳорчӯбаи омӯзиши амиқи Eclipse Deeplearning4j меравад, баъзе аз хусусиятҳои барҷаста иборатанд аз омӯзиши мувозӣ тавассути коҳишҳои такрорӣ, мутобиқсозии меъмории микро-хизматрасонӣ ва CPU ва GPU-ҳои тақсимшуда.
афзалиятҳо
- Он дорои ҳуҷҷатҳои аъло ва кӯмаки ҷомеа мебошад.
- Интегратсияи Apache Spark оддӣ аст.
- Он миқёспазир аст ва қодир аст, ки миқдори зиёди маълумотро коркард кунад.
нуқсонҳои
- Дар муқоиса бо Tensorflow ва PyTorch, он камтар маъмул аст.
- Java ягона забони барномасозӣ мебошад.
хулоса
Интихоби беҳтарин чаҳорчӯбаи омӯзиши амиқ кори душвор аст. Зиёда аз он, ки шумораи онҳо ин қадар зиёд аст, рӯйхат ҳамчун талабот афзоиш меёбад мағзи маслуӣ барномаҳои тадқиқотӣ ва омӯзиши мошинсозӣ меафзояд. Ҳар як чаҳорчӯба маҷмӯи мусбӣ ва нуқсонҳои худро дорад.
Якчанд мулоҳизаҳо бояд анҷом дода шаванд, аз ҷумла амният, миқёспазирӣ ва иҷроиш. Дар системаҳои дараҷаи корхона эътимоднокӣ боз ҳам муҳимтар мешавад.
Агар шумо нав оғоз карда истода бошед, Tensorflow ҷои хубест барои оғоз. CNTK-ро интихоб кунед, агар шумо маҳсулоти тиҷоратии асоси Windows таҳия карда истода бошед. Агар шумо Java-ро афзал донед, DL4J-ро истифода баред.
Дин ва мазҳаб