Inteligência artificial
Novo Sistema Pode Levar IA a Dispositivos Portáteis, Eletrodomésticos

Uma equipe de pesquisadores do MIT está trabalhando para levar redes neurais de aprendizado profundo a microcontroladores. O avanço significa que a inteligência artificial (IA) pode ser implementada em pequenos chips de computador em dispositivos médicos portáteis, eletrodomésticos e outros 250 bilhões de objetos que compõem a “internet das coisas” (IoT). A IoT é uma rede de objetos físicos incorporados com sensores, software e outras tecnologias, que ajudam a conectar e trocar dados com outros dispositivos e sistemas.
A pesquisa será apresentada na Conferência sobre Processamento de Informações Neurais em dezembro. O autor principal da pesquisa é Ji Lin, um estudante de doutorado no laboratório de Song Han no Departamento de Engenharia Elétrica e Ciência da Computação do MIT. Os coautores incluem Han e Yujun Lin, do MIT, Wei-Ming Chen, do MIT e da Universidade Nacional de Taiwan, e John Cohn e Chuan Gan, do MIT-IBM Watson Lab.
Sistema MCUNet
O sistema é chamado de MCUNet e projeta redes neurais compactas capazes de velocidade e precisão extremas em dispositivos IoT, mesmo com memória e poder de processamento limitados. Esse sistema pode ser mais eficiente em termos de energia e melhorar a segurança dos dados.
A equipe desenvolveu o sistema de “aprendizado profundo miniaturizado” combinando dois componentes – a operação de redes neurais e microcontroladores. O primeiro componente é o TinyEngine, um motor de interface que atua como um sistema operacional, direcionando a gestão de recursos. O TinyEngine é otimizado para executar uma estrutura de rede neural específica selecionada pelo TinyNAS, que é o outro componente. O TinyNAS é um algoritmo de busca de arquitetura de rede neural.
Lin desenvolveu o TinyNAS devido à dificuldade de aplicar técnicas de busca de arquitetura de rede neural existentes a microcontroladores minúsculos. Essas técnicas existentes eventualmente encontram a estrutura de rede mais precisa e eficiente em termos de custo após começar com muitas possibilidades com base em um modelo pré-definido.
“Isso pode funcionar muito bem para GPUs ou smartphones”, diz Lin. “Mas é difícil aplicar diretamente essas técnicas a microcontroladores minúsculos, porque eles são muito pequenos”.
O TinyNAS pode criar redes personalizadas.
“Temos muitos microcontroladores que vêm com diferentes capacidades de energia e diferentes tamanhos de memória”, diz Lin. “Então, desenvolvemos o algoritmo [TinyNAS] para otimizar o espaço de busca para diferentes microcontroladores”.
Como o TinyNAS pode ser personalizado, ele pode gerar as redes neurais compactas mais eficazes para microcontroladores.
“Então, entregamos o modelo final e eficiente ao microcontrolador”, continua Lin.
Um motor de interface limpo e enxuto é necessário para que um microcontrolador execute a rede neural miniaturizada. Muitos motores de interface têm instruções para tarefas raramente executadas, o que pode dificultar um microcontrolador.
“Não tem memória off-chip e não tem um disco”, diz Han. “Tudo o que está junto é apenas um megabyte de flash, então temos que gerenciar muito bem esse recurso tão pequeno”.
O TinyEngine gera o código necessário para executar a rede neural personalizada desenvolvida pelo TinyNAS. O tempo de compilação é reduzido descartando o código morto.
“Mantemos apenas o que precisamos”, diz Han. “E, como projetamos a rede neural, sabemos exatamente o que precisamos. Essa é a vantagem do código de sistema-algoritmo”.
Os testes demonstraram que o código binário compilado do TinyEngine foi 1,9 a cinco vezes menor do que os motores de microcontrolador semelhantes, incluindo os da Google e da ARM. O uso de memória de pico também foi reduzido quase pela metade.
Habilidade do MCUNet
Os primeiros testes do MCUNet giraram em torno da classificação de imagens. O banco de dados ImageNet foi usado para treinar o sistema com imagens rotuladas, e sua habilidade foi testada em imagens novas.
Quando o MCUNet foi testado em um microcontrolador comercial, ele classificou com sucesso 70,7 por cento das imagens novas. Isso é muito melhor do que a melhor rede neural e o motor de interface anteriores, que foi 54 por cento preciso.
“Mesmo um aumento de 1 por cento é considerado significativo”, diz Lin. “Então, isso é um grande salto para configurações de microcontrolador”.
De acordo com Kurt Keutzer, um cientista da computação da Universidade da Califórnia em Berkeley, isso “estende a fronteira do design de redes neurais profundas ainda mais no domínio computacional de microcontroladores de energia eficientes”. O MCUNet pode “trazer capacidades de visão computacional inteligente até mesmo aos eletrodomésticos mais simples da cozinha, ou permitir sensores de movimento mais inteligentes”.
O MCUNet também melhora a segurança dos dados.
“Uma vantagem-chave é a preservação da privacidade”, diz Han. “Você não precisa transmitir os dados para a nuvem”.
Ao analisar os dados localmente, há uma menor chance de informações pessoais serem comprometidas.
Além disso, o MCUNet pode analisar e fornecer insights sobre informações como leituras de batimento cardíaco, pressão arterial e nível de oxigênio, trazer aprendizado profundo a dispositivos IoT em veículos e outros lugares com acesso limitado à internet, e reduzir a pegada de carbono usando apenas uma fração pequena da energia necessária para redes neurais grandes.












