BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Pesquisador do Google cria tecnologia para utilização de redes neurais em dispositivos móveis

Pesquisador do Google cria tecnologia para utilização de redes neurais em dispositivos móveis

Favoritos

Recentemente, diversas empresas lançaram aplicações que utilizam redes neurais. Redes neurais pode demandar uma grande quantidade de recursos computacionais. Por esse motivo, elas geralmente aparecem em soluções as a service, executadas em poderosos servidores GPU. Para aplicações que precisam ser executadas sem o acesso à internet, precisando ser rápidas e responsivas, ou quando a privacidade é uma questão crítica, a utilização de servidores na rede se torna inviável.

Posteriormente, muitas empresas divulgaram que estavam trabalhando na criação de meios de se colocar uma rede neural dentro de um dispositivo móvel. A Apple já anunciou sua Plataforma CoreML na WWDC 2017. O Google, por sua vez, está trabalhando em uma versão do popular toolkit do Tensorflow para dispositivos móveis chamado "Tensorflow Lite". O Google também lançou diversos modelos previamente treinados de reconhecimento de imagens, onde os desenvolvedores podem escolher como balancear eficiência e precisão.

Ainda que desenvolvedores possam rodar suas redes em dispositivos móveis, ainda há uma limitação nas opções para se criar aplicações mais rápidas com redes neurais. Uma das possibilidades é reduzir o tamanho da rede, o que geralmente vem acompanhado de uma menor precisão. Uma outra opção é treinar uma rede completa e reduzir sua precisão após esse treinamento, o que acaba tornando difícil se ter uma estimativa dos efeitos dessa redução na performance. Existem ainda algumas técnicas mais antigas, como a "Optimal Brain Damage" criada pelo Diretor de Inteligência Artifical do Facebook, Yann LeCun. Nenhum desses métodos de otimização de redes tornaram-se populares.

O pesquisador da Google, Sujith Ravi, apresentou uma nova proposta: treinar duas redes neurais conjuntamente. Uma delas é uma rede neural completa, chamada de rede treinadora. A outra rede, chamada de rede de projeção, é uma rede que tenta representar as entradas e representações intermediárias da rede treinadora em uma estrutura de baixa memória, utilizando funções eficientes. Ambas as redes são treinadas ao mesmo tempo e compartilham a mesma função de perda. Dessa forma, a rede de projeção aprende com a rede treinadora. Quando ambas as redes neurais estiverem prontas para serem utilizadas, a rede maior continua no servidor, enquanto que os usuários podem fazer o download da pequena e eficiente rede em seus dispositivos móveis.

A publicação de Sujith Ravis está disponível no Arxiv. O artigo também apresenta quantos bits você precisa para ter uma boa classificação em diversos set de dados famosos.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT