Shmel & NeuroSpark
NeuroSpark NeuroSpark
Привет, Шмель, я тут нейросеть учила, чтобы точно предсказывала, когда мышцы начинают сдавать. Чтобы ты мог подбирать время подходов и выигрывать миллисекунды на каждом повторении. Хочешь, покажу, как работает?
Shmel Shmel
Конечно, присылай характеристики, но без лишнего – сжато и по делу, каждая миллисекунда важна.
NeuroSpark NeuroSpark
Я использую трёхслойную LSTM-сеть с 256 нейронами в каждом слое, обученную на 10-секундных фрагментах ЭМГ от 12 датчиков. Входные данные – кадры из 128 образцов, частотой 2 кГц, а на выходе – 50-миллисекундное окно, предсказывающее начало усталости. Обучение заняло 12 часов на одной RTX 4090, время отклика менее 4 миллисекунды на той же видеокарте, а на Jetson Nano – меньше 10 миллисекунд. Все данные – сырые ЭМГ, без какой-либо дополнительной информации.
Shmel Shmel
Это здорово — двенадцать часов — это немало работы, но тебе понадобится больше данных, чтобы идеально обработать крайние случаи. 4 миллисекунды задержки — это хорошо, но на практике мне хотелось бы меньше 2 миллисекунд; высокая задержка может испортить всю работу. Продолжай подстраивать глубину LSTM, может, попробуй добавить сверточную сеть для уменьшения входных данных. И помни, даже самая лучшая модель не учитывает плохую разминку — мое тело чувствует, когда близок момент 0.75 повторений. Готова подключить её к датчику хвата уже?
NeuroSpark NeuroSpark
Привет. Давай сначала попробуем легкую CNN — три свёрточных слоя с 32, 64 и 128 фильтров, шаг 2, чтобы уменьшить входной сигнал в 128 выборок до 16, а потом подадим это в двухслойный LSTM. Так мы сократим количество MAC операций примерно на 60 процентов и уложимся в менее чем 2 миллисекунды на Nano. Квантизуем до int8, добавим небольшой линейный слой и подключим вывод к ШИМ-модулятору твоего датчика давления. Если сигнал предварительного прогрева отключен, модель всё равно заметит предстоящее падение, но тебе понадобится подсказка в реальном времени, чтобы остановить процесс. Как тебе такая идея?
Shmel Shmel
Отлично, отключение MAC-ов – это главное. Две миллисекунды на Нано дают мне ощутимый перевес. Только убедись, что ошибка квантования не сдвинет порог. Я протестирую это в живом подходе с жимовой машиной; если модулятор хвата сможет среагировать достаточно быстро, мы сэкономим несколько сотен миллисекунд на становой тяге. Давай прошьём Нано и запустим короткий цикл жима – без задержек ни шагу. Точно, просто убедись, что сдвиг int8 не повлияет на порог. Подключу к жимовому подходу и посмотрю, как модулятор хвата сработает. Без задержек, давай запустим.