Deep Learning e Indústria 4.0: neste texto elucidaremos as redes neurais recorrentes, RNN, que são propícias para previsões de dados sequenciais.

As previsões são essenciais para uma gestão inteligente no contexto da quarta revolução industrial, pois são normalmente o escopo final na análise dos dados gerados pelos processos de manufatura 4.0 (big data), nos quais distintos resultados (imagens, textos, sons, etc.) são convertidos em números, para posteriormente serem estruturados
em informações, propiciando assim estimativas pertinentes às tomadas de decisões.

Para apresentarmos uma visão geral das redes neurais recorrentes, inicialmente iremos descrever os processo de propagação direta e reversa dos sinais (dados), elucidando deste modo a estrutura funcional destas redes; em seguida, abordaremos alguns impasses nos cálculos dos gradientes das funções erro, usados para a otimização dos pesos neuronais; por fim, ressaltamos uma variação eficaz destas redes, na qual implementamos termos de memória longa e curta para determinar previsões mais acuradas.

Redes Neurais Recorrentes – Recurrent Neural Networks – RNN

Os dados de entrada em redes neurais recorrentes (RNN) devem apresentar uma relação sequencial, como por exemplo: músicas, séries temporais ou textos. Considerando esse último exemplo, poderíamos idealizar muitas aplicações para as RNN, como um editor de texto inteligente, que determinaria a melhor estimativa para a palavra seguinte durante a redação de uma frase.

Antes de apresentarmos como as RNR funcionam, vale ressaltar que, dados dispostos no formato de texto não são processáveis por redes neurais, o que exige uma indexação para cada palavra por meio da codificação one hot, na qual estabelecemos uma relação unívoca entre um conjunto de vetores esparsos e o vocabulário proposto. Utilizando estes vetores como sinais de entrada em uma rede neural artificial (como as RNR), podemos realizar a classificação destas palavras

Ilustração do processamento de dados em uma rede neural recorrente.
Fonte: Figura adaptada de MIT 6.S191: Recurrent Neural Networks

Numa operação para realizar previsões em um conjunto de dados sequenciais, o processamento dos dados nas RNR não funciona como nas redes neurais descritas no post anterior http://www2.decom.ufop.br/imobilis/deep-learning-e-industria-4-0/, embora a estrutura interna destas redes seja também constituída por camadas de perceptrons, mas, neste caso específico, os dados devem ser ordenados como em uma série temporal, ou seja, cada palavra é colocada na sua ordem sintática.

De acordo com a segunda figura, associamos a primeira palavra ao vetor x0, que propiciará a saída y0 com erro L0 após ser processada pela rede neural, por conseguinte, a segunda palavra será associada ao vetor de entrada x1, cujo a soma ponderada será incrementada com os pesos (whh), provenientes do processamento da primeira palavra,
resultando então na saida y1 com erro L1; de uma maneira similar, incrementações relacionadas às palavras precedentes ocorrerão até a última palavra.

Ilustrando este processo em um esquema único, como foi representado na figura 2, observamos que os termos de incrementação, referentes às palavras precedentes, designam o termo recorrente, denominando assim o tipo desta rede neural; ainda, devemos salientar que os erros determinados neste processo serão agregados em um termo único, definido como o erro da RNR.

Propagação reversa através do tempo (BPTT1)

A propagação reversa em uma rede neural convencional [1] pode ser compilada em dois passos: o cálculo dos gradientes da função erro em relação a cada peso e os desvios para otimização destes mesmos pesos, correspondentes a estes gradientes.

Processo de propagação reversa em RNR e no tempo.
Fonte: Figura adaptada de MIT 6.S191: Recurrent Neural Networks.

Em RNR a propagação reversa deverá ocorrer através da rede neural artificial e concomitantemente nas etapas temporais correspondentes, ou seja, inicialmente os pesos serão ajustados por Backpropagation na rede da última palavra, em seguida ajustamos os termos de incrementação, referentes à penúltima palavra, realizando assim
o passo temporal desta primeira etapa; processos similares serão realizados até a primeira palavra (última etapa), configurando desta maneira a propagação reversa através do tempo, conforme ilustramos na terceira figura.

Impasses no cálculo dos gradientes

O cálculo dos gradientes referentes a cadeia temporal das matrizes que constituem as RNR, como está ilustrado na figura 3, pode resultar em valores divergentes, pois nesse caso muitos pesos excedem a unidade (w >1), propiciando dessa forma uma “explosão” exponencial dos mesmos. A solução proposta para este impasse é o estabelecimento de
um limite de corte para estes gradientes (clipping), deste modo, sempre que o gradiente ultrapassar este limite seu valor será truncado, evitando assim a referida “explosão”.

Derivadas das funções de ativação utilizadas em redes neurais artificiais.
Fonte: MIT 6.S191: Recurrent Neural Networks.

Por outro lado, os valores dos gradientes podem também ser anulados e então “desaparecer”, este caso ocorre quando de maneira oposta os valores dos pesos nas matrizes de recorrência são muito pequenos; novamente, podemos resolver esse impasse utilizando o clipping; obviamente, neste caso o limite do gradiente seria estabelecido em um valor inferior. Outra solução, muito comum nestes casos, é a utilização da função ReLU como função de ativação, pois, conforme ilustrado na figura 4 o resultado da sua derivada evita o desaparecimento do gradiente, desde que os valores de entrada sejam positivos.

Considerados todos estes impasses e suas possíveis soluções, podemos concluir este texto elucidando uma variação proeminente das RNR, denominadas como redes neurais de memória longa e curta (LSTM2), pois na sua elaboração são estabelecidas “memórias” com valores (dados) próximos e remotos, arbitrariamente, propiciando assim resultados interessantes em diversas aplicações.

Autor Davi Neves

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*
*
Website