Поездка в Сколково, первый опыт командной работы и борьба со страхами
Начинающим IT-специалистам хакатоны позволяют заняться реальной задачей и получить практический опыт, потренироваться работать в команде. А заказчикам — протестировать новые гипотезы и идеи. Но ещё хакатоны могут помочь сделать жизнь других людей лучше. Рассказываем, как студенты SkillFactory прокачивали на хакатоне прототип бионического протеза на базе оптических датчиков «Моторики». Подробности — к старту флагманского курса по Data Science.
- Как искусственный интеллект применяется в протезировании.
- Как проходил хакатон.
- Чему научились участники.
Как искусственный интеллект применяется в протезировании
Компания «Моторика» создаёт и помогает получить бионические протезы. Они могут заместить утраченные конечности на уровне предплечья и кисти и выполнять их функции. Также компания развивает цифровую экосистему реабилитации на облачной платформе «Билайн».
Большинство протезов считывают напряжение мышц. В гильзе, куда вставляется часть конечности, есть два датчика. Один отвечает за закрытие, а другой — за открытие кисти. Когда человек напрягает мышцу, срабатывает жест.
Бионические протезы бывают однохватными (сжимают/разжимают кисть) и многохватными (могут выполнять программируемые движения, каждый палец двигается отдельно). Например, так работает бионический протез Manifesto.
Но, чтобы выполнить жест, нужно запрограммировать его, переключить и не только. Выполнять жесты без подготовки и тут же точно распознавать их помогает искусственный интеллект. AI-модели обучаются под каждого человека на его персональных данных.
Чтобы нейросеть работала эффективно, требуется много информации. «Моторика» создала оптомиографические датчики, которые видят изменения не только в мышцах, но и в суставах, сухожилиях, кровотоках и коже. Поэтому протез могут использовать люди, у которых нет сигнала от мышц либо он очень слабый. AI изучает связь между изменениями показателей и тем или иным жестом — и выполняет его, используя микродвигатели конкретных пальцев. Поэтому уже сейчас протезы могут выполнять некоторые жесты.
Участники хакатона должны были улучшить прототип AI-модели для системы управления протеза руки, который по показаниям датчиков может определять жесты пользователя.
Как проходил хакатон
В хакатоне участвовали студенты и выпускники курса Data Science. Они поделились на 8 команд по 3–6 человек. В каждой команде были роли тимлида, разработчика или проджект-менеджера. Участники распределяли их сами.
Команды обсуждают решения
Студенты из Москвы смогли приехать в лабораторию «Моторики» в Сколково, чтобы собрать данные с реального протеза. На руку участника ставили оптомиографические датчики, а контроллер подключали к протезу. Затем протез выполнял 15 жестов, например:
- открытая ладонь: .
- полный хват: .
- жест «пистолет» .
- жест «ОК»: и другие.
Человек воспроизводил эти жесты. Показания датчиков и жест, который пользователь выполнял в этот момент, фиксировались для каждого промежутка времени. Затем они оцифровывались в наборы данных, которые студенты использовали для решения задачи.
Хакатон проходил в три этапа: задачи постепенно усложнялись. Третья задача была предельно близка к «боевой». На старте студенты получили данные и базовую модель для ориентира. Команды должны были улучшить результат базовой модели или приблизиться к нему. Так в «Моторике» проверяли, можно ли улучшить базовую модель.
- На первом этапе команды определяли, из какого жеста в какой был переход. Например, из нейтрального положения (открытая ладонь) в какой-либо жест и наоборот — из жеста в нейтральное положение. Нужно было обучить модель понимать, какой именно жест был выполнен: «ОК», «пистолет», сгиб/разгиб каждого пальца и так далее.
- На втором этапе участники классифицировали жесты и определяли их начало и окончание во времени. Они должны были получить модель, которая понимает, как, в какой последовательности и через какой отрезок времени рука переходит от одного жеста к другому.
- На третьем этапе непрерывную запись сегментировали на отдельные жесты и определяли их начало и окончание во времени. Команды сами разрабатывали систему работы с ними: как их извлечь и нарезать, чтобы обучить модель.
После каждого этапа команды показывали решения менторам хакатона: Максиму Балашову из «Моторики» и Андрею Рысистову из SkillFactory. Менторы отмечали лучшие решения, давали обратную связь, помогали во время хакатона.
Хакатон прошёл на платформе Kaggle, а решения проверял алгоритм. Он оценивал качество моделей и ранжировал их по степени точности.
Оценка результатов
Чему научились участники
Участники хакатона работают в разных сферах. У каждого были свои цели, желания, трудности. Но все абсолютно уверены: решение задач стало полезным опытом.
Марина Макеева
Мы с партнёром ведём небольшое дело — организовываем работу промышленных альпинистов. Я получила качественное высшее образование по специальности «Физические процессы добычи и переработки нефти и газа». И, хотя я не работала по специальности, моё образование всегда со мной: оно — основа моего мировоззрения, круга общения, моих знаний и умений. Когда друзья нашли курсы с хорошей программой по интересной мне теме, я практически сразу решила, что пойду учиться.
Мне было очень интересно посмотреть, как на практике фиксируются движения человека, обрабатываются и передаются на искусственные имитаторы. Было много сомнений, так как на курсе я отучилась всего три месяца, но любопытство победило. У нас сложилась классная команда — всем нашлись задачи по уровню подготовки и ещё немножко «на вырост».
На проекте я много работала с библиотеками NumPy и Pandas, визуализацией данных. Поняла, как важно с самого начала задать правильную архитектуру данных, которые будут собираться и обрабатываться. Для этого нужно знать требования библиотек ML к подготовке данных, владеть библиотеками, которые предоставляют инструменты для подготовки.
Сложно было отказываться от интересных решений, которые на практике не дали улучшения работы модели. Да и в целом было тяжело, но именно поэтому найденные решения приносили ещё больше удовольствия.
Надеюсь, я ещё смогу поучаствовать в общем проекте с сокомандниками. Мы накопили большой опыт совместной работы, настройки рабочих инструментов и оформления результатов. И, конечно же, увидели много нюансов в обучении модели и оценке результатов её работы.
Фантастически интересным был визит к организаторам в Сколково. Нам показали этапы разработки и производства, мы поучаствовали в реальном процессе сбора данных и познакомились с новыми идеями, которые готовятся к внедрению. «Моторика» — один из лидеров в своей области, и мы немножко поучаствовали в научных исследованиях компании.
Олег Стребков
Я работаю инженером в небольшой проектной организации. Для меня хакатон — это возможность решить интересную практическую задачу, получить опыт, сделать привлекательнее резюме и пополнить портфолио.
Организаторы соревнования разделили хакатон на три задачи, которые постепенно усложнялись. На мой взгляд, сложнее всего было подготовить и отправить на проверку первое решение, описать результат. Дальше втянулись, и стало проще, хотя сами задачи были сложнее.
Первое, чему мы научились, — работать в команде. Я и ещё один участник прошли курс полностью, другие ребята — примерно половину или несколько первых блоков. Роли распределили во время решения первой задачи. Например, один работал с графиками, делал часть EDA и в целом оформлял проект, другой отлично использовал табличные данные и обучал модели классического ML. У меня было представление, как работать с нейросетями.
Команда сложилась: идеи возникали буквально на ходу во время общих видеовстреч. После каждой задачи мы получали обратную связь от менторов.
Мне не было сложно. Было интересно. Мы исправили ряд ошибок при обучении моделей, получили опыт командной работы, узнали больше о том, как вести проект. У меня появились новые друзья. Я стал частью команды, в составе которой надеюсь и дальше участвовать в хакатонах.
Александр Иванов
Я инженер, раньше преподавал в вузе основы робототехники. Захотел участвовать в хакатоне, потому что люблю решать нестандартные задачи, с которыми сталкивается бизнес. Ещё мне хотелось проверить, хорошо ли я усвоил материал курсов, получить навык совместной работы, который сейчас очень нужен, чтобы устроиться в коммерческую компанию.
Решение задач — не единственная сложность, с которой мы столкнулись. Например, было сложно координировать усилия, потому что все члены команды работали удалённо. Для этого мы устраивали регулярные созвоны в Zoom.
Ещё было непросто правильно расставлять приоритеты в разработке кода. Этим занимались члены команды с опытом участия в хакатонах. Организаторы соревнования распределили их в каждую команду для баланса.
В процессе работы мы подружились, смогли успешно преодолеть все сложности и получили прекрасный опыт совместной работы над интересной задачей.
Игорь Абалакин
Я работаю техническим директором в одном из крупных агрохолдингов. Мой опыт так или иначе всегда был связан с инженерией. Год назад я пришёл на курсы по Data Science.
Участие в таком хакатоне — мой первый опыт. Мне было интересно абсолютно всё. До этого приходилось решать только учебные задачи, а сейчас я смог применить все полученные знания на конкретном проекте, поработать в команде.
Мне тоже было непросто. Пока что я прошёл только 70% курса. Самая сложная часть по построению модели машинного обучения была ещё впереди. Приходилось много гуглить.
Работать в команде тоже было нелегко. Несколько человек перестали отвечать в чате после первой задачи, поэтому над задачами мы работали неполным составом. Но это тоже опыт. Несмотря на это, на первых двух этапах наша команда отработала лучше всех.
К сожалению, из-за внешних обстоятельств на третьем этапе мы недотянули.
Я начал изучать Data Science год назад и никогда раньше не работал с данными. Поэтому любой решённый кейс для меня — это большой опыт. Я получил новые знания, которые могу применить в решении других задач.
Почти все команды смогли приблизить свой результат к базовой модели разработчиков и предложили интересные решения. Их будут тестировать, и, если испытания пройдут успешно, идеи участников помогут сделать протезы лучше.
Data Science и Machine Learning
- Профессия Data Scientist
- Профессия Data Analyst
- [Курс «Математика для Data Science»](https://skillfactory.ru/matematika-dlya-data-science#syllabus? utm_source=habr&utm_medium=habr&utm_campaign=article&utm_content=data-science_mat_221222&utm_term=cat)
- Курс «Математика и Machine Learning для Data Science»
- Курс по Data Engineering
- Курс «Machine Learning и Deep Learning»
- Курс по Machine Learning
Python, веб-разработка
- Профессия Fullstack-разработчик на Python
- Курс «Python для веб-разработки»
- Профессия Frontend-разработчик
- Профессия Веб-разработчик
Мобильная разработка
Java и C#
- Профессия Java-разработчик
- Профессия QA-инженер на JAVA
- Профессия C#-разработчик
- Профессия Разработчик игр на Unity
От основ — в глубину
А также