Vários anos atrás, os desenvolvedores da Boston Dynamics filmaram vários vídeos mostrando como as pessoas empurram robôs com tacos de hóquei e outros objetos. O vídeo se tornou viral rapidamente, e muitos usuários que o assistiram previram uma revolta iminente de robôs contra seus algozes.
Mas, é claro, tudo isso não é à toa - os robôs foram ensinados a responder a fatores externos inesperados. E isso é muito difícil, pois há um grande número de cenários diferentes a serem previstos. Pesquisadores das universidades de Zhejiang (China) e Edimburgo (Reino Unido) já seguiram os passos da Boston Dynamics. A equipe de pesquisa desenvolveuum programa complexo para ensinar robôs a cair, sacudir, derrapar, etc. Pelo que você pode perceber, o programa é muito eficaz.
A principal tarefa é ensinar os robôs a se recuperarem rapidamente depois de serem literalmente derrubados. Pelo que? Na vida real, se o robô precisa realizar algumas tarefas fora do laboratório, mas no mundo comum, ele terá que cair repetidamente. Em algum lugar o carro escorregará, talvez alguém o empurre - por exemplo, na rua, na hora do rush, quando o robô de correio irá entregar a encomenda. E isso sem falar no cenário em que o robô adquire a profissão de resgatador / batedor da área.
Independentemente da profissão que o robô tenha, ele precisa de habilidades especiais. Para o mensageiro - um conjunto de habilidades, para o salvador - o segundo, para o geólogo assistente - o terceiro. Em qualquer caso, haverá algumas habilidades únicas, além de universais - a capacidade de subir rapidamente após uma queda, por exemplo.
Um grupo de especialistas da China e da Inglaterra está em processo de criação de uma plataforma de software para treinar um robô - no nosso caso, é um cão-robô. Os especialistas já desenvolveram um sistema de autoaprendizagem com oito algoritmos básicos que permitem a um cão mecânico aprender a interagir com o mundo real. Para o treinamento, uma rede neural especializada baseada no aprendizado por reforço é usada. Primeiro, a rede neural treina robôs virtuais, ou seja, seus modelos, desenvolvendo diferentes cenários para responder a fatores externos. Após o término dessa etapa, o resultado do aprendizado na forma de um conjunto de algoritmos é "despejado" em um robô real. E temos um sistema já treinado. Tudo isso pode ser comparado aos programas que Neo recebeu em The Matrix. Um - e ele conhece kung fu, dois - ele sabe pilotar um helicóptero,três - ganha experiência em armas.
É quase o mesmo com um robô. O programa concluído está preenchido - e o carro até então imóvel já sabe como se levantar depois de quedas, contornar obstáculos, andar no gelo, etc.
Esse sistema de treinamento é muito mais eficaz do que o método de tentativa e erro com um robô real. Para aprender como agir corretamente em situações difíceis, a rede neural realiza milhares ou até milhões de simulações. Um robô de verdade, se passasse por todos esses testes, quebraria após a décima ou centésima queda. E na simulação, você pode fazer qualquer coisa, até mesmo derrubar o sistema de um arranha-céu, se precisar dele para treinamento.
Outra característica do treinamento é que inicialmente as habilidades básicas do robô são treinadas separadamente. Conforme mencionado acima, existem oito dessas habilidades de algoritmo. Se antes comparávamos o esquema de treinamento com a "Matriz", então aqui o roteiro do time de futebol vem ao resgate. Cada habilidade pode ser comparada a um membro individual da equipe - um goleiro ou um meio-campista. Cada um deles é treinado com um conjunto especial de habilidades e, juntos, após atingirem determinados resultados, todos se tornam uma equipe eficaz. É assim que tudo funciona com um robô - ele é ensinado a se levantar separadamente, a contornar obstáculos separadamente, etc. E então todas essas habilidades se juntam. O principal é transformar todas as competências adquiridas em um único sistema flexível, onde nada se contradiga e não interfira.
A imagem acima mostra como um robô é ensinado a andar em terrenos acidentados com muitas pedras. Ele segue seu alvo, uma bola verde virtual, e às vezes cai. Após cada queda, ele obtém uma certa experiência, o que lhe permite evitar uma situação semelhante na próxima vez. Após milhares de quedas virtuais, o robô aprende a andar em terrenos acidentados praticamente sem erros - e não cai. E se for assim, ele se levanta rapidamente.
Tudo isso é então complicado pela adição de fatores externos - o robô é empurrado em diferentes direções, pedras são atiradas, etc. Como resultado, a máquina se adapta e entra em operação muito rapidamente após ser exposta a fatores externos inesperados. Os desenvolvedores dizem que as crianças aprendem quase da mesma maneira - afinal, uma criança não pode subir escadas, evitar obstáculos, evitar perigos na forma de poças, etc. Tudo isso deve ser aprendido por tentativa e erro.
Os desenvolvedores não podem prever tudo no mundo, é claro que o robô terá que reagir de alguma forma a problemas imprevistos. Mas as habilidades básicas adquiridas com esse treinamento o ajudarão a enfrentar as tarefas mais difíceis. Bem, um robô será capaz de transferir a experiência adquirida para o segundo, que - para o terceiro, etc. Tudo, como Sheckley descreveu em The Guardian Bird, apenas