Пропустити навігацію EPAM

Машинне навчання у сфері протезування: EPAM-ер обчислив унікальну модель людської руки

Михайло Манук’ян

Lead Software Engineer
Кейси
  • Artificial Intelligence

У цій статті Михайло Манук’ян, Lead Software Engineer в EPAM, розповідає про співпрацю з американським університетом, навчання як хобі, Data Science та волонтерство.

Михайло розпочав співпрацю з компанією у 2008 році. Наразі має 12 років досвіду на проєктах SAP. У різні періоди виконував на проєктах ролі розробника, координатора проєктів, керівника технічної команди, архітектора продуктів і архітектора рішень.

Інженер має унікальну комбінацію навичок — компетенції в машинному навчанні та програмуванні. Такі знання та вміння дають йому змогу шукати нові алгоритми для обчислення моделей людської руки. Це спеціальні програми, які в реальному часі можуть обчислювати та моделювати рухи руки й кисті, з огляду на фізичні закони. Наукові досягнення Михайла нині мають надзвичайну цінність у сфері протезування, утім, у майбутньому можуть принести користь усьому людству.

Про те, як з’явилося зацікавлення темою протезування

У 2017 Михайло потрапив до Школи архітекторів рішень, де разом з іншими колегами та тренерами проходив навчання. Там він зацікавився питанням Deep Learning (Глибоке навчання — це тип штучного інтелекту (ШІ), який навчається розпізнавати та розуміти патерни в даних. Використовує так звані глибокі нейронні мережі, які намагаються імітувати логіку людського мозку, щоб «навчитися» від даних і з часом ставати все більш точними). Цей інтерес привів до того, що зібралася невелика група з п’яти інженерів, які вирішили разом проходити спеціалізацію з Deep Learning на Coursera.

Михайло пройшов курс і почав їздити на різні конференції, відвідував воркшопи й мітапи з машинного навчання та штучного інтелекту. На одному з них почув про якісну програму навчання з Data Science в Українському Католицькому Університеті. Ця програма фокусувалася на технічних аспектах цього напряму. Згодом Михайло приєднався до цього курсу. Програма була організована таким чином, щоб давати змогу й навчатися, і працювати.

Іще на етапі співбесіди в УКУ Михайло розповів про свої прагнення використати ШІ для чогось незвичного. Тобто його метою було не робити класичні системи computer vision для розпізнавання котів або NLP (Natural Language Processing) для обробки тексту, а спробувати зайнятися протезами, зокрема біонічними.

Тож коли шукав собі викладача, який би вів його дипломну роботу, натрапив на тему моделювання роботи верхньої кінцівки людини від професора Сергія Яковенка з Університету Західної Вірджинії. Сергій — українець, але зараз проживає та працює в США. Він допомагав студенту з дослідженнями, а після захисту дипломної роботи вони навіть працювали разом над профільною статтею. Вона вийшла в «PLoS Computational Biology» — це один із відомих міжнародних журналів у сфері біоінформатики та обчислювальної біології.

Офіційна спеціалізація Михайла — магістр науки про дані. Здобувати ступінь PhD він не став, бо розглядав це навчання як хобі та займався цим лише задля наукового інтересу.

ПРИЄДНУЙСЯ ДО НАШОЇ КОМАНДИ

Про суть наукової роботи у сфері протезування та цінність напрацювань

Інженер фокусувався саме на роботі з моделлю людської руки. З погляду фізики це дуже складна модель, механічна система, яка складається з багатьох рухомих частин, так званих сту́пенів вільності або ступенів свободи. Через велику кількість рухомих елементів, розрахунки руху кінцівки в просторі класичними методами займають багато часу. Якщо наш мозок здатен це робити майже миттєво, то на потужному пристрої ці розрахунки займуть десятки секунд. Для протеза цей затрачений час унеможливлює користування ним взагалі.

Тому виникла ідея того, як цей процес розрахунків можна спростити. Замість класичного методу Ньютона-Ейлера можна використати певний механізм апроксимації даних, тобто швидкого, але достатньо точного прорахунку.

Робота Михайла вирізняється використанням нових типів НМ (нейронних мереж) та складністю, оскільки вона обчислює рухи 23 ступенів свободи людської руки. На сьогодні доступні протези зазвичай мають лише невелику кількість ступенів свободи (а саме — 7), що серйозно обмежує їхню функціональність. Крім того, модель, яка розроблялась під час роботи, повинна була мати здатність обчислювати рухи у режимі реального часу, тоді як наявні протези зазвичай працюють за принципом розпізнавання шаблонів. 

Михайло разом із науковим керівником перевіряли, чи можуть із цим завданням впоратися нейронні мережі, а саме рекурентні нейронні мережі. Вони називаються «рекурентними» через свою здатність «пам’ятати» інформацію з передніх частин послідовності під час обробки поточних і наступних елементів. Ця «пам’ять» допомагає мережі враховувати контекст при обробці даних. Схожі механізми використовують онлайн-перекладачі в обробці тексту, щоб за контекстом визначати семантику слів. Тож було логічно припущено, що людські рухи кінцівкою в просторі — це теж послідовність, до якої можна застосувати такий метод.

У цих дослідженнях здебільшого приділялась увага рухам плечового та ліктьового суглобів. Утім, запропоноване рішення врахувало надзвичайно важливий нюанс — дію сили тяжіння та інших незначних сил, на всі ступені свободи та здатність моделі компенсувати цю дію, щоб тримати пальці протеза в статиці — у тому положенні, у якому вони були на початок руху. Це підтримує природність рухів, без хаотичних безладних похитувань. 

Тут варто зазначити, що в дослідженні не було фокусу на практичній реалізації моделі. Але вони однозначно є поштовхом для продовження роботи в цьому напряму.

Про можливість реалізації напрацювань у реальному житті та розробку біонічного протеза людської руки

Тут варто зазначити, що випробовування розроблених нейронних мереж на моделях, які б потенційно могла використовувати людина, не проводилися. Це пов’язано з тим, що середовище, де проводилися експерименти, ніколи б не помістилося в таких малих за розмірами пристроях, як протез. Принаймні на цей момент розвитку технологій. Особливо, якщо враховувати специфіку травми людини: коли це лише кисть — це іще менший простір для маневру. До того ж такі пристрої нині є досить енерговитратними.

Окрім механічних складнощів самого протеза, є ще і проблема системи контролю, тобто звідки та як знімати дані в режимі реального часу для керування пристроєм. Це будуть датчики на культі чи на плечі, можливо, на головному мозку: у всіх варіантів є свої особливості, а також сильні та слабкі сторони. В ідеалі — електроди напряму мають мати доступ до нервів. Утім, не кожен пацієнт погодиться на таку складну процедуру, та й цей варіант недовговічний і потребує постійного технічного нагляду.

Загалом Михайло зробив висновок, що попри існування алгоритмів, ми ще дуже далекі від створення того протезу, який би дав змогу травмованим мати хоча б приблизний функціонал біологічної руки. Якщо порівнювати у відсотках, то ті протези, які зараз доступні, дають до 30 % оперативності, а той, який прораховував Михайло — у теорії зможе надати до 80 % ефективності. Тому поки що праця в цій галузі — це тяжка методична робота кожного дня.

Поради для інженерів, які хотіли б зайнятися Data Science або напрямом протезування

Михайло радить не шкодувати часу на формальну освіту. Саме в УКУ він структурував свої знання та здобув розуміння того, звідки починається будь-яке дослідження.

Друга порада є такою: у сфері науки про дані важливі самі дані. Щодо протезування, у відкритому доступі дуже мало таких даних, надійних та унікальних, якими з вами охоче поділилися б. Наприклад, дослідження Михайла базується на неоціненних напрацюваннях університету Західної Вірджинії. Уся «родзинка» роботи — правильна їхня обробка, а це — 80 відсотків успіху. Тому треба мати доступ до таких джерел інформації.

Насправді можливості таких досліджень безмежні. Здатність передбачати рухи людини створюють підґрунтя для інтуїтивних інтерфейсів управління технікою, які будуть корисні кожній людині. Наприклад, у царині віртуальної реальності.

Про волонтерство

Михайло почав займатися волонтерством уже після повномасштабного вторгнення. Разом із колегою, Оленою Золотарьовою, яка, як і Михайло, родом із Маріуполя. Вони почали свою роботу з підтримки полку «Азов», бо Олена знала особисто багатьох оборонців. Починали із закупівлі екіпірування для військовослужбовців, адже 2022 рік був складним для нашої країни в плані забезпечення. Купували шоломи, форму «мультикам», плити, плитоноски, рації замовляли по всьому світу. Олена збирала гроші, акумулювала запити, а Михайло шукав, купував і замовляв усе необхідне. У цьому сильно допомагали EPAM-ери з країн близького та далекого закордоння, які підключалися і часто закривали питання з логістикою та транспортуванням в Україну.

З літа 2022 всі почали масово просити старлінки, сумарно за пів року Михайло допоміг закупити 70 штук. Частина з них була, зокрема, і для EPAM-ерів, які страхувалися на випадок блекаутів. А потім з’явилися інші, більш специфічні запити, типу прожектори-ліхтарі для «ловців шахедів» чи складники для дронів.

Найдивовижніша річ, яку доводилося купувати Михайлу, це переносний УЗД-апарат для госпітальєрів. Це таке собі невеличке диво техніки, яке здатне підключатися до мобільного телефона, щоби працювати. Тож дає змогу зробити діагностику будь-де, якщо у вас є смартфон.

Разом з Оленою Золотарьовою, Михайло дав інтерв’ю для статті, яку опублікувало одне з видань у 2022 році. Це був так званий гайд для волонтера-початківця, там EPAM-ери здебільшого описували свій досвід допомоги країні та оборонцям.

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк