Изкуственият интелект нараства популярността си от 2016 г. насам, като 20% от големите компании използват AI в своя бизнес (доклад на McKinsey, 2018). Съгласно същия доклад AI може да създаде значителна стойност за различните отрасли. В банковото дело, например, на потенциала на AI се оценява на $ 300, млрд в търговията на дребно с номер скачат до $ 600 милиарда долара.
За да отключат потенциалната стойност на AI, компаниите трябва да изберат правилната рамка за задълбочено обучение. В този урок ще научите за различните библиотеки, налични за изпълнение на задълбочени учебни задачи. Някои библиотеки съществуват от години, докато нова библиотека като TensorFlow излезе наяве през последните години.
8 най-добри библиотеки за дълбоко обучение / рамка
В този списък ще сравним най-добрите рамки за дълбоко обучение. Всички те са с отворен код и популярни в общността на изследователите на данни. Също така ще сравним популярните ML като доставчици на услуги
Факла
Torch е стара библиотека за машинно обучение с отворен код. За първи път е издаден преди 15 години. Основният език за програмиране е LUA, но има реализация в C. Сравнявайки PyTorch срещу TensorFlow, той поддържа огромна библиотека за алгоритми за машинно обучение, включително дълбоко обучение. Той поддържа внедряване на CUDA за паралелно изчисление.
Инструментът за дълбоко обучение с факли се използва от повечето водещи лаборатории като Facebook, Google, Twitter, Nvidia и т.н. Torch има библиотека на Python с имена Pytorch.
Infer.net
Infer.net се разработва и поддържа от Microsoft. Infer.net е библиотека с основен фокус върху байесовата статистика. Infer.net е инструмент за визуализация за задълбочено обучение, предназначен да предложи на практикуващите най-модерните алгоритми за вероятностно моделиране. Библиотеката съдържа аналитични инструменти като байесов анализ, скрита верига на Марков, клъстериране.
Керас
Keras е Python рамка за дълбоко обучение. Това е удобна библиотека за изграждане на всеки алгоритъм за дълбоко обучение. Предимството на Keras е, че той използва същия Python код, за да работи на CPU или GPU. Освен това средата за кодиране е чиста и дава възможност за обучение на най-съвременен алгоритъм за компютърно зрение, разпознаване на текст и други.
Keras е разработен от François Chollet, изследовател в Google. Keras се използва във видни организации като CERN, Yelp, Square или Google, Netflix и Uber.
Теано
Theano е библиотека за дълбоко обучение, разработена от Université de Montréal през 2007 г. Сравнявайки Theano срещу TensorFlow, тя предлага бързи изчисления и може да се изпълнява както на CPU, така и на GPU. Theano е разработен за обучение на дълбоки невронни мрежови алгоритми.
Microsoft Cognitive Toolkit (CNTK)
Инструментарият на Microsoft, известен преди като CNTK, е библиотека за задълбочено обучение, разработена от Microsoft. Според Microsoft библиотеката е сред най-бързите на пазара. Инструментарият на Microsoft е библиотека с отворен код, въпреки че Microsoft го използва широко за своите продукти като Skype, Cortana, Bing и Xbox. Инструментариумът се предлага както в Python, така и в C ++.
MXNet
MXnet е скорошна библиотека за дълбоко обучение. Той е достъпен с множество езици за програмиране, включително C ++, Julia, Python и R. MXNet може да бъде конфигуриран да работи както на CPU, така и на GPU. MXNet включва най-съвременната архитектура за дълбоко обучение като Convolutional Neural Network и Long Short-Term Memory. MXNet е създаден да работи в хармония с динамичната облачна инфраструктура. Основният потребител на MXNet е Amazon
Кафе
Caffe е библиотека, построена от Янцин Джия, когато е бил докторант в Бъркли. Сравнявайки Caffe срещу TensorFlow, Caffe е написан на C ++ и може да извършва изчисления както на CPU, така и на GPU. Основната употреба на Caffe е конволюционната невронна мрежа. Въпреки това, през 2017 г. Facebook разшири Caffe с по-дълбока архитектура за обучение, включително повтаряща се невронна мрежа. Caffe се използва от учени и стартиращи компании, но също така и от някои големи компании като Yahoo !.
TensorFlow
TensorFlow е проект на Google с отворен код. TensorFlow е най-известната библиотека за дълбоко обучение в наши дни. Пуснат е на обществеността в края на 2015 г.
TensorFlow е разработен в C ++ и има удобен API на Python, въпреки че са налични и C ++ API. Известни компании като Airbus, Google, IBM и т.н. използват TensorFlow за създаване на алгоритми за задълбочено обучение.
TensorFlow Vs Theano Vs Torch Vs Keras Vs infer.net Vs CNTK Vs MXNet Vs Caffe: Основни разлики
Библиотека | Платформа | Написано в | Поддръжка на Cuda | Паралелно изпълнение | Има обучени модели | RNN | CNN |
---|---|---|---|---|---|---|---|
Факла | Linux, MacOS, Windows | Луа | Да | Да | Да | Да | Да |
Infer.Net | Linux, MacOS, Windows | Визуално студио | Не | Не | Не | Не | Не |
Керас | Linux, MacOS, Windows | Python | Да | Да | Да | Да | Да |
Теано | Междуплатформена | Python | Да | Да | Да | Да | Да |
TensorFlow | Linux, MacOS, Windows, Android | C ++, Python, CUDA | Да | Да | Да | Да | Да |
МИКРОСОФТ ПОЗНАТЕЛЕН НАСТРОИТЕЛ | Linux, Windows, Mac с Docker | C ++ | Да | Да | Да | Да | Да |
Кафе | Linux, MacOS, Windows | C ++ | Да | Да | Да | Да | Да |
MXNet | Linux, Windows, MacOs, Android, iOS, Javascript | C ++ | Да | Да | Да | Да | Да |
Присъда:
TensorFlow е най-добрата библиотека от всички, защото е създадена, за да бъде достъпна за всички. Библиотеката Tensorflow включва различен API за изграждане на мащабна архитектура за дълбоко обучение като CNN или RNN. TensorFlow се основава на графично изчисление, позволява на разработчика да визуализира изграждането на невронната мрежа с Tensorboad. Този инструмент е полезен за отстраняване на грешки в програмата. И накрая, Tensorflow е създаден да бъде внедрен в мащаб. Работи на CPU и GPU.
Tensorflow привлича най-голямата популярност на GitHub в сравнение с другите библиотеки за дълбоко обучение.
Сравняване на машинното обучение като услуга
Следват 4 популярни DL като доставчици на услуги
Google Cloud ML
Google предлага предварително обучен за разработчици модел, наличен в Cloud AutoML. Това решение съществува за разработчик без силен опит в машинното обучение. Разработчиците могат да използват предварително обучен модел на Google за своите данни. Тя позволява на разработчиците да обучават и оценяват всеки модел само за няколко минути.
Понастоящем Google предоставя REST API за компютърно зрение, разпознаване на реч, превод и NLP.
Използвайки Google Cloud, можете да обучите рамка за машинно обучение, изградена върху TensorFlow, Scikit-learn, XGBoost или Keras. Google Cloud машинното обучение ще обучи моделите в целия си облак.
Предимството за използване на облачни изчисления на Google е простотата на внедряване на машинно обучение в производството. Не е необходимо да настройвате контейнера на Docker. Освен това облакът се грижи за инфраструктурата. Той знае как да разпределя ресурси с CPU, GPU и TPU. Това прави обучението по-бързо с паралелно изчисление.
AWS SageMaker
Основен конкурент на Google Cloud е облакът на Amazon, AWS. Amazon разработи Amazon SageMaker, за да позволи на учените и разработчиците на данни да изграждат, обучават и въвеждат в производство всякакви модели за машинно обучение.
SageMaker се предлага в Jupyter Notebook и включва най-често използваната библиотека за машинно обучение, TensorFlow, MXNet, Scikit-learn и др. Програмите, написани с SageMaker, автоматично се изпълняват в контейнерите на Docker. Amazon се справя с разпределението на ресурсите, за да оптимизира обучението и внедряването.
Amazon предоставя API на разработчиците, за да добави интелигентност към техните приложения. Понякога няма нужда да преоткривате колелото, като създавате от нулата нови модели, докато в облака има мощни предварително обучени модели. Amazon предоставя API услуги за компютърно зрение, разговорни чат ботове и езикови услуги:
Трите основни налични API са:
- Amazon Rekogmination: осигурява разпознаване на изображения и видео на приложение
- Amazon Comprehend: Извършете добив на текст и обработка на невронни езици, за да автоматизирате например процеса на проверка на законността на финансовия документ
- Amazon Lex: Добавете чатбот към приложение
Студио за машинно обучение Azure
Вероятно един от най-приятелските подходи към машинното обучение е Azure Machine Learning Studio. Същественото предимство на това решение е, че не се изискват предварителни познания по програмиране.
Студио за машинно обучение на Microsoft Azure е инструмент за съвместно плъзгане и пускане за създаване, обучение, оценка и внедряване на решение за машинно обучение. Моделът може ефективно да се използва като уеб услуги и да се използва в няколко приложения като Excel.
Интерфейсът за машинно обучение на Azure е интерактивен, позволявайки на потребителя да изгради модел само чрез бързо плъзгане и пускане на елементи.
Когато моделът е готов, разработчикът може да го запише и да го изпрати в галерията на Azure или Azure Marketplace.
Машинното обучение Azure може да бъде интегрирано в R или Python техния персонализиран вграден пакет.
IBM Watson ML
Студиото Уотсън може да опрости проектите за данни с рационализиран процес, който позволява извличане на стойност и прозрения от данните, за да помогне на бизнеса да стане по-умен и по-бърз. Студиото Уотсън предлага лесна за използване съвместна наука за данни и среда за машинно обучение за изграждане и обучение на модели, подготовка и анализ на данни и споделяне на информация на едно място. Watson Studio е лесен за използване с плъзгане и пускане на код.
Студиото Уотсън поддържа някои от най-популярните рамки като Tensorflow, Keras, Pytorch, Caffe и може да внедри алгоритъм за задълбочено обучение на най-новите графични процесори от Nvidia, за да ускори моделирането.
Присъда:
В нашата гледна точка най-препоръчително е решението за облак на Google. Решението в облак на Google осигурява по-ниски цени на AWS с поне 30% за решение за съхранение на данни и машинно обучение. Google върши отлична работа за демократизиране на ИИ. Той е разработил език с отворен код, TensorFlow, оптимизирана връзка за съхранение на данни, предоставя огромни инструменти от визуализация на данни, анализ на данни до машинно обучение. Освен това Google Console е ергономичен и много по-изчерпателен от AWS или Windows.