Umetna inteligenca postaja vse bolj priljubljena od leta 2016, saj 20% velikih podjetij uporablja AI v svojih podjetjih (poročilo McKinsey, 2018). Glede na isto poročilo lahko umetna inteligenca ustvari znatno vrednost za različne panoge. V bančništvu, na primer, je potencial AI ocenjena na $ 300 milijard, v trgovini na drobno številko Poleteti uvis do $ 600 milijard.
Za odkritje potencialne vrednosti umetne inteligence morajo podjetja izbrati pravi okvir za poglobljeno učenje. V tej vadnici boste spoznali različne knjižnice, ki so na voljo za izvajanje nalog globokega učenja. Nekatere knjižnice obstajajo že leta, medtem ko je nova knjižnica, kot je TensorFlow, prišla na dan v zadnjih letih.
8 najboljših knjižnic za globoko učenje / ogrodje
Na tem seznamu bomo primerjali najboljše ogrodje globokega učenja. Vsi so odprtokodni in priljubljeni v skupnosti podatkovnih znanstvenikov. Primerjali bomo tudi priljubljeno ML kot ponudnike storitev
Bakla
Torch je stara odprtokodna knjižnica strojnega učenja. Prvič je izšel pred 15 leti. Primarni programski jezik je LUA, vendar ima izvedbo v C. Primerjava PyTorch in TensorFlow podpira veliko knjižnico algoritmov strojnega učenja, vključno z globokim učenjem. Podpira izvajanje CUDA za vzporedno računanje.
Orodje za globoko učenje z baklami uporablja večina vodilnih laboratorijev, kot so Facebook, Google, Twitter, Nvidia itd. Torch ima knjižnico v Pythonu z imeni Pytorch.
Infer.net
Infer.net razvija in vzdržuje Microsoft. Infer.net je knjižnica s primarnim poudarkom na Bayesovi statistiki. Infer.net je vizualizacijsko orodje za poglobljeno učenje, zasnovano tako, da izvajalcem ponuja najsodobnejše algoritme za verjetnostno modeliranje. Knjižnica vsebuje analitična orodja, kot so Bayesova analiza, skrita Markova veriga, združevanje v skupine.
Keras
Keras je Pythonov okvir za globoko učenje. To je priročna knjižnica za izdelavo katerega koli algoritma globokega učenja. Prednost Kerasa je, da uporablja isto kodo Pythona za delovanje na CPU ali GPU. Poleg tega je kodirno okolje čisto in omogoča usposabljanje najsodobnejšega algoritma za računalniški vid, med drugim za prepoznavanje besedila.
Keras je razvil François Chollet, raziskovalec pri Googlu. Keras se uporablja v uglednih organizacijah, kot so CERN, Yelp, Square ali Google, Netflix in Uber.
Theano
Theano je knjižnica za poglobljeno učenje, ki jo je leta 2007 razvil Université de Montréal. Če primerjamo Theano in TensorFlow, ponuja hiter izračun in se lahko izvaja na CPU in GPU. Theano je bil razvit za usposabljanje algoritmov globokih nevronskih mrež.
Microsoftov kognitivni komplet orodij (CNTK)
Microsoftov komplet orodij, prej znan kot CNTK, je knjižnica za poglobljeno učenje, ki jo je razvil Microsoft. Po Microsoftovih besedah je knjižnica med najhitrejšimi na trgu. Microsoftov komplet orodij je odprtokodna knjižnica, čeprav ga Microsoft pogosto uporablja za svoje izdelke, kot so Skype, Cortana, Bing in Xbox. Nabor orodij je na voljo v Pythonu in C ++.
MXNet
MXnet je nedavna knjižnica globokega učenja. Dostopna je z več programskimi jeziki, vključno s C ++, Julia, Python in R. MXNet je mogoče konfigurirati za delo na CPU in GPU. MXNet vključuje najsodobnejšo arhitekturo globokega učenja, kot sta Convolutional Neural Network in Long Short-Termin Memory. MXNet je zasnovan za delovanje v harmoniji z dinamično infrastrukturo v oblaku. Glavni uporabnik MXNeta je Amazon
Caffe
Caffe je knjižnica, ki jo je zgradil Yangqing Jia, ko je bil doktor znanosti na Berkeleyju. Če primerjamo Caffe in TensorFlow, je Caffe napisan v jeziku C ++ in lahko izvaja izračune na CPU in GPU. Primarna uporaba Caffe je konvolucijska nevronska mreža. Čeprav je Facebook leta 2017 razširil Caffe z bolj globoko učno arhitekturo, vključno s ponavljajočo se nevronsko mrežo. Caffe uporabljajo akademiki in zagonska podjetja, pa tudi nekatera velika podjetja, kot je Yahoo !.
TensorFlow
TensorFlow je Googlov odprtokodni projekt. TensorFlow je danes najbolj znana knjižnica za globoko učenje. V javnost je izšel konec leta 2015
TensorFlow je razvit v jeziku C ++ in ima priročen Python API, čeprav so na voljo tudi API-ji C ++. Ugledna podjetja, kot so Airbus, Google, IBM in tako naprej, uporabljajo TensorFlow za izdelavo algoritmov za poglobljeno učenje.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Ključne razlike
Knjižnica | Platforma | Zapisano v | Podpora Cuda | Vzporedna izvedba | Ima usposobljene modele | RNN | CNN |
---|---|---|---|---|---|---|---|
Bakla | Linux, MacOS, Windows | Lua | Da | Da | Da | Da | Da |
Infer.Net | Linux, MacOS, Windows | Visual Studio | Ne | Ne | Ne | Ne | Ne |
Keras | Linux, MacOS, Windows | Python | Da | Da | Da | Da | Da |
Theano | Med platformo | Python | Da | Da | Da | Da | Da |
TensorFlow | Linux, MacOS, Windows, Android | C ++, Python, CUDA | Da | Da | Da | Da | Da |
MIGROSOFT KOGNITIVNI PRIROČNIK | Linux, Windows, Mac z Dockerjem | C ++ | Da | Da | Da | Da | Da |
Caffe | Linux, MacOS, Windows | C ++ | Da | Da | Da | Da | Da |
MXNet | Linux, Windows, MacO, Android, iOS, Javascript | C ++ | Da | Da | Da | Da | Da |
Razsodba:
TensorFlow je najboljša knjižnica, saj je zgrajena tako, da je dostopna vsem. Knjižnica Tensorflow vključuje različne API-je za vgrajeno arhitekturo globokega učenja, kot sta CNN ali RNN. TensorFlow temelji na izračunu grafov, razvijalcu pa omogoča vizualizacijo konstrukcije nevronske mreže s Tensorboadom. To orodje je koristno za razhroščevanje programa. Nazadnje je Tensorflow zasnovan tako, da ga je mogoče razviti v velikem obsegu. Deluje na CPU in GPU.
Tensorflow privablja največjo priljubljenost na GitHubu v primerjavi z drugimi knjižnicami za globoko učenje.
Primerjava strojnega učenja kot storitve
Sledijo 4 priljubljeni DL kot ponudniki storitev
Google Cloud ML
Google ponuja vnaprej usposobljeni model za razvijalce, ki je na voljo v oblaku AutoML. Ta rešitev obstaja za razvijalce brez močnega strojnega učenja. Razvijalci lahko na svojih podatkih uporabljajo najsodobnejši Googlov predhodno usposobljen model. Razvijalcem omogoča, da v samo nekaj minutah usposobijo in ocenijo kateri koli model.
Google trenutno ponuja REST API za računalniški vid, prepoznavanje govora, prevajanje in NLP.
Z uporabo storitve Google Cloud lahko trenirate ogrodje strojnega učenja, ki temelji na TensorFlow, Scikit-learn, XGBoost ali Keras. Strojno učenje Google Cloud bo modele usposobilo v svojem oblaku.
Prednost uporabe Googlovega računalništva v oblaku je preprostost strojnega učenja v proizvodnji. Ni treba nastaviti Dockerjevega vsebnika. Poleg tega oblak skrbi za infrastrukturo. Zna dodeliti vire s CPU-ji, GPU-ji in TPU-ji. S paralelnim računanjem je trening hitrejši.
AWS SageMaker
Glavni konkurent Googlovemu oblaku je Amazonov oblak AWS. Amazon je razvil Amazon SageMaker, da znanstvenikom in razvijalcem podatkov omogoča, da gradijo, usposabljajo in uvedejo v uporabo kakršne koli modele strojnega učenja.
SageMaker je na voljo v zvezku Jupyter in med drugim vključuje najpogosteje uporabljeno knjižnico strojnega učenja, TensorFlow, MXNet, Scikit-learn. Programi, napisani s programom SageMaker, se samodejno zaženejo v vsebnikih Docker. Amazon skrbi za dodeljevanje virov, da optimizira usposabljanje in uvajanje.
Amazon razvijalcem ponuja API, da svojim aplikacijam doda inteligenco. V nekaterih primerih ni treba znova izumljati kolesa, tako da iz nič izdelujete nove modele, medtem ko so v oblaku zmogljivi vnaprej usposobljeni modeli. Amazon ponuja storitve API za računalniški vid, pogovorne klepetalnice in jezikovne storitve:
Trije glavni razpoložljivi API so:
- Amazon Rekogmination: aplikaciji omogoča prepoznavanje slik in videov
- Amazon Comprehend: Opravite rudarjenje besedil in obdelavo nevronskih jezikov, da na primer avtomatizirate postopek preverjanja zakonitosti finančnega dokumenta
- Amazon Lex: aplikaciji dodajte chatbot
Azure Studio za strojno učenje
Verjetno eden najprijaznejših pristopov k strojnemu učenju je Azure Machine Learning Studio. Pomembna prednost te rešitve je, da ni potrebno predhodno znanje programiranja.
Microsoft Azure Machine Learning Studio je orodje za sodelovanje s povleci in spusti za ustvarjanje, usposabljanje, vrednotenje in uvajanje rešitve strojnega učenja. Model je mogoče učinkovito uporabiti kot spletne storitve in ga uporabiti v več aplikacijah, kot je Excel.
Azure vmesnik za strojno učenje je interaktiven in uporabniku omogoča, da zgraditi model s hitrim vlečenjem in spuščanjem elementov.
Ko je model pripravljen, ga lahko razvijalec shrani in potisne v Azure Gallery ali Azure Marketplace.
Strojno učenje Azure je mogoče vgraditi v R ali Python po meri vgrajen paket.
IBM Watson ML
Watson studio lahko poenostavi podatkovne projekte s poenostavljenim postopkom, ki omogoča pridobivanje vrednosti in vpogledov iz podatkov, da pomaga podjetju postati pametnejše in hitrejše. Watson studio ponuja enostaven za uporabo skupnih podatkovnih znanosti in okolja strojnega učenja za gradnjo in usposabljanje modelov, pripravo in analizo podatkov ter izmenjavo vpogledov na enem mestu. Watson Studio je enostaven za uporabo s kodo povleci in spusti.
Watson studio podpira nekatere najbolj priljubljene okvire, kot so Tensorflow, Keras, Pytorch, Caffe, in lahko uporabi algoritem za poglobljeno učenje na najnovejših grafičnih procesorjih Nvidia, da pomaga pospešiti modeliranje.
Razsodba:
Po našem mnenju je najbolj priporočljiva Googlova rešitev v oblaku. Googlova rešitev v oblaku zagotavlja nižje cene AWS za vsaj 30% za rešitve za shranjevanje podatkov in strojno učenje. Google si odlično prizadeva za demokratizacijo umetne inteligence. Razvil je odprtokodni jezik TensorFlow, optimizirano povezavo podatkovnega skladišča, ponuja izjemna orodja od vizualizacije podatkov, analize podatkov do strojnega učenja. Poleg tega je Google Console ergonomska in veliko bolj celovita kot AWS ali Windows.