Рэйчел Аллен и Майкл Ли
Мы оценили 23 библиотеки глубокого обучения с открытым исходным кодом для науки о данных. Рейтинг основан на трех показателях равного веса: активности на Github, активности на Stack Overflow и результатах поиска Google.
результаты рейтинга
Ниже приведен рейтинг 23 библиотек глубокого обучения с открытым исходным кодом для науки о данных, измеряемый активностью на Github, активностью в Stack Overflow и результатами поиска Google. В таблице показаны нормализованные баллы, где значение 1 соответствует одному стандартному отклонению выше среднего (среднее значение = 0). Например, Caffe на одно стандартное отклонение выше среднего с точки зрения активности Github, а deeplearning4j близок к среднему.
Метод подробно описан ниже
Результаты и обсуждение
Рейтинг основан на трех показателях с одинаковым весом: Github (звезды и ответвления), Stack Overflow (теги и вопросы) и результаты Google (общий и квартальный рост). Они получены с использованием доступного API. Составить исчерпывающий список инструментов глубокого обучения непросто — в итоге мы составили пять различных списков, которые, по нашему мнению, являются репрезентативными (подробности см. в методологии, описанной ниже). После вычисления нормализованных оценок для каждой метрики мы можем увидеть, какие пакеты выделяются в каждой категории. Полный рейтинг находится здесь (https://github.com/thedataincubator/data-science-blogs/blob/master/output/DL_libraries_final_Rankings.csv), а исходные данные — здесь (https://github.com/thedataincubator/data). -science -blogs/blob/master/output/deep_learning_data.csv).
TensorFlow лидирует с самым большим активным сообществом
По всем показателям TensorFlow как минимум на два стандартных отклонения выше среднего. По сравнению со вторым по популярности фреймворком: Caffe, у TensorFlow почти в три раза больше веток Github и более чем в шесть раз больше вопросов Stack Overflow. Первоначально открытый командой Google Brain в 2015 году, TensorFlow набрал обороты по сравнению со старыми библиотеками, такими как Theano (№ 4) и Torch (№ 8), и занял первое место в нашем списке. Хотя TensorFlow поставляется с Python API, который работает на движке C++, некоторые из библиотек в этом списке могут использовать TensorFlow в качестве серверной части, предоставляя свои собственные интерфейсы. Эти библиотеки включают Keras (№2, которая вскоре станет частью ядра TensorFlow) и Sonnet (№6). Популярность TensorFlow может быть связана с сочетанием универсальных сред глубокого обучения, гибких интерфейсов, чистых графических визуализаций и обширных ресурсов Google для разработчиков и сообщества.
Caffe не был заменен Caffe2
Caffe занимает третье место в этом списке, с большей активностью на Github, чем все его конкуренты (кроме TensorFlow). Caffe исторически считался более специализированным, чем Tensorflow, изначально фокусируясь на обработке изображений, распознавании объектов и предварительно обученных сверточных нейронных сетях. Facebook выпустил Caffe2 (№ 11) в апреле 2017 года, и Caffe2 уже входит в первую половину библиотек глубокого обучения. Caffe2 — это более легкий, модульный и расширяемый Caffe, который включает рекуррентные нейронные сети. Caffe и Caffe2 — это отдельные кодовые базы, поэтому специалисты по данным могут продолжать использовать оригинальный Caffe. Однако некоторые инструменты миграции (например, Caffe Translator) позволяют использовать Caffe2 для управления существующими моделями Caffe.
Keras — самый популярный интерфейс глубокого обучения
Keras (#2) — это нефреймворковая библиотека с самым высоким рейтингом. Keras можно использовать в качестве интерфейса для TensorFlow (#1), Theano (#4), MXNet (#7), CNTK (#9) или deeplearning4j (#14). Keras превзошел средний показатель по всем трем параметрам. Популярность Keras может быть связана с его простотой и удобством использования. Keras позволяет пользователям быстро создавать прототипы за счет меньшей гибкости и контроля, которые возникают при непосредственном использовании фреймворка. Keras популярен среди специалистов по данным, которые используют глубокое обучение в своих наборах данных. Рост и популярность Keras продолжают расти благодаря недавнему выпуску ориентированного на Keras интерфейса R Studio с использованием R.
Даже без сильной поддержки отрасли Theano по-прежнему остается одним из лучших
Среди множества новых фреймворков глубокого обучения Theano (№4) является самой старой библиотекой в этом списке. Theano впервые применил вычислительные графы и остается популярным в исследовательском сообществе глубокого обучения и машинного обучения. Theano — это просто библиотека для числовых вычислений для Python, но ее можно использовать с продвинутыми оболочками глубокого обучения, такими как Lasagne (#15). Google поддерживает TensorFlow (№ 1) и Keras (№ 2), Facebook поддерживает PyTorch (№ 5) и Caffe2 (№ 11), а MXNet (№ 7) является официальным средством глубокого обучения для Amazon Web Services (AWS). ) Фреймворк, разработанный и поддерживаемый Microsoft CNTK (#9), официально не поддерживается ни одним гигантом технической индустрии, но Theano по-прежнему довольно популярен.
Sonnet — самая быстрорастущая библиотека
В начале 2017 года компания Google DeepMind публично выпустила код Sonnet (№ 6) — высокоуровневой объектно-ориентированной библиотеки, основанной на TensorFlow. Количество страниц, возвращенных в результатах поиска Google Sonnet, увеличилось на 272% в этом квартале по сравнению с предыдущим кварталом, что является самым большим увеличением среди всех библиотек, которые мы оцениваем. Хотя Google приобрел DeepMind, британскую компанию по искусственному интеллекту, в 2014 году, DeepMind и Google Brain по-прежнему имеют в основном независимые команды. DeepMind фокусируется на сильном искусственном интеллекте, а Sonnet может помочь пользователям создавать нейронные сети на основе конкретных идей и исследований ИИ.
Python — предпочтительный язык для интерфейсов глубокого обучения.
PyTorch (№ 5), фреймворк для единого интерфейса с использованием Python, является второй по скорости роста библиотекой в этом списке. По сравнению с предыдущим кварталом у PyTorch на 236% больше результатов поиска Google. Из 23 оцененных нами фреймворков и оболочек глубокого обучения с открытым исходным кодом только три не используют интерфейсы Python: Dlib (10-е место), MatConvNet (20-е место) и OpenNN (23-е место). Интерфейс C++ и интерфейс R используются для 7 и 6 из 23 библиотек соответственно. В то время как сообщество специалистов по данным почти сходится на использовании Python, есть много вариантов, когда речь идет о библиотеках глубокого обучения.
ограничение
Как и при любом анализе, мы принимали решения в процессе. Весь исходный код и данные находятся на нашей странице Github. Полный список библиотек глубокого обучения взят из нескольких источников.
Конечно, некоторые старые библиотеки будут иметь более высокие показатели и, следовательно, будут иметь более высокий рейтинг. Единственная метрика, которая принимает это во внимание, — это ежеквартальные темпы роста поиска Google.
Данные ставят несколько загадок:
-
Neural Designer и Wolfram Mathematica являются проприетарными и были отобраны.
-
cntk также называется Microsoft Cognitive Toolkit, но мы используем только оригинальное имя ctnk.
-
неон сменился на nervana neon
-
весло заменено на весло
-
Некоторые библиотеки явно являются производными от других библиотек, таких как Caffe и Caffe2. Если эти библиотеки имеют уникальные кодовые базы github, мы решили рассматривать их отдельно.
метод
Весь исходный код и данные размещены на нашей странице Github (https://github.com/thedataincubator/data-science-blogs).
Сначала мы составили список из 23 библиотек глубокого обучения с открытым исходным кодом из пяти разных источников, а затем собрали показатели для всех библиотек, чтобы составить рейтинг. Данные Github основаны на звездах и ответвлениях, данные Stack Overflow основаны на тегах и вопросах с именами пакетов, результаты Google основаны на общем количестве результатов поиска Google за последние пять лет и ежеквартальном темпе роста результатов, рассчитанном за последние три года. месяцев по сравнению с предыдущими тремя месяцами.
Некоторые другие примечания:
-
Несколько библиотек являются общими терминами (caffe, chainer и lasagne), поэтому условия поиска, используемые для определения количества результатов поиска Google, включают имя библиотеки и термин «глубокое обучение».
-
Любые отсутствующие счетчики переполнения стека преобразуются в нулевые счетчики.
-
Подсчеты были нормализованы со средним значением 0 и отклонением 1, затем усреднены для получения оценок Github и Stack Overflow и, наконец, объединены с результатами поиска для получения общей оценки.
-
Выполните ручную проверку, чтобы подтвердить расположение репозитория на Github.
Все данные были загружены 14 сентября 2017 года.