Как смоделировать RNN с механизмом внимания для нетекстовой классификации?

Рекуррентные нейронные сети (RNN) с механизмом внимания обычно используются для машинного перевода и обработки естественного языка. В Python реализация RNN с механизмом внимания широко распространена в машинном переводе (например, https://talbaumel.github.io/blog/attention/, однако я хотел бы использовать RNN с механизмом внимания к файлу временных данных (а не к любым текстовым данным/данным на основе предложений).

У меня есть файл CSV размером 21392 x 1972, который я преобразовал в Dataframe с помощью Pandas. Первый столбец имеет формат даты и времени, а последний столбец состоит из целевых классов, таких как «Class1», «Class2», «Class3» и т. д., которые я хотел бы идентифицировать. Таким образом, всего имеется 21392 строки (экземпляры данных с шагом 10 минут) и 1971 функция. Последний (1972-й столбец) - это столбец меток, всего 14 различных классов.

Я просмотрел доступную документацию по реализации Keras (https://medium.com/datalogue/attention-in-keras-1892773a4f22), а также в Tensorflow (Визуализация активации внимания в Tensorflow), но ни один из них не делает того, чего я хочу. Я понимаю, что это необычный подход, но хотел бы попробовать это и использовать механизм внимания, потому что многие из моих функций предположительно избыточны в данных.

import pandas as pd
mydataset = pd.read_csv('final_merged_data.csv')

Из существующей литературы преобладает тот факт, что механизм внимания работает достаточно хорошо, когда он связан с RNN. Я не могу найти такую ​​реализацию RNN с механизмом внимания, которая также может обеспечить визуализацию. Я также не могу понять, как я могу преобразовать свои данные в последовательность (или список списков), чтобы впоследствии использовать их с One Hot Encoding для использования RNN с вниманием. Я новичок в использовании Python, а также Keras/Tensorflow, и я совершенно запутался в процедуре преобразования моих данных/приведения их к форме, которая сможет имитировать проблему классификации последовательности. Моя проблема в основном заключается в многоклассовой классификации, как это обычно делается с использованием классификаторов машинного обучения для прогнозирования меток, но с использованием RNN с вниманием. Любая помощь в этом отношении будет высоко оценена. Ваше здоровье!


person JChat    schedule 17.01.2019    source источник
comment
Что-нибудь решено?   -  person TheJokerAEZ    schedule 26.08.2019


Ответы (1)


Пожалуйста, обратитесь к этой статье для использования модели Sequence to Sequence с вниманием к классификации временных рядов.

https://www.computer.org/csdl/proceedings/icdmw/2016/5910/00/07836709.pdf

person codeslord    schedule 17.01.2019