Uma nova maneira de dirigir

A CES já foi uma celebração do progresso e do entusiasmo na indústria de rastreamento de veiculos Agora, tornou-se um lembrete anual de quanto as coisas permaneceram iguais. Novamente, as empresas anunciaram mais quilômetros percorridos, reinventaram mais interiores de carros e fizeram mais promessas em um período de 5 a 15 anos. Mas nenhum deles anunciou um verdadeiro carro autônomo à venda, então muito pouco mudou.

Está claro que a robótica, a abordagem que dominou a última década do desenvolvimento de antivírus, se mostrou inadequada para resolver a enorme complexidade da direção no mundo real.

rastreamento de veiculos,rastreador veicular, rastreamento moto
Mas há esperança. A partir de 2017, novas empresas de rastreador veicular, incluindo a minha empresa, Ghost, começaram a adotar uma abordagem de aprendizado de máquina de ponta a ponta para dirigir autônomo. Com base em algumas das mais recentes inovações em aprendizado de máquina, essa abordagem de aprendizado representa uma maneira totalmente nova de dirigir um carro e um afastamento radical da robótica, que falhou em veículos autônomos na última década.

Hoje, quero aprofundar-me nessa mudança e compartilhar por que acredito que esse novo paradigma de aprendizado é a única abordagem que acabará por colocar carros autônomos na estrada com segurança em massa.

Foi então: Robótica

As primeiras empresas de veículos autônomos nasceram dos departamentos de robótica das principais universidades, inspiradas nos Grandes e Urbanos Desafios da DARPA. O Departamento de Defesa patrocinou esses concursos para explorar as possíveis aplicações de veículos não tripulados. As pistas de obstáculos da DARPA eram bastante simples (versus as complexidades da condução no mundo real) e, na época, uma solução de software baseada em regras para mover um robô físico por um ambiente restrito era a melhor opção para solucionar o problema. Além disso, o aprendizado de máquina como o conhecemos ainda não havia sido inventado.

rastreamento de veiculos,rastreador veicular, rastreamento moto
A robótica é fundamentalmente definida por restrições, que são minuciosamente programadas pelos engenheiros. Uma olhada na pilha clássica de softwares de veículos autônomos revela uma longa lista de regras sobre o que um computador não pode fazer: os mapas em HD indicam onde ele não pode dirigir, o reconhecimento de objetos indica o que ele não pode atingir, as regras pré-programadas do estrada diga como ele não pode se comportar. O que resta – a superfície dirigível menos impedimentos, é o caminho a seguir. Mas o que funcionou bem em uma pista de obstáculos se mostrou inadequado para as complexidades da condução no mundo real.

Quando os robôs falham

A robótica funciona até que suas restrições entrem em conflito – quando uma de suas regras o força a quebrar uma de suas outras regras. Mas qual regra seguir: você deve permanecer na sua faixa ou evitar uma colisão? Ao dirigir, as pessoas chamam esses casos extremos de “exceções” que povoam a cauda longa e gorda do motorista. Para ser claro, os casos extremos não são fenômenos naturais (como um cervo correndo pela estrada), mas o resultado do software que você escreve em conflito com outro software que você escreve (“fique na sua pista” entra em conflito com “não” bata veado “).

Descompactar e resolver esses casos extremos é uma tarefa complexa e trabalhosa, exigindo que uma pessoa determine qual regra tem precedência em todas as instâncias. Ele adiciona uma nova camada de suposições humanas, onde, por definição, você deve enfatizar algo que você já considerou importante. É trabalho duro.

O maior desafio, no entanto, é rastreamento moto. O número de casos de borda aumenta pelo quadrado do número de regras. Se você possui 100 regras em seu modelo e cada regra individual pode entrar em conflito com todas as outras regras, você possui 10.000 possíveis casos extremos. Quanto mais complexo o cenário de direção, mais regras são necessárias para dirigir com segurança – e o número de casos extremos explode. Uma situação complexa pode exigir 1.000 regras, o que produziria 1.000.000 de possíveis casos extremos. Resolvê-los manualmente é quase impossível.

Se isso lhe parecer uma maneira não natural de dirigir, deveria. A robótica se torna rapidamente engolida por uma sobrecarga de informações. Não existe um mecanismo escalável para filtrar ou priorizar as informações; portanto, os programas estão constantemente avaliando decisões no contexto de milhares de regras e ainda mais exceções. Onde as pessoas se destacam, os robôs ficam paralisados.

Dirigir é um problema de aprendizagem

Dirigir não é um problema de regras, é um problema de aprendizado – a maioria é determinar o que é importante e o que pode ser ignorado. As pessoas podem dirigir porque nos tornamos extremamente bons em filtrar ruídos, não porque nos tornamos especialmente bons em memorizar muitas regras e exceções.

O principal desafio é que há muito barulho na estrada. A entrada total de dados em um dado momento na estrada é enorme, mas apenas uma pequena fração é importante na tomada de sua próxima decisão de direção. Considere a via expressa – apesar de um fluxo constante de carros passando por você em ambas as direções, momento a momento, quase todas as suas decisões são baseadas em alguns marcadores de faixa e na distância entre você e o carro à sua frente.

Mas quando um carro desvia em sua direção a partir de duas faixas acima, o que foi uma entrada irrelevante momentos atrás se torna central para sua decisão em fração de segundo. Determinar que entrada de dados é importante em que momento é o coração da tarefa.

Esse tipo de priorização é o que o aprendizado de máquina faz melhor. Os modelos de aprendizado de máquina coletam muitas e muitas informações, descobrem sua relevância e otimizam para um determinado resultado. Ao dirigir, isso significa aprender quais sinais são importantes e quais sinais podem ser ignorados, sem ficar preso, escolhendo todas as regras possíveis.

rastreamento de veiculos,rastreador veicular, rastreamento moto

Essa idéia representa uma mudança de paradigma no desenvolvimento da lógica de direção para veículos autônomos, que pode oferecer uma ordem de magnitude de produto melhor e mais seguro.

Na robótica, você escreve um monte de regras, as coloca em um carro e dirige para ver se elas funcionam. É essencialmente “adivinhe e verifique” – seus modelos são baseados em quaisquer suposições que um engenheiro possa fazer sobre dirigir. Quando ele quebra, você resolve os casos extremos, escrevendo exceções manualmente. Então você repete o processo. Isso é limitado de várias maneiras – primeiro, suas suposições são feitas, sujeitas a erros ou preconceitos humanos. Segundo, é difícil mudar suas suposições – com todas as exceções criadas em cima de todas as regras, torna-se extremamente caro ajustar suas suposições iniciais, como começar de novo.

Por outro lado, um sistema de aprendizado é um processo iterativo projetado para descobrir o programa ideal para dirigir um carro. Em vez de começar fazendo suposições sobre como dirigir, você começa observando como as pessoas realmente dirigem no mundo real. Esses dados – capturando o que as pessoas veem e o que fazem a seguir – servem como verdade fundamental para seus modelos.

Em seguida, você usa técnicas de aprendizado de máquina para descobrir quais recursos do ambiente realmente afetam as decisões de condução e como as pessoas melhor navegam no mundo com segurança. Esse processo é altamente iterativo, testando uma ampla seleção de possíveis entradas e medindo o desempenho do modelo em relação a mais dados do mundo real. Você está essencialmente desenvolvendo um modelo de direção inversa, começando com a resposta certa e depois usando a matemática para descobrir como as pessoas chegam a essa resposta.

A vantagem óbvia aqui é a flexibilidade. Quando os engenheiros tentam escrever regras de direção em robótica, eles estão supondo. Ninguém sabe exatamente quais recursos ou informações de uma cena influenciam nosso comportamento ao dirigir. Com os sistemas de aprendizado, as suposições são removidas – você pode descobrir as informações mais importantes e o comportamento correto, observando muita condução no mundo real. Um sistema que pode hipotetizar, treinar e medir rapidamente não é mais limitado por uma lista de regras; qualquer matriz de sinais (por exemplo, objetos, classificadores, reconhecedores de sinais, regras de trânsito de mapas em HD) pode ser testada para encontrar a combinação ideal. Esse é provavelmente o maior benefício da nova era do aprendizado de máquina – permitir que os computadores encontrem padrões no mundo que as pessoas não conseguiram descrever completamente com a programação linear. A flexibilidade de testar muitas variáveis ​​leva a um produto superior.
Mas a Waymo não usa aprendizado de máquina?
Um aspecto: existe um mito popular sobre o aprendizado de máquina em veículos autônomos baseados em robótica. Quase todos os sistemas de veículos autônomos usam aprendizado de máquina para percepção e classificação de objetos móveis, determinando essencialmente a diferença entre uma bicicleta e um coelho na rua. Mas o sistema de aprendizado para em uma parede de código convencional quando se trata de tomar a decisão de dirigir (também conhecida como “a parte mais difícil”). Na robótica, dirigir (ou “planejar”) é apenas uma lista de regras convencionais, como escrevemos em software há mais de 50 anos.

Erguido pelas ruas

Por fim, os veículos autônomos são julgados por seu desempenho nas ruas. O sistema de aprendizagem novamente tem uma vantagem distinta sobre a robótica em sua capacidade de oferecer algo que podemos realmente usar com segurança e confiabilidade no mundo real.

Os sistemas de aprendizado começam no mundo real. Os modelos são treinados por enormes conjuntos de dados do mundo real e testados contra conjuntos ainda maiores de dados do mundo real, retidos para esse objetivo exato. Quando um modelo sai na estrada, você pode provar rapidamente sua eficácia em milhões – ou até bilhões – de quilômetros antes de colocá-lo em um carro.

A robótica não pode fazer a mesma afirmação. Essas máquinas só podem testar seu software dirigindo pelo mundo real. É extremamente caro e demorado testar apenas milhares de quilômetros e muito menos milhões de quilômetros no mundo real. Além disso, você precisa constantemente começar a testar do zero a cada alteração de software. A experiência anterior de conduzir foi conduzida com software antigo, o que não pode provar o desempenho do seu novo software.

O aprendizado de máquina está virando o mundo do software de cabeça para baixo, superando dramaticamente décadas de trabalho em programação linear e robótica. Isso revigorará a possibilidade de uma verdadeira direção autônoma, mudando nossa vida cotidiana nos próximos anos. Eu sou otimista.

 

Referência


Marketing Digital