Многомерное исчисление, дифференциальные уравнения, линейная алгебра — темы, с которыми многие студенты Массачусетского технологического института могут справиться, не вспотев, — постоянно ставили модели машинного обучения в тупик. Лучшие модели смогли ответить только на математические вопросы начального или старшего школьного возраста, и они не всегда находят правильные решения.
Теперь междисциплинарная группа исследователей из Массачусетского технологического института и других стран под руководством Иддо Дрори, преподавателя кафедры электротехники и информатики Массачусетского технологического института (EECS), использовала модель нейронной сети для решения математических задач университетского уровня за несколько секунд. на человеческом уровне.
Модель также автоматически объясняет решения и быстро генерирует новые задачи по университетским математическим дисциплинам. Когда исследователи показали эти сгенерированные машиной вопросы студентам университетов , те не смогли сказать, были ли вопросы сгенерированы алгоритмом или человеком.
Эта работа может быть использована для оптимизации создания контента для курсов, что может быть особенно полезно для крупных домашних курсов и массовых открытых онлайн-курсов (МООК), в которых участвуют тысячи студентов. Систему также можно использовать в качестве автоматизированного репетитора, который показывает учащимся этапы решения математических задач бакалавриата.
«Мы думаем, что это улучшит качество высшего образования», — говорит Дрори, ведущий автор работы, который также является адъюнкт-профессором факультета компьютерных наук Колумбийского университета и этим летом перейдет на факультет Бостонского университета. «Это поможет учащимся совершенствоваться, а учителям — создавать новый контент, а также может повысить уровень сложности некоторых курсов. Это также позволит нам построить график вопросов и курсов, что поможет нам понять взаимосвязь между курсами. и их предпосылки, не только путем их исторического рассмотрения, но и на основании данных».
Работа представляет собой совместную работу студентов, исследователей и преподавателей Массачусетского технологического института, Колумбийского университета, Гарвардского университета и Университета Ватерлоо. Старший автор — Гилберт Странг, профессор математики Массачусетского технологического института. Исследование появилось на этой неделе в Proceedings of the National Academy of Sciences .
Момент «эврики»
Дрори, его ученики и коллеги работали над этим проектом почти два года. Они обнаружили, что модели, предварительно обученные с использованием только текста, не могут достичь точности выше 8% в математических задачах средней школы, а модели, использующие графовые нейронные сети, могут справиться с вопросами курса машинного обучения, но на обучение уйдет неделя.
Затем у Дрори наступил момент, который он описывает как «озарение»: он решил попробовать взять вопросы из математических курсов бакалавриата, предлагаемых Массачусетским технологическим институтом, и один из Колумбийского университета, которые модель никогда раньше не видела, превратить их в задачи по программированию и применить методы. известный как программный синтез и обучение за несколько выстрелов. Превратить вопрос в задачу программирования можно так же просто, как переписать вопрос «найти расстояние между двумя точками» как «написать программу, которая находит разницу между двумя точками», или предоставить несколько пар вопрос-программа в качестве примеров.
Однако перед тем, как передать эти задачи программирования нейронной сети , исследователи добавили новый шаг, который позволил ей значительно превзойти их предыдущие попытки.
В прошлом они и другие, кто занимался этой проблемой, использовали нейронную сеть , такую как GPT-3, которая была предварительно обучена только тексту, то есть ей были показаны миллионы примеров текста для изучения шаблонов естественного языка. На этот раз они использовали нейронную сеть, предварительно обученную на тексте, которая также была «тонко настроена» на коде. Эта сеть под названием Codex была создана OpenAI. Тонкая настройка — это, по сути, еще один этап предварительной подготовки, который может повысить производительность модели машинного обучения.
Предобученной модели были показаны миллионы примеров кода из онлайн-репозиториев. Поскольку обучающие данные этой модели включали миллионы слов естественного языка, а также миллионы строк кода, она изучает отношения между фрагментами текста и фрагментами кода.
Многие математические задачи можно решить с помощью вычислительного графа или дерева, но трудно преобразовать задачу, написанную в виде текста, в такой тип представления, объясняет Дрори. Однако, поскольку эта модель изучила отношения между текстом и кодом, она может преобразовать текстовый вопрос в код, учитывая всего несколько примеров кода вопроса, а затем запустить код для ответа на проблему.
«Когда вы просто задаете вопрос в тексте, модели машинного обучения трудно найти ответ, даже если ответ может быть в тексте», — говорит он. «Эта работа заполняет недостающую часть использования кода и синтеза программ».
Эта работа является первой, в которой решаются математические задачи для студентов, и она перемещает иглу с 8-процентной точностью до более чем 80 процентов, добавляет Дрори.
Добавление контекста
По словам Дрори, превратить математические вопросы в задачи по программированию не всегда просто. Некоторые проблемы требуют от исследователей добавления контекста, чтобы нейронная сеть могла правильно обработать вопрос. Студент улавливает этот контекст во время прохождения курса, но у нейронной сети нет этих фоновых знаний, если только исследователи не укажут это.
Например, им может потребоваться уточнить, что «сеть» в тексте вопроса относится к « нейронным сетям », а не к «сетям связи». Или им может потребоваться сообщить модели, какой программный пакет использовать. Им также может потребоваться предоставить определенные определения; в вопросе о покерных комбинациях им может потребоваться сообщить модели, что каждая колода содержит 52 карты.
Они автоматически передают эти задачи программирования с включенным контекстом и примерами в предварительно обученную и точно настроенную нейронную сеть, которая выводит программу, которая обычно дает правильный ответ. Это было верно для более чем 80 процентов вопросов.
Исследователи также использовали свою модель для генерации вопросов, задав нейронной сети серию математических задач по теме, а затем попросив ее создать новую.
«В некоторых темах это нас удивило. Например, были вопросы о квантовом обнаружении горизонтальных и вертикальных линий, и это породило новые вопросы о квантовом обнаружении диагональных линий. Так что это не просто генерация новых вопросов путем замены значений и переменных в существующих вопросах», — говорит Дрори.
Вопросы, созданные человеком, и вопросы, созданные машиной
Исследователи проверили сгенерированные машиной вопросы, показав их студентам университетов. Исследователи дали студентам по 10 вопросов из каждого курса математики в случайном порядке; пять были созданы людьми и пять машинами.
Студенты не могли сказать, были ли вопросы, сгенерированные машиной, созданы алгоритмом или человеком, и они ставили вопросам, сгенерированным человеком, и вопросам, сгенерированным машиной, одинаковые оценки за уровень сложности и соответствие курсу.
Дрори быстро указывает, что эта работа не предназначена для замены профессоров-людей.
«Автоматизация сейчас на 80 процентов, но автоматизация никогда не будет на 100 процентов точной. Каждый раз, когда вы что-то решаете, кто-то задает более сложный вопрос. Но эта работа открывает поле для людей, чтобы начать решать все более и более сложные вопросы с помощью машинного обучения. « Мы думаем, что это окажет большое влияние на высшее образование », — говорит он.
Команда воодушевлена успехом своего подхода и расширила работу, чтобы обрабатывать математические доказательства, но есть некоторые ограничения, которые они планируют устранить. В настоящее время модель не может отвечать на вопросы с визуальным компонентом и не может решать проблемы, которые трудно решить с помощью вычислений из-за вычислительной сложности.
Помимо преодоления этих препятствий, они работают над масштабированием модели до сотен курсов. С этими сотнями курсов они будут генерировать больше данных, которые могут улучшить автоматизацию и предоставить информацию о дизайне курсов и учебных программах.
Теги: ИИ, обучение, суперкомпьютер