Как компьютер видит и кодирует рисунок

Человек сразу видит цельный образ кота, самолёта или яблока. Компьютер получает лишь массив чисел. В докладе нужно объяснить разницу между двумя способами оцифровки рисунка.

  • Растровое изображение представляет собой сетку из пикселей, где чёрным линиям соответствуют единицы, а белому фону нули.
  • Векторная последовательность штрихов фиксирует порядок движения пальца или мыши по экрану с записью координат X и Y во времени.
  • Игра Quick, Draw! использует именно векторный путь, поэтому нейросеть считывает направление линий и скорость рисования каждого штриха.

Датасет Google и тренировка алгоритма

Нейросеть не способна угадать предмет без предварительного обучения на огромном массиве примеров. В 2016 году Google запустил проект, собравший более 50 миллионов рисунков от людей со всего мира по 345 категориям.

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

Выделение признаков и внутренние слои сети

Объясни слушателям работу свёрточных и рекуррентных слоёв простыми словами через понятие ключевых признаков. Нейросеть распознаёт объект по уровням сложности.

  1. Первые слои улавливают простые геометрические элементы вроде прямых линий, дуг, углов и замкнутых контуров.
  2. Промежуточные слои объединяют линии в составные части, например треугольные уши, круглые колёса или ручку чашки.
  3. Финальный слой сопоставляет найденную комбинацию деталей с готовыми классами и выдаёт процент вероятности для каждого предмета.

Культурные особенности и ограничения системы

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

Если человек начинает рисовать предмет редким или слишком сложным способом, нейросеть путается. В проект полезно включить пару скриншотов из открытой базы датасета Google с необычными набросками.

Что преподаватель оценит при защите

Учитель информатики будет смотреть на точность применения терминов и наглядность твоего объяснения. Плюсом станут следующие вещи.

  • Грамотное объяснение понятий обучающая выборка, веса, распознавание образов и вектор.
  • Наличие в презентации реальных примеров того, как рисунок раскладывается на координаты штрихов.
  • Понимание того, почему алгоритм ошибается при нестандартном порядке линий.
  • Демонстрация скриншотов из официального открытого архива Quick Draw Dataset.

Где искать точные данные и примеры

Тебе понадобятся первоисточники разработчиков проекта, а не пересказы из случайных блогов. Используй следующие ресурсы.

  • Официальная страница игры Quick, Draw! для проведения живого эксперимента прямо во время подготовки.
  • Открытый репозиторий Google Creative Lab на GitHub и сайт Quick Draw Dataset, где выложены миллионы набросков по категориям.
  • Научно-популярная статья исследователей Google Дэвида Ха и Дугласа Экка под названием A Neural Representation of Sketch Drawings о модели sketch-rnn.
  • Учебные видеоролики по базовым принципам машинного обучения для школьников на платформах Сириус.Курсы или Яндекс Учебник.

Частые вопросы

Нужно ли уметь программировать для подготовки этого доклада?

Умение писать код не требуется. Главная цель доклада для 5-9 классов заключается в объяснении принципа работы алгоритма, а данные о координатах линий доступны в браузере в готовом визуальном виде.

Стоит ли показывать игру вживую на уроке?

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