• Nenhum resultado encontrado

compreendido como uma situação especial de aproximação de funções, onde não é levado em consideração nenhum modelo explícito dos dados. Encontram-se diversos métodos de otimização não-linear irrestrita para treinamento de Redes Multicamadas (MLP), dentre estes, apresenta-se os seguintes (SILVA, 1998):

 Método do Gradiente (GRAD);  Gradiente Conjugado (GC);  Fletcher-Reeves (FR);  Polak-Ribière (PR);

 Gradiente Conjugado Escalonado de MOLLER (1993) (SCG);  Método de Newton (MN);

 Levenberg-Marquardt (LM);  Davidon-Fletcher-Powell (DFP);

 Broyden-Fletcher-Goldfarb-Shanno (BFGS);  BATTITI (1992) One-step Secant (OSS);  Quickprop de FAHLMAN (1988) (QUICK).

4.9.1 Otimização da Razão de Aprendizagem no Algoritmo Backpropagation

O algoritmo Backpropagation (BP) do gradiente do erro provou sua adequação para o aprendizado supervisionado de Redes Neurais Perceptron de Múltiplas Camadas (MLP) no sentido de aplicação aos muitos impasses de classificação e mapeamento estático de funções não-lineares. A retropropagação do erro numa rede MLP pode ser observada na Figura 23.

Figura 23 – Comparação entre a saída da rede MLP e a saída desejada do sistema feita por um supervisor

Fonte: Adaptado de Silva (1998)

Existem casos em que a velocidade de aprendizagem é uma condição limitante para viabilizar a implementação prática deste tipo de ferramenta computacional no processo de solução de problemas. Problemas esses, que envolvem otimalidade, robustez e agilidade na convergência do processo de ajustes de parâmetros (SILVA, 1998). Por mais que em algumas aplicações não é necessário uma resposta em tempo real, a complexidade temporal do algoritmo pode ocasionar uma irritabilidade computacional do problema. Dentre os métodos que buscam a solução, é de acordo o conceito de que não existe um método que seja eficaz para todos os casos. Portanto, muitas das soluções encontradas por métodos específicos podem não atender as exigências mínimas do problema (BATTI 1992 apud SILVA, 1998, p. 49).

Recorrer ao potencial de processamento computacional hoje disponível e operar com métodos que provêm simultaneamente diversos candidatos a solução, dentre os quais seja possível

eleger o melhor de acordo com algum critério pré-estabelecido, é uma maneira eficaz de lidar com a situação problema. No caso da solução ser estabelecida por Redes Neurais Artificiais (RNA), quanto maior for a velocidade de aprendizagem da Rede Neural mais viável será o uso deste procedimento (BATTI 1992 apud SILVA, 1998, p. 49).

O processo de treinamento supervisionado de RNA Perceptron de Múltiplas Camadas (MLP) é equivalente a um problema de otimização não-linear irrestrito, em que uma função de erro global é minimizada segundo o ajuste de parâmetros (pesos) da Rede Neural. Está concepção do processo de aprendizado supervisionado torna possível desenvolver algoritmos de treinamento baseados em resultados satisfatoriamente fundamentados da teoria de análise numérica convencional. Os procedimentos essenciais de análise numérica susceptíveis de implementação computacional empregam métodos que fazem uso somente do gradiente local da função ou então metodologias que utilizam também derivadas de segunda ordem. Existem diversos métodos que são eficazes na aceleração da convergência média na fase de aprendizado, algumas destas metodologias ao mesmo tempo em que necessitam de poucas modificações no algoritmo padrão de retropropagação, resultam em graus elevados de aceleração no processo de aprendizagem (SILVA, 1998).

Para que a RNA identifique um sistema de comportamento não-linear proposto a partir de padrões de entrada e saída do sistema, amostras destas entradas e saídas são apresentadas a rede e seus pesos serão ajustados através do algoritmo de retropropagação (Backpropagation), a fim de que a rede aprenda a dinâmica do sistema proposto. Um dos problemas do algoritmo

Backpropagation é a possibilidade de que a rede faça generalizações prematuras ou que demore

para chegar a uma generalização fiel que caracterize o sistema. Por esse motivo é feito uso de mais um parâmetro, o qual faz o ajuste da razão de aprendizagem, a fim de colocar inércia na atualização dos pesos evitando o problema citado anteriormente (SILVA, 1998).

Ainda de acordo com Silva (1998) pelo motivo do aprendizado de Redes Multicamadas (MLP) ser compreendido como um problema geral de aproximação de funções, encontram-se vários métodos que auxiliam na otimização da razão de aprendizagem no algoritmo de treinamento, conforme elencados alguns neste estudo. Porém, devido este trabalho tratar-se da aproximação de funções não-lineares, o algoritmo de otimização da razão de aprendizagem mais indicado é o de

Levenberg-Marquardt Backpropagation (LM).

4.9.1.1 Algoritmo de Otimização Levenberg-Marquardt Backpropagation (LM)

O algoritmo de Levenberg-Marquardt (LM) visa obter velocidade com menor esforço e mais eficiência, sendo utilizado em muitos trabalhos técnicos. Faz uso do gradiente de segunda ordem, fundamentando-se na aceleração do treinamento para definir as derivadas de segunda ordem do erro quadrático relacionadas aos pesos, diferindo do algoritmo Backpropagation tradicional (regra delta generalizada ou gradiente descendente com momentum) que considera as derivadas de primeira ordem (MIRANDA, 2016). Além do mais, o algoritmo de LM é visto como o método mais rápido para aprendizado de redes feedforward Backpropagation, que dispõe de uma quantidade moderada de pesos sinápticos (BARBOSA; FREITAS; NEVES, 2005).

Conforme Barbosa, Freitas e Neves (2005) o algoritmo de Levenberg-Marquardt baseia-se no método de otimização de Newton, isto é, utilizando uma matriz Hessiana H. Deste modo, realiza-se uma aproximação para esta matriz H no método de LM (Equação (85)), definida em função da matriz Jacobiana J (Equação (88)) que contém as primeiras derivadas em função dos pesos sinápticos.

H =𝜕 2𝐸

𝑅(𝑊)

𝜕𝑊2 (85)

O erro quadrático médio (ER) que aparece na Equação (85) é definido segundo Equação

(86): 𝑬𝑹= 1 𝑛∑(𝑦𝑖 − 𝑦𝑒𝑖) 2 𝑛 𝑖=1 (86)

Onde yi é a saída fornecida pela rede e yei é o valor exato correspondente à saída da rede.

A Equação (86) ainda pode ser reescrita em função dos pesos, conforme Equação (87):

𝑬𝑹= 1 𝑛∑(𝑓(𝑊 𝑇∙ 𝑥) − 𝑦 𝑒𝑖)2 𝑛 𝑖=1 (87)

Onde x é um vetor com n sinais de entrada e WT é a matriz com os pesos de cada neurônio acoplado.

Por fim a matriz Jacobiana J é dada pela Equação (88):

J =𝜕𝑒(𝑊)

𝜕𝑊 (88)

Onde e(W) é dado conforme Equação (89):

𝒆(𝑾) = ∑(𝑦𝑖 − 𝑦𝑒𝑖) 𝑛

𝑖=1

(89)

O processo para determinar a matriz Jacobiana é muito mais elementar que a determinação da matriz Hessiana. A matriz H é dada pela Equação (90), devido a performance de treinamento para uma Rede Neural ser representada em função da soma dos erros quadráticos (BARBOSA; FREITAS; NEVES, 2005).

𝑯 = 𝐽𝑇(𝑊) ∙ 𝐽(𝑊) (90)

A atualização dos pesos (W(k+1)) segundo o método de Newton é expressa pela Equação (91):

𝑾(𝒌 + 𝟏) = 𝑊(𝑘) − 𝐻−1∙ 𝑔

𝑘 (91)

Onde gk pode ser escrito segundo Equação (92):

𝒈𝒌 = 2𝐽𝑇(𝑊) ∙ 𝑒(𝑊) (92)

A atualização dos pesos (W(k+1)) feita pelo algoritmo de Levenberg-Marquardt em função de realizar alterações para determinar a matriz Hessiana, está baseada na mesma expressão do método de Newton (Equação (91)), sendo definida pela Equação (93) (BARBOSA; FREITAS; NEVES, 2005):

𝑾(𝒌 + 𝟏) = 𝑊(𝑘) − [𝐽𝑇(𝑊) ∙ 𝐽(𝑊) + 𝜇

𝑘𝐼]−1∙ 𝐽𝑇(𝑊) ∙ 𝑒(𝑊) (93) Onde I é a matriz identidade e μk é a constante do método de Levenberg-Marquardt.

O fator μk tem por finalidade estabilizar o processo de aprendizagem, ajustando a

aproximação de maneira a realizar uma convergência mais rápida do método de Newton, fazendo com que os erros de convergência sejam minimizados. É característica do algoritmo de LM obter convergência com menos iterações, porém, pelo motivo da presença de cálculos das matrizes inversas o algoritmo necessita efetuar mais cálculos por iteração, requerendo um considerável esforço computacional. Trabalhando com amostras moderadas de parâmetros, este método mostra- se o mais rápido e eficiente, entretanto, quando este número de padrões é elevado a utilização desta metodologia não é a mais apropriada (MIRANDA, 2016).