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.
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.
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].
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.
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.
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].
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.
[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].
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.
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
:
;
;
|
|
|
|
onde
é a derivada da função
de ativação em relação à
;
|
(4.10) |
|
|
(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.
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.