• Nenhum resultado encontrado

2. Revisão Bibliográfica

2.4 Redes Neurais Artificiais 1 Introdução

2.4.3 Modelos de Redes Neurais

2.4.3.1 Perceptron multicamadas

Embora existam vários modelos de redes neurais, enfocaremos aqui o perceptron multicamadas, com os algoritmos de treinamento da retropropagação e de Levenberg- Marquardt, que são utilizados neste trabalho.

O perceptron multicamadas é uma evolução do perceptron de Rosemblatt, que surgiu no final dos anos 50 (Lau, 1990). Hoje, o termo perceptron geralmente se refere a entradas conectadas a uma camada única de nodos. As limitações de um perceptron simples desaparecem quando se utilizam camadas intermediárias ou ocultas entre as unidades de entrada e saída. O termo perceptron multicamadas se refere a mais de uma camada de unidades inteiramente interconectadas (Ruck et al., 1992).

A Figura 2.7 (a) mostra o modelo de um perceptron multicamadas. Este é um dos tipos mais comuns de redes neurais artificiais, geralmente consistindo de três camadas: uma de entrada, uma oculta e uma de saída. A informação segue um fluxo unidirecional e a camada de entrada apenas as redistribui. Para a rede desempenhar uma tarefa específica, deve-se escolher como as unidades são conectadas umas às outras e dar valores aos pesos das conexões apropriadamente. As conexões determinam a

influência de uma unidade sobre a outra e os pesos especificam a força desta influência (Hilton, 1992).

A atividade das unidades de entrada representa a informação bruta que é alimentada à rede. A atividade em cada unidade da camada oculta é determinada pela atividade das unidades de entrada e dos pesos das conexões entre as unidades da camada de entrada e oculta. Da mesma maneira, o comportamento das unidades de saída depende da atividade das unidades ocultas e dos pesos das conexões entre estas e as unidades de saída.

Há dois algoritmos muito utilizados para perceptrons multicamada. Em redes pequenas, emprega-se o algoritmo de Levenberg-Marquardt e, para sistemas maiores, o da retropropagação. Ambos são algoritmos de otimização que buscam reduzir a norma dos erros entre valores preditos e as saídas desejadas, utilizadas no treinamento. A função-objetivo, nesse caso, é a soma dos quadrados dos erros, ou o erro quadrático médio.

A escolha da arquitetura a ser utilizada depende do tipo de problema a ser tratado e da experiência do programador. Para escolher a arquitetura mais adequada, é importante lembrar que o tempo de treinamento aumenta geometricamente com o número de unidades e de camadas (Caudil, 1991).

2.4.3.1.1 Algoritmos de treinamento

Há muitos algoritmos de treinamento disponíveis para perceptrons multicamadas. Entretanto, um dos mais populares é o algoritmo da retropropagação. Retropropagação é uma classe particular de algoritmos que emprega aprendizagem supervisionada. Como dito anteriormente, na aprendizagem supervisionada usa-se um erro, que é a diferença entre a saída desejada e a resposta obtida pela rede, para orientação do ajuste dos pesos. Neste algoritmo, os pesos são ajustados de maneira que a saída real se aproxime da saída desejada, através de uma modificação da técnica do gradiente descendente.

Durante o treinamento, a RN processa os padrões de entrada em dois passos. Primeiro aplica-se um padrão de entrada à rede e permite-se que a atividade resultante passe através desta para a camada de saída. Esta saída é certamente errada a princípio, então a rede compara este padrão de saída atual com um desejado para aquela entrada.

Este processo resulta em um erro para cada neurônio na camada de saída. O somatório do erro gerado é então retropropagado, determinando a mudança dos pesos em cada camada (Caudil, 1991). Portanto, são processadas duas operações básicas. A primeira consiste de um somatório dos sinais de entrada ponderados pelos pesos associados a cada um deles, e a segunda operação corresponde à aplicação de uma função de ativação ao resultado obtido na primeira etapa. A função de ativação mais amplamente utilizada é a do tipo sigmoidal, mostrada na Figura 2.8. E a função mais comumente utilizada para realizar o ajuste dos pesos da rede é a Soma dos Quadrados dos Erros (SQE).

Figura 2.8: Função de ativação sigmoidal.

Como já mencionado, a retropropagação é baseada em uma modificação da técnica do gradiente descendente. A adaptação dos pesos da rede inicia-se com um valor arbitrário para os vetores pesos, W1 e W2. O gradiente de parte da função SQE é

aproximado e o vetor peso é alterado em sua direção e no sentido negativo deste. Este procedimento é repetido sucessivamente, até que um mínimo, local ou global, seja alcançado.

A função a ser minimizada é definida por:

=

ε

=

φ

mx 1 k 2 p , k p (2.1)

onde, p indica o número de apresentação de um par entrada-saída. A função SQE muda a cada apresentação e tem o valor φp na apresentação p. mx é o número de vetores

Define-se ainda:       ε = Φ

= m 1 k 2 p , k p (2.2)

onde, m é a dimensão dos vetores x e y e εk,p é definido como:

p , k p , k p , k =d −y ε (2.3)

Assim, Φ representa o erro associado a apenas um vetor de saída (o último que foi apresentado), enquanto ϕ é a SQE para todos os vetores.

No método clássico do gradiente descendente, os pesos seriam corrigidos por:

) ( W Wp+1 = p + −∇φp (2.4) onde:       ∂ φ ∂ ∂ φ ∂ = φ ∇ ,... W , W 2 p 1 p p (2.5)

No algoritmo da retropropagação temos, no entanto:

) ( W

Wp+1 = p+η−∇Φp (2.6)

onde η é um parâmetro que controla a estabilidade e a taxa de convergência, aqui denominada de taxa de aprendizado, ∇Φp é o valor do gradiente da função Φ calculado

por aproximação na apresentação p, correspondente a W=Wp.

Existem ainda variantes do algoritmo da retropropagação. Algumas vezes, o valor de η é reduzido durante o treinamento, para diminuir os efeitos de ruídos sobre a correção dos pesos. Outras vezes pode ter seu valor aumentado, para acelerar o processo de treinamento, ou na tentativa de escapar de mínimos locais. Esta alternativa é chamada de variação do termo de ganho ou algoritmo retropropagação com passo variável (Widrow e Lehr, 1990).

Uma outra abordagem é a técnica do momento, a qual inclui na atualização do vetor peso, ∆Wp, um termo proporcional à mudança dos pesos na iteração anterior,

∆Wp-1 (Rumelhart et al., 1986). 1 p p p (1 ) W W W = −α ∆ −α∆ ∆ (2.7)

onde, α é o termo de momento (0<α<1).

Já o algoritmo de Levenberg-Marquardt busca minimizar (2.2) combinando os algoritmos de Newton com o do gradiente descente (Himmelblau, 1970). É enfoque clássico para resolver problemas de otimização sem restrições. No entanto, o gradiente

da função objetivo deve ser estimado a cada passo, o que significa que as derivadas das saídas calculadas com relação a todos os pesos, para todos os dados entrada-saída, devem ser aproximadas. Com isso, aumenta-se consideravelmente a demanda de processamento. Essa é a razão por que se emprega o algoritmo de Levenberg-Marquardt para RNs menores, pois sua convergência é, em geral, mais rápida que o de retropropagação. No entanto, para RNs com elevado número de neurônios, o problema pode tornar-se intratável pelo método de Levenberg-Marquardt. Nesse caso, para redes “feedforward”, prefere-se empregar o método da retropropagação.

Documentos relacionados