Conheça o Swift! Um sistema de aprendizado de máquina que guiou um drone quadricóptero que venceu campeões humanos em corridas acirradas. O drone aprendeu sozinho o caminho mais rápido! Um grande passo para a robótica e para a inteligência artificial.
Ah! Falando em aprendizado de máquina, olha o que o MIT apresentou como uma possibilidade para superar os limites atuais da evolução da IA. Clica aqui!
Imagine um circuito de corrida de drones indoor. Entre os competidores está um que é diferentão: ele é alimentado por inteligência artificial.
O quadricóptero alimentado pelo sistema de aprendizado de máquina chamado Swift desafiou três campeões humanos, incluindo os vencedores mundiais de duas ligas internacionais. Em impressionantes 15 de 25 corridas, esse competidor superou seus rivais humanos. Esta foi a primeira vez que a inteligência artificial triunfou sobre os humanos em um esporte competitivo do mundo real.
Não é a primeira vez que máquinas mostram superioridade sobre a inteligência humana em jogos. Em 1997, o Deep Blue da IBM deixou o mundo do xadrez em choque ao derrotar o lendário Garry Kasparov. Em 2016, o Google desenvolveu um programa de inteligência artificial que dominou o intricado jogo de Go, superando o campeão mundial Lee Sedol.
Embora essas conquistas tenham sido incríveis, todas tinham algo em comum: as batalhas eram travadas em tabuleiros ou mesas, que eram, essencialmente, ambientes controlados e previsíveis. Mas uma competição que envolve movimentos físicos difíceis, como é o caso de uma corrida de drones, adiciona camadas de complexidade que jogos de tabuleiro não têm.
Um momento importante do aprendizado de máquina (machine learning)
O que torna a corrida de drones um desafio maior para o aprendizado de máquina é a imprevisibilidade.
Quando se lida com simulações, como as de jogos de tabuleiro, tudo é previsível. Existem regras definidas e resultados limitados. Mas quando elementos do mundo real entram em cena – como o vento, a iluminação, o empurrão inesperado de outro drone – as coisas se complicam infinitamente. Traduzir simulações para cenários da vida real é um desafio gigante.
A genialidade por trás do sucesso deste quadricóptero foi um esforço colaborativo liderado por Elia Kaufmann, engenheira de autonomia da Skydio, empresa de drones de Redwood City, Califórnia, que anteriormente trabalhava na Universidade de Zurique.
A equipe elaborou uma estratégia que combinou a programação tradicional com técnicas avançadas de aprendizado de máquina, uma combinação do reforço profundo (RL – reinforcement learning) em simulação e dados coletados no mundo real.
Os pesquisadores utilizaram uma rede neural para mapear a estratégia e o algoritmo de Otimização de Política Proximal (PPO – Proximal Policy Optimization) para treinar a rede. A estratégia então foi colocada à prova contra campeões humanos.
Primeiramente, Kaufmann apresentou ao drone como eram os portões de corrida. Imagine alguém rotulando meticulosamente, identificando manualmente os portões de tecido em dezenas de milhares de imagens – um método denominado aprendizado supervisionado. Em paralelo, a equipe empregou programação convencional que permitiu ao drone triangular sua posição e orientação usando a entrada visual de suas câmeras.
A grande novidade foi o uso de aprendizado por reforço. O código de controle do drone foi imerso em uma versão virtual do circuito de corrida. Em uma equivalência a 23 dias no mundo real (mas apenas uma hora em tempo de computação), o código aprimorou suas habilidades, aperfeiçoando a rota, garantindo a máxima velocidade e passando por todos os portões em sequência.
Leonard Bauersfeld, Ph.D. estudante do grupo de robótica e percepção da Universidade de Zurique que esteve envolvido no projeto, afirmou orgulhosamente que esse treinamento rigoroso permitiu que o drone de IA superasse os concorrentes humanos 60% das vezes!
Simplificando: Os métodos utilizados no Swift
Por falar em simplificar, clicando aqui você vai entender 10 coisas bem importantes para ficar por dentro do que está rolando, incluindo uma explicação sobre aprendizado de máquina!
Redes neurais feedfoward
Este é um tipo de rede neural artificial que consiste em múltiplas camadas de nós interconectados (nós são unidades individuais ou “neurônios” dentro de uma rede), tendo sido treinada por aprendizado de máquina do tipo supervisionado.
Imagine que o sistema Swift possui uma estrutura parecida com uma rede de estações de trabalho, cada uma conectada à próxima. Essa estrutura é chamada de rede neural feedforward. Os dados entram pela primeira estação e passam de uma estação para outra, sempre em uma direção, até chegarem ao final.
Agora, para que Swift funcione corretamente, essa rede precisa ser treinada. Isso é como ensinar a rede o caminho correto a seguir. Esse treinamento ajusta as conexões entre as estações para que as previsões da rede fiquem o mais próximo possível do que é esperado.
O objetivo do Swift é guiar um drone em uma corrida. Para isso, ele utiliza essa rede para transformar o que “vê” (através de um sistema de percepção) em comandos de controle para o drone. E o interessante é que ele é treinado para maximizar sua performance, buscando sempre passar exatamente no centro dos portões da corrida e mantendo-os sempre à vista.
O que é Proximal Policy Optimization?
Este é um tipo de algoritmo de aprendizado de máquina por reforço. Trata-se de uma abordagem que envolve a otimização conjunta de duas redes neurais durante o treinamento: a rede de política, que mapeia observações para ações, e a rede de valor, que avalia a qualidade das ações tomadas pela política
Imagine o sistema Swift como um estudante tentando aprender a melhor forma de pilotar um drone em uma corrida. O PPO, é como o método de estudo que ele utiliza.
Nesse método, Swift tem dois “livros de estudo”. O primeiro livro, chamado de “rede de política”, ajuda-o a decidir qual ação tomar com base no que ele vê. O segundo livro, a “rede de valor”, ajuda a avaliar o quão boa foi a ação tomada.
O PPO garante que o sistema não faça mudanças muito drásticas no que aprendeu, para que ele não fique confuso. Assim, ele muda suas ações passo a passo, garantindo estabilidade. Além disso, ele usa a “rede de valor” para prever o resultado das suas ações, tornando seu aprendizado mais preciso.
Durante o estudo, Swift pratica suas ações, coletando dados para entender o que funciona melhor. Após aprender tudo, ele usa apenas o primeiro “livro” (a rede de política) para guiar o drone na corrida.
O futuro depois do Swift
Por enquanto o drone é feito sob medida para cursos e ambientes específicos. Assim, uma simples mudança de um ambiente interno para o externo poderia confundi-lo, principalmente devido a mudanças na iluminação. Além disso, imprevistos do mundo real, como um leve toque de outro drone, podem fazê-lo espiralar.
Bauersfeld apontou que a falta de adaptabilidade do drone significa que estamos longe de ver essa tecnologia transformada em, por exemplo, drones militares sofisticados.
Guido de Croon, da Universidade de Delft investigador da Universidade de Delft, sugeriu que para superar consistentemente os pilotos humanos, drones como este precisam evoluir, se adaptando às condições de luz em constante mudança, ventos e outros elementos dinâmicos que constituem ambientes de corrida ao ar livre.
No entanto, este é um marco para a robótica móvel e para o aprendizado de máquina, e pode inspirar a implantação de soluções híbridas baseadas em aprendizado em outros sistemas físicos, como veículos terrestres autônomos, aeronaves e robôs pessoais, levando potencialmente a sistemas mais avançados e capazes no futuro.
Tudo isso não se trata apenas de um drone com aprendizado de máquina vencendo uma corrida, é o vislumbre de um futuro onde a linha entre os mundos virtual e real é cada vez mais tênue e onde a tecnologia expande continuamente os limites do possível.
Fonte: NPR | artigo completo da Nature disponível