BT

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

| por Roland Meertens Seguir 7 Seguidores , traduzido por Leandro Guimarães Seguir 3 Seguidores em 31 ago 2017. Tempo estimado de leitura: 2 minutos |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT