Привет! Этот пост является первым из серии, в которой будет задокументировано мое продвижение по программе CSE 481n, которую преподавал профессор Йеджин Чой из Вашингтонского университета.
Мой github для этого проекта можно найти по адресу: https://github.com/haldenl/nlpcapstone
Что я надеюсь исследовать
В течение следующих 10 недель я намерен изучить пересечение V isualization (Vis) и обработки естественного языка (NLP). Я особенно рад изучить возможности использования Vis для увеличения интерпретируемости нейронных сетей (NN). Я провел прошлый год, работая с Висом (через классы и исследования), и очень рад, что я могу использовать полученные знания для решения проблем в НЛП. Я намерен применить в этом проекте исследовательский подход.
Соответствующие работы (краткий и неполный список)
- Визуализация и понимание рекуррентных нейронных сетей, Karpathy et al. (2015)
- Визуализация и понимание нейронных сетей в НЛП, Ли и др. (2016) »
- Строительные блоки интерпретируемости, Olah et al. (2017)
- Понимание нейронных сетей через стирание представлений, Ли и др. (2017) »
- Визуализация внимания и уверенности в нейронном машинном переводе, Риктерс и др. (2017) »
Направления для исследования
Вариант 1: Внимание
Визуализация и понимание внимания с акцентом на его роли в резюмировании текста.
На данный момент это моя самая реализованная идея, поэтому я потрачу здесь больше времени, объясняя свои мысли.
Справочная информация:
Визуализация внимания часто используется для понимания и последующего улучшения решений, принимаемых нейронными сетями. Насколько мне известно, наиболее распространенный способ визуализации внимания в моделях seq2seq - это двухмерная тепловая карта, на которой можно увидеть внимание, которое каждый блок декодирования уделяет каждому входному токену.
Есть несколько проблем с этим форматом: (1) трудно уместить слова (как показано выше) на оси x, что ухудшает читаемость; (2) это плохо масштабируется при большом вводе или выводе (например, резюмировании); и (3) мы не читаем отдельные токены за раз (то есть по оси Y), и ввод и вывод, как правило, тоже не в этом формате.
В целом этот формат, хотя и прост, не поддается интерпретации. Когнитивная нагрузка зрителя ниже оптимальной.
Альтернативы можно найти в литературе, например в следующей из Rikters et al. (2017).
Однако это также страдает аналогичными проблемами интерпретируемости и масштабируемости. Более того, толщину линий как схему кодирования нелегко сравнивать между словами.
Предлагаемое исследование:
Возможно, взаимодействие можно использовать для создания более проницательной и интерпретируемой системы визуализации для понимания внимания. Например, текстовые тепловые карты уже широко используются для визуализации анализа настроений.
В статическом контексте использование этого метода для привлечения внимания потребует повторения одной и той же входной последовательности для каждого слова в выходной последовательности. Однако, используя взаимодействие, создатель модели может прокрасить одно или несколько слов в выходной последовательности, чтобы просмотреть соответствующее мягкое выравнивание во входной последовательности. В дополнение к этому представлению могут быть показаны агрегированные визуализации (либо агрегаты по определенной последовательности ввода / вывода, либо агрегаты по всем последовательностям ввода / вывода).
Базовый уровень: пользовательский интерфейс для интерактивной визуализации внимания к моделям seq2seq (например, моделям резюмирования текста). Изучение того, как этот метод визуализации можно использовать для улучшения существующих моделей или понимания различий между моделями. Это, конечно, потребует построения модели для получения данных.
Охват: интеграция в существующую платформу, например в PyTorch для просмотра в TensorBoard.
Вариант 2: Ячейки нейронной сети
Визуализация и понимание роли клеток в нейронной сети. В частности, значение каждой ячейки в модели.
Справочная информация:
Хотя, если этот путь станет предпочтительным, потребуются дополнительные исследования соответствующей работы, Kaparthy et al. (2015) представляют работу, которая служит основой этой идеи. Они показывают, что роль клеток в нейронной сети можно интерпретировать, просматривая их активацию в каждой точке данного прохода. Например, они нашли в своей модели ячейку, которая сработала в конце строки (вверху слева).
Предлагаемое исследование:
Возможно, более глубокое исследование активации ячеек нейронной сети могло бы привести к пониманию визуализаций, которые могут помочь интерпретируемости нейронных сетей.
Базовый уровень: создайте программу или пользовательский интерфейс, который генерирует визуализацию (интерактивную или статическую) активации каждой ячейки в нейронной сети. Используйте эту информацию для определения значений каждой ячейки и построения дальнейших визуализаций, необходимых для исследования. Это потребовало бы построения модели для получения наблюдений.
Охват. Это немного нечетко, так как неясно, сколько исследований потребуется для получения результатов. Возможно, как в Варианте 1, интеграция любого созданного инструмента в существующую структуру.
Вариант 3: ворота и поток значений в моделях RNN.
Визуализация и понимание потока ценностей через ворота в рекуррентной нейронной сети (RNN). В частности, возможность интерпретации ворот и «памяти» ячеек.
Справочная информация:
Моя мотивация для этой идеи во многом анекдотична. Я вспоминаю, что во время учебы в бакалавриате по НЛП мне было сложно осмыслить концепции «ворот» и «памяти» в моделях RNN (например, GRU, LSTM). У нас есть эти гигантские сети с «памятью» переменной длины, определяемой шлюзами, которые хорошо преобразуются в результате этого механизма, но как именно этот механизм используется и на каких токенах в каких точках? Kaparthy et al. (2015) представляют способ визуализации «памяти» ячеек в модели LSTM посредством построения графиков ячеек и времени, проведенного справа или слева насыщенными (правые насыщенные ячейки запоминают значения в течение более длительных периодов времени).
Графы потоков данных уже разработаны для нейронных сетей (например, Wongsuphasawat et al. (2017)). Специфическая модель RNN с акцентом на интерпретируемость ворот может быть полезна для сообщества НЛП.
Предлагаемое исследование:
Возможно, создание визуализаций сети ячеек с использованием информации, подобной приведенной выше, может привести к улучшению интерпретируемости и улучшению модели.
Базовый план: Создайте программу или пользовательский интерфейс для создания визуализации, как описано выше, небольших моделей RNN. Используйте это, чтобы получить представление о поведении модели (например, сравнить модели), а оттуда исследовать дальше.
Охват: поддержка крупномасштабных сетей. Интеграция в существующие фреймворки.
Процитированные работы
- Карпаты, Андрей, Джастин Джонсон и Ли Фей-Фей. «Визуализация и понимание повторяющихся сетей. Препринт arXiv arXiv: 1506.02078 (2015). »
- Ли, Цзивэй, и другие.« Визуализация и понимание нейронных моделей в НЛП . Препринт arXiv arXiv: 1506.01066 (2015). »
- Ли, Цзивэй, Уилл Монро и Дэн Джурафски. «Понимание нейронных сетей через стирание представлений. препринт arXiv arXiv: 1612.08220 (2016). »
- Риктерс, Матис, Марк Фишель и Ондржей Бояр. «Визуализация внимания и уверенности в нейронном машинном переводе. Пражский вестник математической лингвистики 109.1 (2017): 39–50 ».
- К. Вонгсупхасават и др.., «Визуализация графиков потоков данных моделей глубокого обучения в TensorFlow, в Транзакции IEEE по визуализации и компьютерной графике, том. 24, вып. 1. С. 1–12, январь 2018 г. »
- Линь, Чжухан, и др.,« Структурированное вложение предложений с вниманием к себе . препринт arXiv arXiv: 1703.03130 (2017). »