rastreamento de veiculos,rastreador veicular, rastreamento moto

Como ter mais SWAG pode gerar drivers de IA mais seguros

O aprendizado profundo bayesiano pode ajudar a capturar propriedades de incerteza normalmente ignoradas pelos métodos convencionais. Ao aprender com o SWAG, mostramos que os drivers automatizados podem ser treinados para tomar decisões mais confiáveis com maior precisão.

Os veículos autônomos com rastreamento de veiculos já foram objeto de clássicos do entretenimento do século XX, como Knight Rider. Hoje, o Google tem Waymo, o Uber tem o XC90 SUV e todo Tesla moderno está equipado com sua própria versão menos tagarela do KITT, chamada piloto automático. Como um motorista comum, o cérebro de um motorista de IA precisa ser experiente, rápido e, o mais importante, confiante. Embora possamos melhorar a experiência com mais dados e a rapidez com máquinas mais poderosas ou algoritmos mais rápidos, como medimos e regulamos nossa confiança?

rastreamento de veiculos,rastreador veicular, rastreamento moto
Observe que eu disse regular e não necessariamente melhorar. Isso ocorre porque as decisões de um motorista autônomo geralmente são alimentadas por algum tipo de modelo de aprendizado profundo que já é um excesso de confiança. Dirigir com rastreador veicular não é realmente uma atividade em que o excesso de confiança compense; erros raros podem ter consequências devastadoras. Ninguém está convencendo os modelos de aprendizado profundo, são apenas funções determinísticas que não podem representar incerteza. É aqui que os métodos bayesianos vencem.
Descida de gradiente estocástico

de DNNs que demonstram desempenho notável em uma variedade de tarefas de previsão, que variam da tradução do idioma à classificação da imagem. Eles geralmente contêm centenas de milhares de parâmetros que podem ser ajustados para aprender padrões complicados a partir dos dados.

No aprendizado supervisionado, o objetivo é aprender p (y | θ, X); procuramos parâmetros de modelo θ que, juntamente com nossos dados de características X, podem ser usados ​​para discriminar ou prever as observações em nossa variável de destino y. Para qualquer θ, podemos calcular quão bem nosso modelo representa os dados usando uma métrica de perda apropriada L, como o erro quadrático médio (MSE) no caso de um modelo de regressão com probabilidade logarítmica negativa para tarefas de classificação.

Se plotarmos L contra θ, podemos visualizar como a magnitude da perda varia no espaço de parâmetros:

Uma visualização da superfície de perda do RESNET-20 para o conjunto de dados CIFAR10. Crédito: Timur Garipov e colegas.
Esta bela ilustração é ampliada para a superfície de perda altamente não convexa do RESNET-20 DNN treinado no conjunto de dados CIFAR10. Cada θ ao longo dos eixos (x, y) representa essencialmente um novo modelo, com seu erro rastreado pela altura de L ao longo do eixo z; Idealmente, queremos escolher θ com o menor valor de L. A descida do gradiente estocástico (SGD) atua como uma espécie de GPS, levando-nos a partir de um local inicial inicial pelo caminho de maior descida até atingirmos um dos muitos mínimos locais . Para quem não conhece o SGD, recomendo começar pela fantástica visão geral de Andrew NG aqui.

rastreamento de veiculos,rastreador veicular, rastreamento moto

Este método não tem desvantagens:

Argumentou-se que o SGD convencional apenas converge para os limites de um conjunto de redes de alto desempenho. Variações de pequenas amostras podem levar a mudanças na superfície da perda entre conjuntos de dados de treinamento e teste que afastam θ desse limite, levando a uma generalização ruim.
O SGD é frequentemente usado com uma taxa de aprendizado decadente para convergir para um θ ideal. Embora isso acelere a inferência, não oferece muita cobertura para todo o espaço de possíveis soluções.

Negligenciamos a incerteza associada a θ quando fazemos previsões que levam a estimativas com excesso de confiança.

Como podemos resolver esses problemas de uma maneira que não exija muita sobrecarga computacional adicional?

SWAG para redes bayesianas

O SWA no SWAG significa Média Estocástica de Peso, um método que aborda especificamente as duas primeiras desvantagens. A idéia é começar com uma solução pré-treinada θ_ {pre} e aumentar a taxa de aprendizado para explorar a geometria local usando o SGD. A cada passo i, passamos para uma nova posição no espaço de pesos θ_ {i} a uma taxa de aprendizado constante ou cíclica.

A taxa de aprendizado constante dá origem a uma nova solução, que calculamos a média sucessiva de nossa solução pré-treinada para fornecer a solução SWA θ_ {swa}. Para a taxa de aprendizado cíclico, o solucionador “salta” de um mínimo local e converge para outra solução próxima; a solução convergida no final do ciclo de aprendizado é calculada com a solução treinada. Os autores mostram que é mais provável que esta nova solução seja centrada em um amplo conjunto de redes de alto desempenho e destacam uma precisão de previsão aprimorada em muitas redes de classificação de imagens e residuais.

Maddox et al. envolva a abordagem na magia bayesiana, estendendo SWA a SWA (G) aproximando a superfície do erro local usando um modelo gaussiano multivariado da forma N (θ_ {swa}, Σ).

rastreamento de veiculos,rastreador veicular, rastreamento moto
Σ é uma matriz de covariância que rastreia a variação ao longo da geometria local e é atualizada usando cada novo ponto θ_ {i} movido para o caminho do algoritmo SWA. Infelizmente, a computação Σ é cara se incluirmos todas as iterações i; DNNs contêm milhões de parâmetros. Como um hack de velocidade, os autores usam o conjunto completo de iterações para atualizar apenas os elementos diagonais em Σ, com as diagonais não calculadas usando os últimos termos T ao longo do SGD.

Agora, a melhor parte: não temos mais apenas uma opção para θ, temos uma distribuição inteira dada por N (θ_ {swa}, Σ), que caracteriza a geometria em torno de θ_ {swa}. Isso nos permite modelar diretamente a incerteza em qualquer previsão usando a média do modelo bayesiano. Em princípio, isso envolve integrar θ de p (y | θ, X) para nos dar p (y | X). Na prática, isso é intratável computacionalmente, portanto, estabelecemos uma aproximação por amostragem de Monte Carlo: amostragem θ_ {k} ~ N (θ_ {swa}, Σ) K vezes e média de 1 / K (Σ p (y | θ_ {k}) , X)).

O SWAG demonstrou um desempenho impressionante nas tarefas de classificação, segmentação e regressão de imagens, mas como será justo na direção automatizada?
Condução autônoma com SWAG

A Udemy lançou um ótimo simulador de direção em 2016 que pode ser usado para coletar manualmente dados de treinamento e manipular E / S de uma API python. A arquitetura de rede e as etapas de pré-processamento de dados usadas neste experimento vêm de um ótimo tutorial de Manajit Pal, que também inclui um link para o conjunto de dados usado para uma das duas trilhas.

Essencialmente, a rede é uma rede neural convolucional modificada com camadas lineares prevendo um único ângulo de direção. A rede usa como entrada as vistas direita, central e esquerda da perspectiva do motorista do carro. Como esta é uma tarefa de regressão, o erro quadrático médio é usado como critério de perda. Todo o código foi escrito em python, com inferência feita usando pytorch e o repositório de treinamento SWAG lançado por Maddox et al.

Os dados foram divididos em conjuntos de treinamento e validação usando uma atribuição aleatória do rastreamento moto semeada em 80:20. Primeiro, uma rede inicial foi treinada usando SGD convencional em mais de 60 épocas, com uma taxa de aprendizado de decaimento linear inicialmente definida como 0,1 para 30 épocas, decaindo linearmente para 0,00001 e permanecendo fixa pelas 6 épocas finais. O momento foi definido como constante 0,9 durante o treinamento com a regularização de L2 alcançada usando uma queda de peso de 0,0001. A convergência foi tipicamente observada após 40 épocas.

O SWAG foi executado por mais 60 épocas, atualizando a taxa de aprendizado cíclico de cada época, conforme descrito por Izmailov et al.,:

t (i) = (mod (i – 1, c) + 1) / c,
α (i) = (1 – t (i)) α1 + t (i) α2

usando os parâmetros da taxa básica de aprendizado (α1, α2) = {(10−1, 10−3) ec é a duração do ciclo definida para 5 épocas. Registrei o trem / validação MSE e os converti em probabilidades de log negativas para facilitar a interpretação. Podemos realizar uma Decomposição de Valor Singular (SVD) na matriz de covariância obtida para projetar nossa superfície de perda do conjunto de validação em um plano bidimensional definido pelos vetores próprios:

Aqui, v1, v2 representam distâncias da solução SWA em um plano de baixa dimensão abrangido pelos dois primeiros autovetores SVD. Esta é uma representação com dimensões muito baixas, mas captura a geometria da superfície de perda incrivelmente bem !! Vimos que, embora nossa solução SGD esteja dentro da região SWAG 3σ (linha tracejada verde), ela é consideravelmente distante da solução média SWAG, que fica no centro do amplo limite de perdas.

O veredicto final está em vigor: nosso modelo SGD alcança um NLL de conjunto de validação de 0,91 ± 0,0115, enquanto a construção SWAG apresenta uma perda menor e uma confiança mais forte ligada à solução com 0,88 ± 0,0094.

Como essa estrutura é extremamente flexível, ela pode ser estendida a redes de condução autônoma mais complexas que possuem componentes semelhantes a memória, como LSTMs. Mas, por enquanto, espero ter convencido você de que as redes Bayesianas são realmente incríveis e têm uma promessa tão grande para o futuro.

Um grande alerta para o ambiente colaborativo do Google que impulsionou este projeto, eles fornecem horas de GPU gratuitamente para que qualquer pessoa possa treinar seus modelos! Também ao Dr. Marco Antonio Awada por sua grande orientação em geometria da informação e suas aplicações ao Deep Learning.

 

Fonte


Marketing Digital