Популярность искусственного интеллекта растет с 2016 года: 20% крупных компаний используют ИИ в своем бизнесе (отчет McKinsey, 2018). Согласно тому же отчету, ИИ может создавать значительную ценность во всех отраслях. В банковском деле , например, потенциал ИИ оцениваются в $ 300 млрд в розничном числе усилится до $ 600 миллиардов долларов.
Чтобы раскрыть потенциальную ценность ИИ, компании должны выбрать правильную структуру глубокого обучения. В этом руководстве вы узнаете о различных библиотеках, доступных для выполнения задач глубокого обучения. Некоторые библиотеки существуют уже много лет, а в последние годы появилась новая библиотека, такая как TensorFlow.
8 лучших библиотек / фреймворков глубокого обучения
В этом списке мы сравним основные фреймворки глубокого обучения. Все они имеют открытый исходный код и популярны в сообществе специалистов по данным. Мы также сравним популярные ML в качестве поставщиков услуг.
Факел
Torch - это старая библиотека машинного обучения с открытым исходным кодом. Впервые он был выпущен 15 лет назад. Основным языком программирования является LUA, но есть реализация на C. Сравнивая PyTorch и TensorFlow, он поддерживает обширную библиотеку для алгоритмов машинного обучения, включая глубокое обучение. Он поддерживает реализацию CUDA для параллельных вычислений.
Инструмент глубокого обучения Torch используется в большинстве ведущих лабораторий, таких как Facebook, Google, Twitter, Nvidia и т. Д. У Torch есть библиотека на Python с именами Pytorch.
Infer.net
Infer.net разработан и поддерживается Microsoft. Infer.net - это библиотека, в которой основное внимание уделяется байесовской статистике. Infer.net - это инструмент визуализации для глубокого обучения, разработанный, чтобы предложить практикующим современные алгоритмы вероятностного моделирования. Библиотека содержит аналитические инструменты, такие как байесовский анализ, скрытая цепь Маркова, кластеризация.
Керас
Keras - это Python-фреймворк для глубокого обучения. Это удобная библиотека для построения любого алгоритма глубокого обучения. Преимущество Keras в том, что он использует один и тот же код Python для работы на CPU или GPU. Кроме того, среда кодирования чиста и позволяет обучать современный алгоритм компьютерного зрения, распознавания текста и прочего.
Keras был разработан Франсуа Шоле, исследователем Google. Keras используется в таких известных организациях, как CERN, Yelp, Square или Google, Netflix и Uber.
Theano
Theano - это библиотека глубокого обучения, разработанная Университетом Монреаля в 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 включает в себя современную архитектуру глубокого обучения, такую как сверточная нейронная сеть и долговременная краткосрочная память. 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, хотя также доступны API C ++. Известные компании, такие как Airbus, Google, IBM и другие, используют TensorFlow для создания алгоритмов глубокого обучения.
TensorFlow, Theano, Torch, Keras, infer.net, CNTK, MXNet, Caffe: ключевые различия
Библиотека | Платформа | Написано в | Поддержка Cuda | Параллельное выполнение | Имеет обученных моделей | RNN | CNN |
---|---|---|---|---|---|---|---|
Факел | Linux, MacOS, Windows | Lua | да | да | да | да | да |
Infer.Net | Linux, MacOS, Windows | Visual Studio | Нет | Нет | Нет | Нет | Нет |
Керас | Linux, MacOS, Windows | Python | да | да | да | да | да |
Theano | Кроссплатформенность | Python | да | да | да | да | да |
TensorFlow | Linux, MacOS, Windows, Android | C ++, Python, CUDA | да | да | да | да | да |
КОГНИТИВНЫЙ ИНСТРУМЕНТ MICROSOFT | Linux, Windows, Mac с докером | C ++ | да | да | да | да | да |
Кафе | Linux, MacOS, Windows | C ++ | да | да | да | да | да |
MXNet | Linux, Windows, MacOs, Android, iOS, Javascript | C ++ | да | да | да | да | да |
Вердикт:
TensorFlow - лучшая библиотека из всех, потому что она построена так, чтобы быть доступной для всех. Библиотека Tensorflow включает в себя различные API для создания масштабной архитектуры глубокого обучения, такой как CNN или RNN. TensorFlow основан на вычислении графов, он позволяет разработчику визуализировать построение нейронной сети с помощью Tensorboad. Этот инструмент полезен для отладки программы. Наконец, Tensorflow создан для масштабного развертывания. Он работает на процессоре и графическом процессоре.
Tensorflow пользуется наибольшей популярностью на GitHub по сравнению с другими библиотеками глубокого обучения.
Сравнение машинного обучения как услуги
Ниже приведены 4 популярных поставщика услуг DL.
Google Cloud ML
Google предоставляет разработчику предварительно обученную модель, доступную в Cloud AutoML. Это решение существует для разработчика, не имеющего большого опыта в машинном обучении. Разработчики могут использовать для своих данных современную предварительно обученную модель Google. Это позволяет любому разработчику обучить и оценить любую модель всего за несколько минут.
В настоящее время Google предоставляет REST API для компьютерного зрения, распознавания речи, перевода и НЛП.
Используя Google Cloud, вы можете обучить фреймворк машинного обучения на основе TensorFlow, Scikit-learn, XGBoost или Keras. Машинное обучение Google Cloud будет обучать модели в своем облаке.
Преимущество использования облачных вычислений Google заключается в простоте развертывания машинного обучения в производственной среде. Нет необходимости настраивать контейнер Docker. Кроме того, облако заботится об инфраструктуре. Он знает, как распределять ресурсы с помощью процессоров, графических процессоров и 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 Rekognition: обеспечивает распознавание изображений и видео для приложения
- Amazon Comprehend: выполнение интеллектуального анализа текста и обработки нейронного языка, например, для автоматизации процесса проверки законности финансового документа.
- Amazon Lex: добавление чат-бота в приложение
Студия машинного обучения Azure
Вероятно, один из самых дружелюбных подходов к машинному обучению - это Azure Machine Learning Studio. Существенным преимуществом этого решения является то, что не требуется никаких предварительных знаний в области программирования.
Microsoft Azure Machine Learning Studio - это инструмент для совместной работы с перетаскиванием, позволяющий создавать, обучать, оценивать и развертывать решения для машинного обучения. Модель можно эффективно развернуть как веб-службы и использовать в нескольких приложениях, таких как Excel.
Интерфейс машинного обучения Azure является интерактивным, что позволяет пользователю создавать модель, просто перетаскивая элементы быстро.
Когда модель будет готова, разработчик может сохранить ее и отправить в галерею Azure или Azure Marketplace.
Машинное обучение Azure можно интегрировать в R или Python в их собственный встроенный пакет.
IBM Watson ML
Watson Studio может упростить проекты данных с помощью оптимизированного процесса, который позволяет извлекать ценность и аналитическую информацию из данных, чтобы помочь бизнесу стать умнее и быстрее. Watson studio предоставляет простую в использовании среду для совместной работы с данными и машинного обучения для построения и обучения моделей, подготовки и анализа данных, а также обмена информацией в одном месте. Watson Studio легко использовать с помощью кода перетаскивания.
Студия Watson поддерживает некоторые из самых популярных фреймворков, таких как Tensorflow, Keras, Pytorch, Caffe, и может развернуть алгоритм глубокого обучения на новейших графических процессорах от Nvidia, чтобы ускорить моделирование.
Вердикт:
На наш взгляд, облачное решение Google является наиболее рекомендуемым. Облачное решение Google обеспечивает более низкие цены AWS как минимум на 30% на решения для хранения данных и машинного обучения. Google делает отличную работу по демократизации ИИ. Он разработал язык с открытым исходным кодом, TensorFlow, оптимизированное соединение с хранилищем данных, предоставляет потрясающие инструменты от визуализации данных, анализа данных до машинного обучения. Кроме того, консоль Google эргономична и намного более универсальна, чем AWS или Windows.