Какая ошибка может внезапно ухудшить качество машинного обучения в NetHack на 40%?

Какая ошибка может внезапно ухудшить качество машинного обучения в NetHack на 40%?


Какая ошибка может внезапно ухудшить качество машинного обучения в NetHack на 40%?

Как наблюдатель, глубоко понимающий особенности и сложности технологий, я нахожу историю об «ошибке NetHack Lunar Learning Bug» чрезвычайно увлекательной. Это прекрасный пример того, как даже самые хорошо спроектированные системы могут выйти из строя из-за непредвиденных обстоятельств, в данном случае из-за полнолуния.


Уважаемые члены Суда Легендарных Компьютерных Глюков, уважаемые гости, прошу вашего внимания. Я смиренно представляю на ваше взыскательное рассмотрение нового кандидата. Независимо от того, считаете ли вы это инновационным или нет, или даже называете его «глюком», уверяю вас, это доставит удовольствие.

Среди классических рогаликов NetHack выделяется своей непреклонной приверженностью основным элементам жанра. Содержимое игры генерируется процедурно, что гарантирует уникальные впечатления от каждой игры. Более того, в NetHack смерть постоянна и неумолима — как только ваш персонаж погибнет, пути назад уже не будет. Единственное, что переносится из одной игры в другую, — это ваши накопленные навыки и знания. Хотя пуристы рогаликов все еще могут спорить по поводу более тонких определений, нельзя отрицать приверженность NetHack сложному и захватывающему духу жанра.

NetHack отлично подходит для машинного обучения…

Being a difficult game full of consequential choices and random challenges, as well as a «single-agent» game that can be generated and played at lightning speed on modern computers, NetHack is great for those working in machine learning—or imitation learning, actually, as detailed in Jens Tuyls’ paper on how compute scaling affects single-agent game learning. Using Tuyls’ model of expert NetHack behavior, Bartłomiej Cupiał and Maciej Wołczyk trained a neural network to play and improve itself using reinforcement learning.

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

Купял и Волчик экспериментировали с различными решениями: они перевернули свой код, восстановили всю настройку программного обеспечения из резервной копии Singularity и понизили версию своих библиотек CUDA. Результат остался неизменным: результат 3000 баллов. Начали заново, но результат остался неизменным.

Какая ошибка может внезапно ухудшить качество машинного обучения в NetHack на 40%?

… за исключением определенных ночей

Согласно сообщению Купял X (ранее Twitter), этот инцидент включал несколько часов бесплодных экспериментов с его стороны и со стороны Волчика. Купял выразил растущее разочарование, заявив: «Я начинаю чувствовать себя сумасшедшим. Я даже не могу наслаждаться телешоу, не беспокоясь об этой ошибке». В момент отчаяния он обратился к создателю модели Тейлсу за возможными решениями. Прорыв произошел, когда Купял был в Кракове, где получил долгожданный ответ.

«О да, наверное, сегодня полнолуние».

В NetHack, игре, известной своей тщательной разработкой, если ваши системные часы покажут, что сейчас ночь полнолуния, вы получите сообщение: «Вам повезло! Сегодня ночь полнолуния». Преимущества полнолуния для игроков включают увеличение их показателя Удачи на одно очко, а существа-оборотни в основном остаются в своей животной форме.

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

В NetHack термин «счет» на самом деле не означает успеха, поскольку, как отметил Купял, требование к модели максимизировать свой счет приведет к чрезмерному сосредоточению внимания на победе над монстрами низкого уровня из-за их бесконечной доступности. Более того, выполнение таких задач, как поиск предметов, необходимых для вознесения, или выполнение квестов, представляет собой проблему даже для агента чистого обучения с подкреплением (RL). Другая нейронная сеть, AutoAscend, работает лучше при прохождении игры, но ее возможности все еще ограничены: она способна только решать головоломки, такие как Сокобан, и доходить до конца шахты.

Это ошибка?

Я предлагаю, чтобы, хотя NetHack вел себя так, как предполагалось, во время полнолуния, этот своеобразный и сложный сбой на нашем пути машинного обучения следует признать ценной ошибкой в ​​​​великой схеме вещей. Это не гарвардский мотылек и не электронное письмо длиной в 500 миль, а что?

Поскольку они полагались на Singularity для резервного копирования и восстановления данных, команда невольно передавала информацию о проблеме машины и связанной с ней ошибке во время каждой попытки ее решить. Неустойчивое поведение машины, на которое, казалось, повлияли скрытые факторы, привело одного программиста в полное недоумение и разочарование. Более того, это повествование имеет классическую структуру: оно начинается со вступления, развивается до кульминации и завершается уроком или откровением.

Я считаю, что ошибка NetHack Lunar Learning вполне заслуживает увековечения памяти. Спасибо за ваше время.

Смотрите также

2024-06-04 22:56