Загрузка демонстрации…
Визуализация выборочных проекций данных, активности слоёв модели и сохранённых примеров печати и движения мыши. Показан фрагмент модели, а не полная архитектура; обучение и генерация в браузере не выполняются.
Октябрь 2026 · Генеративные модели · Динамика ввода
Human Input: движения и печать
Генератор движений мыши и ритма печати с естественной вариативностью. Превращает цель и текст в готовую последовательность действий — с API и наглядной демонстрацией.
Автор и разработчик
Задача
Создать систему, которая формирует движения к заданной цели и набирает текст с вариативным ритмом. Результат должен быть пригоден для интеграции в автоматизированные интерфейсные сценарии.
01 · Подход
От данных к готовым действиям
Подготовка данных, нейронная генерация и программный интерфейс объединены в одну систему.
- Подготовил исследовательский корпус, организовал контроль качества и кластеризацию данных.
- Разработал и сравнил генеративные модели движения мыши и ритма печати на PyTorch.
- Создал API, поддержку EN/RU/Unicode и интерактивную демонстрацию готовых сценариев.
- 01
Данные
Подготовка и контроль качества
- 02
Модели
Обучение и сравнение подходов
- 03
Интеграция
Программный интерфейс и план ввода
- 04
Демонстрация
Визуальное воспроизведение результата
02 · Движение мыши
От условий к траектории
Условная спектральная flow-модель генерирует весь путь и длительность. Три масштаба обучаются совместно; схемы показывают слои и размерности, а не значения весов.
Условия
Представление условий, общее для генератора.
Общий ход
Общий ход и длительность движения.
Коррекции
Уточнение пути с учётом общего хода.
Детали
Детали с учётом предыдущих масштабов.
Одна модель, три масштаба
Общий ход и время — 17 координат, коррекции — 32, детали — 140. Каждый масштаб преобразует свою часть случайного вектора и получает контекст предыдущих. Обратное спектральное преобразование восстанавливает 96 точек пути.
Температура 0–1 управляет разбросом. Попадание в цель и границы обеспечивает геометрия; отдельная сеть добавляет реакцию и поправку времени по ширине цели.
Что считали реалистичностью
Оценивали распределения новых движений, а не совпадение с одной записью. Расстояние Вассерштейна W1 нормировали на межквартильный размах обучающей выборки.
Сравнивали длину и форму пути, скорость, ускорение, jerk, длительность, повороты, паузы и возвраты. Дополнительно — временные зависимости, микрокоррекции и геометрию на разных масштабах.
Как контролировали обобщение
Разбиения — по участникам; нормировки и преобразования обучались только внутри train. Проверяли разрыв NLL между train и validation, корреляции признаков и близость генераций к обучающим примерам.
Повторные проверки помогали выбирать модель. Они не являются независимым финальным тестом или доказательством человеческого реализма.
03 · Нажатия клавиш
Ритм с памятью предыдущих нажатий
Сеть учитывает текст и предыдущие нажатия, чтобы задавать время удержания клавиш и интервалы между ними. Первые три схемы показывают генерацию, четвёртая — обучение модели.
Контекст строки
Преобразует строку в числовые признаки: каждая клавиша получает информацию о соседних символах.
Память ритма
Учитывает предыдущие удержания и интервалы, чтобы сохранять ритм набора на протяжении фразы.
Распределение времён
Определяет, сколько удерживать клавишу и когда нажимать следующую, с вариативностью между сгенерированными последовательностями.
Как сеть обучается
Отдельный блок анализирует реальные времена печати и учит модель разнообразию ритма. Он используется только при обучении.
От одной клавиши к последовательности
Модель создаёт связный ритм всей фразы: каждое новое удержание и интервал зависят от уже сгенерированных времён. Параметр вариативности управляет предсказуемостью последовательности.
Записанные времена используются для обучения; новые последовательности создаются без подсказок из этих записей. Планировщик собирает нажатия и отпускания, допуская нажатие следующей клавиши до отпускания предыдущей.
Как выбирали модель
Проверил разные способы описывать ритм: короткие и длинные зависимости, обычный набор и паузы, влияние предыдущих нажатий. Изменение должно было улучшать результат без потери других свойств печати.
Сравнивал 14 характеристик: удержания, интервалы, паузы, перекрытия и связи между нажатиями. Выбранную модель дополнительно проверил на записях 248 новых участников.
Языки и границы применения
Ритм обучен на английской раскладке. Русские буквы сопоставляются с теми же физическими клавишами; Shift, смену языка и ввод других Unicode-символов добавляет планировщик.
Проверки подтверждают сохранение текста и корректный порядок событий. Естественность ритма для каждого языка ещё требует отдельных данных и оценки.
04 · Результаты исследования
Исследование в цифрах
Полный цикл работы: от открытых данных и обучения моделей до API, многоязычного ввода и интерактивной демонстрации.
- 308 191
- эпизод данных
- 19
- кластеров данных
- 12 855
- примеров движения мыши
- 4 980
- последовательностей печати
- 14
- итераций исследования мыши
- 7
- итераций исследования печати
- 585 545
- параметров генератора мыши
- 58 773
- параметра генератора печати
7 открытых источников
Паттерны движений и ритма печати
Обучающая выборка · 82 участника
Обучающая выборка · 343 участника
От базовой модели к итоговому генератору
Архитектура, память ритма и функции потерь
Траектория, коррекции и длительность
Удержания, интервалы и зависимости
Подготовка данных
Собрал единый корпус, проверил качество записей и выделил характерные движения и ритмы печати. Подготовил данные для обучения и проверки моделей.
Два направления исследования
Разработал генераторы траекторий мыши и ритма нажатий. Последовательно проверял архитектуры, способы представления данных и функции потерь, сравнивал качество получаемых движений и печати.
Готовая система
API возвращает траектории, клики и последовательности нажатий. Планировщик поддерживает EN/RU/Unicode, а интерактивная демонстрация наглядно показывает результат генерации.
Инженерный итог
Контекст
Исследовательский продукт для воспроизводимой симуляции ввода: от подготовки данных и обучения моделей до программного интерфейса и демонстрации результата.
- Модели движения сравнивались на раздельных группах участников, а печать — дополнительно на новых людях из того же источника данных. Другие устройства и языки требуют отдельной проверки.
- Готовый план объединяет нейронную генерацию и прикладные правила исполнения.
- Результаты относятся к исследованным сценариям; интеграция в конкретную среду требует собственной проверки.
Подход
Выстроил полный исследовательский цикл: подготовка корпуса, обучение, сравнение вариантов и интеграция результата. Программный интерфейс отделён от моделей, а демонстрация позволяет увидеть движения, клики и многоязычную печать.
- Разделил подготовку данных, обучение моделей и формирование готового плана действий.
- Сравнивал варианты по качеству результата и устойчивости на проверяемых сценариях.
- Проверил ритм печати на новых участниках и выбрал модель, сохраняющую баланс пауз, темпа и связей между нажатиями.
Выводы
- Качество генерации нужно оценивать по совокупности результатов, а не одному показателю обучения.
- Воспроизводимость и понятный интерфейс превращают отдельную ML-модель в проверяемый прикладной инструмент.
Стек
- Python
- PyTorch
- NumPy / SciPy
- PyArrow
- scikit-learn
- FastAPI
- Vue / SVG