Про классические алгоритмы и машинное обучение в робототехнике

В последние годы, в связи с бурным развитием технологий обучения (в частности, глубокого обучения), идет активное обсуждение того, заменят ли они все на свете - алгоритмы, программистов, дизайнеров, менеджеров и т.д. Внесу и свои пять копеек в обсуждение о том, что касается робототехники.

1. Успехи технологий машинного обучения отрицать или преуменьшать невозможно. Ряд задач они решают так, как классические алгоритмические подходы не могут даже если не теоретически, то практически уж точно. Это было доказано еще в середине 2010-х, когда нейронки, по сути, решили огромное количество задач компьютерного зрения, которые не поддавались классическим методам обработки изображений больше полувека. Несколько лет назад то же самое произошло в сфере задач естественного языка. Похожие процессы идут и в других областях.

2. Однако, несмотря на успехи, проблема кроется в статистической природе методов глубокого обучения. Можно сказать, что нейросеть - это обобщенный аппроксиматор неизвестной функции из данных, работающий в рантайме во многом как черная коробка, и возвращающий вероятностные решения. В целом, это нормальная история для тех задач, для которых хватает статистически большого количества правильных решений, и можно допустить некоторую долю галлюцинаций или несрабатываний. Но для задач, в которых главную роль играет безопасность, интерпретируемость и сертифицируемость, начинаются сложности.

3. Помимо вышеупомянутых проблем, стоит упомянуть о том, что ряд задач решается алгоритмическими или математическими методами практически идеально. Никто же в здравом уме не станет писать калькулятор на нейронках? Соответственно, встает вопрос области применимости методов глубокого обучения - где они реально нужны, а где нет.

4. Стоит также помнить, что процесс разработки решений на основе обучения для индустриальных целей - очень ресурсоемкий. Сбор данных, настройка инфраструктуры, покупка вычислительных мощностей, настройка параметров, обучение, тестирование и все остальные составляющие процесса - это очень сложные и недешевые вещи.

5. Все эти моменты хорошо известны, и работы по поиску правильной парадигмы применения методов глубокого обучения идут стремительными темпами. Большую популярность набирают гибридные методы. Например, в этой статье робот обучается ходить через применение Лагранжевой модели для известной части динамики и нейросети для неизвестной. А в этой разбираются методы на основе синтеза модельно-предсказательного управления и обучения с подкреплением. И вот еще выступление на похожую тему на ICRA 2024.

6. Лично мое мнение о том, как уживаться глубокому обучению с классическими методами такое:
- Применяем классические методы для хорошо моделируемых задач, методы обучения - для плохо моделируемых. Если возможно и нужно, пытаемся совместить.
- Для методов глубокого обучения крайне важна грамотная инфраструктура и понимание того, как вести разработку. Просто скачать что-то с гитхаба или хаггин фейса и ожидать, что оно заработает из коробки - наивно. Классические методы могут помочь получить бейзлайн и относительно безболезненно пройти переходный период.
- Методы глубокого обучения не упростили жизнь разработчика, а усложнили ее. Они не заменили, а дополнили классические подходы, и разбираться неизбежно надо во всем.