← Últimos artigos
🤖 machine learning

Neural Network Training with Approximate Logarithmic Computations

Este artigo propõe um esquema de treinamento e inferência de rede neural profunda de ponta a ponta usando computações de sistema de números logarítmicos aproximados com aritmética de ponto fixo, demonstrando que o processamento em domínio logarítmico de 16 bits alcança uma precisão de classificação dentro de aproximadamente 1% das bases de ponto flutuante, ao mesmo tempo em que elimina a necessidade de multiplicadores de hardware.

Autores originais: Arnab Sanyal, Peter A. Beerel, Keith M. Chugg

Publicado 2019-10-22
📖 4 min de leitura☕ Leitura rápida

Autores originais: Arnab Sanyal, Peter A. Beerel, Keith M. Chugg

✨ Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

No mundo moderno, os computadores tornaram-se extraordinariamente bons em reconhecer padrões, desde identificar um gato em uma fotografia até compreender palavras faladas. Essa habilidade provém de um tipo de software chamado rede neural, que é projetada para imitar a maneira como o cérebro humano processa informações, conectando muitas unidades de processamento simples entre si. Para tornar essas redes inteligentes, elas devem ser treinadas usando vastas quantidades de dados, um processo que exige que o computador realize bilhões de cálculos complexos. Tradicionalmente, esses cálculos dependem fortemente da multiplicação, uma operação que é matematicamente direta, mas que requer energia significativa e hardware especializado para ser realizada rapidamente. À medida que tentamos executar esses sistemas inteligentes em dispositivos menores, alimentados por bateria, como smartphones ou sensores, a alta demanda por multiplicação torna-se um gargalo, drenando energia e retardando o processo de aprendizado.

Uma equipe de pesquisadores da University of Southern California propôs uma maneira diferente de lidar com esses cálculos, uma que poderia tornar o treinamento dessas redes muito mais eficiente. Em vez de realizar a multiplicação padrão exigida pelos métodos tradicionais, eles sugerem converter todos os números para um formato logarítmico. Neste sistema, a tarefa difícil de multiplicar dois números é substituída pela tarefa muito mais simples de somá-los. Embora essa conversão pareça promissora, ela introduz um novo desafio: somar números neste formato logarítmico não é tão simples quanto a adição padrão e geralmente requer tabelas de consulta complexas ou aproximações para funcionar corretamente. Os pesquisadores buscaram verificar se poderiam simplificar ainda mais essas adições, usando aproximações grosseiras que sejam fáceis de serem construídas pelo hardware, sem arruinar a precisão do resultado final.

Os pesquisadores desenvolveram um sistema completo onde todo o processo de treinamento e teste de uma rede neural acontece dentro deste mundo logarítmico. Eles substituíram as etapas de multiplicação padrão por adição e lidaram com as partes complicadas da adição logarítmica usando dois atalhos específicos. Um atalho utiliza uma pequena tabela de valores pré-calculados, semelhante a uma folha de consulta, enquanto o outro utiliza uma técnica simples de deslocamento de bits (bit-shifting), que é uma forma rápida de computadores multiplicarem por potências de dois. Para testar sua ideia, eles construíram uma simulação digital de uma rede neural e a treinaram em vários conjuntos de dados de imagens bem conhecidos, incluindo fotos de dígitos manuscritos e itens de vestuário. Eles compararam seu novo método logarítmico com o método padrão de ponto flutuante de alta precisão que é atualmente usado na maioria dos computadores potentes.

Os resultados foram surpreendentemente encorajadores. Quando os pesquisadores usaram uma representação de 16 bits para seus números, o método logarítmico alcançou uma precisão de classificação que ficou a cerca de um por cento do método de ponto flutuante padrão. Isso significa que, apesar de usar matemática simplificada e aproximações, a rede aprendeu a reconhecer imagens quase tão bem quanto o sistema tradicional. Eles descobriram que, mesmo com uma tabela de consulta muito pequena contendo apenas vinte entradas, o sistema teve um bom desempenho e, em muitos casos, o atalho simples de deslocamento de bits foi suficiente para manter a alta precisão. O estudo sugere que, para muitas tarefas comuns, uma representação de ponto fixo de 16 bits no domínio logarítmico é suficiente para se aproximar do desempenho de computações de ponto flutuante muito mais complexas.

Este trabalho demonstra que é possível treinar redes neurais profundas sem depender de hardware de multiplicação caro, desde que as operações de adição sejam tratadas com essas aproximações específicas. Os pesquisadores mostraram que a degradação na precisão é mínima, sugerindo que futuros designs de hardware poderiam potencialmente eliminar multiplicadores inteiramente para tarefas de treinamento e inferência. Isso levaria a dispositivos menores, mais rápidos e mais eficientes energeticamente, capazes de aprender e se adaptar diretamente na borda (edge) sem a necessidade de enviar dados de volta para um servidor grande. Embora o estudo tenha se concentrado em tipos específicos de redes e conjuntos de dados, as descobertas indicam um caminho viável para tornar a inteligência artificial avançada mais acessível e prática para dispositivos do cotidiano.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →