Aprendizado de Redes Neurais Artificiais

Um neurônio é considerado ser um elemento adaptativo. Seus pesos sinápticos são modificáveis dependendo do algoritmo de aprendizado.

Por exemplo, alguns, dependendo do sinal de entrada que recebem, tem seus valores de saída associados a uma resposta diante de um aprendizado supervisionado por uma espécie de professor.

Em alguns casos o sinal do professor não está disponível e não há informação de erro que possa ser utilizada para correção dos pesos sinápticos, assim o neurônio modificará seus pesos baseado somente no sinal de entrada e/ou saída, sendo o caso do aprendizado não-supervisionado. Um neurônio é considerado ser um elemento adaptativo. Seus pesos sinápticos são modificáveis dependendo do algoritmo de aprendizado.

1. Aprendizado Supervisionado

No caso do aprendizado supervisionado o professor indica explicitamente um comportamento bom ou ruim.

Por exemplo, seja o caso de reconhecimento de caracteres e para simplificar seja reconhecer entre um A e um X.

Escolhe-se uma rede direta, com dois neurônios na camada de saída, uma ou várias camadas internas e um conjunto de neurônios na camada de entrada capaz de representar com a precisão desejada a letra em questão. Apresentam-se estas letras sucessivamente a uma retina artificial constituída de uma matriz de elementos foto-sensíveis, cada um ligado a um neurônio da rede neural artificial direta (feedforward).

Observa-se qual dos dois neurônios de saída está mais excitado. Se for o que se convencionou representar a letra que for apresentada nada deve ser corrigido, caso contrário modifica-se os valores das conexões sinápticas no sentido de fazer a saída se aproximar da desejada.

Foi exatamente isto que Rosenblatt fez com o seu Perceptron. Como a cada exemplo apresentado uma correção é introduzida depois de observar a saída da rede, este é um caso de aprendizado supervisionado.

1.1. O Aprendizado Backpropagation

O aprendizado Backpropagation é utilizado para treinar uma estrutura de rede direta Multi-camada com Neurônios Estáticos. O modo de treinamento é supervisionado foi uma das soluções encontradas para superar o problema do aprendizado da classificação de padrões não-linearmente separáveis, sendo que a utilização de uma ou mais camadas intermediárias de neurônios fornece um recurso para poder implementar superfícies de decisão mais complexas.

A desvantagem em utilizar camadas escondida é que o aprendizado se torna mais complexo.

A característica principal das camadas escondidas é que seus elementos se organizam de tal forma que cada elemento aprenda a reconhecer características diferentes do espaço de entrada, assim, o algoritmo de treinamento deve decidir que características devem ser extraídas do conjunto de treinamento.

Até o início dos anos 70 nenhum algoritmo de aprendizado para estas redes multi-camadas havia sido desenvolvido. Porém, nos anos 80, um algoritmo chamado Retro-propagação ou Backpropagation, fêz renascer o interesse geral pelas redes neurais. Este foi desenvolvido de maneira independente por vários pesquisadores

Em 1974, Werbos descobriu o algoritmo enquanto desenvolvia sua tese de doutorado em estatística e o chamou de "Algoritmo de Realimentação Dinâmica".

Parker em 1982 redescobriu o algoritmo e chamou-o de "Algoritmo de Aprendizado Lógico".

Mas foi com o trabalho de Rumelhart, Hinton e Williams do grupo PDP (Parallel Distributed Processing) do MIT, que em 1986 divulgou e popularizou o uso do Backpropagation para o aprendizado em redes neurais.

O algoritmo Backpropagation é hoje em dia a técnica de aprendizado supervisionado mais utilizada para redes neurais unidirecionais multi-camadas com neurônios estáticos.

Basicamente, a rede aprende um conjunto pré-definido de pares de exemplos de entrada/saída em ciclos de propagação/adaptação. Depois que um padrão de entrada foi aplicado como um estímulo aos elementos da primeira camada da rede, ele é propagado por cada uma das outras camadas até que a saída seja gerada. Este padrão de saída é então comparado com a saída desejada e um sinal de erro é calculado para cada elemento de saída.

O sinal de erro é então retro-propagado da camada de saída para cada elemento da camada intermediária anterior que contribui diretamente para a formação da saída.

Cada elemento da camada intermediária recebe apenas uma porção do sinal de erro total, proporcional apenas à contribuição relativa de cada elemento na formação da saída original.

Este processo se repete, camada por camada, até que cada elemento da rede receba um sinal de erro que descreva sua contribuição relativa para o erro total.

Baseado no sinal de erro recebido, os pesos das conexões são então atualizados para cada elemento de modo a fazer a rede convergir para um estado que permita a codificação de todos os padrões do conjunto de treinamento.

Este algoritmo de treinamento utiliza o mesmo princípio da Regra Delta. Neste caso, a minimização de uma função custo, no caso, a soma dos erros médios quadráticos sobre um conjunto de treinamento, utilizando a técnica de busca do gradiente-descendente. Também é chamado muitas vezes de Regra Delta Generalizada (Generalized Delta-Rule). A modificação principal em relação a Regra Delta foi a utilização de funções contínuas e suaves como função de saída dos neurônios ao invés da função de limiar lógico.

Como as funções de saída passaram a ser deriváveis, isto permitiu a utilização da busca do gradiente-descendente também para os elementos das camadas intermediárias.

Engenheiros, cientistas cognitivos, e cientistas da computação, que buscam, cada um em sua área, novos caminhos através da computação neural.

2. Aprendizado Não-Supervisionado

O aprendizado não-supervisionado é aquele que para fazer modificações nos valores das conexões sinápticas não se usam as informações sobre a resposta da rede, isto é se a resposta está correta ou não. Neste caso, usa-se por outro lado um esquema, tal que, para exemplos de coisas semelhantes, a rede responda de modo semelhante.

[voltar]