Sztuczna inteligencja zyskuje na popularności od 2016 roku, a 20% dużych firm wykorzystuje sztuczną inteligencję w swoich biznesach (raport McKinsey, 2018). Zgodnie z tym samym raportem sztuczna inteligencja może tworzyć znaczną wartość w różnych branżach. W bankowości, na przykład, potencjał AI szacuje się na $ 300 miliardów dolarów, w sprzedaży detalicznej numerem Skyrocket do $ 600 miliardów dolarów.
Aby odblokować potencjalną wartość sztucznej inteligencji, firmy muszą wybrać odpowiednią platformę uczenia głębokiego. W tym samouczku dowiesz się o różnych bibliotekach dostępnych do wykonywania zadań głębokiego uczenia. Niektóre biblioteki istnieją od lat, podczas gdy nowe biblioteki, takie jak TensorFlow, wyszły na jaw w ostatnich latach.
8 najlepszych bibliotek / ram do uczenia głębokiego
Na tej liście porównamy najlepsze platformy uczenia głębokiego. Wszystkie z nich są open source i popularne w społeczności naukowców zajmujących się danymi. Porównamy również popularne ML jako dostawców usług
Pochodnia
Torch to stara biblioteka uczenia maszynowego typu open source. Został wydany po raz pierwszy 15 lat temu. Jest to podstawowy język programowania LUA, ale ma implementację w C. Porównując PyTorch z TensorFlow, obsługuje obszerną bibliotekę algorytmów uczenia maszynowego, w tym uczenia głębokiego. Obsługuje implementację CUDA do obliczeń równoległych.
Narzędzie do głębokiego uczenia się jest używane przez większość wiodących laboratoriów, takich jak Facebook, Google, Twitter, Nvidia i tak dalej. Torch ma bibliotekę w Pythonie o nazwach Pytorch.
Infer.net
Infer.net jest rozwijany i utrzymywany przez firmę Microsoft. Infer.net to biblioteka skupiająca się głównie na statystykach bayesowskich. Infer.net to narzędzie do wizualizacji do głębokiego uczenia się zaprojektowane w celu zaoferowania praktykom najnowocześniejszych algorytmów do modelowania probabilistycznego. Biblioteka zawiera narzędzia analityczne, takie jak analiza bayesowska, ukryty łańcuch Markowa, grupowanie.
Keras
Keras to framework Pythona do głębokiego uczenia się. Jest to wygodna biblioteka do konstruowania dowolnego algorytmu uczenia głębokiego. Zaletą Keras jest to, że używa tego samego kodu Pythona do działania na CPU lub GPU. Poza tym środowisko kodowania jest czyste i pozwala na szkolenie między innymi najnowocześniejszego algorytmu widzenia komputerowego, rozpoznawania tekstu.
Keras został opracowany przez François Cholleta, badacza w Google. Keras jest używany w znanych organizacjach, takich jak CERN, Yelp, Square lub Google, Netflix i Uber.
Theano
Theano to biblioteka do głębokiego uczenia opracowana przez Université de Montréal w 2007 roku. Porównując Theano z TensorFlow, oferuje szybkie obliczenia i może być uruchamiana zarówno na CPU, jak i GPU. Theano zostało opracowane w celu trenowania algorytmów głębokich sieci neuronowych.
Microsoft Cognitive Toolkit (CNTK)
Zestaw narzędzi firmy Microsoft, znany wcześniej jako CNTK, to biblioteka do głębokiego uczenia opracowana przez firmę Microsoft. Według Microsoftu biblioteka należy do najszybszych na rynku. Zestaw narzędzi firmy Microsoft jest biblioteką typu open source, chociaż firma Microsoft intensywnie korzysta z niej w swoich produktach, takich jak Skype, Cortana, Bing i Xbox. Zestaw narzędzi jest dostępny zarówno w języku Python, jak i C ++.
MXNet
MXnet to najnowsza biblioteka do głębokiego uczenia się. Jest dostępny z wieloma językami programowania, w tym C ++, Julia, Python i R. MXNet można skonfigurować do pracy zarówno na CPU, jak i GPU. MXNet zawiera najnowocześniejszą architekturę głębokiego uczenia, taką jak konwolucyjne sieci neuronowe i pamięć długoterminowa. MXNet jest stworzony do harmonijnej pracy z dynamiczną infrastrukturą chmury. Głównym użytkownikiem MXNet jest Amazon
Caffe
Caffe to biblioteka zbudowana przez Yangqing Jia, gdy był doktorantem w Berkeley. Porównując Caffe z TensorFlow, Caffe jest napisane w C ++ i może wykonywać obliczenia zarówno na CPU, jak i GPU. Podstawowym zastosowaniem Caffe jest konwolucyjna sieć neuronowa. Chociaż w 2017 roku Facebook rozszerzył Caffe o bardziej głęboką architekturę uczenia się, w tym Recurrent Neural Network. Caffe jest używany przez naukowców i startupy, ale także niektóre duże firmy, takie jak Yahoo !.
TensorFlow
TensorFlow to projekt Google typu open source. TensorFlow jest obecnie najbardziej znaną biblioteką głębokiego uczenia. Został wydany publicznie pod koniec 2015 roku
TensorFlow został opracowany w C ++ i ma wygodny interfejs API języka Python, chociaż dostępne są również interfejsy API C ++. Wybitne firmy, takie jak Airbus, Google, IBM i tak dalej, używają TensorFlow do tworzenia algorytmów głębokiego uczenia.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Kluczowe różnice
Biblioteka | Platforma | Napisane w | Wsparcie Cuda | Wykonywanie równoległe | Ma wytrenowane modele | RNN | CNN |
---|---|---|---|---|---|---|---|
Pochodnia | Linux, MacOS, Windows | Lua | tak | tak | tak | tak | tak |
Infer.Net | Linux, MacOS, Windows | Visual Studio | Nie | Nie | Nie | Nie | Nie |
Keras | Linux, MacOS, Windows | Pyton | tak | tak | tak | tak | tak |
Theano | Wieloplatformowy | Pyton | tak | tak | tak | tak | tak |
TensorFlow | Linux, MacOS, Windows, Android | C ++, Python, CUDA | tak | tak | tak | tak | tak |
ZESTAW NARZĘDZI POZNAWCZYCH MICROSOFT | Linux, Windows, Mac z Dockerem | C ++ | tak | tak | tak | tak | tak |
Caffe | Linux, MacOS, Windows | C ++ | tak | tak | tak | tak | tak |
MXNet | Linux, Windows, MacOs, Android, iOS, Javascript | C ++ | tak | tak | tak | tak | tak |
Werdykt:
TensorFlow to najlepsza biblioteka ze wszystkich, ponieważ została zbudowana tak, aby była dostępna dla każdego. Biblioteka Tensorflow zawiera różne API do tworzenia architektury głębokiego uczenia na dużą skalę, takiej jak CNN czy RNN. TensorFlow opiera się na obliczeniach grafowych, pozwala deweloperowi na wizualizację budowy sieci neuronowej za pomocą Tensorboad. To narzędzie jest pomocne w debugowaniu programu. Wreszcie, Tensorflow jest przystosowany do wdrażania na dużą skalę. Działa na CPU i GPU.
Tensorflow cieszy się największą popularnością na GitHub w porównaniu do innych bibliotek głębokiego uczenia.
Porównanie uczenia maszynowego jako usługi
Poniżej znajdują się 4 popularne DL jako dostawcy usług
Google Cloud ML
Google zapewnia programistom wstępnie przeszkolony model dostępny w Cloud AutoML. To rozwiązanie istnieje dla programisty bez dużego doświadczenia w uczeniu maszynowym. Programiści mogą korzystać ze swoich danych w najnowocześniejszym, wstępnie wytrenowanym modelu Google. Pozwala każdemu programiście wytrenować i ocenić dowolny model w ciągu zaledwie kilku minut.
Obecnie Google zapewnia interfejs API REST do przetwarzania obrazu, rozpoznawania mowy, tłumaczenia i NLP.
Korzystając z Google Cloud, możesz wytrenować strukturę uczenia maszynowego opartą na TensorFlow, Scikit-learn, XGBoost lub Keras. Systemy uczące się w chmurze Google będą szkolić modele w swojej chmurze.
Zaletą korzystania z chmury obliczeniowej Google jest prostota wdrożenia uczenia maszynowego w środowisku produkcyjnym. Nie ma potrzeby konfigurowania kontenera Docker. Poza tym chmura dba o infrastrukturę. Wie, jak przydzielać zasoby za pomocą procesorów, GPU i TPU. To sprawia, że trening jest szybszy dzięki obliczeniom równoległym.
AWS SageMaker
Głównym konkurentem Google Cloud jest chmura Amazon, AWS. Amazon opracował Amazon SageMaker, aby umożliwić naukowcom zajmującym się danymi i programistom tworzenie, szkolenie i wdrażanie do produkcji dowolnych modeli uczenia maszynowego.
SageMaker jest dostępny w notebooku Jupyter i zawiera między innymi najczęściej używaną bibliotekę uczenia maszynowego, TensorFlow, MXNet, Scikit-learn. Programy napisane w SageMaker są automatycznie uruchamiane w kontenerach Docker. Amazon zajmuje się alokacją zasobów, aby zoptymalizować szkolenie i wdrażanie.
Amazon udostępnia programistom API w celu dodania inteligencji do ich aplikacji. W niektórych przypadkach nie ma potrzeby ponownego odkrywania koła, budując od podstaw nowe modele, podczas gdy w chmurze dostępne są zaawansowane, wstępnie wyszkolone modele. Amazon świadczy usługi API dla wizji komputerowej, chatbotów konwersacyjnych i usług językowych:
Trzy główne dostępne API to:
- Amazon Rekognition: zapewnia aplikacji rozpoznawanie obrazów i wideo
- Amazon Comprehend: Przeprowadź eksplorację tekstu i przetwarzanie języka neuronowego, na przykład, aby zautomatyzować proces sprawdzania legalności dokumentu finansowego
- Amazon Lex: Dodaj chatbota do aplikacji
Azure Machine Learning Studio
Prawdopodobnie jednym z najbardziej przyjaznych podejść do uczenia maszynowego jest Azure Machine Learning Studio. Istotną zaletą tego rozwiązania jest brak konieczności posiadania wcześniejszej wiedzy programistycznej.
Microsoft Azure Machine Learning Studio to narzędzie do współpracy typu „przeciągnij i upuść” do tworzenia, szkolenia, oceniania i wdrażania rozwiązań uczenia maszynowego. Model można skutecznie wdrożyć jako usługi internetowe i używać w kilku aplikacjach, takich jak Excel.
Interfejs Azure Machine Learning jest interaktywny, umożliwiając użytkownikowi zbudowanie modelu przez szybkie przeciąganie i upuszczanie elementów.
Gdy model jest gotowy, deweloper może go zapisać i wypchnąć do galerii Azure lub portalu Azure Marketplace.
Azure Machine Learning można zintegrować z językiem R lub Python ich niestandardowym wbudowanym pakietem.
IBM Watson ML
Watson studio może uprościć projekty związane z danymi dzięki usprawnionemu procesowi, który umożliwia wydobywanie wartości i spostrzeżeń z danych, aby pomóc firmie stać się inteligentniejszym i szybszym. Watson Studio zapewnia łatwe w użyciu, oparte na współpracy środowisko nauki o danych i uczenia maszynowego do tworzenia i szkolenia modeli, przygotowywania i analizowania danych oraz udostępniania spostrzeżeń w jednym miejscu. Watson Studio jest łatwe w użyciu dzięki kodowi typu „przeciągnij i upuść”.
Studio Watson obsługuje niektóre z najpopularniejszych platform, takich jak Tensorflow, Keras, Pytorch, Caffe i może wdrożyć algorytm głębokiego uczenia na najnowszych procesorach graficznych firmy Nvidia, aby przyspieszyć modelowanie.
Werdykt:
Z naszego punktu widzenia rozwiązanie Google Cloud jest tym, które jest najbardziej zalecane. Rozwiązanie Google w chmurze zapewnia niższe ceny AWS o co najmniej 30% za przechowywanie danych i rozwiązanie uczenia maszynowego. Google wykonuje świetną robotę, aby zdemokratyzować sztuczną inteligencję. Opracował język open source, TensorFlow, zoptymalizowane połączenie z hurtownią danych, zapewnia ogromne narzędzia od wizualizacji danych, analizy danych po uczenie maszynowe. Poza tym Google Console jest ergonomiczna i dużo bardziej wszechstronna niż AWS czy Windows.