Как мы создали цикл обратной связи для оптимизации обучения

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

В первой реализации In-Course Help все учащиеся на данном этапе данного курса - например, завершившие лекцию 9 курса A или не прошедшие тест 3 курса B - получили одно и то же сообщение. Это позволило нам вмешиваться способами, которые были в среднем полезными, и сдвинуло стрелку на прогресс и удержание курса.

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

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

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

Используя эти функции, модель предсказывает, насколько вероятно, что конкретный учащийся найдет определенный тип всплывающего сообщения, полезного в определенный момент своего обучения. Если он предсказывает, что сообщение окажет достаточно положительное влияние, он запускает сообщение; в противном случае он задерживает сообщение. Веса модели и ее прогнозы обновляются каждую ночь, пока наша команда по анализу данных спит - большое улучшение по сравнению с базовым уровнем сложных и длительных вложенных A / B-тестов, когда команда вручную корректирует вмешательства на основе наблюдаемых результатов. Система обратной связи также естественным образом расширяется, чтобы позволить нам выбирать среди нескольких версий сообщения, которые могут быть отправлены в один и тот же момент одному и тому же учащемуся, вызывая только ту версию, которая, согласно прогнозам, будет иметь наиболее положительный результат для учащегося.

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

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

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

  1. Алан мог быть выбран случайным образом (сегодня с вероятностью 10%) для получения сообщения несмотря ни на что; это гарантирует, что у нас будет достаточно объективных данных, чтобы модель продолжала учиться и совершенствоваться каждую ночь.
  2. Алан может быть выбран случайным образом (сегодня с вероятностью 90%) для потенциального получения сообщения, но Алан - новый ученик и почти не взаимодействует с нашими сообщениями. Поскольку у нас недостаточно данных о нем, чтобы сделать надежный прогноз, мы отправляем ему сообщение для сбора данных.
  3. Алан может быть выбран случайным образом (с той же вероятностью 90%) для потенциального получения сообщения, и взаимодействовал с достаточным количеством сообщений ALICE, чтобы модель могла сделать надежный прогноз. Затем, на основе данных из профиля ученика Алана и его предыдущих взаимодействий со справочными сообщениями в курсе, модель выводит три вероятности: а) вероятность того, что Алан нажмет «Да, это было полезно»; б) вероятность того, что Алан нажмет: «Нет, это не помогло»; в) вероятность того, что Алан не взаимодействует с сообщением.

Мы отправляем сообщение тогда и только тогда, когда а) достаточно превышает б) и в). Сегодня цикл обратной связи задерживает около 30% сообщений и увеличивает соотношение полезных и бесполезных отчетов на 43%.

Так что же дальше?

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

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

Заинтересованы в применении науки о данных в образовании? Coursera нанимает!