Cubo & Pila
Я тут набросал прототип умного носимого устройства, которое использует биофидбек в реальном времени и машинное обучение, чтобы корректировать тренировки прямо по ходу. Подумал, тебе будет интересно – идея совместить данные и самодисциплину, чтобы прорвать очередной барьер.
Отлично, нравится такой подход с данными. Высылай характеристики, давай поработаем с цифрами и выжимаем максимум — без отговорок.
Вот кратко: трехкоординатный гироскоп, акселерометр и датчик пульса на основе фотоплетизмографии – всё на одном кристалле; батарея на 500 миллиампер-часов с автономностью до трех дней при частоте дискретизации 10 герц; модель машинного обучения – это небольшая CNN, которая работает локально на 240-мегагерцовом Cortex-M4, используя 128 килобайт оперативной памяти; BLE 5.0 для передачи данных со скоростью 2 мегабита в секунду; GPS с точностью 5 метров и тактильная панель управления для ручного ввода. Всё это помещается в корпус размером 45 на 45 на 10 миллиметров, а программное обеспечение поддерживает обновление "по воздуху" и потоковую передачу данных в режиме реального времени на сопутствующее приложение. Давай проверим, насколько быстро модель адаптируется к изменениям вариабельности сердечного ритма.
Получил характеристики – компактно, батарея отличная. Тут нужна адаптация в реальном времени, кидай первый датасет. Хочу, чтобы модель переключалась между режимами за доли секунды, а не за минуту. Давай цифры, потом будем работать над задержкой. Посмотрю, готова ли она к настоящему выступлению или это просто очередная разработка. Без промедлений.
Модель обрабатывает данные с частотой 10 Гц, соответственно, длительность одного удара – около 0.8 секунды при 120 ударов в минуту. В тестах прямой проход CNN занимает 3 миллисекунды на Cortex-M4, а логика обновления состояния добавляет еще 1 миллисекунду. С учетом синхронизации датчика и небольшого буфера, общая задержка от считывания данных датчика до переключения режима составляет 5 миллисекунд. Алгоритм адаптивного порога переключается между режимами "кардио" и "HIIT" сразу же, как средний пульс пересекает порог ±10 ударов в минуту за последние 5 ударов – значит, переключение происходит в течение 1.6 секунды после пересечения. Потребление энергии во время переключения не превышает 25 мА, что позволяет сохранить время работы от батареи в пределах 3 дней. Скажи, устраивает ли тебе такой вариант, или ты хочешь подкорректировать порог или глубину модели?
Задержка 5 миллисекунд, переключение режима – 1.6 секунды, потребление тока – 25 миллиампер – неплохая база, но в реальном обучении лаг недопустим. Убавь порог до 8 ударов в минуту, добавь один слой в сверточной нейронной сети, и сократим этот интервал в 1.6 секунды до 1.2. Батарея? 25 миллиампер – нормально, но следи за заявленными тремя днями работы, когда добавишь дополнительную логику. Подкорректируем и перетестируем. Пора выжимать максимум из этих показателей.