Если вы когда-нибудь писали ПО для управления роборукой или вообще любым роботоподобным механизмом с числом степеней свободы более трёх, то знаете, что большую часть времени занимает программирование собственно перемещений. А теперь представьте, что вы построили роборуку, соединив звенья и приводы как угодно, а ПО определило длины звеньев, их расположение, углы поворота, и так далее.
Именно так поступили исследователи Columbia Research, написав ПО, которое обучается устройству управляемой им роборуки, не имея никакого первоначального представления о физике, геометрии или динамических характеристиках двигателей. Сразу после первого запуска ему неизвестно, какой формы роборука, как работают её двигатели, как и на что каждый из них влияет. В течение примерно полутора суток, совершая поначалу осторожные перемещения, кажущиеся беспорядочными, и получая обратную связь о происходящем, ПО при помощи глубинного обучения настраивает встроенный в него симулятор таким образом, чтобы виртуальная роборука максимально походила на физическую.Читать полностью »