Функцій протезів може бути більше. Про роботу над моделлю людської руки
Вітаю! Я Михайло Манук’ян, Lead Software Engineer в EPAM Україна. У різні періоди виконував на проєктах ролі розробника, координатора проєктів, керівника технічної команди, архітектора продуктів і архітектора рішень.
Окрім основної роботи, співпрацюю з американським університетом та займаюсь Data Science. Компетенції у машинному навчанні та програмуванні дозволяють мені шукати нові алгоритми для обчислення моделей людської руки. Це спеціальні програми, які в реальному часі можуть моделювати та обчислювати рухи руки та кисті, враховуючи фізичні закони.
Позаяк протезування — це та сфера, яка нині в Україні має надзвичайно високий запит через війну, далі хочу поділитись своїм досвідом в галузі Data Science та наукових напрацювань щодо створення моделі людської руки.
Як я поринув в тему протезування
У 2017 році я став студентом «Школи Архітектора», де зацікавився питанням Deep Learning (це тип штучного інтелекту, який навчається розпізнавати та розуміти патерни в даних. Використовує так звані глибокі нейронні мережі, які намагаються імітувати логіку людського мозку, щоб «навчитися» від даних і з часом ставати все більш точними). Я пройшов курс з цієї спеціалізації на Coursera і почав відвідувати різні конференції, воркшопи й мітапи з машинного навчання та штучного інтелекту. На одному з них почув про якісну програму навчання з Data Science в Українському католицькому університеті. Вона фокусувалась на технічних засадах теми, до того ж передбачала можливість поєднувати навчання з роботою — так почалась моя друга вища освіта.
Ще під час співбесіди в УКУ я поділився своєю метою — використовувати штучний інтелект для нестандартних цілей. Замість створення класичних систем computer vision для розпізнавання котів або NLP (Natural Language Processing) для обробки тексту мене цікавило створення протезів, зокрема біонічних.
Під час пошуку керівника для дипломної роботи я натрапив на тему моделювання рухової активності верхньої кінцівки людини, якою займався професор Сергій Яковенко з Університету Західної Вірджинії. Сергій — українець, але зараз проживає та працює в США. Він не лише допомагав мені з дослідницькою роботою, але після захисту диплома ми разом працювали над профільною статтею. Вона вийшла в одному з відомих у сфері біоінформатики та обчислювальної біології журналі PLoS Computational Biology.
Моя офіційна спеціалізація — магістр науки про дані. Попри це, я вирішив не отримувати PhD, тому що навчання для мене — це перш за все хобі, викликане науковим інтересом.
Про результати наукової роботи
На сьогодні ми маємо досить розвинуті протези, але бракує програмного забезпечення для контролю цих девайсів. Наявні біонічні протези рук володіють обмеженою кількістю доступних рухів, зазвичай пропонуючи лише
Нервові закінчення з м’язів грудей або спини переміщують ближче до поверхні шкіри, щоб людина мала змогу керувати протезом. У своєму дослідженні я зосередився на створенні моделі, яка здатна прорахувати динаміку кінцівки за допомогою кінематики для кожного з суглобів. Це дозволить користувачеві отримати значно ширший спектр рухів та більшу свободу у повсякденному житті. Я працював над дипломною роботою близько пів року, і стільки ж часу я присвятив написанню наукової статті.
З погляду моторної динаміки, рука разом із кистю — надскладна система в людському тілі. Вона складається з багатьох рухомих частин, так званих сту́пенів вільності або ступенів свободи. Кожен суглоб має одну чи декілька ступенів свободи, наприклад, вказівний палець має чотири. Це означає, що він може згинатися в першій, другій та третій фалангах, а також рухатися вліво та вправо. Одні лише пальці налічують 16 ступенів свободи.
Метою мого дослідження була саме задача зворотної динаміки — коли відомі значення кутів, швидкості та прискорення для кожного зі ступенів свободи, і необхідно прорахувати відповідні моменти сили. Зазвичай, зворотну динаміку вирішують за допомогою методу Ньютона-Ейлера, але цей процес повільний та вимагає додаткових даних. Тому виникла ідея спростити процес розрахунків.
Замість класичного методу Ньютона-Ейлера я запропонував використовувати механізм апроксимації даних, що дає швидкий, але при цьому достатньо точний результат. На сьогодні доступні протези зазвичай мають лише невелику кількість ступенів свободи (наприклад, сім), що суттєво обмежує їхню функціональність. Крім того, моя модель повинна мати здатність виконувати обчислення рухів у режимі реального часу, тоді як наявні протези зазвичай працюють за принципом розпізнавання шаблонів.
Разом із науковим керівником ми дослідили, чи можуть нейронні мережі, а саме рекурентні нейронні мережі, впоратися з цим завданням. Їх називають «рекурентними» через здатність «пам’ятати» інформацію з попередніх частин послідовності під час обробки поточних і наступних елементів. Ця «пам’ять» допомагає мережі враховувати контекст при обробці даних. Цей принцип використовується, наприклад, в онлайн-перекладачах для визначення семантики слів за контекстом. Ми припустили, що людські рухи кінцівкою у просторі також є послідовністю, до якої можна застосувати цей метод.
Задача зворотної динаміки є рекурентною за своєю природою. По-перше, в складних системах як верхня кінцівка людини (або інших ссавців) динаміка певного фрагмента залежить від динаміки батьківського фрагмента. Наприклад, динаміка зап’ястка залежить від динаміки ступенів свободи плечового та ліктьового суглобів. По-друге, позиція кінцівки на кроці t залежить від позиції на кроці t-1. Таким чином доцільно використовувати рекурентні нейронні мережі до задач зворотної динаміки.
У наших дослідженнях основна увага приділялась рухам плечового та ліктьового суглобів. Проте запропоноване рішення також враховує надзвичайно важливий нюанс — дію сили тяжіння та інших незначних сил на всі ступені свободи та здатність моделі компенсувати цю дію, щоб тримати пальці протеза в статиці — в тому положенні, в якому вони були на початок руху. Це забезпечує природність рухів, без хаотичних похитувань.
Я розробив дослідження альтернативної спрощеної моделі, котра б була достатньо точною та швидкою водночас. Її можна побудувати за допомогою штучних нейронних мереж, а саме рекурентних нейронних мереж різного типу та топології.
У своїй роботі я обчислюю рухи 23 ступенів свободи людської руки. Для дослідження я здійснив налаштування гіперпараметрів. Я хотів побачити більш різноманітні моделі, тому визначив один, три та п’ять рекурентних шарів. Я зважав на розмір прихованого шару, тобто скільки нейронів в ньому знаходиться. Для дослідження визначив, що розмір прихованого шару має рахуватись, як 1х, 3х чи 5х разів більший за кількість ступенів свободи. Таким чином ми отримуємо один, три чи п’ять нейронів на кожну ступінь свободи.
В результаті я отримав три моделі. Дві останніх були додані для порівняння з першою моделлю за топологією:
Перевірка моделей на оригінальному наборі даних без стандартизації показала, що чим менша кількість рекурентних шарів, тим краще. На противагу, збільшення розміру прихованого шару покращувало результати моделі.
За оцінкою якості моделі з використанням тестового набору даних раніше невідомих моделі — найякіснішою виявилась GRU 1 115, а найгіршою RNN 1 115.
Оригінальна похибка тестування отримана шляхом зворотного перетворення стандартизованих даних.
Що у підсумку?
- Моделі з сімейства рекурентних нейронних мереж здатні ефективно апроксимувати проблему зворотної динаміки.
- Більше одного рекурентного шару в архітектурі моделі не призводить до покращення якості моделі, робить модель повільнішою, більш вразливою до шуму та погіршує якість моделі на даних з меншою довжиною послідовності.
- Рекурентні нейронні мережі (РНМ) зі шлюзами, одним рекурентним шаром та розміром прихованого шару в 115 нейронів демонструють найбільш якісні результати, але повільніші, ніж звичайна РНМ-модель при обрахунках на процесорі та більш стійкі до шуму в даних.
- Стійкість до шуму може бути особливістю моделей з типом рекурентного блока GRU.
- Звичайна РНМ має найгіршу якість поміж інших моделей, але є найшвидшою моделлю для обрахунків на процесорі та достатньо добре узагальнює на послідовностях з малою довжиною.
- Якщо якість моделі та стійкість до шуму є важливими рисами, тоді варто обрати архітектуру РНМ зі шлюзами для апроксимації проблеми зворотної динаміки (GRU).
- Якщо важливим є розрахунок моделі на процесорі, тоді звичайна РНМ має бути обрана замість РНМ зі шлюзами.
- Для розв’язання задачі зворотної динаміки більш прикладними є моделі з одним рекурентним шаром та великими розміром прихованого шару.
Реальна розробка біонічного протеза людської руки. Чи можливо?
Наразі наші нейронки не тестувалися на моделях, які могла б використати людина. Це пов’язано з тим, що середовище, в якому я проводив експерименти, неможливо розмістити у таких компактних пристроях, як протез. Це твердження актуальне на даному етапі розвитку технологій, адже специфіка травми, наприклад, кисть, передбачає ще менший простір для маневру. До того ж такі пристрої мають високе енергоспоживання.
Перш ніж прив’язати модель до фізичного тіла, треба перевірити її спочатку на фізичному приладі. В цьому контексті випливає безліч питань. Люди можуть мати різний рівень ампутації, різний фізичний стан руки. Тут важливо отримати відповідну консультацію від лікарів, щоб правильно налаштувати протез.
Моя роль як IT-спеціаліста полягала в розумінні, як керувати цією системою в цілому. Важливо з’ясувати, як це все адаптувати під конкретну особу, враховуючи ступінь пошкодження тканин. Я б сказав, що правильним шляхом буде перевірити схожість фізичної моделі з тією, що була використана для генерації даних. Коли цей етап пройдено, можна розглядати можливість інтеграції з фізичним тілом, але це потребує пильності й уважного підбору моделі для конкретної особи.
Окрім механічних складнощів самого протеза, існує й проблема системи контролю. Виникає питання, як знімати дані в режимі реального часу для керування пристроєм. Можливі варіанти: датчики на культі, плечі або навіть на головному мозку. Кожен з них має свої особливості, переваги та недоліки. Ідеальним рішенням було б використання електродів, які мають прямий доступ до нервів. Проте не кожен погодиться на таку складну процедуру, до того ж вона недовговічна і потребує постійного технічного нагляду.
Підсумовуючи, попри існування алгоритмів, ми все ще дуже далекі від створення протеза, який би відновив функціональність біологічної руки. Як каже мій науковий керівник: «Наявні протези роблять одну функцію добре, але їх може бути більше». Натомість мої прорахунки відкривають можливості для якісного виконання широкого спектра функцій.
Тому наразі робота в цій галузі потребує щоденної методичної роботи.
Віртуальна реальність, 3D-моделювання та робототехніка
Здатність передбачати рухи людини створюють підґрунтя для інтуїтивних інтерфейсів управління технікою, які будуть корисні кожній людині, не лише з асистивними потребами. Наприклад, у царині віртуальної реальності. MetaLabs вже хочуть розробити систему для мультимедійного керування, але без необхідності тримати девайс в руках. Можливо, через 10 років ми вже побачимо суттєві технологічні зміни.
Моя зона інтересів не обмежена лише протезуванням, я хотів би й далі займатися питаннями практичного використання штучного інтелекту. Утім, зараз ці процеси стали на паузу у зв’язку з війною.
Нині я готовий ділитися своїми знаннями з охочими.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів