Upload
leandro-de-castro
View
467
Download
18
Embed Size (px)
DESCRIPTION
Curso introdutório de Redes Neurais Artificiais oferecido no Programa de Pós-Graduação em Engenharia Elétrica da Universidade Mackenzie.
Citation preview
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 1
INTRODUÇÃO ÀS REDES NEURAIS
ARTIFICIAIS Este material foi desenvolvido com base na seguinte referência bibliográfica: DE CASTRO, L.
N. Fundamentals of Natural Computing: Basic Concepts, Algorithms, and Applications.
Capítulo 4, CRC Press, 2006. Estes slides foram gerados em 2002 em conjunto com o Prof.
Fernando José Von Zuben da Unicamp, a quem atribuo os devidos créditos e agradecimentos.
Versões mais atuais do material são utilizadas em disciplinas de pós-graduação do Programa de
Pós-Graduação em Engenharia Elétrica (PPGEE) da Universidade Presbiteriana Mackenzie e
da Pós-Graduação da FEEC/Unicamp. O uso deste material para fins acadêmicos é livre e
gratuito, desde que sejam mantidas as informações originais de autoria. A sugestão de citação é:
“L. N. de Castro (2014), Introdução às Redes Neurais Artificiais, Material de Apoio do Curso
de Redes Neurais do PPGEE/Universidade Mackenzie, Disponível online em
http://www.slideshare.net/lndecastro, p. 464.” As referências citadas e não listadas podem ser
encontradas no livro supracitado. Outros cursos do autor, como “Fundamentos de Computação
Natural” e “A Nova Escola do Empreendedorismo” estão disponíveis no mesmo Slideshare.
Mais informações sobre o tema podem ser encontradas no site do Laboratório de Computação
Natural (LCoN): http://www.mackenzie.br/lcon.html.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 2
Sumário 1. Introdução as Redes Neurais Artificiais ............................................................. 9
2. Nomenclatura dos Dados .................................................................................. 11
2.1. Normalização dos Dados de Entrada ........................................................ 14
3. Principais Tarefas em Aprendizagem de Máquina ........................................... 16
3.1. Predição .................................................................................................... 17
3.2. Classificação ............................................................................................. 18
3.3. Agrupamento ............................................................................................ 24
3.4. Exemplos de Áreas de Aplicação ............................................................. 26
4. Alguns Conceitos em Estatística ....................................................................... 27
4.1. Conceitos Básicos ..................................................................................... 28
4.2. Medidas Resumo ...................................................................................... 30
4.3. A Curva Normal ....................................................................................... 31
4.4. Testes de Diferenças entre Médias ........................................................... 33
5. Base Biológica das RNAs ................................................................................. 41
6. O Sistema Nervoso ........................................................................................... 42
6.1. Níveis de Organização no Sistema Nervoso ............................................. 44
6.2. Base Biológica e Física da Aprendizagem e Memória .............................. 55
7. Projeto de Redes Neurais Artificiais ................................................................. 59
7.1. Neurônios Artificiais ................................................................................ 66
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 3
7.2. Arquiteturas de Rede ................................................................................ 80
7.3. Paradigmas de Aprendizagem................................................................... 88
8. A Regra de Hebb ............................................................................................ 101
9. O Perceptron Simples ..................................................................................... 104
9.1. Perceptron Simples para Classificação de Padrões ................................. 105
9.2. Exemplo de Aplicação e Motivação Geométrica .................................... 108
9.3. Perceptron com Múltiplos Neurônios ..................................................... 110
9.4. Exemplo de Aplicação: Reconhecimento de Caracteres ......................... 112
9.5. Aspectos Práticos do Treinamento do Perceptron ................................... 113
10. Adaline ........................................................................................................... 115
10.1. A Regra Delta ......................................................................................... 115
10.2. Superfícies de Erro ................................................................................. 118
11. Redes Neurais Competitivas: Introdução ........................................................ 121
11.1. Quantização Vetorial .............................................................................. 123
12. Rede Neural Competitiva: Algoritmo Básico ................................................. 125
13. Mapas Auto-Organizáveis de Kohonen .......................................................... 130
13.1. Fundamentos ........................................................................................... 130
13.2. Projeto de Mapas Auto-Organizáveis ..................................................... 135
13.3. Fase Competitiva .................................................................................... 141
13.4. Fase Cooperativa .................................................................................... 144
13.5. Fase Adaptativa ...................................................................................... 148
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 4
14. Exemplos de Aplicação .................................................................................. 151
14.1. Agrupamento de dados (Clusterização) .................................................. 151
14.2. O Problema da Identificação dos grupos ................................................ 154
14.3. Ordenamento de pontos em espaços multidimensionais ......................... 156
14.4. Problemas Combinatoriais (Caixeiro Viajante) ...................................... 157
14.5. Questões a serem investigadas ................................................................ 158
15. Quantização Vetorial Supervisionada ............................................................. 159
16. Referências sobre Redes Auto-Organizadas ................................................... 160
17. Introdução às Redes de Hopfield .................................................................... 162
18. Fundamentos de Sistemas Dinâmicos Não Lineares....................................... 164
18.1. Noções Elementares sobre Estabilidade ................................................. 164
18.2. Sistemas Dinâmicos ................................................................................ 166
18.3. Sistemas Não lineares Multidimensionais .............................................. 169
18.4. Análise de Sistemas Não lineares ........................................................... 172
18.5. Exemplos de Comportamentos Dinâmicos Não lineares ........................ 174
18.6. Estado Estacionário em Sistemas Não lineares ....................................... 177
19. Redes Neurais Recorrentes como Sistemas Dinâmicos Não lineares ............. 194
19.1. Modelos Derivados da Física Estatística ................................................ 196
19.2. Modelo Aditivo de Neurônio .................................................................. 198
19.3. Adaptação para a Rede de Hopfield ........................................................ 200
20. Rede de Hopfield Discreta .............................................................................. 206
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 5
20.1. Características Operacionais da Rede de Hopfield ................................. 209
20.2. Fase 1: Armazenagem de Padrões (memórias fundamentais) ................. 211
20.3. Fase 2: Recuperação dos Padrões (estados de equilíbrio estáveis) ......... 212
20.4. Resumo ................................................................................................... 213
20.5. A Emergência de Memória Associativa .................................................. 214
20.6. Atratores Espúrios .................................................................................. 217
20.7. Capacidade de Memória da Rede de Hopfield ........................................ 218
20.8. Regra da Projeção ................................................................................... 221
21. Referências sobre Redes de Hopfield ............................................................. 222
22. Introdução às Redes RBF ............................................................................... 225
23. Regressão........................................................................................................ 227
23.1. Modelos Lineares de Regressão.............................................................. 231
23.2. Interpolação ............................................................................................ 234
23.3. Redes Neurais para Interpolação ............................................................ 236
23.4. A Função de Base Radial ........................................................................ 243
24. Teoria de Regularização ................................................................................. 246
24.1. Aprendizagem Supervisionada como Problema Mal-Comportado ......... 246
24.2. Regularização ......................................................................................... 249
24.3. Redes Regularizadoras ............................................................................ 254
25. Redes RBF Generalizadas .............................................................................. 257
25.1. Aproximação Universal das Redes RBF ................................................. 261
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 6
25.2. Maldição da Dimensionalidade ............................................................... 262
25.3. Propriedades das Redes RBF .................................................................. 263
26. Treinamento de Redes RBF Generalizadas .................................................... 264
26.1. Seleção de Centros por Auto-Organização ............................................. 266
26.2. Treinamento Supervisionado da Rede RBF ............................................ 268
26.3. Um Exemplo de Aproximação Usando Redes RBF ............................... 270
27. Referências sobre Redes RBF ........................................................................ 272
28. Introdução às Redes MLP ............................................................................... 275
29. Derivação do Algoritmo de Backpropagation ................................................ 280
29.1. Capacidade de Aproximação Universal .................................................. 287
29.2. Exemplo de Aproximação Universal ...................................................... 291
29.3. Virtudes e Limitações das Redes MLP ................................................... 301
30. Aspectos Práticos do Treinamento de Redes MLP ......................................... 314
30.1. Treinamento Local ou em Lote ............................................................... 314
30.2. Critérios de Parada .................................................................................. 317
30.3. Arquitetura da Rede ................................................................................ 321
30.4. Validação Cruzada .................................................................................. 323
30.5. Normalização dos Dados de Entrada ...................................................... 328
30.6. Inicialização dos Vetores de Pesos e Limiares (Bias) ............................. 329
31. Referências sobre Redes MLP ........................................................................ 334
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 7
32. Técnicas de Otimização Não Linear Irrestrita para o Treinamento de Redes
MLP ........................................................................................................................ 336
32.1. Série de Taylor e Derivadas de Primeira e Segunda Ordem ................... 339
32.2. Exemplo de aproximação (expansão) em série de Taylor: ...................... 340
33. Aproximação de Funções ............................................................................... 343
33.1. Avaliação do Nível de Aproximação ...................................................... 344
34. Técnicas de Otimização Não linear Irrestrita .................................................. 347
34.1. Métodos Sem Diferenciação ................................................................... 353
34.2. Métodos de Primeira Ordem ................................................................... 353
34.3. Métodos de Segunda Ordem ................................................................... 358
35. Busca Iterativa da Taxa de Aprendizagem ..................................................... 381
35.1. Busca Simples do Passo .......................................................................... 382
35.2. Método de Fibonacci .............................................................................. 384
35.3. Método da Seção Áurea .......................................................................... 388
35.4. Método da Falsa Posição ........................................................................ 390
36. Comparação de Desempenho ......................................................................... 391
36.1. Desempenho: Velocidade de Convergência ............................................ 392
36.2. Capacidade de Generalização ................................................................. 395
37. Referências sobre Otimização Não Linear para Treinamento de Redes MLP 398
38. Máquinas de Vetores Suporte ......................................................................... 400
39. Otimização e Produto Interno Kernel ............................................................. 402
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 8
39.1. Conceitos de Otimização ........................................................................ 402
39.2. Produto Interno Kernel ........................................................................... 411
40. Teoria do Aprendizado Estatístico .................................................................. 419
40.1. Dimensão VC ......................................................................................... 426
41. O Hiperplano Ótimo ....................................................................................... 429
41.1. Hiperplano Ótimo para Classes Linearmente Separáveis ....................... 429
41.2. Hiperplano Ótimo para Classes Não linearmente Separáveis ................. 434
42. SVMs para Classificação ................................................................................ 439
42.1. Caso 1: Classes Linearmente Separáveis ................................................ 441
42.2. Caso 2: Classes Não linearmente Separáveis .......................................... 451
42.3. Discussão ................................................................................................ 461
43. Referências sobre SVM .................................................................................. 464
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 9
1. Introdução as Redes Neurais Artificiais
A capacidade de aprendizagem ou adaptação (a estímulos recebidos do ambiente)
das redes neurais biológicas (RNBs) é uma de suas mais importantes e marcantes
características.
Para que uma RNB aprenda é preciso que haja um processo de estimulação
externa, ou seja, é preciso que sejam apresentados exemplos à rede de forma que
ela extraia informação destes exemplos e construa seu ‘modelo interno’ do
ambiente.
O princípio de funcionamento das redes neurais artificiais (RNAs) é similar ao das
redes neurais biológicas:
o Dado um conjunto de exemplos de entrada, são feitos ajustes nos parâmetros
livres da rede de forma que ela crie um modelo interno capaz de representar os
exemplos de entrada adequadamente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 10
o O processo de apresentação de dados de entrada e ajuste de parâmetros da rede é
denominado de aprendizagem ou treinamento.
o Este tipo de aprendizagem é conhecido, portanto, como aprendizagem a partir
de dados (learning from data).
O uso de uma RNA para a solução de um dado problema envolve duas fases:
treinamento e aplicação.
Assim como no caso das redes biológicas, a aprendizagem de um determinado
conteúdo leva a uma possibilidade de aplicação desta rede a um novo problema,
similar ao aprendido, mas ainda desconhecido.
o Este processo de uso da rede para avaliar novos dados é denominado de
aplicação da rede, e a qualidade (ou desempenho) da rede quando aplicada a
dados não usados no treinamento (novos dados) é conhecida como capacidade
de generalização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 11
o A capacidade de generalização da rede é uma de suas características essenciais,
pois ela permite que uma RNA seja treinada com um conjunto conhecido de
dados de entrada e posteriormente aplicada na avaliação de novos dados.
o Uma rede com baixa capacidade de generalização pode não ter utilidade prática.
Por exemplo, quando os dados de treinamento possuem muito ruído.
2. Nomenclatura dos Dados
Os conjuntos de dados ou exemplos usados para o treinamento de redes neurais são
normalmente denominados por dados de treinamento ou dados de entrada.
Por exemplo, a Tabela 1 apresenta parte de uma base de dados (cadastros) para
solicitação de crédito (financiamento) para pagamento em 36 meses.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 12
Tabela 1: Solicitação de crédito para pagamento em 36 meses.
Salário
R$
Idade Estado
civil
Cartão
de
crédito
Imóveis Veículos Nro de
filhos
Possui
cheque
especial
Financiamento
Pretendido R$
Crédito
autorizado
350 21 Sol. 0 0 0 0 Sim 10.000 Não
3700 52 Cas. 1 1 2 2 Sim 7.000 Sim
1200 26 Cas. 1 0 1 1 Não 10.000 Não
700 25 Sol. 0 0 0 0 Não 5.000 Sim
8500 50 Cas. 2 1 2 2 Sim 40.000 Sim
1800 27 Sol. 1 0 1 0 Sim 20.000 Não
350 20 Sol. 0 0 0 0 Não 10.000 Não
A nomenclatura usada para descrever cada item desta tabela depende, dentre outros
fatores, da área de pesquisa (disciplina).
Cada linha desta tabela corresponde a um registro, amostra, exemplo, instância,
objeto, vetor de entradas ou padrão (de entrada ou treinamento). Em mineração
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 13
de dados a nomenclatura mais comum é registro, amostra, objeto ou instância.
Em RNAs é mais usual denominar de amostra, padrão de treinamento, padrão de
entrada ou vetor de entradas.
Cada coluna corresponde a um atributo, característica, entrada ou variável. Em
mineração de dados normalmente denominamos as colunas por atributo ou
variáveis independentes, enquanto em estatística normalmente denominamos por
características (features). Em RNAs geralmente chamamos as colunas de
entradas ou variáveis de entrada, pois cada atributo corresponde a uma das
entradas da rede neural artificial.
Nota: a representação dos padrões nas linhas é uma convenção da literatura, mas os
padrões também poderiam estar dispostos nas colunas da matriz, desde que isso
seja explicitado.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 14
Um conjunto de dados pode conter objetos com comportamento distinto do
comportamento geral dos dados ou de seus modelos. Estes objetos são
denominados outliers.
o Entretanto, há aplicações, como detecção de fraudes, onde eventos raros podem
ser mais importantes que os eventos comuns.
o Há técnicas específicas para a identificação de outliers.
Neste curso usaremos a nomenclatura descrita acima de forma consistente, mas
enfatizando quase sempre a nomenclatura da área de RNAs.
2.1. Normalização dos Dados de Entrada
Normalização é um processo de transformação dos dados que objetiva torná-los
mais apropriados ao processo de treinamento da rede.
A necessidade de normalização dos dados para o treinamento de RNAs pode ser
consequência de diversos fatores como, por exemplo, evitar a saturação dos
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 15
neurônios e fazer com que cada atributo dos dados de entrada tenha o mesmo
domínio.
Um atributo é normalizado escalonando seus valores de forma que eles pertençam
a um dado intervalo, por exemplo, [1, 1] ou [0, 1].
Vamos estudar aqui dois tipos de normalização: a) normalização max-min; e b)
normalização pelo escore-z.
Normalização Max-Min
A normalização max-min realiza uma transformação linear nos dados originais.
Assuma que maxa e mina são, respectivamente, os valores máximo e mínimo de
um determinado atributo a.
A normalização max-min mapeia um valor a em um valor a’ no domínio
[novo_mina, novo_maxa] da seguinte forma:
aaa
aa
a novonovonovoa
a min_)min_max_(minmax
min'
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 16
Normalização pelo escore-z
Na normalização pelo escore-z, também conhecida por normalização de média
zero, os valores de um atributo a são normalizados baseado na média e desvio
padrão de a da seguinte forma:
a’ = (a ā)/a,
onde ā é a média e a é o desvio padrão de a.
Este método de normalização é útil quando os valores máximo e mínimo reais de
um atributo são desconhecidos, ou quando há outliers dominando a normalização
max-min.
3. Principais Tarefas em Aprendizagem de
Máquina
Dado um conjunto de treinamento há duas principais tarefas que podem ser
executadas por uma RNA: predição (classificação e estimação) e agrupamento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 17
3.1. Predição
Predição é uma terminologia usada para se referir à construção e uso de um
modelo para avaliar a classe de uma amostra não rotulada, ou para estimar o valor
de um atributo de uma dada amostra.
o No primeiro caso denominamos a tarefa de classificação; e
o No segundo caso denominamos de regressão (em estatística) ou simplesmente
estimação.
Sob esta perspectiva, classificação e regressão constituem os dois principais tipos
de problemas de predição, onde a classificação é usada para predizer valores
nominais ou discretos, enquanto a regressão é usada para predizer valores
contínuos ou ordinais.
Exemplos: classificação (o crédito será oferecido ou não?); regressão (qual o valor
do crédito a ser oferecido?).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 18
3.2. Classificação
O processo de classificação, assim como o uso das RNAs, possui duas etapas:
o Na primeira etapa a rede neural é treinada, tal que ela se torne capaz de
descrever e distinguir um conjunto pré-determinado de classes. A RNA é
treinada usando um conjunto de treinamento rotulado, ou seja, para cada vetor
de entradas a saída desejada é conhecida. Isso implica na disponibilidade de
pares {(xi,ci)}i = 1,...,N, onde xi e ci i, são os vetores de entrada e as respectivas
saídas desejadas.
o Uma vez que a rede neural está treinada a classificar os dados de treinamento, é
preciso avaliar seu desempenho quando aplicada a dados não usados no
processo de treinamento da rede, conhecidos como dados de teste. O
desempenho da rede quando aplicada a dados de teste oferece uma estimativa de
sua capacidade de generalização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 19
Como os rótulos das classes dos dados de treinamento são conhecidos, este
processo é denominado de treinamento supervisionado (ou aprendizagem
supervisionada).
Exemplos de tarefas de classificação: identificação de spams, classificação de
objetos, atribuição de crédito, etc.
Aprendizagem Supervisionada como Aproximação de Funções
O processo de treinamento supervisionado pode sempre ser entendido como um
problema geral de aproximação de funções.
Considere o problema de aproximar uma função g(.): X m r por um
modelo de aproximação representado pela função ĝ(,): X P r, onde
P (P finito) é um vetor de parâmetros.
O problema geral de aproximação pode ser formalmente apresentado como segue:
o Considere a função g(): X m r, que mapeia pontos de um subespaço
compacto X m em pontos de um subespaço compacto g[X] r.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 20
o Com base nos pares de vetores de entrada saída {(xi,si)}i = 1,...,N, amostrados a
partir do mapeamento determinístico definido pela função g na forma:
si = g(xi)+i, i = 1,...,N, e dado o modelo de aproximação ĝ(,): XP r,
determine o vetor de parâmetros * P tal que
dist(g(.), ĝ(,*)) dist(g(.), ĝ(,)), para todo P, onde o operador dist(,)
mede a distância entre duas funções definidas no espaço X.
o O vetor l expressa o erro no processo de amostragem, sendo assumido ser de
média zero e variância fixa.
o A solução deste problema, se existir, é denominada a melhor aproximação e
depende diretamente da classe de funções a qual ĝ pertence.
Em problemas de aproximação utilizando um número finito de dados amostrados e
definido um modelo de aproximação ĝ(,), a distância entre a função a ser
aproximada e sua aproximação dist(g(),ĝ(,)) é uma função apenas do vetor de
parâmetros P.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 21
Tomando a norma euclidiana como a medida de distância, produz-se a seguinte
expressão:
N
l
ggN
J1
2)θ,(ˆ)(
1)θ( xx (1)
O funcional J: P é denominado superfície de erro do problema de
aproximação, pois pode ser interpretado como uma hipersuperfície localizada
“acima” do espaço de parâmetros P, sendo que para cada ponto P
corresponde uma “altura” J().
O termo funcional corresponde a toda função f : X n , e por isso o
problema de minimizar J() torna-se um problema de minimização funcional.
Dada a superfície de erro, o problema de aproximação passa a ser um problema de
otimização cuja solução é o vetor * P que minimiza J(), ou seja,
)θ(minarg*θθ
JP
(2)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 22
Durante o processo de aproximação da função g(.) pela função ĝ(,) fornecida
pela rede neural, devem ser considerados três tipos de erros:
Erro de Representação: primeiro consideremos o caso em que todo o conjunto
amostral está disponível {(xi,si)}i = 1,...,. Assuma, também, que dado
{(xi,si)}i = 1,...,, é possível encontrar um conjunto de parâmetros ótimo *. Neste
caso, o erro vai depender da adequação e do nível de flexibilidade do modelo de
aproximação ĝ(,). Este erro é também conhecido como erro de aproximação,
ou efeito bias.
Erro de Generalização: em aplicações de mundo real, somente um número finito
de amostras está disponível ou pode ser usado simultaneamente. Além disso, os
dados podem conter ruído. Os valores de g para os quais nenhuma amostra está
disponível devem ser interpolados. Devido a estes fatores pode ocorrer um erro
de generalização, também conhecido como erro de estimação, ou variância.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 23
Erro de Otimização: como o conjunto de dados é limitado, o erro é avaliado
somente nos pontos que pertencem ao conjunto amostral.
Dado o conjunto amostral {(xi,si)}i = 1,...,N, o vetor de parâmetros = * deve
fornecer a melhor função de aproximação possível com base na representação
paramétrica ĝ(,) e na medida de distância.
Quando o processo de treinamento supervisionado é visto sob uma perspectiva de
aproximação de funções, seu elenco de aplicações se estende para diversas outras
áreas além da classificação e estimação, pois ele gera um mapeamento entrada-
saída.
o Este mapeamento pode ser aplicado, por exemplo, para determinar a saída de um
controlador de um robô autônomo, especificando assim qual a próxima ação do
robô.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 24
3.3. Agrupamento
Clustering é o nome dado ao processo de agrupamento de um conjunto de objetos
em classes ou clusters (grupos) de objetos similares.
Diferentemente dos processos de classificação, a análise de clusters considera
dados de entrada não rotulados, ou seja, a classe à qual cada padrão de entrada
pertence não é conhecida a priori.
o O processo de agrupamento ou clusterização é normalmente usado para
identificar tais classes.
Os objetos são agrupados com o objetivo de maximizar a distância interclasse e
minimizar a distância intraclasse.
o Portanto, um cluster é uma coleção de objetos similares uns aos outros e
dissimilares aos objetos de outros clusters.
Cada cluster formado pode ser visto como uma classe de objetos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 25
Como os rótulos das classes dos dados de treinamento não são conhecidos, este
processo é denominado de treinamento não supervisionado (ou aprendizagem não
supervisionada).
A figura a seguir apresenta alguns possíveis mapeamentos de RNAs.
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5Random
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 26
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5K-Means
3.4. Exemplos de Áreas de Aplicação
Reconhecimento de padrões (p. ex. visão computacional, análise de sons, etc.);
processamento de sinais; reconhecimento de caracteres; identificação e controle;
biometria; navegação autônoma de robôs; etc.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 27
4. Alguns Conceitos em Estatística
O processo de treinamento das RNAs envolve a inicialização, geralmente aleatória,
do conjunto de pesos da rede.
o A partir deste conjunto inicial de pesos um algoritmo de aprendizagem é
aplicado à rede para ajustar os valores dos pesos.
o Portanto, cada inicialização da rede pode conduzir a um conjunto final de pesos
diferente.
Além disso, há outros fatores que normalmente influenciam a determinação de
conjuntos de pesos distintos para a rede a cada vez que ela é treinada, por exemplo,
a ordem de apresentação dos padrões de entrada.
Conclui-se, portanto, que cada vez que a rede é treinada um desempenho distinto é
apresentado.
Como consequência, o resultado do processo de treinamento da rede deve ser
avaliado com base em um conjunto amostral de treinamentos e execuções da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 28
Quando diferentes algoritmos de treinamento e/ou tipos de rede são aplicadas na
solução de um dado problema, seus desempenhos precisam ser comparados
considerando-se critérios de desempenho médio.
o Uma vez determinados os desempenhos médios dos algoritmos, é preciso
considerar também se há uma diferença significativa entre estes desempenhos.
Para isso, são utilizados testes de significância estatística.
4.1. Conceitos Básicos
Uma população é a coleção completa de elementos a serem estudados, por
exemplo, valores, medidas, cidades, etc.
Amostra é um subconjunto dos elementos extraído da população.
Uma variável aleatória x é uma variável que admite um valor numérico para cada
resultado de um experimento.
o A palavra aleatória indica que, normalmente, só podemos saber seu valor após a
execução do experimento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 29
o Portanto, para cada valor possível da variável há uma probabilidade associada.
Uma variável aleatória discreta admite um número finito ou contável de possíveis
valores.
O termo probabilidade refere-se à frequência relativa de ocorrência de um dado
ou evento qualquer, ou seja, a probabilidade associada a um evento qualquer é o
número de vezes que tal evento pode ocorrer em relação ao número total de
eventos.
A distribuição de probabilidade discreta P, também chamada de função de
probabilidade discreta, fornece a probabilidade de ocorrência de cada valor de
uma variável aleatória discreta.
Qualquer distribuição P deve satisfazer as seguintes condições:
P(x) = 1, x; e 0 P(x) 1, x. (3)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 30
4.2. Medidas Resumo
Algumas medidas podem ser usadas para resumir ou sumarizar a informação
contida em uma base de dados.
Dois tipos de medidas são importantes: medidas de tendência central e medidas de
dispersão.
As medidas de tendência central mais comuns são: média, mediana e moda:
Média:
N
i
ixN
x1
1.
Mediana: valor central.
Moda: valor mais frequente.
As medidas de dispersão fornecem informação sobre a variabilidade dos dados.
Por exemplo, a variância corresponde à variação dos dados em relação à média.
Variância:
N
i
i xxN
x1
2)(1
)var( .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 31
Desvio padrão: )var()( xx .
4.3. A Curva Normal
Em estatística, a curva normal é uma distribuição comum na qual é possível
determinar a probabilidade associada a todos os pontos da linha de base da
distribuição.
o Ela pode ser vista como uma distribuição de frequências, onde a frequência total
sob a curva é 100%.
o Essa curva apresenta uma área central que circunda a média ū onde se localizam
os escores mais frequentes e há, ainda, áreas progressivamente menores em
ambas extremidades (caudas).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 32
ū 2 2 3 3
68,26%
95,44%
99,74%
Figura 1: Curva normal com as porcentagens da área total compreendidas entre , 2 e 3.
Para calcular a porcentagem exata entre a média e diversas distâncias-sigma da
curva normal é empregada uma tabela.
o O cálculo da distância sigma a partir da média ū produz um valor chamado
escore z ou escore padronizado, que indica, em unidades de desvio padrão, o
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 33
sentido e o grau com que um dado escore bruto se afasta da média da sua
distribuição de frequências:
z = (u ū)/, (4)
onde é o desvio padrão da distribuição.
o Exemplo: um escore z de 1,4 significa que o escore bruto está a 1,4 à direita
da média.
4.4. Testes de Diferenças entre Médias
Os testes de diferença entre médias são usados para verificar se há uma diferença
significativa entre uma amostra e outra.
o No contexto de RNAs, ele permite-nos verificar se o desempenho apresentado
por um algoritmo é significativamente superior ao desempenho de outro
algoritmo ou não.
Tornou-se habitual em estatística começar pelo teste da hipótese nula, que afirma
que duas amostras foram extraídas da mesma população.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 34
o De acordo com a hipótese nula, qualquer diferença entre as amostras é resultado
do processo amostral. Portanto, uma diferença entre médias amostrais não
representa uma verdadeira diferença entre as médias populacionais.
De forma complementar à hipótese nula, a hipótese experimental afirma existir
uma verdadeira diferença populacional.
A distribuição amostral de diferenças oferece uma base sólida para testarmos
hipóteses acerca da diferença média entre duas amostras aleatórias.
Grandes Amostras
Vamos assumir inicialmente que estamos trabalhando com uma grande amostra, ou
seja, que N 30.
Para compararmos duas amostras faremos o seguinte raciocínio:
o Se a diferença média entre duas amostras situar-se ‘tão longe’ da diferença zero
de forma a conferir-lhe somente uma pequena probabilidade de ocorrência na
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 35
distribuição amostral de diferenças, rejeitaremos a hipótese nula, ou seja, a
hipótese que afirma ser a diferença obtida apenas ação do acaso.
o Analogamente, se a diferença média amostral for tão próxima de zero tal que sua
probabilidade de ocorrência seja grande, então devemos aceitar a hipótese nula e
tratar a diferença obtida como resultante de erro de amostragem.
Portanto, devemos procurar determinar a que distância a diferença média obtida
fica da diferença média de zero.
Para decidir se a diferença amostral obtida é estatisticamente significante (ou seja,
resultado de uma real diferença entre as populações e não apenas produto de erro
amostral) é habitual estabelecer um nível de confiança, também chamado de nível
de significância.
o O nível de significância representa a probabilidade com que a hipótese nula
pode ser rejeitada com confiança.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 36
o Analogamente, o nível de significância representa a probabilidade com que a
hipótese experimental pode ser aceita com confiança.
o Por convenção, usamos um nível de significância de 5%, mas também é comum
uma escolha mais rigorosa de 1%.
Dadas duas amostras, podemos estimar de forma acurada o desvio padrão da
distribuição de diferenças, designada erro padrão da diferença dif:
dif = (ū12 + ū2
2)½ , (5)
onde dif é o erro padrão da diferença, ū1 é o erro padrão da primeira média
amostral e ū2 é o erro padrão da segunda média amostral.
O erro padrão para cada média amostral é calculado através do desvio padrão das
amostras:
ū = s/((N 1)½). (6)
Uma vez que conhecemos o erro padrão para cada média amostral, podemos obter
o erro padrão da diferença pela Equação (5).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 37
A diferença média amostral obtida pode ser traduzida no seu equivalente z:
z = (ū1 ū2)/dif. (7)
Utilizando a tabela de porcentagem da área sob a curva normal entre ū e z, verifica-
se que um escore z encontrado representa um percentual das diferenças médias
para cada lado à partir da média.
Se subtrairmos essa soma de 100% encontraremos o valor dos escores-diferenças
entre médias. Este valor deve ser comparado ao nível de significância pré-
determinado para verificar se a hipótese nula deve ou não ser aceita.
Resumo:
o Passo 1: achar a média e o desvio padrão de cada amostra.
o Passo 2: achar o erro padrão de cada média (Eq. 6)
o Passo 3: achar o erro padrão da diferença (Eq. 5)
o Passo 4: traduzir a diferença média amostral em unidades de erro padrão da
diferença (Eq. 7)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 38
o Passo 5: achar a porcentagem da área total sob a curva normal entre z e a média
das diferenças.
o Passo 6: subtrair de 100% para achar a porcentagem da área total associada à
diferença média amostral obtida.
o Conclusão: Se a probabilidade de ocorrência da diferença média é maior do
que o nível de significância pré-determinado, então a hipótese nula deve ser
aceita.
Pequenas Amostras
Em muitos casos efetuar 30 ou mais treinamentos e execuções de uma RNA pode
ser muito custoso computacionalmente.
Nestes casos, onde a quantidade de amostras é pequena, por exemplo, N = 10, a
tabela que fornece a porcentagem de área sob a curva normal entre ū e z fica
comprometida.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 39
Isso ocorre, pois a distribuição amostral de diferenças só assume a forma da curva
normal se as amostras que a compõem forem grandes.
Esse afastamento da normalidade na distribuição de diferenças pode ser
compensado estatisticamente mediante o uso do que se convencionou chamar
razão t.
Assim como no caso do escore z, a razão t pode ser usada para traduzir uma
diferença média amostral em unidades de erro padrão da diferença.
A razão t pode ser obtida da seguinte forma: calcular a diferença entre as médias
das amostras e dividi-la pelo erro padrão da diferença:
t = (ū1 ū2)/dif. (8)
Porém, ao contrário do que ocorre com a estatística z, a razão t precisa ser
interpretada considerando-se o número de graus de liberdade, gl:
gl = N 1, (9)
onde Ni é o número de elementos da amostra i.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 40
Dado o valor de gl encontrado emprega-se uma tabela com os valores de t em
função dos graus de liberdade e do nível de significância escolhidos. Esta tabela
fornece os valores necessários para rejeição da hipótese nula.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 41
5. Base Biológica das RNAs
Como o cérebro processa informação? Como ele é organizado? Quais são os
mecanismos envolvidos no funcionamento cerebral?
Estas são apenas algumas das perguntas mais desafiadoras para a ciência.
O cérebro é especialista em desempenhar funções como reconhecimento de
padrões, controle motor, percepção, inferência, intuição, adivinhações, etc.
Entretanto, o cérebro também é “preconceituoso”, lento, impreciso, realiza
generalizações incorretas e, acima de tudo, é geralmente incapaz de explicar suas
próprias ações (embora este seja um requisito cultural e não funcional).
Os neurônios são considerados as unidades básicas de processamento do cérebro.
De modo análogo, modelos simplificados dos neurônios biológicos constituem as
unidades básicas de processamento das redes neurais artificiais (RNAs).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 42
Os neurônios biológicos estão conectados uns aos outros por meio de conexões
sinápticas. Acredita-se que a capacidade das sinapses serem moduladas é a
principal base para todos os processos cognitivos, como percepção, raciocínio e
memória.
Sendo assim, algumas informações essenciais sobre neurônios, sinapses e
organização estrutural, são importantes para o projeto de RNAs.
6. O Sistema Nervoso
Todos os organismos multicelulares possuem algum tipo de sistema nervoso, cuja
complexidade e organização varia de acordo com o tipo de animal.
Mesmo os vermes, lesmas e insetos são capazes de adaptar seu comportamento e
armazenar informações em seus sistemas nervosos.
O sistema nervoso é responsável por dotar o organismo, por meio de entradas
sensoriais, de informações sobre o estado do ambiente no qual ele vive e se move.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 43
A informação de entrada é processada, comparada com as experiências passadas, e
transformada em ações apropriadas ou absorvidas sob a forma de conhecimento.
Anatomicamente, o sistema nervoso possui duas divisões principais: sistema
nervoso central e sistema nervoso periférico, sendo que a diferença básica entre
eles está na localização.
Brainstem:. midbrain. pons. medulla
Diencephalon. thalamus. hypothalamus
Cerebrum
Cerebellum
Forebrain
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 44
6.1. Níveis de Organização no Sistema Nervoso
As estruturas que realmente constituem um nível de organização do sistema
nervoso são definidas de forma empírica.
Sendo assim, algumas estruturas particularmente interessantes ao estudo das RNAs
serão discutidas aqui.
O sistema nervoso pode ser organizado em diferentes níveis: moléculas, sinapses,
neurônios, camadas, mapas e sistemas.
Uma estrutura facilmente identificável no sistema nervoso é o neurônio,
especialista em processamento de sinais.
Dependendo das condições ambientais, os neurônios são capazes de gerar um
sinal, mais especificamente um potencial elétrico, que é utilizado para transmitir
informação a outras células.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 45
h
Brain
Network of neurons
Neuron
Synapse
Neurônios e Sinapses
Os neurônios utilizam uma variedade de mecanismos bioquímicos para o
processamento e transmissão de informação, incluindo os canais iônicos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 46
Os canais iônicos permitem um fluxo contínuo de entrada e saída de correntes
(elétricas), a geração e a propagação de potenciais de ação, e a liberação de
neurotransmissores.
O processo de transmissão de sinais entre neurônios é central para a capacidade de
processamento de informação do cérebro.
Uma das descobertas mais empolgantes em neurociência foi a de que a efetividade
da transmissão de sinais pode ser modulada, permitindo o cérebro se adaptar a
diferentes situações.
A plasticidade sináptica, ou seja, a capacidade das sinapses sofrerem
modificações, é o ingrediente chave para o aprendizado da maioria das RNAs.
Os neurônios podem receber e enviar sinais a vários outros neurônios.
Os neurônios que enviam sinais, chamados de neurônios pré-sinápticos ou
“enviadores”, fazem contato com os neurônios receptoress ou pós-sinápticos em
regiões especializadas denominadas de sinapses.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 47
Cell body (soma)
Axon
Synaptic clefts
Dendrites
Axon hillock
Mielin sheath
A sinapse é, portanto, a junção entre o axônio de um neurônio pré-sináptico e o
dendrito ou corpo celular de um neurônio pós-sináptico (ver figura).
A capacidade de processamento de informação das sinapses permite que elas
alterem o estado de um neurônio pós-sináptico, eventualmente gerando um pulso
elétrico, denominado potencial de ação, no neurônio pós-sináptico.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 48
Portanto, um neurônio pode ser visto como um dispositivo capaz de receber
estímulos (de entrada) de diversos outros neurônios e propagar sua única saída,
função dos estímulos recebidos e do estado interno, a vários outros neurônios.
Existem diversos mecanismos envolvidos na transmissão de informação (sinais)
entre neurônios. Como os neurônios são células encapsuladas por membranas,
pequenas aberturas nestas membranas (canais) permitem a transferência de
informação entre eles.
Os mecanismos básicos de processamento de informação são baseados no
movimento de átomos carregados, ou íons:
o Os neurônios habitam um ambiente líquido contendo certa concentração de íons,
que podem entrar ou sair do neurônio através dos canais.
o Um neurônio é capaz de alterar o potencial elétrico de outros neurônios,
denominado de potencial de membrana, que é dado pela diferença do potencial
elétrico dentro e fora do neurônio.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 49
o Quando um potencial de ação chega ao final do axônio, ele mobiliza alguns íons
abrindo os canais (que são sensíveis à tensão) e permitindo fluir íons para o
terminal, eventualmente resultando na liberação de íons no canal.
o Estes íons promovem a liberação de neurotransmissores (substâncias químicas)
na fenda sináptica que se difundem e se ligam a receptores no neurônio pós-
sináptico.
o Os neurotransmissores recebidos pelo neurônio pós-sináptico se propagam até o
corpo celular, são integrados e o potencial de membrana resultante irá
determinar a ativação do neurônio, que corresponde ao envio de um sinal de
saída a outro(s) neurônio(s).
o Entretanto, a ativação de um neurônio ocorre apenas quando seu potencial de
membrana é maior do que um dado limiar (threshold).
o Alguns neurotransmissores possuem a capacidade de ativar um neurônio
enquanto outros possuem a capacidade de inibir a ativação do neurônio, levando
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 50
o neurônio pós-sináptico a um estado de repouso. Este último tipo de
neurotransmissor gera um potencial de repouso.
A ativação de um neurônio é também denominada de spiking, firing, ou disparo de
um potencial de ação (triggering of an action potential).
Redes, Camadas e Mapas
Os neurônios podem ter conexões de sentido positivo (feedforward) e/ou de
sentido negativo (feedback) com outros neurônios, ou seja, as conexões podem ter
um único sentido ou serem recíprocas.
Diversos neurônios interconectados geram uma estrutura em rede conhecida como
rede neural.
o Por exemplo, em um milímetro cúbico de tecido do córtex, existe
aproximadamente 105 neurônios e 109 sinapses, com a grande maioria destas
sinapses se originando de células localizadas dentro do córtex.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 51
Um agrupamento de neurônios interconectados pode exibir comportamentos
complexos e uma capacidade de processamento de informação que não pode ser
predita tomando-se cada neurônio individualmente.
Uma característica marcante das redes neurais é a representação distribuída de
informação e seu processamento paralelo.
Redes neurais com arquiteturas específicas são incorporadas em estruturas maiores
capazes de realizar tarefas ainda mais complexas.
Muitas áreas do cérebro apresentam uma organização laminar de neurônios.
Lâminas são camadas de neurônios em contato com outras camadas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 52
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 53
Um dos arranjos mais comuns de neurônios é uma estrutura bidimensional em
camadas organizada através de um arranjo topográfico das respostas de saída. O
exemplo mais conhecido deste tipo de estrutura é o córtex humano.
O córtex corresponde à superfície externa do cérebro; uma estrutura bidimensional
com vários dobramentos, fissuras e elevações.
Diferentes partes do córtex possuem diferentes funções (ver figura).
Em geral os neurônios do córtex estão organizados em camadas distintas, que são
subdivididas em camada de entrada, camadas intermediárias ou escondidas e
camada de saída.
A camada de entrada recebe os sinais sensoriais ou de entrada, a camada de saída
envia sinais para outras partes do cérebro e as camadas intermediárias recebem
(enviam) sinais de (para) outras camadas do córtex. Isso significa que as camadas
intermediárias nem recebem entradas diretamente e nem produzem uma saída do
tipo motora, por exemplo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 54
Um princípio organizacional importante em vários sistemas sensoriais e motores é
o mapa topográfico.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 55
o Por exemplo, neurônios em áreas visuais do córtex estão arranjados
topograficamente, no sentido de que neurônios adjacentes possuem campos de
recepção visual adjacentes e, coletivamente, eles constituem um mapa da retina.
o Obs: Como neurônios vizinhos ocupam-se de representações similares, mapas
topográficos constituem uma forma parcimoniosa de organização do cérebro (há
economia de conexões, por exemplo).
A organização estrutural em redes, mapas topográficos e camadas são todos casos
especiais de um princípio mais geral: a exploração das propriedades estruturais e
espaço-temporais para o processamento e armazenagem de informação.
6.2. Base Biológica e Física da Aprendizagem e Memória
O sistema nervoso está continuamente sofrendo modificações e atualizações.
Virtualmente todas as suas funções, incluindo percepção, controle motor,
regulação térmica e raciocínio, são modificadas por estímulos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 56
Observações comportamentais permitiram verificar graus de plasticidade do
sistema nervoso: existem mudanças rápidas e fáceis, mudanças lentas e profundas,
e mudanças mais permanentes (porém ainda modificáveis).
Em geral, a aprendizagem global é resultado de alterações locais nos neurônios.
Existem diversas formas de modificações possíveis em um neurônio:
o Dendritos podem nascer, assim como também podem ser removidos
o Alguns dendritos podem se esticar ou ser encolhidos permitindo ou eliminando,
respectivamente, a conexão com outras células
o Novas sinapses podem ser criadas ou sofrerem alterações
o Sinapses também podem ser removidas
o Todo neurônio pode morrer e também se regenerar.
Toda esta vasta gama de adaptação estrutural pode ser convenientemente
condensada simplesmente referindo-se às sinapses, pois estas modificações
envolvem a modificação sináptica de forma direta ou indireta.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 57
Sendo assim, a aprendizagem via modulação sináptica é o mecanismo mais
importante para as redes neurais, sejam elas biológicas ou artificiais.
A modulação sináptica poderá depender de mecanismos de adaptação de neurônios
individuais e de redes neurais como um todo.
Assim como a aprendizagem, a memória também é resultado de um processo
adaptativo das sinapses. Ela é causada por variações da eficiência sináptica de
alguns neurônios como resultado da atividade neural.
Estas alterações resultam em novos ou facilitados caminhos de desenvolvimento e
transmissão de sinais através dos circuitos neurais.
Na verdade, um dos resultados de um processo de aprendizagem é a criação de um
padrão mais permanente de conexões sinápticas, que, por sua vez, resulta na
memorização (aprendizagem) de uma determinada experiência.
Note, portanto, que a diferença entre aprendizagem e memória é sutil: a
aprendizagem pode ser vista como o processo adaptativo que resulta em uma
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 58
mudança da eficiência e estrutura sináptica, enquanto a memória pode ser
interpretada como o resultado deste processo adaptativo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 59
7. Projeto de Redes Neurais Artificiais
Uma RNA pode ser definida como sendo uma estrutura de processamento (rede),
passível de implementação em dispositivos eletrônicos, composta por um número
de unidades interconectadas (neurônios artificiais), sendo que cada unidade
apresenta um comportamento específico de entrada/saída (computação local),
determinado pela sua função de transferência, pelas interconexões com outras
unidades, dentro de um raio de vizinhança, e possivelmente pelas entradas
externas.
Uma rede neural artificial é um circuito composto por uma grande quantidade de
unidades simples de processamento inspiradas no sistema neural (Nigrin, 1993).
Uma RNA é um sistema massivamente paralelo e distribuído, composto por
unidades de processamento simples que possuem uma capacidade natural de
armazenar e utilizar conhecimento (Haykin, 2008).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 60
Período Pesquisadores Avanços
1943 McCulloch e Pitts Modelo lógico do neurônio
1948 Wiener Livro Cybernetics (controle, comunicação e
processamento de sinais)
1949 Hebb Livro The Organization of Behavior (primeira
regra de aprendizagem)
1958 Rosenblatt Perceptron convergence theorem
1960 Widrow e Hoff Least-mean square algorithm
1969 Minsky e Papert Livro Perceptrons (demonstrou limites
fundamentais das redes SLP)
1979 Werbos Reverse-mode gradient computation**
1980 Grossberg A new principle of self-organization (ART)
1982 Hopfield Uso de uma função de energia para redes
recorrentes com conexões simétricas
1982 Kohonen Redes competitivas e mapas auto-organizáveis de
Kohonen
1983 Barto, Sutton e Anderson Reinforcement learning
1986 Rumelhart e McClelland Processamento paralelo distribuído
1988 Broomhead e Lowe Redes RBF
1992 Vapnik Máquinas de vetores suporte
Tabela 2 Marcos históricos da pesquisa em Redes Neurais Artificiais
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 61
As RNAs apresentam diversas características em comum com o sistema nervoso:
o O processamento básico de informação ocorre em diversas unidades simples
denominadas de neurônios artificiais ou simplesmente neurônios (ou nós);
o Os neurônios estão interconectados gerando redes de neurônios, ou redes
neurais;
o A informação (sinais) é transmitida entre neurônios através de conexões ou
sinapses;
o A eficiência de uma sinapse, representada por um peso associado, corresponde
à informação armazenada pelo neurônio e, portanto, pela rede neural; e
o O conhecimento é adquirido do ambiente através de um processo de
aprendizagem que é, basicamente, responsável por adaptar os pesos das
conexões aos estímulos recebidos do ambiente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 62
Uma característica importante das RNAs é o local onde o conhecimento está
armazenado. Nos casos mais simples, este conhecimento é armazenado nos pesos
das conexões entre neurônios.
Esta característica tem grandes implicações para a capacidade de processamento e
aprendizagem da rede.
A representação do conhecimento é feita tal que o conhecimento necessariamente
influencie a forma de processamento da rede, ou seja, o seu comportamento de
entrada-saída.
Se o conhecimento está armazenado nos pesos das conexões, então o processo de
aprendizagem corresponde a identificar um conjunto apropriado de pesos de
forma que a rede se comporte como desejado.
Esta característica possui duas implicações importantes para as RNAs: a
possibilidade de desenvolvimento de técnicas de aprendizagem e a representação
distribuída de conhecimento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 63
Existem tipos de redes neurais cujo treinamento (ou projeto) é mais complicado do
que a simples determinação de conjuntos apropriados de pesos sinápticos.
Uma rede neural artificial pode ser projetada através de:
1. Uma definição ou escolha de um conjunto de neurônios artificiais;
2. A definição ou escolha de um padrão de conectividade entre os neurônios, ou
seja, de uma arquitetura para a rede; e
3. A definição de um método de determinação dos parâmetros livres da rede,
denominado de algoritmo de aprendizagem ou treinamento.
Embora seja possível projetar uma rede neural a partir da definição do papel
(computação global) que ela deve desempenhar, combinando-se os efeitos
individuais de todos os neurônios, uma rede neural usualmente se adapta para
atingir a funcionalidade desejada a partir de uma ou mais estratégias de
aprendizado, as quais vão atuar junto a parâmetros configuráveis da rede neural.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 64
É fundamental, portanto, que a rede neural possua meios de interagir com o
ambiente.
Cada rede neural artificial representa uma arquitetura de processamento
específica, havendo uma família de arquiteturas, cada qual adequada para
funcionalidades específicas.
A diversidade de arquiteturas tem aumentado muito, sendo que as últimas
gerações de redes neurais já não podem ser caracterizadas por apresentarem um
grande número de unidades e conexões, com funções de transferência simples e
idênticas para todas as unidades.
Portanto, a funcionalidade de uma rede neural artificial será determinada pela:
o Topologia da rede
o Função de transferência de cada neurônio individual
o Estratégia de aprendizado
o Dados de treinamento
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 65
No entanto, analisar o papel de cada componente da rede neural no resultado final
não é uma tarefa elementar.
É por este motivo que as mais avançadas estratégias de aprendizado passaram a
ser responsáveis pela definição automática de muitas características de projeto,
antes a cargo do projetista.
O projetista geralmente não possui informação a priori suficiente para definir, por
exemplo, a melhor topologia da rede e as funções de transferência que devem ser
utilizadas em cada neurônio, deixando apenas as conexões ajustáveis a cargo do
algoritmo de treinamento.
Quando o aprendizado atua apenas modificando as conexões, ao arbitrar a
topologia da rede e as funções de transferência que devem ser utilizadas em cada
neurônio, o projetista está “introduzindo um conhecimento inicial”, cujo nível de
adequação pode não estar a seu alcance.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 66
7.1. Neurônios Artificiais
No neurônio biológico, os sinais de entrada chegam através de canais localizados
nas sinapses, permitindo a entrada e saída de íons. Um potencial de membrana
aparece como resultado da integração dos sinais de entrada, que irão determinar se
o neurônio irá produzir um sinal de saída (spike, pulso, ou potencial de ação) ou
não. O potencial de ação resulta na liberação de neurotransmissores na sinapse
sempre que o potencial de membrana for superior a um determinado limiar
(threshold).
O efeito líquido de todos estes processos biológicos que ocorrem nas sinapses é
representado por um peso associado.
O Neurônio de McCulloch e Pitts
O modelo mais clássico de neurônio em RNAs foi proposto por McCulloch e Pitts
em 1943. Eles assumiram que o neurônio está executando uma função lógica.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 67
Este trabalho, intitulado “Um cálculo lógico das ideias intrínsecas da atividade
neural” é bastante famoso e exerceu grande influência na comunidade científica da
época.
Foi a primeira tentativa de entender a atividade neural baseado em unidades
elementares de computação. Foram supostas cinco premissas:
o A atividade do neurônio é binária (“tudo-ou-nada”), podendo apresentar apenas
dois estados lógicos: 1 (ativo) ou 0 (inativo);
o Uma certa quantidade fixa de sinapses deve ser excitada em um período latente
de adição de forma a excitar o neurônio e este número é independente da
atividade prévia e da posição do neurônio;
o O único atraso significativo no cérebro é o atraso do processamento sináptico;
o A atividade de uma sinapse inibitória bloqueia completamente a atividade do
neurônio num dado instante de tempo;
o A estrutura da rede neural não varia com o tempo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 68
McCulloch e Pitts consideraram a resposta neural como sendo equivalente a uma
proposição (se A então B) adequada para estimular o neurônio. Sendo assim, eles
estudaram o comportamento de diversas redes neurais utilizando a notação
simbólica da lógica das proposições.
A característica binária dos neurônios era suficiente para garantir que a atividade
de qualquer neurônio poderia ser expressa sob a ótica da lógica das proposições.
Obs: Uma proposição é uma sentença declarativa que pode ser verdadeira ou falsa,
mas não ambas. Exemplo: Este curso é RNA. Contraexemplo: Qual seu nome?
Embora com os conhecimentos atuais sobre os mecanismos físicos e químicos
envolvidos na transmissão de sinais no cérebro seja possível afirmar que nenhum
tipo de lógica das proposições é realizada no cérebro, o neurônio de McCulloch e
Pitts pode ser visto como um caso particular do neurônio genérico utilizado em
RNAs.
Considere a representação simbólica do neurônio de McCulloch e Pitts:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 69
u y
x1
x2 f(u)
Junção somadora
Função de ativação
Saída
f(u)
u
Figura 2: Representação pictórica do neurônio de McCulloch e Pitts.
Cada neurônio possui um limiar (threshold) fixo e recebe algumas entradas.
A cada iteração t, o neurônio responde a suas entradas sinápticas, que refletem o
estado do neurônio pré-sináptico. Se nenhuma sinapse inibitória está ativa, o
neurônio integra (soma) suas entradas, gerando a entrada líquida (ou entrada
interna) u do neurônio e verifica se u é maior do que o limiar . Caso positivo, o
neurônio responde com um sinal de saída de valor 1. Caso negativo, ele responde
com um sinal de saída 0.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 70
Exemplo de operação: funções lógicas OR e AND.
Neurônio Básico “Integrate-and-Fire”
Estes neurônios são os mais clássicos em neurociência computacional. Trata-se de
modelos contínuos e não discretos de neurônios, com pequenas variantes entre si.
Considere um neurônio livre de ruído com entrada líquida u(t) sendo função do
tempo e correspondente ao potencial de membrana do neurônio. Os principais
efeitos de alguns canais neurais podem ser capturados através de uma simples
equação de um integrador:
)()()(
τ tiRtuudt
tdumresm , (1)
onde m é a constante de tempo da membrana determinada pela condutância média
dos canais; ures é o potencial de repouso do neurônio; i(t) é a corrente de entrada dada
pela soma das correntes geradas pelos disparos dos neurônios pré-sinápticos; e Rm é a
resistência do neurônio ao fluxo de corrente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 71
A Equação (1) propõe que a taxa de variação do potencial de membrana do
neurônio é proporcional a seu potencial atual, ao seu potencial de repouso e ao
potencial gerado pelos sinais de entrada.
A corrente de entrada i(t) do neurônio é dada pela soma das correntes de entrada
dependendo da eficiência das sinapses individuais, descritas pela variável wj para
cada sinapse j. Portanto, a corrente total de entrada do neurônio pode ser escrita
como sendo a soma das correntes individuais multiplicadas pelos pesos wj:
j t
f
jjfj
ttfwti )()(
onde a função f() parametriza a forma da resposta pós-sináptica.
Esta função foi denominada de função de ativação por McCulloch e Pitts e esta
nomenclatura prevalece até os dias de hoje em praticamente todos os modelos de
RNAs.
A variável tjf corresponde ao momento do disparo do neurônio pré-sináptico da
sinapse j.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 72
O tempo de disparo do neurônio pós-sináptico é definido como sendo o tempo para
o potencial de membrana atingir o limiar .
Para completar este modelo, basta “resetar” o valor do potencial de membrana do
neurônio para seu potencial de repouso após o disparo do neurônio.
O Neurônio Genérico em RNAs
O elemento computacional básico empregado na maioria das RNAs é um
integrador. Trata-se de um elemento processador de informações que é
fundamental para a operação das RNAs.
As principais partes do neurônio artificial genérico são:
o As sinapses, caracterizadas pelos seus pesos associados;
o A junção somadora; e
o A função de ativação.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 73
uk yk
x1
x2
xm
f(uk)
Junção somadora
Função de ativação
Saída
…
wk1
wk2
wkm
+1 Limiar(bias)
bk
Pesos das conexões
En
tra
das
Figura 3: Neurônio genérico em RNAs.
Nesta representação, o primeiro subscrito k do peso sináptico wkj corresponde ao
neurônio pós-sináptico e o segundo subscrito corresponde à sinapse ligada a ele.
A junção somadora soma todos os sinais de entrada ponderados pelos pesos das
conexões. Assumindo os vetores de entrada e de pesos como sendo vetores coluna,
esta operação corresponde ao produto interno do vetor de entradas x pelo vetor de
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 74
pesos wk, mais o limiar bk. Genericamente, trata-se de uma combinação linear das
entradas pelos pesos associados, mais o limiar bk.
A função de ativação é geralmente utilizada com dois propósitos: limitar a saída do
neurônio e introduzir não linearidade no modelo.
O limiar bk tem o papel de aumentar ou diminuir a influência do valor da entrada
líquida para a ativação do neurônio k.
o Por exemplo, no neurônio de McCulloch e Pitts a saída será 1 para u :
contrário caso0
θ se1)(
uufy
onde u = x1 + x2.
É possível substituir o limiar (threshold) por um limiar (bias) que será
multiplicado por um valor constante de entrada igual a +1:
contrário caso0
0 se1)(
uufy
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 75
onde u = x1 + x2 b (para b negativo).
Note que a saída deste neurônio genérico é simplesmente um número, a presença
de potenciais de ação (disparos) discretos é ignorada. Entretanto, existem modelos
de neurônios, denominados spiking neurons, que utilizam disparos discretos.
Matematicamente, a saída do neurônio k pode ser descrita por:
k
m
j
jkjkk bxwfufy1
)(
É possível simplificar a notação acima de forma a incluir o bias simplesmente
definindo um sinal de entrada de valor x0 = 1 com peso associado wk0 = bk:
m
j
jkjkk xwfufy0
)(
Existem vários tipos de função de ativação como, por exemplo, a função linear, a
função degrau, as funções sigmoidais, e as funções de base radial.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 76
uk y
x1
x2
xm
f(uk)
…
wk1
wk2
wkm
+1
wk0 = b0
Junção somadora
Função de ativação
Saída
Pesos das conexões
Entr
adas
Figura 4: Outra representação para o neurônio genérico.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 77
0p se 0
1p0 se
1p se 1
k
kk
k
k pf
u
uu
u
u com p constante e positivo.
a)
1/p0
b)
1/p0
p
0
Figura 5: Função semi-linear (a) e sua derivada em relação à entrada interna (b).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 78
kk
k
pp
p
kee
efy
uu
u
u
1
1
1)(
01 kk
k
py
uuu
a) b)
p=0.8
p=1.5
p=3
p=0.8
p=1.5
p=3
Figura 6: Função logística (a) e sua derivada em relação à entrada interna (b).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 79
kk
kk
pp
pp
kkee
eepfy
uu
uu
uu
)tanh()(
01 2 k
k
py
uu
a) b)
p=1
p=0.6
p=2.2
p=0.6
p=1
p=2.2
Figura 7: Função tangente hiperbólica (a) e sua derivada em relação à entrada interna (b).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 80
7.2. Arquiteturas de Rede
Muito pouco é sabido sobre os padrões de conexão entre os neurônios biológicos.
Entretanto, a maioria das RNAs utilizam arquiteturas padronizadas, projetadas
especialmente para resolver algumas classes de problemas.
O processo de conexão entre neurônios artificiais leva à geração de sinapses e à
construção de redes neurais artificiais.
w
gu
wij
w
xij
i yi
g
yj
1 wi0
Figura 8: Processo de conexão entre neurônios.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 81
Existem basicamente três tipos de camadas em uma rede neural artificial: camada
de entrada, camada(s) intermediária(s) e camada de saída. Entretanto, nem todas
as RNAs possuem camadas intermediárias.
A forma pela qual os neurônios estão interconectados está intimamente relacionada
ao algoritmo a ser utilizado no seu treinamento.
Existem, basicamente, três tipos principais de arquitetura em RNAs: redes
feedforward de uma única camada, redes feedforward de múltiplas camadas, e
redes recorrentes.
Rede Feedforward com Uma Única Camada
Este caso mais simples de rede em camadas consiste em uma camada de entrada e
uma camada de saída.
Geralmente os neurônios de entrada são lineares, ou seja, eles simplesmente
propagam o sinal de entrada para a próxima camada. São também denominados de
neurônios sensoriais.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 82
…
Camada de entrada
Camada de saída
Neurônio sensorial Neurônio de processamento
…
…
y1
y2
y3
yo
x0
x1
x2
xm
w10
w20
.
.
.
.
wom
Figura 9: Rede feedforward de uma única camada.
Esta rede é denominada feedforward porque a propagação do sinal ocorre apenas
da entrada para a saída, ou seja, é apenas no sentido positivo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 83
omoo
m
www
www
10
11110
W
yi = f(wi.x) = f(j wij.xj) , j = 1,…,m.
Note que a primeira coluna de W corresponde ao vetor de bias.
Em forma matricial:
y = f(W.x),
onde W om, wi 1m, i = 1,…,o, x m1, e y o1.
Rede Feedforward de Múltiplas Camadas
As redes de múltiplas camadas possuem uma ou mais camadas intermediárias ou
escondidas. Adicionando-se camadas intermediárias não lineares é possível
aumentar a capacidade de processamento de uma rede feedforward.
A saída de cada camada intermediária é utilizada como entrada para a próxima
camada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 84
Em geral o algoritmo de treinamento para este tipo de rede envolve a
retropropagação do erro entre a saída da rede e uma saída desejada conhecida.
… …
Camada de entrada Primeira
camada escondida
Camada de
saída
Segunda
camada escondida
…
…
…
y1 y2 yo
x0
x1 x2
xm
Figura 10: Rede feedforward de múltiplas camadas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 85
Seja Wk a matriz de pesos da camada k, contada da esquerda para a direita.
o k
ijw corresponde ao peso ligando o neurônio pós-sináptico i ao neurônio pré-
sináptico j na camada k.
Em notação matricial, a saída da rede é dada por:
y = f3(W3 f2(W2 f1(W1x)))
Note que fk, k = 1,..., M (M = número de camadas da rede) pode ser dado por uma
matriz quadrada fk ll, onde l é o número de neurônios na camada k, ou por um
vetor fk l1, onde l é o número de neurônios na camada k.
O que acontece se as funções de ativação das unidades intermediárias forem
lineares?
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 86
Redes Recorrentes
O terceiro principal tipo de arquitetura de RNAs engloba as chamadas redes
recorrentes, pois elas possuem, pelo menos, um laço realimentando a saída de
neurônios para outros neurônios da rede.
Z1
Z1
Z1
Figura 11: Rede neural recorrente de Hopfield.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 87
É claro que existem outras arquiteturas de redes neurais, como exemplo a rede
abaixo.
Figura 12: Rede neural arbitrária.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 88
7.3. Paradigmas de Aprendizagem
A capacidade de aprender associada a uma rede neural é uma das mais importantes
qualidades destas estruturas.
Trata-se da habilidade de adaptar-se, de acordo com regras pré-existentes, ao seu
ambiente, alterando seu desempenho ao longo do tempo.
Sendo assim, considera-se aprendizado o processo que adapta o comportamento e
conduz a uma melhoria de desempenho.
No contexto de redes neurais artificiais, aprendizagem ou treinamento corresponde
ao processo de ajuste dos parâmetros livres da rede através de um mecanismo de
apresentação de estímulos ambientais, conhecidos como padrões (ou dados) de
entrada ou de treinamento:
estímulo adaptação novo comportamento da rede
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 89
Nas RNAs mais simples e tradicionais, os parâmetros livres da rede correspondem
apenas aos pesos sinápticos. Toda a estrutura da rede, incluindo os tipos de
neurônios e suas funções de ativação, é pré-definida.
O objetivo do aprendizado em redes neurais é a obtenção de um modelo implícito
do sistema em estudo, por ajuste dos parâmetros da rede.
Dada uma rede neural artificial, seja w(t) um peso sináptico de um dado neurônio,
no instante de tempo t. O ajuste w(t) é aplicado ao peso sináptico w(t) no instante
t, gerando o valor corrigido w(t+1), na forma:
w(t+1) = w(t) + w(t)
A obtenção de w(t) pode ser feita de diversas formas. O tipo de aprendizado é
determinado pela técnica empregada no processo de ajuste dos pesos sinápticos
(parâmetros da rede neural).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 90
Um conjunto bem definido de regras para obtê-los é denominado um algoritmo de
aprendizagem ou treinamento. Exemplos de alguns algoritmos: regra de Hebb,
algoritmo de backpropagation, estratégias de competição, máquina de Boltzmann.
A maneira pela qual o ambiente influencia a rede em seu aprendizado define o
paradigma de aprendizagem. Exemplos de paradigmas: aprendizado
supervisionado, aprendizado por reforço e aprendizado não-supervisionado (ou
auto-organizado).
Seja qual for o algoritmo ou o paradigma utilizado, ao alcançarmos o objetivo
obtemos uma representação de conhecimento que obedece a uma ou mais das
quatro regras de bom senso descritas abaixo:
R1 entradas similares provenientes de classes similares de fenômenos ou eventos
tendem a produzir representações similares dentro da rede, o que pode levar a
classificá-las como pertencentes à mesma categoria.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 91
R2 itens que devem ser classificados ou processados distintamente devem
provocar, de alguma forma, representações distintas dentro da rede.
R3 se uma característica é importante, então devem ser alocados recursos da rede
neural (por exemplo, neurônios e conexões) para representá-la devidamente.
Quanto mais complexa a representação, mais recursos devem ser alocados.
R4 a etapa de aprendizado pode ser simplificada caso as informações conhecidas a
priori e invariâncias sejam embutidas diretamente no projeto da rede neural.
As duas primeiras regras utilizam os conceitos de similaridade e/ou de distância.
Estes conceitos podem ser expressos matematicamente a partir da definição formal
de um critério de medida. Em particular, a Teoria de Medidas é uma das áreas mais
bem formalizadas da Matemática, juntamente com a Teoria de Conjuntos,
constituindo a base de todos os métodos matemáticos.
Existem basicamente três paradigmas de aprendizado:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 92
Aprendizado supervisionado: é baseado em um conjunto de exemplos de estímulo-
resposta (ou entrada-saída), ou em algum outro tipo de informação que represente
o comportamento que deve ser apresentado pela rede neural;
Aprendizado por reforço: o comportamento da rede é avaliado apenas com base
em algum critério numérico, fornecido em instantes espaçados de tempo;
Aprendizado não-supervisionado: é baseado apenas nos estímulos recebidos pela
rede neural. Basicamente, a rede deve aprender a “categorizar” os estímulos.
Aprendizagem Supervisionada
Este curso vai se ocupar com o desenvolvimento de técnicas para aprendizado
supervisionado e não-supervisionado em redes neurais artificiais.
Pelo fato de serem mais intuitivas, técnicas de aprendizado supervisionado serão
abordadas primeiro.
Ideia intuitiva: controle de processos (ex. pouso e decolagem de aviões)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 93
Exemplos de problemas de engenharia que podem ser apresentados na forma de
um problema de aprendizado supervisionado:
classificação e reconhecimento de padrões
predição de séries temporais
identificação de sistemas
controle de processos
projeto de filtros em processamento de sinais
Formalização do processo de aprendizado supervisionado
Seja dj(t) a resposta desejada para o neurônio j no instante t e yj(t) a resposta
observada do neurônio j no instante t, obtida através de um estímulo x(t) presente
na entrada da rede neural.
x(t) e dj(t) constituem um EXEMPLO de par estímulo-resposta apresentado ao
neurônio no instante t, possivelmente extraídos de um ambiente ruidoso cujas
distribuições de probabilidade são desconhecidas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 94
ej(t) = dj(t) yj(t) é o sinal de erro observado na saída do neurônio j no instante t.
Observe que, em ambiente ruidoso, ej(t) é uma variável aleatória.
O processo de aprendizado supervisionado tem por objetivo corrigir este erro
observado (em todos os neurônios) e, para tanto, busca minimizar um critério
(função objetivo) baseado em ej(t), j=1,2,…,o, onde o é o número de neurônios da
rede neural, de maneira que, para t suficientemente alto, yj(t), j=1,2,…,o, estejam
próximos de dj(t), j=1,2,…,o, no sentido estatístico.
Um critério muito utilizado é o de erro quadrático médio:
o
j
j teo
EJ1
2 )(1
.
Um conceito que está implícito em toda esta análise é a hipótese de
estacionariedade dos processos aleatórios presentes.
Além disso, para minimizar J é necessário conhecer as características estatísticas
do sistema.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 95
ej(t)
One or more layers of hidden
neurons
Output neuron
j
dj(t) yj(t)
+
x(t)
Multi-layer Feedforward Network
Figura 13: Aprendizagem supervisionada.
Uma aproximação para o critério é utilizar o valor instantâneo do erro quadrático
médio:
o
j
j keo
kJJ1
2 )(1
)( .
Nesta fase do curso, vamos considerar que a minimização de J(t) é realizada
apenas em relação aos pesos sinápticos da rede neural.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 96
Aprendizagem Não Supervisionada
No paradigma não supervisionado ou auto-organizado não existe um supervisor
para avaliar o desempenho da rede em relação aos dados de entrada.
Nenhuma medida de erro é utilizada para realimentar a rede.
Os dados são ditos não rotulados, no sentido de que as classes às quais eles
pertencem ou as saídas desejadas da rede são desconhecidas.
A rede se adapta a regularidades estatísticas nos dados de entrada, desenvolvendo
uma capacidade de criar representações internas que codificam as características
dos dados de entrada, tornando-se, portanto, capaz de identificar a quais classes
novos padrões pertencem.
Geralmente as redes auto-organizadas empregam um algoritmo competitivo de
aprendizagem.
Na aprendizagem competitiva, os neurônios de saída da rede competem entre si
para se tornarem ativos, com um único neurônio sendo o vencedor da competição.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 97
Inputpatterns
EnvironmentNeural
Network
Figura 14: Aprendizagem não supervisionada.
Esta propriedade é que faz com que o algoritmo seja capaz de descobrir
regularidades estatísticas no conjunto de dados.
Neurônios individuais aprendem a se especializar a conjuntos (grupos ou clusters)
de padrões similares. Eles se tornam detectores ou extratores de características
para diferentes classes dos dados de entrada.
Ideia intuitiva: agrupamento de dados (p. ex. balões coloridos)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 98
Formalização do processo de aprendizado competitivo
Para que um neurônio i seja o vencedor a distância entre o vetor de pesos wi deste
neurônio e um determinado padrão de entrada x deve ser a menor dentre todos os
outros neurônios da rede, dada uma métrica de distância |||| (geralmente utiliza-se
a distância Euclidiana).
A ideia é encontrar o neurônio cujo vetor de pesos seja o mais parecido ao padrão
de entrada, ou seja:
i = arg mini ||x wi||, i.
Se um neurônio não responde a um padrão de entrada, ou seja, não é o vencedor,
então nenhuma adaptação é sofrida por este neurônio.
Entretanto, o neurônio i que ganhou a competição sofre um ajuste wi no seu
vetor de pesos na direção do vetor de entrada:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 99
competição a perde se0
competição a ganha se)α(
i
ii
i
wxw
onde indica o tamanho do passo a ser dado na direção de x. O parâmetro é
conhecido como taxa de aprendizagem.
Aprendizagem Por Reforço
A aprendizagem por reforço é distinta das outras abordagens, pois neste caso não
existe uma interação direta com um supervisor ou modelo explícito do ambiente.
Geralmente, a única informação disponível é um valor escalar que indica a
qualidade do desempenho da RNA.
Na aprendizagem por reforço existe um objetivo a ser alcançado. Durante o
processo de aprendizagem, a rede “tenta” algumas ações (saídas) e recebe um sinal
de reforço (estímulo) do ambiente que permite avaliar a qualidade de sua ação.
O sistema em aprendizagem seletivamente retém as ações que levam a uma
maximização dos sinais de reforço.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 100
Ideia intuitiva: ex. ensinar animais circenses.
A cada iteração t o sistema em aprendizagem recebe uma entrada x(t)
(representando o estado do ambiente), fornece uma saída y(t) e, no próximo passo,
recebe um escalar de reforço r(t+1) e um novo estado do ambiente x(t+1).
Portanto, os dois conceitos básicos por trás da aprendizagem por reforço são:
busca por tentativa e erro e reforço retardado.
Estado do ambiente (dado de entrada)
Sinal de reforço
Saída da rede
Ambiente
Rede Neural
Figura 15: Aprendizagem por reforço.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 101
8. A Regra de Hebb
Após a publicação do trabalho de McCulloch & Pitts em 1943, Norbert Wiener
publicou um livro famoso, em 1948, denominado Cybernetics, seguido pela
publicação do livro The Organization of Behavior por Hebb.
No livro de Hebb, foi proposta pela primeira vez uma regra de aprendizagem
através da modulação (ou modificação) de pesos sinápticos.
Basicamente, Hebb propôs que a efetividade de uma sinapse aumenta devido à
ativação repetida de um neurônio (por outro neurônio). Com suas próprias
palavras:
“Quando o axônio de uma célula A está próximo o suficiente de excitar uma célula
B ou persistentemente contribui para sua ativação, algum processo de crescimento
ou variação metabólica ocorre em uma ou ambas as células, tal que a efetividade
da célula A em ativar a célula B é aumentada.”
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 102
Este postulado requer uma mudança no peso sináptico entre células quando as
células pré- e pós-sinápticas estão ativas simultaneamente.
Hebb sugeriu que esta mudança era a base para a aprendizagem associativa,
resultando em uma modificação duradoura no padrão de atividade de uma rede
neural.
Esta regra é generalizada dentro da literatura de RNAs, resultando na denominada
regra de Hebb generalizada. Esta regra propõe que mudanças nos pesos das
conexões são dadas pelo produto da atividade pré-sináptica e pós-sináptica:
wij(t) = yi(t) xj(t),
onde wij(t) é a mudança a ser aplicada no neurônio i, é um fator multiplicativo
denominado de taxa de aprendizagem, yi é a saída do neurônio i, xj é a entrada do
neurônio j, e t é o índice de tempo.
Note que esta equação deixa clara a natureza correlacional ou associativa da regra
de atualização de Hebb.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 103
o Sabe-se que boa parte da memória humana é associativa. Neste tipo de memória,
um evento está ligado a outro evento, de forma que a ocorrência do primeiro
evento resulta na ocorrência do evento ligado.
o Em sua versão mais simples, um estímulo está ligado a uma resposta.
A diferença principal entre a proposta original e a regra generalizada é o fato de
que no caso generalizado tanto os estímulos excitatórios quanto os inibitórios
influenciam na atividade do neurônio.
A equação acima pode ser expressa de forma genérica como sendo:
wij(t) = g(yi(t), xj(t)),
onde g(,) é uma função de ambos os sinais, pré- e pós-sináptico.
Portanto, o peso de um neurônio i é atualizado de acordo com a seguinte regra:
wij(t+1) = wij(t) + wij(t).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 104
9. O Perceptron Simples
Rosenblatt introduziu o perceptron como a arquitetura mais simples de rede neural
capaz de classificar padrões linearmente separáveis.
O algoritmo de treinamento do perceptron foi o primeiro modelo de treinamento
supervisionado, embora alguns perceptrons fossem auto-organizados.
Basicamente, o perceptron consiste em uma única camada de neurônios com pesos
sinápticos e bias ajustáveis.
Se os padrões de entrada forem linearmente separáveis, o algoritmo de treinamento
do perceptron possui convergência garantida, ou seja, é capaz de encontrar um
conjunto de pesos que classifica corretamente os dados.
Os pesos dos neurônios que compõem o perceptron serão tais que as superfícies de
decisão produzidas pela rede neural estarão apropriadamente posicionadas no
espaço.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 105
Os neurônios do perceptron são similares ao neurônio de McCulloch & Pitts
(função de ativação tipo degrau), mas possuem pesos associados, incluindo o bias.
9.1. Perceptron Simples para Classificação de Padrões
O algoritmo do perceptron funciona como a seguir.
o Para cada padrão de treinamento (dado de entrada) xi, a saída da rede yi é
calculada.
o Em seguida, é determinado o erro ei entre a saída desejada para este padrão di e a
saída da rede yi, ei = di yi.
o O vetor de pesos conectando as entradas (neurônios pré-sinápticos) a cada saída
(neurônios pós-sinápticos) e o bias do neurônio são atualizados de acordo com
as seguintes regras:
wi(t+1) = wi(t) + ei xiT,
b(t+1) = b(t) + ei,
onde w 1m, x m1, e b 11.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 106
Considere agora o caso mais simples do perceptron com um único neurônio.
u y
x1
x2
xm
f(u)
Junção somadora
Função de ativação
Saída
…
w1
w2
wm
+1
w0 = b
Entr
adas
O objetivo desta rede, mais especificamente deste neurônio, é classificar alguns
padrões de entrada como pertencentes ou não pertencentes a uma dada classe.
Considere o conjunto de dados de entrada como sendo formado por N amostras
(x1,d1), (x2,d2), …, (xN,dN), onde xj é o vetor j de entradas, e dj sua saída desejada
(classe) correspondente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 107
Seja X mN, a matriz de dados de entradas com N padrões de dimensão m cada
(colunas de X), e d 1N o vetor de saídas desejadas. O algoritmo abaixo pode
ser utilizado para treinar o perceptron de um único neurônio:
procedure [w] = perceptron(max_it,E,,X,d)
initialize w //por simplicidade, inicialize com 0
initialize b //por simplicidade, inicialize com 0
t 1
while t < max_it & E > 0 do,
E 0
for i from 1 to N do, //para cada padrão de entrada
yi f(wxi + b) //determine a saída para xi
ei di yi //determine o erro para xi
w w + ei xiT //atualize o vetor de pesos
b b + ei //atualize o bias
E E + ei2
end for
t t + 1
end while
end procedure
Algoritmo 1: Algoritmo de treinamento para o perceptron simples.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 108
9.2. Exemplo de Aplicação e Motivação Geométrica
Considere o problema de utilizar o perceptron com um único neurônio para
representar a função lógica AND.
(0,1) (1,1)
(0,0) (1,0)
Entradas Saídas x1 x2 x1 AND x2 0 0 0 0 1 0 1 0 0 1 1 1
10001010
1100
dX
A saída yi do neurônio para o vetor de dados xi pode ser representada na forma:
yi = f(wxi + b)
Para quaisquer valores de w e b, a função f(u) separa o espaço de entradas em duas
regiões, sendo que a curva de separação (superfície de decisão) é uma linha reta.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 109
A equação desta reta é dada por:
w1 x1 + w2 x2 + b = 0
Se a função de ativação do tipo sinal (degrau) possui = 0, então
w1 x1 + w2 x2 + b 0
resultará em uma saída positiva da rede.
Inicializando todos os pesos e o limiar em zero w = [0 0] e b = 0, e definindo
= 1, o algoritmo de treinamento do perceptron fornece o seguinte:
w1 = 2; w2 = 1; b = 3, portanto 2x1 + 1x2 3 = 0.
Obs.: note que os pesos do perceptron também poderiam ter sido inicializados com
valores aleatórios pequenos.
o Neste caso, a superfície de decisão obtida seria diferente.
o Considere para efeitos ilustrativos: w1 = 0.015; w2 = 0.768; b = 0.971.
o A figura a seguir mostra as duas superfícies de decisão e os pesos e bias
determinados pelo algoritmo de treinamento do perceptron.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 110
(0,1) (1,1) (0,0) (1,0)
w1 = 2; w2 = 1; b = 3
w1 = 2.015; w2 = 0.768; b = 2.029
9.3. Perceptron com Múltiplos Neurônios
Note que a regra de aprendizagem do perceptron é do tipo supervisionada,
empregando a aprendizagem por correção de erro.
Esta regra pode ser facilmente estendida para atualizar os pesos de uma rede de
neurônios em uma única camada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 111
Neste caso, para cada vetor de entrada xi haverá um vetor de saídas da rede:
yi = f(Wxi + b); W om, xi m1, i = 1,…,N, yi o1, e b o1, D oN.
Existe agora um vetor de erros para cada padrão de entrada: ei = di yi.
procedure [W] = perceptron(max_it,,X,D) initialize W //for simplicity set it to zero
initialize b //for simplicity set it to zero
t 1
while t < max_it do,
E 0
for i from 1 to N do, //para cada padrão de entrada
yi f(Wxi + b) //determine a saída da rede para xi
ei di yi //determine o vetor de erros para xi
W W + ei xiT //atualize a matriz de pesos
b b + ei //atualize o vetor de bias
E E + sum(eij2) //j = 1,...,o
end for
t t + 1
end while
end procedure
Algoritmo 2: Algoritmo de treinamento para o perceptron com múltiplas saídas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 112
9.4. Exemplo de Aplicação: Reconhecimento de Caracteres
Considere o problema de aplicar o perceptron com múltiplas saídas ao problema de
classificação (reconhecimento) dos seguintes caracteres binários:
Cada um destes oito padrões de entrada possui uma resolução de 1210 pixels e as
classes a que eles pertencem (0,1,2,3,4,6,,9) estão pré-definidas.
Vamos projetar um perceptron com oito neurônios de saída, onde cada neurônio irá
corresponder a uma classe. Temos então X 1208 e D 88 (matriz diagonal).
O algoritmo de treinamento do perceptron será responsável então por definir uma
hipersuperfície de decisão em um espaço de dimensão 120 capaz de classificar os
dados corretamente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 113
9.5. Aspectos Práticos do Treinamento do Perceptron
Condição inicial: verificou-se que diferentes conjuntos iniciais de pesos para o
perceptron podem levar a diferentes superfícies de decisão.
o Na verdade, o problema de ajuste supervisionado de pesos pode ser visto como
um processo de busca por um conjunto de pesos que otimizam uma determinada
superfície de erro.
o Sendo assim, uma escolha inadequada da condição inicial da rede pode levar o
algoritmo a uma convergência para ótimos locais desta superfície de erro.
Critério de convergência: no caso do perceptron, é possível garantir que, dado um
conjunto de padrões linearmente separáveis, o algoritmo é capaz de encontrar uma
superfície de decisão capaz de classificar corretamente os dados.
o Sendo assim, é possível utilizar como critério de convergência para o perceptron
simples (classificação binária) a determinação de erro igual a zero para todos os
padrões de entrada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 114
o Outro critério que pode ser utilizado é a adaptação por uma quantidade finita de
iterações, denominadas de épocas de treinamento.
Parâmetros de treinamento: o algoritmo de treinamento do perceptron possui
basicamente o parâmetro de treinamento que deve ser definido pelo usuário.
Treinamento versus aplicação da rede: é importante diferenciar entre o processo
de treinamento e aplicação da rede.
o O treinamento da rede corresponde ao processo de ajuste de pesos.
o Após treinada a rede poderá ser aplicada ao mesmo problema, de forma a
verificar a qualidade do aprendizado, ou a outro problema, de forma a verificar
sua capacidade de generalização.
procedure [y] = perceptron(W,b,Z)
for i from 1 to N do, //para cada padrão de entrada xi
yi f(Wxi + b) //determine as saídas da rede
end for
end procedure
Algoritmo 3: Algoritmo usado para executar um perceptron treinado.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 115
10. Adaline
Praticamente ao mesmo tempo em que Rosenblatt propôs o perceptron, Widrow &
Hoff desenvolveram o algoritmo dos quadrados mínimos (least square) ou regra
delta.
Eles introduziram a rede Adaline (Adaptive Linear Element), muito similar ao
perceptron, porém com função de ativação linear ao invés de função sinal.
O objetivo do algoritmo de treinamento é minimizar o erro quadrático médio (MSE
ou EQM) entre a saída da rede e a saída desejada.
10.1. A Regra Delta
Seja (x1,d1),(x2,d2),…,(xN,dN), um conjunto de pares de entrada-saída, onde xj é o
vetor de entradas j e dj seu correspondente vetor de saídas (desejadas).
A regra delta ajusta os pesos e o limiar da rede neural de forma a minimizar o erro
(diferença) entre a saída da rede e a saída desejada para todos os padrões de
treinamento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 116
A soma dos erros quadráticos (SEQ) para um determinado padrão é dada por:
o
i
ii
o
i
i yde1
2
1
2)(
O gradiente de , também denominado de índice de desempenho ou função custo,
é o vetor que consiste das derivadas parciais de em relação a cada um dos pesos.
Este vetor fornece a direção de crescimento mais rápido do erro ().
o Portanto, a direção oposta ao gradiente de é a direção de maior decrescimento
da função custo.
Sendo assim, o erro pode ser reduzido ajustando-se os pesos da rede da seguinte
forma:
IJ
IJIJw
ww
α
onde wIJ é um peso arbitrário conectando o neurônio pré-sináptico J ao neurônio
pós-sináptico I e é a taxa de aprendizagem.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 117
Torna-se necessário, portanto, determinar de forma explícita o gradiente do erro
em relação ao peso arbitrário.
Como o peso wIJ influencia apenas a unidade I, o gradiente do erro é dado por:
2
1
2 )()( II
IJ
o
i
ii
IJIJ
ydw
ydww
Mas, yI = f(wI.x) = f(j wIj.xj) = j wIj.xj (ativação linear)
JII
IJ
III
IJ
xydw
yyd
w)(2)(2
Portanto, a regra delta para atualizar o peso do neurônio wIJ é dada por:
wIJ = wIJ + (dI yI) xJ.
bI = bI + (dI yI).
(Note que o parâmetro incorpora a constante 2 do gradiente.)
Em notação matricial tem-se:
W = W + ei xiT
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 118
b = b + ei
onde W om, xi m1, i = 1,…,N, ei o1, e b o1.
A beleza deste algoritmo é que, a cada iteração, ele calcula uma aproximação do
vetor gradiente do erro multiplicando o erro pelo vetor de entradas e esta
aproximação pode ser utilizada em um algoritmo do tipo gradiente descendente
com taxa de aprendizagem fixa.
10.2. Superfícies de Erro
Seja uma rede neural com n pesos a serem ajustados. Este conjunto de pesos pode
ser visto como um ponto em um espaço n-dimensional, denominado de espaço de
pesos (weight space).
Se a rede neural é utilizada para classificar um conjunto de padrões, para cada um
destes padrões a rede irá gerar um determinado sinal de erro.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 119
Isso significa que cada conjunto de pesos e bias possui um valor associado de erro.
Os valores de erro para todos os conjuntos possíveis de pesos e bias definem uma
superfície no espaço de pesos denominada de superfície de erro.
A questão que resulta então é qual o papel do algoritmo de treinamento. A forma
que boa parte dos algoritmos supervisionados opera é através da minimização de
uma função de custo baseada no erro entre as saídas da rede e as saídas desejadas.
Três conclusões importantes devem ser salientadas:
o A visualização do treinamento de RNAs via minimização do erro permite a
interpretação do problema como um problema de otimização, que é geralmente
não linear e irrestrito. Isso permite a aplicação de diversas técnicas de
otimização não linear irrestrita para o treinamento de RNAs feedforward.
o A superfície de erro possui, potencialmente, uma grande quantidade de mínimos
locais, sugerindo que os algoritmos de treinamento estão sujeitos a ficarem
presos em mínimos locais da superfície de erro.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 120
o Outros métodos de busca como algoritmos evolutivos também podem ser
empregados no treinamento de RNAs.
Global minimum
Local minimum
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 121
11. Redes Neurais Competitivas: Introdução
A auto-organização é um fenômeno predominante no cérebro humano. É sabido
que as propriedades estruturais e fisiológicas das sinapses no córtex cerebral são
influenciadas pelos padrões de atividade que ocorrem nos neurônios sensoriais.
Mesmo sem conhecer a priori os rótulos (ou classes) de um conjunto de objetos,
naturalmente nós os agrupamos em diferentes classes baseado em critérios de
similaridade ou dissimilaridade. Ex.: organização de roupas em uma gaveta.
As redes neurais competitivas, que fazem parte do paradigma de aprendizagem
auto-organizada (não supervisionada), são geralmente empregadas para explorar
dados não-rotulados, ou seja, dados de entrada cujas classes não são conhecidas.
Sendo assim, a implementação de modelos computacionais para ajuste de pesos
sinápticos de RNAs via treinamento não supervisionado deve recorrer apenas aos
dados de entrada, tomados como amostras independentes de uma distribuição de
probabilidade desconhecida.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 122
Duas abordagens têm sido propostas para aprendizado não supervisionado:
1. Técnicas para estimação de densidades de probabilidade, que produzem
modelos estatísticos explícitos para descrever os fenômenos responsáveis pela
produção dos dados de entrada. Ex: redes Bayesianas.
2. Técnicas de extração de regularidades (ou irregularidades) estatísticas
diretamente dos dados de entrada. Ex: redes competitivas.
Uma rede neural competitiva deve então se adaptar a regularidades estatísticas nos
dados de entrada, desenvolvendo uma capacidade de criar representações internas
que codificam as características dos dados de entrada, tornando-se, portanto, capaz
de identificar a quais classes novos padrões pertencem.
Essa característica torna as redes competitivas quantizadores vetoriais (Ahalt et
al., 1990), ou seja, estruturas capazes de representar um conjunto de dados através
de um conjunto de protótipos (quantizadores vetoriais), permitindo, dentre outras
coisas, uma compressão dos dados.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 123
11.1. Quantização Vetorial
A quantização vetorial é um processo que se beneficia da estrutura (regularidade
estatística) dos dados sendo quantizados (Gray, 1984).
O espaço dos vetores a serem quantizados é dividido em um número de regiões
(grupos ou clusters) e um vetor protótipo é calculado para cada região.
Dado qualquer vetor de entrada a ser quantizado, a região à qual ele pertence é
determinada e o vetor é representado pelo protótipo daquela classe.
Ao invés de armazenar ou transmitir um dado vetor, um símbolo que indica o
protótipo apropriado é usado, podendo resultar em economias consideráveis de
memória ou largura de banda.
Por outro lado, o processo de quantização pode distorcer a informação.
Formalmente, a quantização vetorial mapeia vetores arbitrários em um espaço m-
dimensional em um conjunto de símbolos I. Associado a cada símbolo i I, há
um protótipo wi.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 124
À coleção de todos os protótipos possíveis denominamos de conjunto de
protótipos ou codebook.
O processo de quantização vetorial envolve a determinação de um conjunto de
protótipos que seja ótimo em relação a algum critério, por exemplo, um critério de
distorção em relação aos dados de entrada.
Entretanto, a avaliação deste critério requer o conhecimento a priori da
distribuição de probabilidade dos dados.
Como esta distribuição normalmente não é conhecida, a determinação dos
protótipos é feita através de um processo de treinamento, ou aprendizagem, dando
origem à chamada quantização vetorial adaptativa (learning vector quantization).
Durante o processo de treinamento, uma medida de distorção d(x,wi) é usada para
determinar a distorção do protótipo wi em relação ao padrão de entrada x.
Esta medida pode ser vista como o custo de se representar x por wi.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 125
A determinação de quais dados de entrada pertencem a cada região permite o
agrupamento dos dados em diferentes regiões (clusters).
É importante notar que neste processo a medida de distorção exerce um papel
fundamental e deve ser levada em consideração durante o projeto do quantizador
vetorial.
O algoritmo adaptativo usado para determinar os protótipos pode ser descrito
como a seguir:
1. Cada vetor de entrada é comparado com os protótipos existentes e a
correspondente distorção é calculada.
2. Aquele protótipo mais similar ao vetor de entrada, ou seja, que apresenta menor
distorção, é selecionado e é modificado de forma a refletir a inclusão deste novo
vetor de dados na sua região (partição ou cluster).
12. Rede Neural Competitiva: Algoritmo Básico
Uma rede competitiva simples é do tipo feedforward com uma única camada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 126
Todos os neurônios de saída são lineares e idênticos, com exceção de seus
respectivos vetores de pesos associados.
Para cada padrão de entrada apresentado os neurônios de saída irão competir entre
si para determinar qual neurônio é mais estimulado pelo padrão de entrada, com
um único neurônio sendo ativado para cada padrão.
Esta característica é denominada de winner-takes-all.
O neurônio vencedor da competição será movido na direção do padrão de entrada,
como ilustra a figura abaixo.
x(t)
wi(t) (x(t)wi(t))
wi(t+1)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 127
Dessa forma, os neurônios da rede aprendem a se especializar em grupos (clusters)
de padrões similares, tornando-se detectores ou extratores de características
(quantizadores vetoriais) para diferentes grupos de padrões de entrada.
Para que um neurônio i seja o vencedor, a distância entre o vetor de pesos wi deste
neurônio e um determinado padrão de entrada x deve ser a menor dentre todos os
outros neurônios da rede, dada uma métrica de distorção ou de distância ||||
(geralmente utiliza-se a distância Euclidiana).
A ideia é encontrar o neurônio cujo vetor de pesos seja o mais parecido ao padrão
de entrada, ou seja:
i = arg mini ||x wi||, i.
Se um neurônio não responde a um padrão de entrada, ou seja, não é o vencedor,
então nenhuma adaptação é sofrida por este neurônio.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 128
Entretanto, o neurônio i que ganhou a competição sofre um ajuste wi no seu
vetor de pesos na direção do vetor de entrada:
competição a perde se0
competição a ganha se)α(
i
ii
i
wxw
onde indica o tamanho do passo a ser dado na direção de x. O parâmetro é
conhecido como taxa de aprendizagem.
Normalmente a taxa de aprendizagem é reduzida monotonicamente a zero ao
longo do processo adaptativo, o que garante uma estabilização do processo auto-
organizado com o passar do tempo.
O procedimento de aprendizagem de uma rede competitiva está resumido no
Algoritmo 1.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 129
procedure [W] = compet(max_it,0,X) initialize W //normalmente uma distribuição aleatória
t 1
while t < max_it do,
vet_permut randperm(N) //permutações de N
for j from 1 to N do, //para cada padrão de entrada
//selecione o padrão i a ser apresentado
i vet_permut(j) //apresentação aleatória
i(x) arg minj ||xi wj(t)||, j = 1,…,o //competição
wi(t+1) = wi(t) + (t) [x(t) wi(t)] //cooperação e adaptação
end for
reduce() //até um valor mínimo
t t + 1
end while
end procedure
Algoritmo 1: Algoritmo de aprendizagem competitiva.
Dentre as aplicações de redes competitivas encontram-se: otimização
combinatória, análise de dados, agrupamento (clusterização), classificação,
robótica, processamento de imagem, reconhecimento de padrões, reconhecimento
de voz, bioinformática e análise de dados econômicos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 130
13. Mapas Auto-Organizáveis de Kohonen
Nota: Material preparado a partir da tese de doutorado de Lalinka C. T. Gomes,
FEEC/Unicamp, 2006.
Os mapas auto-organizáveis (SOM – do inglês self-organizing maps) constituem
uma importante classe de redes neurais artificiais e um dos principais
representantes do paradigma de aprendizado não supervisionado.
13.1. Fundamentos
O córtex cerebral pode ser dividido em diversas regiões, nas quais diferentes
informações sensoriais são representadas por mapas topologicamente ordenados e
regiões distintas respondem a diferentes estímulos (BOHEME et al., 1994).
Dessa forma, há fortes indícios de que existe uma região específica do córtex
cerebral dedicada a estímulos auditivos, outra a estímulos visuais, por exemplo.
Visando uma maior rapidez na resposta a um estímulo, neurônios que participam
de uma mesma função situam-se topologicamente próximos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 131
Portanto, estímulos similares tendem a produzir padrões de atividade semelhantes
e em regiões vizinhas junto ao mapa neural.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 132
Os mapas auto-organizáveis (KOHONEN, 1982a; KOHONEN, 1997; KOHONEN et.
al., 2001) são modelos matemáticos na forma de redes neurais artificiais que
procuram reproduzir computacionalmente de forma simplificada este mecanismo
biológico.
Padrões de entrada similares, de acordo com algum critério, são mapeados em um
mesmo neurônio ou em neurônios vizinhos no mapa auto-organizável, como
ilustra a figura abaixo.
O processo de aprendizado baseia-se em um conjunto de padrões de entrada, que
correspondem aos estímulos do ambiente.
Uma ordem global é alcançada através de interações locais, que ocorrem em dois
níveis (HAYKIN, 1999): i) a partir da interação direta com o ambiente; e ii) via
relações de vizinhança entre neurônios situados topologicamente próximos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 133
R n
Mapa auto-organizável
Espaço de entrada
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 134
Em um mapa auto-organizável, cada neurônio i possui um vetor de pesos
sinápticos wi = [wi1, wi2,...,wim]T, onde m representa a dimensão do espaço de
entrada.
Os neurônios encontram-se distribuídos em um arranjo, geralmente de dimensão
entre 1 e 3, e competem entre si para serem ativados na presença de um padrão de
entrada.
Ao final do processo competitivo, que se dá após a apresentação de um dos
padrões de entrada, haverá somente um neurônio vencedor.
O aprendizado não supervisionado conduz a rede neural a uma representação
interna dos padrões de entrada, geralmente com redução dimensional, de modo a
produzir um mapa neural com maior poder de interpretação dos dados originais e
que ainda seja capaz de refletir as características estatísticas mais relevantes do
conjunto de padrões de entrada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 135
Como os neurônios que compõem um mapa auto-organizável são estimulados
pelos dados de entrada, os vetores de pesos sinápticos dos neurônios apresentam a
mesma dimensão do espaço de entrada.
A projeção dos dados de entrada de um espaço de dimensão m em um mapa de
dimensão normalmente entre 1 e 3 deve permitir a preservação de certas
propriedades estatísticas dos dados através de uma minimização da violação
topológica, a qual pode ser estimada pela diferença entre a posição relativa dos
dados e a posição relativa das excitações promovidas pelos dados junto ao mapa
neural.
13.2. Projeto de Mapas Auto-Organizáveis
Modelo de neurônio
Como o processo de treinamento é baseado em competição entre os neurônios, o
modelo de neurônio empregado nos mapas auto-organizáveis é do tipo linear.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 136
Isso é consequência do fato de que o aspecto de interesse no processo competitivo
é verificar qual neurônio é mais estimulado por cada padrão de entrada.
Arquitetura da rede
A arquitetura de um SOM normalmente é do tipo feedforward com uma única
camada, tendo os m neurônios de entrada totalmente conectados aos neurônios de
saída.
Assim, os pesos sinápticos dos neurônios são arranjados na forma de vetores m-
dimensionais, onde m é o número de atributos dos padrões de entrada.
Uma característica distinta deste tipo de rede, entretanto, é o fato de que os
neurônios de saída da rede são normalmente arranjados seguindo um padrão bem
definido. Por exemplo, formando uma grade (grid) uni- ou bi-dimensional de
saída, como ilustrado na figura a seguir.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 137
Unidades de entrada
Unidades de saída
Conexões sinápticas
Grid uni-dimensional.
Conexõessinápticas
Unidades de saída
Unidades de entrada
Grid bi-dimensional.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 138
Exemplo: mapeamento rede neural espaço cartesiano
1
0.1 0.28 0.35 0.47
0.18
0.27
0.32
0.5
(0.1,0.27)
(0.28,0.18)
(0.35,0.5)
(0.47,0.32)
1
2
2
3
3
4
4
0.1
0.27
0.28
0.18 0.47
0.32
0.35
0.5
w2
w1
Algoritmo de treinamento
A cada época os padrões de entrada são reordenados e apresentados ao SOM com
o objetivo de desvincular o processo de auto-organização do mapa da sequência de
apresentação dos padrões.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 139
Existem duas principais formas de treinamento: i) sequencial ou local; e ii) em
lote ou batelada.
Sequencial: os pesos sinápticos dos neurônios são atualizados a cada
apresentação de um padrão de entrada.
Lote: os pesos sinápticos são atualizados somente após um ciclo completo de
apresentação de padrões. Isso é feito tomando-se a resultante das contribuições
de todos os padrões para cada neurônio.
O algoritmo de treinamento do SOM possui três etapas fundamentais:
1. Competição: o neurônio vencedor que apresentar maior nível de ativação para o
padrão de entrada apresentado à rede neural será selecionado.
2. Cooperação: é definida uma vizinhança topológica de neurônios associada ao
vencedor, sendo que os vetores de pesos de todos os neurônios desta vizinhança
sofrerão uma adaptação de mesma polarização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 140
3. Adaptação: os pesos sinápticos do neurônio vencedor e de sua vizinhança são
modificados.
O treinamento é finalizado quando o mapa atinge um estado de estabilidade, em
que não ocorrem variações significativas nos pesos sinápticos após a apresentação
de todos os padrões de treinamento.
A figura abaixo resume o algoritmo de treinamento do SOM.
Inicialização Sináptica
ProcessoCompetitivo
ProcessoCooperativo
Processo
AdaptativoSatisfaz Critério de Parada?
Fim
Início
Sim
Não
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 141
13.3. Fase Competitiva
Os padrões de entrada são sucessivamente apresentados a todos os neurônios de
saída do SOM que vão competir entre si para serem ativados, sendo que apenas
um neurônio será o vencedor para cada padrão apresentado.
Como no caso das redes competitivas básicas, essa regra de competição é
denominada “o vencedor leva tudo” (do inglês winner-takes-all).
No processo competitivo há três conceitos fundamentais:
1. Um conjunto de neurônios idênticos, com exceção de seus respectivos vetores
de pesos, cuja função é fornecer a posição do neurônio no espaço m (espaço
dos dados originais).
2. Um critério de similaridade adotado para comparar os padrões de entrada com
os vetores de pesos dos neurônios.
3. Um mecanismo de competição que permita determinar o neurônio vencedor
para os padrões de entrada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 142
O nível de ativação de cada neurônio pode ser determinado de duas formas: i) por
um critério de similaridade entre o vetor correspondente ao padrão de entrada e o
vetor de pesos de cada neurônio; ou ii) determinando-se a entrada líquida de cada
neurônio.
No primeiro caso, que é o mais usual, quanto maior for o grau de similaridade
entre um neurônio e um determinado padrão de entrada, maior será o nível de
ativação do neurônio. De forma recíproca, quanto menor a distância entre o padrão
de entrada e o vetor de pesos de um neurônio, maior é a ativação.
Assim, o objetivo do processo competitivo é identificar o neurônio vencedor, o
que pode ser feito pela seguinte equação:
i(x) = arg minj ||x wj||, j = 1, … , o,
onde x é o padrão de entrada e wj é o vetor de pesos associados ao neurônio j.
A figura abaixo ilustra o processo competitivo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 143
1
2
3
4
5
67
8
9
Padrão de
entrada
Neurônio
vencedor
x
d
dd
d
d
dd
d
dx1
x2 x3
x4
x5
x6x7
x8
x9
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 144
13.4. Fase Cooperativa
O processo cooperativo é inspirado em um mecanismo neurobiológico, no qual
um neurônio que se encontra no estado “ativo” tende a influenciar o estado dos
neurônios vizinhos, de modo que vizinhos situados topologicamente mais
próximos sofrem maior influência.
Para os casos dos grids de saída uni- e bi-dimensional, as figuras abaixo ilustram
diferentes graus de vizinhança.
Vizinho de grau 0 (neurônio vencedor)
Vizinho de grau 1
Vizinho de grau 2
Vizinho de grau 3
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 145
Vizinho de grau 0 (neurônio vencedor)
Vizinho de grau 1
Vizinho de grau 2
Vizinho de grau 3
Comumente, a analogia biológica de vizinhança é representada por uma função
Gaussiana dada por:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 146
2
2)(,
)(,2
expx
xij
ij
Dh
onde i(x) denota o neurônio vencedor para o vetor de entradas x; Dj,i(x) é a
distância no mapa entre o neurônio vencedor i e cada neurônio j de sua vizinhança,
ou seja, o grau de vizinhança; e é o desvio padrão, empregado no controle da
amplitude da vizinhança.
O desvio padrão é controlado de modo que a amplitude da vizinhança seja
reduzida com o tempo, de acordo com a seguinte equação:
(t) = 0 exp(t/2),
onde 2 é uma constante de tempo e t é a época. O valor 0 é definido pelo usuário
e é dependente da abrangência da vizinhança requerida para a aplicação.
Um valor comumente utilizado para 2 é dado pela fórmula (HAYKIN, 1999):
0
2log
1000τ
.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 147
A figura abaixo mostra a função Gaussiana utilizada na representação da
vizinhança e a influência do neurônio vencedor em relação a cada vizinho.
2
0 1 2 3 1 2 3
1.0
hji
dji
0 1 2 3 1 2 3
hji
dji
Winner
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 148
13.5. Fase Adaptativa
Durante o processo adaptativo, os vetores de pesos sinápticos do neurônio
vencedor e de sua vizinhança são atualizados de forma a se aproximarem do
padrão de entrada apresentado, respeitando a relação de vizinhança definida
durante o processo cooperativo.
A atualização do vetor de pesos sinápticos wi é dada por:
wi(t+1) = wi(t) + (t) hji(x)(t) [x(t) wi(t)],
onde hj,i(x) é a função de ativação de vizinhança definida anteriormente; x é o vetor
associado ao padrão de entrada e (t) é a taxa de aprendizagem na época t.
A atualização da taxa de aprendizagem é dada pela seguinte equação:
(t) = 0 exp(t/1),
onde 0 0.1, 1 1,000, 0 = raio do grid (todos os neurônios são considerados
vizinhos do vencedor no início do treinamento).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 149
As figuras abaixo ilustram o processo de adaptação para uma rede com grid uni- e
bi-dimensional de saída.
vencedor
Padrão de entrada
Padrão de entrada
O algoritmo abaixo resume o procedimento para treinamento de um SOM (de
Castro, 2006).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 150
procedure [W] = som(max_it,0,0,1,2,X) initialize W //normalmente uma distribuição uniforme
t 1
while t < max_it do,
vet_permut randperm(N) //permutações de N
for j from 1 to N do, //para cada padrão de entrada
//selecione o padrão i a ser apresentado
i vet_permut(j) //apresentação aleatória
i(x) arg minj ||xi wj(t)||, j = 1,…,o //competição
hji(x) = exp(||rj ri(x)||2/2
2) //vizinhança
wi(t+1) = wi(t) + (t) hji(x)(t) [x(t) wi(t)] //cooperação e adaptação end for
reduce() //até um valor mínimo
reduce()
t t + 1
end while
end procedure
Algoritmo 1: Algoritmo de aprendizagem para um mapa auto-organizável de Kohonen (SOM).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 151
14. Exemplos de Aplicação
Como discutido anteriormente, a aplicação das redes competitivas pode ocorrer
em diversos cenários. Esta seção ilustra algumas delas.
14.1. Agrupamento de dados (Clusterização)
Caso 1: Ausência de agrupamentos
0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 152
0 0.2 0.4 0.6 0.8 10
0.2
0.4
0.6
0.8
1
1
2
3
4
56
7
8
910
1112
1314
15
16
1718 19 20 21 22 23 24
25
26
27
28
29
30
31
32
333435
36
3738
39
4041
424344
45
46
47
48 4950
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 153
Caso 2: Presença de agrupamentos bem distintos
(I)
(II)
(III)
(IV)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 154
14.2. O Problema da Identificação dos grupos
A figura a seguir exibe um gráfico de barras (vetor-U) indicando as distâncias
entre neurônios vizinhos, permitido a visualização dos grupos (clusters) formados
pelo conjunto de padrões (Ultch, 1993).
(I) (II)(III) (IV) (I)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 155
Nesse caso, como a vizinhança é circular, podemos observar claramente a
existência de quatro clusters.
Note que a distância entre neurônios vizinhos representantes de um mesmo cluster
é relativamente pequena quando comparada à distância entre neurônios vizinhos
representantes de clusters distintos.
Dessa forma, a separação dos clusters através do gráfico de barras é efetuada
estabelecendo-se um limiar de distância entre neurônios vizinhos, de modo que
uma distância acima do limiar indique um novo cluster.
Vale observar que podem existir neurônios que não se encontram associados a um
padrão específico, apresentando uma distância relativamente grande entre os
clusters formados.
Neste caso, os neurônios que não se encontram associados a clusters específicos
podem ser eliminados através do uso de um limiar de distância, em que neurônios
apresentando distância maior que este limiar para todos os clusters são eliminados.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 156
Um outro método seria o uso de um mapa construtivo, em que neurônios que não
vencem o processo competitivo são eliminados do mapa durante o treinamento.
14.3. Ordenamento de pontos em espaços multidimensionais
a) b)
1
1
102102
b)
(GOMES et al., 2002)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 157
a extensão para pontos em espaços de maior dimensão é imediata (generalização
do problema do caixeiro viajante)
14.4. Problemas Combinatoriais (Caixeiro Viajante)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 158
14.5. Questões a serem investigadas
Sintonia de parâmetros
Neurônios que não vencem nunca (devem ser podados para aumentar eficiência)
Neurônios que vencem sempre
Dimensão do arranjo para uma dada aplicação
Número de neurônios, uma vez definido o arranjo
Inicialização dos pesos
Apresentação dos dados à rede (padrão-a-padrão ou em lote?)
Interpretação do mapa resultante (análise discriminante)
Métodos construtivos e de poda
Outras aplicações e múltiplos mapeamentos simultâneos
Comparações com ferramentas similares
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 159
15. Quantização Vetorial Supervisionada
Na discussão sobre redes competitivas apresentada aqui verificamos que sua
operação é equivalente aos processos de quantização vetorial adaptativa (learning
vector quantization - LVQ).
Os métodos conhecidos como LVQ também podem ser empregados de forma
supervisionada (Kohonen, 1990) e, portanto, empregados na resolução de
problemas de classificação.
O processo de atualização dos vetores de pesos da rede deve ser tal que minimize
o erro de classificação.
Para isso, o processo de ajuste dos pesos deve levar em consideração a
classificação feita por cada protótipo.
Caso a classificação do protótipo seja correta, este será movido na direção do
padrão de entrada; caso contrário, o protótipo deverá ser movido na direção
oposta:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 160
incorretafor classe a se)(α
corretafor classe a se)(α
ji
ji
jwx
wxw
16. Referências sobre Redes Auto-Organizadas AHAL, S. C., KRISHNAMURTHY, A. K., CHEN, P. AND MELTON, D. E., (1990), “Competitive Learning Algorithms for Vector Quantization”,
Neural Networks, 3(3), pp. 277-290.
BARLOW, H. B. “Unsupervised learning”, Neural Computation, 1: 295-311, 1989.
BECKER, S. & PLUMBLEY, M. “Unsupervised neural network learning procedures for feature extraction and classification”, International
Journal of Applied Intelligence, 6: 185-203, 1996.
DE CASTRO, L.N. & VON ZUBEN, F.J. An Improving Pruning Technique with Restart for the Kohonen Self-Organizing Feature Map.
Proceedings of the IEEE International Joint Conference on Neural Networks (IJCNN’99), vol. 3, pp. 1916-1919, July 1999.
GOMES, L.C.T., VON ZUBEN, F.J. & MOSCATO, P.A. Ordering Microarray Gene Expression Data Using a Self-Organising Neural Network.
Proceedings of the 4th International Conference on Recent Advances in Soft Computing (RASC2002), Nottingham, United Kingdom,
pp. 307-312, December 2002.
GRAY, R. M. (1984), “Vector Quantization”, IEEE ASSP Magazine, 1(2), pp. 4-29.
KOHONEN, T. (1990), “Improved Versions of Learning Vector Quantization”, Int. Joint Conf. on Neural Networks, 1, pp. 545-550.
KOHONEN, T. “Self-Organization and Associative Memory”, 3rd. edition, Springer, 1989 (1st. edition, 1984).
KOHONEN, T. “Self-organized formation of topologically correct feature maps”, Biological Cybernetics, 43:59-69, 1982.
KOHONEN, T. “Self-Organizing Maps”, 2nd. edition, Springer, 1997.
TOOLBOX: http://www.cis.hut.fi/projects/somtoolbox/
ULTSCH, A. “Knowledge Extraction from Self-Organizing Neural Networks”, in O. Opitz et al. (eds.) Information and Classification,
Springer, pp. 301-306, 1993.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 161
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 162
17. Introdução às Redes de Hopfield
Neste tópico vamos estudar redes neurais recorrentes, em particular a rede de
Hopfield discreta.
As redes neurais recorrentes são mais poderosas que as redes do tipo feedforward,
pois são capazes de reconhecer e recuperar padrões espaciais e temporais.
Por outro lado, o comportamento destas redes recorrentes pode se tornar muito
mais complexo do que o das redes feedforward.
Para as redes feedforward, a saída é constante (para uma dada entrada) e é função
apenas da entrada da rede.
No caso das redes recorrentes, entretanto, a saída da rede é função do tempo.
Para uma dada entrada e uma dada saída inicial da rede, a resposta deve convergir
para uma saída estável.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 163
Entretanto, ela também pode oscilar, explodir (para o infinito), ou seguir um
comportamento caótico.
Portanto, o principal objetivo deste tópico é investigar a estabilidade de redes
recorrentes.
Quando estamos falando de estabilidade em um contexto de sistemas dinâmicos
não lineares, queremos dizer estabilidade no sentido de Lyapunov.
Este nome se deve ao matemático e engenheiro russo chamado Lyapunov, que
propôs os fundamentos da teoria da estabilidade em 1892.
Neste tópico vamos inicialmente revisar conceitos sobre sistemas dinâmicos não
lineares e em seguida apresentar redes recorrentes como sistemas dinâmicos não
lineares. O tópico é concluído com a descrição da rede de Hopfield discreta.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 164
18. Fundamentos de Sistemas Dinâmicos Não
Lineares
18.1. Noções Elementares sobre Estabilidade
Vamos começar introduzindo alguns conceitos sobre estabilidade empregando um
exemplo intuitivo (Hagan et al., 1998).
Considere uma bola em movimento sobre diferentes superfícies, com fricção
dissipativa e sujeita a um campo gravitacional, como ilustrado na figura abaixo.
(a) (b) (c)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 165
No caso (a), se a superfície for movida ou se uma força for aplicada à bola, então,
após um período de oscilação a bola retornará ao ponto de mínimo da superfície.
Este ponto é denominado de ponto assintoticamente estável, pois qualquer
perturbação levará o sistema de volta ao ponto de equilíbrio.
No caso (b), se a superfície for movida ou se uma força for aplicada à bola, então,
após um período de tempo a bola irá parar, mas não necessariamente na mesma
posição em que ela estava. O ponto onde a bola irá parar é denominado de estável
no sentido de Lyapunov*, mas não assintoticamente estável, pois a bola não retorna
à posição anterior.
No caso (c), se a superfície for movida ou se uma força for aplicada à bola, então a
bola vai escorrer da superfície. Este ponto é denominado de ponto de equilíbrio
instável.
Um atrator é a região do espaço (de estados) para a qual as trajetórias vão
convergir, dada uma condição inicial.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 166
À região do espaço de estados para a qual o sistema caminha para um atrator é
denominada de bacia (ou base) de atração.
Bacia de atração
18.2. Sistemas Dinâmicos
A teoria de sistemas dinâmicos se ocupa em descrever matematicamente sistemas
em movimento, permitindo classificar e predizer seu comportamento no tempo.
O comportamento temporal de sistemas dinâmicos pode depender tanto de
variáveis observáveis como de variáveis não-observáveis.
Um sistema dinâmico consiste de duas partes: um estado e uma dinâmica.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 167
O estado descreve a condição atual do sistema na forma de um vetor de variáveis
parametrizadas em relação ao tempo, sendo que o conjunto de estados possíveis é
denominado espaço de estados do sistema.
A dinâmica descreve como o estado do sistema evolui no tempo, sendo que a
sequência de estados exibida por um sistema dinâmico durante sua evolução no
tempo é denominada trajetória no espaço de estados.
Hipótese: a dinâmica é determinística (em oposição à estocástica), ou seja, para
cada estado do sistema, a dinâmica especifica unicamente o próximo estado
(dinâmica discreta) ou então a direção de variação do estado (dinâmica contínua).
Neste caso, um sistema dinâmico é uma prescrição matemática determinística para
a evolução de um estado no tempo.
Entradas externas podem influir na determinação do próximo estado.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 168
Tabela 1 - Taxionomia dos sistemas dinâmicos (KOLEN, 1994)
ESPAÇO DE ESTADOS
contínuo discreto
DINÂMICA
contínua sistema de
equações diferenciais vidros de spin
discreta sistema de equações
a diferenças autômato
Quando um sistema dinâmico não apresenta a propriedade de linearidade
(princípio da superposição de efeitos) ele é denominado sistema dinâmico não
linear. Os sistemas físicos são inerentemente não lineares.
No entanto, quando a faixa de operação do sistema é pequena e as não linearidades
são suaves, um sistema dinâmico não linear pode ser representado
aproximadamente por seu correspondente sistema linearizado, cuja dinâmica é
descrita por um conjunto de equações diferenciais ou a diferenças lineares.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 169
18.3. Sistemas Não lineares Multidimensionais
Sejam fi, gi (i=1, …, n) funções não lineares e n finito (uma série de restrições
devem ser impostas a estas funções, a fim de permitir o tratamento dos sistemas
resultantes com base no conhecimento e nas ferramentas disponíveis)
x1, …, xn: variáveis de estado (memória que o sistema tem do seu passado)
u1, …, up: entradas do sistema (externas e/ou por realimentação)
Número finito de equações dinâmicas acopladas (tempo contínuo e discreto)
pnnn
pn
uuxxtfx
uuxxtfx
,...,,,...,,
,...,,,...,,
11
1111
)(),...,(),(),...,(,)1(
)(),...,(),(),...,(,)1(
11
1111
kukukxkxkgkx
kukukxkxkgkx
pnnn
pn
Representar estas equações em forma mais compacta: notação vetorial
nx
x
1
x
pu
u
1
u
),,(
),,(
),,(
1
ux
ux
uxf
tf
tf
t
n
),,(
),,(
),,(
1
ux
ux
uxg
kg
kg
k
n
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 170
Equações de estado: ),,( uxfx t ),,()1( uxgx kk
Equação de saída: y = h(t,x,u) y = h(k,x,u)
y p é denominado vetor de saída e geralmente contém variáveis de interesse
particular na análise de um sistema dinâmico, como variáveis que podem ser
fisicamente medidas ou variáveis cujo comportamento deve ser monitorado ou
controlado.
Modelo de espaço de estados (ou modelo de estados) de um sistema não linear:
)(),(,)(
)(),(,)(
tttt
tttt
uxhy
uxfx
f u(t)
s
1 h x(t) x(t)
. y(t)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 171
))(),(,()(
))(),(,()1(
kkkk
kkkk
uxhy
uxgx
g u(k) h x(k) x(k+1)
y(k)
z-1
O modelo de espaço de estados é a forma mais geral que um sistema não linear
pode assumir em uma representação matemática.
Muito da eficiência da teoria de controle moderno (casos linear e não linear) pode
ser atribuída à generalidade e versatilidade dos modelos de espaço de estados. Mas
nem todos os sistemas físicos de dimensão finita podem ser representados nesta
forma.
Efeito do uso de um modelo de estado para um sistema não linear: força a análise
do sistema sob o ponto de vista da interação entrada/estado e estado/saída (a
entrada geralmente não vai atuar diretamente sobre a saída).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 172
f, g e h, também denominadas campos vetoriais, são geralmente supostas serem
funções suaves em seus argumentos, com derivadas parciais, de qualquer ordem,
contínuas (objetivo: garantir a existência e unicidade de solução). Uma restrição
mais forte seria supor que as funções são analíticas em seu domínio de definição.
Uma função é analítica quando ela é diferenciável em um ponto z0 de seu domínio
e em uma vizinhança de z0, de modo que ela pode ser representada por uma série
de potência baseada em potências de (z z0).
18.4. Análise de Sistemas Não lineares
Envolve conceitos matemáticos mais avançados (análise funcional, geometria
diferencial) que o caso linear (álgebra matricial) e o número de abordagens é
muito maior que no caso linear, já que as ferramentas são predominantemente
específicas ou não-universais.
O estudo do modelo de estados pode ser conduzido a partir de duas frentes:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 173
1. Análise: dada a descrição da dinâmica do sistema, supõe-se que a função de
entrada é especificada (fixa) e estuda-se o comportamento da função x();
2. Síntese: dada a descrição da dinâmica do sistema, bem como o comportamento
desejado da função x(), o problema é encontrar uma função de entrada (função de
controle) u() adequada, que vai levar x() a se comportar de um modo desejado.
Ou, de uma forma mais genérica, dado apenas o comportamento desejado da
função x(), o problema é encontrar a dinâmica do sistema (campo vetorial f ou g),
podendo ou não haver alguma função de entrada (função de controle) associada.
Neste tópico do curso nos restringiremos à análise e síntese de equações de estado
não-forçadas e invariantes no tempo (sistema autônomo):
)()( tt xfx x(k + 1) = g(x(t)) (1)
É informativo visualizar a equação de espaço de estados apresentada acima como
descrevendo o movimento de um ponto em um espaço de estados n-dimensional.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 174
O espaço de estados é importante, pois constitui uma ferramenta visual e
conceitual para a análise da dinâmica do sistema não linear da Eq. (1), permitindo
observar as características globais do movimento.
t0 t1
t2
t3
Retrato de estados Trajetória
18.5. Exemplos de Comportamentos Dinâmicos Não lineares
A dinâmica de um sistema não linear é muito mais rica que a de um sistema linear,
ou seja, há fenômenos dinâmicos significativos que só ocorrem na presença de não
linearidades, não podendo ser descritos ou preditos por modelos lineares.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 175
Exemplos de fenômenos essencialmente não lineares:
Múltiplos pontos de equilíbrio isolados: um sistema linear pode apresentar
apenas um ponto de equilíbrio isolado, indicando a existência de apenas um ponto
de operação em estado estacionário, o qual atrai o estado do sistema, independente
da condição inicial. Já no caso não linear, podem existir múltiplos pontos de
equilíbrio isolados, e assim o ponto de operação em estado estacionário vai
depender da condição inicial.
Ciclos limites: para um sistema linear invariante no tempo apresentar oscilação
permanente, ele deve apresentar um par de autovalores no eixo imaginário. Esta
condição é uma impossibilidade prática na presença de perturbações. Mesmo
considerando apenas a possibilidade teórica, a amplitude da oscilação vai
depender da condição inicial. Na prática, oscilações estáveis devem ser
produzidas por sistemas não lineares. Há sistemas não lineares que atingem
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 176
oscilações de amplitude e frequência fixas, independente da condição inicial. Este
tipo de oscilação é denominada ciclo limite.
Oscilações sub-harmônicas, harmônicas e quase periódicas: um sistema linear
estável, sujeito a uma entrada periódica, produz uma saída de mesma frequência.
Um sistema não linear, sujeito a uma excitação periódica pode oscilar com
frequências que são sub-múltiplos ou múltiplos da frequência de excitação. Pode
ser gerada inclusive uma quase-oscilação, formada pela soma de oscilações
periódicas cujas frequências não são múltiplos entre si.
Caos: um sistema não linear pode apresentar um comportamento de estado
estacionário que não é equilíbrio, nem oscilação periódica, nem oscilação quase
periódica, sendo denominado caos.
Múltiplos modos de comportamento: é comum que múltiplos modos de
comportamento dinâmico, dentre os descritos acima, possam ser exibidos por um
mesmo sistema dinâmico não linear, mesmo sem a presença de excitação. Com
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 177
excitação, as mudanças de modo de comportamento podem ser descontínuas em
relação a mudanças suaves na amplitude e frequência da excitação.
18.6. Estado Estacionário em Sistemas Não lineares
Nesta seção os sistemas dinâmicos autônomos são classificados em termos de seu
comportamento de estado estacionário (ou de regime), um conceito definido para
t .
Embora haja uma diferença qualitativa marcante entre sistemas dinâmicos de
tempo discreto e contínuo, ambos exibem os mesmos tipos de comportamento
dinâmico em estado estacionário. Com isso, todos os resultados desta seção são
válidos tanto para tempo contínuo como para tempo discreto.
18.6.1. Definição de Trajetória
Definição 1: A sequência de estados exibida por um sistema dinâmico durante sua
evolução no tempo é denominada trajetória.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 178
Embora um mesmo sistema dinâmico possa experimentar trajetórias iniciais
completamente diferentes, estas trajetórias geralmente convergem para um
comportamento característico quando t , conhecido como comportamento de
estado estacionário (ou de regime).
O estado estacionário corresponde ao comportamento assintótico de um sistema
quando t , tendo sentido apenas estados estacionários finitos.
Definição 2: Para um dado sistema dinâmico, a diferença entre sua trajetória de
estado e seu comportamento de estado estacionário é denominada transiente.
Os conceitos de estado estacionário e transiente são muito utilizados em teoria de
sistemas lineares. Já no caso de sistemas não lineares, em que o princípio da
superposição não mais se aplica e soluções em forma fechada são difíceis de
obter, o conceito de transiente perde algumas de suas serventias (é uma noção de
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 179
base temporal), mas o conceito de estado estacionário continua a representar uma
etapa fundamental no processo de análise de sistemas dinâmicos não lineares.
Como os resultados a seguir são válidos tanto para dinâmica discreta como para
dinâmica contínua, vamos definir aqui uma notação de trajetória que seja comum
para os dois casos (uma formalidade necessária para os estudos que serão
considerados na sequência).
Definição 3: Seja para o sistema de tempo contínuo 00 )(,)( xtxtxfx , ou então
para o sistema de tempo discreto 0)0(,)()1( xxkxgkx , a solução vai
depender explicitamente da condição inicial, sendo denominada fluxo e denotada por
)( 0xt . Embora, para o caso discreto, a notação mais adequada fosse )( 0xk , vamos
utilizar t em lugar de k, deste ponto em diante, seja para tempo contínuo ou discreto.
Definição 4: O conjunto de pontos txt :)( 0 é denominado trajetória
através de x0.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 180
Definição 5: Um atrator é uma região do espaço de estados para onde as trajetórias
convergem a partir de uma região maior do espaço de estados. A região do espaço de
estados a partir da qual o sistema evolui para o atrator é denominada base de
atração.
Ciclo limite
Atrator pontual
Atratores e bases de atração.
No caso de sistemas lineares assintoticamente estáveis, existe um único conjunto
limite e a base de atração do conjunto limite é todo o espaço de estados, ou seja, o
estado estacionário é independente da condição inicial do sistema. Por outro lado,
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 181
sistemas não lineares típicos podem apresentar vários conjuntos limites, inclusive
com a propriedade de serem conjuntos limites atratores com bases de atração
distintas. Neste caso, a condição inicial vai determinar qual dos conjuntos limites
será alcançado pelo estado estacionário.
A seguir, são apresentados quatro tipos distintos de atratores, em ordem crescente
de complexidade: ponto fixo, soluções periódicas, soluções quase periódicas e
caos.
18.6.2. Pontos Fixos (ou Pontos de Equilíbrio)
Definição 6: Um ponto fixo (ou ponto de equilíbrio) x de um sistema autônomo,
dado pela equação 00)(,)( xxxfx tt ou 0)0(,)()1( xxxgx kk é uma solução
constante x = t( x ), para todo t.
Assim, diz-se que x é um ponto de equilíbrio de um sistema dinâmico se, uma vez
que o estado do sistema atinge x , o estado permanece em x indefinidamente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 182
Para sistemas invariantes no tempo, pontos de equilíbrio são caracterizados pela
solução de equações algébricas:
)()( xf0xfx t
)()()1( xgxxgx kk
Um ponto de equilíbrio pode então ser visto como um ponto no espaço de estados
que é invariante sob a dinâmica associada ao sistema.
Existem três variedades de pontos fixos, pontos estáveis, pontos instáveis e pontos
de sela, definidas como segue:
Ponto fixo estável ou atrator: dado um ponto fixo representando o estado atual de
um sistema dinâmico, então pequenas perturbações impostas ao estado do sistema
resultam em uma trajetória que retorna ao ponto fixo após um transiente inicial. Ou
seja, a distância entre o estado do sistema (em uma vizinhança do ponto fixo) no
instante t e o ponto fixo estável vai se tornando arbitrariamente pequena para t
suficientemente elevado.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 183
Ponto fixo instável ou repulsor: nem todos os pontos fixos atraem seus estados
vizinhos. Os pontos fixos instáveis repelem os estados vizinhos. Se o estado de um
sistema no instante t1 coincide com um ponto fixo instável, o sistema vai permanecer
neste estado para todo t > t1. No entanto, qualquer perturbação junto a este estado de
equilíbrio instável faz com que a dinâmica associada ao sistema mova seu estado no
sentido de afastá-lo do ponto fixo instável;
Ponto de sela: entre os pontos fixos estáveis e instáveis existem os pontos de sela.
Estes pontos do espaço de estados exibem propriedades de atração e repulsão,
dependendo da direção de aproximação dos estados vizinhos. Portanto, pontos de
sela só podem ocorrer em sistemas dinâmicos cujo espaço de estados apresenta mais
de uma dimensão.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 184
Exemplos de pontos de sela: (a) f(x) = x3. (b) Interseção de duas montanhas. (c)
f(x,y) = x2 y2.
18.6.3. Soluções Periódicas
Definição 7: t(x*) é uma solução periódica de um sistema autônomo se, para todo t,
t(x*) = t+T(x*)
para algum período mínimo T > 0. Este resultado é válido para qualquer estado x*
pertencente à solução periódica, sendo que a escolha de um estado x* específico
implica apenas na fixação da origem do tempo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 185
A restrição T > 0 é necessária para prevenir a classificação de um ponto fixo como
solução periódica. Enquanto os pontos fixos estão associados à ausência de
movimento, as soluções periódicas correspondem a um sistema em movimento
constante e uniforme, que visita periodicamente um conjunto de estados.
Definição 8: Uma solução periódica é dita ser isolada se ela possui uma vizinhança
que não contém nenhuma outra solução periódica. Uma solução periódica isolada é
comumente denominada ciclo limite.
Oscilações sustentadas também podem ocorrer em sistemas lineares, mas estas não
correspondem a ciclos limites pois as oscilações em sistemas lineares dependem da
condição inicial, não são isoladas e são muito sensíveis a qualquer tipo de mudança
nos parâmetros do sistema correspondente.
Os ciclos limites, da mesma forma que os pontos fixos, podem atrair estados
vizinhos, repeli-los, ou apresentar uma combinação destas duas condições. Ciclos
limites atratores produzem oscilações que são estáveis em relação a pequenas
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 186
perturbações. Perturbações junto a ciclos limites repulsores acabam movendo o
sistema em direção a outros atratores.
18.6.4. Soluções Quase periódicas
Definição 9: Uma função quase periódica é tal que pode ser expressa por uma soma
de p funções periódicas na forma:
p
ii thtx
1
)()( ,
onde hi (i=1,...,p) tem período mínimo Ti e frequência ii Tf 1 . Além disso, deve
existir um conjunto finito de frequências básicas pff ˆ,...,ˆ1 com as seguintes
propriedades:
Independência linear: não existe um conjunto não-nulo de inteiros pkk ,...,1 tal
que 0ˆ...ˆ11 pp fkfk ;
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 187
Base para toda fi: sempre existe um conjunto de inteiros ip
i kk ,...,1 tal que, para
i = 1,...,p, pip
ii fkfkf ˆ...ˆ
11 .
Dada esta definição, é possível afirmar que uma forma de onda quase periódica é a
soma de formas de onda periódicas cujas frequências correspondem a uma
combinação linear de um conjunto finito de frequências básicas. Como, por
exemplo, 21ˆ,ˆ ff gera o mesmo conjunto de frequências que 211
ˆˆ,ˆ fff , conclui-
se que o conjunto de frequências básicas não é único para um mesmo p (neste
exemplo utilizou-se p = 2).
Uma forma de onda periódica é uma forma de onda quase periódica com p = 1.
Para p = 2, considere a seguinte função no tempo:
)()()( 21 ththtx ,
onde h1 e h2 são funções periódicas arbitrárias com períodos T1 e T2,
respectivamente. A função x(t) é quase periódica se T1 e T2 forem tais que 21 TT é
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 188
um número irracional. Caso contrário, existiriam dois inteiros q e r tais que
qT1 = rT2, fazendo com que x(t) fosse periódica, com período T = qT1.
Soluções quase periódicas também podem representar regimes atratores,
repulsores, ou uma combinação destes.
18.6.5. Caos
Não há uma definição geral para caos que seja aceita em toda sua extensão nas
mais diversas áreas envolvidas no estudo deste fenômeno não linear. Em termos
práticos, como a trajetória de um sistema dinâmico caótico é aperiódica, pode-se
atribuir comportamento caótico a todo comportamento estacionário que não possa
ser inserido em nenhum dos três casos anteriores: pontos fixos, soluções periódicas
ou soluções quase periódicas.
É certo que sistemas dinâmicos lineares não podem exibir comportamento caótico,
ou seja, atratores ou repulsores caóticos só ocorrem no caso de sistemas dinâmicos
não lineares. Também é sabido que caos não ocorre caso a ordem do sistema
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 189
dinâmico seja inferior a 3, no caso de dinâmica contínua, ou 2, no caso de
dinâmica discreta (se o mapeamento for não inversível, então ordem 1 basta).
Um sistema dinâmico caótico apresenta um estado estacionário finito, mas que não
gera uma trajetória periódica nem quase periódica. À primeira vista, a dinâmica
caótica se assemelha a muitos processos aleatórios, não seguindo nenhum tipo de
padrão. No entanto, sistemas caóticos são descritos por equações determinísticas,
enquanto que um processo verdadeiramente aleatório pode ser caracterizado
apenas em termos de propriedades estatísticas.
A questão é que não é possível realizar previsões de longo prazo para uma
trajetória caótica, ou seja, o horizonte de previsibilidade cresce apenas com o
logaritmo da precisão de medida realizada junto à condição inicial: sensibilidade à
condição inicial (ou a uma pequena perturbação que ocorra a qualquer instante de
tempo).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 190
Pelo exposto acima, fica evidente que caos não tem a ver com desordem (ao menos
em dinâmica não linear). Trata-se de um comportamento dinâmico não linear,
determinístico, mas imprevisível a longo prazo.
Estes aspectos gerais associados ao comportamento caótico conduzem aos três
requisitos matemáticos utilizados para demonstrar que um sistema dinâmico
apresenta comportamento caótico:
Sensibilidade em relação à condição inicial;
Ergodicidade;
Presença de um conjunto denso de pontos pertencentes a soluções periódicas
instáveis.
O objeto geométrico no espaço de estados para o qual uma trajetória caótica é
atraída é denominado atrator estranho, sempre que sua dimensão for fracionária
(geometria fractal). É possível obter atratores caóticos que não são estranhos.
Da mesma forma que atratores periódicos podem ser diferenciados por seus
períodos, atratores estranhos podem ser diferenciados por sua dimensão. Pontos
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 191
fixos e ciclos limites de tempo discreto são atratores de dimensão zero, pois são
constituídos apenas por um número finito de pontos. Ciclos limites de tempo
contínuo são atratores de dimensão inteira. Por exemplo, quando o ciclo limite é
uma curva que se liga em suas extremidades, sua dimensão é um. Já atratores
caóticos podem apresentar dimensão fracionária.
Observação: existem métodos para cálculo da dimensão de um atrator estranho e
também há atratores estranhos que não são produzidos por dinâmicas caóticas.
18.6.6. Definições de Estabilidade
Definição 10: O estado de equilíbrio x é dito uniformemente estável se
||x(0) x || < ||x(t) x || < , , > 0.
Definição 11: O estado de equilíbrio x é dito convergente se
||x(0) x || < x(t) x quando t , > 0.
Definição 12: O estado de equilíbrio x é dito assintoticamente estável se for estável
e convergente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 192
Definição 13: O estado de equilíbrio x é dito assintoticamente estável ou
globalmente assintoticamente estável se for estável e todas as trajetórias convergirem
para x quando t .
18.6.7. Teoremas de Lyapunov
Encontrar todas as soluções possíveis da equação de espaços de estado é uma
tarefa difícil, senão impossível.
Uma forma elegante de avaliar a estabilidade de um sistema é usando a teoria
moderna da estabilidade, fundada por Lyapunov.
Especificamente, esta teoria investiga o problema da estabilidade aplicando o
método direto de Lyapunov, que faz uso de uma função escalar contínua do vetor
de estados, chamada de função de Lyapunov.
Os teoremas sobre a estabilidade e estabilidade assintótica da equação de espaço de
estados que descreve um sistema dinâmico autônomo não linear com vetor de
estados x(t) e estado de equilíbrio x , Eq. (1), podem ser descritos como:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 193
Teorema 1: O estado de equilíbrio x é estável se em uma pequena vizinhançca de x
existe uma função positiva definida V(x) tal que sua derivada em relação ao tempo
seja negativa semidefinida naquela região.
Teorema 2: O estado de equilíbrio x é assintoticamente estável se em uma pequena
vizinhançca de x existe uma função positiva definida V(x) tal que sua derivada em
relação ao tempo seja negativa definida naquela região.
Uma função escalar V(x) que satisfaz estes requisitos é chamada de função de
Lyapunov para o estado de equilíbrio x .
Uma função V(x) é positiva definida no espaço se, x , ela satisfaz os
seguintes requisitos:
1. V(x) possui derivadas parciais em relação aos elementos do vetor de estados x.
2. V( x ) = 0.
3. V(x) > 0 se x x .
Principal dificuldade prática: encontrar uma função de Lyapunov.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 194
19. Redes Neurais Recorrentes como Sistemas
Dinâmicos Não lineares
São inspiradas em conceitos de física estatística e dinâmica não linear;
Principais características:
1. Unidades computacionais não lineares.
2. Simetria nas conexões sinápticas.
3. Totalmente realimentada (exceto autorrealimentação).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 195
Rede Neural de Hopfield: ênfase nas conexões.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 196
Z1
Z1
Z1
y1
y2
yo
.
.
.
.
.
.
Rede Neural de Hopfield: ênfase no processamento dinâmico (caso discreto)
19.1. Modelos Derivados da Física Estatística
Incorporação de um princípio físico fundamental: armazenagem de informação em
uma configuração dinamicamente estável (requer um tempo para se acomodar em
uma condição de equilíbrio dinâmica de relaxação comportamento de estado
estacionário).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 197
Cada padrão a ser armazenado fica localizado em um vale da superfície de
energia. Como a dinâmica não linear da rede é estabelecida de modo a minimizar
a energia, os vales representam pontos de equilíbrio estável (cada qual com a sua
base de atração).
Memória ponto de equilíbrio estável: embora outros pesquisadores já viessem
buscando a implementação de tal conceito, HOPFIELD (1982) foi o primeiro a
formulá-lo em termos precisos.
.
.
.
.
Superfície de
energia: pontos de
equilíbrio e bases
de atração
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 198
Este tipo de sistema dinâmico pode operar como:
1) Memória associativa (endereçável por conteúdo);
2) Dispositivo computacional para resolver problemas de otimização de
natureza combinatória.
Problema de otimização de natureza combinatória: é um sistema discreto com um
grande número, embora finito, de estados possíveis (soluções candidatas). O
objetivo é encontrar o estado que minimiza uma função-custo, a qual fornece uma
medida de desempenho para o sistema.
19.2. Modelo Aditivo de Neurônio
Para estudar a dinâmica de uma rede de Hopfield, vamos empregar um modelo de
neurônio conhecido por modelo aditivo.
Este modelo pode ser visto como uma aproximação do modelo de linha de
transmissão distribuída de um neurônio dendrítico biológico (Rall, 1989).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 199
i wjixi(t) uj(t) xj(t)
x1(t)
x2(t)
xN(t)
()
Junção somadora
Cj Rj …
wj1
wj2
wjN
Ij E
ntr
adas
Aplicando-se a lei das correntes de Kirchoff, a corrente total chegando em um nó
é igual a corrente total saindo do nó:
j
N
i
iji
j
jj
j ItxwR
tu
dt
tduC
1
)()()(
, j = 1,…,N. (2)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 200
Isolando o primeiro termo do lado esquerdo da equação, obtemos um sistema de
equações diferenciais acopladas de primeira ordem com a mesma forma
matemática da Eq. (1).
19.3. Adaptação para a Rede de Hopfield
Premissa: espaço de estados contínuo e dinâmica contínua.
Considere uma rede neural composta de N neurônios com acoplamento simétrico
descrito por wji = wij (i,j = 1,…,N), onde wji é o peso sináptico que conecta a saída
do neurônio i à entrada do neurônio j, e também com ausência de
autorrealimentação, ou seja, wjj = 0 (j = 1,…,N).
Uma generalização, com wji wij e/ou wjj 0 (i,j = 1,…,N), pode resultar em um
sistema dinâmico com outros comportamentos de estado estacionário, além dos
pontos fixos (pontos de equilíbrio). Por exemplo: ciclos limites, quase
periodicidade e caos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 201
Sejam uj(t) o sinal de ativação interna do neurônio j e yj(t) o correspondente sinal
de saída, então tem-se que:
)()( tuty jjj
onde j() é a não linearidade sigmoidal do neurônio j. Neste desenvolvimento,
estamos considerando uj e yj como variáveis de tempo contínuo.
Considerando que o estado da rede xi(t) = i(ui(t)), a Eq. (2) que representa a
dinâmica do modelo aditivo de neurônio pode ser modificada de forma a
representar a dinâmica de uma rede neural de Hopfield:
j
j
jN
jii
iiji
j
j bR
uuw
dt
duC
1
)(, j = 1,…,N. (3)
onde bj é um limiar aplicado ao neurônio j por uma fonte externa. O efeito
capacitivo associado ao neurônio j, dado por Cj, determina a taxa finita de
variação do sinal de ativação interna uj(t) em relação ao tempo t, que é uma
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 202
propriedade intrínseca dos neurônios biológicos e também da implementação
física dos neurônios artificiais.
Assim, a dinâmica desta rede é descrita por um conjunto de equações diferenciais
não lineares acopladas de primeira ordem (HOPFIELD, 1984; COHEN &
GROSSBERG, 1983), Eq. (3).
Para esta dinâmica é possível definir uma função de energia, ou função de
Lyapunov (HOPFIELD, 1984):
N
j
N
j
jj
y
j
j
N
i
N
ijj
jiji xbdzzR
xxwEj
1 10
1
1 1
)(1
2
1
(4)
Esta função de energia representa um caso particular de um teorema devido a
COHEN & GORSSBERG (1983) e descreve totalmente a rede neural, ao considerar
todos os pesos sinápticos e todas as variáveis de estado da rede.
Além disso, supondo que bj varia lentamente com o tempo de computação, é
possível definir o seguinte teorema:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 203
Teorema 3: A função de energia E é uma função monotonicamente decrescente do
estado da rede u(t). (É estável de acordo com o Teorema 1 de Lyapunov)
Prova: Veja HOPFIELD (1984) e COHEN & GROSSBERG (1983).
Diferenciando a Eq. (4) em relação ao tempo obtemos,
dt
dxI
R
vxw
dt
dE jN
j
N
i
j
j
j
iji
1 12
1 (5)
Mas a quantidade entre parênteses na Eq. (5) corresponde a Cj dvj/dt,
dt
dx
dt
dvC
dt
dE jN
j
j
j
12
1 (6)
Sabendo que a inversa da não linearidade existe e é igual à vj = j1(x), obtém-se:
dt
dxx
dt
dC
dt
dE jN
j
jjj
1
1 )(2
1 (7)
A inversa da função de ativação não linear j1(x) é uma função monotonicamente
crescente, portanto:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 204
0)(1
jj
j
xdx
d , xj
Da Eq. (7) notamos que dE/dt vai a zero apenas se 0)( txdt
dj .
Portanto, dE/dt < 0 exceto em um ponto fixo. C.Q.D.
Isto implica que, dado um estado inicial u0(t), a evolução do estado u(t) com o
tempo vai seguir uma trajetória decrescente através da superfície de energia, até
atingir um mínimo local. A partir deste ponto, o estado da rede fica constante.
Este é um resultado fundamental, pois garante que, mesmo com abundância de
realimentações, os estados estacionários da rede neural recorrente descrita acima
(um caso particular de sistema dinâmico não linear) correspondem sempre a
pontos de equilíbrio, não podendo assim apresentar oscilações permanentes do
tipo ciclo limite, por exemplo, ou outros comportamentos estacionários mais
complexos (quase periodicidade e caos).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 205
Os pontos de equilíbrio são denominados atratores, no sentido de que existe uma
vizinhança (base de atração) sobre a qual estes pontos exercem uma influência
dominante.
Embora seja possível produzir redes recorrentes generalizadas, com wji wij e/ou
wjj 0 (i,j = 1,…,N), que apresentam uma dinâmica composta apenas por pontos
de equilíbrio (CARPENTER et al., 1987), geralmente se obtém regimes
estacionários caracterizados por comportamentos dinâmicos mais complexos
(HOPFIELD & TANK, 1986), não desejados nesta aplicação específica.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 206
.
.
Dinâmica de uma rede recorrente generalizada: presença de ciclos limites.
20. Rede de Hopfield Discreta
A rede de Hopfield é um caso particular de rede recorrente em que o espaço de
estados é discreto.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 207
Como veremos a seguir, ela pode ser vista como uma memória associativa não
linear, ou uma memória endereçável por conteúdo, cuja principal função é
restaurar um padrão binário armazenado (item de memória), em resposta à
apresentação de uma versão incompleta (papel restaurador) ou ruidosa (papel de
corretor de erro) deste padrão.
memórias entradas padrões restaurados
como memorizar? como restaurar?
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 208
Portanto, a recuperação do padrão armazenado na memória se dá a partir de um
subconjunto das informações contidas no padrão.
A essência da memória endereçável por conteúdo é mapear uma memória
fundamental em um ponto fixo estável y do sistema dinâmico representado
pela rede recorrente.
espaço de
memórias
fundamentais
espaço de
vetores de
estados
codificação
decodificação
y
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 209
Logo, a rede neural de Hopfield é um sistema dinâmico não linear cujo espaço de
estados contém um conjunto de pontos fixos estáveis que representam as
memórias fundamentais do sistema.
20.1. Características Operacionais da Rede de Hopfield
O modelo de rede neural de Hopfield utiliza como unidade de processamento
básica o neurônio de MCCULLOCH & PITTS (1943) estado discreto;
A ativação interna de cada neurônio j (j = 1,…,N) é dada por
j
N
jii
ijij bywu 1
,
onde j é um limiar fixo aplicado externamente ao neurônio j. Tomando, agora, yj
como o estado do neurônio j (j = 1,…,N), este será modificado de acordo com a
função de ativação dada pela função sinal:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 210
0 se1
0 se1)sgn(
j
j
jju
uuy
Por convenção, se uj = 0, o estado yj do neurônio permanece em seu valor anterior,
seja ele 1 ou +1.
Assim, um ponto fixo estável y da rede de Hopfield é um estado de
convergência a partir de uma condição inicial que pertence à sua base de atração.
Portanto, estamos considerando o caso t e estamos fazendo a inclinação da
função sigmoidal j() tender a infinito, para reproduzir a função sinal.
A partir deste ponto, vamos apresentar as duas fases de implementação da rede de
Hopfield como memória associativa (endereçável por conteúdo). A primeira fase
corresponde à síntese da dinâmica não linear com base na definição dos pesos da
rede de Hopfield (memorização). A segunda fase corresponde à restauração de
uma dentre as memórias armazenadas (estados de equilíbrio), a partir de um
padrão de entrada (estado inicial).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 211
20.2. Fase 1: Armazenagem de Padrões (memórias fundamentais)
Suponha que se queira armazenar um conjunto de p padrões dados por vetores N-
dimensionais (palavras bipolares), denotados por { | =1,…,p}.
Para tanto, basta definir os pesos pela aplicação da regra de Hebb generalizada, ou
regra do produto externo. Seja i o i-ésimo elemento do vetor , então o peso
sináptico conectando o neurônio i ao neurônio j é definido por
p
ijjiN
w1
1
,
sendo que novamente toma-se wjj = 0 (j = 1,…,N).
Seja W a matriz N N de pesos sinápticos, onde wji é o elemento da j-ésima linha
e i-ésima coluna. Então, é possível expressar a regra do produto externo na forma:
IWN
p
N
pT
1
1
.
Observe que W = WT, ou seja, wji = wij (i,j = 1,…,N).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 212
20.3. Fase 2: Recuperação dos Padrões (estados de equilíbrio
estáveis)
Durante a fase de recuperação dos padrões armazenados (memórias), um vetor N-
dimensional y é tomado como o estado inicial (condição inicial) da rede de
Hopfield. Obviamente, os elementos de y assumem valores –1 ou +1.
Geralmente, este vetor y vai representar uma versão incompleta ou ruidosa da
memória fundamental que foi armazenada na rede.
O processo de recuperação da memória armazenada obedece a uma regra dinâmica
denominada ajuste assíncrono. Um único neurônio j da rede é escolhido
aleatoriamente para ter sua saída yj (que agora está associada ao estado da rede)
recalculada em função do valor de uj.
Assim, o ajuste do estado da rede, de uma iteração para outra, é determinístico,
mas a escolha do neurônio cujo estado será atualizado é aleatória.
Este ajuste assíncrono prossegue até que não haja mais mudanças de estado a
processar, ou seja, até que a rede atinja um ponto de equilíbrio caracterizado por:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 213
j
N
i
ijij bywy1
sgn , j = 1,…,N,
ou em notação matricial:
b yWy sgn .
A rede de Hopfield sempre vai convergir para um ponto de equilíbrio se o ajuste
for assíncrono.
Se o ajuste fosse síncrono, ou seja, todos os neurônios tendo seus estados
recalculados em paralelo, ciclos limites de até 2 pontos poderiam ser produzidos
(BRUCK, 1990).
20.4. Resumo
Não linearidade é condição necessária para produzir múltiplos atratores no espaço
de estados de sistemas dinâmicos.
Hopfield resolveu parcialmente o seguinte problema: dado um conjunto de estados
específicos que devem estar associados a memórias fundamentais, como gerar um
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 214
sistema dinâmico não linear que apresente pontos de equilíbrio estável justamente
nestes estados específicos?
Se este sistema dinâmico não linear puder ser sintetizado, então vai existir uma
superfície de energia com mínimos locais nos referidos estados específicos, sendo
que a dinâmica do sistema vai atuar no sentido de conduzir o estado inicial do
sistema a um dos mínimos locais da superfície de energia (particularmente àquele
em cuja base de atração se encontra a condição inicial).
20.5. A Emergência de Memória Associativa
Para a rede neural de Hopfield considerada, com wji = wij, wjj = 0 ( jR ) e
j = 0 (i,j = 1,…,N), a função de energia pode ser definida na forma:
WyyT
N
i
N
ijj
jiji yywE2
1
2
1
1 1
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 215
onde
N
jii
ijijj ywuy1
sgn)sgn( (j=1,…,N).
A mudança na função de energia E, devido a uma mudança yj no estado do
neurônio j, é dada por:
jj
N
jii
ijij uyywyE 1
garantindo que a dinâmica da rede vai promover o decrescimento monotônico da
função de energia no tempo.
Exemplo para N = 3:
3
1
3
12
1
iij
jjiji yywE
2323131332321212313121212
1yywyywyywyywyywyywE
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 216
Supondo que 02 y :
23233232121221212
1yywyywyywyywE
Que produz:
3
21
2323121223232121
ii
iji ywyEywywyyywyywE
Quando um estado de equilíbrio estável (ponto de mínimo local da função de
energia) é atingido, não há como reduzir ainda mais a energia, fazendo com que o
estado da rede fique invariante frente à dinâmica.
Assim, para garantir a emergência de memória associativa, duas condições devem
ser satisfeitas:
1. As memórias fundamentais devem ser armazenadas como estados estáveis da
rede;
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 217
2. Estes estados estáveis correspondentes às memórias fundamentais devem ter
uma base de atração de dimensão não nula.
20.6. Atratores Espúrios
Quando a rede neural de Hopfield armazena K memórias fundamentais através do
ajuste de seus pesos pela regra de Hebb generalizada, os estados estáveis presentes
na superfície de energia não vão se restringir aos estados associados às memórias
fundamentais armazenadas. Todos os estados estáveis não associados às memórias
fundamentais armazenadas são denominados atratores espúrios.
Os atratores espúrios existem em virtude dos seguintes fatores:
1. A função de energia E é simétrica, no sentido de que os estados correspondentes
ao reverso das memórias fundamentais armazenadas também são estados estáveis;
2. Toda combinação linear de um número ímpar de estados estáveis também vai ser
um estado estável (AMIT, 1989).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 218
3. Para um grande número K de memórias fundamentais, a função de energia vai
produzir pontos de equilíbrio que não estão correlacionados com nenhuma das
memórias fundamentais armazenadas na rede (inflexibilidade da superfície de
energia).
20.7. Capacidade de Memória da Rede de Hopfield
Infelizmente, as memórias fundamentais utilizadas para gerar os pesos da rede de
Hopfield, de acordo com a seguinte equação:
p
ijjiN
w1
1
,
nem sempre conduzem a estados estáveis.
Desse modo, a possível existência de estados espúrios, aliada à possibilidade de
instabilidade das memórias fundamentais, tendem a reduzir a eficiência da rede de
Hopfield como uma memória endereçável por conteúdo.
Considere a ativação interna do neurônio j, dada na forma:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 219
N
iijij ywu
1
,
onde, para efeito de generalidade, estamos supondo agora que wjj 0.
Denominando x um estado genérico da rede, temos que:
p N
iiij
N
i
p
iijj xN
xN
u1 11 1
11
Considere agora o caso especial em que o estado genérico x é tomado como uma
das memórias fundamentais armazenadas na rede, por exemplo, :
p N
iiijjj
p N
iiijj
Nu
Nu
1 11 1
11
A parcela mais à esquerda, j, é simplesmente o j-ésimo elemento da memória
fundamental , constituindo o valor desejado (sinal) para uj, já que a memória
fundamental deve ser um estado estável. Este resultado justifica a necessidade da
divisão por N na geração dos pesos.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 220
A parcela mais à direita,
p N
iiij
N 1 1
1, é o ruído existente quando os padrões
não são ortogonais, ou seja, quando 01
N
i ii .
Através de um estudo estatístico, supondo, dentre outros aspectos, que as
memórias fundamentais são formadas por padrões gerados aleatoriamente, é
possível mostrar que a relação sinal-ruído é dada aproximadamente por
KK
Nde elevados espara valor , .
Com isso, o componente de memória fundamental será estável (em sentido
probabilístico) se, e somente se, a relação sinal-ruído for suficientemente alta.
Valores sugeridos na literatura para :
1. = 7.25, ou 138,01
(K = 138 quando N = 1000);
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 221
2. N
NKN
ln2ln2 (K 72 quando N = 1000)
20.8. Regra da Projeção
Uma regra mais eficiente para definição dos pesos da rede de Hopfield
convencional, em substituição à regra de Hebb generalizada, é a regra de projeção.
Ela tem a desvantagem de não apresentar uma motivação biológica, mas a
vantagem de explorar as propriedades algébricas dos pontos de equilíbrio.
será um ponto de equilíbrio se W = , =1,…,K.
Seja K 1P , então temos que WP = P.
Uma solução para W é dada na forma: TTPPPPW
1 .
Para que exista 1PP
T , basta que os vetores , =1,…,K, sejam linearmente
independentes, pois esta condição garante que a matriz P tem posto completo.
A matriz TTPPPP
1 é denominada pseudoinversa de P (Moore-Penrose).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 222
PPW é a matriz de projeção ortogonal de vetores do N para o subespaço cuja
base é o conjunto de vetores , =1,…,K.
21. Referências sobre Redes de Hopfield AMIT, D.J. Modeling Brain Function: The World of Attractor Neural Networks. Cambridge University Press, 1989.
BINDER, P.M. & JENSEN, R.V. Simulating Chaotic Behavior with Finite State Machines. Physical Review A, vol. 34,
pp. 4460-4463, 1986.
BRUCK, J. On the convergence properties of the Hopfield model. Proceedings of the IEEE, vol. 78, pp. 1579-1585,
1990.
CARPENTER, G.A., COHEN, M.A. & GROSSBERG, A. Technical comments on “Computing with neural networks.”
Science, vol. 235, pp. 1226-1227, 1987.
COHEN, M.A. & GROSSBERG, S. Absolute stability of global pattern formation and parallel memory storage by
competitive neural networks. IEEE Transactions on Systems, Man, and Cybernetics, vol. 13, pp. 815-826, 1983.
ECKMANN, J.-P., KAMPHORST, S.O., RUELLE, D. & CILIBERTO, S. Liapunov Exponents From Time Series. Physical
Review A, vol. 34, pp. 4971-4979, 1986.
HAYKIN, S. Neural Networks – A Comprehensive Foundation. Maxwell Macmillan International, 1994.
HOPFIELD, J.J. Neural networks and physical systems with emergent collective computational abilities. Proceedings
of the National Academy of Sciences of the U.S.A., vol. 79, pp. 2554-2558, 1982.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 223
HOPFIELD, J.J. Neurons with graded response have collective computational properties like those of two-state
neurons. Proceedings of the National Academy of Sciences of the U.S.A., vol. 81, pp. 3088-3092, 1984.
HOPFIELD, J.J. & TANK, D.W. ‘Neural’ computation of decisions in optimization problems. Biological Cybernetics,
vol. 52, pp. 141-152, 1985.
HOPFIELD, J.J. & TANK, D.W. Computing with neural circuits: A model. Science, vol. 233, pp. 625-633, 1986.
KHALIL, H.K. Nonlinear Systems. 2nd. edition, Prentice Hall, 1996.
KOLEN, J.F. Exploring the Computational Capabilities of Recurrent Neural Networks. Ph.D. Thesis, The Ohio State
University, 1994.
MCCAFFREY, D.F., ELLNER, S., GALLANT, A.R. & NYCHKA, D.W. Estimating the Lyapunov Exponent of a Chaotic
System With Nonparametric Regression. Journal of the American Statistical Association, vol. 87, no. 419, pp.
682-695, 1992.
MCCULLOCH, W.S. & PITTS, W. A logical calculus of the ideas immanent in nervous activity. Bulletin of
Mathematical Biophysics, vol. 5, pp. 115-133, 1943.
MEISS, J.D. Frequently Asked Questions about Nonlinear Science. Department of Applied Mathematics, University
of Colorado at Boulder, http://amath.colorado.edu/faculty/jdm/faq-Contents.html.
MORITA, M. Associative memory with nonmonotonic dynamics. Neural Networks, vol. 6, pp. 115-126, 1993.
OTT, E. Chaos in Dynamical Systems. Cambridge University Press, 1993.
PERETTO, P. An Introduction to the Modeling of Neural Networks. Cambridge University Press, 1992.
RALL, W., “Cable Theory for Dendritic Neurons”, In Methods in Neuronal Modelling, C. Koch and I. Segev, eds., pp.
9-62, MIT Press.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 224
SLOTINE, J.-J. & LI, W. Applied Nonlinear Control. Prentice Hall, 1991.
VIDYASAGAR, M. Nonlinear Systems Analysis. 2nd. edition, Prentice Hall, 1993.
WOLF, A., SWIFT, J.B., SWINNEY, H.L. & VASTANO, J.A. Determining Lyapunov Exponents From a Time Series.
Physica D, vol. 16, pp. 285-315, 1985.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 225
22. Introdução às Redes RBF
Neste tópico o projeto de redes neurais artificiais do tipo feedforward com
múltiplas camadas será visto como um problema de aproximação de função em um
espaço multidimensional.
A camada de entrada será responsável por conectar a rede a seu ambiente, a
camada intermediária aplicará uma transformação não linear do espaço de entrada
para o espaço intermediário, e a camada de saída é linear.
De acordo com esta perspectiva, a aprendizagem é equivalente a encontrar uma
hipersuperfície em um espaço multidimensional que fornece a melhor
aproximação para os dados de treinamento, com o critério de melhor aproximação
avaliado segundo alguma medida estatística.
Assim, a generalização da rede irá corresponder ao uso desta hipersuperfície para
interpolar os dados de teste.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 226
Esta perspectiva é a motivação por trás do método das funções de base-radial, que
é fundamentado nos trabalhos sobre interpolação em espaços multidimensionais.
No contexto de uma rede neural, as unidades intermediárias fornecerão um
conjunto de funções que compõem uma base arbitrária para os padrões de
treinamento quando eles são expandidos no espaço intermediário; estas funções
são denominadas de funções de base-radial.
A existência de uma camada não linear (intermediária) na rede seguida por uma
camada linear (saída) deve-se a um resultado em classificação de padrões que
propõe que um conjunto de dados analisado em um espaço de alta dimensão tem
maiores chances de ser linearmente separável do que em um espaço de baixa
dimensão (Cover, 1965).
Esta é uma das razões pelas quais o número de neurônios da camada intermediária
de uma rede neural RBF é geralmente alto. Além disso, a dimensão do espaço
intermediário está diretamente relacionada à capacidade de aproximação da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 227
23. Regressão
Nomenclaturas sinônimas:
1. Regressão (paramétrica/não-paramétrica) 2. Aproximação de funções
3. Identificação de sistemas 4. Aprendizado supervisionado
A regressão modela a relação entre uma ou mais variáveis de resposta (também
chamadas de variáveis de saída, dependentes, preditas ou explicadas) e os
preditores (também chamados de variáveis de controle, dependentes,
explanatórias, ou regressores).
Em linhas gerais regressão corresponde ao problema de estimar uma função a
partir de exemplos de estímulo-resposta (entrada-saída).
Se há mais de uma variável de resposta, a regressão é chamada de multivariada.
Regressão paramétrica: a forma do relacionamento funcional entre as variáveis
dependentes e independentes é conhecida, mas podem existir parâmetros cujos
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 228
valores são desconhecidos, embora passíveis de serem estimados a partir do
conjunto de treinamento.
Em problemas paramétricos, os parâmetros livres, bem como as variáveis
dependentes e independentes, geralmente têm uma interpretação física.
Exemplo: ajuste de uma reta a uma distribuição de pontos
baxyxf )(
a, b: desconhecidos
y: sujeito a ruído
(x1,y1)
(x4,y4)
(x3,y3)(x2,y2)
x
y
Regressão não-paramétrica: sua característica distintiva é a ausência (completa ou
quase completa) de conhecimento a priori a respeito da forma da função que está
sendo estimada. Sendo assim, mesmo que a função continue a ser estimada a partir
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 229
do ajuste de parâmetros livres, o conjunto de “formas” que a função pode assumir
(classe de funções que o modelo do estimador pode prever) é muito amplo.
Como consequência, vai existir um número elevado de parâmetros (por exemplo,
quando comparado ao número de dados de entrada-saída para treinamento), os
quais não mais admitem uma interpretação física isolada.
modelos puramente
não-paramétricos
(requerem um conjunto
infinito de dados
do problema)
modelos puramente
paramétricos
(requerem um conjunto
finito de dados
do problema)
Redes RBF
com centros
e dispersões
fixasperceptron
modelos baseados
em aprendizado
construtivo
Todos os modelos de regressão que não são puramente paramétricos são
denominados não paramétricos ou semiparamétricos. Esta denominação não deve
causar confusão, principalmente levando-se em conta que modelos de regressão
puramente não paramétricos são intratáveis.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 230
Com base no exposto acima, fica evidente que redes neurais artificiais para
treinamento supervisionado pertencem à classe de modelos de regressão não
paramétricos. Sendo assim, os pesos não apresentam um significado físico
particular em relação ao problema de aplicação, mas certamente existem modelos
de redes neurais “mais não paramétricos” que outros.
Além disso, estimar os parâmetros de um modelo não paramétrico (por exemplo,
pesos de uma rede neural artificial) não é o objetivo primário do aprendizado
supervisionado. O objetivo primário é estimar a “forma” da função em uma região
compacta do espaço de aproximação (ou ao menos a saída para certos valores
desejados de entrada).
Por outro lado, em regressão paramétrica, o objetivo primário é estimar o valor
dos parâmetros, por dois motivos:
1. A “forma” da função já é conhecida;
2. Os parâmetros admitem uma interpretação física.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 231
23.1. Modelos Lineares de Regressão
Um modelo f(x) para uma função y(x) assume a forma:
n
j
jjwf1
)()( xx ,
representando uma combinação linear de um conjunto de n funções fixas,
geralmente denominadas funções-base, por analogia com o conceito de vetor
gerado a partir de uma combinação linear de vetores-base.
As funções-base e quaisquer parâmetros que elas possam conter são assumidos
fixos. Neste caso, se as funções-base j(), j = 1,...,n, forem não lineares, o modelo
será não linear, mas linear nos parâmetros, porque a flexibilidade de f(), ou seja,
sua habilidade de assumir “formas” diferentes, deriva apenas da liberdade de
escolher diferentes valores para os coeficientes da combinação linear, wj
(j = 1,...,n).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 232
Caso os parâmetros destas funções-base sejam ajustáveis e sendo funções não
lineares, o modelo será não linear e também não linear nos parâmetros.
Em princípio, “qualquer” conjunto de funções pode ser escolhido para formar a
“base” {j(), j=1,...,n}, embora existam (o que não implica que possam ser
facilmente obtidos) conjuntos mais adequados para cada problema e também
conjuntos suficientemente flexíveis para apresentarem desempenho adequado
frente a uma ampla classe de funções y().
Como um caso particular e de grande interesse prático (em virtude da maior
facilidade de manipulação matemática e maior simplicidade na dedução de
propriedades básicas), existem os modelos lineares nos parâmetros, cujas funções-
base são compostas por elementos de uma única classe de funções.
Exemplos de classes de funções-base:
1. Funções-base polinomiais: 1)( j
j xx
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 233
2. Funções-base senoidais (série de Fourier):
n
xjx
j
j
2sin)(
3. Funções-base logísticas (perceptron): j
T
j
j
b0exp1
1)(
xbx
Nota 1: no exemplo de regressão paramétrica apresentado no início deste tópico,
foi utilizada a função baxxf )( , que representa um modelo com funções-base
polinomiais 1(x) = 1 e 2(x) = x, e coeficientes w1 = b e w2 = a.
Nota 2: o grande atrativo apresentado pelos modelos lineares nos parâmetros está
na possibilidade de obter o conjunto de coeficientes da combinação linear de forma
fechada, através da aplicação de técnicas de solução baseadas em quadrados
mínimos. O mesmo não se aplica (na maioria absoluta dos casos) a modelos não
lineares, os quais requerem processos numéricos iterativos (técnicas de otimização
não linear) para se obter a solução.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 234
23.2. Interpolação
Em análise numérica, interpolação é um método de construção de novos pontos de
dados a partir de um conjunto discreto de pontos conhecidos.
Trata-se de um caso específico de aproximação de funções (regressão), onde a
função deve passar exatamente pelos pontos a serem aproximados (interpolados).
Dada uma sequência de N pontos distintos xi e para cada xi o correspondente valor
associado di, a interpolação busca uma função f() tal que:
f(xi) = di, i = 1, ..., N.
O conjunto de pontos {(xi,di)}i=1,...,N é conhecido como par entrada-saída e a função
f() é o interpolante.
Em geral o interpolante é desconhecido, mas uma função pré-definida é usada,
como nos casos de regressão discutidos anteriormente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 235
o Por exemplo, um conjunto de pontos pode ser interpolado por uma ou mais
retas, polinômios, splines (função especial definida por polinômios em
partes), funções trigonométricas e outros.
(a) (b) (c)
Figura 16: Exemplos de interpolação. (a) Pontos a serem interpolados. (b) Interpolação linear
por partes. (c) Interpolação polinomial: f(x) = − 0.0001521x6 − 0.003130x
5 + 0.07321x
4 −
0.3577x3 + 0.2255x
2 + 0.9038x. (Fonte: wikipedia.org)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 236
Note que os exemplos da Figura 16 correspondem a modelos de regressão
paramétrica. No caso particular da Figura 16(c) o modelo de regressão é composto
por funções-base polinomiais e os coeficientes wj, j = 1, ..., 6, foram obtidos de
forma a interpolar os pares {(xi,di)}i=1,...,7.
23.3. Redes Neurais para Interpolação
Sem perda de generalidade, considere agora uma rede neural feedforward com uma
camada intermediária e um único neurônio de saída.
o Obs.: escolheu-se apenas um neurônio de saída para facilitar a exposição.
Esta rede é projetada para fazer um mapeamento não linear do espaço de entrada
para o espaço intermediário seguido de um mapeamento linear do espaço
intermediário para a saída.
Seja m a dimensão do espaço de entrada. Assim, esta rede faz um mapeamento
s: m .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 237
Este mapeamento pode ser visto como uma hipersuperfície f m+1, que
corresponde a um gráfico multidimensional da saída como função da entrada.
Na prática, a hiper superfície f é desconhecida e um conjunto de dados é usado
para definir f, ou seja, para treinar a rede de maneira que ela encontre a
hipersuperfície f.
O processo de aprendizagem será então composto por duas fases:
1. Treinamento: otimização de um procedimento de aproximação para a superfície
f baseada em dados de treinamento rotulados (pares entrada-saída) conhecidos.
2. Generalização: fase correspondente à interpolação, ou seja, utilização do
mapeamento gerado (hipersuperfície f) para estimar a saída correspondente a
novos pontos não usados no processo de treinamento.
Assim, somos levados à teoria de interpolação multivariada em espaços
multidimensionais.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 238
De maneira estrita podemos descrever o problema de interpolação da seguinte
forma:
Dado um conjunto de N pontos distintos {xi m | i = 1, 2, ..., N} e um conjunto
correspondente {di | i = 1, 2, ..., N}, encontre uma função F: Nm que
satisfaz a condição de interpolação: F(xi) = di, i = 1, ..., N. (1)
A função de interpolação (interpolante) deve passar por todos os pontos do
conjunto de treinamento.
A técnica baseada em funções de base-radial (RBF – radial-basis functions)
consiste em escolher uma função F da seguinte forma
F(x) = i wi (||x xi||), (2)
onde {(||x xi||) | i = 1, ..., N} é um conjunto de N funções arbitrárias geralmente
não lineares, conhecidas como funções de base radial, e || || representa uma norma
(usualmente a Euclidiana).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 239
Os pontos de treinamento conhecidos, xi m, i = 1, ..., N, são tomados como os
centros das funções de base radial.
Inserindo as condições de interpolação da Eq. (1) na Eq. (2) obtém-se o seguinte
sistema de equações lineares, onde os elementos desconhecidos são os coeficientes
da expansão {wi}:
NNNNNN
N
N
d
d
d
w
w
w
2
1
2
1
21
22221
11211
, (3)
onde ji = (||xj xi||), i, j = 1, ..., N. (4)
Sejam
d = [d1, ..., dN]T
w = [w1, ..., wN]T
Os vetores d e w representam o vetor de saídas desejadas e o vetor de pesos,
respectivamente, onde N é o número de padrões de treinamento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 240
Seja a matriz de interpolação cujos elementos são os ji dados pela Eq. (4).
Podemos assim reescrever a Eq. (3) em forma matricial:
w = d.
Assumindo que a matriz é não-singular, podemos resolver para o vetor de pesos:
w = 1d.
MICCHELLI (1986) provou que:
Teorema 1: Seja {xi m | i = 1, 2, ..., N} um conjunto de pontos distintos. A matriz
quadrada de interpolação , cujo ji-ésimo elemento é dado por ji = (||xj xi||) é
não-singular.
Há uma grande variedade de funções de base radial cobertas pelo Teorema 1
(Teorema de Micchelli), por exemplo (Figura 17):
1. Função multiquádrica: (r) = (r2 + c2)1/2, c > 0, e r . (5)
2. Função multiquádrica inversa: (r) = (r2 + c2)1/2, c > 0, e r . (6)
3. Função gaussiana: (r) = exp(r2/2c2), c > 0, e r . (7)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 241
-2 -1.5 -1 -0.5 0 0.5 1 1.5 20
0.5
1
1.5
2
2.5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 20
1
2
3
4
5
6
7
8
9
10
(a) (b)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 242
-2 -1.5 -1 -0.5 0 0.5 1 1.5 20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
(c)
Figura 17: Funções de base radial. Preto: c = 0.1. Azul: c = 1. (a) Multiquádrica. (b) Inversa
multiquádrica. (c) Gaussiana.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 243
Para que a matriz de interpolação gerada pelas funções de base-radial apresentadas
nas Eqs. (5) a (7) seja não-singular, basta que os padrões de entrada sejam todos
diferentes.
Uma propriedade importante da função multiquádrica inversa e da função de base-
radial é que ambas são funções locais, ou seja, (r) 0 para r .
o Em ambos os casos a matriz de interpolação é definida positiva.
23.4. A Função de Base Radial
Uma função de ativação de base radial é caracterizada por apresentar uma resposta
que decresce (ou cresce) monotonicamente com a distância a um ponto central.
O centro e a taxa de decrescimento (ou crescimento) em cada direção são alguns
dos parâmetros a serem definidos. Estes parâmetros devem ser constantes caso o
modelo de regressão seja tomado como linear nos parâmetros ajustáveis.
Uma função de base radial monotonicamente decrescente típica é a função
gaussiana, dada na forma:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 244
2
2
σexp)(
j
j
j
cxx , para o caso escalar (veja Figura 18(a));
Uma função de base radial monotonicamente crescente típica é a função
multiquádrica dada na forma:
j
jj
j
cxx
σ
σ)(
22 , para o caso escalar (veja Figura 18(b));
-2 -1 0 1 2 0
0.2
0.4
0.6
0.8
1
x
j(x)
-2 -1 0 1 2 0
0.5
1
1.5
2
2.5
3
x
j(x)
(a) (b)
Figura 18: Exemplos de funções de base radial monovariáveis, com cj = 0 e j = 1
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 245
No caso multidimensional e tomando a função gaussiana, j(x) assume a forma:
jj
T
jj cxcxx 1exp)(
onde Tnxxx 21x é o vetor de entradas, Tjnjjj ccc 21c é o
vetor que define o centro da função de base radial e a matriz j é definida positiva
e diagonal, dada por:
jn
j
j
j
00
0
0
00
2
1
Σ,
de modo que j(x) pode ser expandida na forma:
jn
jn
j
j
j
j
j
cxcxcx
2
1
2
2
21
1
2
11...exp)(x .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 246
Neste caso, os elementos do vetor Tjnjjj 21 são responsáveis
pela taxa de decrescimento da gaussiana junto a cada coordenada do espaço de
entrada e o argumento da função exponencial é uma norma ponderada da
diferença entre o vetor de entrada e o centro da função de base radial.
24. Teoria de Regularização
24.1. Aprendizagem Supervisionada como Problema Mal-Comportado
Quando o número de dados de treinamento é muito maior que o número de graus
de liberdade do processo físico que eles representam e estamos restritos a ter o
mesmo número de funções de base-radial que o número de amostras de
treinamento, então o problema é sobre-determinado.
Consequentemente, a rede pode acabar interpolando variações devido a
idiossincrasias ou ruído nos dados de treinamento, degradando seu desempenho de
generalização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 247
Consideremos o problema de aprendizagem como um problema de reconstruir uma
hipersuperfície, ou um mapeamento f, dado um conjunto de pares entrada-saída.
Este problema será bem comportado (well-posed) se as seguintes condições forem
satisfeitas:
1. Existência: Para cada vetor de entrada x m existe uma saída y = f(x), onde
y .
2. Unicidade: Para qualquer par de vetores de entrada x, t m tem-se f(x) = f(t)
se e somente se x = t.
3. Continuidade: o mapeamento é contínuo, ou seja, para qualquer > 0 = ()
tal que dx(x,t) < implica que dy(f(x),f(t)) < , onde d(,) é um operador de
distância.
O problema de reconstrução da hipersuperfície por aprendizagem é mal-
comportado (ill-posed), pois:
1. O critério da existência pode ser violado.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 248
2. A informação contida nos dados de treinamento pode não ser suficiente para a
construção do mapeamento unicamente.
3. A presença de ruído ou imprecisão nos dados adiciona incerteza ao mapeamento
construído.
Assim, é preciso transformar um problema mal-comportado em um problema bem-
comportado, e isso pode ser feito via regularização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 249
Figura 19: Exemplo de problema mal-comportado: amostras ruidosas.
24.2. Regularização
Técnicas que exploram restrições de suavidade em problemas de aproximação com
base em dados de entrada-saída são conhecidas como regularização, tendo sido
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 250
introduzidas por TIKHONOV (1963) para o tratamento de problemas de
reconstrução de superfícies (VON ZUBEN, 1996).
Regularização é o procedimento de obtenção de um problema de aproximação
bem-comportado a partir de um problema de aproximação mal-comportado pela
imposição de restrições de suavidade ao modelo de aproximação.
A regularização conduz a problemas de aproximação bem-comportados por
permitir a definição de um processo contínuo, mas não necessariamente único, que
produza a melhor aproximação com base nos dados de entrada-saída (VON ZUBEN,
1996).
Este processo converge para um problema de otimização que deve minimizar uma
função objetivo apresentando dois termos básicos:
1. Um expressando o erro de aproximação; e
2. Outro expressando o nível de distanciamento da condição de suavidade.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 251
Como já apresentado, o problema geral de aproximação corresponde à definição de
um modelo de aproximação ĝ(,): XP r para uma função g(): X m
r a partir de um conjunto de dados {(xi,di)}i = 1,...,N, amostrados na presença de
ruído com base no mapeamento definido pela função em uma região compacta do
espaço de aproximação.
Como este problema é mal-condicionado a escolha de uma solução particular,
dentre as infinitas soluções possíveis, está vinculada à atribuição de um grau
apropriado de suavidade à função g().
O problema geral de aproximação passa então a ser um problema de aproximação
regularizado, que deve encontrar uma solução utilizando técnicas variacionais
definidas com base no conjunto de dados e no tipo de suavidade imposta.
O grau de suavidade pode ser definido por um funcional (ĝ) que assume valores
tanto menores quanto mais suave for a função ĝ.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 252
Um procedimento comumente utilizado é medir o grau de suavidade com base no
comportamento oscilatório da função ĝ (GIROSI ET AL., 1995). Deste modo, uma
análise da função no domínio da frequência permite afirmar que uma função é
mais suave que outras quando apresenta menor quantidade de energia em altas
frequências. O conteúdo de alta frequência de uma função pode ser medido
adotando-se dois procedimentos básicos em sequência:
1. Realizar uma filtragem da função por meio de um filtro passa-alta.
2. Medir a quantidade de energia ainda presente na função filtrada.
Para N finito, o problema de aproximação regularizado é encontrar o modelo de
aproximação ĝ que minimize o seguinte funcional:
N
l
gggJ1
2)ˆ(
2
1)θ,(ˆ)(
2
1)θ( xx , (8)
onde é um número positivo denominado parâmetro de regularização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 253
O primeiro termo, como discutido anteriormente, representa uma medida de
distância entre g e ĝ. Este termo corresponde à soma dos erros quadráticos entre as
saídas desejadas e o modelo de aproximação.
O segundo termo representa o grau de suavidade da função ĝ.
Note que ambos os termos foram multiplicados por ½ para facilitar algumas
derivações que serão feitas posteriormente.
O compromisso entre suavidade do processo de aproximação e fidelidade aos
dados pertencentes ao conjunto de aproximação é, portanto, controlado pelo
parâmetro de regularização .
Certamente vai existir um valor ótimo * para o parâmetro de regularização que
conduza a um melhor desempenho em termos de generalização.
Nota: a regularização pode ser vista como uma solução prática para o dilema bias-
variância, discutido anteriormente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 254
Um minimizador para o funcional apresentado na Eq. (8), conhecido como
funcional de Tikhonov J(), será denominado pela expansão F(x):
F(x) = i wi G(x, xi), i = 1, ..., N (9)
onde G(x, xi) é uma função centrada em xi, e wi é o i-ésimo elemento do vetor de
pesos w.
24.3. Redes Regularizadoras
A expansão da função regularizada de aproximação F(x) dada pela Eq. (9) como
dependente de uma função G(x, xi) centrada em xi sugere a arquitetura de rede
apresentada na Figura 20.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 255
F(x)
w1 wj
wN
G G G
x1 xi xm
... ...
... ...
Figura 20: Rede regularizadora.
A arquitetura desta rede é:
1. Camada de entrada formada por unidades sensoriais (m entradas);
2. Camada intermediária com uma unidade não linear para cada padrão de entrada
xi, i = 1, ..., N;
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 256
3. Saída linear com entrada fornecida pela saída G(x, xi) da camada intermediária.
Os pesos da camada de saída são os coeficientes desconhecidos da expansão dada
pela Eq. (9).
Sejam
wi = 1/[di F(x)], i = 1, ..., N,
em notação matricial:
w = 1/(d F) (10)
Considerando a Eq. (9) em notação matricial, F = Gw, temos:
(G + I)w = d w = (G + I)1d,
onde G é uma matriz simétrica e definida positiva para algumas classes de funções,
como as funções de base-radial.
A solução produzida por esta rede corresponde ao interpolante ótimo no sentido de
que ele minimiza o funcional de Thikonov J().
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 257
Sob o ponto de vista de teoria de aproximação, esta rede regularizadora possui três
características desejáveis:
1. Ela corresponde a um aproximador universal, no sentido de que ela pode
aproximar arbitrariamente bem qualquer função multi-variada contínua em um
subespaço compacto de m, dado um número suficiente de unidades
intermediárias.
2. Como o esquema de aproximação derivado da teoria de regularização é linear
em relação aos coeficientes (parâmetros) desconhecidos, a rede regularizadora
apresenta a melhor aproximação.
3. A solução determinada pela rede regularizadora é ótima.
25. Redes RBF Generalizadas
A correspondência unívoca entre os dados de treinamento xi e a função G(x, xi),
i = 1, ..., N, produz uma rede regularizadora que é, em muitos casos, proibitiva
computacionalmente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 258
Mais especificamente, o cálculo dos pesos lineares na saída requer a inversão de
uma matriz quadrada em N, processo que cresce polinomialmente em N e que pode
estar sujeito a mal-condicionamento numérico.
Para superar esta dificuldade, a complexidade da rede precisa ser reduzida, o que
requer uma aproximação, F*(x), da solução regularizada através da busca por uma
solução sub-ótima em um espaço de menor dimensão:
F*(x) = i wi i(x), i = 1, ..., n, (11)
onde n < N, e {i(x) | i = 1, ..., n} é um novo conjunto de funções-base linearmente
independentes.
Para o caso de funções de base-radial:
i(x) = G(||x ci||), i = 1, ..., n, (12)
onde os centros ci devem ser determinados.
Esta escolha de função de ativação é a única que garante a solução correta da Eq.
(9) para G(x, xi) = G(||x xi||), quando ci = xi, i = 1, ..., n, e n = N.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 259
A minimização em relação aos pesos do funcional de Thikonov para a
aproximação regularizada F*(x) será dada por (ver Haykin, 1999):
(GTG + G0)w = GT
d.
Quando o parâmetro de regularização se aproxima de zero, o vetor de pesos w
converge para a pseudoinversa (solução de norma mínima) do problema de
interpolação dos dados de treinamento para n < N:
w = G+d, = 0, (13)
onde G+ = (GTG)1
GT.
Em termos estruturais a rede generalizada, ilustrada na Figura 21, é similar a rede
regularizadora, ilustrada na Figura 20. Entretanto, elas diferem em dois pontos
distintos:
1. O número de nós intermediários na rede generalizada é geralmente menor que o
número de amostras de treinamento: n < N.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 260
2. Na rede generalizada há os seguintes parâmetros a serem ajustados: i) os pesos
lineares da camada de saída; e ii) as posições dos centros e as dispersões das
funções de base radial.
y=f(x)
w1 wj
wn
1(x) j(x) n(x)
x1 xi xm
... ...
... ...
+
c11 cj1
cn1 c1i cji
cni c1m cjm cnm
Figura 21: Rede regularizadora generalizada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 261
25.1. Aproximação Universal das Redes RBF
Dado um número suficiente de neurônios com função de base radial, qualquer
função contínua definida numa região compacta pode ser devidamente aproximada
usando uma rede RBF (PARK & SANDBERG, 1991).
As redes RBF são redes de aprendizado local, de modo que é possível chegar a
uma boa aproximação desde que um número suficiente de dados para treinamento
seja fornecido na região de interesse.
Redes neurais com capacidade de aproximação local são muito eficientes quando a
dimensão do vetor de entradas é pequena. Entretanto, quando o número de entradas
não é pequeno, as redes do tipo perceptron de múltiplas camadas (MLP)
apresentam uma maior capacidade de generalização (HAYKIN, 1999).
Isto ocorre porque o número de funções de base radial deve aumentar
exponencialmente com o aumento da dimensão da entrada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 262
O teorema da aproximação universal das redes RBF pode ser descrito como a
seguir (PARK & SANDBERG, 1991):
Teorema 2: Para qualquer mapeamento entrada-saída f(x) existe uma rede RBF com
um conjunto de centros {ci}i = 1, ..., n e uma dispersão comum > 0 tal que o
mapeamento entrada-saída F(x) feito pela rede RBF está próximo de f(x) dada uma
norma p, p [1, ].
25.2. Maldição da Dimensionalidade
A complexidade intrínseca de uma classe de funções de aproximação cresce
exponencialmente com a razão m/s, onde m é a dimensão do espaço de entrada e s
é um índice de suavização que mede o número de restrições impostas a uma
função de aproximação da classe dada.
A maldição da dimensionalidade de Bellman propõe que, independentemente da
técnica de aproximação empregada, se o índice de suavidade é mantido constante,
então o número de parâmetros necessários para a função de aproximação atingir
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 263
uma determinada acurácia desejada cresce exponencialmente com a dimensão da
entrada m.
25.3. Propriedades das Redes RBF
Algumas principais propriedades das redes RBF:
1. Localidade das RBFs.
2. Comportamento de interpolação pouco suave para dispersões pequenas.
3. Comportamento de extrapolação limitado devido à localidade das RBFs.
4. Suavidade dependente dos parâmetros das RBFs.
5. Baixa sensibilidade a ruído quando as RBFs são colocadas em regiões “mais
densas” do espaço de entradas.
6. Permite o uso de algoritmos supervisionados e não-supervisionados para
determinação dos centros.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 264
26. Treinamento de Redes RBF Generalizadas
Como pôde ser observado na Figura 21, há dois conjuntos de parâmetros a serem
ajustados em uma rede neural do tipo RBF.
1. Os pesos da primeira camada, que correspondem às coordenadas dos centros das
funções de base radial. Também deve determinar as dispersões das RBFs.
2. Os pesos da camada de saída linear, que serão determinados pelo método exato
descrito na Eq. (13), depois que os parâmetros das funções de base-radial
(posição e dispersão dos centros) estiverem sido determinados.
Nota-se que o papel exercido por cada camada da rede é diferente e, portanto, é
razoável separar o processo de determinação dos parâmetros de cada camada em
etapas distintas.
No caso de algoritmos que se ocupam apenas com o ajuste dos pesos da camada
de saída de uma rede RBF (modelos lineares nos parâmetros), é necessário
estabelecer algum critério para fixação dos centros.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 265
Existem critérios para o caso de número variável de centros (redes construtivas,
por exemplo), mas serão mencionados aqui apenas aqueles geralmente
empregados para o caso de um número fixo e previamente especificado de
centros.
Existem basicamente três alternativas:
1. Espalhar os centros uniformemente ao longo da região em que se encontram
os dados;
2. Escolher aleatoriamente, ou segundo algum critério específico, um
subconjunto de padrões de entrada como centros;
3. Auto-organizar os centros, de acordo com a distribuição dos dados de
entrada.
Quanto às dispersões das funções de base radial, embora elas possam ser distintas
(e até ajustáveis) para cada centro, usualmente se adota uma única dispersão para
todos os centros, na forma (HAYKIN, 1999):
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 266
n
d
2
max (14)
onde n é o número de centros, e dmax é a distância máxima entre os centros.
Com este critério de dispersão evita-se que as funções de base radial sejam
excessivamente pontiagudas, ou então com uma base demasiadamente extensa.
26.1. Seleção de Centros por Auto-Organização
Para auto-organizar os centros, é suficiente aplicar algum algoritmo capaz de
refletir a distribuição dos dados de entrada.
O algoritmo a ser apresentado a seguir, é um algoritmo de clusterização
denominado k-means (COVER & HART, 1967; MACQUEEN, 1967). Este algoritmo
se assemelha ao adotado para as redes de Kohonen, mas não leva em conta noções
de vizinhança entre os centros.
Nota: o algoritmo k-means é equivalente a uma rede neural competitiva simples.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 267
Sejam {cj}j, j = 1, ..., n os centros das funções de base radial na iteração t. O
algoritmo k-means pode ser descrito da seguinte forma:
1. Inicialização: Escolha valores aleatórios distintos para os centros cj(t).
2. Amostragem: Tome aleatoriamente um vetor xi do conjunto de padrões de
entrada;
3. Matching: Determine o índice k do centro que mais se aproxima deste padrão, na
forma: k(xi) = arg minj ||xi(t) cj(t)||, j = 1,...,n,
4. Ajuste: Ajuste os centros usando a seguinte regra:
alhures),(
)()],()([)()1(
t
kktttt
j
ijij
j c
xcxcc
onde (0,1) é a taxa de ajuste.
5. Ciclo: Repita os Passos 2 a 5 para todos os N padrões de entrada e até que os
centros não apresentem deslocamento significativo após cada apresentação
completa dos N padrões.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 268
Uma das limitações do k-means é que ele só pode atingir uma solução ótima local
que depende da inicialização dos protótipos (centros).
26.2. Treinamento Supervisionado da Rede RBF
Neste caso, vamos assumir que todos os parâmetros livres da rede (posição e
dispersão dos centros, e pesos da camada de saída) serão obtidos por processos de
aprendizagem supervisionada.
Um candidato natural para isso é o uso da aprendizagem baseada em correção do
erro, que pode ser convenientemente implementado usando um procedimento de
gradiente.
Assim, o valor instantâneo da função custo é:
N
j
jeJ1
2
2
1,
onde
ej = dj F*(xj)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 269
= ||)(||1
jj
n
i
ij Gwd cx
(15)
O objetivo é encontrar os parâmetros livres w, c, e i1 de forma a minimizar a Eq.
(15), onde i é a matriz definida positiva cuja diagonal principal é composta pelas
dispersões das RBFs.
As fórmulas de adaptação são:
1. Pesos da camada de saída:
i
iiw
Jww
1α , onde
N
j
ijj
i
Gew
J
1
||)(|| cx
2. Posições dos centros:
i
ii
J
ccc
2α , onde
N
j
ijiijji
i
GewJ
1
1 ][||)(||'2 cxcxc , i = 1, ..., n
3. Dispersão dos centros:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 270
13
11 α
i
ii
J, onde
N
j
T
ijijijji
i
GewJ
11
]][||)[(||' cxcxcx
26.3. Um Exemplo de Aproximação Usando Redes RBF
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
Caso 1: n = N
Pontos amostrados: (1,2); (3,7); (5,6)
5
3
1
c;
3
1
2
σ;
930.5
850.2
945.0
w
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 271
0 2 4 6 8 100
1
2
3
4
5
6
0 2 4 6 8 100
1
2
3
4
5
6
7
8
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
Caso 2: n < N
Pontos amostrados: (1,2); (3,7); (5,6); (8,1)
5
3
1
c;
3
1
2
σ;
538.5
084.3
012.1
w
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 272
0 2 4 6 8 100
1
2
3
4
5
6
0 2 4 6 8 10
0
1
2
3
4
5
6
7
8
27. Referências sobre Redes RBF BROOMHEAD, D.S. & LOWE, D. “Multivariate functional interpolation and adaptive networks”, Complex
Systems, 2: 321-355, 1988.
COVER, T.M. & HART, P.E. “Nearest neighbor pattern classification”, IEEE Transactions on Information
Theory, 13:21-27, 1967.
HAYKIN, S. “Neural Networks: A Comprehensive Foundation”, 2nd edition, Prentice-Hall, 1999.
MUSAVI, M.T., AHMED, W., CHAN, K.H., FARIS, K.B. & HUMMELS, D.M. “On the training of radial basis
function classifiers”, Neural Networks, vol. 5, pp. 595-603, 1992.
ORR, M.J.L. “Introduction to Radial Basis Function Networks”, Technical Report, Centre for Cognitive
Science, University of Edinburgh, Scotland, 1996. (http://www.anc.ed.ac.uk/~mjo/papers/intro.ps)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 273
PARK, J. & SANDBERG, I.W. “Universal approximation using radial-basis-function networks. Neural
Computation, 3(2): 246-257, 1991. BISHOP, C.M. “Neural Networks for Pattern Recognition”, Clarendon Press, 1995.
CHEN, C.-L., CHEN, W.-C. & CHANG, F.-Y. “Hybrid learning algorithm for Gaussian potential function networks”, IEE
Proceedings D, 140(6): 442-448, 1993.
CHEN, S., CHNG, E.S. & ALKADHIMI, K. “Regularized Orthogonal Least Squares Algorithm for Constructing Radial Basis
Function Networks”, International Journal of Control, 64(5): 829-837, 1996.
COVER, T. M., “Geometrical and statistical properties of systems of linear inequalities with applications in pattern recognition”,
IEEE Trans. on Electronic Computers, vol. EC-14, pp. 326-334.
DE CASTRO, L.N. & VON ZUBEN, F.J. A Pruning Self-Organizing Algorithm to Select Centers of Radial Basis Function Neural
Networks. in Kurková, V., Steele, N.C., Neruda, R., Kárný, M. (eds.) Proceedings of the International Conference of
Artificial Neural Networks and Genetic Algorithms (ICANNGA'01), pp. 114-117, Prague, Czech Republic, April 22-25,
2001.
DE CASTRO, L.N. & VON ZUBEN, F.J. Automatic Determination of Radial Basis Functions: An Immunity-Based Approach.
International Journal of Neural Systems, 2001. (to appear)
FREEMAN, J.A.S. & SAAD, D. “Learning and Generalization in Radial Basis Function Networks”, Neural Computation, 7: 1000-
1020, 1995.
FRITZKE, B. “Fast learning with incremental RBF Networks”, Neural Processing Letters, 1(1): 2-5, 1994.
FRITZKE, B. “Supervised Learning with Growing Cell Structures”, in J. Cowan, G. Tesauro & J. Alspector (eds.) Advances in
Neural Information Processing Systems, Morgan Kaufmann Publishers, 6: 255-262, 1994.
GIROSI, F., JONES, M., POGGIO, T., “Regularization theory and neural networks architectures”, Neural Computation, vol. 7, pp.
219-269.
HWANG, Y.-S. & BANG, S.-Y. “An Efficient Method to Construct a Radial Basis Function Neural Network Classifier”, Neural
Networks, 10(8): 1495-1503, 1997.
KARAYIANNIS, N.B. “Gradient Descent Learning of Radial Basis Neural Networks”, Proceedings of the IEEE International
Conference on Neural Networks, pp. 1815-1820, 1997.
KARAYIANNIS, N.B. & MI, G.W. “Growing Radial Basis Neural Networks: Merging Supervised and Unsupervised Learning
with Network Growth Techniques”, IEEE Transactions on Neural Networks, 8(6): 1492-1506, 1997.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 274
MICCHELLI, C.A. “Interpolation of Scattered Data: Distance Matrices and Conditionally Positive Definite Functions”,
Constructive Approximation, 2: 11-22, 1986.
MOODY, J. & DARKEN, C. “Fast Learning in Networks of Locally-Tuned Processing Units”, Neural Computation, 1: 281-294,
1989.
MULGREW, B. “Applying Radial Basis Functions”, IEEE Signal Processing Magazine, pp. 50-66, March 1996.
ORR, M.J.L. “Regularisation in the Selection of Radial Basis Function Centres”, Neural Computation, 7(3): 606-623, 1995.
ORR, M.J.L. “Optimising the widths of radial basis functions”, Proceedings of the Fifth Brazilian Symposium on Neural
Networks, Belo Horizonte, Brazil, 1998.
ORR, M.J.L. “Recent Advances in Radial Basis Function Networks”, Technical Report, Institute for Adaptive and Neural
Computation, University of Edinburgh, Scotland, 1999. (http://www.anc.ed.ac.uk/~mjo/papers/recad.ps)
POGGIO, T. & GIROSI, F. “Networks for Approximation and Learning”, Proceedings of the IEEE, 78(9): 1481-1497, 1990.
VON ZUBEN, F. J., “Modelos Paramétricos e Não paramétricos de Redes Neurais Artificiais e Aplicações”, Tese de Doutorado,
DCA/FEEC/Unicamp, Fev. 1996.
WANG, Z. & ZHU, T. “An Efficient Learning Algorithm for Improving Generalization Performance of Radial Basis Function
Neural Networks”, Neural Networks, 13(4-5): 545-553, 2000.
WETTSCHERECK, D. & DIETTERICH, T. “Improving the Performance of Radial Basis Function Networks by Learning Center
Locations”, Advances in Neural Information Processing Systems, 4:1133-1140, 1992.
YINGWEI, L., SUNDARARAJAN, N. & SARATCHANDRAN, P. “A Sequential Learning Scheme for Function Approximation Using
Minimal Radial Basis Function Neural Networks”, Neural Computation, pp. 461-478, 1996.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 275
28. Introdução às Redes MLP
O perceptron de múltiplas camadas (multi-layer perceptron) é uma rede do tipo
perceptron com, pelo menos, uma camada intermediária.
Trata-se de uma generalização do perceptron simples estudado no Tópico 5.
Com a publicação do livro Perceptrons (MINSKY & PAPERT, 1969) no final da
década de 1960, foi proposta a rede perceptron com múltiplas camadas como uma
tentativa de superar as limitações encontradas no perceptron simples.
Tornou-se então necessário desenvolver um algoritmo de treinamento mais
sofisticado capaz de definir de forma automática os pesos para este tipo de rede.
Como será detalhado a seguir, o algoritmo de treinamento desta rede é uma
generalização da regra delta proposta por Widrow & Hoff para o treinamento da
Adaline.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 276
O treinamento da rede MLP foi feito originalmente utilizando-se um algoritmo
denominado de retropropagação do erro, conhecido como backpropagation.
Este algoritmo consiste basicamente de dois passos:
o Propagação positiva do sinal funcional: durante este processo todos os pesos da
rede são mantidos fixos; e
o Retropropagação do erro: durante este processo os pesos da rede são ajustados
baseados no erro.
O sinal de erro é propagado em sentido oposto ao de propagação do sinal
funcional, por isso o nome de retropropagação do erro.
Uma rede MLP típica possui três características principais:
o Os neurônios das camadas intermediárias (e de saída) possuem uma função de
ativação não linear do tipo sigmoidal (p. ex. função logística ou tangente
hiperbólica).
o A rede possui uma ou mais camadas intermediárias.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 277
o A rede possui altos graus de conectividade.
Input layer
First hidden layer
Output layer Second hidden layer
…
…
…
y1
y2
yo
+1
x1
x2
x3
xm
+1 +1
… … Functional signal propagation
Error backpropagation
Figura 1: Rede neural de múltiplas camadas, sentido de propagação do sinal de entrada e
retropropagação do erro.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 278
A regra delta generalizada será utilizada para ajustar os pesos e limiares (bias) da
rede de forma a minimizar o erro entre a saída da rede e a saída desejada para
todos os padrões de treinamento.
Para isso, serão utilizadas informações sobre o gradiente do erro em relação aos
pesos e limiares da rede, pois já sabemos que atualizando os pesos da rede na
direção oposta ao vetor gradiente em relação aos pesos estamos minimizando o
erro entre a saída da rede e a saída desejada.
Entretanto, o erro é calculado diretamente apenas para a camada de saída. A
pergunta que o algoritmo de retropropagação do erro responde é como determinar
a influência do erro nas camadas intermediárias da rede.
,)(
α)()1(,
,, m
ji
m
ji
m
jiw
ttwtw
m
i
m
i
m
ib
ttbtb
)(α)()1( ?
A derivação do algoritmo de backpropagation será apresentada e resumida em
notação matricial:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 279
f1
W1
b1
u1
x
1
Primeira camada
y1 = f
1 (W1x + b
1)
f2
W2
b2
u2
y1
1
Segunda camada
y2 = f
2 (W2y
1 + b2)
f3
W3
b3
u3
y2
1
Terceira camada
y3 = f
3 (W3y
2 + b3)
y3
Figura 2: Representação matricial da rede de múltiplas camadas.
A saída de cada camada da rede torna-se a entrada para a camada seguinte:
ym + 1 = fm + 1 (Wm + 1
ym + b
m + 1), para m = 0, 1, …, M – 1,
onde M é o número de camadas da rede; y0 = x, ou seja, a entrada da primeira
camada é o vetor de entradas; e y = yM a saída da rede é a saída da última camada.
Para a rede apresentada na figura acima tem-se:
y3 = f3(W3f2(W2f1(W1x + b1)+b2)+b3).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 280
29. Derivação do Algoritmo de Backpropagation
Como o erro é função indireta dos pesos nas camadas intermediárias, a regra da
cadeia deverá ser usada para o cálculo das derivadas.
,,,
m
ji
m
i
m
i
m
ji w
u
uw
.
m
i
m
i
m
i
m
i b
u
ub
O segundo termo de cada uma das equações acima pode ser facilmente calculado,
uma vez que a entrada líquida da camada m é uma função explícita dos pesos e
limiares nesta camada (Sm é a quantidade de neurônios na camada m):
.
1
1
1
,
mS
j
m
i
m
j
m
ji
m
i bywu
.1,1
,
m
i
m
im
jm
ji
m
i
b
uy
w
u
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 281
Definindo agora a sensibilidade de a mudanças na entrada líquida do i-ésimo
neurônio da camada m como sendo:
,δm
i
m
iu
então:
,δ 1
,
m
j
m
im
ji
yw
.δm
im
ib
As equações para atualizaçãos de pesos em qualquer camada podem então ser
expressas da seguinte forma:
,αδ)()1( 1
,,
m
j
m
i
m
ji
m
ji ytwtw .αδ)()1( m
i
m
i
m
i tbtb
Em notação matricial temos:
,)(α)()1( 1 Tmmmm tt yδWW ,α)()1( mmm tt δbb
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 282
onde .21
T
m
S
mmm
m
muuu
uδ
Ainda é necessário calcular as sensibilidades m, que requer outra aplicação da
regra da cadeia. É este processo que dá origem ao termo retropropagação, pois
descreve a relação de recorrência na qual a sensibilidade na camada m é calculada
a partir da sensibilidade na camada m + 1.
Para derivar a relação de recorrência das sensibilidades, utilizaremos a seguinte
matriz jacobiana:
.
1
2
1
1
1
1
2
2
1
2
1
1
2
1
1
2
1
1
1
1
1
1
111
m
S
m
S
m
m
S
m
m
S
m
S
m
m
m
m
m
m
S
m
m
m
m
m
m
m
m
mmm
m
m
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 283
Considere um elemento i, j qualquer desta matriz:
),()(
1
,
1
,
1
,
1m
j
mm
jim
j
m
j
m
m
jim
j
m
jm
jim
j
m
i ufwu
ufw
u
yw
u
u
onde .
)()(
m
j
m
j
m
m
j
m
u
ufuf
Em notação matricial:
),(1
1
mmm
m
m
uFWu
u
onde .
)(00
0)(0
00)(
)(2
1
m
S
m
mm
mm
mm
muf
uf
uf
uF
Agora podemos escrever a relação de recorrência para a sensibilidade utilizando a
regra da cadeia em forma matricial:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 284
.))(())(( 11
1
1
1
1
mTmmm
m
Tmmm
m
T
m
m
m
mδWuF
uWuF
uu
u
uδ
Observe que as sensibilidades são propagadas da última para a primeira camada
através da rede:
M M – 1 … 2 1
Ainda existe um último passo a ser executado para que o algoritmo de
retropropagação fique completo. Precisamos do ponto de partida, M, para a
relação de recorrência da equação acima. Este ponto é obtido na última camada:
.)(2
)()()(
δ1
2
M
i
iiiM
i
S
j
jj
M
i
T
M
i
M
iu
yys
u
ys
uu
J
M
ysys
Como:
),()(
M
j
M
M
i
M
j
M
M
i
M
i
M
i
i ufu
uf
u
y
u
y
então ).()(2δ M
j
M
ii
M
i ufys
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 285
Em notação matricial: ).)((2 ysuFδ MMM
f 1
W 1
b 1
u
1 x
1
f 2
W 2
b 2
u
2 y
1
1
f 3
W 3
b 3
u
3 y
2
1
y 3
F 1 .
F 2 .
F 3
.
Propagação dos sinais
2 ( y – s )
3 2 1
Retro-propagação das sensibilidades
(W 2 )
T (W
3 )
T
2 3
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 286
procedure [W] = backprop(max_it,min_err,,X,D) for m from 1 to M do,
initialize Wm //small random values
initialize bm //small random values
end for
t 1
while t < max_it & MSE > min_err do,
for i from 1 to N do, //for each training pattern
//forward propagation of the functional signal
y0 xi
yim + 1
fm + 1
(Wm + 1
yim + b
m + 1), m = 0, 1, …, M – 1,
//backpropagation of sensitivities
))((2 ii
M
i
MM
i yduFδ
11))(( m
i
Tmm
i
mm
i δWuFδ , m = M – 1, …,2,1,
//update weights and biases Tm
i
m
i
mm )(α 1 yδWW , m = 1, …, M ,
m
i
mmδbb α , m = 1, …, M ,
Ei eiTei = (di yi)
T (di yi) //calculate the error for pattern i
end for
MSE 1/N.sum(Ei) //MSE
t t + 1
end while
end procedure
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 287
29.1. Capacidade de Aproximação Universal
Uma arquitetura do tipo MLP pode ser vista como uma ferramenta prática geral
para fazer um mapeamento não linear de entrada-saída.
Especificamente, seja m o número de entradas da rede e o o número de saídas. A
relação entrada-saída da rede define um mapeamento de um espaço euclidiano de
entrada m-dimensional para um espaço euclidiano de saída o-dimensional, que é
infinitamente continuamente diferenciável.
CYBENKO (1989) foi o primeiro pesquisador a demonstrar rigorosamente que uma
rede MLP com uma única camada intermediária é suficiente para aproximar
uniformemente qualquer função contínua que encaixe em um hipercubo unitário.
O teorema da aproximação universal aplicável a redes MLP é descrito abaixo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 288
Teorema: Seja f(.) uma função contínua não constante, limitada, e
monotonicamente crescente. Seja Im um hipercubo unitário m-dimensional (0,1)m.
O espaço das funções contínuas em Im é denominado C(Im). Então, dada qualquer
função g C(Im) e > 0, existe um inteiro M e conjuntos de constantes reais i e
wij, onde i = 1, …, M e j = 1, …, m, tais que pode-se definir
M
i
i
m
j
jijim wxwfxxxF1
0
1
21 α),...,,(
como uma aproximação da função g(.) tal que,
),...,,(),...,,( 2121 mm xxxgxxxF
Para todo {x1,…, xm} Im.
Este teorema é diretamente aplicável aos perceptrons de múltiplas camadas:
o Percebemos que a função logística, ou tangente hiperbólica, utilizada como a
não linearidade de um neurônio é contínua, não constante, limitada, e
monotonicamente crescente; satisfazendo as condições impostas à função f(.).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 289
o Verificamos também que a equação para a função F() representa as saídas de
uma rede MLP descrita como segue:
a rede possui m nós de entrada e uma única camada intermediária com M
unidades; o conjunto de entradas é {x1,…, xm}
o neurônio intermediário i possui pesos wi1, …, wim e limiar w0i
a saída da rede é uma combinação linear das saídas das unidades
intermediárias, com 1, …, M definindo os coeficientes dessa combinação.
O teorema afirma que um perceptron de múltiplas camadas com uma única
camada intermediária é capaz de realizar uma aproximação uniforme, dado um
conjunto de treinamento suficientemente significativo para representar a função.
Note que este teorema é um teorema de existência. Nada garante que um MLP com
uma única camada é ótimo no sentido de tempo de processamento, facilidade de
implementação e eficiência na representação.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 290
1
xl1
xlm
+ f
w2m
w21
w02
+ f
wMm
wM1
w0
M
+ f
w1m
w11
w01
+
M
2
1 Fl
1
1
0 1
Figura 3: Rede equivalente ao mapeamento de aproximação unviersal.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 291
29.2. Exemplo de Aproximação Universal
Para ilustrar a capacidade de aproximação universal das redes MLP, considere
aproximar um período da função sen(x)cos(2x) utilizando uma composição
aditiva de funções básicas (f será tomado como a tangente hiperbólica).
0 5 10 15 20 25 30 35 40 45-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 20 40 60 80 100 120
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Figura 4: Aproximação universal. (a) Função a ser aproximada (informação disponível: 42
amostras do valor da função em pontos igualmente espaçados do domínio da função). (b)
Função básica utilizada na aproximação. Tangentes hiperbólicas, satisfazendo as condições
estabelecidas pelo teorema.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 292
A rede utilizada para aproximar esta função é uma rede do tipo MLP com uma
entrada, cinco unidades intermediárias e uma saída, descrita na Figura 2.16. O
algoritmo de treinamento é o de retropropagação, apresentado anteriormente.
Analisando esta figura, e considerando que a rede apresentada possui saída linear,
verificamos que y (saída da rede após a apresentação de cada amostra de
treinamento) será dada por:
y = w0,1 + w1,1 z1 + w2,1 z2 + w3,1 z3 + w4,1 z4 + w5,1 z5,
,5,...,1para,0
1
lwxwfz l
k
j
jjll
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 293
Figura 5: Rede MLP com treinamento via retropropagação utilizada para aproximar a função
sen(x)cos(2x). Funções de ativação do tipo tangente hiperbólica.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 294
0 5 10 15 20 25 30 35 40 45-3
-2
-1
0
1
2
3
z1*w11
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
4
5
6
z2*w21
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
z3*w31
0 5 10 15 20 25 30 35 40 45-3
-2
-1
0
1
2
3
z4*w41
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 295
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
4
z5*w51
Figura 6: Funções de ativação dos neurônios intermediários após o treinamento da rede
multiplicadas pelos pesos correspondentes da camada de saída. É perceptível que todas as
funções apresentadas são tangentes hiperbólicas (funções básicas), mas estão deslocadas em
relação à abscissa.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 296
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
T - w01 - w11*z1
0 5 10 15 20 25 30 35 40 45-7
-6
-5
-4
-3
-2
-1
0
1
2
T - w01 - w11*z1 - w21*z2
0 5 10 15 20 25 30 35 40 45-6
-4
-2
0
2
4
6
T - w01 - w11*z1 - w21*z2 - w31*z3
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
4
T - w01 - w11*z1 - w21*z2 - w31*z3 - w41*z4
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 297
0 5 10 15 20 25 30 35 40 45-4
-3
-2
-1
0
1
2
3
4
T - w01 - w11*z1 - w21*z2 - w31*z3 - w41*z4 - w51*z5
Figura 7: Saída desejada menos a soma da contribuição de cada neurônio da camada
intermediária. O resultado final (última curva) é a diferença entre a saída desejada e a saída da
rede, ou seja, a combinação linear das saídas das unidades intermediárias. Como era de se
esperar, ao final do treinamento, a diferença entre a saída fornecida pela rede e a saída desejada
(função a ser aproximada) é aproximadamente zero.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 298
0 5 10 15 20 25 30 35 40 45-8
-6
-4
-2
0
2
4
6
8
10
12
w01 + w11*z1
0 5 10 15 20 25 30 35 40 45-15
-10
-5
0
5
10
15
w01 + w11*z1 + w21*z2
0 5 10 15 20 25 30 35 40 45-5
0
5
10
w01 + w11*z1 + w21*z2 + w31*z3
0 5 10 15 20 25 30 35 40 451.5
2
2.5
3
3.5
4
4.5
w01 + w11*z1 + w21*z2 + w31*z3 + w41*z4
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 299
0 5 10 15 20 25 30 35 40 45-1.5
-1
-0.5
0
0.5
1
1.5
w01 + w11*z1 + w21*z2 + w31*z3 + w41*z4 + w51*z5
Figura 8: Combinação linear das saídas das unidades intermediárias. Os coeficientes da
combinação são os pesos da segunda camada. Esta figura apresenta a soma das curvas que
compõem a Figura 3, implicando na composição aditiva (combinação linear) das funções
básicas dos neurônios da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 300
0 5 10 15 20 25 30 35 40 45-1.0
-0.5
0.0
0.5
1.0
Figura 9: Aproximação obtida pela rede MLP para a função sen(x)cos(2x). Os *’s são as
amostras de treinamento, e o traço contínuo () a aproximação da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 301
29.3. Virtudes e Limitações das Redes MLP
O algoritmo de retropropagação tornou-se o algoritmo mais popular para o
treinamento supervisionado do perceptron de múltiplas camadas. Basicamente, é
uma composição de um método de obtenção do vetor gradiente e de uma técnica
de otimização (steepest descent). O algoritmo de retropropagação possui duas
propriedades distintas:
1. É simples de calcular localmente e
2. Realiza um gradiente descendente no espaço de conexões (pesos).
Estas duas propriedades do método de retropropagação são responsáveis pelas suas
vantagens e desvantagens descritas a seguir.
29.3.1. Conexionismo
O algoritmo de retropropagação é um exemplo de paradigma conexionista que
utiliza cálculos locais para determinar a capacidade de processamento de
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 302
informações das redes neurais artificiais. A utilização de cálculos locais no projeto
de arquiteturas neurais artificiais, é geralmente desejada por duas razões:
1. As redes neurais artificiais são vistas como metáforas para as redes biológicas;
2. Os cálculos locais favorecem a utilização de arquiteturas paralelas como um
método eficiente para a implementação das RNA's.
29.3.2. Unidades Intermediárias
As unidades intermediárias exercem um papel crítico na operação das redes MLP
pois funcionam como detetores de características (HAYKIN, 1999). Uma nova
forma de exploração deste importante atributo é no reconhecimento de
características significativas que identificam os padrões de entrada de interesse.
Uma rede MLP pode operar de forma auto-organizada, e quando isso ocorre é
denominado de sistema autocodificador. Basicamente, essa estrutura faz uma
análise de componentes principais dos dados de entrada, fornecendo uma
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 303
ferramenta ótima para a redução da dimensionalidade (compressão dos dados) do
conjunto de entrada.
29.3.3. Superfícies de Erro e Mínimos Locais
Para o desenvolvimento de algoritmos de treinamento eficientes, é essencial a
compreensão das características principais dos aspectos envolvidos no treinamento
das redes MLP e suas implicações.
Uma maneira extremamente útil de descrever um problema de treinamento é sob a
forma de aproximação de funções, ou otimização de funções – que implica na
minimização do funcional de erro J.
Sob este ponto de vista, o treinamento de redes MLP é um exemplo de
procedimento de minimização do erro ou otimização, e cada problema de
treinamento define uma superfície de erro (ou de energia) multi dimensional não
negativa, que é formada plotando-se o valor do erro J para todos os parâmetros do
vetor de pesos () da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 304
Esta abordagem para o treinamento de redes MLP traz vários benefícios
importantes:
1. Muitas estratégias eficientes de otimização de funções têm sido desenvolvidas
fora da área de redes neurais artificiais. Como veremos no próximo capítulo,
muitas dessas estratégias são diretamente aplicáveis ao treinamento de redes
MLP;
2. O conceito de superfície de erro da rede MLP permite uma visualização do
processo de treinamento, pelo menos quando o número de parâmetros é
reduzido.
Para cada combinação possível de arquitetura MLP, problema de aplicação e
função de erro, existe uma superfície de erro correspondente de dimensão P + 1,
para um MLP com P pesos (SHEPHERD, 1997), sendo impraticável produzir um
mapeamento de superfície de erro que seja detalhado e abrangente (mesmo para
pequenos problemas e redes de dimensão reduzidas). Não é surpresa, portanto, que
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 305
as propriedades das superfícies de erro das redes MLP sejam assunto de grandes
debates.
É importante mencionar que a prática comum de inferência de características
presentes na superfície de erro é bastante questionável. Por exemplo, há uma
tendência de afirmar que uma rede MLP está presa em um mínimo local sempre
que a curva de decaimento do erro (gerada plotando-se o valor do erro ao longo de
várias épocas de treinamento) possui um grande platô em um valor de erro
elevado.
Na verdade, existem várias causas igualmente plausíveis para este comportamento
que não são relacionadas com a presença de mínimos locais; por exemplo, a rede
está convergindo para um ponto de sela; o problema possui um erro final elevado
na solução e a rede está convergindo para o mínimo global; a rede está
atravessando um platô lentamente; o algoritmo está fazendo um zig-zag no fundo
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 306
de um vale; um ou mais neurônios da rede estão saturados ou a rede está tomando
passos muito pequenos a cada iteração.
Algumas evidências (como gráficos de contorno de pequenas regiões de
superfícies de erro) sugerem que a maior parte das superfícies de erro das redes
MLP compartilham várias características (HAGAN et al., 1997):
1. Alto grau de suavidade;
2. Grandes platôs;
3. Pequenos vales;
4. Vários mínimos locais e
5. Um certo grau de simetria em relação a origem do sistema de coordenadas
utilizado para plotar a superfície de erro.
Estas características das superfícies de erro fornecem boas indicações de quais
estratégias devem ser adotadas no desenvolvimento de métodos práticos e
eficientes de treinamento:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 307
1. A suavidade das superfícies de erro sugerem que métodos de otimização clássica
que utilizam derivadas serão eficientes;
2. O efeito da precisão de ponto-flutuante torna-se um aspecto importante em
regiões de platôs; e
3. Se existem mínimos locais, estratégias de busca do mínimo global, ou mínimo
local satisfatório, devem ser empregados.
Para investigar o comportamento da superfície do erro quadrático médio para redes
com múltiplas camadas adotaremos um exemplo simples de aproximação de
funções. A rede utilizada neste problema será apresentada na Figura 7.
A Figura 8 apresenta o gráfico da função a ser aproximada (HAGAN et al., 1997). O
objetivo é treinar a rede da Figura 7 para aproximar a função da Figura 8.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 308
Figura 10: Rede para aproximação de funções.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 309
0 5 10 15 20 25 30 35 40 450.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
Figura 11: Função a ser aproximada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 310
-5 0 5 10 15-5
0
5
10
15
v(1,1)
w(1
,1)
-5
0
5
10
15
-5
0
5
10
150
2
4
6
8
10
v(1,1)w(1,1)
-10 -5 0 5 10 15 20 25 30-25
-20
-15
-10
-5
0
5
10
15
v(1,1)
v(0,1
)
-10
0
10
20
30
-40
-20
0
200
0.5
1
1.5
2
v(1,1)v(0,1)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 311
-10 -8 -6 -4 -2 0 2 4 6 8 10-10
-8
-6
-4
-2
0
2
4
6
8
10
v(0,1)
w(0
,1)
-10
-5
0
5
10
-10
-5
0
5
100
0.5
1
1.5
v(0,1)w(0,1)
Figura 12: Superfícies do erro e seus contornos em relação a alguns pesos da rede.
As partes mais escuras das superfícies representam vales, ou regiões de mínimos.
As curvas apresentadas permitem verificar algumas características importantes das
superfícies de erro, como:
1. Suavidade;
2. Existência de platôs e vales; e
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 312
3. Presença de mínimos locais.
Fica claro nas figuras acima que a escolha inadequada de uma condição inicial
para o algoritmo de treinamento pode fazer com que o algoritmo convirja para um
ponto sub-ótimo. Como, geralmente, não conhecemos a superfície de erro, torna-se
necessária a utilização de várias condições iniciais diferentes para aumentar as
chances do algoritmo convergir para o mínimo global.
29.3.4. Escalonamento
Em princípio, redes neurais como as do tipo MLP treinadas com o algoritmo de
retropropagação oferecem um grande potencial.
Entretanto, para que este potencial possa ser plenamente atingido, é preciso superar
o problema de escalonamento, que refere-se à qualidade do comportamento da
rede (como o tempo de processamento e capacidade de generalização) quando a
tarefa a ser realizada aumenta em dimensão e complexidade.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 313
Existem várias formas possíveis de medir a dimensão e complexidade de um
problema.
Uma forma de amenizar problemas de escalonamento é fazer com que a arquitetura
da rede e as restrições impostas ao conjunto de pesos incorporem informações
sobre o problema que deverá ser resolvido.
Outra forma de tratar o problema de escalonamento é reformular o processo de
aprendizagem inserindo modularidade na arquitetura da rede.
Um sistema computacional é dito ser modular se a arquitetura puder ser separada
em dois ou mais pedaços responsáveis por partes distintas e possivelmente mais
simples do conjunto de entradas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 314
30. Aspectos Práticos do Treinamento de Redes
MLP
30.1. Treinamento Local ou em Lote
Em aplicações práticas do algoritmo de retropropagação, o aprendizado é resultado
de apresentações repetidas de todas as amostras do conjunto de treinamento ao
MLP.
Cada apresentação de todo o conjunto de treinamento durante o processo de
aprendizagem é chamada de época.
O processo de aprendizagem é repetido época após época, até que um determinado
critério de parada seja atingido (próxima seção).
É uma boa prática fazer com que a ordem de apresentação das amostras seja feita
aleatoriamente de uma época para a outra. Esta aleatoriedade tende a fazer com
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 315
que a busca no espaço de pesos tenha um caráter estocástico ao longo dos ciclos de
treinamento.
Para um dado conjunto de treinamento, a atualização dos pesos pode ser feita de
duas maneiras básicas:
o Atualização local: neste método, a atualização dos pesos é feita imediatamente
após a apresentação de cada amostra de treinamento. Especificamente, considere
uma época consistindo de N padrões de treinamento arbitrariamente ordenados
NN sxsx ,,...,, 11 . A primeira amostra 11,sx da época é apresentada à rede, e
são efetuados o passo positivo e a retropropagação do erro, resultando em um
ajuste dos pesos das conexões. Em seguida, a próxima amostra 22 ,sx é
apresentada à rede e o passo positivo e a retropropagação do erro são efetuados,
resultando em mais um ajuste do conjunto de pesos. Este processo é repetido até
que a última amostra seja apresentada à rede. Este método também é conhecido
como método de atualização on-line ou padrão a padrão.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 316
o Atualização em lote: no método em lote, a atualização dos pesos só é feita após
a apresentação de todas as amostras de treinamento que constituem uma época.
O ajuste relativo a cada apresentação de um par de entrada é acumulado
(somado). Este método também é conhecido como método de atualização off-
line ou batch.
Do ponto de vista operacional, o método local de treinamento é preferível, pois
requer um menor armazenamento local para cada conexão.
Como as amostras são apresentadas aleatoriamente, o uso da atualização padrão
por padrão torna a busca no espaço de conexões estocástica por natureza,
reduzindo a possibilidade do algoritmo ficar preso em um mínimo local.
Por outro lado, a utilização do método em lote fornece uma estimativa mais precisa
do vetor gradiente.
Numa análise final, entretanto, a eficiência dos dois métodos depende do problema
a ser tratado (HAYKIN, 1999).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 317
30.2. Critérios de Parada
O processo de minimização do MSE (ou da função custo), em geral, não tem
convergência garantida e não possui um critério de parada bem definido.
Um critério de parada não recomendável, por não levar em conta o estado do
processo iterativo de treinamento, é interromper o treinamento após um número
fixo (definido previamente) de iterações.
Serão discutidos aqui critérios de parada que levam em conta alguma informação a
respeito do estado do processo iterativo, cada qual com seu mérito prático.
Para formular tal critério, deve-se considerar a possibilidade de existência de
mínimos locais.
Seja * o vetor de parâmetros (pesos) que denota um ponto de mínimo, seja ele
local ou global.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 318
Uma condição necessária para que * seja um mínimo, é que o vetor gradiente
)θ( (ou seja, a derivada parcial de primeira ordem) da superfície de erro em
relação ao vetor de pesos seja zero em = *.
Sendo assim, é possível formular critérios de convergência (ou parada) como
segue:
o é considerado que o algoritmo de retropropagação convergiu quando a norma
Euclideana da estimativa do vetor gradiente (|| )θ( ||) atingiu um valor
suficientemente pequeno.
Obs.: o problema deste critério de parada é que, para simulações bem sucedidas,
o tempo de treinamento pode ser muito longo. Este critério também requer o
cálculo da norma do vetor gradiente. O Tópico 10 fará um estudo sobre técnicas
de aceleração da convergência deste algoritmo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 319
o é considerado que o algoritmo de retropropagação convergiu quando a
variação do erro quadrático de uma época para a outra atingir um valor
suficientemente pequeno.
Obs.: esse critério é proposto devido a uma outra propriedade única de um
mínimo: o fato de que a função custo, ou medida de erro, med() é estacionária
no ponto = *.
o é considerado que o algoritmo de retropropagação convergiu quando o erro
quadrático médio atingir um valor suficientemente pequeno, ou seja,
med() , onde é um valor suficientemente pequeno.
Obs.: este critério é uma variação do critério anterior.
Se o critério de parada é, por exemplo, um valor mínimo para o MSE, então não
podemos garantir que o algoritmo será capaz de atingir o valor desejado.
Por outro lado, ao tomarmos como critério de parada um valor mínimo para a
norma do vetor gradiente devemos estar conscientes de que o algoritmo,
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 320
provavelmente, irá produzir como resultado o mínimo local mais próximo da
condição inicial.
Atualmente existe uma grande quantidade de pesquisadores procurando funções de
erro (custo) alternativas, com o objetivo de melhorar as características de
convergência dos perceptrons de múltiplas camadas.
Um exemplo disso é a função de custo chamada de entropia cruzada (cross-
entropy) (SHEPHERD, 1997), dada por:
,1ln1 1
1
,,
,,
N
n
S
i
sM
ni
sM
ni
m
nini
yy
onde N é o número de amostras, M é o número de camadas, Sm é a dimensão de
cada camada e y são as saídas da rede.
Outro critério de parada bastante útil, e geralmente utilizado em conjunto com
algum dos critérios anteriores, é a avaliação da capacidade de generalização da
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 321
rede após cada época de treinamento. O processo de treinamento é interrompido
antes que a capacidade de generalização da rede seja deteriorada.
30.3. Arquitetura da Rede
A quantidade de neurônios na camada de entrada da rede é geralmente dada pelo
problema ser abordado.
Entretanto, a quantidade de neurônios nas camadas intermediárias e de saída são
características de projeto.
Aumentando-se a quantidade de neurônios na camada intermediária aumenta-se a
capacidade de mapeamento não linear da rede MLP.
Porém, é preciso tomar cuidado para que o modelo não se sobre-ajuste aos dados,
pois se houver ruído nas amostras de treinamento, então a rede estará sujeita ao
sobre-treinamento (overfitting).
Uma rede com poucos neurônios na camada intermediária pode não ser capaz de
aproximar o mapeamento desejado, causando um underfitting.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 322
-3 -2 -1 0 1 2 3
-1.0 -0.8
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6
0.8 1.0
-3 -2 -1 0 1 2 3
-1.0 -0.8
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6
0.8 1.0
-3 -2 -1 0 1 2 3
-1.0 -0.8
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6
0.8 1.0
-3 -2 -1 0 1 2 3
-1.0 -0.8
-0.6 -0.4 -0.2 0.0 0.2 0.4 0.6
0.8 1.0
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 323
O underfitting também pode ser causado caso o treinamento seja interrompido
prematuramente.
30.4. Validação Cruzada
Um dos principais objetivos do treinamento de uma RNA, em particular do MLP, é
um bom desempenho de generalização.
Entretanto, devido a imprecisões no processo de aquisição de dados (p. ex., erros
nos sensores, leitura, digitação, etc.) e outros fatores externos, as amostras de
treinamento podem levar a geração de um modelo de aproximação inadequado a
aplicações práticas.
É importante salientar que, durante o treinamento, embora a rede possa aparentar
estar desempenhando cada vez melhor (uma vez que o erro para os dados de
treinamento deve estar decaindo constantemente), seu desempenho de
generalização pode começar a piorar após um determinado número de épocas de
treinamento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 324
Isso é consequência da imprecisão dos dados de treinamento e de uma escolha
inadequada para a arquitetura da rede.
No tópico sobre redes RBF estudamos a teoria de regularização como método para
reduzir os efeitos da sobregeneralização.
Outra forma de evitar a sobregeneralização é empregando métodos conhecidos
como validação-cruzada (Prechelt, 1998).
Teste
Treinamento
Épocas
Err
o
Figura 13: Curvas idealizadas de erro de treinamento e generalização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 325
De forma mais genérica, os métodos de validação cruzada (VC) consistem em
dividir o conjunto de dados em duas ou três partes, como a seguir:
1. Conjunto de treinamento: parte dos dados usada apenas para o treinamento da
rede;
2. Conjunto de validação: parte dos dados usada para definir o ponto de
interrupção do treinamento;
3. Conjunto de testes: parte dos dados usada para estimar o desempenho de
generalização da rede.
O procedimento de VC é então empregado da seguinte forma: treina-se a rede com
os dados de treinamento, avalia-se o desempenho da rede para o conjunto de
validação a cada l épocas e, caso o erro de validação aumente por um número
consecutivo de vezes o treinamento é interrompido e o conjunto de pesos que
levou ao melhor desempenho de generalização é escolhidos como pesos da rede. O
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 326
conjunto de teste é então usado para avaliar o desempenho de generalização da
rede.
Em muitos casos a validação cruzada é implementada dividindo-se o conjunto de
dados em apenas duas partes: treinamento e teste.
Se o conjunto de dados é suficientemente grande, então as partições em
treinamento, teste e validação podem ser feitas considerando-se o mesmo número
de amostras para cada etapa.
Entretanto, se a quantidade de dados é limitada, é preciso ser mais cauteloso no
momento de particionar os dados.
Além disso, uma partição aleatória pode resultar em classes de dados sub- e/ou
sobrerrepresentadas em cada uma das partições.
o Uma forma de amenizar este problema em particular é usando amostras
estratificadas, ou seja, garantir que todas as classes existentes na base de dados
estejam apropriadamente representadas nas partições.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 327
o Também é preciso reduzir a influência da partição escolhida no desempenho
final da rede e, para isso, o particionamento da base de dados pode ser feito
diversas vezes e o desempenho de todos os particionamentos usados para
estimar o desempenho médio do algoritmo.
Em estatística é comum usarmos a validação-cruzada em k-pastas (k-fold cross-
validation), que consiste em dividir o conjunto de dados em k pastas (partições),
treinar o algoritmo com k 1 pastas e usar a pasta remanescente para teste. Este
processo é repetido k vezes até que todas as pastas tenham sido usadas para
treinamento e teste (WITTEN & FRANK, 2005).
Para aumentar ainda mais a confiabilidade do erro estimado, o processo de
validação cruzada em k-pastas normalmente é repetido um número de vezes, por
exemplo, 10 vezes, e o desempenho médio é usado para estimar o erro de
generalização da rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 328
Para k = 10 temos a validação conhecida como 10-fold cross-validation. Esta
escolha de k é a mais usual na literatura.
30.5. Normalização dos Dados de Entrada
Uma das características importantes das funções sigmoidais é a presença de
saturação, ou seja, para valores muito grandes de seu argumento elas estarão
operando na região saturada da curva.
É importante, portanto, fazer com que os valores dos atributos dos dados de
entrada estejam contidos em um intervalo pré-definido, por exemplo, [0,1] ou
[1,1].
No Tópico 1 foram discutidos alguns métodos de normalização dos dados de
entrada, como normalização linear e normalização de média zero.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 329
30.6. Inicialização dos Vetores de Pesos e Limiares (Bias)
A qualidade e eficiência do aprendizado supervisionado em redes multicamadas
depende fortemente da especificação de arquitetura da rede, função de ativação dos
neurônios, regra de aprendizagem e valores iniciais do vetor de parâmetros (pesos).
Valores ótimos destes itens são desconhecidos a priori, pois dependem
principalmente do conjunto de treinamento e da natureza da solução (THIMM &
FIESLER, 1997).
Assumimos aqui que a arquitetura da rede, as funções de ativação dos neurônios e
a regra de aprendizado já foram determinadas adequadamente, embora não
necessariamente de maneira ótima. Sob essas considerações, um processo de
treinamento bem sucedido passa a depender somente de uma boa definição do
conjunto inicial de pesos, ou seja, um conjunto que guie o processo de treinamento
para uma solução satisfatória, fora de mínimos locais pobres e problemas de
instabilidade numérica.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 330
Logo, o conjunto inicial de pesos a ser utilizado no treinamento supervisionado de
redes multicamadas possui grande influência na velocidade do aprendizado e na
qualidade da solução obtida após a convergência.
Uma escolha inicial inadequada para os valores dos pesos pode fazer com que o
treinamento não conduza a modelos de aproximação satisfatórios (mesmo que o
processo de otimização seja bem-sucedido) ou apresente problemas numéricos que
de outro modo poderiam ser evitados.
Atualmente, existem várias técnicas propostas no sentido de definir
adequadamente o conjunto de pesos iniciais.
A importância de uma boa escolha do conjunto de pesos iniciais é enfatizada por
KOLEN & POLLAK (1990). Eles mostraram que uma busca global pelo conjunto
ótimo de pesos não é factível. Assim, por motivações práticas, a regra de
aprendizagem deve ser baseada em técnicas de otimização que empregam busca
local.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 331
Por outro lado, a busca local implica que a solução a ser obtida está fortemente
relacionada à condição inicial, pois cada condição inicial pertence à base de
atração de um mínimo local particular, que atrairá a solução (HERTZ et al., 1991).
Consequentemente, apenas mínimos locais podem ser produzidos, na prática,
como resultados de um processo de treinamento supervisionado bem-sucedido. Se
este mínimo for o mínimo global, ou um bom mínimo local da superfície de erro,
então a rede neural estará em, ou próxima de, seu limite de desempenho. Caso
contrário, quanto pior for o mínimo local, pior o desempenho da rede treinada.
Diversas estratégias de inicialização dos pesos já foram sugeridas. Os métodos
mais simples baseiam-se em uma distribuição uniforme aleatória (KOLEN &
POLLAK 1990), representando a ausência total de conhecimento sobre as amostras.
Considerando abordagens melhor elaboradas, existem basicamente dois
paradigmas alternativos para busca do melhor conjunto inicial de pesos via
treinamento supervisionado:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 332
1. Paradigma do caminho mais fácil: não é tão comum na literatura. A ideia básica é
fornecer uma condição inicial não necessariamente próxima da solução ótima, mas
que seja tal que o processo de treinamento possa evoluir mais rapidamente, em
média, e mais eficientemente, a partir da condição inicial. A estratégia mais
simples é definir automaticamente um intervalo de inicialização para os pesos e
utilizar uma distribuição uniforme neste intervalo.
2. Paradigma do caminho mais curto: é a abordagem geralmente empregada na
literatura. A ideia básica é fornecer uma condição inicial o mais próxima possível
da solução ótima, ainda desconhecida. A ideia intuitiva por trás desta abordagem é
que quanto mais próxima da solução ótima estiver a condição inicial, menor a
probabilidade de existência de mínimos locais no caminho até esta solução, e mais
eficiente se tornaria o processo de treinamento. Duas estratégias podem ser
consideradas: extração de conhecimento do conjunto de treinamento com o
objetivo de descobrir peculiaridades da superfície de otimização (baseado em
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 333
aspectos teóricos), ou exploração da superfície de otimização para aumentar as
chances de se encontrar uma região promissora na busca pelo ótimo (baseada em
aspectos heurísticos).
O paradigma do caminho mais fácil geralmente ignora o conjunto de treinamento
na tentativa de definir um bom intervalo de valores para os pesos. Como
consequência, o caminho entre a condição inicial e a solução ótima, embora fácil
de ser percorrido, pode ser muito longo.
Por outro lado, o paradigma do caminho mais curto considera todo o conjunto de
treinamento, mas geralmente ignora as consequências da combinação dados de
entrada-saída + pesos no processamento de sinais da rede neural. Como
consequência, o caminho entre a condição inicial e a solução ótima, embora curto,
pode ser muito difícil de ser percorrido.
Exemplos destes paradigmas e pontos de partida para uma pesquisa mais avançada
envolvendo técnicas para geração de condições iniciais podem ser encontrados em:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 334
NGUYEN & WIDROW (1990), KIM & RA (1991), LEHTOKANGAS et al. (1995) e DE
CASTRO, L.N. & VON ZUBEN (1998).
31. Referências sobre Redes MLP
de Castro L.N., & Von Zuben F.J., “A Hybrid Paradigm for Weight Initialization in Supervised
Feedforward Neural Network Learning”, Proc. of the ICS (Int. Computer Symposium), Workshop on
Artificial Intelligence, Tainan/Taiwan/R.O.C., pp. 30-37.
Cybenko G., “Approximation by Superpositions of a Sigmoidal Function”, Mathematics of Control Signals
and Systems, vol. 2, pp. 303-314, 1989.
Hagan M.T., Demuth H.B. & Beale M., “Neural Network Design”, PWS Publishing Company, 1995.
Haykin S. “Neural Networks – A Comprehensive Foundation”, Macmillan College Publishing Inc., 1994.
Hertz J., Krogh A. & Palmer R.G., Introduction to the Theory of Neural Computation. Addison-Wesley
Publishing Company, 1991.
Kim Y.K., & Ra J.B., “Weight Value Initialization for Improving Training Speed in the Backpropagation
Network”, Proceedings of the IEEE International Joint Conference on Neural Networks, vol. 3, pp. 2396-
2401, 1991.
Kolen J.F., & Pollack J.B., “Back Propagation is Sensitive to Initial Conditions”, Technical Report TR 90-
JK-BPSIC, 1990, URL: ftp://ftp.cs.brandeis.edu/pub/faculty/ pollack/bpsic.tar.Z.
Lehtokangas M., Saarinen J., Kaski K. & Huuhtanen P., “Initializing Weights of a Multilayer Perceptron
by Using the Orthogonal Least Squares Algorithm”, Neural Computation, vol. 7, pp. 982-999, 1995.
Minsky M.L. & Papert S.A., “Perceptrons: An Introduction to Computational Geometry”, M.I.T. Press,
Cambridge, Massachusets, 1969.
Nguyen D., & Widrow B., “Nguyen-Widrow Initialization”, Em FAUSETT, 1994, pp. 297, 1990.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 335
Prechelt, L., “Automatic Early Stopping Using Cross-Validation: Quantifying the Criteria”, Neural
Networks, vol. 11, pp. 761-767.
Thimm G., & Fiesler E., “High-Order and Multilayer Perceptron Initialization”, IEEE Trans. on Neural
Networks, vol. 8, n° 2, 1997.
Witten, I. H. & Frank, E., Data Mining: Practical Machine Learning Tools and Techniques, 2nd
. Ed.,
Morgan Kauffman, 2005.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 336
32. Técnicas de Otimização Não Linear Irrestrita
para o Treinamento de Redes MLP
O treinamento de redes neurais com várias camadas pode ser entendido como um
caso especial de aproximação de funções, onde não é levado em consideração
nenhum modelo explícito dos dados.
A retropropagação (backpropagation) do gradiente do erro provou sua utilidade no
treinamento supervisionado de redes multicamadas para aplicação a muitos
problemas de classificação e mapeamento estático de funções não lineares.
Há casos em que a velocidade de aprendizagem é um fator limitante para
possibilitar a implementação prática deste tipo de ferramenta computacional no
processo de solução de problemas que requerem otimalidade, robustez e rapidez na
convergência do processo de ajuste de parâmetros.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 337
Mesmo em aplicações onde uma resposta em tempo real não é necessária, a
complexidade temporal do algoritmo pode resultar na intratabilidade
computacional do problema.
Como exemplo, o aumento da complexidade intrínseca dos problemas atuais da
área de engenharia tem produzido uma explosão combinatória dos possíveis
candidatos à solução, mesmo quando existem direcionamentos efetivos para a
exploração do espaço de solução.
Além disso, dentre os métodos de busca no espaço de solução, é consenso a ideia
de que não existe um método que seja o melhor para todos os casos (WOLPERT &
MACREADY, 1997). Sendo assim, muitas soluções encontradas por métodos
específicos podem não atender aos requisitos mínimos do problema.
Uma forma eficiente de lidar com esta situação é recorrer ao potencial de
processamento computacional hoje disponível e passar a operar com métodos que
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 338
forneçam simultaneamente múltiplos candidatos à solução, dentre os quais se
possa escolher o melhor segundo algum critério pré-estabelecido.
No caso da solução ser produzida utilizando-se redes neurais artificiais, este
procedimento é tão mais viável quanto maior for a velocidade de aprendizagem da
rede neural.
Por exemplo, um aumento de dez vezes na velocidade de busca de uma solução
permite que se encontre dez vezes mais candidatos à solução com o mesmo custo
computacional.
Nesta classe encontram-se aplicações relacionadas com a modelagem e
identificação de sistemas não lineares, previsão de séries temporais e controle de
processos adaptativos (BATTITI, 1992).
O processo de treinamento supervisionado de redes neurais artificiais
multicamadas é equivalente a um problema de otimização não linear irrestrito,
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 339
onde uma função de erro global é minimizada a partir do ajuste de parâmetros da
rede neural (pesos).
Esta perspectiva do processo de treinamento supervisionado permite desenvolver
algoritmos de treinamento baseados em resultados bem fundamentados da teoria de
análise numérica convencional.
Os principais procedimentos de análise numérica passíveis de implementação
computacional empregam métodos que utilizam somente o gradiente local da
função ou então métodos que utilizam também as derivadas de segunda ordem.
No primeiro caso, a função é aproximada pelo primeiro (constante) e segundo
(linear) termos da expansão de Taylor; no segundo caso, o terceiro termo
(quadrático) também é considerado.
32.1. Série de Taylor e Derivadas de Primeira e Segunda Ordem
...*)()(*)(2
1*)()(*)()(
*
2
*
xxxxxxxxxx
xxxx
TTT FFFF
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 340
T
n
Fx
Fx
Fx
F
)()()()(
21
xxxx
T
nnn
n
n
Fx
Fxx
Fxx
Fxx
Fx
Fxx
Fxx
Fxx
Fx
F
)()()(
)()()(
)()()(
)(
2
2
2
2
1
2
2
2
22
2
12
21
2
21
2
21
2
2
xxx
xxx
xxx
x
32.2. Exemplo de aproximação (expansão) em série de Taylor:
F(x) = cos(x)
Expansão em Taylor para F(x) em torno do ponto x = 0.
42
24
1
2
11)( xxxF
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 341
-6 -3 0 3 6 -2
-1
0
1
2
x
cos(x)
-6 -3 0 3 6 -2
-1
0
1
2
F0(x) F4(x)
F2(x)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 342
Este tópico descreve alguns métodos que mostram acelerar a convergência média
da fase de treinamento.
Alguns destes métodos, ao passo que requerem poucas modificações no algoritmo
de retropropagação padrão, resultam em elevados graus de aceleração além de não
mais requererem a escolha de parâmetros críticos da rede neural como a taxa de
aprendizagem e o coeficiente de momento.
Como o treinamento de redes multicamadas pode sempre ser entendido como um
problema geral de aproximação de funções, far-se-á uma breve introdução sobre a
teoria de aproximação de funções e avaliação do nível de aproximação.
Em seguida serão apresentados métodos de otimização do processo de
aproximação resultante.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 343
33. Aproximação de Funções
Considere o problema de aproximar uma função g(.): X m r por um
modelo de aproximação representado pela função )θ(.,g : X P r, onde
P (P finito) é um vetor de parâmetros.
O problema geral de aproximação pode ser formalmente apresentado como segue:
o Considere a função g(.): X m r, que mapeia pontos de um subespaço
compacto X m em pontos de um subespaço compacto g[X] r.
o Com base nos pares de vetores de entrada saída Nlll 1
,
sx amostrados a partir
do mapeamento determinístico definido pela função g na forma: lll g )(xs,
l = 1,…,N, e dado o modelo de aproximação rPXg :)θ(.,ˆ , determine o
vetor de parâmetros * P tal que dist(g(.), *)θ(.,g ) dist(g(.), )θ(.,g ), para
todo P, onde o operador dist(.,.) mede a distância entre duas funções
definidas no espaço X.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 344
o O vetor l expressa o erro no processo de amostragem, sendo assumido ser de
média zero e variância fixa.
A solução deste problema, se existir, é denominada a melhor aproximação e
depende diretamente da classe de funções a qual g pertence.
33.1. Avaliação do Nível de Aproximação
Em problemas de aproximação utilizando um número finito de dados amostrados e
definido um modelo de aproximação )θ(.,g , a distância entre a função a ser
aproximada e sua aproximação dist(g(.), )θ(.,g ) é uma função apenas do vetor de
parâmetros P.
Tomando a norma euclidiana como a medida de distância, produz-se a seguinte
expressão:
N
l
ggN
J1
2)θ,(ˆ)(
1)θ( xx (1)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 345
O funcional J: P é denominado superfície de erro do problema de
aproximação, pois pode ser interpretado como uma hipersuperfície localizada
“acima” do espaço de parâmetros P, sendo que para cada ponto P
corresponde uma “altura” J().
O termo funcional corresponde a toda função f : X n , e por isso o
problema de minimizar J() torna-se um problema de minimização funcional.
Dada a superfície de erro, o problema de aproximação passa a ser um problema de
otimização cuja solução é o vetor * P que minimiza J(), ou seja:
)θ(minarg*θθ
JP
(2)
Durante o processo de aproximação da função g(.) pela função )θ(.,g fornecida
pela rede neural, devem ser considerados três tipos de erros (VAN DER SMAGT,
1994): o erro de representação, o erro de generalização e o erro de otimização.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 346
Erro de Representação: primeiro consideremos o caso em que todo o conjunto
amostral está disponível 1
,lll sx . Assuma, também, que dado
1,
lll sx , é
possível encontrar um conjunto de parâmetros ótimo *. Neste caso, o erro vai
depender da adequação e do nível de flexibilidade do modelo de aproximação
).θ(.,g Este erro é também conhecido como erro de aproximação, ou efeito bias.
Erro de Generalização: em aplicações de mundo real, somente um número finito
de amostras está disponível ou pode ser usado simultaneamente. Além disso, os
dados podem conter ruído. Os valores de g para os quais nenhuma amostra está
disponível devem ser interpolados. Devido a estes fatores pode ocorrer um erro de
generalização, também conhecido como erro de estimação, ou variância.
Erro de Otimização: como o conjunto de dados é limitado, o erro é avaliado
somente nos pontos que pertencem ao conjunto amostral.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 347
Dado o conjunto amostral Nlll 1
,
sx , o vetor de parâmetros = * deve fornecer
a melhor função de aproximação possível com base na representação paramétrica
)θ(.,g e na medida de distância dada pelo funcional de erro.
Se a superfície de erro for contínua e diferenciável em relação ao vetor de
parâmetros (os parâmetros podem assumir qualquer valor real), então os mais
eficientes métodos de otimização não linear irrestrita podem ser aplicados para
minimizar J().
34. Técnicas de Otimização Não linear Irrestrita
Para a maioria dos modelos de aproximação )θ(.,g , o problema de otimização
apresentado na Equação 2 tem a desvantagem de ser não linear e não-convexo, mas
as vantagens de ser irrestrito e permitir a aplicação de conceitos de cálculo
variacional na obtenção da solução *.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 348
Estas características impedem a existência de uma solução analítica, mas permitem
obter processos iterativos de solução, a partir de uma condição inicial 0, na forma:
0,αθθ 1 iiiii d , (3)
onde i P é o vetor de parâmetros, i + é um escalar que define o passo de
ajuste e di P é a direção de ajuste, todos definidos na iteração i.
Os algoritmos de otimização revisados neste capítulo são aplicados na obtenção da
direção de ajuste do processo iterativo dado pela Equação (3) acima.
A forma pela qual cada um dos algoritmos procede no cálculo da direção de ajuste
dos parâmetros e do passo a cada iteração permite estabelecer distinções entre eles.
Quando a direção de minimização está disponível, é preciso definir o tamanho do
passo i + para se determinar o ajuste de parâmetros naquela direção.
Podem ser utilizados inúmeros procedimentos de busca unidimensional na
determinação do passo. Alguns destes procedimentos serão vistos posteriormente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 349
Uma forma comum de classificação dos algoritmos de otimização é baseada na
‘ordem’ da informação que eles devem calcular.
Por ordem queremos dizer ordem das derivadas da função objetivo (funcional de
erro).
A primeira classe de algoritmos não requer mais do que a simples avaliação da
função em diferentes pontos do espaço. Nenhuma derivada está envolvida. São os
chamados métodos sem diferenciação.
A segunda classe de algoritmos faz uso da derivada primeira da função a ser
minimizada. São chamados de métodos de primeira ordem.
Outra classe de algoritmos que será intensamente estuda neste capítulo são os
chamados métodos de segunda ordem, e que utilizam informações sobre a derivada
segunda da função de custo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 350
Uma última divisão inclui os algoritmos cujos parâmetros são ajustados de maneira
empírica, ou seja, através de procedimentos de tentativa e erro. Classificam-se
como métodos empíricos.
ESTRATÉGIAS DE TREINAMENTO
SEM DIFERENCIAÇÃO 1aORDEM 2a ORDEM EMPÍRICOS
GA SA BP GRAD CG QNN-LM QP MOD.
SCG FR PR DFP BFGS
OSSBE
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 351
Mínimos Locais e Globais
O ponto x* é um mínimo local de F(x) se existe um escalar > 0, tal que
F(x*) < F(x + x) para todo x tal que 0 < ||x|| < .
O ponto x* é um mínimo global único de F(x) se F(x*) < F(x + x) para todo
x 0.
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-20
-15
-10
-5
0
5
10
Mínimo local
Mínimo global
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 352
Os métodos discutidos neste tópico têm como objetivo determinar mínimos locais,
que são pontos na vizinhança dos quais o funcional de erro possui o menor valor.
Teoricamente, os métodos de segunda ordem não são mais capazes de encontrar
um mínimo global do que os métodos de primeira ordem.
O problema de determinação de mínimos globais, mesmo dentro de um conjunto
de mínimos locais bem definidos, é difícil devido a impossibilidade fundamental
de se reconhecer um mínimo global utilizando-se apenas informações locais.
Mínimos locais não são únicos por uma de duas razões:
o a função é multimodal;
o se a Hessiana é singular em um mínimo local, este mínimo constitui um
conjunto compacto ao invés de um ponto isolado. Isto é, o valor da função deve
ser constante ao longo de uma direção, de um plano ou de um subespaço maior.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 353
34.1. Métodos Sem Diferenciação
Dentre esses métodos podemos citar simulated annealing (SA), algoritmos
genéticos (GA) e busca exaustiva (BE).
34.2. Métodos de Primeira Ordem
O erro quadrático médio a ser minimizado pode ser apresentado considerando-se
seus termos até segunda ordem pela Equação (4):
)θθ)(θ()θθ()θθ()θ()θ()θ( 2ii
Tii
Tiiquad JJJJ (4)
onde J(i) é o vetor gradiente e 2J(i) é a matriz Hessiana de J(), ambos
calculados no ponto = i, e Jquad() representa a aproximação até segunda ordem
de J().
Nos métodos de primeira ordem apenas os termos constante e linear em da
expansão em série de Taylor são considerados.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 354
Estes métodos, onde unicamente o gradiente local determina a direção de
minimização d (Eq. (3)), são conhecidos como métodos da direção de maior
decrescimento (steepest descent ou gradient descent).
Algoritmo Padrão de Primeira Ordem
Este método funciona como segue. Quando a rede está em um estado i, o
gradiente J(i) é calculado e um passo de minimização na direção oposta ao
gradiente d = J() é efetuado.
No algoritmo padrão, a minimização é geralmente feita com um passo fixo. A
determinação do passo é fundamental, pois para valores muito baixos, o tempo
de treinamento pode tornar-se exageradamente alto, e para valores muito altos os
parâmetros podem divergir.
A velocidade de convergência é geralmente melhorada adicionando-se um termo
de momento:
0,θβαθθ 11 iiiiiii d (5)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 355
Este termo adicional geralmente evita oscilações no comportamento do erro, pois
pode ser interpretado como a inclusão de uma aproximação da informação de
segunda ordem.
Algoritmo:
Método do Gradiente
Dentre os métodos que utilizam diferenciação e busca, o método do gradiente é o
mais simples para obtenção da direção di, pois utiliza apenas informações de
primeira ordem.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 356
Na i-ésima iteração, a direção di é definida como a direção de módulo unitário de
maior decrescimento da função J:
)θ(
)θ(
J
J
d .
A lei de ajuste do método do gradiente é, então, dada por:
)θ(
)θ(αθθ 1
i
iiii
J
J
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 357
Algoritmo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 358
34.3. Métodos de Segunda Ordem
Atualmente estes métodos são considerados a maneira mais eficiente de se fazer o
treinamento de redes neurais do tipo MLP.
Estes algoritmos recorrem a um rigor matemático baseado em modelos de
otimização não linear irrestrita bem definidos, não apresentando assim um vínculo
natural com a inspiração biológica inicialmente proposta para as RNA's.
Todos os métodos a serem descritos a seguir, a exceção dos métodos de gradiente
conjugado escalonado, utilizam um procedimento de busca unidimensional para
encontrar um i que seja solução ótima do problema:
)α(θmin]1,0(α
iiiJi
d .
Método de Newton Modificado
O método de Newton pode ser considerado como o método local básico que utiliza
informações de segunda ordem.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 359
Deve ser enfatizado que a sua aplicação prática aos perceptrons multicamadas é
pouco recomendada uma vez que o cálculo da matriz Hessiana representa um
elevado custo computacional, pois exige a inversão, análise espectral e
armazenagem de uma matriz quadrada que é da ordem do número de parâmetros P
a serem ajustados.
O vetor i+1, é a solução que minimiza exatamente J() dado pela Equação (4),
atendendo portanto a condição de otimalidade:
0θ
)θ(
1
1
i
iquadJ
(6)
Aplicando a Equação (6) na Equação (4) resulta:
)θ()θ(θθ12
1 iiii JJ
, (7)
onde 2J(i) é a matriz Hessiana e J(i) o vetor gradiente.
Utilizando o mesmo raciocínio empregado no caso do método do gradiente, como
a função J() não é necessariamente quadrática, a minimização de sua
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 360
aproximação quadrática θquadJ dada pela Equação (4) pode não fornecer uma
solução i+1 tal que J(i+1) < J(i). A lei de ajuste (7) torna-se então:
)θ()θ(αθθ12
1 iiiii JJ
. (8)
Na forma como foi apresentado acima, o método de Newton ainda não apresenta
garantia de convergência, pois nada pode ser afirmado sobre o sinal da matriz
Hessiana, que deve ser definida positiva por duas razões:
o para garantir que a aproximação quadrática tenha um mínimo; e
o para garantir que a inversa da matriz Hessiana exista, que é a condição
necessária para resolver as Equações (7) ou (8) a cada iteração.
Portanto, é necessário testar a positividade de 2J() a cada iteração, e na
eventualidade de se obter 2J() 0, deve-se aplicar um procedimento de
positivação desta matriz.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 361
Dada uma matriz A simétrica, conhecendo-se o menor autovalor min desta matriz,
é possível obter uma matriz M definida positiva a partir de A na forma:
o se min > 0, então M = A
o se min 0, então M = A + ( - min)I, com > min.
A lei de ajuste do método de Newton torna-se:
)θ(αθθ 11 iiiii J M ,
onde
0λ se)λε()θ(
0λ se)θ(][
min][
min2
][min
2
iiii
iii
J
J
IM
M,
com ][
minλ io autovalor mínimo de Mi. Ainda não existem resultados que conduzam
à determinação automática de um valor ótimo para .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 362
É importante mencionar ainda que em lugar de positivar Mi poder-se-ia, em
princípio, utilizar qualquer outra matriz definida positiva de dimensões
apropriadas.
A razão para optar pelo processo de positivação da Hessiana é a analogia com o
tradicional método de Levenberg-Marquardt (que será visto a seguir) que pode ser
interpretado como uma combinação entre a lei de ajuste do método do gradiente e
a lei de ajuste do método de Newton.
A determinação exata da matriz Hessiana não é uma tarefa fácil. C. BISHOP (1992)
apresenta expressões que permitem o cálculo exato da matriz Hessiana para
arquiteturas MLP com uma ou mais camadas intermediárias.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 363
Algoritmo:
Método de Levenberg-Marquardt
Este método, assim como o método de Newton, é bastante eficiente quando
estamos tratando de redes que não possuem mais do que algumas centenas de
conexões a serem ajustadas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 364
Isto deve-se, principalmente, ao fato de que estes algoritmos necessitam armazenar
uma matriz quadrada cuja dimensão é da ordem do número de conexões da rede.
O funcional de erro apresentado na Equação (1) representa o erro quadrático médio
(MSE).
Se considerarmos como funcional a soma dos erros quadráticos (SSE), e ainda
levarmos em conta que o problema pode ter múltiplas saídas, obtemos a seguinte
expressão para o funcional de erro:
q
k
k
N
i
o
j
ijij rggJ1
2
1 1
2)θ,(ˆ)()θ( xx
(9)
onde N é o número de amostras, r o erro residual, o o número de saídas, e q o
produto N o.
Seja J o Jacobiano (matriz das derivadas primeiras) do funcional J dado pela
Equação (9). Esta matriz pode ser escrita da seguinte forma:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 365
Tq
T
r
r
1
J, onde r é denominado de erro residual.
Diferenciando:
q
k
kkT rJ
1
22 rrJ ,
q
k
kkT rJ
1
222 rJJ
Quando os erros residuais são suficientemente pequenos, a matriz Hessiana pode
ser aproximada pelo primeiro termo da equação acima:
JJTJ 22 .
Esta aproximação geralmente é válida em um mínimo de J para a maioria dos
propósitos, e é a base para o método de Gauss-Newton. A lei de atualização torna-
se então:
rJJJTT 1
θ
.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 366
A modificação de Levenberg-Marquardt para o método de Gauss-Newton é:
rJIJJTT 1
μθ
.
O efeito da matriz adicional I é adicionar a cada autovalor de JTJ.
Uma vez que a matriz JTJ é positiva semi-definida e, portanto, o autovalor mínimo
possível é zero, qualquer valor positivo, pequeno, mas numericamente
significativo, de será suficiente para restaurar a matriz aumentada e produzir uma
direção descendente de busca.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 367
Algoritmo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 368
Método de Davidon-Fletcher-Powell (DFP)
Este método, assim como o método BFGS que será apresentado em seguida, é
classificado como método quase-Newton.
A ideia por trás dos métodos quase-Newton é fazer uma aproximação iterativa da
inversa da matriz Hessiana, de forma que:
12 )(lim
θH Ji
i.
São considerados os métodos teoricamente mais sofisticados na solução de
problemas de otimização não linear irrestrita e representam o ápice do
desenvolvimento de algoritmos através de uma análise detalhada de problemas
quadráticos.
Para problemas quadráticos, gera as direções do método do gradiente conjugado
(que será visto posteriormente) ao mesmo tempo que constrói a inversa da
Hessiana.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 369
A cada passo a inversa da Hessiana é aproximada pela soma de duas matrizes
simétricas de posto 1, procedimento que é geralmente chamado de correção de
posto 2 (rank 2 correction procedure).
Construção da inversa:
iiTi
iTiii
iTi
Tii
iiqHq
HqqH
qp
ppHH 1 , i = 0, 1, …, P – 1.
Onde iii dp α e iiii J pggq )θ(21 .
Note que a avaliação do gradiente em dois pontos fornece informações sobre a
matriz Hessiana 2J().
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 370
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 371
Método de Broyden-Fletcher-Goldfarb-Shanno (BFGS)
iTi
iTii
Tiii
iTi
iiTi
iTi
Tii
iiqp
HqppqH
qp
qHq
qp
ppHH
11 ,
onde p e q são obtidos como anteriormente.
Método das Secantes de um Passo (OSS – One Step Secant)
O termo método de secante provém do fato de que as derivadas são aproximadas
por secantes avaliadas em dois pontos da função (neste caso a função é o
gradiente).
Uma vantagem deste método apresentado por BATTITI (1992; 1994) é que sua
complexidade é de ordem O(P), ou seja, é linear em relação ao número P de
parâmetros, enquanto a complexidade dos métodos DFP e BFGS é de ordem
O(P2).
A nova direção de busca di+1 é obtida como segue:
iiiiii BA qsgd 1 ,
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 372
onde iiii ps θθ 1 .
iTi
iTi
i
iTi
iTi
iTi
iTi
iTi
iTi
i BAqs
gs
qs
gq
qs
gs
qs
;1 .
Os vetores qi e pi são determinados como anteriormente.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 373
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 374
Gradiente Conjugado (GC): Polak-Ribiére (PR) e Fletcher-Reeves (FR)
Existe um consenso geral da comunidade de análise numérica que a classe de
métodos de otimização chamados métodos do gradiente conjugado, tratam de
problemas de grande escala de maneira efetiva.
Os métodos do gradiente conjugado possuem sua estratégia baseada no modelo
geral de otimização apresentado no algoritmo padrão e do gradiente, mas escolhem
a direção de busca di, o passo i e o coeficiente de momento i mais
eficientemente utilizando informações de segunda ordem.
É projetado para exigir menos cálculos que o método de Newton e apresentar taxas
de convergência maiores que as do método do gradiente.
É baseado no método das direções conjugadas proposto para tratar problemas
quadráticos:
θθθ2
1)θ( TTJ bQ
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 375
A lei de ajuste do método das direções conjugadas é dada por:
.)θ(
θθ 1 i
iTi
iTi
ii
Jd
Qdd
d
Antes de aplicarmos a lei de ajuste dada pela Equação (10), é necessário obter as
direções Q-conjugadas di P, i=0,…,P1. Uma maneira de determinar estas
direções é tomá-las na forma (BAZARAA et. al., 1993):
iTi
iT
i
iiii
J
iJ
J
Qdd
Qd
dd
d
)θ(βcom
0β)θ(
)θ(
1i
11
00
.
Para problemas não-quadráticos a matriz Q deve ser aproximada pela matriz
Hessiana calculada no ponto i.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 376
Isso envolve um procedimento de busca unidimensional do passo de ajuste (taxa de
aprendizagem) e a aproximação do parâmetro utilizando informações de primeira
ordem (gradiente).
Uma destas aproximações é dada pelo método de Polak-Ribière (PR).
Se (i mod P 0), faça iiii dgd β1 , onde
iTi
iiTi
igg
ggg 11β
Senão, faça: di = ig .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 377
Algoritmo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 378
Outra aproximação é dada pelo método de Fletcher-Reeves (FR).
Se (i mod P 0), faça iiii dgd β1 , onde 2
21
β
i
ii
g
g
.
Senão, faça: di = ig .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 379
Algoritmo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 380
Método do Gradiente Conjugado Escalonado (SCG)
Os métodos de segunda ordem apresentados até agora utilizam um procedimento
de busca unidimensional para a determinação da taxa de aprendizagem.
A busca unidimensional envolve um grande número de avaliações da função ou de
sua derivada, tornando o processo bastante custoso do ponto de vista
computacional.
MOLLER (1993) introduz uma nova variação no algoritmo de gradiente conjugado
(Gradiente Conjugado Escalonado – SCG), que evita a busca unidimensional a
cada iteração utilizando uma abordagem de Levenberg-Marquardt cujo objetivo é
fazer um escalonamento do passo de ajuste .
Método do Gradiente Conjugado Escalonado Modificado (SCGM)
Uma modificação importante do algoritmo SCG resulta no algoritmo SCGM, que
permite o cálculo exato da informação de segunda ordem.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 381
PEARLMUTTER (1994) propôs a utilização de um operador diferencial capaz de
calcular exatamente o produto entre a matriz Hessiana e qualquer vetor desejado,
sem a necessidade de se calcular e armazenar a matriz Hessiana.
Para o caso dos perceptrons de múltiplas camadas, o vetor a ser multiplicado pela
Hessiana corresponde a direção de busca na iteração anterior.
35. Busca Iterativa da Taxa de Aprendizagem
Uma das formas mais importantes de otimizar o algoritmo de retropropagação
(back-propagation) é determinando automaticamente valores adequados para a
taxa de aprendizagem.
Várias técnicas podem ser sugeridas para o ajuste deste parâmetro durante o
treinamento.
No treinamento em lote o vetor de parâmetros (pesos) só é atualizado depois que
todas as amostras de treinamento foram apresentadas a rede.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 382
Um único valor para o passo é equivalente a multiplicar a direção de ajuste por um
escalar, não alterando assim a direção de ajuste.
Para garantir um passo minimizante na direção de ajuste a cada iteração, métodos
de busca unidimensional devem ser empregados, exigindo um esforço
computacional adicional por iteração.
35.1. Busca Simples do Passo
Um método bastante simples de determinação do valor de ajuste da taxa a cada
iteração é apresentado abaixo (P é o valor provisório do vetor de parâmetros):
1. iai t αα ; )θ(
)θ(αθθ 1
i
iii
p
iJ
J
; calcule p
iJ 1θ
2. Enquanto piJ 1θ J(i) faça:
2.1. iri t αα
2.2. )θ(
)θ(αθθ 1
i
iii
p
iJ
J
3. p
ii θθ
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 383
Este método faz apenas uma avaliação da função caso seja determinado uma
redução no erro na primeira tentativa.
Caso contrário, avalia a função quantas vezes forem necessárias para garantir um
comportamento monotonicamente decrescente do funcional de erro.
É importante observar que, a menos que haja problemas de precisão numérica na
representação computacional, é sempre possível encontrar um i > 0 que garanta
um passo minimizante.
No entanto, este método de busca não conduz a um valor ótimo para i.
O objetivo aqui é apenas encontrar um passo i tal que J(i+1) < J(i), e não
iαmin J(i+1).
Os algoritmos a serem apresentados a seguir descrevem métodos de busca que
procuram resolver o problema iα
min J(i+1).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 384
35.2. Método de Fibonacci
O método de Fibonacci é um procedimento de busca unidimensional do passo cujo
objetivo é minimizar uma função estritamente quase-convexa em um intervalo
fechado e limitado.
O método de Fibonacci faz duas avaliações da função no primeiro passo e apenas
uma avaliação nos passos seguintes (BAZARAA et. al., 1993).
A ideia por trás deste método é encontrar um valor ótimo para i em um intervalo
]α,0( , denominado intervalo de incerteza.
Para tanto, promove-se uma redução contínua do intervalo de incerteza a cada
iteração da função até que seja atingido um intervalo de incerteza suficientemente
pequeno.
O valor ótimo de i é tomado como o ponto central (ou um dos extremos) deste
intervalo resultante.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 385
Este método, assim como o método da Seção Áurea e da Falsa Posição, que serão
apresentados em seguida, utiliza a seguinte metodologia:
o Dado um ponto i, encontre um passo satisfatório α que gere um novo ponto
θ = i + α di.
Determinar o passo i envolve a solução do subproblema ]α,0(α i
min J(i + idi), que é
um problema de busca unidimensional.
Considere a função J : P ; para d P fixo, a função g: , tal que
g() = J(i+ idi) depende apenas do escalar i (0, α ].
O método é baseado na sequência de Fibonacci {Fv}:
Fv+1 = Fv + Fv-1, v = 1, 2, …
F0 = F1 = 1
A sequência torna-se então 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ….
Na iteração i suponha que o intervalo de incerteza seja [ai, bi].
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 386
Sejam dois pontos quaisquer i e i, e dN o tamanho final desejado do intervalo de
incertezas.
Conhecendo o valor de dN (arbitrário) é possível saber quantas iterações (N) serão
necessárias para determinar o passo .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 387
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 388
35.3. Método da Seção Áurea
Os princípios deste método são os mesmos do método de Fibonacci, a diferença
reside apenas na forma de determinação dos pontos i e i.
A sequência de Fibonacci não precisa mais ser gerada, reduzindo sensivelmente o
custo computacional do método.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 389
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 390
35.4. Método da Falsa Posição
Solucionar o problema ]α,0(α i
min J(i + idi), significa minimizar uma função
unidimensional.
Estratégias comuns como o método de Newton e outros podem ser utilizados.
A maior desvantagem do método de Newton é a necessidade de se efetuar o
cálculo da derivada segunda da função.
O algoritmo da falsa posição possui três diferenças básicas em relação aos
algoritmos de busca vistos até agora (Fibonacci e Seção Áurea):
o necessita efetuar o cálculo da derivada da função a cada iteração;
o calcula o valor do passo ótimo minimizando a função J(i + idi), ao invés de
reduzir o intervalo de incerteza;
o possível critério de parada: N
i
iid
θ
θθ 1
.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 391
36. Comparação de Desempenho
Para a análise dos algoritmos estudados e validação dos métodos propostos, foram
abordados oito problemas (benchmarks).
Estes problemas podem ser divididos em três grupos:
o problemas de paridade;
o classificação; e
o aproximação de funções.
Seja k o número de entradas, N o número total de amostras e m o número de saídas
da rede.
o XOR - paridade: k = 2; N = 4 e m = 1
o COD/DEC - paridade: k = 10; N = 10 e m = 10
o sen(x).cos(2x) - aproximação de funções: k = 1; N = 21 e m = 1
o ESP - aproximação de funções: k = 2; N = 75 e m = 5
o SOJA - aproximação de funções: k = 36; N = 144 e m = 1
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 392
o IRIS - classificação: k = 4; N = 150 e m = 1
o ECOLI - classificação: k = 7; N = 336 e m = 1
o GLASS - classificação: k = 10; N = 214 e m = 1
Algoritmos Implementados:
o Algoritmo padrão (BP)
o Método do gradiente (GRAD)
o Fletcher & Reeves (FR)
o Pollak-Ribière (PR)
o Gradiente conjugado escalonado modificado (SCGM)
o One step secant (OSS)
o Davidon-Fletcher-Powell (DFP)
o Broyden-Fletcher-Goldfarb-Shanno (BFGS)
36.1. Desempenho: Velocidade de Convergência
Exemplo de desempenho: função sen(x).cos(2x).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 393
Net: [1, 10, 1] SSE: 0.1
P: 31 bp: 0.005
N: 25 : 0.95
Nci: 20 Inic.: [-1.0; 1.0]
ÉPOCAS ||J()|| flops 106 T(seg.)
BP 15257 0.021516 195.86 374.67
GRAD 11324 0.022548 143.74 342.45
FR 360 0.623722 32.21 60.81
PR 414 0.328516 36.41 65.00
OSS 2709 0.251328 282.89 469.95
SCGM 172 0.717829 17.19 23.63
DFP 134 0.325639 21.39 19.74
BFGS 199 0.568088 35.35 33.23
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 394
Estatísticas
12,5%
75,0%
12,5%
FR
SCG
DFP
16,7%
66,7%
16,7%
GRAD
SCG
DFP
33,3%
66,7%
GRAD
SCG
(a) (b) (c)
Comparação geral de desempenho dos algoritmos em relação aos oito problemas
abordados. Os valores percentuais indicam o quanto cada um dos algoritmos
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 395
mostrou-se superior aos outros para todos os problemas. (a) Número de épocas para
convergência. (b) Menor tempo de processamento. (c) Menor esforço computacional.
36.2. Capacidade de Generalização
Problema sen(x).cos(2x) com ruído uniforme em [0.15, +0.15]:
Ntr = Nte = Nval = 25.
s MSE FVU EP flops106
MSEtr MSEval MSEte FVUtr FVUval FVUte
BP 6 0.02165 0.03404 0.02536 0.08242 0.13727 0.09463 2640 39.50
GRAD 4 0.12843 0.11780 0.13875 0.48899 0.47500 0.51780 1120 20.68
FR 4 0.00522 0.01003 0.01281 0.01988 0.04044 0.04779 730 70.10
PR 4 0.00432 0.01088 0.01142 0.01645 0.04387 0.04262 1310 114.78
SCG 4 0.00275 0.01136 0.01238 0.01047 0.04582 0.04621 1390 129.63
OSS 4 0.02178 0.03457 0.02529 0.08294 0.13941 0.09439 590 79.20
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 396
DFP 6 0.00605 0.01171 0.01103 0.02305 0.04723 0.04115 2350 305.62
BFGS 4 0.00466 0.01184 0.01251 0.01773 0.04773 0.04669 1220 199.42
Estatísticas
33,3%
50,0%
16,7%
FR
SCG
PR
16,7%
50,0%
16,7%
16,7%
FR
SCG
PR
DFP
16,7%
16,7%
16,7%16,7%
16,7%
16,7%
BP
SCG
FR
PR
GRAD
DFP
Comparação geral da capacidade de generalização dos algoritmos em relação a seis
dos oito problemas abordados. Os valores percentuais indicam o quanto cada um dos
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 397
algoritmos mostrou-se superior aos outros para todos os problemas. (a) Menor erro
de treinamento. (b) Menor erro de validação. (c) Menor erro de teste.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 398
37. Referências sobre Otimização Não Linear para
Treinamento de Redes MLP Wolpert, D. H. and Macready, W. G. (1997), “No Free Lunch Theorems for Optimization”, IEEE Trans. on
Evolutionary Computation, 1(1), pp. 67-82.
Van Der Smagt P., P, “Minimization Methods for Training Feedforward Neural networks,” Neural Networks,
vol 1, n° 7, 1994.
Bishop C., “Exact Calculation of the Hessian Matrix for the Multilayer Perceptron,” Neural Computation,
vol. 4, pp. 494-501, 1992.
Battiti R., “First- and Second-Order Methods for Learning: Between Steepest Descent and Newton’s
Method”, Neural Computation, vol. 4, pp. 141-166, 1992.
Battiti R., “Learning with First, Second, and no Derivatives: A Case Study in High Energy Physics”,
Neurocomputing, NEUCOM 270, vol. 6, pp. 181-206, 1994.
Bazaraa M., Sherali H.D. & Shetty C.M., “Nonlinear Programming – Theory and Algorithms”, 2° edição,
John Wiley & Sons Inc., 1993.
Moller M.F., “A Scaled Conjugate Gradient Algorithm for Fast Supervised Learning”, Neural Networks, vol.
6, pp. 525-533, 1993.
Pearlmutter B.A., “Fast Exact Calculation by the Hessian”, Neural Computation, vol. 6, pp. 147-160, 1994.
Prechelt L., “Automatic Early Stopping Using Cross Validation: Quantifying the Criteria”, Neural Networks,
vol. 11, n° 4, pp. 761-767, 1998.
Sarle W.S., “Stopped Training and Other Remedies for Overfitting”, Proceedings of the Symposium on the
Interface, 1995.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 399
Prechelt L., “Early Stopping - but when?”, Technical Report, 1997, URL: http://
wwwipd.ira.uka.de/~prechelt/Biblio/stop_tricks1997.ps.gz
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 400
38. Máquinas de Vetores Suporte
Nota: Material extraído (com autorização) de Semolini (2002) e também preparado
com base nos livros: (Haykin, 1999; Cristianini & Shawe-Taylor, 2000).
As Máquinas de Vetores Suporte (Support Vector Machines – SVM) implementam
um mapeamento não linear, executado por um produto interno kernel escolhido a
priori, dos dados de entrada para um espaço característico de alta dimensão em que
um hiperplano ótimo é construído para separar os dados linearmente em duas
classes.
Quando os dados de treinamento são linearmente separáveis, o hiperplano ótimo
no espaço característico é aquele que apresenta a máxima margem de separação.
Para dados de treinamento em que as amostras das diversas classes apresentam
superposição (dados não linearmente separáveis), uma generalização deste
conceito é usada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 401
As SVMs baseiam-se nos princípios da minimização do risco estrutural,
proveniente da teoria do aprendizado estatístico, a qual está baseada no fato de que
o erro do algoritmo de aprendizagem junto aos dados de teste (erro de
generalização), é limitado pelo erro de treinamento mais um termo que depende da
dimensão VC (dimensão de Vapnik-Chervonenkis), que é uma medida da
capacidade de expressão de uma família de funções.
O objetivo é construir um conjunto de hiperplanos tendo como estratégia a
variação da dimensão VC, de modo que o risco empírico (erro de treinamento) e a
dimensão VC sejam minimizados simultaneamente.
Será visto que durante a construção do hiperplano ótimo a maximização da
margem de separação implica na minimização da dimensão VC.
Desta forma, o hiperplano ótimo efetua uma completa realização do princípio de
minimização do risco estrutural.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 402
O treinamento da SVM consiste em um problema de otimização quadrático que é
atrativo pela garantia da convergência para um mínimo global da superfície de
erro.
O problema de otimização primal é transformado em sua versão dual, o que
elimina o problema da dimensionalidade, tornando o número de parâmetros
ajustáveis dependente apenas da quantidade de dados de treinamento.
O uso de um produto interno kernel oferece uma solução alternativa para projetar
os dados em um espaço característico de alta dimensão.
39. Otimização e Produto Interno Kernel
39.1. Conceitos de Otimização
Formulação geral de um problema de minimização com restrições:
Definição 1 : (Problema de otimização primal)
Minimizar f(w), w n.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 403
Sujeito a: gi(w) 0, i = 1 , . . . , k;
hj(w) = 0, j = 1 , . . . , m.
onde f : n é a função-objetivo;
gi : n , i = 1,... , k; hj : n , j = 1,... , m
são utilizadas para definir as restrições funcionais.
A região factível será denotada por:
F = {w : gi(w) 0, i = 1,... , k ; hj(w) = 0, j = 1,... , m}.
A solução do problema de otimização será o ponto w* F tal que não exista outro
ponto w F com f(w) < f(w*). Este ponto será chamado de mínimo global.
Quando > 0 tal que f(w) f(w*), w com ||w w*|| < , o ponto w* será
chamado de mínimo local.
Quando a função f é convexa, um mínimo local w* é também mínimo global.
Um problema de otimização em que a função-objetivo é quadrática e as restrições
são todas lineares, é chamado de problema de otimização quadrático, e se a
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 404
função-objetivo e todas as restrições são convexas o problema é chamado de
convexo.
No problema de treinamento para Support Vector Machines, as restrições serão
lineares e a função-objetivo será convexa e quadrática. Com isso o problema de
otimização também será convexo e quadrático.
Para resolver este tipo de problema de otimização, faz-se necessário apresentar a
Teoria Lagrangeana e suas extensões.
A Teoria Lagrangeana foi desenvolvida por Lagrange, em 1797, apenas com
restrições de igualdade, generalizando os resultados de Fermat de 1629. Em 1951,
Kuhn e Tucker estenderam o método e permitiram restrições de desigualdade. Este
novo método conduz às conhecidas condições de Kuhn-Tucker.
Teorema 1: (Fermat)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 405
A condição necessária para w* ser um mínimo de f(w), f C1, onde C1 é o
conjunto das funções contínuas em , é que f(w*)/w = 0. Esta condição, junto
com a de convexidade de f, é também uma condição suficiente.
Em problemas restritos é necessária uma função que incorpore tanto a função-
objetivo quanto as restrições, e que sua estacionariedade defina a solução.
Esta função é a Lagrangeana (L : nm ), que é definida como uma
combinação linear da função-objetivo e cada restrição associada ao seu respectivo
multiplicador de Lagrange j,
m
j
jjhfL1
)()(),( www
Teorema 2: (Lagrange)
A condição necessária para o ponto w* ser um mínimo de f(w), sujeito a
hj(w) = 0, j = 1, ... , m com f, hj C1, j = 1, . .. , m é:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 406
0*)*,(;0*)*,(
ww
w
LL
A condição acima é também suficiente se L(w,*) é uma função convexa em w.
Considere agora o caso mais geral de um problema de otimização no qual existem
restrições tanto de igualdade como de desigualdade, como o problema da
Definição 1. Assim, a função Lagrangeana generalizada (L : nkm ) é
dada por:
m
j
jj
k
i
ii hgfL11
)()()(),,( wwww
É conveniente agora definir o problema dual Lagrangeano e em seguida três
teoremas sobre dualidade.
Definição 2:
O problema dual Lagrangeano referente ao problema primal da Definição 1 é
o seguinte:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 407
Maximizar (, ).
Sujeito a: 0.
onde (,) = infw L(w,,).
Teorema 3 : (Teorema fraco da dualidade)
Sendo a região factível do problema primal da Definição 1 e (*,*) a
solução factível do problema dual da Definição 2, então f(w) (*,*) para
w .
Este teorema afirma que o valor da solução dual é limitada superiormente pelo
valor da solução primal.
Se f(w*) = (*,*), onde as restrições do problema primal e dual são satisfeitas,
então w* e (*,*) resolvem o problema primal e dual respectivamente. Neste caso,
i*gi(w
*) = 0, para i = 1, . . . , k.
Resolvendo e comparando as soluções dos problemas primal e dual, espera-se que
a diferença entre as duas soluções no ponto ótimo seja zero. Contudo esta
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 408
expectativa nem sempre é atendida e a diferença entre os valores do problema
primal e dual é chamado de gap de dualidade.
Um caminho para detectar a ausência do gap de dualidade é a presença de um
ponto de sela (w*,*,*) satisfazendo L(w*,,) L(w*,*,*) L(w,*,*), com
w , k e m.
Teorema 4:
A tripla (w*,*,*) é um ponto de sela da função Lagrangeana para o problema
primal se, e somente se, seus componentes são a solução ótima dos problemas
primal e dual e não há gap de dualidade. Assim os dois problemas têm custo
dado por:
f(w*) = (*,*).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 409
Teorema 5: (Teorema forte da dualidade)
Dado o problema de otimização da Definição 1 com domínio convexo e gi, i =
1,... , k e hj, j = 1,... , m sendo funções afins, ou seja, do tipo h(w) = Aw b, o
gap de dualidade é igual a zero.
Teorema 6: (Condições de Kuhn-Tucker)
Dado o problema de otimização da Definição 1 com o domínio convexo, f C1
convexa, gi, i = 1,... , k e hj, j = 1,... , m sendo funções afins, a condição
necessária e suficiente para o ponto w* ser o ótimo é a existência de *, *
satisfazendo:
;0),,(
;0),,(
***
***
w
w
L
w
L
i*gi(w
*) = 0, i = 1, . . . , k;
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 410
gi(w*) 0, i = 1, . . . , k;
i* 0, i = 1, . . . , k.
O tratamento Lagrangeano para o problema de otimização convexo fornece a
alternativa da descrição dual, que frequentemente tende a ser mais fácil de ser
resolvida do que a descrição primal, a qual apresenta restrições de desigualdade
difíceis de serem resolvidas.
Esta estratégia tornou-se padrão na teoria de Support Vector Machines, porque a
representação dual permitirá trabalhar em um espaço de alta dimensão, devido ao
número de parâmetros ajustados não depender do número de atributos sendo
utilizados (dimensão dos dados de entrada).
Veremos posteriormente que as amostras associadas aos multiplicadores de
Lagrange maiores do que zero (restrições ativas) serão denominadas de vetores-
suporte.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 411
39.2. Produto Interno Kernel
O nome kernel é derivado da teoria do operador integral.
A teoria de kernels é antiga, o teorema de Mercer foi escrito em 1908. Porém, o
conceito de produto interno kernel foi primeiro utilizado por Aizerman et al.
(1964a, 1964b) na formulação do método de funções potenciais, que representaram
os precursores dos modelos de regressão com funções de base radial.
Aproximadamente no mesmo período, em 1965, Vapnik e Chervonienkis (Vapnik
& Chervonienkis, 1974) desenvolveram o conceito do hiperplano ótimo (a ser
discutido posteriormente).
A combinação do uso destes dois poderosos conceitos, feita por Vapnik, originou a
formulação de Support Vector Machines.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 412
39.2.1. Espaço Característico
Uma estratégia de pré-processamento em algoritmos de aprendizado como os que
serão considerados neste estudo, envolve a mudança de representação dos dados na
forma:
x = (x1, x2, ..., xm) (x) = (1(x), 2(x), ..., M(x)), onde M >> m.
Este passo é equivalente ao mapeamento não linear do espaço dos dados de entrada
X em um novo espaço, F = {(x) | x X}, chamado de espaço característico.
Iremos denotar o vetor {j(x)}1 j M como o conjunto de transformações não
lineares definidas a priori.
As medidas originais de representação dos dados serão chamadas de atributos e as
medidas no espaço F serão chamadas de características.
A Figura 22 mostra um exemplo de mapeamento não linear dos dados de entrada
pertencentes a um espaço bidimensional para um espaço característico de mesma
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 413
dimensão (na prática este mapeamento é feito para um espaço de dimensão muito
maior do que a original).
A ideia é que no primeiro espaço os dados não podem ser separáveis por um
hiperplano, mas no segundo espaço isto seria possível.
x
x
x
x
xx
x
x
x
xo
o
oo
oo
(x)
(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
x
x
x
x
xx
x
x
x
xo
o
oo
oo
(x)
(x)
(x)
(x)
(x)
(x)(x)
(x) (x)
(x)
(o)
(o)
(o)
(o)
(o)
(o)
Dimensão = m Dimensão = M >> m
Figura 22: Um espaço de características pode simplificar a tarefa de classificação.
Portanto, é possível construir um algoritmo em dois passos:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 414
Primeiro: um mapeamento não linear, escolhido a priori, mapeia os dados de
entrada para um espaço característico F, e depois um hiperplano é utilizado
como superfície de decisão para classificar os dados neste novo espaço:
M
j
jj b1
0)(xw ,
onde {wj} 1 j M é o vetor de pesos e b o bias. Pode-se simplificar este hiperplano
escrevendo:
,0)()(0
M
j
T
jj xwxw (1)
onde 0(x) = 1, para todo x, faz o papel do bias.
O vetor (x) representa a imagem induzida no espaço característico a partir do
vetor de entrada x.
Será visto posteriormente que o vetor de pesos poderá ser substituído por:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 415
,)(1
N
i
iii y xw (2)
onde (xi) corresponde à imagem induzida do i-ésimo padrão de entrada.
Substituindo a Eq. (2) na Eq. (1), é possível definir a superfície de decisão
calculada no espaço característico como:
.0)()(1
N
i
i
T
ii y xx (3)
O termo T(xi)(x) representa o produto interno de dois vetores induzidos no
espaço característico pelo vetor de entrada x e pelo i-ésimo padrão xi.
Agora é possível introduzir o produto interno kernel denotado por K(x,xi) e
definido como segue:
,)()()()()(0
M
j
jiji
T
iK xxxxxx, para i = 1, 2, . . . , N . (4)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 416
O produto interno kernel apresenta características importantes por ser uma função
simétrica em seus argumentos: K(x, xi) = K(xi, x).
O mais importante é que se pode usar o produto interno kernel para construir o
hiperplano ótimo no espaço característico sem ter que considerar este espaço de
forma explícita. Isto pode ser visto substituindo a Eq. (4) na Eq. (3):
.0)(1
N
i
iii Ky xx, (5)
Teorema 7: (Mercer)
A expansão da Eq. (4) para o produto interno kernel K(x,xi) é um caso especial do
teorema de Mercer, que surgiu no contexto de análise funcional. Este teorema pode
ser formulado como segue:
Seja K(x,x') uma função kernel contínua e simétrica definida na região fechada
[a,b][a,b]. A função kernel K(x,x') pode ser expandida em uma série:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 417
1
)'()()'(i
iiiK xxxx,
com coeficientes i > 0. Para esta expansão ser válida e convergir
absolutamente e uniformemente, é uma condição necessária e suficiente que :
b
a
b
a
ddK 0')'()()',( xxxxxx
para todo () no qual
b
a
dxx)(2 .
As funções (x) são chamadas de auto-funções (eigenfunctions) da expansão e os
coeficientes i são chamados de autovalores. O fato de todos os autovalores serem
positivos significa que a função kernel é definida positiva.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 418
39.2.2. Produtos Internos Kernel Usados em SVMs
O principal requisito para o produto interno kernel ser utilizado em SVM é que ele
satisfaça o teorema de Mercer.
Os três tipos mais comuns de produtos internos kernel utilizados em SVM são:
Função de Base Radial (RBF):
K(x,x') = exp(||x' x||2 / 22) , (6)
onde o parâmetro 2 (interpretado como a variância da RBF) é especificado a priori
pelo usuário.
Função Polinomial:
K(x,x') = (x'Tx + 1)d , (7)
onde a parâmetro d (grau do polinômio) é especificado a priori pelo usuário.
Perceptron:
K(x,x') = tanh(0x'Tx + 1), (8)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 419
onde 0 e 1 são os parâmetros ajustados pelo usuário, sendo que apenas para
determinados valores destes parâmetros o teorema de Mercer é satisfeito.
40. Teoria do Aprendizado Estatístico
É considerada a melhor teoria atualmente disponível para a estimação estatística de
amostras finitas, estudo da dependência funcional e do aprendizado preditivo
(Vapnik, 1998).
Considere {(xi,yi)}i = 1,...,N, onde xi m, yi , denotando os pares de dados de
entrada e saída de treinamento, independentes e identicamente distribuídos,
gerados de acordo com alguma função densidade de probabilidade conjunta
desconhecida Fx,y(x,y).
O problema do treinamento supervisionado é encontrar uma função particular
F(x,w) = ŷ, sendo w o vetor de parâmetros ou pesos, de tal modo que ŷi aproxima
a resposta desejada yi de acordo com algum critério estatístico.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 420
A viabilidade do treinamento supervisionado depende das amostras de treinamento
conterem informação suficiente para a construção de um algoritmo capaz de gerar
um bom desempenho de generalização.
A medida de perda ou discrepância entre a resposta desejada yi e a resposta obtida
ŷ= F(x,w) é a função de erro.
Um ponto forte da teoria do aprendizado estatístico é o de não depender da forma
da função de erro.
Como exemplo, utilizaremos o caso do problema de regressão, onde é comum o
uso da função de erro quadrático dada por:
L(y, F(x,w)) = (y F(x,w))2.
O objetivo do aprendizado supervisionado é encontrar uma função F(x,w) dentre
uma classe de funções {F(x,w), w W} que minimize a função-risco:
R(w) = L(y, F(x,w)) dFx,y(x,y). (9)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 421
Dado o conjunto de treinamento {(xi,yi)}i = 1,...,N, e utilizando os princípios indutivos
da minimização do risco empírico, a minimização da função-risco desconhecida é
substituída pela minimização da função-risco empírico conhecida:
.)),(,(1
)(1
N
i
iiemp FyLN
R wxw (10)
A ideia básica da minimização do risco empírico é trabalhar com a função Remp(w)
que difere de R(w) em dois aspectos:
independe da função densidade de probabilidade conjunta desconhecida Fx,y(x,y);
pode ser minimizada com respeito ao vetor de pesos w.
Seja wemp e F(x,wemp) o vetor de pesos e o correspondente mapeamento que
minimiza a função-risco empírico (10), e similarmente wo e F(x,wo) o vetor de
pesos e o correspondente mapeamento que minimiza a função-risco (9), ambos os
vetores pertencentes a W. O problema apresentado é sobre quais condições o
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 422
mapeamento aproximado F(x,wemp) está “próximo” do mapeamento desejado
F(x,wo), medidos pela diferença entre Remp(w) e R(w).
Para algum w = w* fixo, a função-risco R(w*) determina a esperança matemática
da variável aleatória definida por:
Zw* = L(y, F(x,w*)).
Por outro lado, a função-risco empírico Remp(w*) é a média aritmética (empírica)
da variável aleatória Zw*.
De acordo com a lei dos grandes números, nos casos gerais em que o tamanho do
conjunto de treinamento N cresce para infinito, a média empírica da variável
aleatória Zw* converge para seu valor esperado.
Isto proporciona uma justificativa teórica para o uso da função-risco empírica
Remp(w) no lugar da função-risco R(w).
Definição 3: (Vapnik, 1995)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 423
Pode-se dizer que o Princípio da Minimização do Risco Empírico é consistente
para um conjunto de funções L(y, F(x,w)), w W e para a função densidade de
probabilidade Fx(x) se as seguintes duas sequências convergem em
probabilidade para o mesmo limite (ver Figura 23):
).(inf)(
);(inf)(
Pr
Pr
ww
ww
w
w
RR
RR
W
ob
NNemp
W
ob
NN
N
Remp(wN)
R(wN)
infwR(w)
N
Remp(wN)
R(wN)
infwR(w)
Figura 23: Consistência da minimização do risco empírico.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 424
Em outras palavras, o princípio da Minimização do Risco Empírico é consistente
se ele fornece uma sequência de funções L(y, F(x,wN)), com N = 1,2, ... para o qual
o risco esperado e o risco empírico convergem para o mínimo valor possível do
risco.
Porém, somente porque a média empírica de Zw* converge para seu valor esperado,
não há razão para esperar que o vetor de pesos wemp, que minimiza Remp(w),
minimizará também R(w).
Esta exigência será satisfeita da seguinte maneira: se Remp(w) aproxima R(w)
uniformemente em w com alguma precisão , então o mínimo de Remp(w) diverge
do mínimo de R(w) por uma quantidade que não excede 2.
Formalmente, isto significa que é possível impor uma condição estrita de que, para
qualquer w W e > 0, a relação probabilística abaixo é valida:
NquandoRRP emp 0)()(sup ww
w (11)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 425
Quando a Eq. (11) é satisfeita, é dito que ocorre a convergência uniforme do vetor
de pesos w do risco empírico médio para o seu valor esperado.
Esta convergência é uma condição necessária e suficiente para o princípio da
minimização do risco empírico (Vapnik, 1982, 1998).
Uma interpretação deste princípio é que, antes de empregar um algoritmo de
aprendizado, todas as funções de aproximação são igualmente prováveis
(plausíveis).
Com a progressão da execução do algoritmo de aprendizado, a plausibilidade das
funções de aproximação F(x,w) que são consistentes com as amostras de
treinamento são aumentadas.
Conforme o tamanho do conjunto de treinamento N cresce e o espaço de entrada é
por meio disso densamente povoado, o ponto mínimo da função-risco empírico
Remp(w) converge em probabilidade para o ponto mínimo da verdadeira função-
risco R(w).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 426
40.1. Dimensão VC
A teoria da convergência uniforme da função-risco empírico Remp(w) para a real
função-risco R(w) inclui limitantes na razão de convergência, que são baseados em
um importante parâmetro denominado de dimensão Vapnik e Chervonenkis, ou
simplesmente dimensão VC (Vapnik & Chervonenkis, 1971).
A dimensão VC é uma medida da capacidade ou força de expressão de uma família
de funções classificadoras obtidas por meio de um algoritmo de aprendizagem.
Considere um problema de classificação de padrões binários, y {0,1}. Seja um
conjunto de implementações dicotômicas (funções classificadoras binárias) por um
algoritmo de aprendizado, isto é:
= {F(x,w): wW, F: mW {0,1}}.
Seja X o conjunto de N pontos em um espaço de entrada m-dimensional, isto é:
X = {xi ; i = 1, 2, . . . , N}.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 427
A implementação dicotômica de um algoritmo de aprendizagem, que divide X em
dois subconjuntos disjuntos X0 e X1, pode ser escrita da seguinte maneira:
F(x,w) = {0 para x X0; 1 para x X1}.
Seja (X) o número de implementações dicotômicas distintas pelo algoritmo de
aprendizado, e (l) o máximo de (X) sobre todo X com |X | = l, onde a
cardinalidade |X | é o número máximo de elementos de X.
Pode-se dizer que X é particionado por se (X) = 2|X|, isto é, se todas as divisões
binárias de X podem ser produzidas pelas funções em .
A função (l) é conhecida como função de crescimento.
A Figura 24 ilustra, em um espaço bi-dimensional o conjunto X consistindo de
três pontos x1, x2 e x3 , e todas as partições binárias produzidas por funções em .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 428
x1
x2
x3x1
x2
x3
Figura 24: Três pontos no 2 particionados por retas orientadas.
Com o conjunto X consistindo de três pontos e a cardinalidade dada por |X| = 3,
consequentemente (X) = 23 = 8, como podemos observar na Figura 24.
É possível definir formalmente a dimensão VC como (Vapnik & Chernovenkis,
1971):
A dimensão VC de um conjunto de funções dicotômicas é a cardinalidade do
maior conjunto X que é particionado por .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 429
Em outras palavras, a dimensão VC de , denotada por VCdim(), é o maior N tal
que (N) = 2N.
Em termos mais familiares, a dimensão VC de um conjunto de funções de
classificação {F(x,w): w W} é o número máximo de amostras de treinamento
que podem ser classificadas sem erro, para todas as possíveis atribuições de rótulos
às amostras.
41. O Hiperplano Ótimo
41.1. Hiperplano Ótimo para Classes Linearmente Separáveis
Considere um conjunto de pares entrada-saída {(xi,yi)}i = 1,...,N, onde xi m, yi
{1, + 1}.
Classificações binárias são frequentemente realizadas pelo uso de funções
g : X m com a seguinte estratégia: as amostras são designadas para a
classe positiva se g(x) 0 e, caso contrário, para a classe negativa.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 430
Assuma inicialmente que as classes são linearmente separáveis.
A superfície de decisão será representada por um hiperplano na forma:
g(x) = wTx + b = 0 (12)
onde, w m é o vetor de pesos, e b é o bias.
Assim podemos aplicar a seguinte estratégia de decisão:
wTx + b 0 para y = +1 (13)
wTx + b < 0 para y = 1
Para descrever o lugar geométrico dos hiperplanos separadores, será utilizada a
seguinte forma canônica (onde o vetor w e o escalar b são re-escalados de tal
maneira a atender as desigualdades):
wTx + b +1 para y = +1 (14)
wTx + b 1 para y = 1
A seguir é apresentada a notação compacta para as desigualdades (14):
y [wTx + b] 1. (15)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 431
Para um dado vetor de pesos w e bias b, a separação entre o hiperplano
g(x) = wTx + b = 0 e o dado de entrada mais perto é chamada de margem de
separação denotada por .
Sempre que for possível obter um > 0, existirão infinitos hiperplanos, dentre os
quais se busca um hiperplano particular em que a margem de separação é
maximizada.
De acordo com esta condição, a superfície de decisão é dita ser o hiperplano ótimo
(Vapnik & Chervonenkis, 1974) e a técnica de aprendizado de máquina utilizada
para a determinação deste hiperplano é denominada Support Vector Machine
(SVM), sendo que os dados de treinamento que se encontram à distância do
hiperplano são chamados vetores-suporte (support vectors).
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 432
Vetores-Suporte
Hiperplano
Ótimo
Maximização :
Margem de Separação
Vetores-Suporte
Hiperplano
Ótimo
Maximização :
Margem de Separação
Figura 25: Hiperplano ótimo.
Os dados para os quais o resultado da Eq. (15) é igual a 1 são os vetores-suporte,
pois são aqueles que se encontram à distância do hiperplano ótimo.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 433
Considere a forma canônica (14) com a seguinte modificação (hiperplanos com
margem igual a 1 são conhecidos como hiperplanos canônicos):
wTx
sv+ + b = +1 , sendo xsv+ um vetor-suporte pertencente à classe y = +1; (16)
wTx
sv- + b = 1 , sendo xsv um vetor-suporte pertencente à classe y = 1.
Para calcular a distância algébrica dos vetores-suporte ao hiperplano ótimo, ou
seja, o valor da margem , é preciso primeiro normalizar o vetor de pesos w.
Usando a equação do hiperplano canônico (Eq. 16), temos:
.1
2
1
wx
w
wx
w
w
sv
T
sv
T
(17)
A Eq. (17) mostra que maximizar a margem de separação entre as classes é
equivalente a minimizar a norma euclidiana do vetor de pesos w.
Em resumo, o hiperplano ótimo definido pela Eq. (15), apresenta um vetor de
pesos w que leva à máxima separação entre as amostras positivas e negativas.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 434
Esta condição ótima é alcançada minimizando a norma euclidiana do vetor de
pesos w.
41.2. Hiperplano Ótimo para Classes Não linearmente Separáveis
No caso de dados não linearmente separáveis, embora não seja possível construir
um classificador linear (hiperplano separador) sem erros de classificação, é
possível encontrar um hiperplano que minimiza a probabilidade do erro de
classificação junto às amostras de treinamento.
Sendo assim, a margem de separação entre as classes é dita ser flexível (soft), pois
irão existir pontos {(xi,yi)}i = 1,...,N, que violam a Eq. (15).
Esta violação pode acontecer de três maneiras, conforme ilustrado na Figura 26.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 435
x
x
x
x
xx
xx
Hiperplano
ótimo
Vetores-
suportes
Margem
Ponto
xi
x
x
x
x
xx
xx
Ponto
xi
(a) (b)
x
x
x
x
xx
xx
Ponto xi
(c)
x
x
x
x
xx
xx
Hiperplano
ótimo
Vetores-
suportes
Margem
Ponto
xi
x
x
x
x
xx
xx
Ponto
xi
(a) (b)
x
x
x
x
xx
xx
Ponto xi
(c)
Figura 26: Violação das margens de classificação. (a) Ponto xi encontra-se dentro da região de
separação e no lado correto. (b) Ponto xi encontra-se no lado incorreto da superfície de decisão,
porém dentro da região de separação. (c) Ponto xi encontra-se no lado incorreto da superfície de
decisão e fora da região de separação.
Para tratar o problema de classes não linearmente separáveis, é introduzida uma
nova variável não-negativa, {i}1 i N, na definição de hiperplano separador
(superfície de decisão) apresentada a seguir:
yi [wTxi + b] 1i , i = 1, . . . , N . (18)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 436
Os escalares i são chamados de variáveis de folga e medem os desvios dos dados
em relação a condição ideal de separação das classes (Figura 27):
Para 0 i 1, o ponto encontra-se dentro da região de separação, mas do lado
correto da superfície de decisão.
Para i >1, o ponto encontra-se do lado incorreto do hiperplano separador. Os
vetores suportes são os pontos em que o resultado da Eq. (18) é igual a 1i,
mesmo que i > 0.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 437
x
x
x
x
xx
x
x
x
i = 0,8i > 1
i= 0
x
i > 1
x
x
x
x
xx
x
x
x
i = 0,8i > 1
i= 0
x
i > 1
Figura 27: Variáveis de folga.
O objetivo é encontrar o hiperplano separador em que o erro de classificação
incorreta, baseado no conjunto de treinamento, é minimizado. Podemos fazer isto
minimizando uma função ():
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 438
N
i
iI1
)1()( (19)
em relação ao vetor de pesos w, considerando a equação do hiperplano separador
(18) e mais a seguinte restrição de desigualdade:
wTw 1 = Ak. (20)
A restrição (20) é a condição de que os parâmetros w e b que definem o hiperplano
minimizem o número de erros no conjunto de treinamento sobre a condição que
eles pertençam ao subconjunto de elementos da estrutura Sk ={wTx + b: wT
w Ak}
determinados pela constante Ak.
A função indicadora I(i 1) é definida por:
.011
;010
)1(i
i
ise
se
I
(21)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 439
Infelizmente, a minimização de () em relação a w é um problema de otimização
não-convexo da classe NP-completo.
Para fazer este problema de otimização matematicamente tratável, aproximamos a
função () por:
N
i
i
1
)( (22)
restrito ao hiperplano separador (18) e à restrição de desigualdade (20).
Chamamos o hiperplano construído com base na solução deste problema de
otimização de hiperplano ótimo generalizado ou, simplesmente, de hiperplano
ótimo.
42. SVMs para Classificação
Support Vector Machines (SVMs) constituem uma técnica de aprendizado de
máquina fundamentada nos princípios da Minimização do Risco Estrutural.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 440
Estes princípios são provenientes da Teoria do Aprendizado Estatístico, a qual está
baseada no fato de que o erro da técnica de aprendizagem junto aos dados de
validação (erro de generalização) é limitado pelo erro de treinamento mais um
termo que depende da dimensão VC.
As SVMs implementam um mapeamento não linear (executado por um produto
interno kernel escolhido a priori) dos dados de entrada para um espaço
característico de alta-dimensão, em que um hiperplano ótimo é construído para
separar os dados linearmente em duas classes.
Quando os dados de treinamento são separáveis, o hiperplano ótimo no espaço
característico é aquele que apresenta a máxima margem de separação (ver Figura
25).
Para dados de treinamento em que as amostras das duas classes apresentam
superposição (dados não separáveis), uma generalização deste conceito é utilizada.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 441
42.1. Caso 1: Classes Linearmente Separáveis
Para o problema de classificação binária em que as duas classes são linearmente
separáveis o objetivo é encontrar o hiperplano ótimo, definido pela Eq. (15),
maximizando a margem de separação (ver Figura 25) através da minimização da
norma Euclidiana do vetor de pesos w do hiperplano (ver Eq. 17).
Formulação do problema de otimização, em sua representação primal, para
encontrar o hiperplano ótimo para classes linearmente separáveis:
A partir dos dados de treinamento linearmente separáveis {(xi,yi)}i = 1,...,N,
x m, y {+1,1}, onde x são os dados de entrada e y corresponde à saída
desejada, encontre o valor do vetor de pesos w e bias b que resolva o seguinte
problema:
.1::
.||||2
1),(:
1
2
byaSujeito
bVMinimizar
i
T
i
N
i xw
ww
(23)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 442
Pode-se resolver o problema (23) utilizando o método dos multiplicadores de
Lagrange para transformar o problema de otimização primal em seu
correspondente problema dual.
Considere a função Lagrangeana referente ao problema (23):
N
i
i
T
ii
T bybL1
1)()(2
1),,( xwwww , (24)
onde os multiplicadores de Lagrange i são todos não negativos.
Sendo a função-objetivo do problema (23) convexa e todas as suas restrições
funções afins, o correspondente problema de otimização dual é encontrado
aplicando as condições de Kuhn-Tucker (ver Teorema 6) junto à função
Lagrangeana (24):
.0),,(
;0),,(
1
1
N
i
ii
N
i
iii
ybb
L
ybL
w
xwww
(25)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 443
Substituindo as relações obtidas:
N
i
iiiy1
xw (26)
e
01
N
i
iiy (27)
na função Lagrangeana (24), obtém-se :
.)(2
1
)()(2
1),,(
1,1
11,1,
N
ji
j
T
ijiji
N
i
i
N
i
i
N
ji
j
T
ijiji
N
ji
j
T
ijiji
yy
yyyybL
xx
xxxxw
(28)
Agora é possível formular o problema de otimização dual:
A partir dos dados de treinamento linearmente separáveis {(xi,yi)}i = 1,...,N,
x m, y {+1, 1}, encontre os multiplicadores de Lagrange (*i) 1 i N que
resolvem o problema de otimização quadrático:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 444
.0:
;0:
.)(2
1)(:
1
1
1,1
i
N
i
N
i
ii
N
ji
j
T
ijiji
N
i
i
yaSujeito
yyWMaximizar
xx
(29)
O problema de otimização dual (29) é totalmente formulado em termos dos dados
de treinamento.
Além disso, a função W() a ser maximizada depende somente dos dados de
entrada na forma de produto interno (xiTxj)1 i N; 1 j N.
Outro ponto importante é que este problema de otimização tem uma única solução
que pode ser eficientemente encontrada.
Portanto, não há a presença de pontos de mínimos locais, como em outras
técnicas de classificação.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 445
Determinando o vetor de multiplicadores de Lagrange ótimos *, pode-se calcular
o vetor de pesos ótimo w* utilizando a Eq. (26),
N
i
iiiy1
xw onde y {+1, 1}, i* + e x m. (30)
Assim w* é o vetor que encontra o hiperplano ótimo com a máxima margem de
separação (Eq. (17)).
O valor do bias ótimo b* é encontrado utilizando a Eq. (30) com o auxílio das
restrições primais (23):
sv
i
sv
i
N
j
j
T
ijjyi
N
j
j
T
ijjyi
yyb1
}1|{1
}1|{)(min)(max
2
1xxxx
, (31)
onde Nsv é o numero de vetores-suporte.
Utilizando a condição de complementariedade de Kuhn-Tucker (Teorema 6),
obtemos a seguinte relação:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 446
01)*(:1
by i
T
ii
N
i xw (32)
que proporciona uma importante informação sobre a estrutura da solução.
Isto implica que somente para os dados de entrada xi para o qual a margem é 1 (e,
portanto, localizados à distância do hiperplano) tem-se seu correspondente *
diferente de zero. Todos os outros dados de entrada têm o parâmetro * igual a
zero.
Através das condições de complementariedade de Kuhn-Tucker, pode-se
demonstrar que:
svN
i
i
T
1
*)*( ww . (33)
Portanto, a norma do vetor de pesos w* que está associado ao hiperplano de
máxima margem é também dada por:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 447
2
1
1
1
svN
i
iw . (34)
Os dados de entrada com a margem igual a 1 são chamados de vetores-suporte,
sendo justamente aqueles com os multiplicadores de Lagrange * diferentes de
zero. Logo, são os únicos pontos que exercem influência na construção do
hiperplano de máxima margem.
Além disso, o hiperplano ótimo é expresso somente em termos deste conjunto de
vetores-suporte, como descrito a seguir:
svN
i
T
iii byf1
)(sgn)( xxx (35)
Os dados de entrada que não são vetores-suporte também não têm influência na
função de decisão produzida pela técnica de SVM.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 448
A função de decisão (35) é utilizada da seguinte maneira: se o resultado de f(x) for
negativo, o ponto x pertence à classe negativa; se o resultado de f(x) for positivo, o
ponto x pertence à classe positiva.
Os passos abaixo resumem o processo de determinação do hiperplano ótimo para
conjuntos linearmente separáveis.
1. Para o conjunto de treinamento linearmente separável
{(xi,yi)}i = 1,...,N, x m e y {+1, 1}, faça
2. Seja * = (1*, ..., 2*) a solução do seguinte problema de
otimização restrita:
.0:;0:
.)(2
1)(:
1
1
1,1
i
N
i
N
i
ii
N
ji
j
T
ijiji
N
i
i
yaSujeito
yyWMaximizar
xx
3. O par (w*,b*) apresentado a seguir define o hiperplano ótimo:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 449
4.
N
i
iiiy1
xw ,
sv
i
sv
i
N
j
j
T
ijjyi
N
j
j
T
ijjyi
yyb1
}1|{1
}1|{)(min)(max
2
1xxxx
.
42.1.1. Classes Linearmente Separáveis no Espaço Característico
Para o problema de classificação binária em que as duas classes não são
linearmente separáveis no espaço original, porém a partir de um mapeamento não
linear executado por um produto interno kernel do espaço original para um espaço
característico de dimensão muito maior do que a dimensão do espaço original, o
problema de classificação originalmente não linear torna-se linearmente separável
no espaço característico.
A partir dos dados de treinamento {(xi,yi)}i = 1,...,N, x m e y {+1, 1},
linearmente separáveis no espaço característico definido pelo produto interno
kernel K(xi,xj), encontre os multiplicadores de Lagrange (*i ) 1 i N que resolvem
o problema de otimização quadrático:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 450
.0:;0:
).,(2
1)(:
1
1
1,1
i
N
i
N
i
ii
N
ji
jijiji
N
i
i
yaSujeito
KyyWMaximizar
xx
(36)
Assim, a função de decisão dada pela SVM é:
svN
i
iii bKyxf1
),(sgn)( xx (37)
que é equivalente ao hiperplano de máxima margem no espaço característico
definido implicitamente pelo produto interno kernel K(xi,xj), satisfazendo o
teorema de Mercer e, como consequência deste teorema, sendo uma matriz
definida positiva. Assim, o problema (36) continua sendo convexo e com uma
única solução.
O único grau de liberdade deste hiperplano ótimo é a escolha de qual produto
interno kernel utilizar. O conhecimento prévio do problema pode ajudar na escolha
do tipo de produto interno kernel e com isto restará apenas ajustar seus parâmetros.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 451
42.2. Caso 2: Classes Não linearmente Separáveis
Vimos anteriormente que foram introduzidas variáveis de folga {i}1 i N para
definir o hiperplano separador para classes não linearmente separáveis, como
mostrado na Eq. (18).
Para encontrar este hiperplano separador, devemos minimizar o erro de
classificação incorreta dado pela função (19).
Com isto, recai-se num problema de otimização não convexo da classe NP-
completo.
Para tornar este problema de otimização tratável computacionalmente, substitui-se
a função de minimização do erro de classificação, dada pela Eq. (19), por uma
aproximação dada pela função (22).
Para a simplificação dos cálculos, é possível propor a seguinte formulação do
hiperplano ótimo a ser minimizado em relação ao vetor de pesos w (Vapnik, 1995):
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 452
N
i
i
T C1
)(2
1),( www . (38)
A minimização do primeiro termo da Eq. (38) está relacionada à minimização da
dimensão VC da SVM.
Quanto ao segundo termo, ele pode ser visto como um limitante superior para o
número de erros na amostra de treinamento.
Portanto, a formulação dada pela Eq. (38) está em acordo com os princípios de
minimização do risco estrutural.
O parâmetro C, determinado empiricamente, controla a relação entre a
complexidade do algoritmo e o número de amostras de treinamento classificadas
incorretamente. Ele pode ser visto como um parâmetro de penalização.
Portanto, pode-se formular o problema de otimização em sua representação primal
para encontrar o hiperplano ótimo para classes não linearmente separáveis como:
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 453
A partir dos dados de treinamento {(xi,yi)}i = 1,...,N, x m e y {+1, 1}, onde
x são os dados de entrada e y corresponde à saída desejada, encontre valores
para o vetor de pesos w, bias b e variáveis de folga i que resolvem o seguinte
problema:
.0:
;1::
.||||2
1),,(:
1
1
1
2
i
N
i
ii
T
i
N
i
N
i
i
byaSujeito
CbVMinimizar
xw
ww
(39)
onde o parâmetro C > 0 é especificado pelo usuário.
Utilizando o método dos multiplicadores de Lagrange, podemos transformar o
problema de otimização primal em seu correspondente problema dual.
Considere a função Lagrangeana referente ao problema (39):
N
i
ii
N
i
ii
T
iii
N
i
i
T rbyCrbL111
1)()(2
1),,,,( xwwww , (40)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 454
onde os multiplicadores de Lagrange i e ri são todos não negativos.
Sendo a função-objetivo do problema (39) convexa e todas as suas restrições
funções afins, o correspondente problema de otimização dual é encontrado
aplicando as condições de Kuhn-Tucker (ver Teorema 6) junto à função
Lagrangeana (40):
.0),,,,(
;0),,,,(
;0),,,,(
1
1
ii
N
i
ii
N
i
iii
rCrbL
yrbb
L
yrbL
w
w
xwww
(41)
Substituindo as relações obtidas na função Lagrangeana (40), obtém-se:
N
ji
j
T
ijiji
N
i
i yyrbL1,1
)(2
1),,,,( xxw (42)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 455
que é idêntica à relação obtida para o caso das classes linearmente separáveis. A
única diferença é que a restrição C i ri = 0, em conjunto com ri 0, faz com
que i C, enquanto que i 0 ocorre somente se ri = 0.
As condições de complementaridade de Kuhn-Tucker para este caso são definidas
como:
.0)(:
;01:
1
1
C
by
ii
N
i
iiii
N
i
xw
(43)
Agora é possível formular o problema de otimização dual para o caso geral em que
o hiperplano ótimo é construído no espaço característico, através de um
mapeamento não linear definido implicitamente por um produto interno kernel
escolhido a priori.
A partir dos dados de treinamento {(xi,yi)}i = 1,...,N, x m e y {+1, 1}, e
utilizando o espaço característico definido implicitamente pelo produto interno
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 456
kernel K(xi,xj), encontre os multiplicadores de Lagrange (*i) 1 i N que
resolvem o problema de otimização quadrático :
.0:;0:
.),(2
1)(:
1
1
1,1
CyaSujeito
KyyWMaximizar
i
N
i
N
i
ii
N
ji
jijiji
N
i
i
xx
(44)
onde o parâmetro C > 0 é especificado pelo usuário.
A única e principal diferença do caso de classes separáveis para o caso de classes
não separáveis (Eq. 36) é que a restrição i 0 é substituída por uma restrição
mais forte, 0 i C.
O vetor de pesos w é calculado da mesma maneira que no caso das classes
linearmente separáveis (Eq. 30), mas operando com os dados no espaço de
características:
N
i
iiiy1
)(xw .
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 457
O bias b é encontrado com o auxílio das restrições primais (39) através da seguinte
equação:
sv
i
sv
i
N
j
jijjyi
N
j
jijjyi
KyKyb1
}1|{1
}1|{),(min),(max
2
1xxxx
. (45)
Foi visto anteriormente que os dados de entrada para os quais i > 0 são chamados
de vetores-suporte. Para diferenciar entre os pontos com 0 < i < C e aqueles com
i = C, a primeira categoria é chamada de vetores-suporte não limitados e a
segunda categoria de vetores-suporte limitados.
Se a solução contém no mínimo um vetor-suporte não limitado, ela é considerada
estável, caso contrário ela é considerada instável (Joachims, 2000).
A função de decisão dada pela SVM é:
svN
i
iii bKyf1
),(sgn)( xxx . (46)
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 458
A Figura 28 mostra uma representação gráfica da função de decisão (46), onde os
valores de f(x) sendo positivos indicam que a amostra pertence à classe positiva, e
sendo negativos indicam que a amostra pertence à classe negativa.
K(v2 ,x)
K(v1 ,x)
K(vNsv ,x)
•••
•••
y11
y22
yNsvNsv
b
f (x)
Vetor de entrada
x = (x1, x2, ...xm) Transformação não linear
baseada em Nsv vetores-suportes
x1
x2
x3
xm
K(v2 ,x)
K(v1 ,x)
K(vNsv ,x)
•••
•••
y11
y22
yNsvNsv
b
f (x)
Vetor de entrada
x = (x1, x2, ...xm) Transformação não linear
baseada em Nsv vetores-suportes
x1
x2
x3
xm
Figura 28: Arquitetura de uma SVM na forma de uma RNA com uma camada intermediária.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 459
Através das condições de complementaridade de Kuhn-Tucker (43) pode-se
demonstrar que:
svN
ji
jijiji
T Kyy1,
),(*)*( xxww (47)
Portanto, a norma do vetor de pesos w* que realiza o hiperplano de máxima
margem é dada por:
2
1
1,
1 ),(*
svN
ji
jijiji Kyy xxw . (48)
Os passos abaixo resumem o processo de determinação do hiperplano ótimo para
conjuntos não linearmente separáveis no espaço de características.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 460
1. Para qualquer conjunto de treinamento {(xi,yi)}i = 1,...,N, x m e
y {+1, 1}, faça
2. Seja * = (1*, ..., 2*) a solução do seguinte problema de
otimização restrita:
.0:;0:
.),(2
1)(:
1
1
1,1
CyaSujeito
KyyWMaximizar
i
N
i
N
i
ii
N
ji
jijiji
N
i
i
xx
3. O par (w*,b*) apresentado a seguir define o hiperplano ótimo:
4.
N
i
iiiy1
)(xw ,
sv
i
sv
i
N
j
jijjyi
N
j
jijjyi
KyKyb1
}1|{1
}1|{),(min),(max
2
1xxxx
.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 461
42.3. Discussão
SVM proporciona um método que controla a complexidade da técnica
independentemente da dimensão dos dados.
Em particular, o problema da complexidade é resolvido em um espaço de alta
dimensão, usando um hiperplano com o parâmetro C (que controla a relação entre
a complexidade do algoritmo e o número de amostras de treinamento classificadas
incorretamente) como uma superfície de decisão no espaço característico,
resultando em um ótimo desempenho de generalização.
O problema da dimensionalidade é reduzido pela utilização da representação dual
do problema de otimização, que calcula os parâmetros do hiperplano ótimo tendo
os dados de treinamento na forma de produto interno e assim formando uma matriz
quadrada ("Matriz Kernel" para o caso de utilização de transformações não
lineares) de mesma dimensão da quantidade de dados de treinamento.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 462
O treinamento da SVM consiste em um problema de otimização quadrático que é
atrativo por duas razões:
A menos de problemas numéricos ao longo dos cálculos computacionais, é
garantida a convergência para um mínimo global da superfície de erro, onde o
erro refere-se à diferença entre a resposta desejada e a saída da SVM;
Os cálculos podem ser executados eficazmente, pois as restrições do problema
dual são mais simples de serem resolvidas do que as restrições do problema
primal.
Comparando com Redes Neurais Artificiais, o mais importante é que, utilizando o
produto interno kernel, SVM calcula automaticamente parte dos parâmetros
pertinentes à escolha da função kernel. Por exemplo:
RBF - Função de Base Radial (Tópico 8): o número de funções de base radial e
seus centros são computados automaticamente pelo número de vetores-suporte e
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 463
de seus valores, respectivamente. Já as variâncias das RBF's são fixas, e
especificadas a priori pelo usuário;
Perceptron com uma camada escondida (Tópico 9): o número de neurônios da
camada escondida e seus vetores de pesos também são computados
automaticamente pelo número de vetores-suporte e de seus valores,
respectivamente. Já os parâmetros da função tangente hiperbólica, 0 e 1 são
especificados a priori pelo usuário.
Introdução as Redes Neurais Artificiais
Copyright ® Leandro Nunes de Castro 464
43. Referências sobre SVM
Aizerman, M. A.; Braverman, E. M.; Rozonoer, L. I. (1964a), “Theoretical foundations of the
potential function in pattern recognition learning”, Automation and Remote Control, 25,
pp. 821-835.
Aizerman, M. A.; Braverman, E. M.; Rozonoer, L. I. (1964b), “The probability problem of
pattern recognition learning and the method of potential functions”, Automation and
Remote Control, 25, pp. 1175-1193.
Cristianini, N.; Shawe-Taylor, J. (2000), Support Vector Machines and other Kernel-Based
Learning Methods, Springer-Verlag.
Haykin, S. (1999), Neural Networks: A Comprehensive Foundation, Prentice Hall.
Semolini, R. (2002), Support Vector Machines, Inferência Transdutiva e o Problema de
Classificação, Dissertação de Mestrado, DCA/FEEC/Unicamp, Dezembro.
Vapnik, V. N. (1995), The Nature of Statistical Learning Theory, Springer.
Vapnik, V. N. (1998), Statistical Learning Theory, John Wiley & Sons.
Vapnik, V. N. (1982), Estimation of Dependences based on Empirical Data, Springer-Verlag.
Vapnik, V. N.; Chervonenkis, A. (1971), “On the uniforme convergence of relative frequencies
of events to their probabilities”, Theoretical Probability and Its Applications, 17, pp. 264-
280.
Vapnik, V. N.; Chervonenkis, A. (1974), Theory of Pattern Recognition, Nauka, Moscow.