Вопрос или проблема
Этот учебник по машинному обучению от Google анализирует набор данных отзывов с imdb, чтобы предсказать положительный или отрицательный тег. При выборе модели
- Рассчитайте соотношение количества образцов/количество слов на образец.
- Если это соотношение меньше 1500, токенизируйте текст как n-граммы и используйте простую многослойную перцептронную модель (MLP) для их классификации.
- Если соотношение больше 1500, токенизируйте текст как последовательности и используйте модель sepCNN для их классификации (правая ветвь в блок-схеме ниже):
Назовем это соотношение “Количество образцов/Слов на образец” как “S/W”:
Позже учебник говорит:
Когда соотношение S/W мало, мы обнаружили, что модели n-грамм работают лучше, чем модели последовательностей.
Я пытаюсь придумать интуитивное объяснение почему это верно. В учебнике говорится:
Модели последовательностей лучше работают, когда существует большое количество небольших, плотных векторов. Это потому, что отношения вложений изучаются в плотном пространстве, и это происходит лучше всего при большом количестве образцов.
Теперь важно сказать, что при принятии решения на основе “S/W”, учебник Google не только пытался максимизировать точность, но и…
… оптимизировать лучшую точность, которая могла бы быть достигнута за минимальное возможное время вычислений
Таким образом, я помню о важном “балансе между высокой точностью и низким временем вычислений”, пытаясь понять:
- почему при малом S/W следует использовать модель n-грамм
- и при большом S/W следует использовать модель последовательностей
В частности, я пытаюсь понять в отношении числителя и знаменателя, например…
- при фиксированном W (слов на образец), больший числитель S (количество образцов), увеличит соотношение S/W, и, следовательно, подтолкнет нас к модели последовательностей
- при фиксированном S (количество образцов), меньший знаменатель W (слов на образец), также увеличит соотношение S/W, и, следовательно, подтолкнет нас к модели последовательностей
Обратите внимание, я не спрашиваю, почему MLP, SGB, SVM не могут работать с “векторами последовательностей” — для этого уже есть хороший вопрос, но я спрашиваю, почему вы бы выбрали подход n-граммовый vs последовательный подход на основе этого соотношения.
Я думаю, что учебник ответил на мой вопрос, и я привел ответ, мне просто нужно хорошенько это понять:
Модели последовательностей лучше работают, когда существует большое количество небольших, плотных векторов. Это потому, что отношения вложений изучаются в плотном пространстве, и это происходит лучше всего при большом количестве образцов.
Подход n-граммов также называется подходом “мешка слов” и не передает модели ничего о порядке слов.
С векторным представлением n-грамм мы отбрасываем много информации о порядке слов и грамматике (в лучшем случае мы можем сохранить некоторую частичную информацию о порядке, когда n > 1). Это называется подходом мешка слов.
Также подход модели последовательностей использует нейронную сеть; нейронная сеть содержит скрытый слой, который будет изучать “вложения” (сходство слов)
Модели последовательностей часто имеют такой слой вложений в качестве первого слоя
Так почему же большое соотношение S/W подталкивает нас к подходу модели последовательностей?
Как правило, я думаю, что нейронные сети работают лучше с большим объемом данных; поэтому чем больше числитель (количество образцов), тем лучше мы можем сделать с нейронной сетью (конкретно рекомендуется RNN для модели последовательностей в отличие от MLP, рекомендуемой для модели n-граммов/мешка слов)
И как объяснил учебник, чем более “плотные” образцы (т.е. меньший числитель (количество слов на образец)), тем лучше шанс, что нейронная сеть сможет “понять сходство слов” (вложения).
Интуитивно я предполагаю, что это имеет смысл для моего наивного человеческого разума; эти “плотные” предложения помогают мне лучше учить ассоциации слов…
['Ascend to go up',
'Descend to go down']
Но, возможно, я должен рассмотреть и другие вещи,
- например, тип документа/письма (примеры, которые я привел выше, очень целенаправленные и “инструктивные” по тону)
- или размер словаря
И, возможно, больше всего, ответ “почему” — это просто потому, что “они тестировали разные подходы, основанные на соотношении” (своего рода гипер-гипер настройка!),
иными словами, они провели массу тестов, нашли, что соотношение является значимым “параметром набора данных”, который в конечном итоге проходит “порог” в компромиссе между точностью модели и временем выполнения.
Мы провели большое количество (~450K) экспериментов по различным типам задач (особенно анализу настроений и проблемам классификации тем), используя 12 наборов данных, поочередно для каждого набора данных, меняя методы предварительной обработки данных и архитектуры моделей. Это помогло нам определить параметры набора данных, которые влияют на оптимальный выбор.
Ответ или решение
Выбор между последовательной моделью и n-граммной моделью зависит от соотношения количества образцов к количеству слов на образец (S/W), и понимание этой зависимости важно для оптимизации как точности, так и времени вычислений.
Последовательные модели и n-граммные модели: Основные различия
-
n-граммная модель:
- Описание. n-граммная модель представляет текст через n-граммы, то есть последовательности из n слов, что, в свою очередь, является подмножеством подхода «мешка слов». Такой метод нивелирует порядок слов, что может быть недостатком, но одновременно снижает сложность модели.
- Преимущества. Идеально подходит для небольших наборов данных (низкое S/W), где информация о порядке слов менее значима или её можно учесть с помощью небольшого количества контекстных фрагментов.
-
Последовательная модель:
- Описание. Эмбеддинги слов и последовательные нейронные сети (например, sepCNN, RNN) используются для сохранения информации о порядке и синтаксических отношениях. Такие модели требуют большего количества данных для эффективного обучения.
- Преимущества. Хорошо работают на больших наборах данных (высокое S/W), где необходимо учитывать сложные взаимодействия между словами и извлекать смыслы из порядка слов.
Понимание зависимости от S/W
-
Низкий S/W (<1500):
- Меньше выборок или больше слов в каждом. Здесь n-граммный подход предпочтителен, поскольку он более прост и быстрый, не требуя учета сложных структурных взаимодействий, которые сложно извлечь при небольшом количестве образцов.
-
Высокий S/W (>1500):
- Больше выборок или меньше слов на выборку. Последовательные модели здесь предпочтительны, поскольку они способны извлекать тонкие языковые закономерности и смыслы, используя эмбеддинги для обучения на большом количестве данных. Это позволяет лучше «понять» текст путем обучения связям между словами в плотном пространстве эмбеддингов.
Почему выбор важен для бизнеса
Компании, работающие с машинным обучением, ищут баланс между точностью и оперативной эффективностью. Понимание, когда использовать n-граммную модель, а когда – последовательную, напрямую влияет на этот баланс. Это, в свою очередь, позволяет бизнеса сосредоточить ресурсы и время на более значимых аспектах, увеличивая их конкурентные преимущества.
Таким образом, выбор модели на основе S/W может значительно повлиять на конечный результат анализа тональности и других задач обработки текста, что является ещё одной причиной, по которой Google провел множество экспериментов для достижения оптимальных параметров.