Учет результатов и выбор оптимальных параметров¶
Учет результатов и выбор оптимальных параметров¶
После завершения обучения модели важно проанализировать результаты, чтобы убедиться в ее корректной работе.
Содержание инструкции:
Метрики обучения¶
Особое внимание следует уделить метрикам обучения t_loss (общая ошибка) и i_acc (точность определения намерений). Они помогают понять, насколько хорошо модель справляется с задачами распознавания намерений и управления диалогами.
Если t_loss существенно больше 1.5 и/или i_acc существенно меньше единицы, возможно, стоит увеличить число эпох (epochs) обучения в конвейере. Конвейер настраивается в конфигурационном файле. Подробнее в инструкции Сборочная линия NLU по умолчанию.
Если это не помогает, необходимо проанализировать примеры в намерениях на предмет их излишней схожести и провести анализ результатов тестирования проекта.
Политики¶
Приоритеты политик¶
Политики — это правила и алгоритмы, которые определяют, как бот принимает решения в диалогах. Эти политики используются для управления поведением бота, например, для управления контекстом диалога, для обработки ситуаций, когда бот не уверен в намерении пользователя.
Политики настраиваются в конфигурационном файле. Подробнее в инструкции Политики по умолчанию.
Приоритет политик определяется для разрешения ситуаций, когда несколько политик предлагают действия с одинаковой уверенностью.
Каждая политика имеет внутренний приоритет, который используется для разрешения конфликтов. Если две или более политики предлагают действия с одинаковой уверенностью, выбирается действие от политики с более высоким приоритетом.
Не рекомендуется иметь более одной политики для каждого уровня приоритета в конфигурации. Если у вас есть две политики с одинаковым приоритетом и они прогнозируют с одинаковой уверенностью, выбранное действие будет выбрано случайным образом.
Список стандартных политик и их приоритетов (чем выше число, тем выше приоритет):
- RulePolicy – приоритет 6.
- MemoizationPolicy или AugmentedMemoizationPolicy – приоритет 3.
- UnexpecTEDIntentPolicy – приоритет 2.
- TEDPolicy – приоритет 1.
Если вы добавляете свою политику, используйте эти приоритеты в качестве руководства для определения приоритета вашей политики. Если ваша политика является политикой машинного обучения, она, скорее всего, должна иметь приоритет 1, такой же, как и TEDPolicy.
Рекомендации по настройке политик¶
Для точной настройки модели можно изменить следующие параметры политик:
- Эпохи (epochs): Количество проходов по обучающим данным. Один равен одному проходу вперед и одному проходу назад во всех обучающих примерах. Иногда модели требуется больше эпох для правильного обучения. Иногда большее количество эпох не влияет на производительность. Чем меньше количество эпох, тем быстрее обучается модель.
- Максимальная история (max_history): Этот параметр определяет, сколько истории диалогов просматривает модель перед тем, как сделать вывод. Значение по умолчанию для этой политики означает, что учитывается полная история диалогов с момента перезапуска сеанса. Если вы хотите ограничить модель просмотром только определенного количества предыдущих поворотов диалога, вы можете установить конечное значение. Обратите внимание, что вы должны тщательно выбирать, чтобы у модели было достаточно предыдущих поворотов диалога для создания правильного прогноза.
- Размер пакета (batch size): Количество обучающих примеров, обрабатываемых за один шаг. Нельзя пропустить через нейронную сеть разом весь датасет. Поэтому делим данные на пакеты, сеты или партии, так же, как большая статья делится на много разделов — введение, градиентный спуск, эпохи, Batch size и итерации. Такое разбиение позволяет легче прочитать и понять статью.