СПОСОБ ОТЛАДКИ ОБУЧЕННОЙ РЕКУРРЕНТНОЙ НЕЙРОННОЙ СЕТИ
METHOD OF TRAINED RECURRENT NEURAL NETWORK DEBUGGING

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее техническое решение в общем относится к области обработки данных, в частности, к способу для работы с обученными искусственными нейронными сетями (далее - ИНС) и их отладки.
УРОВЕНЬ ТЕХНИКИ
[0002] Проблематика в работе по интерпретации/отладке ИНС на данный момент все более набирает вес для систем, использующих решения на базе моделей машинного обучения, из-за отсутствия понимания экспертами работы ИНС. Тем не менее, существующие методы интерпретации/отладки, пригодные для работы с полносвязными и сверточными архитектурами ИНС, часто не могут напрямую применяться для реккурентных архитектур ИНС, которые широко применяются в решении задач по обработке естественного языка (англ. NLP - Natural Language Processing), обработке медицинских данных (англ. EHR - Electronic Health Records), прогнозированию временных рядов и других сфер. Проблема чаще всего связана напрямую с вариативностью длины входной последовательности данных и особенностей их строения.
[0003] Работы по созданию последовательных архитектур, интерпретируемых по построению, предлагались в источниках информации Choi et al. [1], [2], Ma et al. [3]. Также, в данной области работы и применения ИНС велись исследования по изменениям значений скрытых состояний, получаемых при работе ИНС, для поиска соответствующих паттернов входной информации (Karpathy et al. [4], Hasani et al. [5], Strobelt et al. [6]).
[0004] Рекуррентные искусственные нейронные сети (Recurrent Neural Network, RNN или PHC) - класс моделей машинного обучения, основанный на использовании предыдущих состояний сети для вычисления текущего. Такие сети удобно применять в тех случаях, когда входные данные задачи представляют собой последовательность значений - токенов, как, например, текстовые данные, где текстовый фрагмент представлен нефиксированным количеством предложений, фраз и слов. Токенами являются векторные представления элементов набора данных, используемого для обучения ИНС. Каждый символ в тексте, отдельные слова, знаки препинания и даже целые фразы - все это может являться атомарным элементом входной последовательности.
[0005] Некоторые работы осуществлялись для открытия свойств конкретных реккурентных блоков - LSTM (англ. Long short-term memory/ Долгая краткосрочная память). В одной из работ авторов Murdoch & Szlam [7] предлагается выражать выходное состояние последнего скрытого состояния LSTM как сумму вкладов токенов и впоследствии строить классификатор на основе набора правил, приближающий исходную РНС. Однако, данный способ является достаточно ненаправленным, поскольку смешивает состояния ячеек от всех временных меток и выходное значение последнего шага.
[0006] В работе Murdoch et al. [8] представлена контекстная аддитивная декомпозиция выхода LSTM, которая захватывает вклад комбинаций входных токенов. Такая декомпозиция использует линеаризацию гиперболического тангенса и сигмоидальной функции - таким образом, несмотря на сохранение оригинальной рекуррентной ячейки неизменной, подход не может считаться исчерпывающим.
[0007] Тем не менее, такие подходы имеют ограниченную сферу применения, в частности, они являются малопригодными для обработки данных финансовых транзакций или логов, получаемых от устройств Интернета Вещей (англ. аббр. - IoT), что связано со сложностью семантического распознавания значения паттернов в таких типах данных.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
0
t-1
t
h
d
[0008] Для решения существующей технической проблемы или технической задачи в данной области предлагается рассмотреть РНС ячейку в процессе фазы ее работы при вынесении заключения (суждения), выполняемого РНС, как динамическую систему (S, s), которая обновляет ее состояние s ∈ R в момент времени t под влиянием внешних возмущений x ∈ R, согласно формуле
0
[0009] Например, если рассмотреть частный вариант для решения задачи классификации анализ тональности текста, то такая система инициализируется со стартового состояния s, которое замораживается после стадии обучения (обычно с нулевым значением). Затем система обновляет свое состояние при обработке векторных представлений слов (токенов)  документа. Наконец, последнее состояние системы передается полносвязному классификационному слою. Данный пример представлен для текстового классификатора, однако применение настоящего решения не ограничивается исключительно данной областью и может использоваться для различных задач классификации по различным типам входных данных, например, данных банковских транзакций, телеметрической информации и др.
[0010] Для решения задачи снижения вычислительной нагрузки на стадии обучения и работы РНС выполнялись различные исследования, в частности, представленные в приведенных далее источниках информации. Одним из примеров является метод LSTM-Jump, предложенный в работе авторов Yu et al. [9], который прогнозирует количество токенов, которые необходимо пропустить, с применением обучающего алгоритма с подкреплением. В некоторых примерах также решается проблема ранней остановки - получения предсказания РНС, не доводя обработку входной последовательности токенов до конца (см. источник информации Ryabinin & Lobacheva [10]).
t
[0011] Таким образом, можно сделать вывод о том, что многие внешние возмущения не изменяют значительно результирующее состояние системы и могут быть исключены без каких-либо негативных последствий для качества модели машинного обучения. Исходя из данного вывода можно представить выражение состояния РНС ячейки s в следующем виде:
где:
t
t
u ∈ {0, 1} и указывает, использовалось ли то или иное векторное представление слова x в момент времени t для обновления состояния системы или нет;
1
t
U=(u, …, u) - вектор, содержащий бинарные переменные для всей последовательности нарушений X. Для стандартной .
[0012] В качестве примера можно принять  как конечное состояние системы, обновленное путем применения формулы (2) с заданным вектором U. Предположим, что  представляет собой меру расхождения между двумя состояниями системы. Таким образом, для решения поставленной задачи необходима минимизация величины  с одновременным уменьшением суммы элементов (токенов) U.
[0013] Достигаемый технический эффект от применения заявленного способа заключается в обеспечении возможности оценить влияние входных возмущений на результат вычисления агрегирующей функции от скрытых состояний РНС, за счет минимизации меры расхождения при поиске релевантных подпоследовательностей токенов.
[0014] Указанный технический результат достигается за счет осуществления компьютерно-реализуемого способа интерпретации обученной рекуррентной нейронной сети (РНС), выполняемый с помощью по меньшей мере одного процессора, причем РНС обучена на наборе данных, состоящем из последовательностей токенов, которые являются векторными представлениями элементов упомянутого набора данных, и способ содержит этапы, на которых:
a) получают значение агрегирующей функции скрытых состояний РНС для упомянутой последовательности токенов;
b) осуществляют поиск внутри упомянутой последовательности токенов по меньшей мере одной подпоследовательности токенов и определяют для каждой упомянутой подпоследовательности агрегирующую функцию скрытых состояний РНС;
c) определяют подпоследовательность токенов на основании минимального значения меры расхождения между значениями агрегирующих функций, полученных на этапах а) и b).
[0015] В частном варианте осуществления способа мера расхождения является заданной функцией.
[0016] В другом частном варианте осуществления способа мера расхождения является обучаемой моделью машинного обучения, представляющей собой по меньшей мере одну искусственную нейронную сеть, принимающую на вход значения агрегирующих функций.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ К ОПИСАНИЮ
[0017] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей.
[0018] Фиг. 1 иллюстрирует пример исходной последовательности.
[0019] Фиг. 2 иллюстрирует пример выявленной подпоследовательности.
[0020] Фиг. 3 иллюстрирует блок-схему выполняемого способа отладки РНС.
[0021] Фиг. 4 - Фиг. 7 иллюстрируют примеры работы отладки РНС с помощью предложенного метода. На них показаны вероятности включения каждого токена последовательности в искомую подпоследовательность.
[0022] Фиг. 8 представляет пример вычислительной системы для реализации способа.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[0023] Для реализации заявленного способа предлагается осуществлять анализ исходной последовательности токенов (10), представленной на Фиг. 1, которая использовалась для обучения РНС на предмет выявления такой подпоследовательности токенов (11) (Фиг. 2), которая будет давать минимальное значение степени расхождения D, что позволит выполнить отладку/интерпретацию РНС.
[0024] На Фиг. 3 представлен пример выполнения этапов при реализации заявленного способа отладки РНС.РНС в конкретном примере реализации были обучены на наборе данных, включающем последовательности (10) текстовых данных - рецензий, представленных в виде токенов. В данном случае токен представляет собой векторное представления каждого слова из последовательности (10). Векторное представление слов может создаваться с помощью таких алгоритмов, как: Word2Vec, Glove, OneHotEncoding и др.
[0025] Для исходной последовательности токенов (10), с помощью которой была обучена РНС (201), определяется значение агрегирующей функции скрытых состояний РНС (202). Например, в качестве агрегирующей функции для последовательности (10) может использоваться выбор последнего элемента последовательности, т.е. последнее из всех состояний s системы.
[0026] Для обучающей последовательности (10) токенов осуществляется поиск и выявление подпоследовательности (11) токенов (203), для которой выполняется определение агрегирующей функции (204). Сущность заявленного технического решения состоит в том, чтобы выявить подпоследовательность токенов (11) в каждой исходной последовательности (10) данного набора данных таким образом, чтобы значение агрегирующей функции от скрытых состояний, полученных при прохождении данной РНС по выбранной на этапе (204) подпоследовательности (11), отличалось как можно меньше от значения агрегирующей функции от скрытых состояний, полученных при прохождении данной РНС по исходной последовательности (10), что проверяется для каждой выявленной подпоследовательности на этапе (205).
[0027] На Фиг. 3 - Фиг. 6 представлены примеры выполненных работ по отладке/интерпретации РНС. В данных примерах РНС являлась частью системы по классификации текстовой информации, в частности, рецензий пользователей о кинофильмах.
[0028] Подпоследовательность токенов (11) может содержать последовательные токены, так и токены, удаленные друг от друга. В каждой последовательности (10) анализируется несколько подпоследовательностей (11), из которых выбирается подпоследовательность (11) с минимальным значением меры расхождения D (206) между значениями агрегирующих функций исходной последовательности (10) и найденной подпоследовательности (11).
[0029] В качестве меры расхождения  значений агрегирующей функции могут использоваться, например, евклидово расстояние (иногда называют метрикой), относительное евклидово расстояние, косинусное расстояние и т.д. Также эти метрики могут применяться как к самим значениям агрегирующей функции, так и к неким производным от нее значениям. Например, представления, полученные полнозсвязными слоями, которые на основании входных данных, обработанных РНС, подсчитывают N-мерный вектор, где N - число классов.
[0030] Также, построение обучаемой метрики расхождения может выполняться подобно тому, как в генеративных конкурирующих сетях (GAN) [11] строится дискриминатор, т.е. с использованием отдельной нейронной сети для подсчета расстояния.
[0031] При нахождении требуемой подпоследовательности (11), выявляются токены, которые оказались важны для данной РНС. Например, если в классификаторе рецензий, как представлено на Фиг. 1 - Фиг. 2, на фильмы РНС обрабатывает слова «замечательно» и «плохой», то РНС работает ожидаемым образом, поскольку выявляются слова, непосредственно относящиеся к задаче РНС. В случае же, если РНС обрабатывает слова «ты», «мы» и т.п., т.е. токены не относящиеся явным образом к предмету классификации, то такая РНС, с высокой вероятностью переобучилась и требует коррекции. Под переобучением в данном случае понимается способность к правильной классификации исходя из особенностей конкретного набора данных, вместо обобщения понятий хороших и плохих отзывов. Используя принцип выявления подпоследовательности (11) для анализа работы РНС, можно значительно сократить время анализа состояния РНС, и упростить анализ ошибок в ее работе.
[0032] В одном из частных примеров реализации заявленного способа предпочтительно выбирать подпоследовательность также наименьшей длины, исходя из количества токенов. Например, это может быть достигнуто за счет включения в функцию потерь компоненты, отвечающей за количество выбранных токенов. Данный пример осуществления может быть реализован с помощью любого алгоритма оптимизации функции потерь, например, с помощью градиентного спуска.
[0033] Далее рассмотрим частные примеры выявления подпоследовательностей. В одном случае каждому токену в исходной последовательности (10) сопоставляется метка, которая может принимать два состояния - 0 или 1, характеризующая включение данного токена в подпоследовательность (11), причем данный этап выполняется дифференцируемым образом (например, с помощью straight-through estimator, gumbel-softmax/concrete distribution и т.д.). Выполняется составление функции потерь как взвешенной суммы расхождения значений агрегирующей функции и компоненты, отвечающей за минимальность взятой подпоследовательности (например, среднему значению всех бинарных меток). Затем осуществляется процедура градиентного спуска по бинарным меткам для данной последовательности до сходимости.
[0034] Во втором примере реализации подпоследовательность (11) выявляется на основании вероятностной рекуррентной модели. Эта модель будет обусловлена по исходной последовательности (10). Под обуславливанием понимается передача информации об исходной последовательности (10) в вероятностную модель. Для каждого нового токена в исходной последовательности (10) модель будет генерировать случайную величину, определяющую, на основе уже включенных в подпоследовательность (11) токенов, включать ли этот новый токен в подпоследовательность. Реализовать такую схему можно, например, с помощью РНС и concrete distribution для дифференцируемого генерирования.
[0035] Мера расхождения может представлять собой заданную функцию или обучаемую модель машинного обучения, например, одну или несколько ИНС, которая принимает на вход значения агрегирующих функций.
[0036] В случае построения меры расхождения как дискриминатора можно предложить следующую схему его обучения: в качестве положительных примеров на вход дискриминатора будут поступать пары из результата вычисления агрегирующей функции для полной последовательности и для случайной ее аугментации, а в качестве отрицательных - для полной последовательности и найденной подпоследовательности.
Под случайной аугментацией понимается исключение малого количества токенов из исходной последовательности случайным образом (например, независимо разыгрывая бинарную случайную величину для каждого токена). При этом может осуществляться отбор для обучения только тех случайных аугментаций, для которых значение агрегирующей функции мало различается в смысле известных и зафиксированных функций расхождения.
[0037] На Фиг. 7 представлен пример общего вида вычислительной системы (300), которая обеспечивает реализацию заявленного способа или является частью системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.
[0038] В общем случае, система (300) содержит объединенные общей шиной информационного обмена один или несколько процессоров (301), средства памяти, такие как ОЗУ (302) и ПЗУ (303), интерфейсы ввода/вывода (304), устройства ввода/вывода (305), и устройство для сетевого взаимодействия (306).
[0039] Процессор (301) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (300) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0040] ОЗУ (302) представляет собой оперативную память и предназначено для хранения исполняемых процессором (301) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (302), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (302) может выступать доступный объем памяти графической карты или графического процессора.
[0041] ПЗУ (303) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0042] Для организации работы компонентов системы (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0043] Для обеспечения взаимодействия пользователя с вычислительной системой (100) применяются различные средства (305) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0044] Средство сетевого взаимодействия (306) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (306) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0045] Дополнительно могут применяться также средства спутниковой навигации в составе системы (300), например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0046] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
Источники информации:
1. Choi, Е., Bahadori, М.Т., Sun, J., Kulas, J., Schuetz, A., and Stewart, W. Retain: An interpretable predictive model for healthcare using reverse time attention mechanism. In Lee, D. D., Sugiyama, M., Luxburg, U. V., Guyon, I., and Garnett, R. (eds.), Advances in Neural Information Processing Systems 29, pp. 3504-3512. Curran Associates, Inc., 2016.
rd
2. Choi, E., Bahadori, M.Т., Song, L., Stewart, W.F., and Sun, J. Gram: Graph-based attention model for healthcare representation learning. In Proceedings of the 23 ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ‘17, pp. 787-795, New York, NY, USA, 2017. ACM.
3. Ma, F., Chitta, R., Zhou, J., You, Q., Sun, Т., and Gao, J. Dipole: Diagnosis prediction in healthcare via attention based bidirectional recurrent neural networks. In KDD, 2017.
4. Karpathy, A., Johnson, J., and Li, F. Visualizing and understanding recurrent networks. CoRR, abs/1506.02078, 2015. URL http://arxiv.org/abs/1506.02078.
5. Hasani, R.M., Amini, A., Lechner, M., Naser, F., Grosu, R., and Rus, D. Response characterization for auditing cell dynamics in long short-term memory networks. arXiv preprint arXiv: 1809.03864, 2018.
6. Strobelt, H., Gehrmann, S., Pfister, H., and Rush, A.M. Lstmvis: A tool for visual analysis of hidden state dynamics in recurrent neural networks. IEEE Transactions on Visualization and Computer Graphics, 24:667-676, 2018.
7. Murdoch, W.J. and Szlam, A. Automatic rule extraction from long short term memory networks. In International Conference on Learning Representations, 2017.
8. Murdoch, W.J., Liu, P.J., and Yu, B. Beyond word importance: Contextual decomposition to extract interactions from LSTMs. In International Conference on Learning Representations, 2018. URL https://openreview.net/forum?id=rkRwGg-0Z.
9. Yu, K., Liu, Y., Schwing, A.G., and Peng, J. Fast and accurate text classification: Skimming, rereading and early stopping, 2018.
10. Ryabinin, M. and Lobacheva, E. Adaptive prediction time for sequence classification, 2018.
11. Goodfellow et al. Generative Adversarial Nets // Departement d'informatique et de recherche op ' erationnelle ' Universite de Montr ' eal ' Montreal, QC H3C 3J7. 2014.