8 labākās dziļās mācīšanās struktūras datu zinātnes entuziastiem

Arvien vairāk uzņēmumiem, kas vēlas paplašināt savu darbību, ir kļuvis par neatņemamu iespēju apgūt gan mašīnmācību, gan prognozējošo analītiku. AI kopā ar pareizo dziļo mācību sistēmu ir patiesi paplašinājusi vispārējo mērogu tam, ko uzņēmumi var sasniegt un iegūt savā jomā.

Mašīnmācīšanās paradigma nepārtraukti attīstās. Galvenais ir pāriet uz tādu mašīnmācīšanās modeļu izstrādi, kuri darbojas mobilajās ierīcēs, lai padarītu lietojumprogrammas viedākas un daudz saprātīgākas. Dziļa mācīšanās ir tā, kas ļauj atrisināt sarežģītas problēmas. Kā ievietots šajā rakstā, dziļā apmācība galvenokārt ir mašīnmācīšanās uz steroīdiem. Funkcijām ir vairāki slāņi, un parasti katrs slānis iegūst vērtīgu informāciju.

Ņemot vērā to, ka dziļa mācīšanās ir atslēga augstākā līmeņa sarežģītības uzdevumu izpildē - veiksmīga to izveidošana un ieviešana ir diezgan Herculean izaicinājums datu zinātniekiem un datu inženieriem visā pasaulē. Šodien mūsu rīcībā ir neskaitāmas struktūras, kas ļauj mums attīstīt rīkus, kas var piedāvāt labāku abstrakcijas līmeni līdztekus sarežģītu programmēšanas izaicinājumu vienkāršošanai.

Katrs ietvars dažādiem mērķiem tiek veidots atšķirīgā veidā. Šeit mēs aplūkojam 8 dziļās mācīšanās shēmas, lai sniegtu jums labāku priekšstatu par to, kura sistēma būs vispiemērotākā vai noderīga, risinot jūsu biznesa izaicinājumus.

1. TensorFlow

TensorFlow ir neapšaubāmi viens no labākajiem dziļo mācību ietvariem, un to ir pieņēmuši vairāki giganti, piemēram, Airbus, Twitter, IBM un citi, galvenokārt pateicoties ļoti elastīgajai sistēmas arhitektūrai.

Vispazīstamākais TensorFlow lietošanas gadījums ir kļuvis par Google tulkotāju apvienojumā ar tādām iespējām kā dabiskās valodas apstrāde, teksta klasifikācija / apkopošana, runas / attēla / rokraksta atpazīšana, prognozēšana un marķēšana.

TensorFlow ir pieejams gan galddatoros, gan mobilajās ierīcēs, un tas atbalsta arī tādas valodas kā Python, C ++ un R, lai izveidotu dziļu mācību modeļus kopā ar iesaiņojuma bibliotēkām.

TensorFlow nāk ar diviem plaši izmantojamiem rīkiem:

  1. TensorBoard efektīvai tīkla modelēšanas un veiktspējas datu vizualizēšanai.
  2. TensorFlow kalpo jaunu algoritmu / eksperimentu ātrai izvēršanai, saglabājot to pašu servera arhitektūru un API. Tas arī nodrošina integrāciju ar citiem TensorFlow modeļiem, kas atšķiras no parastās prakses un ko var paplašināt, lai kalpotu citiem modeļiem un datu tipiem.

Ja jūs sperat pirmos soļus dziļas mācīšanās virzienā, tas nav nodomu izvēlēties TensorFlow, ņemot vērā to, ka tas ir balstīts uz Python, ko atbalsta Google, un tam ir pievienota dokumentācija un detalizēti norādījumi, lai jūs palīdzētu.

2. Kafejnīca

Kafejnīca ir dziļa apmācības sistēma, kas tiek atbalstīta ar tādām saskarnēm kā C, C ++, Python un MATLAB, kā arī komandrindas saskarni. Tas ir labi pazīstams ar ātrumu un transponējamību un pielietojamību konvolūcijas neironu tīklu (CNN) modelēšanā. Lielākais Caffe C ++ bibliotēkas (ar Python interfeisu) izmantošanas ieguvums ir spēja piekļūt pieejamajiem tīkliem no dziļā tīkla krātuves Caffe Model Zoo, kas ir iepriekš apmācīti un kurus var nekavējoties izmantot. Kad runa ir par CNN modelēšanu vai attēlu apstrādes problēmu risināšanu, tai vajadzētu būt jūsu aiziešanas bibliotēkai.

Kafejnīcas lielākais USP ir ātrums. Tas katru dienu var apstrādāt vairāk nekā 60 miljonus attēlu ar vienu Nvidia K40 GPU. Tas ir 1 ms / attēls secinājumiem un 4 ms / image mācībām - un jaunākas bibliotēkas versijas joprojām ir ātrākas.

Kafejnīca ir populārs dziļu mācību tīkls vizuālai atpazīšanai. Tomēr Caffe neatbalsta sīkgraudainus tīkla slāņus, piemēram, tos, kas atrodami TensorFlow vai CNTK. Ņemot vērā arhitektūru, vispārējo atbalstu periodiskajiem tīkliem un valodas modelēšanu, tas ir diezgan vājš, un sarežģītu slāņu tipu izveidošana jāveic zema līmeņa valodā.

3. Microsoft Cognitive Toolkit / CNTK

Microsoft Cognitive Toolkit (iepriekš pazīstams kā CNTK), kas ir plaši pazīstams ar vieglu apmācību un populāru modeļa tipu apvienošanu serveros, ir atvērtā pirmkoda dziļās mācīšanās sistēma, lai apmācītu dziļās mācīšanās modeļus. Tas veic efektīvus konvolūcijas neironu tīklus un apmācību attēlu, runas un teksta datiem. Līdzīgi kā Caffe, to atbalsta arī tādas saskarnes kā Python, C ++ un komandrindas interfeiss.

Ņemot vērā resursu saskaņotu izmantošanu, pastiprinošo mācību modeļu vai ģeneratīvu sacīkstes tīklu (GAN) ieviešanu var viegli veikt, izmantojot instrumentu kopumu. Ir zināms, ka tas nodrošina lielāku veiktspēju un mērogojamību, salīdzinot ar instrumentu komplektiem, piemēram, Theano vai TensorFlow, strādājot ar vairākām mašīnām.

Salīdzinājumā ar Caffe, kad runa ir par jaunu sarežģītu slāņu tipu izgudrošanu, lietotājiem nav nepieciešams tos ieviest zema līmeņa valodā, ņemot vērā celtniecības bloku smalkumu. Microsoft Cognitive Toolkit atbalsta gan RNN, gan CNN neironu modeļu veidus, un tādējādi ir spējīgs apstrādāt attēlus, rokrakstu un runas atpazīšanas problēmas. Pašlaik ARM arhitektūras atbalsta trūkuma dēļ tā iespējas mobilajā telefonā ir diezgan ierobežotas.

4. Lāpa / PyTorch

Lukturis ir zinātniska skaitļošanas sistēma, kas piedāvā plašu atbalstu mašīnmācīšanās algoritmiem. Tā ir uz Lua balstīta dziļu mācību sistēma, un to plaši izmanto nozares gigantu starpā, piemēram, Facebook, Twitter un Google. Apstrādei tajā tiek izmantota CUDA kopā ar C / C ++ bibliotēkām, un tā pamatā tika veidota, lai palielinātu ēku modeļu ražošanu un nodrošinātu vispārēju elastību.

Jau vēlu PyTorch ir pieredzējis augstu pieņemšanas līmeni dziļo mācību ietvaru kopienā un tiek uzskatīts par TensorFlow konkurentu. PyTorch pamatā ir Torch dziļmācības ietvars, ko izmanto dziļu neironu tīklu izveidošanai un tenzoru aprēķinu veikšanai, kas ir sarežģīti.

Atšķirībā no Lāpas, PyTorch darbojas Python, kas nozīmē, ka ikviens, kuram ir pamatzināšanas par Python, var sākt veidot savus dziļās mācīšanās modeļus.

Ņemot vērā PyTorch ietvara arhitektūras stilu, viss dziļās modelēšanas process ir daudz vienkāršāks un caurspīdīgāks nekā Torch.

5. MXNet

MXNet (izrunā kā mix-net), kas īpaši izstrādāts augstas efektivitātes, produktivitātes un elastības nolūkā, ir dziļas mācīšanās ietvars, ko atbalsta Python, R, C ++ un Julia.

MXNet skaistums ir tāds, ka tas dod lietotājam iespēju kodēt dažādās programmēšanas valodās. Tas nozīmē, ka jūs varat apmācīt padziļinātās mācīšanās modeļus ar jebkuru valodu, kurā jums ir ērtāk, un jums nav jāiemācās kaut kas jauns no nulles. Tā kā aizmugures versija ir rakstīta C ++ un CUDA, MXNet spēj mērogot un strādāt ar neskaitāmiem GPU, kas padara to neaizstājamu uzņēmumiem. Piemērs: Amazon izmantoja MXNet kā atsauces bibliotēku padziļinātai apmācībai.

MXNet atbalsta ilgtermiņa īstermiņa atmiņas (LTSM) tīklus, kā arī gan RNN, gan CNN.

Šī dziļās mācīšanās sistēma ir pazīstama ar savām attēlveidošanas, rokraksta / runas atpazīšanas, prognozēšanas un NLP iespējām.

6. Šoferis

Ļoti jaudīgs, dinamisks un intuitīvs Chainer ir uz Python balstīta neironu tīklu dziļas mācīšanās sistēma, ko izstrādājusi palaišanas stratēģija. Salīdzinot ar citiem ietvariem, kas izmanto to pašu stratēģiju, izpildīšanas laikā varat modificēt tīklus, ļaujot izpildīt patvaļīgus vadības plūsmas paziņojumus.

Chainer atbalsta gan CUDA aprēķinus, gan multi-GPU. Šo dziļo mācību sistēmu galvenokārt izmanto sentimenta analīzei, mašīntulkošanai, runas atpazīšanai utt., Izmantojot RNN un CNN.

7. Keras

Plaši pazīstama kā minimālistiska Keras neironu tīkla bibliotēka (ar Python atbalsta interfeisu) atbalsta gan konvolūcijas, gan atkārtotus tīklus, kas spēj darboties gan TensorFlow, gan Theano. Bibliotēka ir uzrakstīta Python, un tā tika izstrādāta, paturot ātrus eksperimentus kā tās USP.

Sakarā ar to, ka TensorFlow saskarne ir pārāk izaicinoša, apvienojumā ar faktu, ka tā ir zema līmeņa bibliotēka, kas var būt sarežģīta jauniem lietotājiem, Keras tika uzbūvēta, lai nodrošinātu vienkāršotu saskarni ātrai prototipu veidošanai, izveidojot efektīvu neironu tīkli, kas var darboties ar TensorFlow.

Viegls, ērti lietojams un patiešām vienkāršs, kad ir nepieciešams izveidot dziļu mācību modeli, saliekot vairākus slāņus: tas ir Keras īss apraksts. Tieši šo iemeslu dēļ Keras ir daļa no TensorFlow galvenā API.

Galvenais Keras lietojums ir klasifikācija, teksta ģenerēšana un apkopošana, marķēšana un tulkošana, kā arī runas atpazīšana un daudz kas cits. Ja jūs esat izstrādātājs ar zināmu Python pieredzi un vēlaties padziļināti mācīties, Keras ir kaut kas, kas jums noteikti jāpārbauda.

8. Deeplearning4j

Paralēlas apmācības, izmantojot iteratīvo samazināšanu, mikropakalpojumu arhitektūras pielāgošanu, kā arī izkliedētos CPU un GPU, ir dažas no Deeplearning4j dziļās mācīšanās struktūras ievērojamākajām iezīmēm. Tas ir izstrādāts Java, kā arī Scala, un atbalsta arī citas JVM valodas.

Plaši pieņemta kā komerciāla, uz nozari orientēta izplatīta dziļā apmācības platforma, šīs dziļās mācīšanās struktūras galvenā priekšrocība ir tā, ka jūs varat sapulcināt visu Java ekosistēmu, lai veiktu dziļu apmācību. To var ievadīt arī virs Hadoop un Spark, lai vadītu vairākus resursdatora pavedienus. DL4J izmanto MapReduce, lai apmācītu tīklu, kamēr atkarībā no citām bibliotēkām veic lielas matricas operācijas.

Deeplearning4j nāk ar dziļa tīkla atbalstu, izmantojot RBM, DBN, konvolūcijas neironu tīklus (CNN), atkārtotus neironu tīklus (RNN), rekursīvus neironu tenzoru tīklus (RNTN) un ilgstošu īstermiņa atmiņu (LTSM).

Tā kā šī dziļās mācīšanās sistēma tiek ieviesta Java, tā ir daudz efektīvāka salīdzinājumā ar Python. Runājot par attēlu atpazīšanas uzdevumiem, izmantojot vairākus GPU, tas ir tikpat ātrs kā Caffe. Šis ietvars parāda nepārspējamu attēlu atpazīšanas, krāpšanas atklāšanas, teksta ieguves, runas daļu iezīmēšanas un dabiskās valodas apstrādes potenciālu.

Ja Java ir jūsu galvenā programmēšanas valoda, jums noteikti jāizvēlas šī dziļās mācīšanās sistēma, ja meklējat drošu un efektīvu metodi dziļo mācību modeļu ieviešanai ražošanā.

Secinājums

Ir acīmredzams, ka dziļas mācīšanās parādīšanās ir ierosinājusi daudzus mašīnmācības un mākslīgā intelekta praktiskas izmantošanas gadījumus. Dziļās mācīšanās ļāva sadalīt uzdevumus visvienkāršākajā veidā, lai visefektīvāk palīdzētu mašīnām.

Neraugoties uz to, kura dziļo mācību sistēma no iepriekšminētā saraksta vislabāk atbilstu jūsu biznesa prasībām? Atbilde uz to slēpjas uz vairākiem faktoriem, tomēr, ja jūs vēlaties tikai sākt darbu, ideāla ir Python balstīta dziļo mācību sistēma, piemēram, TensorFlow vai Chainer.

Ja jūs meklējat kaut ko vairāk, tādā gadījumā pirms labākās dziļās mācīšanās sistēmas izvēles jūsu biznesa vajadzībām, vienmēr ir jāapsver ātrums, resursi un lietojums, kā arī apmācītā modeļa saskaņotība.

Uzņēmumā Maruti Techlabs mēs plaši izmantojam TensorFlow un Keras mūsu klientu vajadzībām - viens no tiem ir attēlu apstrāde tiešsaistes automašīnu tirgū. Attēli tiek atpazīti, identificēti un diferencēti, vienlaikus saprotot arī attēlā esošos objektus. Algoritms tika izveidots galvenokārt, lai novērtētu un atzīmētu attēlus, kas nebija saistīti ar automašīnām, un tādējādi tika parūpēts par attēla datu kvalitātes un precizitātes uzturēšanu.

Tur jums tas ir! 8 no labākajām dziļo mācību ietvariem datu zinātnes entuziastiem. Mēs ceram, ka jums patika šī ziņa un uzzinājāt kaut ko jaunu un noderīgu. Ja jūs to izdarījāt, jūtieties brīvi pieķerties tam.