Como as redes neurais binárias funcionam e por que elas serão populares em 2020

As redes neurais são legais, mas seu potencial ainda é limitado por custo e energia; redes neurais binárias podem ajudar a lidar com isso




O conceito de redes neurais apareceu pela primeira vez há mais de 40 anos, quando cientistas experimentaram modelagem matemática das funções cerebrais. Eles descobriram como fazer uma implementação mecânica de uma rede neural que pode ser ensinada a reconhecer padrões e classificar dados - por exemplo, para reconhecer se há um gato ou cachorro no vídeo.

Na última década, a complexidade e a capacidade das redes neurais cresceram significativamente. Juntamente com um aumento sem precedentes no poder de supercomputadores e processadores gráficos (GPUs) acessíveis e acessíveis, eles se destacaram como o método padrão para resolver problemas, reconhecer padrões e detectar anomalias. Hoje, as organizações as usam para fazer previsões, pesquisar preferências do usuário, validar dados e gerenciar riscos.

Mas, apesar de seu uso ativo, eles têm suas desvantagens que limitam seu potencial. O Santo Graal é uma rede neural que pode analisar informações rapidamente, sendo barata e sem fome de energia. Criar uma rede que atenda a esses critérios é uma tarefa difícil, mas deve ser resolvida para que possamos tirar proveito das redes neurais mais próximas da borda das redes de TI e comunicação, bem como dos dispositivos terminais.

Uma das alternativas que muitas organizações estão explorando são as redes binárias. Esta é uma tecnologia relativamente nova, mas é provável que se torne bastante influente em 2020. Para entender o porquê, precisamos entender como os dois tipos de redes funcionam.

Como as redes neurais funcionam?


As redes neurais consistem em várias camadas de somas ponderadas. Cada soma ponderada fornece um número que indica que provavelmente há algum sinal nesses dados ou provavelmente não existe. Essas camadas combinam, por exemplo, imagens brutas em conjuntos de recursos e as recombinam para finalmente chegar a uma resposta.

Simplificando, digamos que você queira que a rede neural reconheça rostos em fotografias. O sistema divide a imagem em pequenos segmentos e, em seguida, as camadas da rede digitalizam cada segmento da imagem, procurando um sinal que eles foram ensinados a identificar. A primeira camada, por exemplo, pode procurar recursos básicos: círculos pretos, círculos brancos, retângulos brancos, cor da pele. Esses sinais são fáceis de notar.

A segunda camada pode procurar olhos (um círculo preto dentro do branco), bocas (um conjunto de retângulos brancos localizados nas proximidades e cercados por pele), a próxima camada pode procurar dois olhos acima da boca e com a pele ao redor. Cada recurso fornece a cada segmento de imagem uma estimativa da probabilidade da presença do recurso desejado nesta parte da foto. Então, essas probabilidades são combinadas e, se um número suficiente de camadas acreditar que o sinal desejado está na foto, a rede conclui que a pessoa está lá.


Fig. 1

Na fig. A Figura 1 (e esta é uma foto de Barack Obama) mostra como essas camadas de análise e probabilidade são resumidas, permitindo que a rede que trabalha com valores aproximados produza uma resposta relativamente precisa.

Observe que recursos como círculos pretos, olhos ou boca não são programados por uma pessoa, mas são detectados pela rede durante o treinamento. É possível que outro padrão (por exemplo, nariz, orelhas ou linha do cabelo) seja mais adequado para a busca de pessoas, e a beleza das redes neurais é que elas podem ser usadas para procurar esses padrões.

Desvantagens das redes neurais tradicionais


O problema é que, na busca pela maior precisão possível, é necessário lidar com níveis de probabilidade delimitados muito detalhados e, para esses cálculos matemáticos, são necessários recursos sérios. Devido ao uso de números de ponto flutuante para análise de segmentos, as redes neurais exigem relativamente poder de computação, memória e tempo para trabalhar.

Embora a nuvem tenha energia e memória suficientes, muitos aplicativos de ponta não podem confiar na nuvem. Por exemplo, os robomobiles precisam tomar decisões instantaneamente com base em seu ambiente, e nisso não podem confiar em comunicações de largura de banda limitadas.

Redes neurais que funcionam com números de ponto flutuante em dispositivos finais não podem ser usadas. Por esse motivo, muitas empresas usam aritmética inteira, o que economiza uma grande quantidade de memória e poder de computação, mas existe uma maneira melhor - é aqui que as redes neurais binárias se manifestam.

Como as redes binárias funcionam


Se uma rede neural comum é uma pintura de Picasso, uma rede neural binária é um esboço a lápis.

Se as redes neurais atribuem a cada segmento uma probabilidade calculada com precisão, as redes neurais binárias, como o próprio nome indica, reduzem os valores prováveis ​​para uma versão em preto e branco, ou seja, para -1 (se a rede considerar que não há sinal nesse fragmento) ou + 1 (se houver).

Agora, uma soma ponderada avalia cada característica de maneira positiva (multiplicando por +1) ou negativamente (multiplicando por -1) e, em vez de multiplicações completas, precisamos considerar a multiplicação por +1 e -1.


Fig. 2

Essa abordagem sacrifica um certo grau de precisão, mas podemos compensar as perdas aumentando ligeiramente a rede. Redes binárias são inerentemente muito mais simples.

Comparados aos seus pares de ponto flutuante, eles exigem 32 vezes menos espaço para armazenar o número (1 bit em vez de 32) e centenas de vezes menos energia, e é por isso que eles são muito mais adequados para "aplicações de borda", como robomobiles, quando os próprios dispositivos podem processar informações sem envolver a computação em nuvem.

Geralmente, em uma rede binária, camadas com valores não binários ainda ocorrem, especialmente na entrada e, às vezes, na saída. Na entrada, a imagem provavelmente será colorida e precisará ser interpretada numericamente antes do início das camadas binárias. E a camada de saída também sempre terá uma saída não binária.

O futuro das redes binárias


Essa simplicidade abre um vasto campo para uso comercial em condições onde a eficiência é tudo. Em um chip embutido, é mais provável que você armazene coeficientes binários de rede do que redes com coeficientes de ponto flutuante. Os fabricantes de processadores precisarão adotar essa tecnologia e fornecer suporte para redes binárias.

É provável que 2020 seja o ano das redes binárias. As empresas estão trabalhando ativamente na implementação dessa tecnologia, e o software necessário para o treinamento de redes binárias está se desenvolvendo rapidamente. É provável que vejamos a primeira aplicação real dessa tecnologia muito em breve, e chips de baixa energia e baixa energia aparecerão em dispositivos de borda que podem classificar imagens ou outros dados.

Assim, a próxima geração de tecnologia será baseada na simplicidade.

Source: https://habr.com/ru/post/pt483674/


All Articles