Ознакомьтесь с основными разработками в области машинного обучения и обработки данных с открытым исходным кодом за апрель 2019 г.

Введение

Наука о данных — это постоянно развивающаяся область. Как специалисты по данным, мы должны держать руку на пульсе новейших алгоритмов и фреймворков, появляющихся в сообществе.

Я считаю GitHub отличным источником знаний в этом отношении. Платформа помогает мне быть в курсе последних тенденций науки о данных. Я также могу искать и загружать код от ведущих специалистов по данным и компаний — что еще может желать специалист по данным? Итак, если вы:

  • Энтузиаст науки о данных
  • Специалист по машинному обучению
  • Менеджер по науке о данных
  • Эксперт по глубокому обучению

или любое сочетание вышеперечисленного, эта статья для вас. Я избавил вас от необходимости просматривать несколько репозиториев, выбрав здесь лучшие из них. В сборнике этого месяца большое внимание уделяется обработке естественного языка (НЛП).

Я также выбрал для вас пять углубленных дискуссий на Reddit, связанных с наукой о данных. Выбрать мозги экспертов по науке о данных — редкая возможность, но Reddit позволяет нам погрузиться в их мыслительный процесс. Я настоятельно рекомендую пройти эти обсуждения, чтобы улучшить свои знания и понимание отрасли.

Хотите ознакомиться с лучшими репозиториями за первые три месяца 2019 года? Мы обеспечим вас:

Давайте погрузимся в это!

Репозитории GitHub для науки о данных

Sparse Transformer от OpenAI — превосходная структура НЛП

Какой год выдался для исследований НЛП OpenAI. Они привлекли наше внимание выпуском GPT-2 в феврале (подробнее об этом позже) и теперь разработали структуру NLP, основанную на популярной архитектуре Transformer.

Разреженный преобразователь — это глубокая нейронная сеть, которая предсказывает следующий элемент в последовательности. Это включает в себя текст, изображения и даже аудио! Первые результаты были рекордными. Алгоритм использует механизм внимания (довольно популярный в глубоком обучении) для извлечения паттернов из последовательностей в 30 раз длиннее, чем это было возможно ранее.

Привлекла ваше внимание, не так ли? Этот репозиторий содержит редкие компоненты этой структуры. Вы можете клонировать или скачать репозиторий и начать работать над задачей предсказания последовательности НЛП прямо сейчас. Просто убедитесь, что вы используете Google Colab и бесплатный графический процессор, который они предлагают.

GPT-2 OpenAI в нескольких строках кода

О да. OpenAI GPT-2. Такого ажиотажа вокруг релиза библиотеки данных я еще не видел. Они выпустили лишь очень небольшой образец своей исходной модели (из-за боязни злонамеренного неправильного использования), но даже эта мини-версия алгоритма показала нам, насколько эффективен GPT-2 для задач НЛП.

Было много попыток воспроизвести подход GPT-2, но большинство из них слишком сложны или многословны. Вот почему этот репозиторий привлек мое внимание. Это простой пакет Python, который позволяет нам переобучить модель генерации текста GPT-2 на любом невидимом тексте. Просмотрите сгенерированный ниже текст с помощью команды gpt2.generate():

Вы можете установить gpt-2-simple напрямую через pip (вам также потребуется установленный TensorFlow):

pip3 install gpt_2_simple

NeuronBlocks — впечатляющий инструментарий глубокого обучения НЛП от Microsoft

Еще одна запись НЛП в этом месяце. Это просто показывает ошеломляющую скорость, с которой прогресс в НЛП происходит прямо сейчас.

NeuronBlocks — это набор инструментов НЛП, разработанный Microsoft, который помогает группам специалистов по обработке и анализу данных создавать сквозные конвейеры для нейронных сетей. Идея NeuronBlocks состоит в том, чтобы снизить затраты на создание моделей глубоких нейронных сетей для задач НЛП.

Есть два основных компонента, которые составляют NeuronBlocks (используйте изображение выше в качестве справки):

  • BlockZoo: содержит популярные компоненты нейронной сети.
  • ModelZoo: это набор моделей НЛП для выполнения различных задач.

Вы знаете, как дорого может обойтись применение решений для глубокого обучения. Поэтому убедитесь, что вы проверили NeuronBlocks и посмотрите, работает ли он для вас или вашей организации. Полную статью с описанием NeuronBlocks можно прочитать здесь.

CenterNet — компьютерное зрение с использованием определения центральной точки

Мне очень нравится такой подход к обнаружению объектов. Как правило, алгоритмы обнаружения идентифицируют объекты как выровненные по оси прямоугольники на данном изображении. Эти методы рассматривают несколько точек и местоположений объекта и классифицируют каждую из них. Это звучит справедливо — так все делают, верно?

Что ж, этот подход, называемый CenterNet, моделирует объект как единую точку. По сути, он определяет центральную точку любой ограничивающей рамки, используя оценку ключевой точки. CenterNet оказался намного быстрее и точнее, чем методы ограничивающей рамки, с которыми мы знакомы.

Попробуйте в следующий раз, когда будете работать над проблемой обнаружения объектов — вам понравится! Вы можете прочитать документ, поясняющий CenterNet, здесь.

BentoML — инструментарий для развертывания моделей!

Понимание и изучение того, как развертывать модели машинного обучения, НЕОБХОДИМО для любого специалиста по данным. Фактически, все больше и больше рекрутеров начинают задавать вопросы, связанные с развертыванием, во время интервью с учеными данных. Если вы не знаете, что это такое, вам нужно освежить в памяти прямо сейчас.

BentoML – это библиотека Python, которая помогает упаковывать и развертывать модели машинного обучения. Вы можете перенести свою модель из своего ноутбука в рабочую службу API за 5 минут (приблизительно!). Службу BentoML можно легко развернуть на ваших любимых платформах, таких как Kubernetes, Docker, Airflow, AWS, Azure и т. д. .

Это гибкая библиотека. Он поддерживает популярные фреймворки, такие как TensorFlow, PyTorch, Sci-kit Learn, XGBoost и т. д. Вы даже можете развертывать собственные фреймворки с помощью BentoML. Звучит как слишком хорошая возможность, чтобы упустить ее!

Этот репозиторий GitHub содержит код для начала работы, а также инструкции по установке и пару примеров.

Обсуждения Reddit по науке о данных

Какую роль играют такие инструменты, как Tableau и Alteryx, в организации, занимающейся наукой о данных?

Вы работаете в роли Business Intelligence/MIS/Reporting? Вы часто работаете с инструментами перетаскивания, такими как Tableau, Alteryx, Power BI? Если вы читаете эту статью, я предполагаю, что вы заинтересованы в переходе к науке о данных.

Эта дискуссионная ветка, начатая слегка расстроенным аналитиком данных, посвящена роли, которую аналитик данных может играть в проекте по науке о данных. Обсуждение сосредоточено на навыках, которые необходимо приобрести аналитику данных/специалисту по бизнес-аналитике, чтобы иметь шанс переключиться на науку о данных.

Совет. Совет № 1 — научиться правильно кодировать. Кроме того, ознакомьтесь с нашей обширной и полной примеров статьей 11 шагов, которые необходимо выполнить, чтобы перейти к науке о данных.

Уроки, извлеченные при переходе от магистратуры к индустрии

Самая большая проблема, с которой сталкиваются менеджеры по науке о данных, — это отсутствие у кандидатов опыта работы в отрасли. Преодоление разрыва между академическими кругами и промышленностью оказалось труднодостижимым для большинства энтузиастов науки о данных. МООК, книги, статьи — все это отличные источники знаний, но они не дают представления об отрасли.

Эта дискуссия, начиная с поста автора, является для нас золотым кормом. Мне нравится, что автор опубликовал исчерпывающее описание своего интервью. Комментарии включают наводящие вопросы, которые позволяют получить дополнительную информацию об этом переходе.

Когда машинное обучение и наука о данных — это смерть хорошей компании: поучительная история

В наши дни все согласны с тем, что вы можете использовать машинное обучение и искусственный интеллект для повышения прибыли вашей организации. Это то, чем менеджмент кормит лидерство, и это приносит инвестиции.

Но что происходит, когда руководство не знает, как создавать решения для искусственного интеллекта и машинного обучения? И не инвестирует в первую настройку инфраструктуры, прежде чем даже думать о машинном обучении? Эта часть часто упускается из виду во время обсуждений и часто оказывается фатальной для компании.

Это обсуждение о том, как компания, продолжающая использовать старые языки программирования и инструменты, внезапно решает заменить свою старую архитектуру яркими скриптами и инструментами для обработки данных. Поучительная история, на которую стоит обратить внимание, когда вы входите в эту отрасль.

Достигли ли мы пределов глубокого обучения с подкреплением?

Недавно я видел, как этот вопрос задавали на нескольких форумах. Это понятная мысль. Если не считать нескольких прорывов технического гиганта каждые несколько месяцев, мы не видим большого прогресса в глубоком обучении с подкреплением.

Но так ли это? Это действительно предел? Мы только начали царапать поверхность, и мы уже закончили? Большинство из нас верят, что многое еще впереди. Это обсуждение находится на правильном пути между техническим аспектом и общей общей схемой вещей.

Вы можете применить уроки, извлеченные из этого обсуждения, и к глубокому обучению. Вы увидите сходство, когда речь пойдет о глубоких нейронных сетях.

Что делают специалисты по обработке и анализу данных каждый день?

Вы когда-нибудь задумывались, на что ученый данных тратит большую часть своего дня? Большинство начинающих профессионалов думают, что они будут строить модель за моделью. Это ловушка, которую нужно избегать любой ценой.

Мне нравится первый комментарий в этом обсуждении. Человек приравнивает работу специалиста по данным к работе юристом. То есть существуют разные роли в зависимости от того, в какой области вы находитесь. Так что прямого ответа на этот вопрос нет.

Другие комментарии предлагают хорошее представление о том, чем занимаются специалисты по обработке и анализу данных в наши дни. Короче говоря, существует широкий спектр задач, которые будут полностью зависеть от того, какой у вас проект, и размера вашей команды. Есть и благонамеренный сарказм — мне это всегда нравится!

Конечные примечания

Мне понравилось составлять выпуск этого месяца, учитывая широкий спектр тем, которые мы затронули. Там, где методы компьютерного зрения достигли потолка (условно говоря), НЛП продолжает пробиваться сквозь баррикады. Sparse Transformer от OpenAI кажется отличным проектом НЛП, который стоит попробовать в следующий раз.

Что вы думаете о коллекции этого месяца? Какие-нибудь библиотеки для обработки данных или обсуждения, которые я пропустил? Напишите мне в разделе комментариев ниже, и давайте обсудим!

Первоначально опубликовано на https://www.analyticsvidhya.com 1 мая 2019 г.