Дидактические цели
Как автономный космический корабль «видит» окружающий мир и как он учится уклоняться от опасности без явно запрограммированных правил? Этот лаб для старших классов рассматривает обучение с учителем с противоположной стороны по сравнению с лабом «Нейронные сети»: вместо того чтобы вручную задавать веса, ученик проектирует восприятие агента, а затем обучает его игрой. За 7 коротких залов путь проходит от вопроса «какая информация нужна агенту?» до наблюдения за нейронной сетью, которая самостоятельно управляет кораблём благодаря примерам, которые собрал сам ученик.
Чему учит лаб
- Ставится проблема восприятия: кораблю, который собирает звёзды и уклоняется от бомб, нужно превратить окружение в числа.
- Ученик проектирует направленные датчики: пространство вокруг корабля делится на угловые секторы, каждый из которых несёт значение близости к ближайшему объекту.
- Обнаруживается необходимость сжатия информации: сырое расстояние (до ~672 возможных значений) квантуется до небольшой шкалы (например, уровни 0–5) с помощью функции сжатия (логарифмической или линейной).
- Исследуются компромиссы проектирования: больше датчиков и уровней дают больше точности, но также резко увеличивают число примеров, нужных для обучения — ученик настраивает оба параметра и наблюдает за изменением расчётного времени обучения.
- Понимается цикл обучения с учителем через подражание: каждое действие (ученика или эвристики) порождает пару (входы датчиков → выбранное направление), которая накапливается как обучающий пример.
- Наблюдается периодическое переобучение: через определённое число накопленных примеров сеть заново подстраивает веса, используя все доступные данные.
- Сравнивается обучение игрой с обучением через автоматического учителя: простая эвристика (искать звёзды, избегать бомб) может заменить ученика как источник примеров, показывая, что важно не то, кто учит, а качество и количество примеров.
Ключевые математические идеи
- Восприятие как вектор: непрерывное окружение корабля переводится в фиксированный вектор чисел (по одному на датчик) — входное представление сети.
- Квантование сводит непрерывный диапазон значений к небольшому числу дискретных уровней; выбор функции сжатия (линейной или логарифмической) определяет, какой диапазон расстояний различается лучше.
- Размер входного пространства растёт с числом датчиков и уровней на датчик, что напрямую влияет на то, сколько примеров нужно для его разумного покрытия.
- Обучение через подражание — это случай обучения с учителем: примеры (вход, желаемый выход) не вычисляются аналитически, а собираются от агента (человека или эвристики), уже решающего задачу достаточно хорошо.
- Качество обучающих данных, а не только архитектура сети, определяет итоговое поведение: посредственный учитель обучает посредственную сеть, и наоборот.
Содержание по залам
Зал 1 · Как корабль видит мир?
Показана статичная сцена с кораблём, звёздами и бомбами. Ученик размышляет, как корабль может воспринимать окружение, и выбирает вариант: камера, датчики расстояния, GPS или ручное управление. Правильный ответ — датчики расстояния — подтверждается объяснением, почему это представление компактно и подходит для нейронной сети.
Задания для ученика
- Рассмотреть сцену и подумать, какая информация нужна кораблю.
- Выбрать способ восприятия, наиболее подходящий для нейронной сети.
Зал 2 · Направленные датчики
Ученик перетаскивает корабль по интерактивному полю и в реальном времени видит, как цветные секторы (жёлтые для звёзд, красные для бомб) меняют интенсивность в зависимости от близости объекта в этом угловом секторе. Вопрос с выбором ответа закрепляет понятие.
Задания для ученика
- Перетащить корабль и понаблюдать, как меняются секторы при приближении к звёздам и бомбам.
- Ответить, что представляет интенсивность каждого сектора датчика.
Зал 3 · Шкала расстояний
График с двумя кривыми (логарифмической и линейной) и ползунок расстояния позволяют сравнить, как каждая функция переводит пиксели в уровень 0–5. Ученик выбирает, какая функция лучше подходит для датчиков корабля.
Задания для ученика
- Подвигать ползунок и сравнить уровни, которые дают линейная и логарифмическая шкалы.
- Выбрать, какая функция сжатия лучше, и объяснить почему.
Зал 4 · Настрой свои датчики
Ползунок уровней (2–640) и селектор числа датчиков (4, 6, 8, 12) в реальном времени показывают возможные комбинации и оценочное минимальное время игры. Выбор сохраняется и переносится в игру зала 6.
Задания для ученика
- Исследовать, как уровни и число датчиков влияют на время обучения.
- Выбрать окончательное число датчиков и подтвердить выбор.
Зал 5 · Как учится сеть
Анимированная схема нейронной сети (входы → скрытый слой → выход) и четыре текстовых шага объясняют цикл: датчики → вычисление → движение игрока → обучающий пример → переобучение каждые 100 примеров.
Задания для ученика
- Прочитать четыре шага цикла обучения.
- Определить, что является входом, а что выходом сети.
Зал 6 · Обучи свою сеть!
Полная игра с тремя фазами: Обучение (ученик играет и учит сеть), Наблюдение (мышь управляет позицией, а корабль показывает, куда пошла бы сеть), Игра (сеть управляет самостоятельно). Число датчиков берётся из зала 4.
Задания для ученика
- Играть в режиме Обучения, пока не накопится достаточно примеров, собирая звёзды.
- Переключиться в режим Наблюдения и проверить, что сеть указывает на звёзды.
- Включить режим Игры и посмотреть, правильно ли сеть управляет кораблём.
Зал 7 · Эвристика как учитель
В предыдущем зале примеры генерировал ученик, играя; здесь его заменяет простая эвристика (искать ближайшую звезду, избегать бомб), которая играет сама, собирает данные и обучает сеть без участия человека. Ученик нажимает «Начать» и наблюдает, как качество «учителя» — а не то, кто он, — определяет качество обучения.
Задания для ученика
- Нажать «Начать» и понаблюдать, как эвристика играет и обучает сеть самостоятельно.
- Сравнить результат с ручным обучением из зала 6 и обсудить, что определяет качество обученной сети.
Залы для показа
Самые наглядные для показа и обсуждения в классе.