Pesquisadores da Arm Limited e Princeton University desenvolveram uma técnica que produz modelos deep learning de visão computacional para sistemas de hardware da Internet of Things (IoT) com apenas 2KB de RAM. Usando a otimização Bayesiana e a poda de rede, a equipe é capaz de reduzir o tamanho dos modelos de reconhecimento de imagem e, ao mesmo tempo, alcançar o estado da arte da precisão.
Em um artigo publicado no arXiv em maio, a equipe descreveu a Sparse Architecture Search (SpArSe), uma técnica para encontrar modelos de visão computacional de rede neural convolucional (CNN) que podem ser executados em hardware de um microcontrolador (MCU) de recursos super limitados. O SpArSe usa otimização bayesiana multiobjetivo (MOBO) e poda de rede neural para encontrar a melhor opção entre o tamanho e a precisão do modelo. Segundo os autores, o SpArSe é o único sistema que produz modelos CNN que podem ser executados em hardware com apenas 2KB de RAM. O trabalho anterior para visão computacional hospedada por MCU usa outros modelos de aprendizado de máquina, como vizinhos mais próximos ou árvores de decisão. A equipe comparou os resultados da CNN com várias dessas soluções, mostrando que a SpArSe produz modelos que são "mais precisos e até 4,35x menores".
Os dispositivos MCU são populares para IoT e outros aplicativos incorporados devido ao baixo custo e consumo de energia, no entanto, essas qualidades têm um preço: armazenamento e memória limitados. O Arduino Uno, por exemplo, possui apenas 32KB de armazenamento flash e 2KB de RAM. Esses dispositivos não possuem recursos para realizar inferências usando modelos CNN de última geração, pois o armazenamento restringe o número de parâmetros do modelo e a RAM restringe o número de ativações. Um modelo CNN relativamente pequeno, como o LeNet, com aproximadamente 60.000 parâmetros, requer quase o dobro do armazenamento do Uno, mesmo usando técnicas de compactação como a quantização de números inteiros. A única solução é reduzir o número total de pesos e ativações.
A chave para reduzir o tamanho do modelo com o SpArSe é a poda. Semelhante ao abandono, a poda remove os neurônios da rede. No entanto, em vez de desligar aleatoriamente os neurônios durante um forward pass no treinamento, a poda remove permanentemente os neurônios da rede. Esta técnica pode "reduzir o número de parâmetros até 280 vezes nas arquiteturas LeNet, com uma diminuição insignificante de precisão".
Além da poda de rede, o SpArSe procura por um conjunto de hiperparâmetros, como número de camadas de rede e tamanho do filtro de convolução, tentando encontrar o modelo mais preciso que também tenha um número mínimo de parâmetros e ativações. A otimização de hiperparâmetros e a pesquisa de arquitetura, geralmente descritos como machine learning automatizado (AutoML), são áreas de pesquisa ativa em deep learning. O Facebook também lançou recentemente ferramentas para técnicas de otimização Bayesianas semelhantes às usadas pelo SpArSe. Em contraste com o SpArSe, no entanto, essas técnicas geralmente se concentram em simplesmente encontrar o modelo com a melhor precisão.
A equipe de pesquisa comparou os resultados do SpArSe com o Bonsai, um sistema de visão computacional baseado em árvores de decisão que também produz modelos que operarão em menos de 2KB de RAM. Embora o SpArSe tenha superado o Bonsai no conjunto de dados MNIST, o Bonsai ganhou no conjunto de dados CIFAR-10. Além disso, o SpArSe precisou de um dia de GPU de treinamento no MNIST e 18 GPU-dias de treinamento nos dados do CIFAR-10, enquanto o Bonsai requer apenas 15 minutos em um laptop de um único núcleo.