Интерпретация глубоких нейронных сетей в задачах классификации текстов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 28.11.2019
Размер файла 988,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

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

Существует много проблем и задач, которые сложно решить, не обращаясь к хорошей интерпретируемости. Одной из таких проблем является предвзятое или смещенное отношение моделей в задачах классификации по половому или расовому признаку. В статье [1] автор подробно объясняет влияние предвзятости и предлагает методы для его решения. В статье [2] авторы показывают, как могут быть смещены эмбеддинги слов в сторону одного или другого пола, а также предлагают решение, которое позволяет избавиться от этого смещения. Исследования, опубликованные в статье [3] указывают не только на подверженность алгоритмов стереотипам, но и на усиление этих стереотипов, как результат своей работы. Для валидации эмбедингов слов, алгоритмов и проверки подходов, направленных на уменьшение предвзятости, важно интерпретировать результаты.

Другое семейство задач, которое тесно связаны с интерпретацией входа -- это состязательные атаки (adversarial attacks). Целью данных задач является построение такого входа для алгоритма машинного обучения (чаще всего нейронной сети), на котором алгоритм бы сделал ошибку. Наибольшее распространение данная задача получила среди алгоритмов компьютерного зрения, а подходы варьируются от добавления шума, невидимого человеком [4] до добавления небольшого рисунка, который сводит на нет усилия детектора, обученного распознавать людей [5]. Алгоритмы классификации чаще всего подвергаются состязательным атакам, в том числе среди алгоритмов обработки естественного языка. Авторы статьи [6] приводят пример генетического алгоритма, который способен за наименьшее количество изменений в словах, значительно изменить предсказанное значение алгоритма при условии сохранения связности текста.

Вопрос о интерпретируемости искусственного интеллекта уже давно является субъектом дискуссий среди политиков. В 2018 году Евросоюз принял новый закон о защите персональных данных - The European Union General Data Protection Regulation, статья 71 которого [7] гласит, что любой человек, являющийся субъектом работы алгоритма с его данными, имеет право на человеческое вмешательство, чтобы получить объяснение результата и оспорить его. А это означает, что людей, которые стоят за разработкой и внедрением моделей, будет еще больше беспокоить вопрос интерпретируемости и большое количество времени и средств будет потрачено, чтобы достигнуть необходимого баланса между качеством и интерпретируемостью.

1. Существующие решения

В последние несколько лет был предложено и опробовано большое количество различных методов для разрешения проблемы интерпретируемости сложных моделей. Авторы [8] взяли за основу прием основанный на распространении градиентов и улучшили его, устранив проблему с нулевыми градиентами в функциях активаций. Как показали авторы, для интерпретации модели необходим эталонный вход, из которого будут браться значения, а затем оцениваться их влияние на выход модели. В статье [9] авторы предложили новый метод LIME основанный на локальном интерпретации моделей с помощью более простых, обученных на “интерпретируемом входе”. Подход представленный в [10] эквивалентен подходу в [8], при условии, что эталонный вход равен нулю. [11] является улучшением метода [8] от тех же авторов. Авторы [12] взяли за основу подход из теории игр, основанный на векторе Шэпли [13], они предложили алгоритм, позволяющий аппроксимировать значения вектора не прибегая к сложным и длительным вычислениям. Авторы [14] обобщили несколько подходов, и предложили оптимизированное решение независимое от модели для решения задачи интерпретации.

Наилучшая интерпретация, которую можно получить для простой модели, это сама модель. Она идеально себя описывает и ее просто понять. Для сложных моделей, таких как ансамбли или глубокие нейросети, мы не можем использовать сами модели, потому что интерпретировать их сложно, зачастую невозможно. Вместо этого следует использовать упрощенную объясняющую модель. Определим эту модель как любую модель, которая аппроксимирует первоначальную модель и может быть легко проинтерпретирована. Семейство additive feature attribution методов, объединяет одна и та же объясняющая модель.

Пусть - изначальная предиктивная модель, которую необходимо интерпретировать и - объясняющая модель. Одна из особенностей, присущих данному семейству методов является их локальность. Это означает, что объясняющая модель описывает не важность каждой из фичей, а объясняет предсказанный выход основываясь на единственном входном примере x. Данная особенность была описана и введена в работе LIME[9]. Объясняющая модель зачастую использует упрощенный вход , который связан с первоначальными входными данными с помощью функции . Локальные методы стараются приблизить , если . Стоит обратить внимание на то, что может содержать меньше информации, чем x, тем не менее из-за того, что функция зависит от и строится соответственно.

Определение 1. Объясняющая модель additive feature attribution методов - линейная функция с бинарными переменными.

где , - число фичей в упрощенном входе .

Методы с объясняющей моделью определенной выше приписывают воздействие каждой фичи, а суммирование по каждому воздействию аппроксимирует выход изначальной модели. Опишем существующие методы и их связь с семейством additive feature attribution.

LIME

Рис. 1. Пример для иллюстрации идеи, стоящей за алгоритмом LIME. Сложная функция интерпретируемой модели, разделяющая два класса, представлена голубым/розовым фоном, который нельзя легко представить простой моделью. Большой красный крест - это интерпретируемый пример. LIME сэмплирует примеры для обучения простой модели, просчитывает выход интепретируемой модели и взвешивает его относительно интерпретируемого примера в зависимости от расстояния. Пунктирная линия является обученной на интерпретируемом входе моделью, чьи предсказания локально, но не глобально верны

Алгоритм LIME [9] интерпретирует каждое предсказание основываясь на локальной аппроксимации модели вокруг интерпретируемого примера. Локальная линейная объясняющая модель используемая в LIME ни что иное как модель (1), что означает что LIME входит в семейство additive feature attribution. Авторы LIME называют упрощенный вход интерпретируемым, а функция преобразует бинарный вектор интерпретируемого входа обратно в изначальное пространство. Для разных задач были предложены разные функции . Например, для текстовых фичей в формате мешка слов переводит вектор единиц и нулей в изначальное количество слов в тексте, если упрощенное значение соответствующей фичи равно единице, и в ноль, если упрощенное значение соответствующей фичи равно нулю.

Чтобы найти LIME минимизирует следующую целевую функцию:

Соответствие объясняющей модели изначальной модели обеспечивается функцией потерь над множеством примеров упрощенного входа, взвешенных локальным ядром , где накладывает штраф за сложность функции . Исходя из того, что соответствует (1), а - квадратичная функция потерь, выражение (2) можно решить, используя линейную регрессию с регуляризацией. Авторы оригинальной статьи используют регуляризацию.

DeepLIFT.

DeepLIFT был разработан и опубликован авторами сначала в статье[8], а затем улучшен и опубликован в [11]. DeepLIFT - рекурсивный алгоритм интерпретации для методов глубокого обучения. Каждому входному значению алгоритм ставит в соответствие значение , которое представляет собой эффект от случая, когда вместо оригинального входного значения будет подставлено его эталонное значение. Таким образом, в случае DeepLIFT, функция преобразует бинарные значения в изначальные: единицы в изначальные значения, нули в эталонные значения. Эталонное значение, которое выбирается пользователем, представляет собой неинформативное типичное значение свойственное конкретной фиче в данной задаче.

DeepLIFT основан на свойстве “дельта суммирования”:

где - выход модели, , - эталонный вход. Если мы обозначим и , то получим выражение (1), что позволяет сделать вывод, что DeepLIFT также принадлежит семейству additive feature attribution.

Layer-Wise Relevance Propagation.

Алгоритм Layer-Wise Relevance Propagation разработан для интерпретации нейронных сетей [10]. Как доказано авторами статьи [8] этот метод эквивалентен DeepLIFT в случае, когда эталонное значение каждой из активации в нейросети равно нулю. Поэтому, как и в случае DepLIFT, функция преобразует единицы в изначальные значения, а нули в нулевые. Регрессионные значения Шепли.

Регрессионные значения Шепли -- это еще один подход, который берет начала в теории игр и позволяет найти воздействие , который подробно был описан в [13]. Сами значения являются важностью фичей для линейных моделей в условии мультиколлинеарности. Мультиколлинеарность здесь означает частичную линейную зависимость фичей друг от друга. Чтобы найти эти значения необходимо перетренировать модель для каждого подмножества фичей , - множество всех фичей. Каждой фиче ставится значение значимости, которое означает вклад данной фичи в выход модели. Чтобы посчитать значимость необходимо обучить модель , - значения входного вектора фичей из множества . Так как эффект от извлечения фичи из модели зависит от других фичей, вышеупомянутая разница подсчитывается для всех подмножеств . Полученные значения Шепли, являются взвешенным средним всех возможных разниц и используются в качестве воздействия фичей .

Функция для значений Шепли отображает бинарный вектор на оригинальное входное пространство, где единица означает, что соответствующая фича входит в модель, а ноль означает противоположное. Пусть , тогда регрессионные значение Шепли будут соответствовать равенству (1), а значит также являются методом additive feature attribution.

Свойства additive feature attribution методов

Свойство 1. Локальная точность (Local accuracy)

Объясняющая модель равна изначальной , если , где - это выход модели в случае, когда все фичи вектора упрощенного входа исключены (равны 0). Данное свойство гарантирует, что в случае аппроксимации изначальной модели локальной объясняющей, ее качество будет по крайней мере равняться оригинальному.

Свойство 2. Missingness

нейросеть регрессионный шепли

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

Свойство 3. Consistency

Пусть и означает, что . Тогда для любых двух моделей и , если

для любого упрощенного входного вектора , тогда

Теорема 1. Существует единственная объясняющая модель, которая следует определению 1 и удовлетворяет трем свойствам 1,2,3.

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

Данная теорема следует из кооперативной теории игр, где значения представляют собой ни что иное как значения Шепли[15]. Янг[16] в свою очередь доказал, что значения Шепли являются единственным вектором, который удовлетворяет трем свойствам указанным выше. Из теоремы 1 можно сделать вывод, что описанные выше методы, не основанные на значениях Шепли нарушают свойство 1 или свойство 3.

SHapley Additive exPlanation values (SHAP values)

Рис. 2. SHAP значения присваиваемые каждой фиче определяются как изменение в ожидаемом значении выхода модели, при условии наблюдения некоторого значения данной фичи

SHAP объясняет как получить текущий выход f(x) исходя из базового значения E[f(z)], которое было бы предсказано, если о значении фичей неизвестно ничего. На рисунке показано одно из возможных упорядочиваний фичей. Когда модель нелинейна или входные фичи зависимы, порядок, в котором фичи подаются, важен, а SHAP значения получаются путем усреднения среди всех возможных упорядочиваний.

Авторы статьи [14] первыми обратили внимание на схожие свойства методов, объединили их как семейство additive feature attribution и предложили унифицированную меру для измерения важности фичей. SHAP значения - это значения Шэпли условного математического ожидания изначальной модели. Исходя из определения они являются решением равенства 8 при:

,

где - множество ненулевых индексов в .

Прямой просчет SHAP значений - очень сложная задача, поэтому в статье [14] был предложено несколько методов (как независимых от модели, так и специфичных для моделей) для аппроксимации SHAP значений, основанные на методах LIME и DeepLIFT. Получившие названия Kernel SHAP и DeepSHAP методы аппроксимации сходятся к значениям Шепли быстрее и стабильнее, чем методы описанные ранее в статье [12]. Тем не менее при оценке последовательностей фичей, SHAP методы не могут быть использованы, так как одна и та же фича может занимать разные места в последовательности. Описанная работа была проделана, чтобы справиться с этой сложностью.

2. Обучение с подкреплением для нахождения ключевых слов и коллокаций

Кроме методов семейства additive feature attribution были исследованы методы, основанные на обучении с подкреплением. Они основаны на обучении агента, который мог бы выдавать наиболее важные слова, обучившись перед этим на некотором корпусе текстов. Обучался агент с помощью подхода последовательного исключения фичей, описанного в [17]. Данный подход был имплементирован в работе [18].

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

Такой подход позволит определять какие слова важны для классификации, а какие лишь мешают ей.

Для обучения агента и создания среды обучения необходима функция награды. Введем следующую функция награды: агент получает награду 1, если предсказание целевой модели изменилось, и 0, если предсказание осталось прежним. Кроме того, чтобы мотивировать агента находить наименьший набор слов, будем уменьшать награду в раз, где - множество удаляемых слов. Таким образом удаление большего количества слов будет соответствовать меньшей награде и наоборот. Так образом награда примет вид:

Где - входной вектор слов, - предсказание модели для вектора . Помимо награды введем регуляризатор, который будет мотивировать агента удалять последовательности слов. Таким образом награда за обнаруженные коллокации или последовательности слов будет больше, чем за множество раздробленных слов. Регуляризатор примет вид:

Где - это параметр регуляризации, - индикатор вхождения слова в удаленные агентом. Иначе говоря, этот регуляризатор подсчитывает количество непрерывных последовательностей слов среди удалённых агентом. Финальная функция награды примет вид:

Для обучения агента был использован алгоритм Deep Q-Learning. Но перед тем как описать его необходимо упомянуть классический алгоритм Q-Learning. Главной его составляющей является матрица , а сам алгоритм описывается следующим образом:

1. Инициализировать матрицу нулями.

2. Выбрать начальное состояние среды

3. Для заданного количества эпизодов повторить:

Пока эпизод не завершен:

Выбрать случайным образом очередное действие.

Получить награду и новое состояние, выполнив это действие.

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

Обновить матрицу по формуле

- матрица столбцы которой являются действиями, а строки состояниями. Для каждой пары состояние-действие определяет награду. Значение определяет важность ожидаемой награды. Если ее значение близко к 0, значит агент больше опирается на награду, которая уже имеется к данному моменту времени. Если же близка к единице, то агент больше опирается на ожидаемую награду, которая может варьироваться. После того, как матрица заполнится, агент с помощью нее сможет определять какие действия ему надо совершить, чтобы получить наибольшую награду по следующему алгоритму:

Для текущего состояния найти действие с наибольшим значением

Сделать текущим состоянием состояние, соответствующее наибольшему

Повторить 1 и 2, пока эпизод не завершится

Mnih et al в статье [22] модифицировали этот подход с использованием глубокой нейронной сети для апроксимации матрицы . Формально это функция, которая возвращает максимальную ожидаемую награду любой стратегии, которые могут быть после принятия действия после наблюдения состояния .

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

А оптимальная функция примет вид

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

Где ожидаемая награда на прошлой итерации

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

Политика Больцмана же выбирает очередное действия среди всех возможных с вероятностью пропорциональной значению Q для этого действия.

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

По результатам работы [18] можно сделать следующие выводы:

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

· Реккурентные сети, которые сильно уверены в своем ответе (>99% шанс принадлежности к классу), крайне сложно заставить поменять решение. Важность слов в некоторых примерах сильно нормализована. Это означает, что все слова имеют примерно одинаковую очень маленькую важность. Агент в этих случаях не смог заставить сеть поменять решение за приемлемое количество шагов. Судя по работе Li et al это связано с использованием дропаута. В статье этих авторов рассматривались примеры без и с использованием дропаута. Важность слов в моделях, использующих дропаут, была более равномерно распределена между всеми словами, в том время как без дропаута встречались ярко выделяющиеся слова.

· Из-за выбора реккурентной архитектуры целевой модели наблюдается явная зависимость между важностью слова в тексте и его позицией. Так слова в конце текста явно вкладывают больший вес в ответ, будь он положительный или отрицательный.

3. Описание задачи

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

Для того чтобы решить эту проблему необходимо переработать подход к расчету важности фичей. Задачи, которые были поставлены:

· Анализ существующих методов и подходов, выбор наиболее подходящего для последовательных данных.

· Разработка и обучение нейронной сети для последующей интерпретации с ограничением на качество, сравнимое с линейной моделью.

· Разработка алгоритма интерпретации последовательного входа и суммаризации фичей.

· Сопоставление результатов с человеческим восприятием.

· Оценка алгоритма путем использования результатов для состязательных атак.

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

4. Алгоритм суммаризации SHAP для последовательности слов

Алгоритмы, основанные на SHAP значениях, работают, исходя из того, что каждая фича является отдельной характеристикой и не изменяется в течение времени, иными словами, пространство фичей для каждого примера составляют непосредственно фичи. В случае последовательностей слов это не правда. Каждая “фича” всего лишь означает позицию в последовательности и рассматривать ее как нечто обособленное от того, что находится на этой позиции нельзя. В случае задачи классификации текстов на позиции каждой фичи находятся слова или токены, которые могут быть представлены также знаками пунктуации и некоторыми другими символами. В качестве ограничения допустим, что каждый токен должен иметь за собой некоторую смысловую или лингвистическую нагрузку, что должно определяться исходя из контекста задачи. Для того, чтобы проинтерпретировать вход нейросети относительно слов или токенов, необходимо сгруппировать полученные SHAP значения для каждого слова, встречающегося в корпусе, который используется для интерпретации. Плюсами данного подхода являются:

· Простота интерпретации в случае качественного сравнения разных слов - можно легко понять, что одно слово является важнее другого или наоборот

· Соответствие интуитивным ожиданиям

· Возможность оценить относительно классов или полярности вклад слов

Минусами же будут являться:

· Сложность интерпретации в случае количественного сравнения разных слов - сложно понять, насколько одного слово важнее другого используя лишь полученные SHAP значения.

· Рекуррентные сети дают больший вес токенам, встречающимся позднее в последовательности, что вносит ошибку в расчеты

· Оценка для редких слов может быть ошибочно завышена

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

На вход алгоритм суммаризации получает массив SHAP значений размера , гдe - количество классов, - размер батча, - длина последовательности, а также входной батч, содержащий массив токенов размера . Ниже приведен псевдокод алгоритма:

Input: shap_values, input_batch

classes = list()

# считаем позиционные веса для деления shap значений

seq_widths = mean(abs(shap_values))

# считаем количество встреч каждого слова, чтобы усреднить shap значения

for sequence in input_batch:

word_counter.update(sequence)

interpretated_classes = []

# для каждого класса в отдельности считаем shap значения, делим на вес последовательности

for class_shap_values in shap_values:

for shap_array, sample in class_shap_values, input_batch:

for shap, token in shap_array, sample:

word_shap_accumulator[token] += abs(shap) / seq_widths[position(token)]

interpretated_classes.append(word_shap_accumulator)

return interpretated_classes

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

5. Результаты

Для проверки алгоритма были использованы рекуррентные нейронные сети и разреженные свёрточные нейронные сети, англоязычный корпус рецензий на продукты с ранжированными классами от единицы до пяти[19] и русскоязычный корпус с рецензиями на больничные учреждения с двумя классами тональности [20]. Для составления примеров состязательных атак были выбраны объекты одного класса, а затем, с помощью замены важных слов одного класса на другой, были изменено распределение уверенности сети в пользу противоположного класса.

Была проведена предобработка текста перед обучением: лемматизация с помощью библиотеки nltk, удаление стоп-слов и знаков препинания с помощью регулярных выражений. На вход нейросетям тексты подавались в формате мешка слов с последующим преобразованием в эмбеддинги. Эмбеддинги предобучались на англоязычной Википедии с помощью алгоритма fasttext, нейросети были имплементированы с помощью Keras. Архитектуры интерпретируемых сетей описаны ниже на рис.3. Сети обучались с помощью GPU через веб-сервис Google Colab. Точность (accuracy), которой удалось достичь на отложенной выборке составила 71% для реккурентной сети и 72% для сверточной сети. Результаты для русскоязычного корпуса можно найти в приложении. Модели для классификации текстов на английском языке обучалась на 311296 отзывах, тестовыми стали 76800 отзывов. Размер батча при обучении - 1024. Параметры оптимизатора Adam: для RNN - learning rate - 0.0003, decay - 0.001, clip norm - 1, для CNN - learning rate - 0.0003, decay - 0.0001. На плато значения функции потерь на валидационной выборке learning rate уменьшается на некоторое значение 0.2 для RNN и 0.01 для CNN.

Рис. 3. Архитектуры исследуемых нейросетей. Слева - реккурентная сеть, справа - сверточная сеть. Обе сети обучаются с помощью Adam с категориальной кросс-энтропией в качестве функции потерь.

Таблица 1. Оценки рекуррентной нейросети, полученные на тестовой выборке

Оценка отзывов

Precision

Recall

F1-score

1

0.58

0.69

0.63

2

0.34

0.11

0.17

3

0.34

0.20

0.25

4

0.45

0.17

0.25

5

0.78

0.95

0.86

Micro-avg

0.71

0.71

0.71

Таблица 2. Оценки сверточной нейросети, полученные на тестовой выборке

Оценка отзывов

Precision

Recall

F1-score

1

0.61

0.70

0.65

2

0.36

0.17

0.23

3

0.37

0.26

0.31

4

0.46

0.23

0.30

5

0.81

0.96

0.87

Micro-avg

0.73

0.73

0.73

Как видно из таблицы выше, из-за большой неравномерности среди отзывов, оценка precision на мало представленных отзывах мала, тем не менее ошибка достаточно мала для того, чтобы использовать полученные модели для исследования алгоритма суммаризации SHAP значений, особенно с учетом близких по ранжированию классов, как видно на рис. 4 и рис. 5.

Рис. 4. Матрица ошибок рекуррентной нейросети, худшими ошибками считаются наиболее удаленные от главной диагонали

Рис. 5. Матрица ошибок рекуррентной нейросети, худшими ошибками считаются наиболее удаленные от главной диагонали

На полученных моделях был обучен и применен алгоритм DeepSHAP, предназначенный для нейросетевых моделей. Полученные SHAP значения в соответствии с алгоритмом суммаризации были сгруппированы относительно вклада в каждый класс, а также полярности их вклада. Чтобы получить значимость фичей в привычном понимании, полярности были суммированы, а затем усреднены для каждого слова (рис. 6, 7). Как видно, полученные значения удобно использовать для оценки переобучения сети (судя по словам wonderful, baking сеть явно больше опирается на эти слова сильнее при различии классов 3 и 4 (рис. 6)) и для подтверждения некоторых гипотез (исходя из того, что классы являются оценками, мы должны наблюдать рост или падение SHAP значения для некоторых слов, например, disappointed, в соответствии с их сентиментальной окраской (рис. 6))). Сравнив же разные архитектуры нейросетей, можно сделать вывод, что более сложная рекуррентная архитектура, которая имеет более чем в 2 раза больше параметров, сильнее подвержена переобучению, что можно исправить, используя некоторые методы регуляризации, например, дропаут. Примеры полученных SHAP значений для русскоязычного корпуса можно найти в приложении.

Рис. 6. Пример полученных SHAP значений для некоторых слов для свёрточной сети

Рис. 7. Пример полученных SHAP значений для некоторых слов для рекуррентной сети

Таблица 3. 10 наиболее важных слов по мнению алгоритма для каждой модели на англоязычном корпусе. Рекуррентная сеть придает большие веса словам, хотя сами слова и пересекаются, это можно объяснить тем, что рекуррентная сеть более сложная архитектура и имеет больше параметров, что делает ее более уязвимой для переобучения

Сверточная

Рекуррентная

wonderful

83.482

not

272.44

baking

72.071

loved

263.06

not

67.334

movie

250.49

nasty

60.750

more

199.94

aftertaste

59.791

love

161.35

free

58.372

cheaper

157.26

good

50.469

better

131.20

deep

49.899

place

128.90

no

48.516

best

127.49

add

46.372

good

127.15

Схожие модели были обучены на корпусе русского языка, содержащем положительные и отрицательные отзывы об медицинских учреждениях. Отличие в архитектурах заключается лишь в облегченной их версии. Глубина свёрточных слоев уменьшена в четыре раза, последний свёрточный слой исключен. Размер полносвязного слоя уменьшен в два раза. Вместо softmax функции активации последнего слоя для пяти классов используется сигмойда.

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

Оригинальный текст:

«red vine taste plastic never before never buy again disgusting not taste very good texture terrible thought eating plastic threw whole lot out» - предсказана оценка 1 с уверенностью 0.98

Измененный текст:

«red vine taste plastic never before never buy again delicious not taste very good texture delicious thought eating plastic threw whole lot out»- предсказана оценка 5 с уверенностью 0.53

Рис. 8. Пример для англоязычного корпуса, свёрточная сеть. Большинство слов делают вклад в сторону оценки 1, ключевыми словами являются terrible и disgusting. В примере выше они заменены на слово delicious, что склоняет нейросеть в сторону оценки 5

Рис. 9. После замены слов важность слов перераспределилась для класса 1, некоторые слова получили больший вес из-за изменившегося контекста, тем самым уменьшив уверенность сети в оценке 1

Оригинальный текст:

«огромный спасибо сейчас неделя наблюдаться метр поскольку роды понятный дело очень страшно множество переживание голов после встать учет пмц познакомиться персонал атмосфера центр теперь спокойный рожать там пожелать удача» - предсказана положительная оценка с уверенностью 0.83

Измененный текст:

«огромный деньга сейчас неделя наблюдаться метр поскольку роды понятный дело очень страшно множество переживание голов после встать учет пмц познакомиться персонал атмосфера центр теперь спокойный рожать там пожелать нечего»- предсказана отрицательная оценка с уверенностью 0.37

Рис. 10. Пример для русскоязычного корпуса, рекуррентная нейросеть. Присутствуют положительные слова, наибольший вклад делает слово спасибо. Необходимо заменить его на подходящее слово, например «нечего»

Рис. 11. После замены слова «спасибо» выход нейросети сместился в пользу отрицательного класса. «Нечего» стало вносить наибольший вклад

Заключение

В ходе работы был проведен разбор анализ методов для интерпретации входа моделей. Был выбран наилучший на данный момент подход, заключающийся в аппроксимации значений Шэпли, который в свою очередь назван SHAP. Были натренированы несколько нейросетей с последующим применением алгоритма SHAP на них. Полученный SHAP значения были суммаризированы в соответствии с новым алгоритмом, который учитывает информацию о последовательности и подсчитывает SHAP значения для каждого из слов в тестовом корпусе. Данные значения показали себя как хороший оценки важности фичей, и могут быть использованы для интерпретации моделей, анализа их качества работы. Для подтверждения этого заключения были разработаны примеры состязательных атак, основанные на полученных словах, которые показывали возможность и силу изменения предсказываемого класса нейросети. Следующими шагами в исследовании смежных задач могут быть работы по разработке взвешенного алгоритма суммаризации с использованием других характеристик вроде TF-IDF, работы по получению примеров состязательных атак для текстов, изменяющих решения нейросети, но незаметных человеку при сохранении смысла текста.

Список литературы

1. Zliobaite I. A survey on measuring indirect discrimination in machine learning. CoRR abs/1511.00148 (2015) //arxiv. org/abs/1511.00148. - 2015.

2. Bolukbasi T. et al. Man is to computer programmer as woman is to homemaker? debiasing word embeddings //Advances in neural information processing systems. - 2016. - С. 4349-4357.

3. Kay M., Matuszek C., Munson S. A. Unequal representation and gender stereotypes in image search results for occupations //Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. - ACM, 2015. - С. 3819-3828.

4. Goodfellow I. J., Shlens J., Szegedy C. Explaining and harnessing adversarial examples //arXiv preprint arXiv:1412.6572. - 2014.

5. Thys S., Van Ranst W., Goedemй T. Fooling automated surveillance cameras: adversarial patches to attack person detection //arXiv preprint arXiv:1904.08653. - 2019.

6. Alzantot M. et al. Generating natural language adversarial examples //arXiv preprint arXiv:1804.07998. - 2018.

7. https://www.privacy-regulation.eu/en/r71.htm, The European Union General Data Protection Regulation, Recital 71.

8. Shrikumar A. et al. Not just a black box: Learning important features through propagating activation differences //arXiv preprint arXiv:1605.01713. - 2016.

9. Ribeiro M. T., Singh S., Guestrin C. Why should i trust you?: Explaining the predictions of any classifier //Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. - ACM, 2016. - С. 1135-1144.

10. Bach S. et al. On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation //PloS one. - 2015. - Т. 10. - №. 7. - С. e0130140.

11. Shrikumar A., Greenside P., Kundaje A. Learning important features through propagating activation differences //Proceedings of the 34th International Conference on Machine Learning-Volume 70. - JMLR. org, 2017. - С. 3145-3153.

12. Љtrumbelj E., Kononenko I. Explaining prediction models and individual predictions with feature contributions //Knowledge and information systems. - 2014. - Т. 41. - №. 3. - С. 647-665.

13. Lipovetsky S., Conklin M. Analysis of regression in game theory approach //Applied Stochastic Models in Business and Industry. - 2001. - Т. 17. - №. 4. - С. 319-330.

14. Lundberg S. M., Lee S. I. A unified approach to interpreting model predictions //Advances in Neural Information Processing Systems. - 2017. - С. 4765-4774.

15. Shapley L. S. A value for n-person games //Contributions to the Theory of Games. - 1953. - Т. 2. - №. 28. - С. 307-317.

16. Young H. P. Monotonic solutions of cooperative games //International Journal of Game Theory. - 1985. - Т. 14. - №. 2. - С. 65-72.

17. Li J., Monroe W., Jurafsky D. Understanding neural networks through representation erasure //arXiv preprint arXiv:1612.08220. - 2016.

18. Бровкин Е. С. Обучение с подкреплением для поиска значимых коллокаций, влияющих на решения нейронной сети // Курсовая работа - 2016.

19. Amazon Fnie Food Reviews // https://www.kaggle.com/snap/amazon-fine-food-reviews

20. Отзывы про различные мед. заведения с сайта spr.ru // goo.gl/5sgsvs

Приложение

Таблица 4. Оценки качества свёрточной нейросети для тестовой выборки русскоязычного корпуса

Отзыв

Precision

Recall

F1-score

Отрицательный

0.90

0.91

0.90

Положительный

0.94

0.92

0.93

Micro-avg

0.92

0.92

0.92

Отзыв

Precision

Recall

F1-score

Отрицательный

0.93

0.88

0.90

Положительный

0.92

0.95

0.93

Micro-avg

0.92

0.92

0.92

Рис. 12. Матрица ошибок свёрточной нейросети

Рис. 13. Матрица ошибок рекуррентной нейросети

Рис. 14. Пример полученных SHAP значений для некоторых слов для свёрточной сети

Рис. 15. Пример полученных SHAP значений для некоторых слов для рекуррентной сети. Некоторые слова имеют нулевой положительный или отрицательный вес, в отличие от свёрточной нейросети

Таблица 6. 10 наиболее важных слов по мнению алгоритма для каждой модели на русскоязычном корпусе

Сверточная сеть

Рекуррентная сеть

врач

6.922

спасибо

450.633

очень

5.14

благодарность

220.39

спасибо

3.419

хороший

168.826

хотеть

2.735

очень

158.74

клиника

2.667

довольный

65.059

год

2.655

понравиться

63.934

человек

2.393

отличный

55.937

ребенок

2.314

внимательный

52.658

сказать

2.242

хорошо

49.62

большой

2.062

замечательный

49.343

Рекуррентная сеть придает значительно большие веса словам нежели свёрточная сеть. Сами слова пересекаются в меньшей степени, нежели на англоязычном корпусе. Это можно объяснить тем, что рекуррентная сеть использовавшаяся на рускоязычном корпусе была той же архитектуры, что и на английском, а свёрточная была сильно облегчена и упрощена. Более сложная архитектура рекуррентной сети делает ее более уязвимой для переобучения

Оригинальный текст:

«ham base goodness not purchase product vendor listed went website ordered individual one really make homemade ham bean soup base give soup extra something flavor needed great northern bean navy bean work kind bean prefer measure out 2 cup sort out bad bean rock soak over night next day throw out old water put bean crock pot high enough ham base broth follow direction jar cover 1 above bean add cut carrot potato celery onion not those veggie leave out add nice meaty ham hock meat softer warned part pig cook until 1 hour before done take out leg shred meat bone remove fat place back pot use plain ham bit think take hr cook bean nice soft veggie taste good first day make even better leftover bean breakdown thicken even more flavor meld very best thing recipe want soup thinner add more water ham base broth soup thicker start amount suggested make soup winter stick bone goodness used help flavor green bean» - предсказана оценка 5 с уверенностью 0.79

Измененный текст:

«ham base goodness not purchase product vendor listed went website ordered individual one really make homemade ham bean soup base give soup extra something flavor needed great northern bean navy bean work kind bean prefer measure out 2 cup sort out bad bean rock soak over night next day throw out old water put bean crock pot high enough ham base broth follow direction jar cover 1 above bean add cut carrot potato celery onion not those veggie leave out add nice meaty pork hip meat softer warned part pig bake until 1 hour before done take out leg cut meat bone remove fat place back pot use plain pork bit think take hr raw bean poor soft green taste decent first day make even better leftover bean breakdown thicken even more flavor meld very bad thing recipe want soup thinner add more water pork base broth soup thicker start amount suggested make soup winter stick bone somewhat used help flavor green bean» - предсказана оценка 3 с уверенностью 0.35

Рис. 16. Пример для англоязычного корпуса, рекуррентная нейросеть. На рисунке указаны вклады слов для оценки 3

Рис. 17. Пример для англоязычного корпуса, рекуррентная нейросеть. На рисунке указаны вклады слов для оценки 3 после изменения некоторых ключевых слов

Оригинальный текст:

«не советовать рожать здесь прошлый 2 мес родить ужасный роддом думать не писать никакой отзыв хотеться предупредить мамочка выбирать роддом рожать не советовать сожаление рожать бесплатно омс родовой сертификат родственник врач уверять нет никакой разница платно бесплатно роды принимать врач сейчас очень строго проверять роддом чушь самый дело бесплатный роды лотерея зря послушать врачебный дорого обходиться рожать раз принять скора очень невнимательно врач петр под нос впечатление никакой зато дать подписать бумага после роды лежать коридор без претензия получиться про анестезия забыть вспомнить поздно обвинить не напомнить время роды смениться 5 акушерка рожать никто не помогать лежалый бросить работа зависеть очень многий много неприятный прийтись пережить жизнь думать ребенок малышок халатность безразличие делать вакуум проклинать персонал очень безответственный хамоватый любить деньга ряд привезти женщина рожать контракт не обращать никакой внимание просто проходить мимо отвечать «что хотеть просить соседка позвать персонал выходить коридор узнавать звать просто игнорировать спохватиться поздно не знать делать ждать заведовать куча идиот просто молиться про реально очень страшно называться специализировать роддом ничто специализировать не близко даже про анестезия забыть можно дом диван рожать делать грубо медсестра какой капельница кровь вена ставить не уметь очень больно синяк локоть потом не сгибаться даже хотеть потом пожаловаться заведовать врач будто уборщица делать процедура ребенок послеродовой тоже ничто не помогать состояние мама после роды также никто не интересовать главный быстрый выписать получить бабка сертификат скептически относиться положительный отзыв роддом особенно роды бесплатный рожать вместе рассказывать много негативный теперь читать отрицательный отзыв верить большой хвалить условие относиться спокойно стандартный условие иначе должный никакой не плюс роды сейчас нужно выбирать роддом подойти вопрос серьезный не тупой направление специализировать роддом даже противно вспоминать заманивать исследование заключение ухо точно повторно не выбрать роддом даже платно бог имя судья деньга первое место»

Измененный текст:

«не советовать рожать здесь прошлый 2 мес родить ужасный роддом думать не писать никакой отзыв хотеться предупредить мамочка выбирать роддом рожать не советовать сожаление рожать бесплатно омс родовой сертификат родственник врач уверять нет никакой разница платно бесплатно роды принимать врач сейчас очень строго проверять роддом чушь самый дело бесплатный роды лотерея зря послушать врачебный дорого обходиться рожать раз принять скора очень невнимательно врач петр под нос впечатление никакой зато дать подписать бумага после роды лежать коридор без претензия получиться про анестезия забыть вспомнить поздно обвинить не напомнить время роды смениться 5 акушерка рожать никто не помогать лежалый бросить работа зависеть очень многий много неприятный прийтись пережить жизнь думать ребенок малышок халатность безразличие делать вакуум проклинать персонал очень безответственный хамоватый любить деньга ряд привезти женщина рожать контракт не обращать никакой внимание просто проходить мимо отвечать «что хотеть просить соседка позвать персонал выходить коридор узнавать звать просто игнорировать спохватиться поздно не знать делать ждать заведовать куча идиот просто молиться про реально очень страшно называться специализировать роддом ничто специализировать не близко даже про анестезия забыть можно дом диван рожать делать грубо медсестра какой капельница кровь вена ставить не уметь очень больно синяк локоть потом не сгибаться даже хотеть потом пожаловаться заведовать врач будто уборщица делать процедура ребенок послеродовой тоже ничто не помогать состояние мама после роды также никто не интересовать главный быстрый выписать получить бабка сертификат скептически относиться положительный отзыв роддом особенно роды бесплатный рожать вместе рассказывать много негативный теперь читать отрицательный отзыв верить большой хвалить условие относиться спокойно стандартный условие иначе должный большой не плюс роды сейчас нужно выбирать роддом подойти вопрос серьезный не тупой направление специализировать роддом даже противно вспоминать заманивать исследование заключение ухо точно повторно не выбрать роддом даже платно бог имя судья деньга первое место»

Рис. 18. Пример для русскоязычного корпуса, рекуррентная нейросеть

Рис. 19. На данном примере можно увидеть, что рекуррентная нейросеть переобучилась. Изменение всего одного лова повлекло за собой значительное изменение результата, а также значимость слов в тексте

Размещено на Allbest.ru


Подобные документы

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.

    дипломная работа [955,3 K], добавлен 06.11.2011

  • Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.

    курсовая работа [1,5 M], добавлен 15.10.2012

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

    презентация [582,1 K], добавлен 25.06.2013

  • Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.

    курсовая работа [377,4 K], добавлен 26.02.2015

  • Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.

    презентация [150,8 K], добавлен 19.08.2013

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

    реферат [158,2 K], добавлен 16.03.2011

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

    реферат [347,6 K], добавлен 17.12.2011

  • Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

    дипломная работа [4,6 M], добавлен 22.09.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.