Как стать автором
Обновить

Deep Learning: Сравнение фреймворков для символьного глубокого обучения

Блог компании Microsoft Python *Алгоритмы *Машинное обучение *
Перевод
Представляем вам перевод серии статей посвященных глубокому обучению. В первой части описан выбор фреймворка с отрытым кодом для символьного глубокого обучения, между MXNET, TensorFlow, Theano. Автор подробно сравнивает преимущества и недостатки каждого из них. В следующих частях вы узнаете о тонкой настройке глубоких сверточных сетей, а также о сочетании глубокой сверточной нейронной сети с рекуррентной нейронной сетью.


Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры 29K
Комментарии 12

Деконструкция мифа о глубоком обучении. Лекция в Яндексе

Блог компании Яндекс Алгоритмы *Математика *Машинное обучение *
Оптимизм по поводу нейронных сетей разделяют не все — или, по крайней мере, уровень такого оптимизма бывает разным. Старший преподаватель факультета компьютерных наук ВШЭ Сергей Бартунов согласен, что нейросетевая область сейчас на подъеме. С другой стороны, он хочет внести в происходящее некоторую ясность, определить реальный потенциал нейросетей. Вне зависимости от точки зрения докладчика, глубокое обучение и правда не проникает в нашу сферу совсем уж стремительными темпами. Традиционные методы обучения всё ещё работают и не обязательно будут вытеснены машинным интеллектом в ближайшей будущем.


Под катом — расшифровка лекции и часть слайдов Сергея.

Всего голосов 97: ↑88 и ↓9 +79
Просмотры 38K
Комментарии 46

Эксперименты с malloc и нейронными сетями

Блог компании VK Python *Системное программирование *Алгоритмы *Машинное обучение *


Больше года назад, когда я работал антиспамщиком в Mail.Ru Group, на меня накатило, и я написал про эксперименты с malloc. В то время я в свое удовольствие помогал проводить семинары по АКОСу на ФИВТе МФТИ, и шла тема про аллокацию памяти. Тема большая и очень интересная, при этом охватывает как низкий уровень ядра, так и вполне себе алгоритмоемкие структуры. Во всех учебниках написано, что одна из основных проблем динамического распределения памяти — это ее непредсказуемость. Как говорится, знал бы прикуп — жил бы в Сочи. Если бы оракул заранее рассказал весь план по которому будет выделяться и освобождаться память, то можно было составить оптимальную стратегию, минимизирующую фрагментацию кучи, пиковое потребление памяти и т.д. Отсюда пошла возня с ручными аллокаторами. В процессе раздумий я натолкнулся на отсутствие инструментов логирования malloc() и free(). Пришлось их написать! Как раз про это была статья (а ещe я изучал macOS). Были запланированы две части, однако жизнь круто повернулась и стало не до malloc(). Итак, пора восстановить справедливость и реализовать обещанное: ударить глубоким обучением по предсказанию работы с кучей.


Внутри:


  • Совершенствуем libtracemalloc, перехватчик malloc().
  • Строим LSTM на Keras — глубокую рекуррентную сеть.
  • Обучаем модель на примере работы реального приложения (vcmi/vcmi — а вы думали, причем здесь Heroes III?).
  • Удивляемся неожиданно хорошим результатам.
  • Фантазируем про практическое применение технологии.
  • Исходники.

Интересно? Добро пожаловать под кат.


Читать дальше →
Всего голосов 72: ↑72 и ↓0 +72
Просмотры 26K
Комментарии 15

Neural conversational models: как научить нейронную сеть светской беседе. Лекция в Яндексе

Блог компании Яндекс Машинное обучение *
Хороший виртуальный ассистент должен не только решать задачи пользователя, но и разумно отвечать на вопрос «Как дела?». Реплик без явной цели очень много, и заготовить ответ на каждую проблематично. Neural Conversational Models — сравнительно новый способ создания диалоговых систем для свободного общения. Его основа — сети, обученные на больших корпусах диалогов из интернета. Борис hr0nix Янгель рассказывает, чем хороши такие модели и как их нужно строить.


Под катом — расшифровка и основная часть слайдов.

Всего голосов 58: ↑58 и ↓0 +58
Просмотры 19K
Комментарии 7

Открытые проблемы в области распознавания речи. Лекция в Яндексе

Блог компании Яндекс Алгоритмы *Машинное обучение *
Работа большинства специалистов по речевым технологиям состоит не в том, чтобы придумывать концептуально новые алгоритмы. Компании в основном фокусируются на существующих подходах. Машинный интеллект уже умеет распознавать и синтезировать голос, но не всегда в реальном времени, не всегда локально и не всегда «избирательно» — когда нужно реагировать только на ключевые фразы, робот может ошибаться. Подобными проблемами как раз и заняты разработчики. Муаммар Аль-Шедиват Laytlas рассказывает об этих и других вопросах, которые пока не удаётся решить даже большим компаниям.


Всего голосов 49: ↑47 и ↓2 +45
Просмотры 16K
Комментарии 8

Как научить свою нейросеть анализировать морфологию

Python *Машинное обучение *
Из песочницы

Недавно мы рассказывали про генератор стихов. Одной из особенностей языковой модели, лежащей в его основе, было использование морфологической разметки для получения лучшей согласованности между словами. Однако же у использованной морфоразметки был один фатальный недостаток: она была получена с помощью “закрытой” модели, недоступной для общего использования. Если точнее, выборка, на которой мы обучались, была размечена моделью, созданной для Диалога-2017 и основанной на закрытых технологиях и словарях ABBYY.


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


Вместо морфологического движка ABBYY я использовал широко известный pymorphy2. Что в итоге получилось? Спойлер — получилось неплохо.

Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 17K
Комментарии 18

Как устроена Алиса. Лекция Яндекса

Блог компании Яндекс Промышленное программирование *Машинное обучение *
В этой лекции впервые рассматриваются технологические решения, на основе которых работает Алиса — голосовой помощник Яндекса. Руководитель группы разработки диалоговых систем Борис Янгель hr0nix рассказывает, как его команда учит Алису понимать желания пользователя, находить ответы на самые неожиданные вопросы и при этом вести себя прилично.


— Я расскажу, что внутри у Алисы. Алиса большая, в ней много компонент, поэтому я немного поверхностно пробегусь.
Всего голосов 86: ↑83 и ↓3 +80
Просмотры 65K
Комментарии 67

Две модели лучше одной. Опыт Яндекс.Переводчика

Блог компании Яндекс Поисковые технологии *Машинное обучение *
Когда-то мы уже рассказывали о том, как появился и развивался машинный перевод. С тех пор произошло ещё одно историческое событие – его наконец-то покорили нейронные сети и глубокое обучение. Среди задач обработки естественного языка (Natural Language Processing, NLP) машинный перевод одним из первых получил строгое статистическое основание — еще в начале 1990-х. Но в сфере глубокого обучения он оказался относительно запоздавшим участником. В этом посте мы — команда Яндекса по машинному переводу — обсуждаем, почему это заняло так много времени и какие новые возможности открыл машинный перевод на основе нейросетей.

Мы также будем рады ответить на вопросы на встрече «Яндекс изнутри: от алгоритмов до измерений — в Переводчике, Алисе и Поиске» 1 марта (можно зарегистрироваться или задать вопрос в чате трансляции).



Фразовый машинный перевод


Всего три года назад почти все серьезные промышленные и исследовательские системы машинного перевода были построены с использованием конвейера статистических моделей («фразовый машинный перевод», ФМП), в котором нейронные сети не участвовали. Фразовый машинный перевод впервые сделал машинный перевод доступным для массового пользователя в начале 2000-х годов. При наличии достаточного количества данных и достаточных вычислительных ресурсов ФМП позволял разработчикам создавать системы перевода, которые в основном давали представление о смысле текста, но изобиловали грамматическими, а иногда и семантическими ошибками.
Читать дальше →
Всего голосов 86: ↑86 и ↓0 +86
Просмотры 19K
Комментарии 25

Применение рекуррентных слоев для решения многоходовок

Python *Машинное обучение *
image

История


Рекуррентные слои были изобретены еще в 80х Джоном Хопфилдом. Они легли в основу разработанных им искусственных ассоциативных нейронных сетей (сетей Хопфилда). Сегодня рекуррентные сети получили большое распространение в задачах обработки последовательностей: естественных языков, речи, музыки, видеоряда и тд.

Задача


В рамках задачи по Hierarchy reinforcement learning я решил прогнозировать не одно действие агента, а несколько, используя для этого уже пред обученную сеть способную предсказать последовательность действий. В данной статье я покажу как реализовать “sequence to sequence” алгоритм для обучения этой самой сети а в последующей, постараюсь рассказать, как использовать ее в Q-learning обучении.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 13K
Комментарии 4

Kaggle: не можем ходить — будем бегать

Блог компании Singularis Data Mining *Машинное обучение *Искусственный интеллект Финансы в IT
Насколько сложна тема машинного обучения? Если Вы неплохо математически подкованы, но объем знаний о машинном обучении стремится к нулю, как далеко Вы сможете зайти в серьезном конкурсе на платформе Kaggle?


Попробуем выяснить, насколько глубока кроличья нора
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 12K
Комментарии 13

Автоматическое определение эмоций в текстовых беседах с использованием нейронных сетей

Блог компании VK Python *Data Mining *Big Data *Машинное обучение *

Одна из основных задач диалоговых систем состоит не только в предоставлении нужной пользователю информации, но и в генерации как можно более человеческих ответов. А распознание эмоций собеседника — уже не просто крутая фича, это жизненная необходимость. В этой статье мы рассмотрим архитектуру рекуррентной нейросети для определения эмоций в текстовых беседах, которая принимала участие в SemEval-2019 Task 3 “EmoContext”, ежегодном соревновании по компьютерной лингвистике. Задача состояла в классификации эмоций (“happy”, “sad”, “angry” и “others”) в беседе из трех реплик, в которой участвовали чат-бот и человек.

В первой части статьи мы рассмотрим поставленную в EmoContext задачу и предоставленные организаторами данные. Во второй и третьей частях разберём предварительную обработку текста и способы векторного представления слов. В четвёртой части мы опишем архитектуру LSTM, которую мы использовали в соревновании. Код написан на языке Python с использованием библиотеки Keras.
Читать дальше →
Всего голосов 50: ↑48 и ↓2 +46
Просмотры 11K
Комментарии 8

Julia и дистрибутивная семантика

Программирование *Julia *Машинное обучение *Искусственный интеллект Natural Language Processing *
Tutorial


С момента выхода прошлой публикации в мире языка Julia произошло много интересного:



В то же время заметен рост интереса со стороны разработчиков, что выражается обильными бенчмаркингами:



Мы же просто радуемся новым и удобным инструментам и продолжаем их изучать. Сегодняшний вечер будет посвящен текстовому анализу, поиску скрытого смысла в выступлениях президентов и генерации текста в духе Шекспира и джулиа-программиста, а на сладкое — скормим рекуррентной сети 40000 пирожков.

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 4.5K
Комментарии 4

Рекуррентные нейронные сети (RNN) с Keras

Python *Big Data *Машинное обучение *Искусственный интеллект TensorFlow *
Перевод
Tutorial
Перевод руководства по рекуррентным нейросетям с сайта Tensorflow.org. В материале рассматриваются как встроенные возможности Keras/Tensorflow 2.0 по быстрому построению сеток, так и возможности кастомизации слоев и ячеек. Также рассматриваются случаи и ограничения использования ядра CuDNN позволяющего ускорить процесс обучения нейросети.


Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 46K
Комментарии 0

Прогнозирование временных рядов с помощью рекуррентных нейронных сетей

Python *Машинное обучение *TensorFlow *
Перевод
Tutorial
Удалённый режим работы на фоне всеобщей самоизоляции может привести к весьма дурным последствиям. И эмоциональное выгорание – это ещё куда ни шло: там ведь и до крыши недалеко. В этой связи, как и многие, попробовал «успокоить» себя выделением времени на другие занятия – и начал переводить наиболее интересные статьи с английского языка на русский: «Даёшь машинлёрнинг в массы!».) Нужно воздать должное: здорово отвлекает. Если у вас есть предложения как по смысловому наполнению, так и по переводу данного текста для русскоязычного читателя, присоединяйтесь к обсуждению.

image
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 52K
Комментарии 4

Интервальное прогнозирование временных рядов с помощью рекуррентных нейронных сетей с долгой краткосрочной памятью…

Python *Машинное обучение *
Перевод
Продолжение цикла публикаций статей про прогнозирование временных рядов. На повестке – перевод статьи How to Develop Multi-Step LSTM Time Series Forecasting Models for Power Usage.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 19K
Комментарии 0

[Антикейс] Прогнозирование и планирование потребления электроэнергии с помощью machine learning (эксперимент)

Промышленное программирование *Машинное обучение *Исследования и прогнозы в IT *Инженерные системы *
Из песочницы

Большинство статей на Хабре на тему ML прогноза - про применяемые алгоритмы, подходы, инструментарий, но без фокуса на практическое решение задач.

Мы решили поделиться своим опытом и результатами применения машинного обучения для прикладной задачи крупных промышленных предприятий, которые последние 15-20 лет прогнозируют электропотребление «ручным» способом.

На Хабре есть близкая к этой теме публикация-перевод, но она как раз технически-обучающая и без результатов практического применения.

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

Очевидный прямой эффект от повышения точности почасового прогнозирования дал старт нашей исследовательской работе. Всё просто: повышаем точность прогноза на n% → заказчик получает меньший счёт от сбытовой компании или рынка → мы «в одну строчку» защищаем бюджет на такие системы.

Однако, на то это и эксперимент, чтобы получить реальный, а не теоретический ответ на вопросы: где можно повысить точность и сложно ли это сделать? 1-2-3% - это сколько в рублях?

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 4.1K
Комментарии 3

Нейросетевой подход к кредитному скорингу на данных кредитных историй

Блог компании Альфа-Банк Big Data *Машинное обучение *Искусственный интеллект Natural Language Processing *

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

Мы уже рассказывали о построении моделей на последовательностях карточных транзакций и транзакций расчетного счета для решения задачи кредитного скоринга. В обоих случаях вместо классических подходов – логистической регрессии и градиентного бустинга – использовались настоящие «черные ящики»: рекуррентные нейронные сети. Теперь же мы хотим рассказать о применении этого неклассического подхода на другом источнике данных – кредитных историях.

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 4.1K
Комментарии 12