Общие мысли: Хорошо написанный, воспроизводимый, строгий анализ по сравнению с сильными исходными данными.
Справочная информация
Нейронные сети обычно являются хорошим выбором для задач классификации текста в НЛП. Они, как правило, работают очень хорошо, однако они медленно обучаются, так как их полезность на больших наборах данных ограничена. Линейные классификаторы могут очень хорошо справиться с проблемами классификации текста, если выбраны правильные функции. Однако эти классификаторы ограничены, потому что линейные классификаторы (например, SVM) не разделяют параметры между функциями. Когда выходное пространство велико, это не позволяет классификаторам использовать информацию из других параметров и хорошо обобщать. Работа, которая сочетает в себе два подхода, нейронные сети, которые быстро обучаются на больших наборах данных с использованием линейных связей, еще не исследована.
Конкретные вопросы
- Можем ли мы создать нейронную сеть, которая быстро обучается на больших наборах данных, но при этом обеспечивает надежные базовые показатели, сопоставимые с современными результатами?
Модель
Модель, fastText. Набор признаков x состоит из N грамм в предложении. Преимущество использования ngrams заключается в том, что вы фиксируете информацию о локальном порядке слов.
Например, набор слов представляет собой ngram с N = 1 и полностью игнорирует порядок. В ngram с N = 2 будут учитываться слова, которые находятся рядом друг с другом. Более высокие значения N требуют больших вычислительных затрат, но содержат больший объем информации о порядке.
Нграммы похожи на вложения слов, но нграммы ›1?
что такое скрытая переменная?
У каждой ngram одно и то же векторное пространство?
Как вы вычисляете векторы ngram?
Берут ли они вектор для каждой нграммы в предложении, суммируют их все и делят на общее количество нграмм?
Чем они инициализируют векторы ngram?
Распространяется ли ошибка обратно на ngram?
Отрицательное логарифмическое правдоподобие минимизируется с помощью следующей функции
Если Xn - это набор функций, почему он умножается на A (таблица поиска по словам)?
Выходные данные проходят через иерархический классификатор softmax, чтобы улучшить время выполнения модели. Типичный классификатор softmax имеет сложность O (kh), где k - количество классов, а h - размеры текстового представления. Это имеет смысл, если учесть, что матрица, необходимая для сопоставления текстового представления с классификатором, имеет размер k * h. Иерархический softmax позволяет снизить эту сложность до O (h * log2 (k))
Эксперименты
Эксперимент 1: анализ настроений
Авторы следуют протоколу оценки Zhang et al. (2015). Они оцениваются по 8 наборам данных и включают четыре других архитектуры, также протестированных с этими наборами данных.
Мне нравится, как здесь проводят сравнения. Авторы используют кучу разных наборов данных и сообщают о (недавних!) Результатах экспериментов других авторов с теми же наборами данных. Это значительно облегчает читателю понимание выводов авторов.
Результаты показывают, что fastText конкурентоспособен, превосходит char-CNN, char-CRNN и не так хорош, как VDCNN.
Почему они использовали ngram 2 выше, но ngram 5 в наборе данных рисунка 3?
Сравнение с другими документами на разных наборах данных подтверждает их выводы о том, что результаты конкурентоспособны по производительности и гораздо более эффективны в вычислительном отношении.
Диаграммы из 5 используются для достижения результатов, представленных ниже.
Авторы утверждают, что разница в 1% между их моделью и Tang et al. (Таблица 3) из-за того, что они не использовали предварительно обученные вложения слов. Им следует использовать предварительно обученные вложения слов и сравнивать, прежде чем они сделают это утверждение.
Я согласен с авторами, что эти результаты ясно показывают, что производительность fastText сопоставима.
Сравнение скоростей обучения показывает, что fastText обучается значительно быстрее, чем другие модели.
Эксперимент 2: прогнозирование тегов
Авторы использовали 100 млн изображений с заголовками, подписями и тегами. Они обучили свою модель, используя заголовки и подписи для предсказания тегов. Они также выпустили сценарий, который собирает данные, которые они использовали, чтобы вы могли воспроизвести их результаты.
Ура, воспроизводимые результаты! Огромная победа. Я также согласен с авторами в том, что это сравнение показывает огромное снижение вычислительных затрат для их модели.
Авторы сравнивают с другой моделью для прогнозирования тегов, называемой tagspace, и показывают значительное повышение точности при использовании биграмм и гораздо более высокую производительность.
Почему бы не использовать больше N = 2 нограмм для повышения точности?
Используются ли для этого типа классификации другие модели помимо пространства тегов? Является ли tagspace современным?
Дополнительный вопрос
Что такое увеличение данных в контексте классификации текста? «Для char-CNN мы показываем лучшие результаты без увеличения данных».
Почему функции word2vec не могут использоваться вместе для создания представлений предложений? «В отличие от неконтролируемых векторов слов из word2vec, наши характеристики слов могут быть усреднены вместе, чтобы сформировать хорошие представления предложений»
Почему линейные классификаторы не разделяют функции между классами? «Однако линейные классификаторы не разделяют параметры между функциями и классами».
Что они подразумевают под «разложить линейный классификатор на матрицы низкого ранга»
Это будет что-то вроде PCA, который берет матрицы более высоких рангов и аппроксимирует их в пространствах более низкой размерности.
Слова, которых я не знаю
- Эффективное представление слов - построение векторного представления слов с низкими вычислительными затратами.
- ограничение ранга - использование матриц низкой размерности для аппроксимации пространств более высокой размерности.
- приближение быстрых потерь - ??
- Иерархический softmax - эффективный классификатор softmax, который работает намного лучше, чем обычный softmax
- Сверточная модель уровня символов - одно горячее кодирование каждого символа, объединение кодировок для формирования матрицы и использование этой матрицы в качестве входных данных для сверточных слоев