Algoritmo de aprendizado de máquina binário com estrutura dinâmica



Se considerarmos os algoritmos de aprendizado de máquina de hoje com um movimento da ignorância (abaixo) para a conscientização (acima), os algoritmos atuais são como um salto. Após o salto, ocorre uma desaceleração na taxa de desenvolvimento (capacidade de aprendizado) e uma inevitável virada e queda (reciclagem). Todos os esforços são reduzidos a tentativas de exercer o máximo de força possível no salto, o que aumenta a altura do salto, mas não altera fundamentalmente os resultados. Ao bombear saltos, aumentamos a altura, mas não aprendemos a voar. Para dominar a técnica do "vôo controlado" será necessário repensar alguns princípios básicos.

Nas redes neurais, é usada uma estrutura estática que não permite ir além da capacidade de aprendizado estabelecida de toda a estrutura. Ao fixar o tamanho da rede a partir de um número fixo de neurônios, limitamos o tamanho da capacidade de aprendizado da rede que a rede nunca pode ignorar. A instalação de um número maior de neurônios ao criar uma rede permite aumentar a capacidade de aprendizado, mas diminuirá o tempo de aprendizado. Alterações dinâmicas na estrutura da rede durante o treinamento e o uso de dados binários fornecerão à rede propriedades exclusivas e contornarão essas limitações.

1. Estrutura de rede dinâmica


A própria rede deve tomar decisões sobre seu tamanho. Conforme necessário, cresça na direção certa, aumentando de tamanho. Ao criar uma rede, um neurônio, camada ou duas, não podemos conhecer inequivocamente a capacidade de treinamento necessária da rede e, consequentemente, seu tamanho. Nossa rede deve começar do zero (completa falta de estrutura) e deve expandir-se na direção certa de forma independente quando novos dados de treinamento chegarem.

2. Atenuação de sinal

imagem
As redes neurais envolvidas na soma do sinal usam a abordagem "analógica" para o cálculo. Múltiplas conversões levam à atenuação do sinal e sua perda durante a transmissão. Em grandes tamanhos de rede, métodos de cálculo "analógicos" inevitavelmente levarão a perdas. Nas redes neurais, o problema da atenuação de sinal pode ser resolvido por redes recorrentes, sendo de fato uma muleta apenas reduzindo o problema, não resolvendo-o completamente. A solução é usar um sinal binário. O número de transformações desse sinal não leva a sua atenuação e perda durante as transformações.

3. Capacidade de aprendizado em rede


Expandindo a estrutura à medida que aprendemos, aumentamos sua capacidade de ensino. A própria rede determina a partir da tarefa em que direção se desenvolver e quantos neurônios são necessários para resolver o problema. O tamanho da rede limita apenas o poder de computação dos servidores e os limites de tamanho do disco rígido.

4. Treinamento em rede


Ao mudar os sinais de redes analógicas para redes binárias, obtém a oportunidade de aprendizado acelerado. O treinamento fornece uma configuração inequívoca do sinal de saída. O processo de aprendizagem em si altera apenas uma pequena parte dos neurônios, deixando uma parte significativa deles inalterada. O tempo de treinamento é reduzido muitas vezes limitado a alterações em vários elementos da rede.

5. Cálculo de rede


Para calcular a rede neural, precisamos calcular todos os elementos. Ignorar o cálculo de até mesmo parte dos neurônios pode levar ao efeito borboleta, onde um sinal insignificante pode alterar o resultado de todo o cálculo. A natureza dos sinais binários é diferente. Em cada estágio, é possível excluir parte dos dados do cálculo sem consequências. Quanto maior a rede, mais elementos podemos ignorar nos cálculos. O cálculo dos resultados da rede se resume a calcular um pequeno número de elementos até frações de um por cento da rede. Para o cálculo, 3,2% (32 neurônios) com uma rede de mil neurônios, 0,1% (1 mil) com um milhão de "neurônios" em uma rede e 0,003% (32 mil) com uma rede de um bilhão de "neurônios" em tamanho são suficientes. Com o aumento do tamanho da rede, a porcentagem de neurônios necessária para o cálculo diminui.

6. Interpretação dos resultados


Nas redes neurais, pesos multiplicados por coeficientes tornam impossível estabelecer uma fonte de sinal. Todos os sinais recebidos da rede neural, sem exceção, afetam o resultado, dificultando a compreensão dos motivos que levaram à sua formação. A influência dos sinais binários no resultado pode ser zero, parcial ou completa, o que indica claramente a participação dos dados da fonte no cálculo. Os métodos binários para calcular sinais permitem rastrear a relação dos dados recebidos com o resultado e determinar o grau de influência dos dados de origem na formação do resultado.

Tudo isso sugere a necessidade de alterar as abordagens dos algoritmos de aprendizado de máquina. Os métodos clássicos não dão controle completo da rede e uma compreensão inequívoca dos processos que ocorrem nela. Para obter um "vôo controlado", é necessário garantir a confiabilidade da conversão do sinal na rede e a formação dinâmica da estrutura em tempo real.

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


All Articles