CAPÍTULO IV

4 - REDES NEURAIS

Este capítulo descreve a estrutura e comportamento de redes neurais biológicas, de modo a estabelecer uma analogia com os modelos de redes neurais artificiais. Na seqüência, uma possível definição de rede neural, sua organização, características e histórico da abordagem baseada nestes modelos são apresentados. Também é descrita a forma de representação do conhecimento em uma rede neural e como o conhecimento contido em sua estrutura é utilizado no processo de aprendizado, e conseqüente realização de previsões.

4.1. Redes Neurais Biológicas

O cérebro humano é o dispositivo mais complexo estudado pelo homem, sendo ainda muito pobremente compreendido [BEALE1990]. Ainda não se tem respostas satisfatórias para as questões mais fundamentais tais como "o que é mente ?" e "como eu penso ?". Entretanto, a compreensão geral da operação do cérebro já é possível .

O sistema nervoso humano é formado por uma rede de neurônios (figura 4.1), unidade básica do cérebro, responsável pelos fenômenos conhecidos como pensamento, emoção e cognição, além da execução das funções sensório-motoras e autônomas [WASSERMAN1989]. Cada neurônio compartilha várias características com outras células, mas possui capacidades singulares para receber, processar e transmitir sinais eletroquímicos ao longo das fibras nervosas, que compreendem o sistema de comunicação cerebral. [STEVENS1985] observa a célula nervosa como uma unidade de processamento analógica independente, capaz de estabelecer a comunicação com o sistema nervoso central.

Conforme [BEALE1990], um neurônio é conectado a vários outros neurônios através dos dendritos e do axônio. Os dendritos - uma complexa rede de prolongamentos - recebem impulsos nervosos de outros neurônios e os conduzem ao corpo celular ou núcleo. Essas informações são somadas, gerando novos impulsos. Caso o resultado dessa soma exceda um determinado limiar, o axônio transmitirá esse estímulo a outros neurônios através de fenômenos químicos denominados sinapses. A força sináptica da conexão neural ao refletir o nível de excitação ou inibição entre neurônios adjacentes, capacita o cérebro humano ao armazenamento do conhecimento e o conseqüente aprendizado.

Através das sinapses os neurônios se unem funcionalmente, formando redes neurais [BEALE1990].

Figura 4.1. Neurônio biológico.

Fonte : [WASSERMAN1989].

4.2. Redes Neurais Artificiais

A abordagem de redes neurais artificiais consiste em capturar os princípios básicos de manipulação de informação do cérebro humano e aplicar esse conhecimento na resolução de problemas que exigem aprendizado a partir da experiência [BEALE1990].

4.2.1. Definição

As redes neurais artificiais se fundamentam nos estudos sobre a estrutura do cérebro humano para tentar emular sua forma inteligente de processar informações. Apesar de se desconhecer a maneira pela qual o cérebro manipula informações complexas [BEALE1990], sabe-se que a modelagem do conhecimento contido em um problema específico pode ser representada através de inter-conexões entre células nervosas. Estruturalmente, a rede neural artificial, também conhecida por modelo conexionista de computação, se assemelha à rede neural biológica pela composição de seus neurônios e pela conexão entre eles [WASSERMAN1989].

"Um modelo conexionista é uma estrutura de processamento de informações distribuída e paralela. Ela é formada por unidades de processamento, comumente chamadas de nós, neurônios ou células, interconectadas por arcos unidirecionais, também chamados de ligações, conexões ou sinapses. Os nós possuem memória local e podem realizar operações de processamento de informação localizada. Cada célula possui uma única saída (axônio), a qual pode se ramificar em muitas ligações colaterais (cada ramificação possuindo o mesmo sinal de saída do neurônio). Todo o processamento que se realiza em cada unidade deve ser completamente local, isto é, deve depender apenas dos valores correntes dos sinais de entrada que chegam dos neurônios através das conexões. Estes valores atuam sobre os valores armazenados na memória local da célula" [HECHT1988].

4.2.2. Histórico das Redes Neurais Artificiais

De acordo com [MÁSSON1990], o primeiro modelo formalizado de redes neurais artificiais foi proposto por McCulloch e Pitts, em 1943. Essa estrutura abstraía a complexidade da atividade neural em sistemas neurais reais, assim como complicadas características encontradas no corpo de neurônios biológicos, formando a base para a maioria dos modelos conexionistas desenvolvidos posteriormente.

[HEBB1949] publica The Organization of Behavior, assumindo que a aprendizagem do conhecimento representado em uma rede neural seja alcançada pelo fortalecimento das conexões entre neurônios adjacentes, sempre que esses estiverem excitados.

Em 1958, Frank Rosenblatt criou o perceptron, um modelo cognitivo que consistia de unidades sensoriais conectadas a uma única camada de neurônios de McCulloch e Pitts, capaz de aprender tudo o que pudesse representar. Rosenblatt demonstrou que, se fossem acrescidas sinapses ajustáveis, as redes neurais de McCulloch e Pitts poderiam ser treinadas para classificar padrões em classes linearmente separáveis, convergindo em um número limitado de passos [MÁSSON1990].

No início da década de 60, Widrow e Hoff publicam um artigo no qual especificam um neurônio artificial baseado no modelo de McCulloch e Pitts, denominado adaline. Conforme [MÁSSON1990], a importância desse modelo está associada à regra de aprendizagem proposta, a regra Delta.

A publicação de Perceptrons de Minsky e Papert, em 1969, expôs as limitações do modelo de Rosenblatt, provando que tais redes não são capazes de resolver uma ampla classe de problemas devido às restrições de representação [MÁSSON1990] [WASSERMAN1989]. O impacto desta publicação foi devastador, praticamente desaparecendo o interesse em redes neurais artificiais nos anos seguintes. Somente poucos pesquisadores como Malsburg, Grossberg, Kohonen e Anderson permaneceram concentrando suas atividades na abordagem conexionista.

A partir dos anos 80, com o avanço da tecnologia e o fracasso da escola simbolista na solução de determinados tipos de problemas, as redes neurais artificiais passaram a atrair substancial atenção novamente [WASSERMAN1989].

Em 1982, a introdução do modelo conexionista conhecido pelo nome de seu idealizador, John Hopfield, permitiu esclarecer, pelas suas características computacionais e estabilidade, boa parte das dúvidas até então existentes em relação ao processo dinâmico executado por certas redes neurais. No mesmo ano, Kohonen publicou um artigo descrevendo uma rede neural artificial baseada em auto-organização e nas características de aprendizado adaptativo do cérebro humano [MÁSSON1990].

Hinton e Seynowsky, em 1983, estenderam o modelo de Hopfield com a incorporação de dinâmica estocástica. Este modelo de rede neural passou a ser conhecido como Máquina de Boltzmann [WASSERMAN1989].

Cerca de dois anos mais tarde, Rumelhart, Hinton e Williams aperfeiçoaram a idéia de perceptron, criando o algoritmo Backpropagation [RUMELHART1986], levando a uma explosão de interesse em redes neurais. Este algoritmo foi aplicado em uma grande variedade de problemas, como na identificação da estrutura de proteínas, hifenização de palavras em inglês, reconhecimento da fala, compressão de imagens e previsão de séries temporais [MÁSSON1990]. O sucesso deste algoritmo estimulou o desenvolvimento de muitas pesquisas em redes neurais artificiais e de uma variedade de modelos cognitivos.

4.2.3. Topologia das Redes Neurais Artificiais

De acordo com [MÁSSON1990], a topologia de uma rede neural artificial pode ser expressa através de um grafo dirigido com pesos G = ( V, A, W ), onde V corresponde a um conjunto de vértices, A a um conjunto de arcos dirigidos e W a um conjunto de pesos para esses arcos. Cada vértice no grafo representa uma unidade de processamento.

4.2.3.1. Camadas

As pesquisas em redes neurais artificiais levaram ao desenvolvimento dos mais diversos modelos cognitivos, cada qual com suas particularidades e adequados a um tipo de situação.

A estruturação de uma rede neural em camadas é uma importante característica topológica desses modelos [MÁSSON1990]. Em uma rede neural estruturada em camadas, o conjunto de vértices V pode ser particionado em vários subconjuntos disjuntos V = V(0) V(1) ... V(L) de modo que as unidades de processamento da camada l somente apresentem conexões com as unidades das camadas l+1 e l-1, onde L corresponde ao número de camadas da rede neural artificial. [YOUNGOHC1991a] define uma rede fully connected como sendo onde aquela onde cada unidade de processamento da camada l estabelece conexão com todas as unidades de processamento da camada l+1.

Quanto ao número de camadas, as redes neurais podem ser dispostas em uma única camada, configuração mais simples de uma rede neural, ou em múltiplas camadas [BEALE1990] [WASSERMAN1989].

[LIPPMAN1987] ainda classifica as redes neurais artificiais em redes cíclicas, também chamadas de redes recorrentes, e redes acíclicas. A arquitetura de uma rede neural cíclica difere da acíclica por apresentar conexões entre as unidades de processamento pertencentes à mesma camada ou entre unidades de processamento de camadas diferentes cujas saídas passam a ser entradas na camada anterior. As redes recorrentes podem exibir propriedades muito similares à memória de curto termo dos seres humanos, onde o estado da saída da rede depende em parte da entrada anterior.

4.2.3.2. Conexões e Pesos

Os arcos do grafo são chamados de conexões e representam as sinapses entre os neurônios artificiais. A cada conexão no grafo está associado um peso wij(l), em analogia às sinapses de um modelo conexionista biológico, representando a força de ligação entre as unidades de processamento vi(l) e vj(l-1), onde i e j correspondem à posição - respectivamente nas camadas l e l-1 -, que essas unidades ocupam na rede [MÁSSON1990].

Conexões com pesos positivos, chamadas excitatórias, indicam o reforço na ativação do neurônio vi(l); sinapses com pesos negativos, chamadas inibitórias, indicam a inibição na ativação do neurônio vi(l). Assim, os neurônios artificiais, distribuídos no espaço e ligados por conexões, trocam sinais inibitórios ou excitatórios, competindo ou cooperando entre si. O comportamento inteligente emerge, então, da ação simultânea dessa coletividade, sem a necessidade de elementos centralizadores [MÁSSON1990].

4.2.3.3. Unidades Visíveis e Unidades Ocultas

A interface da rede neural artificial é definida pelas unidades de entrada (VI), unidades de saída (VO) e pelas unidades ocultas (VH) [MÁSSON1990] [YOUNGOHC1991a].

V = VI VO VH

O conjunto de unidades de entrada e de saída representam as unidades visíveis da rede, sendo dependentes da aplicação que se quer modelar [FREEMAN1992]. Em redes neurais estruturadas em camadas, a camada de entrada é tipicamente V(0) e a camada de saída, V(L).

As unidades ocultas são utilizadas para modificar os dados de entrada, de modo a suportar qualquer função requerida para a entrada ou saída [YOUNGOHC1991b], impondo uma representação intermediária adicional dos dados de entrada para a saída desejada. Através das unidades ocultas, o modelo conexionista consegue representar abstrações que não poderiam ser diretamente realizadas a partir das unidades de entrada [JONES1987].

4.2.4. Representação do Conhecimento em uma Rede Neural Artificial

O domínio do conhecimento de um problema é representado em um modelo conexionista através das unidades de processamento, que abstraem a estrutura e o comportamento dos neurônios biológicos [BEALE1990].

A figura 4.2 ilustra a estrutura de uma unidade de processamento.

Figura 4.2. Unidade de processamento.

Uma unidade de processamento vi(l) possui entradas x1(l-1), x2(l-1), ..., xn(l-1), que correspondem aos estados dos neurônios vj(l-1) com os quais está conectada.

A partir dessas entradas e do conjunto de pesos sinápticos wij(l), que refletem a força da unidade vj(l-1) sobre a unidade vi(l), é calculado o potencial net do neurônio vi(l). Esse potencial no tempo t é determinado por uma regra de propagação, que geralmente equivale à soma linear da multiplicação das entradas pelos pesos [MÁSSON1990], conforme equação (4.1).
(4.1)

onde xj(l-1) é o estado da j-ésima unidade,

wij(l) é a força sináptica entre a i-ésima unidade e a j-ésima unidade e,

i(l) é o limiar da i-ésima unidade, representando a força que as entradas das unidades conectadas à unidade vi(l) precisam atingir para ativar esta unidade.

O potencial é modificado pela aplicação de uma função de ativação g, determinando o estado da unidade vi(l) no instante t+1.

(4.2)

De acordo com [MÁSSON1990], a função de ativação corresponde a um limiar que restringe a propagação do impulso nervoso à transposição de um certo nível de atividade, mapeando o potencial da unidade de processamento vi(l) para um intervalo pré-especificado de saída.

Dentre as possíveis funções de ativação pode-se citar a linear, a rampa, a salto e a sigmóide.

A função linear (figura 4.3 a) é obtida pela equação g () = , onde é uma constante de proporcionalidade que regula a intensidade do .

A função rampa (figura 4.3 b) é limitada ao intervalo [-y,+y] definida por


onde y representa o ponto de saturação da função.

A figura 4.3 c) ilustra a função salto que admite valor +1 se o potencial da unidade de processamento vi(l) for positivo e -1, caso contrário.

A função sigmóide (figura 4.3 d), também conhecida por função logística, é expressa matematicamente como

(4.3)

sendo uma função contínua, monotonicamente crescente e que gera valores graduais e não lineares no intervalo [0,1].

Figura 4.3. Funções de ativação.

Outra função de ativação comumente utilizada é a tangente hiperbólica [WASSERMAN1989]. Sua curva é similar à função sigmóide, mas simétrica na origem. Essa função é freqüentemente empregada por biólogos como um modelo matemático de ativação da célula nervosa.

Mesmo conhecendo completamente o comportamento de cada neurônio individual, a composição de várias unidades de processamento em uma estrutura de rede manifesta reações imprevisíveis. Desta forma, é a reunião do estado de ativação de todas as unidades de processamento que especifica o que está sendo representado na rede neural artificial em um determinado instante. É essa emergência de propriedades de conjunto que determina o interesse e a complexidade dos modelos conexionistas.

4.2.5. Características das Redes Neurais Artificiais

Por serem baseadas nas redes neurais biológicas, as redes neurais artificiais apresentam um surpreendente número de características observadas no processo cognitivo humano [WASSERMAN1989], como o aprendizado pela experiência, a generalização a partir de exemplos e a abstração de características essenciais de informações que contém fatos irrelevantes.

4.2.5.1. Aprendizado

[CARBONELL1989] define o conceito de aprendizado como a habilidade de realizar tarefas novas que não podiam ser realizadas anteriormente, ou melhorar a realização de tarefas antigas, como resultado de mudanças produzidas pelo processo de aprendizado.

As redes neurais artificiais podem modificar seu comportamento em resposta aos estímulos produzidos pelo ambiente, regulando a força da conexão entre unidades de processamento adjacentes pela adaptação dos pesos sinápticos, reconhecendo as informações apresentadas às suas unidades visíveis [WASSERMAN1989].

4.2.5.2. Generalização

Segundo [WASSERMAN1989], um modelo conexionista é sensível às variações que podem ocorrer em informações procedentes de suas unidades de entrada, reconhecendo ruído e distorção. A capacidade da rede em se adaptar às novas situações, gerando valores de saída consistentes com os esperados, é vital para a aplicabilidade do modelo em um ambiente do mundo real.

Embora a maioria das pesquisas em redes neurais artificiais tenham concentrado seus esforços na redução dos tempos de aprendizagem, a característica mais importante de um modelo conexionista é a habilidade em generalizar sobre o domínio do problema [REFENES1993b].

O bom desempenho da generalização depende, entre outros fatores, do número de parâmetros livres da rede neural artificial [LECUN1989]. É desejável diminuir o tamanho das conexões sem, entretanto, reduzir o tamanho da rede ao ponto onde não se possa computar a função desejada.

4.2.5.3. Abstração

Alguns modelos de redes neurais artificiais são capazes de abstrair a essência do conjunto de dados a elas apresentados [WASSERMAN1989], permitindo, dessa forma, a classificação ou reconhecimento de padrões incompletos.

4.2.6. Aprendizado da Rede Neural Artificial

Dentre todas as características das redes neurais artificiais, nenhuma desperta tanto interesse quanto a sua habilidade em realizar o aprendizado [WASSERMAN1989].

Conforme [MÁSSON1990], o aprendizado em um modelo de redes neurais artificiais é decorrente do treinamento da rede através da apresentação de padrões às suas unidades visíveis.

O objetivo do treinamento consiste em atribuir os pesos sinápticos com valores apropriados, de modo a produzir o conjunto de saídas desejadas ou ao menos consistentes com um intervalo de erro estabelecido [FREEMAN1992]. Desta forma, o processo de aprendizado subsiste na busca de um espaço de pesos pela aplicação de alguma regra que defina esta aprendizagem [MÁSSON1990].

Em geral, as regras de aprendizado podem ser consideradas variantes da Regra de Hebb [HEBB1949]. Na essência, Hebb propõe que a sinapse conectando dois neurônios seja reforçada sempre que ambos os neurônios estiverem ativos.

Uma rede neural artificial que tenha a regra de Hebb como regra de aprendizado modifica os pesos sinápticos entre as conexões das unidades de processamento vi(l) e vj(l-1) proporcionalmente ao produto dos níveis de excitação desses neurônios, conforme equação (4.4).
(4.4)

onde corresponde a alteração no valor do peso wij(l) e

é uma constante de proporcionalidade que reflete a evolução do processo de aprendizado pela busca no espaço de pesos.

Como adaptação à regra de Hebb, a regra Delta modifica os pesos de acordo com a variação entre a saída desejada e a observada no treinamento [MÁSSON1990].

A equação (4.5) atualiza os pesos associados aos arcos da rede neural artificial pela aplicação da regra Delta

(4.5)

com = ( di(l) - xi(l) ), onde di(l) representa a saída desejada para a unidade de processamento vi(l).

4.2.7. Estratégias de Aprendizado

Uma rede neural artificial deve ser ajustada para que a aplicação de um conjunto de entradas produza a saída desejada. Esse ajustamento, obtido pelo treinamento da rede, pode ser feito das seguintes formas [MÁSSON1990] [WASSERMAN1989] :

sem treinamento : os valores dos pesos sinápticos são estabelecidos explicitamente.

treinamento supervisionado : a rede é treinada pela apresentação dos vetores de entrada e seus respectivos vetores de saída, chamados de pares de treinamento.

treinamento não supervisionado : o treinamento consiste da apresentação apenas dos vetores de entrada, a partir dos quais são extraídas as características desse conjunto de padrões, agrupando-os em classes. O treinamento não supervisionado pode ser observado como um processo autônomo ou auto-organizável.

4.2.8. Algoritmo de Aprendizado Backpropagation

Por muitos anos não se teve um algoritmo eficiente para treinar redes neurais artificiais de múltiplas camadas. Desde que as redes de uma única camada se mostraram limitadas naquilo que poderiam representar e, portanto, no que poderiam aprender, o desenvolvimento de modelos cognitivos deixou de ser um campo atraente e poucas pesquisas foram realizadas na área.

O algoritmo backpropagation, proposto por Werbos, Parker e Rummelhart, fez ressurgir o interesse em redes neurais artificiais, sendo o algoritmo de aprendizado mais largamente utilizado [MÁSSON1990] [REFENES1993c].

Conforme [BEALE1990], o backpropagation pode ser visto como uma generalização do método Delta para redes neurais de múltiplas camadas. Ao se apresentar um determinado padrão de entrada a uma rede neural não treinada e o respectivo padrão de saída, uma saída aleatória é produzida. A partir da saída produzida pela rede é calculado um erro, representando a diferença entre o valor obtido e o desejado. O objetivo consiste, então, em reduzir continuamente o erro até um determinado valor aceitável. Isto é alcançado pelo ajuste dos pesos entre as conexões dos neurônios pela aplicação da regra Delta Generalizada, que calcula o erro para alguma unidade particular e propaga esse erro para a camada anterior. Cada unidade tem seus pesos ajustados de modo a minimizar o erro da rede.

A minimização do erro no algoritmo backpropagation é obtida pela execução do gradiente decrescente na superfície de erros do espaço de pesos, onde a altura para qualquer ponto no espaço de pesos corresponde à medida do erro. O ajuste dos pesos inicia nas unidades de saída, onde a medida do erro está disponível, e procede com a retropropagação desse erro entre as camadas, ajustando os pesos até que a camada das unidades de entrada tenha sido processada. Para as unidades de saída, como são conhecidos os valores desejados e obtidos, o ajuste dos pesos sinápticos é relativamente simples; para as unidades das camadas ocultas, o processo não é tão trivial. Intuitivamente, as unidades ocultas que apresentarem erros grandes devem ter suas conexões bastante alteradas, enquanto que a mudança nos pesos daquelas que tiverem suas saídas muito próximas das desejadas deverá ser pequena. Na realidade, os pesos para um neurônio particular devem ser ajustados na proporção direta ao erro da unidade de processamento a qual está conectado. Essa é a razão pela qual a retropropagação dos erros através da rede permite o correto ajuste dos pesos sinápticos entre todas as camadas do modelo conexionista.

Assim, é possível identificar duas fases distintas no processo de aprendizagem do backpropagation : aquela onde as entradas se propagam entre as camadas da rede, da camada de entrada até a camada de saída, e aquela em que os erros são propagados na direção contrária ao fluxo de entrada.

4.2.8.1. Etapas do Algoritmo Backpropagation

Seja o conjunto de treinamento D = ( ,) : = 1, ..., , onde são os vetores de entrada, os correspondentes vetores de saída e o número de vetores do conjunto de treinamento.

Conforme [FREEMAN1992] e [MÁSSON1990], o objetivo do treinamento consiste em ensinar à rede o mapeamento de todo vetor de entrada para o respectivo vetor de saída, isto é, estabelecer xo ( w , ) = , 1 , pela configuração de valores apropriados para os pesos das conexões da rede.

O ajustamento desses pesos, executado sempre que a saída desejada do e a saída real xo não forem coincidentes, é feito pela aplicação do método gradiente decrescente (equação (4.6)).
(4.6)

com onde é a taxa de aprendizagem e , a medida do erro.

O erro é definido como uma soma sobre todos os padrões de treinamento, conforme equação (4.7).

(4.7)

Como medida de erro para um padrão de treinamento específico tem-se

(4.8)

onde é o j-ésimo componente do vetor de saída . O aprendizado é reduzido, portanto, à minimização da medida de erro em (4.7).

As etapas do backpropagation podem ser sumarizadas nos seguintes passos :

  1. inicializar o conjunto de pesos W com valores pequenos e aleatórios;
  2. apresentar o vetor de entrada do padrão de treinamento ;
  3. calcular a resposta da rede ;
  4. calcular o erro para as unidades de saída

(4.9)

onde é a derivada da função de ativação em relação à ;

  1. calcular o erro para as unidades ocultas

(4.10)

  1. atualizar os pesos de todas as camadas

(4.11)

Os padrões de treinamento são apresentados sucessivamente às unidades visíveis da rede neural artificial, até que um erro aceitável seja alcançado ou enquanto um número determinado de iterações não for satisfeito. O último conjunto de pesos observado entre as conexões das células é então mantido para testar a habilidade da rede em mapear a função de entrada para saída e a conseqüente validação do modelo de redes neurais artificiais [FREEMAN1992].

4.2.9. Considerações sobre o Algoritmo Backpropagation

O desempenho do algoritmo de aprendizagem backpropagation está condicionado à modelagem adotada na rede neural artificial e ao conjunto de dados utilizados no processo de ajuste dos pesos sinápticos entre as conexões da rede.

4.2.9.1. Dados para Treinamento

Conforme James Freeman [FREEMAN1992], não existe critério específico para seleção dos vetores de treinamento. É possível utilizar todos os dados disponíveis no treinamento do modelo conexionista, embora apenas um subconjunto desses dados talvez seja suficiente para que esse processo seja executado com sucesso. Os dados restantes podem ser usados para avaliar a capacidade de generalização do backpropagation no mapeamento de entradas nunca encontradas no treinamento para saídas consistentes.

4.2.9.2. Tamanho da Rede Neural Artificial

[REFENES1993c] coloca que o número de unidades de processamento das camadas de entrada e saída é usualmente determinado pela aplicação. No caso das camadas ocultas, a relação não é tão transparente. O ideal é utilizar o menor número possível de unidades ocultas para que a generalização não fique prejudicada [RUMELHART1986]. Se o número de neurônios ocultos for muito grande, a rede acaba memorizando os padrões apresentados durante o treinamento. Contudo, se a arquitetura das camadas ocultas possuir unidades de processamento em número inferior ao necessário, o algoritmo backpropagation pode não conseguir ajustar os pesos sinápticos adequadamente, impedindo a convergência para uma solução.

A experiência ainda é a melhor indicação para a definição da topologia de um modelo conexionista [SURKAN1990].

4.2.9.3. Pesos e Parâmetros de Aprendizado

[FREEMAN1992] sugere que os pesos das conexões entre as camadas de uma rede neural sejam inicializados com valores aleatórios e pequenos para que se evite a saturação da função de ativação e a conseqüente incapacidade de realizar a aprendizagem.

À medida que o treinamento evolui, os pesos sinápticos podem passar a assumir valores maiores, forçando a operação dos neurônios na região onde a derivada da função de ativação é muito pequena. Como o erro retropropagado é proporcional a esta derivada, o processo de treinamento tende a se estabilizar, levando a uma paralisação da rede sem que a solução tenha sido encontrada. Isto pode ser evitado pela aplicação de uma taxa de aprendizagem menor. Teoricamente, o algoritmo de aprendizado exige que a mudança nos pesos seja infinitesimal [RUMELHART1986]. Entretanto, a alteração dos pesos nessa proporção é impraticável, pois implicaria em tempo de treinamento infinito. Em vista disso, é recomendável que a taxa de aprendizado assuma valor maior no início do treinamento e, à medida em que se observe decréscimo no erro da rede, essa taxa também seja diminuída. Diminuindo progressivamente a taxa de atualização dos pesos, o gradiente decrescente está apto a alcançar uma solução melhor [BEALE1990].

Outra maneira de aumentar a velocidade de convergência da rede neural artificial treinada pelo algoritmo backpropagation é a adoção de um método chamado momentum [BEALE1990] [FREEMAN1992] [RUMELHART1986] [WASSERMAN1989]. O propósito desse método consiste em adicionar, quando do cálculo do valor da mudança do peso sináptico, uma fração proporcional à alteração anterior. Assim, a introdução desse termo na equação de adaptação dos pesos tende a aumentar a estabilidade do processo de aprendizado, favorecendo mudanças na mesma direção. A equação (4.12) especifica o ajuste das conexões entre unidades de processamento pela aplicação do termo momentum.

(4.12)

onde representa o termo momentum, 0 < < 1.

4.2.9.4. Mínimo Local

O backpropagation utiliza a heurística do gradiente decrescente para ajustar os pesos entre as sinapses, seguindo a curva da superfície dos erros em direção a um ponto mínimo [WASSERMAN1989]. Superfícies de erros convexas, por apresentarem um único mínimo, permitem que este método atinja o mínimo global. Nas superfícies de erros não convexas e altamente convolutas, normalmente encontradas em problemas práticos, a solução alcançada pode não ser a ótima. Nestes casos, haverá que ser utilizado algum algoritmo de otimização global.

Assim que um mínimo é encontrado, seja global ou local, o aprendizado cessa [FREEMAN1992]. Se a rede alcançar um mínimo local (figura 4.4), do seu ponto de vista limitado, todas as direções em sua volta representam valores maiores que o alcançado e, conseqüentemente, a convergência para o mínimo global não é atingida. Nesse caso, a magnitude do erro da rede pode ser muito alta e, portanto, inaceitável.

Caso a rede neural encerre o aprendizado antes que uma solução satisfatória seja obtida, o redimensionamento do número de unidades ocultas ou da taxa de aprendizagem e do termo momentum podem ser suficientes para resolver o problema. De acordo com [FREEMAN1992], outra possibilidade para se tentar encontrar o mínimo global é realizar o treinamento a partir de um conjunto de pesos inicial diferente daquele utilizado anteriormente.

Figura 4.4. Mínimo local.
Fonte : [KOVÁCS1996].

Através da figura 4.4, que ilustra um corte em uma superfície de erros hipotética no espaço de pesos, é possível observar um ponto de mínimo local. Tanto à direita, quanto à esquerda, os valores são maiores que esse mínimo.