Demonstrador AIfES para reconhecimento de escrita. Os números escritos à mão no touchpad PS / 2 são identificados e emitidos pelo microcontrolador. Crédito:Fraunhofer-Gesellschaft
Hoje, os microcontroladores podem ser encontrados em quase todos os dispositivos técnicos, de máquinas de lavar a medidores de pressão arterial e vestíveis. Pesquisadores do Instituto Fraunhofer de Circuitos e Sistemas Microeletrônicos IMS desenvolveram o AIfES, um conceito de inteligência artificial (AI) para microcontroladores e sensores que contém uma rede neural artificial totalmente configurável. AIfES é uma biblioteca de aprendizado de máquina independente de plataforma que pode ser usada para realizar microeletrônica de autoaprendizagem que não requer conexão a uma nuvem ou a computadores de alto desempenho. O sistema de IA relacionado ao sensor reconhece escrita à mão e gestos, habilitando, por exemplo, o controle por gestos de entrada quando a biblioteca está sendo executada em um wearable.
Uma grande variedade de soluções de software existe atualmente para aprendizado de máquina, mas, via de regra, eles estão disponíveis apenas para PC e são baseados na linguagem de programação Python. Ainda não existe uma solução que possibilite executar e treinar redes neurais em sistemas embarcados como microcontroladores. No entanto, pode ser útil conduzir o treinamento diretamente no sistema embarcado, por exemplo, quando um sensor implantado deve se calibrar. A visão é uma IA relacionada ao sensor que pode ser integrada diretamente a um sistema de sensor. Uma equipe de pesquisadores da Fraunhofer IMS tornou esta visão uma realidade na forma de AIfES (Artificial Intelligence for Embedded Systems), uma biblioteca de aprendizado de máquina programada em C que pode ser executada em microcontroladores, mas também em outras plataformas, como PCs, Raspberry PI e Android. A biblioteca atualmente contém uma rede neural artificial (ANN) completamente configurável, que também pode gerar redes profundas para aprendizagem profunda, quando necessário. Uma RNA é uma tentativa de simular matematicamente o cérebro humano usando algoritmos para tornar contextos funcionais aprendíveis para os algoritmos. AIfES foi otimizado especificamente para sistemas embarcados.
"Reduzimos o código-fonte ao mínimo, o que significa que a RNA pode ser treinada diretamente no microcontrolador ou no sensor, ou seja, o sistema embarcado. Além disso, o código-fonte é universalmente válido e pode ser compilado para quase todas as plataformas. Como os mesmos algoritmos são sempre usados, uma ANN gerada, por exemplo, em um PC pode ser facilmente transferida para um microcontrolador. Até agora, isso tem sido impossível desta forma com soluções de software disponíveis comercialmente, "diz o Dr. Pierre Gembaczka, pesquisador associado da Fraunhofer IMS.
Proteção de privacidade
Outro recurso de qualificação única da IA relacionada a sensores do Fraunhofer IMS:até agora, a inteligência artificial e as redes neurais têm sido usadas principalmente para processamento de imagem e reconhecimento de voz, às vezes com os dados saindo dos sistemas locais. Por exemplo, perfis de voz são processados na nuvem em servidores externos, uma vez que o poder de computação do sistema local nem sempre é adequado. “É difícil proteger a privacidade neste processo, e enormes quantidades de dados são transmitidos. É por isso que escolhemos uma abordagem diferente e estamos abandonando os processos de aprendizado de máquina na nuvem em favor do aprendizado de máquina diretamente no sistema integrado.
Uma vez que nenhum dado sensível sai do sistema, a proteção de dados pode ser garantida e as quantidades de dados a serem transferidas são significativamente reduzidas, "diz Burkhard Heidemann, Gerente do grupo "Embedded Systems" na Fraunhofer IMS. "Claro que não é possível implementar modelos gigantes de aprendizado profundo em um sistema embarcado, portanto, estamos aumentando nossos esforços para fazer uma extração de recursos elegante para reduzir os sinais de entrada. "Incorporando a IA diretamente no microcontrolador, os pesquisadores tornam possível equipar um dispositivo com funções adicionais sem a necessidade de modificações caras de hardware.
Demonstrador AIfES para reconhecimento de escrita. Todas as funções foram integradas no Arduino UNO, que lê os valores do sensor do touchpad, realiza o reconhecimento de número e exibe o resultado no display. Crédito:Fraunhofer-Gesellschaft
Reduzindo dados
O AIfES não se concentra no processamento de grandes quantidades de dados, em vez disso, transferir apenas os dados necessários para construir redes neurais muito pequenas. “Não estamos seguindo a tendência de processamento de big data; estamos nos atendo aos dados absolutamente necessários e criando uma espécie de micro-inteligência no sistema embarcado que pode resolver a tarefa em questão. Desenvolvemos novas extrações de recursos e novos estratégias de pré-processamento de dados para cada problema, de modo que possamos realizar a menor RNA possível. Isso permite o aprendizado subsequente no próprio controlador, "Gembaczka explica.
A abordagem já foi posta em prática na forma de vários manifestantes. Se, por exemplo, a equipe de pesquisa implementou o reconhecimento de números escritos à mão em um microcontrolador de 8 bits barato (Arduino Uno). Isso foi tecnicamente possível com o desenvolvimento de um método inovador de extração de recursos. Outro demonstrador é capaz de reconhecer gestos complexos feitos no ar. Aqui, os cientistas da IMS desenvolveram um sistema que consiste em um microcontrolador e um sensor de orientação absoluta que reconhece números escritos no ar. "Uma aplicação possível aqui seria a operação de um wearable, "apontam os pesquisadores." Para que esse tipo de comunicação funcione, várias pessoas escrevem os números de um a nove várias vezes. A rede neural recebe esses dados de treinamento, aprende com ele e na próxima etapa identifica os números de forma independente. E quase qualquer figura pode ser treinada, não apenas números. "Isso elimina a necessidade de controlar o dispositivo usando o reconhecimento de voz:o wearable pode ser controlado com gestos e a privacidade do usuário permanece protegida.
Praticamente não há limites para as aplicações potenciais de AIfES:Por exemplo, uma pulseira com reconhecimento de gestos integrado pode ser usada para controlar a iluminação interna. E não só o AIfES reconhece gestos, ele também pode monitorar o quão bem os gestos foram feitos. Os exercícios e movimentos na fisioterapia e preparação física podem ser avaliados sem a necessidade de um técnico ou terapeuta. A privacidade é mantida, uma vez que nenhuma câmera ou nuvem é usada. O AIfES pode ser usado em uma variedade de campos, como automotivo, Medicina, Smart Home and Industrie 4.0.
IA descentralizada
E há mais vantagens para AIfES:A biblioteca torna possível descentralizar a capacidade de computação, por exemplo, permitindo que pequenos sistemas embarcados recebam dados antes de processar e passem os resultados para um sistema superordenado. Isso reduz drasticamente a quantidade de dados a serem transferidos. Além disso, é possível implementar uma rede de pequenos sistemas com capacidade de aprendizagem que distribuem tarefas entre si.
Aprendizagem profunda
O AIfES atualmente contém uma rede neural com uma estrutura feedforward que também oferece suporte a redes neurais profundas. “Nós programamos nossa solução para que possamos descrever uma rede completa com uma única função, "diz Gembaczka. A integração de formas e estruturas de rede adicionais está atualmente em desenvolvimento. Além disso, o pesquisador e seus colegas estão desenvolvendo componentes de hardware para redes neurais, além de outros algoritmos de aprendizagem e demonstradores. Fraunhofer IMS está trabalhando em um microprocessador RISC-V que terá um acelerador de hardware específico para redes neurais.Uma versão especial do AIfES está sendo otimizada para este hardware a fim de explorar o recurso de forma otimizada.