Рубрика «LSTM»

С прошлой статьи я внёс несколько изменений:
1. Планировщик был сломан и не изменял скорость. Починил.
2. Остаточное соединение через умножение.
3. WindowedDense для выходной проекции.
4. Добавил clipnorm 1, cutoff_rate 0.4

Как обычно это всё добавляет стабильности и 1% точности.

WindowedDense по неизвестной мне причине добавляет SMR стабильность.

class SMR(layers.Layer):
  def __init__(self, units):
    super().__init__()
    self.state_size = units
    self.s_l = layers.Dense(units, use_bias=False)

  def get_in_proj(self):
    return WindowedDense(self.state_size, 16)

  def call(self, i, states):
    s = states[0]
    s = self.s_l(s)
    o = i * (s + 0.1)
    return o, [o]

Читать полностью »

Рекуррентные нейронные сети (RNN), а также ее наследники такие, как LSTM и GRU, когда-то были основными инструментами для работы с последовательными данными. Однако в последние годы они были почти полностью вытеснены трансформерами (восхождение Attention is all you need), которые стали доминировать в областях от обработки естественного языка до компьютерного зрения. В статье "Were RNNs All We NeededЧитать полностью »

Привет!

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

Я разделил свой рассказ на несколько блоков:

  • Что такое RNN

  • Рекуррентные нейроны

  • Методы обработки временных рядов

  • Стратегии прогнозирования

  • Добавление факторов в RNN

  • Глобальные модели RNN

Читать полностью »

Продолжение цикла публикаций статей про прогнозирование временных рядов. На повестке – перевод статьи How to Develop Multi-Step LSTM Time Series Forecasting Models for Power Usage.
Читать полностью »

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

Рекуррентные нейронные сети (RNN) с Keras - 1
Читать полностью »

image

Промышленная разработка программных систем требует большого внимания к отказоустойчивости конечного продукта, а также быстрого реагирования на отказы и сбои, если они все-таки случаются. Мониторинг, конечно же, помогает реагировать на отказы и сбои эффективнее и быстрее, но недостаточно. Во-первых, очень сложно уследить за большим количеством серверов – необходимо большое количество людей. Во-вторых, нужно хорошо понимать, как устроено приложение, чтобы прогнозировать его состояние. Следовательно, нужно много людей, хорошо понимающих разрабатываемые нами системы, их показатели и особенности. Предположим, даже если найти достаточное количество людей, желающих заниматься этим, требуется ещё немало времени, чтобы их обучить.

Что же делать? Здесь нам на помощь спешит искусственный интеллект. Речь в статье пойдет о предиктивном обслуживании (predictive maintenance). Этот подход активно набирает популярность. Написано большое количество статей, в том числе и на Хабре. Крупные компании вовсю используют такой подход для поддержки работоспособности своих серверов. Изучив большое количество статьей, мы решили попробовать применить этот подход. Что из этого вышло?

Читать полностью »

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

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

В первой части статьи мы рассмотрим поставленную в EmoContext задачу и предоставленные организаторами данные. Во второй и третьей частях разберём предварительную обработку текста и способы векторного представления слов. В четвёртой части мы опишем архитектуру LSTM, которую мы использовали в соревновании. Код написан на языке Python с использованием библиотеки Keras.
Читать полностью »

Заголовок статьи может показаться странным и это неспроста — он прекрасен именно тем, что написал его не я, а LSTM-нейросеть (а точнее его часть перед "или").

Как мы создали систему оповещения о ядерной угрозе, или как я обучил нейросеть на заголовках Хабра - 1

(схема LSTM взята из Understanding LSTM Networks)

И сегодня мы разберёмся, как можно генерировать заголовки статей Хабра (и в принципе сам текст можно генерировать этой же нейро-архитектурой). Весь код доступен для запуска онлайн в notebooks от Гугла. Данные, как всегда, открыты на github.

А вот здесь можно запустить уже обученную модель на GPU от Гугла (бесплатно и без смс) и собственно погенерить заголовки.

Читать полностью »

Иногда для того, чтобы решить какую-то проблему, надо просто взглянуть на нее под другим углом. Даже если последние лет 10 подобные проблемы решали одним и тем же способом с разным эффектом, не факт, что этот способ единственный.

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

Анализировать и пытаться удержать клиента, если это возможно, нужно, как минимум, по следующим причинам:

  • привлечение новых клиентов дороже процедур удержания. На привлечение новых клиентов, как правило, нужно потратить определенные деньги (реклама), в то время как существующих клиентов можно активизировать специальным предложением с особыми условиями;
  • понимание причин ухода клиентов — ключ к улучшению продуктов и услуг.

Существуют стандартные подходы к прогнозированию оттока. Но на одном из чемпионатов по ИИ мы решили взять и попробовать для этого распределение Вейбулла. Чаще всего его используют для анализа выживаемости, прогнозирования погоды, анализа стихийных бедствий, в промышленной инженерии и подобном. Распределение Вейбулла — специальная функция распределения, параметризуемая двумя параметрами $λ$ и $k$.

Как мы предсказывали отток, подойдя к нему как к стихийному бедствию - 3
Википедия

В общем, вещь занятная, но для прогнозирования оттока, да и вообще в финтехе, использующаяся не так, чтобы часто. Под катом расскажем, как мы (Лаборатория интеллектуального анализа данных) это сделали, попутно завоевав золото на Чемпионате по искусственному интеллекту в номинации «AI в банках».
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js