Os ydych chi'n darllen hwn, heb os nac oni bai, rydych chi eisoes wedi dechrau ar eich taith i ddysgu dwfn. Os ydych chi'n newydd i'r pwnc hwn, mae dysgu dwfn yn ychwanegiad sy'n defnyddio strwythurau unigryw tebyg i'r ymennydd o'r enw rhwydweithiau niwral artiffisial i adeiladu cyfrifiaduron tebyg i bobl sy'n mynd i'r afael â materion y byd go iawn.
Er mwyn helpu i ddatblygu'r dyluniadau hyn, mae behemothiaid technoleg fel Google, Facebook, ac Uber wedi datblygu amrywiaeth o fframweithiau ar gyfer amgylchedd dysgu dwfn Python, gan ei gwneud hi'n haws deall, creu a hyfforddi rhwydweithiau niwral amrywiol.
Mae fframwaith dysgu dwfn yn ddarn o feddalwedd y mae academyddion a gwyddonwyr data yn ei ddefnyddio i greu a hyfforddi modelau dysgu dwfn.
Nod y fframweithiau hyn yw ei gwneud hi'n bosibl i unigolion hyfforddi eu modelau heb orfod deall y technegau y tu ôl iddynt dysgu dwfn, rhwydweithiau niwral, a dysgu peirianyddol.
Trwy ryngwyneb rhaglennu lefel uchel, mae'r fframweithiau hyn yn darparu blociau adeiladu ar gyfer adeiladu, hyfforddi a gwirio modelau.
Byddwn yn edrych ar TensorFlow, Keras, Apache MXNet, Microsoft CNTK, a DeepLearing4j fel dewisiadau amgen i PyTorch, sy'n cael ei ddefnyddio'n eang fframwaith dysgu dwfn.
Beth yw Pytorch?
PyTorch yn llyfrgell dysgu peirianyddol ffynhonnell agored am ddim a adeiladwyd gyda llyfrgell Torch Python.
Fe'i crëwyd gan grŵp AI Research Facebook a'i gyhoeddi fel llyfrgell ffynhonnell agored am ddim ym mis Ionawr 2016 gyda chymwysiadau mewn gweledigaeth gyfrifiadurol, dysgu dwfn, a phrosesu iaith naturiol.
Mae ganddo iaith raglennu hanfodol a Pythonig sy'n cefnogi cod fel model, yn hwyluso dadfygio, ac yn gydnaws â llyfrgelloedd cyfrifiadurol gwyddonol poblogaidd eraill, i gyd wrth aros yn effeithlon a galluogi cyflymwyr caledwedd fel GPUs.
Mae PyTorch wedi tyfu mewn poblogrwydd ymhlith ymchwilwyr dysgu dwfn diolch i'w ffocws ar ddefnyddioldeb ac ystyriaethau perfformiad trylwyr.
Mae'n cynnwys strwythur data sylfaenol, Tensor, sy'n arae aml-ddimensiwn tebyg i araeau Numpy, sy'n caniatáu i raglenwyr ddylunio system gymhleth yn hawdd. rhwydwaith nefol.
Mae'n dod yn fwy poblogaidd yn y sectorau presennol ac yn y gymuned academaidd oherwydd ei hyblygrwydd, cyflymder, a rhwyddineb gweithredu, gan ei wneud yn un o'r arfau dysgu dwfn mwyaf poblogaidd.
Nodweddion Allweddol Pytorch
- Mae PyTorch yn Python-ganolog, neu “pythonic,” yn yr ystyr ei fod i fod ar gyfer integreiddio dwfn â rhaglennu Python yn hytrach na gwasanaethu fel rhyngwyneb i lyfrgell a ddatblygwyd mewn iaith arall.
- Syml i'w Ddysgu - Mae PyTorch yn dilyn yr un strwythur â rhaglennu traddodiadol ac mae wedi'i ddogfennu'n fanwl, gyda'r gymuned ddatblygwyr bob amser yn ceisio ei wella. Felly mae'n hawdd dysgu i raglenwyr a rhai nad ydynt yn rhaglenwyr.
- Gall PyTorch rannu gwaith cyfrifiannol dros sawl CPU neu GPU creiddiau gan ddefnyddio gallu paraleliaeth data. Er y gellir cyflawni cyfochredd tebyg â thechnegau dysgu peiriant eraill, mae PyTorch yn ei gwneud hi'n llawer haws.
- Dadfygio: Gellir defnyddio un o'r offer dadfygio Python niferus sydd ar gael yn eang (er enghraifft, offer pdb ac ipdb Python) i ddadfygio PyTorch.
- Mae PyTorch yn cefnogi graffiau cyfrifiadol deinamig, sy'n awgrymu y gellir newid ymddygiad y rhwydwaith yn ddeinamig yn ystod amser rhedeg.
- Daw PyTorch gyda modiwlau amrywiol a grëwyd yn arbennig, megis testun tortsh, tortshvision, a torchaudio, y gellir ei ddefnyddio i ddelio â meysydd amrywiol o ddysgu dwfn, megis NLP, gweledigaeth gyfrifiadurol, a phrosesu llais.
Cyfyngiadau Pytorch
- Rhyngwynebau monitro a delweddu cyfyngedig: Er bod TensorFlow yn cynnwys offeryn delweddu pwerus ar gyfer cynhyrchu'r graff model (TensorBoard), nid oes gan PyTorch y nodwedd hon ar hyn o bryd. O ganlyniad, gall datblygwyr gysylltu â TensorBoard yn allanol neu ddefnyddio un o'r Python niferus sy'n bodoli eisoes offer delweddu data.
- Nid pen-i-ben yw PyTorch dysgu peiriant llwyfan datblygu; mae'n defnyddio cymwysiadau i weinyddion, gweithfannau a dyfeisiau symudol.
Am yr holl resymau hyn, byddai ceisio'r dewisiadau amgen gorau i Pytorch yn benderfyniad doeth.
Dewisiadau amgen mwyaf poblogaidd Pytorch
Dyma'r rhestr o ddewisiadau amgen gorau i Pytorch.
1. Tensorlif
TensorFlow yn fframwaith ffynhonnell agored sy'n canolbwyntio ar ddysgu dwfn a grëwyd gan Google. Mae hefyd yn cefnogi safon dysgu peiriant. Cynlluniwyd TensorFlow gyda chyfrifiadau rhifiadol mawr mewn golwg, yn hytrach na dysgu dwfn.
Ar ben hynny, bu'n eithaf gwerthfawr ar gyfer datblygiad dysgu dwfn hefyd, felly sicrhaodd Google ei fod ar gael am ddim. Mae TensorFlow yn cymryd data ar ffurf araeau aml-ddimensiwn gyda dimensiynau mwy, a elwir yn densorau. Wrth ymdrin â symiau enfawr o ddata, mae araeau aml-ddimensiwn yn ddefnyddiol.
Mae TensorFlow yn seiliedig ar graffiau llif data ymyl nodau. Oherwydd bod y dull gweithredu ar ffurf graffiau, mae'n llawer haws gweithredu cod TensorFlow dros glwstwr o gyfrifiaduron wrth ddefnyddio GPUs.
Mae C#, Haskell, Julia, R, Ruby, Rust, a Scala ymhlith yr ieithoedd y mae cymuned TensorFlow wedi creu cefnogaeth iddynt. Mae TensorFlow yn cynnig y fantais o gael nifer fawr o bwyntiau mynediad.
Ar wahân i ieithoedd, mae gan TensorFlow ystod eang o offer sy'n cysylltu ag ef neu wedi'u hadeiladu ar ei ben.
manteision
- Mae'n hawdd ei ddefnyddio. Os ydych chi'n gyfarwydd â Python, bydd yn syml i'w godi.
- Cefnogaeth gan y gymuned. Mae TensorFlow yn cael ei wella bron bob dydd gan Google a datblygwyr arbenigol sefydliadau eraill.
- Gellir defnyddio TensorFlow Lite i weithredu modelau TensorFlow ar ddyfeisiau symudol.
- Offeryn ar gyfer monitro a delweddu data. Os ydych chi am wylio'ch modelau dysgu dwfn ar waith, mae hwn yn arf rhagorol i'w ddefnyddio.
- Mae tensorflow.js yn caniatáu ichi ddefnyddio JavaScript i redeg modelau dysgu dwfn amser real yn y porwr.
Anfanteision
- Mae gan TensorFlow strwythur unigryw, sy'n ei gwneud hi'n anoddach darganfod a dadfygio gwallau.
- Nid oes cefnogaeth OpenCL.
- Nid yw TensorFlow yn darparu llawer o alluoedd i ddefnyddwyr system weithredu Windows. Mae'n datgloi llu o alluoedd ar gyfer defnyddwyr Linux. Fodd bynnag, gall defnyddwyr Windows lawrlwytho TensorFlow o hyd gan ddefnyddio'r anaconda prompt neu'r pecyn pip.
- Mae TensorFlow ar ei hôl hi o ran cynnig dolenni symbolaidd ar gyfer dilyniannau amhenodol. Mae ganddo ddefnydd penodol ar gyfer dilyniannau penodol, gan ei gwneud yn system y gellir ei defnyddio. O ganlyniad, fe'i cyfeirir ato fel API lefel isel.
2. Keras
Keras yn llyfrgell dysgu dwfn sy'n seiliedig ar Python, sy'n ei gwahaniaethu oddi wrth fframweithiau dysgu dwfn eraill.
Mae'n iaith raglennu lefel uchel sy'n diffinio a rhwydwaith nefol Diffiniad API. Gellir ei ddefnyddio fel rhyngwyneb defnyddiwr ac i wella galluoedd y fframweithiau dysgu dwfn y mae'n rhedeg arnynt.
Mae'n fframwaith minimalaidd sy'n ysgafn ac yn hawdd ei ddefnyddio. Am y rhesymau hyn, mae Keras yn rhan o API craidd TensorFlow. Mae pen blaen Keras yn caniatáu prototeipio cyflym o fodelau rhwydwaith niwral mewn ymchwil.
Mae'r API yn hawdd ei ddeall a'i ddefnyddio, gyda'r bonws ychwanegol o ganiatáu i fodelau gael eu trosglwyddo'n hawdd rhwng fframweithiau.
manteision
- Mae API Keras yn syml i'w ddefnyddio. Mae'r API wedi'i ddylunio'n dda, yn canolbwyntio ar wrthrychau, ac yn addasadwy, gan arwain at brofiad defnyddiwr mwy pleserus.
- Mae cefnogaeth ar gyfer hyfforddiant gwasgaredig a chyfochrogrwydd aml-GPU wedi'i ymgorffori.
- Modiwl brodorol Python yw Keras sy'n darparu mynediad syml i amgylchedd gwyddor data cyflawn Python. Gellir defnyddio modelau Keras, er enghraifft, gan ddefnyddio API scikit-lean Python.
- Mae Keras yn cynnwys pwysau sydd wedi'u hyfforddi ymlaen llaw ar gyfer sawl model dysgu dwfn. Gallwn ddefnyddio'r modelau hyn yn uniongyrchol i wneud rhagfynegiadau neu dynnu nodweddion.
Anfanteision
- Gall fod yn hynod annifyr cael problemau ôl-wyneb lefel isel yn rheolaidd. Mae'r problemau hyn yn codi pan fyddwn yn ceisio gwneud tasgau nad oedd Keras i fod i'w cyflawni.
- O'i gymharu â'i backends, gallai fod yn araf ar GPUs ac yn cymryd mwy o amser i'w gyfrifo. O ganlyniad, efallai y bydd yn rhaid i ni gyfaddawdu ar gyflymder er mwyn bod yn hawdd i ddefnyddwyr.
- O'u cymharu â phecynnau eraill fel sci-kit-learn, nid yw galluoedd rhagbrosesu data Keras mor apelgar.
3. Apache MX Net
Arall amlwg Fframwaith Dysgu Dwfn yw MXNet. Mae MXNet, a grëwyd gan Sefydliad Meddalwedd Apache, yn cefnogi amrywiaeth o ieithoedd, gan gynnwys JavaScript, Python, a C++.
Mae Amazon Web Services hefyd yn cefnogi MXNet i ddatblygu modelau dysgu dwfn. Mae'n hynod scalable, gan ganiatáu ar gyfer hyfforddiant model cyflym, ac mae'n gydnaws ag amrywiaeth o ieithoedd cyfrifiadurol.
Er mwyn optimeiddio cyflymder a chynhyrchiant, mae MXNet yn caniatáu ichi gyfuno ieithoedd rhaglennu symbolaidd a hanfodol. Mae'n seiliedig ar raglennydd dibyniaeth deinamig sy'n cyfateb i weithgareddau symbolaidd a hanfodol mewn amser real.
Ar ben hynny, mae haen optimeiddio graff yn gwneud gweithrediad symbolaidd yn gyflym a chof yn economaidd. Mae MXNet yn llyfrgell gludadwy ac ysgafn.
Mae'n cael ei bweru gan GPUs NVIDIA PascalTM a gellir ei raddio dros sawl GPU a nod, sy'n eich galluogi i hyfforddi modelau yn gyflymach.
manteision
- Yn cefnogi GPUs ac mae ganddo fodd aml-GPU.
- Effeithlon, graddadwy, a chyflym mellt.
- Mae pob platfform mawr ar fwrdd y llong.
- Mae gwasanaethu model yn syml, ac mae'r API yn gyflym.
- Mae Scala, R, Python, C ++, a JavaScript ymhlith yr ieithoedd rhaglennu a gefnogir.
Anfanteision
- Mae gan MXNet lai ffynhonnell agored gymuned na TensorFlow.
- Mae gwelliannau, atgyweiriadau i fygiau, a gwelliannau eraill yn cymryd mwy o amser i'w gweithredu oherwydd diffyg cefnogaeth gymunedol sylweddol.
- Er bod MxNet yn cael ei gyflogi'n eang gan nifer o gwmnïau yn y diwydiant TG, nid yw mor adnabyddus â Tensorflow.
4. Microsoft CNC
Pecyn Cymorth Gwybyddol Microsoft (CNTK) yn fframwaith ffynhonnell agored sy'n fasnachol hyfyw ar gyfer dysgu dwfn gwasgaredig. Fe'i defnyddir yn gyffredinol i greu rhwydweithiau nefol, ond gellir ei ddefnyddio hefyd ar gyfer dysgu peiriannau a chyfrifiadura gwybyddol.
Mae'n cefnogi amrywiaeth o ieithoedd ac yn syml i'w defnyddio ar y cwmwl. Oherwydd y rhinweddau hyn, mae CNTK yn ffit addas ar gyfer amrywiaeth o gymwysiadau AI. Er y gallwn ddefnyddio C++ i weithredu ei swyddogaethau, yr opsiwn mwyaf aml yw defnyddio rhaglen Python.
Wrth redeg ar sawl cyfrifiadur, cydnabyddir bod Pecyn Cymorth Gwybyddol Microsoft yn rhoi gwell perfformiad a graddadwyedd na phecynnau cymorth fel Theano neu TensorFlow.
Mae Pecyn Cymorth Gwybyddol Microsoft yn cefnogi modelau niwral RNN a CNN, gan ei wneud yn addas ar gyfer tasgau delwedd, llawysgrifen ac adnabod lleferydd.
manteision
- Syml i'w integreiddio ag Apache Spark, peiriant dadansoddi data.
- Mae scalability CNTK wedi ei gwneud yn ddewis poblogaidd mewn llawer o fusnesau. Mae yna nifer o gydrannau wedi'u optimeiddio.
- Yn cynnig perfformiad sefydlog a da.
- Yn gweithio'n braf gydag Azure Cloud, y ddau ohonynt yn cael eu cefnogi gan Microsoft.
- Mae defnydd a rheolaeth adnoddau yn effeithlon.
Anfanteision
- O gymharu â Tensorflow, mae llai o gefnogaeth gymunedol.
- Cromlin ddysgu serth.
- Nid oes ganddo fwrdd delweddu yn ogystal â chefnogaeth ARM.
5. Dysgu dwfn4j
Os mai Java yw eich prif iaith raglennu, mae DeepLearning4j yn fframwaith da i'w ddefnyddio. Mae'n llyfrgell ddysgu ddwfn ddosbarthedig sydd â gradd fasnachol a ffynhonnell agored.
Cefnogir pob prif fath o ddyluniadau rhwydwaith niwral, megis RNNs a CNNs. Mae Deeplearning4j yn llyfrgell Java a Scala ar gyfer dysgu dwfn.
Mae'n gweithio'n dda gyda Hadoop ac Apache Spark hefyd. Mae Deeplearning4j yn ddewis arall gwych ar gyfer atebion dysgu dwfn sy'n seiliedig ar Java oherwydd ei fod hefyd yn cefnogi GPUs.
O ran fframwaith dysgu dwfn Eclipse Deeplearning4j, mae rhai o'r nodweddion amlwg yn cynnwys hyfforddiant cyfochrog trwy ostyngiadau ailadroddol, addasu pensaernïaeth micro-wasanaeth, a CPUs a GPUs dosbarthedig.
manteision
- Mae ganddo ddogfennaeth ardderchog a chymorth cymunedol.
- Mae integreiddio Apache Spark yn syml.
- Mae'n raddadwy ac yn gallu trin symiau enfawr o ddata.
Anfanteision
- O'i gymharu â Tensorflow a PyTorch, mae'n llai poblogaidd.
- Java yw'r unig iaith raglennu sydd ar gael.
Casgliad
Mae dewis y fframwaith dysgu dwfn gorau yn dasg anodd. Yn fwy felly gan fod cymaint ohonyn nhw, mae'r rhestr yn tyfu yn ôl y galw deallusrwydd artiffisial cymwysiadau ymchwil a dysgu peirianyddol yn tyfu. Mae gan bob fframwaith ei set ei hun o fanteision ac anfanteision.
Rhaid gwneud sawl ystyriaeth, gan gynnwys diogelwch, graddadwyedd a pherfformiad. Mewn systemau gradd menter, mae dibynadwyedd yn dod yn bwysicach fyth.
Os ydych chi newydd ddechrau, mae Tensorflow yn lle da i ddechrau. Dewiswch CNTK os ydych chi'n datblygu cynnyrch masnachol sy'n seiliedig ar Windows. Os yw'n well gennych Java, defnyddiwch DL4J.
Gadael ymateb