В 5-1 ИИ смотрел на движения человечка-палочки и распознавал «выброс мусора». Теперь всё наоборот. Можно ли, дав слово «бросок», заставить человечка-палочку создать новое движение броска? Движение — это таблица из 1196 чисел. Если усреднить два движения, руки складываются, а если бросать кубик для каждого числа, тело дрожит. Сравнивая четыре генератора по оценочному листу Эксперта, мы выясним, каким должно быть «правдоподобное новое движение».
Нарушителя поймали. Но у штаба остался второй вопрос: можно ли с помощью тех же чисел, что служили для распознавания, теперь создавать движения?
Те же три блока, отличается только направление стрелки. Переключайтесь между двумя направлениями.
Обычно говорят, что дискриминативная модель учит «вероятность правильного ответа при данном входе», а генеративная — «вероятность того, как выглядят сами данные» [R1]. Зная форму данных, можно выбирать новые данные, следуя этой форме. Современный генеративный ИИ (GAN [R2], VAE [R3], диффузионные модели [R5]) решает одну и ту же задачу «выучить форму и выбрать новую точку» разными способами.
Мы развернули сцену с человечком-палочкой из 5-1 в таблицу. Именно эти 1196 клеток и должна заполнить генеративная модель. Наведите курсор на клетку.
Клетки таблицы не независимы. «Правый локоть» и «правое запястье» в одном кадре всегда находятся на расстоянии 0.16 (длина кости), а значения в двух соседних кадрах почти одинаковы (движение непрерывно). Дискриминативная модель может ответить, и не зная этих связей, но генеративная модель, нарушив их, сразу выдаёт себя. В следующем разделе мы сами их сломаем.
Самый простой способ «создать новое движение» — смешать два имеющихся. Попробуйте менять то, что именно смешивается. Полоски внизу показывают, насколько десять костей в текущем кадре отклонились от исходной длины (чем длиннее полоска, тем сильнее искажение; больше 5% — красным).
Если смешать бросок + махание рукой усреднением координат, ошибка длины костей в среднем 11.4%, а в худший момент — 99.9%. В тот момент запястья находились в противоположных сторонах, и средняя точка почти совпала с плечом — предплечье исчезло. Для пары «положить + пройти мимо» — 1.9% (худшее 25.7%), для «бросок + поднять» — 1.4% (худшее 20.4%). При усреднении углов у всех трёх пар 0.0%. «Среднее» одно и то же, но результат решает то, среднее чего мы берём.
Генеративная модель учит не одну сцену, а то, как разбросаны сцены. Мы разложили 100 бросков, в которых, как и в 5-1, менялись скорость, положение и размер. Нажмите точку слева, чтобы выбрать сцену.
Из 100 бросков создаём шесть новых. Эксперт смотрит на пять вещей: правдоподобно ли (длина костей, дрожание, сила броска), разнообразно ли, не скопировано ли. Меняйте генератор и нажимайте «Создать заново».
Экран выше заново генерирует по шесть штук в браузере, поэтому числа немного отличаются. Таблица ниже — результат реального запуска Кода 2 (100 обучающих бросков, 20 сгенерированных). «Новизна» — расстояние до ближайшей обучающей сцены (в единицах роста, среднеквадратичное по координатам).
| Генератор | Ошибка длины костей | Дрожание | Макс. скорость запястья | Разнообразие | Новизна | Отзыв Эксперта в одну строку |
|---|---|---|---|---|---|---|
| Обучающие данные (для справки) | 4.7% | 0.0288 | 2.55 | 0.126 | 0.000 | Из-за дрожания оценки позы даже у реальных данных длина костей колеблется на 4.7% |
| A Одно среднее | 1.7% | 0.0045 | 1.36 | 0.000 | 0.033 | Плавно, но всегда одинаково, и сила упала вдвое |
| B Кубик для каждой координаты | 44.2% | 0.2659 | 10.00 | 0.149 | 0.109 | Разнообразно, но это не человек. Запястье телепортируется |
| C Выбрать одну и скопировать | 4.7% | 0.0300 | 2.75 | 0.125 | 0.000 | Правдоподобно, но скопировано |
| D Выбор 3 ручек | 0.0% | 0.0125 | 2.71 | 0.123 | 0.022 | Все пять критериев пройдены. Правда, ручки были известны заранее |
Эксперт в этой части только ставит оценки, когда всё уже создано. Настоящие генеративные модели сразу используют оценку для обучения. Они либо подправляют веса так, чтобы уменьшить функцию потерь — одно число, показывающее, насколько результат отличается от обучающих данных (VAE [R3]), либо назначают Экспертом дискриминатор, отличающий настоящее от поддельного, и заставляют его соревноваться с генератором (GAN [R2]). Получается, что дискриминативная модель из 5-1 возвращается в 5-2 в роли Эксперта.
D победил потому, что выбирал не из 1196 чисел, а из 3 чисел (скорость, положение, размер). Как бы ни менять эти 3 числа, через скелет (fk) они разворачиваются в человеческую фигуру.
Оба кода используют только библиотеки, установленные в Colab по умолчанию. Нажмите «Скачать ноутбук (.ipynb)» и откройте его в Colab через Файл → Загрузить блокнот или скопируйте код и вставьте в ячейку нового ноутбука.
К функции сцен из 5-1 добавлены проверка длины костей (bone_error) и смешивание (blend). Три пары смешиваются усреднением координат и усреднением углов, и сравниваются ошибки длины костей. Чтобы подставить свои данные, передайте в blend вместо двух сцен реальные координаты движений (то, что тогда доступно только усреднение координат, и есть проблема этой части).
Из 100 бросков строятся генераторы A–D, каждый выдаёт по 20 движений, которые оцениваются. Оценочный лист под разделом 6 получен прямо из этого вывода. Чтобы испытать новый генератор, передайте в judge("имя", список результатов) список сцен формы (46, 13, 2).
Эти промпты нужно вставлять в ИИ-помощники вроде ChatGPT, Qwen или Claude. При нажатии «Копировать» после промпта добавляется выбранный код. Замените текст в 〔 〕 на свою ситуацию.
Ответ ИИ — лишь отправная точка. Предложенные статьи, числа и библиотечные функции обязательно проверяйте по первоисточникам и официальной документации. Если используете данные о движениях реальных людей, сначала убедитесь в наличии согласия на съёмку и в условиях использования датасета (в том числе допустимо ли коммерческое использование).
Это тот же словарь, что и у терминов с жёлтым пунктирным подчёркиванием в тексте. Нажмите на название раздела, чтобы перейти туда, где термин встретился впервые.
Аналогия — первый шаг к пониманию, но и семя заблуждения. У аналогий с человеческим восприятием указана сила соответствия. Прямая — есть данные, что это действительно делает то же самое · Частичная — похожи лишь некоторые свойства · Нет — соответствие неизвестно
| Понятие | Бытовая аналогия | Аналогия с восприятием человека | Где аналогия не работает |
|---|---|---|---|
| Дискриминация против генерации | Проверка экзамена (верен ли ответ) и составление экзамена (придумать правдоподобную новую задачу) | Частично У людей узнавать лица и рисовать их — разные способности | Составитель задач придумывает их с намерением, а генеративная модель лишь выбирает, следуя форме данных |
| Распределение | То, как сгруппированы значения роста учеников в классе | Нет | Рост — это одно число, а движение — форма, в которой 1196 чисел меняются вместе, и её невозможно нарисовать на глаз |
| Среднее координат | Наложить полупрозрачно фотографии двух людей | Нет | При наложении фотографий видны оба человека, а усреднение координат создаёт одного человека посередине — и у него сложена рука |
| Латентная переменная (ручка) | Несколько ручек громкости и тембра на аудиомикшере | Частично Запоминать движение несколькими словами вроде «быстро, широко» | У ручек микшера есть подписи, а у ручек, найденных обучением, названий нет и смыслы в них перемешаны (5-3) |
| Эксперт | Член жюри на прослушивании | Нет | У жюри есть вкус, а Эксперт в этой части смотрит только на пять заданных чисел. Неестественность, которой нет в числах, он пропускает |
E-1 Об авторе · E-2 Научные источники · E-3 Источники рисунков и чисел
Методическая памятка для преподавателей, наставников по обучению на рабочем месте (OJT) и тьюторов. Время указано ориентировочно — подстройте его под своё занятие.
| Для кого | Студенты и работающие специалисты, прошедшие 5-1. Менеджеры и практики, которые хотят понять, «чему учится» генеративный ИИ |
|---|---|
| Что нужно знать заранее | 13 точек человечка-палочки и шесть сцен из 5-1, среднее и стандартное отклонение |
| Цели обучения | ① Объяснить разницу между дискриминативной и генеративной моделями через направление стрелки и «число ответов» ② Привести пример того, почему усреднение координат нарушает длину костей ③ Оценить результат генерации по трём направлениям: правдоподобие, разнообразие, новизна |
| Ориентировочное время | Чтение 30–40 мин · демонстрация анимаций 20 мин · практикум в Colab 25 мин (Код 1 — 10 мин, Код 2 — 15 мин) |
Введение 5 мин (разделы 1·2, переворот) → раздел 3, таблица движения 8 мин → раздел 4, эксперимент со смешиванием 12 мин → раздел 5, облако данных 7 мин → раздел 6, четыре генератора 13 мин → проверочные вопросы 5 мин.
Раздел 2 — 15 мин → применить оценочный лист раздела 6 к результатам генерации в своей работе (документы, изображения, движения) и составить критерии «правдоподобие · разнообразие · новизна» — 30 мин → обсуждение «выбора представления» по разделу 4 — 15 мин → запуск Кода 2 и добавление новых критериев — 30 мин.
Начинающим — только разделы 2·4·6. Продолжающим — предложить самим написать в Коде 2 генератор E (смешивание двух обучающих сцен усреднением углов) и добавить его в оценочный лист.
| Раздел | Вопрос, на котором стоит остановиться | Совет по управлению |
|---|---|---|
| 2 Переворот | «Сколько правильных ответов у создания?» | Переключайте распознавание → создание |
| 3 Движение — таблица | «Какие договорённости между клетками этой таблицы нельзя нарушать произвольно?» | В броске наведите курсор на столбцы 0.8–1.2 с |
| 4 Смешивание | «Смешали пополам — почему исчезла рука?» | Бросок + махание рукой, среднее координат: найдите кадр, где красная полоска становится длинной |
| 5 Данные | «Какой бросок получится, если выбрать новую точку из этого облака?» | Понажимайте рядом с границей между красными и зелёными точками |
| 6 Генераторы | «По какому критерию проваливаются A, B и C?» | Для каждого генератора нажмите «Создать заново» два-три раза |
| Заблуждение | Правильное объяснение | Что показать |
|---|---|---|
| Генеративная модель создаёт один правильный ответ | Она выбирает один ответ из распределения правдоподобных ответов. Нормально, что каждый раз он разный | Раздел 2, раздел 6 «Создать заново» |
| Среднее — самая безопасная генерация | У среднего разнообразие 0, а усреднение движений с разным таймингом отнимает силу (скорость запястья 2.55 → 1.36) | Раздел 6, генератор A |
| Чем больше чисел, тем лучше представление | 1196 чисел связаны между собой. Для генерации лучше небольшое число параметров, сохраняющих эти связи (углы, ручки) | Раздел 4, среднее углов; раздел 6, генератор D |
| Точная копия обучающих данных — лучшая генерация | У копирования новизна равна 0. К тому же есть риск выдать как есть данные конкретного человека из датасета | Раздел 6, генератор C |
| Выглядит как настоящее — значит, оценка закончена | Смотреть нужно сразу на правдоподобие, разнообразие и новизну. Если смотреть только на одно, побеждает A или C | Оценочный лист под разделом 6 |
3 секунды — это 46 кадров (включая 0 с) × 26 = 1196 чисел. 5 секунд — 76 кадров × 26 = 1976 чисел.
Кисть = (0, 1), то есть совпадает с плечом. Длина руки 0, ошибка длины костей 100%. «Худшие 99.9%» из раздела 4 — именно такой момент. Если же усреднить углы (среднее −90° и +90° равно 0°), получится рука длиной 0.33, опущенная вниз.
Его новизна равна 0. Он лишь выдаёт заученные обучающие данные и не создаёт новых движений. Если в данных есть движения или лица реальных людей, возникает ещё и проблема утечки персональных данных.
Момент броска (тайминг) в каждой сцене разный, поэтому при усреднении координат быстрый замах тонким слоем размазывается по нескольким кадрам. Пик сглаживается, и бросок получается вялым.
D заранее знал ручки (скорость, положение, размер), по которым были созданы сцены. К реальным данным о движениях такие ручки не прилагаются. Найти ручки, глядя только на данные, — задача кодировщика и декодера из 5-3.
В Коде 1 меняйте долю смешивания: 0, 0.25, 0.5, 0.75, 1 — и составьте таблицу ошибки длины костей при усреднении координат для пары «бросок + махание рукой». Двумя предложениями напишите, при какой доле ошибка наибольшая и почему.
Добавьте в Код 2 генератор E «выбрать две обучающие сцены и усреднить координаты» и генератор F «выбрать 3 ручки за пределами обучающего диапазона (размер ×1.6)» и оцените их. Опишите, какая проблема есть у F, даже если он проходит проверку на правдоподобие (куда летит банка?).
| Новичкам | Если как следует разобраться только с «средним координат против среднего углов» из раздела 4, половина этой части уже усвоена |
|---|---|
| Углублённо | Предложите исследовать и представить, как GAN и VAE встраивают «Эксперта» в обучение. Статьи проверять по первоисточникам |
| Следующая часть | 5-3 Кодировщик и декодер — самостоятельно находим ручки (латентные переменные), глядя только на данные |
Вы дочитали часть «5-2 От распознавания к созданию» до конца. Команда лаборатории подводит итоги — каждый по одной фразе.