RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf ·...

123
Universidade Federal do Ceará Departamento de Engenharia de Teleinformática Programa de Pós Graduação em Engenharia de Teleinformática Redes Neurais Artificiais para Reconhecimento de Faces: Uma Análise Comparativa do Compromisso entre Desempenho e Custo Computacional. Rafael de Oliveira e Lima Fortaleza – Ceará 2010

Transcript of RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf ·...

Page 1: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Universidade Federal do Ceará

Departamento de Engenharia de Teleinformática

Programa de Pós Graduação em Engenharia de Teleinformática

Redes Neurais Artificiais para

Reconhecimento de Faces: Uma Análise

Comparativa do Compromisso entre

Desempenho e Custo Computacional.

Rafael de Oliveira e Lima

Fortaleza – Ceará

2010

Page 2: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

Page 3: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Universidade Federal do Ceará

Departamento de Engenharia de Teleinformática

Programa de Pós Graduação em Engenharia de Teleinformática

Redes Neurais Artificiais para

Reconhecimento de Faces: Uma Análise

Comparativa do Compromisso entre

Desempenho e Custo Computacional.

Autor

Rafael de Oliveira e Lima

Orientador

Prof. Dr. Guilherme de Alencar Barreto

Dissertação de Mestrado apresentadaà Coordenação do Curso dePós-Graduação em Engenharia deTeleinformática da UniversidadeFederal do Ceará como parte dosrequisitos para obtenção do graude Mestre em Engenharia de

Teleinformática.

Fortaleza – Ceará

2010

Page 4: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Rafael de Oliveira e Lima

Análise Comparativa de Desempenho de Redes Neurais Lineares e

Não-Lineares em Reconhecimento de Faces Humanas.

Esta Dissertação foi julgada adequada para a obtenção do título de Mestre emEngenharia de Teleinformática e aprovada em sua forma final pelo programa de PósGraduação em Engenharia de Teleinformática da Universidade Federal do Ceará.

Rafael de Oliveira e Lima

Banca Examinadora:

Prof. Dr. Guilherme de Alencar BarretoOrientador

Prof. Dr. Juvêncio Santos NobreUniversidade Federal do Ceará

Prof. Dr. Prof. Ricardo Bastos CavalcantePrudêncio

Universidade Federal de Pernambuco

Fortaleza, 2010

Page 5: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Resumo

Oprincipal objetivo desta dissertação é avaliar empiricamente os desempenhosde classificadores neurais lineares e não-lineares com o objetivo de averiguar a

factibilidade de embarcá-los em dispositivos móveis. Em tais aplicações, o usuárioestá fortemente interessado em algoritmos que melhor reflitam o compromissoentre altas taxas de reconhecimento, assim como em baixos custos computacionais.Para este fim, este trabalho reporta resultados de uma abrangente comparação dedesempenho envolvendo 14 classificadores neurais em tarefas de reconhecimentode faces humanas. Todos os classificadores são avaliados em três bancos de facesamplamente utilizados em benchmarks de desempenho, a saber: Sussex, YALE Ae YALE B. Para o caso de classificadores lineares, são avaliados onze variantesdas redes Madaline e Perceptron, enquanto para o caso não linear, são avaliadostrês classificadores que compõem o estado da arte em reconhecimento de padrões.Além disso, a robustez de todos os classificadores é avaliada empiricamente quantoà presença de ruído gaussiano e impulsivo nas imagens de teste. Os resultadosdos experimentos indicam que classificadores lineares apresentam desempenhostão bons quanto (ou até melhores, em muitos casos) àqueles apresentados porclassificadores não-lineares, com a vantagem adicional de requerer muito menosesforços computacionais e espaço em memória.

Palavras-chaves: Reconhecimento de faces, discriminantes lineares,discriminantes não-lineares, redes neurais artificiais, análise das componentesprincipais.

Page 6: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Abstract

The main goal of this dissertation is to empirically evaluate linear and nonlinearneural network based classifiers to be embedded in mobile devices. For

such applications, the user is highly interested in the trade-off between highrecognition rates and low computational costs. For this purpose, this paper reportsa comprehensive performance comparison study involving 14 neural network modelsfor human face recognition. All the classifiers are evaluated on three benchmarkingface databases (Sussex, YALE A and YALE B). For the linear classifiers we evaluateeleven variants of the Madaline and Perceptron networks, while for the nonlinearones we evaluate three state-of-the-art classifiers (MLP, RBF and ELM networks). Inaddition, we also evaluate empirically the robustness of all classifiers to the presenceof gaussian and impulsive noise in test images. The results of the experimentsindicate that the linear classifiers perform as good as nonlinear ones, with theadvantage of demanding much lower computational resources.

Keywords: Face recognition, linear discriminant analysis, nonlineardiscriminant analysis, artificial neural networks, principal component analysis.

Page 7: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Dedico este trabalho aos meus pais:Raimundo e Margarida.

Page 8: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Agradecimentos

Antes de tudo, agradeço a Deus por ter me dado esta oportunidade. Ao meuorientador, Prof. Guilherme, pela orientação, paciência e valiosos conselhos. Aosmeus pais, Raimundo e Margarida, pelo apoio incondicional. Aos meus irmãos,Lorena e Marcelo, por me servirem de exemplo a ser seguido. Aos amigos e colegasdo LATIN/UFC e CEFET-CE que sempre estiveram aptos a me ajudar quando foipreciso. À CAPES pelo apoio financeiro.

Page 9: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Sumário

Lista de Figuras ix

Lista de Tabelas x

Lista de Símbolos x

Lista de Siglas xiii

1 Introdução 11.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . 31.3 Produção Científica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . 4

2 Metodologia e Banco de Imagens Utilizados 62.1 Bancos de Imagens Utilizados . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Banco de Faces SUSSEX . . . . . . . . . . . . . . . . . . . . . 62.1.2 Banco de Faces YALE-A . . . . . . . . . . . . . . . . . . . . . 82.1.3 Banco de Faces YALE-B . . . . . . . . . . . . . . . . . . . . . 9

2.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Resumo do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Redes Neurais de Camada Única 193.1 Notação Matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.1 Escalares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1.2 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1.3 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Redes Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.1 Rede Perceptron Simples . . . . . . . . . . . . . . . . . . . . . 223.2.2 Rede Perceptron Logístico . . . . . . . . . . . . . . . . . . . . 243.2.3 Perceptron Logístico + MEKA . . . . . . . . . . . . . . . . . 25

3.3 Redes Madaline e variantes . . . . . . . . . . . . . . . . . . . . . . . . 26

v

Page 10: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3.1 Rede Madaline com a Regra de Aprendizado LMS . . . . . . . 283.3.2 Rede Madaline com Regra de Aprendizagem do Algoritmo do

Sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3.3 Madaline com o LMS Normalizado . . . . . . . . . . . . . . . 293.3.4 Madaline com o “leaky” LMS . . . . . . . . . . . . . . . . . . 293.3.5 Madaline com o “Median” LMS . . . . . . . . . . . . . . . . . 303.3.6 Madaline com o Algoritmo dos Mínimos Quadrados Recursivos 313.3.7 Madaline com o Algoritmo da Memória por Matriz de Correlação 323.3.8 A Memória Associativa Linear Ótima (OLAM) . . . . . . . . 34

3.4 Resultados de Classificação . . . . . . . . . . . . . . . . . . . . . . . . 393.5 Custo Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.6 Resumo do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Redes Neurais de Múltiplas Camadas 484.1 A Rede Perceptron Multicamadas . . . . . . . . . . . . . . . . . . . . 494.2 A Rede de Funções de Base Radial . . . . . . . . . . . . . . . . . . . 53

4.2.1 Primeira Etapa: Determinação dos Centros . . . . . . . . . . . 574.2.2 Segunda Etapa: Determinação dos Raios das Funções de Base 594.2.3 Terceira Etapa: Projeto da Camada de Saída . . . . . . . . . 604.2.4 Observações sobre a rede RBF . . . . . . . . . . . . . . . . . . 61

4.3 A Máquina de Aprendizado Extremo (ELM) . . . . . . . . . . . . . . 624.3.1 Arquitetura da rede ELM . . . . . . . . . . . . . . . . . . . . 624.3.2 Algoritmo de treinamento da rede ELM . . . . . . . . . . . . . 634.3.3 Teste e capacidade de generalização da rede ELM . . . . . . . 66

4.4 Resultados de Classificação . . . . . . . . . . . . . . . . . . . . . . . . 674.5 Custo Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.6 Resumo do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 Resultados Adicionais. 735.1 Testes com Imagens Ruidosas . . . . . . . . . . . . . . . . . . . . . . 73

5.1.1 Ruído Sal-e-Pimenta . . . . . . . . . . . . . . . . . . . . . . . 735.1.2 Ruído Gaussiano . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2 Análise Prática de Custo Computacional . . . . . . . . . . . . . . . . 935.3 Resumo do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6 Conclusões e Perspectivas 966.1 Conclusões deste trabalho . . . . . . . . . . . . . . . . . . . . . . . . 966.2 Contribuições deste trabalho . . . . . . . . . . . . . . . . . . . . . . . 976.3 Perspectivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Apêndice A Funções sigmoidais 99A.1 Função Sigmóide Logística . . . . . . . . . . . . . . . . . . . . . . . . 99A.2 Função Tangente Hiperbólica . . . . . . . . . . . . . . . . . . . . . . 100

Referências Bibliográficas 104

vi

Page 11: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Lista de Figuras

2.1 Indivíduos que compõem o banco de imagens SUSSEX . . . . . . . . 72.2 Amostra das variações das posições faciais presentes no banco de

imagens SUSSEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Indivíduos que compõem o banco de imagens YALE-A . . . . . . . . 82.4 Variações faciais existentes no banco de dados YALE-A para um dado

indivíduo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Indivíduos que compõem o banco de imagens YALE-B. . . . . . . . . 102.6 Algumas das variações existentes no banco de dados YALE-B para

um dado indivíduo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 Metodologia de projeto e validação de classificadores usados nesta

dissertação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.8 Importância relativa das primeiras 40 componentes principais

associadas às imagens do conjunto SUSSEX. . . . . . . . . . . . . . . 162.9 Importância relativa das primeiras 85 componentes principais

associadas às imagens do conjunto YALE-A. . . . . . . . . . . . . . . 162.10 Importância relativa das primeiras 83 componentes principais

associadas às imagens do conjunto YALE-B. . . . . . . . . . . . . . . 17

3.1 Esboço da arquitetura da rede Perceptron Simples. . . . . . . . . . . 223.2 Esboço do k-ésimo neurônio da Rede Percepron Simples. . . . . . . . 24

4.1 Fluxo direto para atualização dos pesos de uma rede MLP de umacamada oculta, simbolizada MLP(p, q, c) . . . . . . . . . . . . . . . . 50

4.2 Fluxo inverso para atualização dos pesos. . . . . . . . . . . . . . . . . 514.3 Arquitetura básica da rede RBF. . . . . . . . . . . . . . . . . . . . . 544.4 Detalhe das conexões da j-ésima função de base radial. . . . . . . . . 564.5 (a) Neurônio da camada escondida. (b) Neurônio da camada de saída. 63

5.1 À esquerda: amostra original do banco de faces SUSSEX. À direita:mesma imagem sendo contaminada pelo ruído sal-e-pimenta a umadensidade de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

vii

Page 12: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.2 À esquerda: amostra original do banco de faces YALE-A. À direita:mesma imagem sendo contaminada pelo ruído sal-e-pimenta a umadensidade de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.3 À esquerda: amostra original do banco de faces YALE-B. À direita:mesma imagem sendo contaminada pelo ruído sal-e-pimenta a umadensidade de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.4 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede PS nos banco de faces usados neste trabalho. . . . . . . . . . . . 76

5.5 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede PL nos bancos de faces usados neste trabalho. . . . . . . . . . . 76

5.6 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede PL+MEKA nos bancos de faces usados neste trabalho. . . . . . 77

5.7 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/LMS nos bancos de faces usados neste trabalho. . . . . 77

5.8 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/SLMS nos bancos de faces usados neste trabalho. . . . 78

5.9 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/LLMS nos bancos de faces usados neste trabalho. . . . 78

5.10 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/NLMS nos bancos de faces usados neste trabalho. . . . 79

5.11 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/MLMS nos bancos de faces usados neste trabalho. . . 79

5.12 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/RLS nos bancos de faces usados neste trabalho. . . . . 80

5.13 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede Madaline/CMM nos bancos de faces usados neste trabalho. . . . 80

5.14 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para aclassificador OLAM nos bancos de faces usados neste trabalho. . . . . 81

5.15 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede MLP nos bancos de faces usados nesta dissertação. . . . . . . . . 81

5.16 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede RBF nos bancos de faces usados neste trabalho. . . . . . . . . . 82

5.17 Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para arede ELM nos bancos de faces usados neste trabalho. . . . . . . . . . 82

5.18 À esquerda: amostra original do banco de faces SUSSEX. À direita:mesma imagem sendo contaminada pelo ruído gaussiano a umavariância de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.19 À esquerda: amostra original do banco de faces YALE-A. À direita:mesma imagem sendo contaminada pelo ruído gaussiano a umavariância de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.20 À esquerda: amostra original do banco de faces YALE-B. À direita:mesma imagem sendo contaminada pelo ruído gaussiano a umavariância de 0, 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.21 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redePS nos bancos de faces usados neste trabalho. . . . . . . . . . . . . . 85

viii

Page 13: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.22 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redePL nos bancos de faces usados neste trabalho. . . . . . . . . . . . . . 86

5.23 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redePL+MEKA nos bancos de faces usados neste trabalho. . . . . . . . . 86

5.24 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/LMS nos bancos de faces usados neste trabalho. . . . . . . 87

5.25 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/SLMS nos bancos de faces usados neste trabalho. . . . . . . 87

5.26 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/LLMS nos bancos de faces usados neste trabalho. . . . . . . 88

5.27 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/NLMS nos bancos de faces usados neste trabalho. . . . . . 88

5.28 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/MLMS nos bancos de faces usados neste trabalho. . . . . . 89

5.29 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/RLS nos bancos de faces usados neste trabalho. . . . . . . . 89

5.30 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/CMM nos bancos de faces usados neste trabalho. . . . . . . 90

5.31 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMLP nos bancos de faces usados neste trabalho. . . . . . . . . . . . . 90

5.32 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeRBF nos bancos de faces usados neste trabalho. . . . . . . . . . . . . 91

5.33 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeELM nos bancos de faces usados neste trabalho. . . . . . . . . . . . . 91

5.34 Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para oclassificador OLAM nos bancos de faces usados neste trabalho. . . . . 92

ix

Page 14: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Lista de Tabelas

3.1 Parâmetros ajustáveis para o banco de faces YALE-A. . . . . . . . . . 393.2 Parâmetros ajustáveis para o banco de faces YALE-B. . . . . . . . . . 403.3 Parâmetros ajustáveis para o banco de faces SUSSEX. . . . . . . . . 413.4 Taxas de acerto obtidas para o banco de faces YALE-A. . . . . . . . . 423.5 Taxas de acerto obtidas para o banco de faces YALE-B. . . . . . . . . 433.6 Taxas de acerto obtidas para o banco de faces SUSSEX. . . . . . . . 443.7 Custo computacional das redes neurais apresentadas neste capítulo. . 46

4.1 Taxas de reconhecimento para o banco de faces YALE-A. . . . . . . . 694.2 Taxas de reconhecimento para o banco de faces YALE-B. . . . . . . . 694.3 Taxas de reconhecimento para o banco de faces SUSSEX. . . . . . . . 694.4 Custo computacional das redes neurais apresentadas neste capítulo. . 71

5.1 Tempo necessário para validar as redes neurais apresentadas nestadissertação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

x

Page 15: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Lista de Símbolos

x vetor de entradawi vetor de pesos do i-ésimo neurônioc vetor de centros de base radialk ganho de Kalmany vetor de saída efetivad vetor de saída desejadoe vetor de erroI matriz identidadeσ desvio padrãoρ constante de valor elevado.α fator de esquecimentowkj conexão sináptica entre a j-ésima entrada ao k-ésimo neurônioek erro relativo ao k-ésimo neurôniodk saída desejada do k-ésimo neurônioyk saída efetiva do k-ésimo neurônioµ médiaη taxa de aprendizagemλ fator de escapeb constante de valor reduzidoω tamanho da janela da medianac número de neurônios usados na camada de saída da rede neuralq número de neurônios usados na camada oculta da rede neuralsign(.) função sinaltanh(.) função tangente hiperbólicaln(.) função logaritmo Neperiano

xi

Page 16: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

sen(.) função senocos(.) função cossenoexp(.) função exponencial

xii

Page 17: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Lista de Siglas

VA Visão ArtificialPS Perceptron SimplesPL Perceptron LogísticoPL+MEKA Perceptron Logístico treinado com o Algoritmo de Kalman

Estendido MúltiploMadaline Elemento Linear Adaptativo Múltiplo (Multiple Adaptive Linear

Element)LMS Algoritmo dos Mínimos quadrados (Least-Mean Squares)LLMS “Leaky” LMSSLMS LMS com o Algoritmo do Sinal (Signal Algorithm LMS )NLMS LMS Normalizado (Normalized LMS )MLMS “Median” LMSRLS Mínimos Quadrados Recursivos (Recursive Least-Squares)CMM Memória por Matriz de Correlação (Matrix Correlation Memory)RBF Função de Base Radial (Radial Basis Function)FSCL Frequency-Sensitive Competitive LearningMLP Perceptron Multicamadas (Multilayer Perceptron)ELM Máquina de Aprendizado Extremo (Extreme Learning Machine)OLAM Memória Associativa Linear Ótima (Optimum Linear Associative

Memory)

xiii

Page 18: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 1Introdução

1.1 Introdução

Há pelo menos vinte e cinco anos, a área de reconhecimento de faces vêmexperimentando gandes avanços em termos de desempenho e isso fez com que ointeresse tanto comercial, como acadêmico na área crescesse consideravelmente.

Esses avanços vêm transformando o reconhecimento de faces em uma componenteimportante, por exemplo, em aplicativos comerciais para reconhecimento biométrico(DORIZZI, 2006) (ZHAO et al., 2003).

Aplicações de biometria que verificam a identidade de um determinado indivíduoatravés de atributos físicos como por exemplo a impressão digital, o rosto, a voz,ou a íris estão sendo amplamente utilizadas em academias de ginásticas, colégios,universidades, empresas, hospitais e clínicas, etc. Além disso, com o surgimentode celulares 3G e 3.5G está sendo possível portar tais aplicações em sistemasembarcados (POCOVNICU, 2009) (WANG et al., 2008). Essas aplicações possuemdiferentes restrições em termos de custo computacional. Contudo, essas aplicaçõespossuem diferentes restrições em termos de custo computacional.

Particulamente em reconhecimento de faces, a maioria das aplicações abordaa implementação de classificadores1 neurais, tais como a rede PerceptronMulticamadas, a rede de Funções de Base Radial, a rede Máquina de AprendizadoExtremo, dentre vários outros. Entretanto, esses classificadores são avaliados off-line

1Nesta dissertação, o termo classificador é usado como sinônimo de função discriminante. Dá-sepreferência ao termo "classificador"por ser mais comum em Engenharia e Computação, enquantoo termo "discriminante"é mais comum em Estatística.

Page 19: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

1.1. Introdução 2

sem considerar os custos computacionais envolvidos (i.e. número de operaçõesrequeridas para execução do algoritmo), nem os custos de armazenamento (i.e.número de parâmetros a serem armazenados na memória do dispositivo). Estas sãoquestões críticas em aplicações embarcadas, que exigem funcionamento do algoritmoem tempo real.

Isto posto, esta dissertação está interessada em comparar os desempenhosde diversos classificadores neurais, principalmente aqueles baseados nas redesperceptron e madaline, com foco no número de operações exigidas por cada algoritmoe no número de parâmetros a serem armazenados. Segundo esta lógica, um bomclassificador não necessariamente é àquele que apresentar a maior taxa de acerto noreconhecimento das faces, mas sim àquele que apresentar o melhor compromisso(trade-off) entre taxa de acerto e custos de implementação e armazenamentoenvolvidos.

Page 20: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

1.2. Objetivo Geral 3

1.2 Objetivo Geral

Este trabalho busca realizar uma comparação de classificadores neurais decamada única e camadas múltiplas aplicados à tarefa de reconhecer faces humanassob diferentes configurações como angulação facial, diferentes expressões, níveisde iluminação, uso de acessórios e até mesmo quando as imagens encontram-sedegradadas por ruído. Esta avaliação é conduzida em 2 diferentes conjunto de faces,cada um deles por algum aspecto mencionados anteriormente.

1.2.1 Objetivos Específicos

Os objetivos específicos desta dissertação estão listados a seguir:

I Comparar classificadores neurais quanto ao número de camadas: única emúltiplas camadas.

I Comparar classificadores que geram superfícies de decisão diferentes, ou seja,comparar classificadores quanto a superfície de decisão: linear e não-linear.

I Avaliar o desempenho do Algoritmo de Kalman Estendido para treinar a redePerceptron Logístico.

I Comparar o desempenho dos classificadores quanto ao custo computacional,matrizes de confusão e taxas de acerto.

Page 21: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

1.3. Produção Científica 4

1.3 Produção Científica

Durante o desenvolvimento desta dissertação, foi produzido e submetido oseguinte artigo para o ISCAS’2011 (IEEE International Symposium on Circuits andSystems).

I Rafael O. Lima & Guilherme A. Barreto, "On the performance of NeuralNetworks for Face Recognition: Linear or Nonlinear Classifiers?", IEEEInternational Symposium on Circuits and Systems (ISCAS’2011), (submetido).

1.4 Organização da Dissertação

A seguir, um breve resumo de cada um dos capítulos e apêndices que compõemo restante deste documento é realizado.

I No capítulo 2 apresentam-se os conjuntos de faces utilizados neste trabalhojuntamento com a metodoliga de classificação empregada.

I No capítulo 3 descrevem-se as redes neurais de uma única camadade neurônios. Elas são as redes Perceptron Simples (PS), PerceptronLogístico(PL), Perceptron Logístico treinado com o Algoritmo de KalmanEstendido (PL+MEKA), Madaline treinado com algoritmo dos mínimosquadrados (Madaline/LMS), Madaline treinado com o algoritmo do sinal(Madaline/SLMS), ), Madaline com o “Leaky LMS” (Madaline/LLMS),Madaline com o LMS Normalizado (Madaline/NLMS), Madaline com o“Median” LMS (Madaline/MLMS), Madaline com o algoritmo dos MínimosQuadrados Recursivos (Madaline /RLS), Madaline com o algoritmo da Matrizde Memória de Correlação (Madaline/CMM). Resultados frente a classificaçãode faces humanas das redes apresentadas neste capítulo também são discutidas.

I No capítulo 4 é apresentado redes neurais de múltiplas camadas. São elas asaber: Rede Perceptron Multicamasas (MLP), a Função de Base Radial (RBF)e a Máquina de Aprendizado Extremo (ELM). Um breve comparativo dastaxas de acerto destas redes para classificação de faces humanas é apresentado,bem como um comparativo com as redes do capítulo anterior.

I No capítulo 5 realizam-se comparações finais. Em princípio, todos osclassificadores são avaliados para a tarefa de classificar imagens ruidosas.

Page 22: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

1.4. Organização da Dissertação 5

Em seguida, avaliam-se suas matrizes de confusão para cada banco de facesapresentado nesta dissertação. Ao término são apresentados dados do custocomputacional destas redes.

I No capítulo 6 são feitas conclusões e considerações finais desta dissertação.

I No apêndice A é mostrada uma breve lista de funções sigmoidais para facilitaro entendimento do porquê do uso destas nas funções de ativação do neurôniodas redes MLP e PL.

Page 23: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 2Metodologia e Banco de Imagens

Utilizados

Este capítulo descreve os banco de imagens utilizados neste trabalho, assim comoa metodologia preliminar à tarefa de classificação em si e à análise posterior dedesempenho das arquiteturas que são descritas nos próximos capítulos.

2.1 Bancos de Imagens Utilizados

Neste trabalho, dois bancos de faces humanas foram utilizados. Eles são aquinominados de SUSSEX, YALE-A e YALE-B e são caracterizados por combinarimagens de indivíduos obtidas em situações não-ideais. Por situações não-ideaisentendem-se aquelas imagens em que as imagens digitais são obtidas com variaçõesde expressões, do ângulo do rosto em relação à câmera e/ou de iluminação, dentreoutras que dificultam consideravelmente o reconhecimento automático do indivíduo.

Embora muitas combinações de uso destes bancos de dados seja possível, optou-sepor utilizá-los em separado e analisar o desempenho das arquiteturas de classificaçãopara um dos conjuntos por vez. Em outras palavras, não consta neste trabalhoexperimentos onde se tem, na fase de treinamento ou de teste, imagens provenientesde bancos distintos.

2.1.1 Banco de Faces SUSSEX

O banco de imagens SUSSEX foi fornecido por (HOWELL, 1997) e é compostopor 100 imagens formadas por 384× 287 pixels, em escala de cinza no formato Sun

Page 24: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.1. Bancos de Imagens Utilizados 7

Standard Rasterfile divididas de modo igual para 10 indivíduos. Cada imagem éuma posição da camera que varia de 0◦ a 90◦ com um passo de 10◦ entre as imagens.A figura 2.1 mostra os diferentes indivíduos que compõem este banco de faces.

Figura 2.1: Indivíduos que compõem o banco de imagens SUSSEX

As dez imagens de cada subconjunto variam em pose1 com relação ao eixo verticalcomo mostra a figura 2.2. Para cada indivíduo existe uma vista frontal de sua face,além das variações de pose. O incremento angular para cada pose é de 10◦ emrelação à posição frontal.

Figura 2.2: Amostra das variações das posições faciais presentes no banco de imagensSUSSEX

1Neste caso corresponde ao ângulo da face em relação à câmera.

Page 25: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.1. Bancos de Imagens Utilizados 8

2.1.2 Banco de Faces YALE-A

O banco de imagens YALE-A (BELHUMEUR P. N. HESPANHA; KRIEGMAN, 1997)é composto de 165 imagens de 243× 320 pixels em escala de cinza, no formato GIF.Estas 165 imagens são divididas igualmente entre 15 indivíduos. Cada indivíduopossui variações de diversas. A Figura 2.3 mostra os indivíduos presentes noconjunto de dados YALE-A. As onze situações encontradas para cada indivíduo doconjunto YALE-A compõem-se de distintas expressões faciais: tristeza, sonolência,surpresa, piscar de um olho e alegria; bem como configurações diferentes de:iluminação frontal, expsressão normal sem óculos, expressão normal com óculos,iluminação lateral à esquerda, iluminação lateral à direita. A Figura 2.4 mostraisso.

Figura 2.3: Indivíduos que compõem o banco de imagens YALE-A

Page 26: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.1. Bancos de Imagens Utilizados 9

Figura 2.4: Variações faciais existentes no banco de dados YALE-A para um dadoindivíduo.

2.1.3 Banco de Faces YALE-B

O banco de faces YALE-B (GEORGHIADES; BELHUMEUR; KRIEGMAN, 2001) écomposto por 5850 imagens de 640 × 480 pixlels em escala de cinza no formatoPGM (Netpbm grayscale image format). Este banco possui no total 10 indivíduossob diferentes situações. As situações em que cada indivíduo no conjunto de facesYALE-B dividem-se em condições de iluminação e posição da câmera em relaçãoa cada indivíduo. De forma que cada indivíduo possui 9 diferentes poses sob 65condições de ilumincação para cada pose (sendo uma delas a iluminação ambiente).A Figura 2.5 mostra os indivíduos presentes no conjunto de faces YALE-B e a Figura

Page 27: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.1. Bancos de Imagens Utilizados 10

mostra 2.6 mostra algumas variações para um determinado indivíduo deste conjuntode imagens.

Figura 2.5: Indivíduos que compõem o banco de imagens YALE-B.

Page 28: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.1. Bancos de Imagens Utilizados 11

Figura 2.6: Algumas das variações existentes no banco de dados YALE-B para um dadoindivíduo.

Page 29: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.2. Metodologia 12

2.2 Metodologia

Os experimentos realizados nesta dissertação obedeceram à metodologia deprojeto e validação ilustrada na figura 2.7.

Figura 2.7: Metodologia de projeto e validação de classificadores usados nestadissertação.

A seqüencia de etapas apresentadas neste fluxograma pode ser resumida nasseguintes etapas:

I As imagens compõem o conjunto utilizado são vetorizadas; ou seja, cadaimagem é transformada de uma matriz de pixels para um vetor coluna que

Page 30: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.2. Metodologia 13

contém todos os pixels desta matriz.

I Obtidos todos os vetores de imagens, são selecionados aleatoriamente N2

vetores para compor o conjunto de teste de modo que haja sempre umrepresentante de cada classe compondo este conjunto. O restante do conjuntoaqui denotado por N1 formam o conjunto de treinamento do classificador. Deforma que N1 >> N2 e N1 + N2 = N , onde N é o todo o conjunto de dados.Nesta dissertação foi assumido que N1 = 0, 8N e N2 = 0, 2N .

I Nas rotinas de seleção aleatória e inicialização de pesos foi utilizado o comando

RAND()

do MATLAB c©, que implementa o algoritmo Mersenne Twiseter 2.

I A técnica de Análise de Componentes Principais é aplicada aos vetores detreinamento a fim de reduzir a dimensionalidade.

I Antes das etapas de treinamento e teste a serem aplicados ao classificador,estes vetores são normalizados para média nula e variância unitária.

I Ao término destes procedimentos o classificador é treinado, para logo emsequida o mesmo ser testado e ter seu desempenho validado com base emmedidas estatísticas que serão descritas adiante.

Do fluxograma, quatro das etapas que o compõe (vetorização, seleção deexemplos, de treinamento e teste, redução de dimensionalidade, e normalização)são detalhadas a seguir:

Vetorização

Usualmente, uma imagem digital é representada como uma matriz de intensidadede pixels (Picture Element) de resolução A × B. Antes de ser apresentada aoclassificador, cada imagem digital J é vetorizada, ou seja, convertida em um vetorx de dimensão A.B. Matematicamente, o processo de vetorização consiste em ummapeamento f do espaço de matrizes de dimensão A× B para o espaço de vetoresde dimensão A.B, ou seja

f : J ∈ RA × RB → x ∈ RA.B (2.1)2http://www.math.sci.hiroshima-u.ac.jp/

Page 31: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.2. Metodologia 14

Esse mapeamento se faz necessário porque classificadores neurais recebem comoentrada um vetor, e não matriz. Nesta dissertação foi usada a vetorização porcolunas, através da qual as colunas da imagem digital são empilhadas uma abaixoda outra: a segunda abaixo da primeira, a terceira abaixo da segunda e assim pordiante de modo que no finals se tenha apenas um vetor coluna.

Mesmo em imagens de baixa resolução é necessário ser feita a redução dedimensionalidade das imagens vetorizadas, pois após uma vetorização, uma imagemde dimensão 150× 150 passa a ser um vetor de dimensão 22500 por exemplo.

Seleção de Exemplos para Treinamento e Teste

O critério adotado para a seleção destes conjuntos de treino e teste é um mistoentre Leave-One-Out (HAYKIN, 1994) e Bootstrap (GOOD, 2006). Ele é descrito nosseguintes passos:

I Passo 1: Escolhe-se aleatoriamente uma imagem vetorizada de cada indivíduopara compor o grupo de teste. Ao final desta seleção o grupo de teste contarácom N2 exemplares para testar o classificador. O restante compõe os N1

vetores de treinamento.

I Passo 2: Repete-se o Passo 1 para um número R (R >> 1) de realizações.

Redução de Dimensionalidade

Trabalhar com dados de alta dimensionalidade é um grande problema emreconhecimento de padrões (BELLMAN, 1961). Uma alternativa comumente utilizadapara tratar este problema é a técnica de Análise por Componentes Principais(Principal Component Analysis, PCA) (JOLLIFFE, 1986).

PCA é uma transformação aplicada aos vetores de dados pela qual a primeiradimensão obtida (i.e. primeira componente principal ou hiperplano) é alinhada coma direção de maior variância dos dados, a segunda componente principal é alinhadacom a direção de maior variância dentre todas as direções ortogonais à primeiradimensão obtida, e assim por diante. Estas componentes podem ser, então, usadaspara descrever os dados originais e a quantidade destes a ser utilizada é uma escolhade projeto. Isto resulta da quantidade de variância que se deseja explicar dos dadosoriginais.

Page 32: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.2. Metodologia 15

Desta forma, aplica-se PCA3 às imagens vetorizadas, doravante chamadas depadrões de entrada, selecionadas para treino dos classificadores e são utilizadostantos componentes principais quanto fossem necessários para explicar 95% davariância do conjunto original.

Antes de aplicar PCA, todas as imagens vetorizadas de um certo conjunto sãoorganizadas como colunas de uma matriz de dados X ∈ RAB × RN1 em que Né o número de todos os exemplos no conjunto de dados. Ao aplicar PCA, faz-senecessário calcular A.B autovetores e os autovalores correspondentes da matriz decovariância CX dada pela equação 2.2

CX = E[X X T

]≈ 1

N1X X T (2.2)

em que E[.] é o operador do valor esperado e o sobrescrito T denota a transposição.O número de componentes principais L (em que L << AB) a serem escolhidos,define a nova dimensão dos vetores de entrada a serem usados para treinar ou testaros classificadores avaliados neste trabalho.

A aplicação de PCA à matriz de dados X gera uma nova matriz Y ∈ RL×RN

de dados transformados. No contexto de redução de dimensionalidade, isto equivalea dizer que cada coluna xi ∈ RAB, i = 1, . . . , N da matriz de dados X é linearmentetransformada em um vetor yi ∈ RL que corresponde à i-ésima coluna da matriz Y .

Nas Figuras 2.8, 2.9 e 2.10 são mostrados os valores de cada componenteprincipal (autovetor) para uma dada matriz de covariância, ou seja, quando umdado componente principal explica da variância original para um certo conjunto deimagens.

Todos os conjuntos de faces requerem um número particulamente reduzido decomponentes principais para explicar 95% da variância dos dados originais. Isto éexplicado devido ao fato que imagens digitais possui alto nível de redudância emseus dados originais.

Normalização

Uma vez obtida a matriz de dados transformados Y , a etapa seguinte consisteem efetuar uma normalização isotrópica4 das componentes yi, i = 1, . . . , N

3Neste trabalho é utilizada a função pca.m implementada por C. Merkwirth (MERKWIRTH;WICHARD; OGORZALEK, 2005). O método das potências é adotado.

4Isotrópica no espaço: não existem direções no espaço privilegiadas, ou equivalentementeidentificáveis.

Page 33: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.2. Metodologia 16

Figura 2.8: Importância relativa das primeiras 40 componentes principais associadas àsimagens do conjunto SUSSEX.

Figura 2.9: Importância relativa das primeiras 85 componentes principais associadas àsimagens do conjunto YALE-A.

condicionando ao intervalo [−1,+1]. Com isto, busca-se basicamente evitar queuma dimensão se sobreponha em relação às outras, distorcendo os valores providos

Page 34: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.3. Resumo do Capítulo 17

Figura 2.10: Importância relativa das primeiras 83 componentes principais associadas àsimagens do conjunto YALE-B.

pelas métricas de distância (como a distância euclidiana, por exemplo).

O procedimento de normalização pode ser resumido da seguinte forma: paracada componente yil do vetor yi, o seu novo valor y∗il é dado por

y∗il = 2

(yil − yminil

ymaxil − yminil

)− 1 (2.3)

em queymaxil = max {yil(k)} , k = 1, . . . , N (2.4)

e

yminil = min {yil(k)} , k = 1, . . . , N (2.5)

2.3 Resumo do Capítulo

Neste capítulo foram brevemente descritos os dois conjuntos de faces utilizadosneste trabalho e a metodologia adotada para realizar o estudo comparativo dedesempenho dos classificadores neurais no problema de reconhecimento de faceshumanas. No capítulo seguinte serão apresentados os classificadores neurais de

Page 35: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

2.3. Resumo do Capítulo 18

camada única. São eles a saber: Perceptron Simples, Perceptron Logístico,Perceptron Logístico treinado com o Algoritmo de Kalman Extendido e o ElementoLinear Adaptativo Múltiplo.

Page 36: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 3Redes Neurais de Camada Única

Novas e importantes técnicas de aprendizado em redes neurais surgiram desde aproposição da regra de aprendizado do perceptron em 1960. Muitas delas envolvemalgoritmos complexos e superfícies discriminantes não-lineares e que, de certa forma,exigem mais esforço computacional do que os algoritmos clássicos. A depender daaplicação, o desempenho de uma rede neural com superfície de decisão linear podeser equivalente ou até superior ao de uma rede neural com superfície de decisãonão-linear.

Neste capítulo, são descritos de modo sucinto classificadores baseados emredes neurais supervisionadas com uma única camada de neurônios, denominadosneurônios de saída. Este tipo de arquitetura apresenta bom desempenho paraproblemas de classificação do tipo linearmente separável. Daí, costuma-se usaro termo discriminante linear para se referir a tais classificadores. São eles asaber: Perceptron Simples (PS), Perceptron Logístico (PL), Perceptron Logísticotreinado com o algoritmo de Kalman Extendido Múltiplo (PL+MEKA), além darede Madaline (Multiple Adaptive Linear Element) e suas variantes.

Depois de descrever as arquiteturas neurais mencionadas no parágrafo anterior,seus desempenhos frente à tarefa de identificar faces humanas serão apresentados ediscutidos.

Page 37: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.1. Notação Matemática 20

3.1 Notação Matemática

Para melhor entendimento das arquiteturas neurais que serão posteriormenteapresentadas, esta seção tem por objetivo introduzir a notação matemática adotadanesta dissertação.

3.1.1 Escalares

Números escalares são grandezas adimensionais. Em álgebra linear, escalaressão grandezas associadas a pontos no espaço. Nas redes neurais apresentadas nestadissertação as variáveis escalares são denotas por letras em itálico. Por exemplo: osinal desejado d(t) (onde aqui t indica a iteração do algoritmo) é um exemplo deescalar.

3.1.2 Vetores

Redes neurais possuem várias entradas e produzem múltiplas saídas (PRINCIPE;EULIANO; LEFEBVRE, 2000). Para a implementação de uma rede neural, tanto emhardware como em software, são necessários métodos que lidam com quantidadesmultivaloradas, pois uma rede neural normalmente recebe vários atributos. Estaentrada pode ser formulada matematicamente como um vetor, pois este é umacoleção ordenada de escalares. Vetores nesta dissertação são denotados por letrasem minúsculas e em negrito. Por exemplo: o vetor de entrada de uma rede neuralé denotado pelo vetor coluna:

x(t) =

x0(t)

x2(t)

...

xi(t)

...

xp(t)

. (3.1)

Onde t é um escalar que denota a iteração corrente do algoritmo. Note que ovetor de entradas da equação (3.1) é formado por p+ 1 escalares. Cada escalar quecompõe o vetor da equação (3.1) equivale a um atributo, ou seja, a uma entrada de

Page 38: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.1. Notação Matemática 21

cada neurônio da rede neural. Nesta dissertação os escalares do vetor de entradax(t) são números reais. Como são p+ 1 escalares dizemos que a dimensão do vetorx(t) pertence a Rp+1, ou seja, um espaço de p+ 1 escalares reais.

O vetor de entrada é conectado a uma camada de neurônios de uma rede neural.Estas conexões sào ponderadas por escalares qualquer. Estas ponderações sãodenotasas por vetores de peso. Nesta dissertação o vetor de peso que liga o k-ésimoneurônio ao vetor de entrada x(t) é dado por

wk(t) =

wk0(t)

wk2(t)

...

wki(t)

...

wkp(t)

, (3.2)

onde é definido que wk(t) é o vetor de pesos do k-ésimo neurônio que se liga ao vetorde entrada x(t). A notação wki(t) é o escalar que representa o peso que pondera aconexão do k-ésimo neurônio com o i-ésimo escalar do vetor de entrada x(t).

3.1.3 Matrizes

Matrizes são uma boa forma de se representar pesos em geral. Diferentementede vetores, elas são arranjadas em dois indícies, isto é, com escalares da formaw(t)ij onde i é a linha da matriz e j é a coluna. Nesta dissertação, matrizes sãorepresentadas por letras maiúsculas e em negrito. Por exemplo: todos os vetoresde pesos de uma rede neural de camada única podem ser representados da seguinteforma:

W(t) =

w10(t) w11(t) . . . w1p(t)

w20(t) w21(t) . . . w2p(t)

......

......

wc0(t) wc1(t) . . . wcp(t)

. (3.3)

Onde o cada escalar wij(t) presente na matriz W(t) da equação (3.3) denota opeso que pondera a conexão entre o i-ésimo neurônio e o j-ésimo escalar do vetor de

Page 39: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.2. Redes Perceptron 22

x0 →

xp →

...

����

-@@@R

AAAAAAU

�������

����

-@@@R

� ��1

� ��2...� ��k...� ��c

- y1

- y2

- yk

- yc

Figura 3.1: Esboço da arquitetura da rede Perceptron Simples.

entrada x(t). A matriz de pesos de uma rede neural de camada única (a matriz depesos da equação (3.3) possui c neurônios ligados a uma entrada de p+ 1 atributos.

3.2 Redes Perceptron

3.2.1 Rede Perceptron Simples

A rede perceptron simples (PS) (ROSENBLATT, 1958) é formada pelo vetor

x = [x0, x1, x2, . . . , xp]T (3.4)

que contém p + 1 unidades de entrada conectadas a uma camada com c neurôniosartificiais. Cada conexão é ponderada por um parâmetro ajustável conhecido comopeso sináptico. Os pesos sinápticos, em geral, são modelados da seguinte forma:

wk = [wk0, wk2, . . . , wkp]T (3.5)

onde aqui k representa o k-ésimo neurônio em que k = 1, 2, . . . , c. O escalar wkjrepresenta o peso sináptico da conexão entre a j-ésima entrada, ou seja, xj, aok-ésimo neurônio.

Os pesos juntamente com o bias do neurônio compõem o vetor wk(t) ∈ Rp+1.O sobrescrito T indica a transposição de um dado vetor ou matriz e t indica aiteração corrente do algoritmo. O escalar de entrada x0 tem como constante o valor−1. Desta forma, o peso sináptico wk0 corresponde ao limiar de disparo do k-ésimoneurônio. O vetor da Equação (3.4) aplicado à iteração t corresponde a um padrãode entrada apresentada à rede. A Figura 3.1 ilustra a arquitetura da rede PS.

O treinamento da rede PS é feito de modo supervisionado, ou seja, o aprendizado

Page 40: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.2. Redes Perceptron 23

da rede é feito com um “professor” que ensina a rede os padrões das classes doconjunto de dados em que se deseja treinar a rede. No caso da rede PS durantea etapa de treinamento, os rótulos numéricos, associados aos padrões de entrada,guiam o aprendizado da rede no sentido de ajustar os pesos da rede e fazer com quea mesma discrimine as classes apresentadas. Se as classes são linarmente separáveis,a rede converge para uma solução ótima em um número finito de épocas (MINKY;

PAPERT, 1969). Com base na Figura 3.2.1, a saída e a regra de aprendizagem parao k-ésimo neurônio da rede PS são dados respectivamente por

yk = sign

(p∑j=1

wkj(t)xj(t)− wk0(t)

)e (3.6)

wk(t+ 1) = wk(t) + ηek(t)x(t). (3.7)

A função sign(.) é a função sinal (mais detalhes sobre a função sinal no apêndiceA), xj(t) é a j-ésima componente do vetor de entrada, wkj(t) é o peso referente aconexão da j-ésima entrada ao késimo neurônio de saída, wk0 é o limiar de ativaçãodo k-ésimo neurônio de saída e 0 < η < 1 é a taxa de aprendizagem, ou passo deadaptação. O escalar ek(t) é o erro de estimação a posteriori do k-ésimo neurônio eé dado por

ek(t) = dk(t)− yk(t), (3.8)

onde dk(t) é o sinal desejado. Em outras palavras, busca-se minimizar o erro declassificação dos vetores de entrada. Matematicamente, este procedimento pode serrepresentado pela seguinte função-custo:

J [w] =∑pk∈E

(−wTpk). (3.9)

Onde pk denota o k-ésimo vetor de entrada mal-classificado e E o conjunto dosvetores mal-classificados.

A Figura 3.2 mostra com mais detalhes o neurônio da rede PS e suas conexões.

Page 41: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.2. Redes Perceptron 24

Figura 3.2: Esboço do k-ésimo neurônio da Rede Percepron Simples.

3.2.2 Rede Perceptron Logístico

A rede perceptron logístico (PL) pode ser entendida como uma rede perceptronsimples em que a função sinal é substituída por uma função sigmoidal. Nestetrabalho, a função tangente hiperbólica foi adotada (ver apêndice A para detalhessobre funções sigmoidais). Desta forma, a saída e a regra de aprendizagem dok-ésimo neurônio são dados respectivamente por

yk(t) = tanh

(p∑j=1

wkj(t)xj(t)− wk0(t)

)e (3.10)

wk(t+ 1) = wk(t) + ηek(t)(1− yk(t)2

)x(t), (3.11)

em que tanh(.) é a função tangente hiperbólica.

A função custo aqui a ser minimizada é baseada no Erro Quadrático Médio, combase nos erros produzidos para todos os pares de entrada e saída {x(t),d(t)}:

J [w] =1

N1

N1∑t=1

c∑i=1

e2i (t). (3.12)

Algumas considerações frente a rede PL devem ser feitas: a primeira é que omodelo de cada neurônio da rede inclui uma função de ativação não-linear suave.A utilização da função sigmoidal na equação (3.10) tem motivação biológica, pois

Page 42: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.2. Redes Perceptron 25

procura levar em conta a fase refratária de neurônios reais (HAYKIN, 1994). Asegunda consideração é a inclusão do fator 1− yk(t)2 na equação (3.11). Este fatoré a derivada da saída yk em relação à ativação uk no instante t. Esta derivada servepara tornar o aprendizado mais estável no ponto de vista da convergência sub-ótima(mínimos locais). Entretanto, um efeito negativo desta derivada é que ela torna oaprendizado mais lento, principalmente quando a saída do neurônio está nas regiõesde saturação (i.e. quando yk(t) ≈ ±1).

3.2.3 Perceptron Logístico + MEKA

As rede PS e PL usam o algoritmo da Retropropagação de Erros (Rumelhart;

MCclelland, 1986). Esta variante da rede Perceptron desta seção é um pouco diferentedas anteriormente descritas. A rede Perceptron Logístico com o Algoritmo deKalman Extendido Múltiplo (PL+MEKA) usa uma ativação logística, porém aatualização dos pesos é feita através do Algoritmo de Kalman Estendido Múltiplo(SHAH; PALMIERI, 1990). Considerando-se o vetor de pesos w de todos os neurôniosdestas redes, a função custo que deve ser minimizada durante a etapa de treinamentoé definida como:

Eav(w) =1

2N1

N1∑t=1

c∑j=1

[dj(t)− yj(t)]2 (3.13)

onde N1 é o número de vetores de treinamento, dj(t) é a saída desejada do j-ésimoneurônio, yj(t) a saída obtida do neurônio j e c é o número total de neurôniospresente na rede PL+MEKA.

Esta função de custo, como pode ser vista, é dependente do vetor de pesosw. Aplicando-se o algoritmo de Kalman Estendido Múltiplo a este problema,lineariza-se esta função custo em torno de cada ponto de operação. Com isto,particiona-se o problema global em sub-problemas (SHAH; PALMIERI, 1990) de formaque seria como modelar um filtro de Kalman estendido para cada neurônio da rede(PALMIERI; DATUM; SHAH, 1991).

De modo genérico, quando aplicado ao classificador PL, a saída e a regra deaprendizado para o k-ésimo neurônio desta rede são expressas por

yk(t) = tanh(wTk (t)x(t)

)e (3.14)

Page 43: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.2. Redes Perceptron 26

wk(t+ 1) = wk(t) + ηek(t)kk(t), (3.15)

onde o vetor kk(t) é chamado de ganho de Kalman do k-ésimo neurônio. Paracalcular o ganho de Kalman é necessário o cálculo recursivo das seguintes equações:

Pk(0) = ρI (3.16)

qk(t) =(1− y2k(t)

)x(t) (3.17)

rk(t) = α−1Pk(t)qk(t) (3.18)

kk(t) = rk(t)[1 + rTk (t)qk(t)

](3.19)

Pk(t+ 1) = α−1Pk(t)− kk(t)rTk (t) (3.20)

onde Pk(t) é uma estimativa da matriz de covariância de qk(t). Pk(t) é alocadada forma como mostra a equação (3.16). A matriz identidade I deve ter dimensões(p + 1) × (p + 1) e ρ é uma constante de valor elevado. A constante 0 < α ≤ 1

é chamada de fator de esquecimento. A equação (3.20) é chamada de Equaçãode Ricatti. De acordo com a regra MEKA, cada neurônio, ao possuir seu próprioconjunto de variáveis Pk(t), kk(t), rk(t) e qk(t), opera como um filtro de Kalmanestendido local (SHAH; PALMIERI, 1990) que busca minimizar o seu erro quadráticomédio independente dos demais.

A principal vantagem do algoritmo MEKA sobre a regra de aprendizagemperceptron padrão apresentada na equação (3.11) do classificador PL é o aumentoda velocidade de convergência. Contudo, vale ressaltar que isto ocorre às custas deum aumento considerável de custo computacional e de espaço de memória para seutreinamento (PALMIERI; DATUM; SHAH, 1991).

Page 44: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 27

3.3 Redes Madaline e variantes

A rede Madaline, termo este que significa Multiple ADAptive LINear Element,é composta por múltiplos neurônios do tipo ADALINE (WIDROW; MICHAEL; LEHR,1990). Esta rede possui a mesma topologia das redes perceptron de uma camadaanteriormente descrita. A saída do neurônio do tipo ADALINE é dada pela equação(3.23). As redes Madaline e Perceptron, apesar de parecidas, têm suas diferenças:

I A saída da rede Madaline é linear, ou seja, as saídas dos neurônios são iguais àsativações. Desta forma a saída da rede Madaline são números reais, enquantoa saída da rede Perceptron Simples (PS) é quantizada em dois níveis {+1,−1}ou {0,1}.

I A rede PS tem como finalidade de somente ser usada como classificador depadrões. Já a rede Madaline pode ser usada como classificador de padrões oucomo aproximador de funções (interpolador).

I A função-custo da rede PS é o número de padrões mal-classificados(classificados erroneamente). A função-custo da rede Madaline é o erroquadrático médio.

I A rede Perceptron Logístico (PL) pode ser vista tanto como uma varianteda rede PS, em que a função de ativação não-linear dura (hard) da redePS é trocada por uma função não-linear suave (soft), tal como a tangentehiperbólica, como também pode ser vista como uma generalização não-linearda rede MAdaline (regra LMS é substituída pela regra LMS generalizada).

As regras de aprendizado da rede Madaline variam. A mais conhecida destasregras é a de Widrow-Hoff. Também chamada de regra delta, ou regra LMS(least-mean squares) discutida a seguir.

Page 45: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 28

3.3.1 Rede Madaline com a Regra de Aprendizado LMS

O neurônio da rede Madaline com a regra LMS (Madaline/LMS) possui regrade aprendizagem dada por

wk(t+ 1) = wk(t) + ηek(t)x(t). (3.21)

Essa regra de aprendizagem vem da seguinte função custo:

J [wk] = min||dk(t)− yk(t)||2. (3.22)

De todos os algoritmos adaptativos usados na rede LMS como regra deaprendizagem, o mais é o algoritmo LMS (Least Mean Squares), dada a suasimplicidade matemática, a sua robustez e a facilidade da sua implementação(ABRANTES, 2000).

O cálculo da saída do k-ésimo neurônio da rede Madaline/LMS é dado por

yk(t) = wTk (t)x(t) =

p∑j=1

wkj(t)xj(t)− wk0(t). (3.23)

3.3.2 Rede Madaline com Regra de Aprendizagem do Algoritmo do Sinal

A fim de tornar a implementação do LMS mais simples de forma a usar umaestimativa do gradiente mais simples, o Algoritmo do Sinal faz uma aproximaçãomais grosseira do gradiente considerando apenas o sinal de ek(t) (MATHEWS; CHO,1987). Com essa aproximacão, a função custo e a regra de aprendizagem da redeMadaline com a regra de aprendizagem do Algoritmo do Sinal (Madaline/SLMS)sãorespectivamente:

J [wk] = min|dk(t)− yk(t)| (3.24)

w(t+ 1) = w(t)− 2ηsign(ek(t))x(t) (3.25)

A vantagem deste algoritmo é ser realmente muito simples. Não é preciso fazer amultiplicação de e(t) por x(t), pois x(t) é multiplicado apenas por 2η, ou −2η. No

Page 46: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 29

entanto, o erro final não é o mesmo que o LMS convencional, pois a taxa de acertoda rede Madaline/SLMS normalmente são menores que a rede Madaline/LMS comoserá visto em seguida.

3.3.3 Madaline com o LMS Normalizado

O termo de ajuste 2ηek(t)x(t) presente na equação (3.25) contém o vetor deentrada x(t). Isto tem por consequência que os algoritmos anteriormente descritosficam dependentes da potência do sinal de entrada, pois este está explicitamenteescrito em suas equações (ABRANTES, 2000). Desta forma, para diminuir estainfluência da entrada, a regra de aprendizagem da rede Madaline com o LMSNormalizado (Madaline/NLMS) dada na equação (3.26) tem o passo normalizadorelativamente ao quadrado da norma euclidiana de x(t). A Equação a seguir mostraisso.

wk(t+ 1) = wk(t) +2η

b+ ||x(t)||2ek(t)x(t), (3.26)

em que ||.|| é a norma euclidiana de um vetor e b > 0 é uma constante que servepara evitar a divisão por valores nulos ou muito pequenos. O valor ||x(t)||2 pode sercalculado recursivamente como

||x(t)||2 = x2(t) + ||x(t− 1)||2 − x2(t− p). (3.27)

3.3.4 Madaline com o “leaky” LMS

O algoritmo “leaky” LMS introduz um parâmetro de fuga um parâmetro de fuga0 < λ < 1 à equação (3.21). Assim, a função custo a ser reduzida fica:

J [wk] = min{||dk(t)− yk(t)||2 + λ||wk||2

}(3.28)

e a regra de aprendizagem:

wk(t+ 1) = wk(t)(1− λ) + 2ηek(t)x(t). (3.29)

A introdução de λ na rede Madaline com o “leaky” LMS (Madaline/LLMS) sedeve porque o algoritmo LMS convencional é sensível a erros de arredondamento se

Page 47: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 30

o termo de atualização dos pesos for muito próximo de zero (WIDROW; MICHAEL;

LEHR, 1990).

3.3.5 Madaline com o “Median” LMS

O LMS convencional tem como desvantagem a vulnerabilidade a pertubaçõesde ruído impulsivo. Este irá influenciar diretamente no vetor de pesos econsequentemente na minimização do erro quadrático médio. Filtragem Medianatem sido usada em processamento não-linear de sinais para eliminar ruídosimpulsivos de forma a preservar mudanças (SETHARES, 1994). Desta forma, a redeMadaline com o algoritmo “Median” LMS (Madaline/MLMS) propõe sua regra deaprendizado a filtragem mediana no termo de atualização dos pesos:

wk(t+ 1) = wk(t) + ηMEDω(u), (3.30)

u = [ek(t)x(t), ek(t− 1)x(t− 1), . . . , ek(t− ω + 1)x(t− ω + 1)]1×ω (3.31)

onde u é um vetor que guarda a ativação atual na iteração t e as passadas t− 1, t−2, . . . , t − ω. O escalar ω é um número que indica o tamanho da janela usada naoperação mediana indicada por MEDω(.). A mediana aqui apresentada é aplicadapor tuplas de ω × p e deve ser interpretada como uma mediana de elemento aelemento das linhas, i.e.:

MEDω

a11

a12

...

a1p

, . . . ,

aω1

aω2...

aωp

=

medω(a11, . . . , aω1)

medω(a12, . . . , aω2)

...

medω(a1p, . . . , aωp)

(3.32)

onde medω é a mediana de ω escalares.

Embora o Madaline/MLMS seja projetado para entradas onde possui ruídoimpulsivo, ele não é de uso geral, pois existem casos em que o erro quadráticomédio pode ter pequenas “subidas” ao invés de convergir, pois ao contrário do LMS

Page 48: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 31

convencional, ele não é interpretado como uma aproximação do mínimo do gradientedo erro (WILLIAMSON; CLARKSON; SETHARES, 1993).

3.3.6 Madaline com o Algoritmo dos Mínimos Quadrados Recursivos

As variantes da rede Madaline previamente descritas tentam minimizar a médiado quadrado de um determinado erro do k-ésimo neurônio ek(t) determinado como adiferença entre um sinal desejado designado do k-ésimo neurônio designado por dk(t)e a saída deste neurônio designado por yk(t) (ABRANTES, 2000). A rede Madalinecom o Algoritmo dos Mínimos Quadrados Recursivos (Madaline/RLS) aborda umatécnica diferente de minimização. Trata-se do método dos mínimos quadrados. Estemétodo foi proposto por Gauss quando este se dedicou ao estudo do movimento doscorpos celestes (SORENSON, 1970).

A regra de aprendizado da rede Madaline/RLS é dada por

wk(t) = wk(t− 1) + R−1(t)x(t)e′

k(t) (3.33)

onde e′k(t) é o erro de estimação a priori do k-ésimo neurônio, R(t) é a matriz deautocorrelação do vetor de entrada x(t) ponderada por um fator de esquecimento0 < α < 1.

R(t) =N∑t=0

αN−tx(t)xT (t) (3.34)

e′

k(t) = dk(t)−wTk (t− 1)x(T ) (3.35)

A principal desvantagem do Algoritmo dos Mínimos Quadrados Recursivos (RLS) éo grande número de cálculos exigidos para armazenar a matriz R(t) e invertê-la emcada iteração t. Entretanto, usando uma técninca chamada de o lema da inversãode matrizes, a inversão a cada iteração é evitada.

P(t) = R−1(t) (3.36)

P(t) =1

α

[P(t− 1)− P(t− 1)x(t)xT (t)P(t− 1)

α + xT (t)P(t− 1)x(t)

](3.37)

Page 49: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 32

em que a matriz P(t) é alocada em memória da seguinte forma:

P(0) = ρI (3.38)

onde I é a matriz identidade com dimensão (p + 1) × (p + 1) e ρ é uma constantepositiva de valor elevado.

A expressão da equação (3.37) é conhecida como Equação de Ricatti do algoritmoRLS.

A diferença entre as duas matrizes semidefinidas positivas que compõem aequação de Riccati pode dar origem a uma matriz P(t) não-simétrica. Esta perdade simetria pode tornar P(t) singular, ao ser atualizada em cada iteração. Paramitigar este problema consiste em usar a equação de Ricatti em termos do ganhode Kalman definido pela transformação do vetor de entrada x(t) pela a inversa damatriz R(t):

k(t) = P(t)x(t) = R−1(t)x(t) (3.39)

Desta forma, a regra de aprendizagem da rede Madaline/RLS em termos do ganhode Kalman fica definida como:

wk(t) = wk(t+ 1) + k(t)e′(t) (3.40)

3.3.7 Madaline com o Algoritmo da Memória por Matriz de Correlação

Dentre todas as variantes da rede Madaline, nenhuma delas leva em consideraçãodo uso de memória para tarefas de aprendizagem. Em um contexto neurobiológico,memória se refere às alterações neurais relativamente duradouras induzidas pelainteração de um organismo com seu ambiente (TREVES; ROLLS, 1994). Um padrãode atividade deve ser inicialmente armazenado na memória através de um processode aprendizagem (HAYKIN, 1994). A rede Madaline com o Algoritmo da Memóriapor Matriz de Correlação (Madaline/CMM - Correlation Matrix Memory) nãopossui uma regra de aprendizagem para atualização dos pesos como nas variantesanteriormente descritas. Ela é baseada na estimativa da memória. Essa estimativaque será representada aqui por uma matriz M e é calculada como o produto externoentre o vetor de entrada x(t) e o vetor de saídas desejadas d(t) ∈ Rc que este guardaas saídas desejadas de todos os neurônios na rede durante a uma itração t qualquer.

Page 50: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 33

(ANDERSON, 1972) (ANDERSON, 1983):

d(t) = [d1(t), d2(t), . . . , dk(t), . . . , dc(t)]T (3.41)

M =N1∑t=1

d(t)x(t)T (3.42)

onde N1 é o número total de amostras destinadas ao treinamento da rede.

Vale ressaltar que o vetor de entrada usado na rede Madaline/CMM não possuio bias. Assim, o vetor de entrada fica restrito a x(t) ∈ Rp. Desta forma, a matrizM possui dimensões c × p. O cálculo da saída da rede da rede Madaline/CMM édiferente da equação (3.23). O cálculo da saída é armazenado em um vetor de saíday(t) ∈ Rc que contém a saída de todos os c neurônios da rede Madaline/CMM. Estevetor é apresentado nas equações a seguir.

y(t) = [y1(t), y2(t), . . . , yk(t), . . . , yc(t)]T , (3.43)

y(t) = Mx(t). (3.44)

Algumas considerações sobre a rede Madaline/CMM devem ser feitas. Primeiro:Os vetores de entrada x(t) devem ser ortonormais entre si, ou seja:

x(k)Tx(j) =

1 se k = j

0 se k 6= j(3.45)

A propriedade da ortonormalidade entre os vetores de entrada serve para sejamevitados erros de recordação i.e. para que influência do vetor x(t) não influencie noaprendizado na apresentação dos vetores x(0),x(1),x(2), . . . ,x(t−1),x(t+1),x(t+

2),x(t+ 3), . . . ,x(N1) (HAYKIN, 1994).

A segunda consideração a ser feita é sobre a capacidade de armazenamento damemória associativa. O número total de padrões que a estimativa da memória élimitado pelo posto da matriz M1 (PRINCIPE; EULIANO; LEFEBVRE, 2000). Assim,

1O posto de uma matriz é definido como o número de colunas (linhas) independentes da matriz.Isto é, se r é o posto da matriz M, então temos que r ≤ min(c, p).

Page 51: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 34

o posto da matriz da estimativa de memória M é limitado pela dimensionalidade demin(c, p).

3.3.8 A Memória Associativa Linear Ótima (OLAM)

Neste seção é apresentada o método para o cálculo da matriz pseudo-inversade Moore-Penrose e seu uso no classificador da Memória Associativa Linear Ótima(OLAM), que é um classificador de superfície de decisão linear. Primeiramente serámostrado como calcular a matriz pseudo-inversa de Moore-Penrose.

Cálculo da Matriz Pseudo-Inversa de Moore-Penrose.

Seja uma matriz Amxn onde m > n. A matriz A† é dita pseudo-inversa deMoore-Penrose se satisfazer as seguintes equações.

AA†A = A, (3.46)

A†AA† = A†, (3.47)

(AA†

)T= AA† e (3.48)

(A†A

)T= A†A. (3.49)

Se A possuir inversa, então a equação

A† = A−1 (3.50)

é válida.

Esta aproximação é muitas vezes necessária para resolver sistemas do tipo

Ax = y, (3.51)

Page 52: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 35

onde

y =

y1

y2

...

yn

, (3.52)

x =

x1

x2

...

xn

e (3.53)

A =

a1,1 a1,2 . . . a1,n

a2,1 a2,2 . . . a2,n

......

am,1 am,2 . . . am,n

. (3.54)

Matricialmente, a solução da equação linear Ax = y é dada por

x = A−1y. (3.55)

Entretanto, neste caso A não é uma matriz quadrada e mesmo se fosse, elapoderia ser singular2. Entretanto, podemos usar a matriz A† para obtermos umasolução aproximada do problema. A solução aproximada do problema da equação(3.51) é calculado por

x ≈ A†y. (3.56)

A equação abaixo mostra como se calcula A† a partir de A.

A† =(ATA

)−1AT. (3.57)

2Uma matriz é dita singular quando o seu determinante é nulo, ou seja: é uma matriz que nãopossui inversa.

Page 53: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 36

Deve-se enfatizar a equação (3.56) é apenas uma aproximação e não a solução daequação em si, caso A não possua inversa. Porém, se A possuir inversa a equação(3.56) é tida como a verdadeira solução, uma vez que neste caso a equação (3.50) éválida.

Procedimentos do classificador OLAM.

Usando o mesmo raciocínio utilizado para apresentar os modelos Madalinee Perceptron, pode-se assumir que existe uma lei matemática linear, tambémchamada de transformação ou mapeamento linear, que relaciona um vetor de entradax ∈ Rp+1, com um vetor de saída d ∈ Rc. Esta relação pode ser apresentadamatematicamente da forma mostrada por

d = Wx, (3.58)

em que se assume que a matriz W = [wij] é uma matriz de dimensão c × (p + 1),totalmente desconhecida, ou seja, os valores wij, i = 1, 2, . . . , c, j = 0, 2, . . . , p sãoincógnitas. Tomando uma linha da equação (3.58) temos

di = wTi x, (3.59)

em que wi ∈ Rp+1 é o vetor de coeficientes (ou pesos) associados à i-ésima saídado modelo. A equação (3.59) é equivalente ao modelo Adaline no ponto de vistamatemático.

Supondo que a única fonte de informação sobre a transformação linearrepresentada na equação (3.58) é um conjunto de N1 pares de entrada-saídaobservados, ou seja:

x(1), d(1)

x(2), d(2)

x(3), d(3)

......

x(N1), d(N1)

.

Uma maneira de mostrar os pares entrada-saída acima de uma maneirasimplificada é mostrá-los como {xk,dk}, em que k é um índice simbolizando ok-ésimo par do conjunto de dados. Estes pares servirão para adquirir informação

Page 54: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 37

sobre a matriz W.

A matriz W, que representa o mapeamento linear aproximado da matriz W, éimplementada por

yk = Wxk. (3.60)

A matriz de transformação W produz uma saída yk através de xk. Espera-seque yk seja muito próximo da saída real dk.

O vetor de de erros entre dk e yk para o par entrada-saída {xk,dk} é definidopor

ek = dk − yk. (3.61)

Para se quantificar o grau de similaridade entre dk e yk é usado o acúmulo dosquadrados da norma do vetor de erros para todo o conjunto de treinamento.

SEQ =N1∑k=1

||ek||2 =N1∑k=1

(dk − yk)T (dk − yk), (3.62)

em que ||.|| denota a norma euclidiana.

O algoritmo OLAM acha os valores da matriz W (KOHONEN, 1989).Primeiramente, ele define duas matrizes: X e D. As colunas da matriz X sãoformadas pelos vetores de entrada xN1

k=1 selecionados para treinamento:

X = [x1|x2| . . . |xN1] . (3.63)

Já as colunas da matriz D são formadas pelos vetores de saída dN1k=1

correspondentes:

D = [d1|d2| . . . |dN1] , (3.64)

em que a matriz D possui dimensão c×N1 e a matriz X possui dimensão (p+1)×N1.

Desta forma, o algoritmo usa a matriz W de forma a construir o mapeamentolinear dado por

D = WX, (3.65)

que é a versão matricial do mapeamento mostrado na equação (3.60), em que todasas saídas dk, k = 1, 2, . . . , N1 que formam as colunas da matriz D são calculadas

Page 55: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.3. Redes Madaline e variantes 38

de uma só vez.

Assim, para calcular o valor W seria possível inverter X na equação (3.65) seesta fosse quadrada. Neste caso W seria uma solução ideal. O que não é o caso.

Desta forma, para achar o valor W, que é uma solução muito próxima da idealo cálculo da matriz pseudo-inversa da matriz X é feito usando a equação (3.57).Desta forma, a matriz W fica isolada. Desta forma:

W = DXT(XXT

)−1. (3.66)

Uma vez que a matriz W tenha sido calculada, pode-se testar o desempenho dométodo OLAM para o conjunto N2 pares entrada-saída restantes. Isto pode ser feitoindividualmente, ou em bloco.

Para o caso em que isso é feito individualmente, é possível calcular o vetor desaída gerado pelo mapeamento para um único vetor de entrada como:

yk = Wxk, (3.67)

enquanto para o caso em que isso é feito em bloco, os vetores de saída gerados paratodos os vetores de entrada disponíveis são calculados por

Y = WX, (3.68)

em que as colunas de Y são formadas pelos k = 1, 2, . . . , N1 vetores yk:

Y = [y1|y2| . . . |yN1] . (3.69)

O algoritmo OLAM pode ser usado tanto em aplicações de aproximações defunções, quanto em aplicaçoões de reconhecimento de padrões. Ele é uma versãobatch do classificador Adaline.

Page 56: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 39

3.4 Resultados de Classificação

Nesta seção, os desempenhos dos classificadores apresentados neste capítulo sãodiscutidos. Com exceção do classificador PL+MEKA, foram utilizadas 60 épocase 50 rodadas para todos os classificadores apresentados neste capítulo tanto paraYALE-A, como para SUSSEX. Para o PL+MEKA em YALE-A foram usadas 300épocas e 50 rodadas e para o PL+MEKA em SUSSEX foram usadas 100 épocas e50 rodadas. As tabelas a seguir mostram os parâmetros ajustáveis das redes paracada conjunto de faces testado.

Redes Neurais AjustadasParâmetros ajustáveis

η λ b ω α ρ c

PS 0, 01 −− −− −− −− −− 15

PL 0, 01 −− −− −− −− −− 15

PL+MEKA 0, 1 −− −− −− 1 10 15

Madaline/LMS 10−3 −− −− −− −− −− 15

Madaline/SLMS 0, 01 −− −− −− −− −− 15

Madaline/LLMS 10−3 10−4 −− −− −− −− 15

Madaline/NLMS 0, 1 −− 10−3 −− −− −− 15

Madaline/MLMS 0, 01 −− −− 3 −− −− 15

Madaline/RLS −− −− −− −− 0, 9 10 15

Madaline/CMM −− −− −− −− −− −− 15

OLAM −− −− −− −− −− −− 15

Tabela 3.1: Parâmetros ajustáveis para o banco de faces YALE-A.

Page 57: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 40

Redes Neurais AjustadasParâmetros ajustáveis

η λ b ω α ρ c

PS 0, 01 −− −− −− −− −− 10

PL 0, 01 −− −− −− −− −− 10

PL+MEKA 0, 1 −− −− −− 1 10 10

Madaline/LMS 10−3 −− −− −− −− −− 10

Madaline/SLMS 0, 01 −− −− −− −− −− 10

Madaline/LLMS 10−3 10−4 −− −− −− −− 10

Madaline/NLMS 0, 1 −− 10−3 −− −− −− 10

Madaline/MLMS 0, 01 −− −− 3 −− −− 10

Madaline/RLS −− −− −− −− 0, 9 10 10

Madaline/CMM −− −− −− −− −− −− 10

OLAM −− −− −− −− −− −− 15

Tabela 3.2: Parâmetros ajustáveis para o banco de faces YALE-B.

Page 58: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 41

Redes Neurais AjustadasParâmetros ajustáveis

η λ b ω α ρ c

PS 0, 01 −− −− −− −− −− 10

PL 0, 1 −− −− −− −− −− 10

PL+MEKA 0, 011 −− −− −− 1 10 10

Madaline/LMS 0, 01 −− −− −− −− −− 10

Madaline/SLMS 10−3 −− −− −− −− −− 10

Madaline/LLMS 10−3 10−4 −− −− −− −− 10

Madaline/NLMS 0, 1 −− 10−3 −− −− −− 10

Madaline/MLMS 0, 01 −− −− 3 −− −− 10

Madaline/RLS −− −− −− −− 0, 95 10 10

Madaline/CMM −− −− −− −− −− −− 10

OLAM −− −− −− −− −− −− 15

Tabela 3.3: Parâmetros ajustáveis para o banco de faces SUSSEX.

Page 59: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 42

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

PS 51, 52 76, 55 93, 94 8, 14

PL 87, 88 94, 48 100, 00 3, 34

PL+MEKA 84, 85 94, 79 100, 00 4, 46

Madaline/LMS 84, 85 94, 42 100, 00 3, 64

Madaline/SLMS 66, 67 86, 97 96, 97 6, 01

Madaline/LLMS 87, 88 93, 52 100, 00 3, 92

Madaline/NLMS 78, 79 92, 42 100, 00 4, 83

Madaline/MLMS 72, 73 93, 70 100, 00 5, 63

Madaline/RLS 54, 55 74, 24 93, 94 7, 87

Madaline/CMM 87, 88 96, 06 100, 00 3, 08

OLAM 90, 91 96, 97 100, 00 2, 60

Tabela 3.4: Taxas de acerto obtidas para o banco de faces YALE-A.

Page 60: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 43

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

PS 96, 84 98, 49 100, 00 0, 12

PL 99, 96 99, 95 100, 00 0, 10

PL+MEKA 99, 46 99, 98 100, 00 0, 09

Madaline/LMS 99, 76 99, 91 99, 97 0, 06

Madaline/SLMS 65, 21 72, 80 79, 75 3, 09

Madaline/LLMS 99, 49 99, 89 100, 00 0, 12

Madaline/NLMS 99, 57 99, 89 100, 00 0, 09

Madaline/MLMS 99, 74 99, 98 100, 00 0, 05

Madaline/RLS 80, 43 91, 62 98, 03 3, 51

Madaline/CMM 99, 91 99, 99 100, 00 0, 01

OLAM 98, 48 98, 79 100, 00 0.02

Tabela 3.5: Taxas de acerto obtidas para o banco de faces YALE-B.

Page 61: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.4. Resultados de Classificação 44

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

PS 55, 00 82, 40 100, 00 10, 36

PL 90, 00 98, 20 100, 00 3, 16

PL+MEKA 85, 00 98, 20 100, 00 3, 92

Madaline/LMS 90, 00 97, 80 100, 00 3, 22

Madaline/SLMS 80, 00 94, 30 100, 00 4, 95

Madaline/LLMS 90, 00 98, 00 100, 00 3, 20

Madaline/NLMS 90, 00 98, 50 100, 00 2, 53

Madaline/MLMS 85, 00 95, 30 100, 00 4, 33

Madaline/RLS 80, 00 96, 60 100, 00 4, 79

Madaline/CMM 85, 00 96, 60 100, 00 4, 22

OLAM 90, 00 97, 80 100, 00 2, 64

Tabela 3.6: Taxas de acerto obtidas para o banco de faces SUSSEX.

Os valores das taxas de aprendizado η foram escolhidas de modo que oaprendizado de cada classificador se desse mais rápido ao longo de sessenta épocas detreinamento. Foram testados valores de η = 10−4 a η = 0, 1. Os outros parâmetros(λ, b, ω, α e ρ) foram ajustados de forma que os classificadores tivessem melhorestaxas de acerto. O parâmetro c aqui significa o número de neurônios usado que éigual ao número total de classes distintas de cada banco de faces testado.

Definidas as condições de treinamento adotadas, as tabelas 3.4 e 3.6 apresentamas taxas de desempenho obtidas para os classificadores descritos neste capítulo nobanco de faces YALE-A , YALE-B e SUSSEX respectivamente.

Nota-se que nas tabelas 3.4 e 3.5, o classificador Madaline/CMM é superior aosdemais classificadores de camada única apresentados neste capítulo para o banco defaces YALE-A e YALE-B. É fato que o classificador Madaline/CMM não é precisoajustar muitos parâmetros além do número de neurônios de saída c. Além do queé um algoritmo de simples e implementação. Vale a pena ressaltar que todos osclassificadores neste capítulo discutidos em algum momento conseguiram classificar

Page 62: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.5. Custo Computacional 45

todas as imagens vetorizadas para o banco de faces YALE-A.

As tabela 3.6 mostra que o classificador Madaline/NLMS conseguiu maior taxade acerto média dentre os apresentados neste capítulo para o banco de facesSUSSEX. A classifcação de padrões usando redes neurais de camada única no bancode faces SUSSEX, em um modo geral, mostrou-se ser menos desafiadora, pois todasas arquiteturas neurais apresentadas neste capítulo conseguiram taxas de acertobem maiores do que no banco de faces YALE-A. Isto pode ser justificado em quea diferença entre uma amostra e outra de uma dada classe e outra esta apenas narotação da câmera.

3.5 Custo Computacional

Nesta seção é mostrada uma tabela com o custo computacional de cadarede neural apresentada neste capítulo. A Tabela a seguir mostra o número demultiplicações (÷), adições (+) e divisões (÷) necessárias para cada iteração dasredes apresentadas. Esta tabela também apresenta o número de vezes em que afunção de ativação dos neurônios (função quantizadora) é avaliada a cada iteração,caso o algoritmo da rede neural possua alguma. Essas operações são contabilizadaspor iteração.

Page 63: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.6. Resumo do Capítulo 46

Rede Neural × + ÷ sign(.) tanh(.)

PS (2p+ 1)c 2pc c

PL (4p+ 2)c (2p+ 1)c c

PL+MEKA (p2 + 5p+ 1)c (p2 + 3p)c c c

Madaline/LMS (2p+ 1)c 2pc

Madaline/SLMS 2pc 2pc c

Madaline/NLMS (3p+ 1)c 3pc c

Madaline/LLMS (3p+ 2)c (2p+ 1)c

Madaline/MLMS (2pc+ c)ω 2pcω

Madaline/RLS (p2 + 5p+ 1)c (p2 + 3p)c c

Madaline/CMM 2pc (p+ 1)c

OLAM (2p+ 1)c 2pc

Tabela 3.7: Custo computacional das redes neurais apresentadas neste capítulo.

Através da Tabela 3.7 é possível ver que o classificador Madaline/CMM é o quepossui o menor custo computacional de todas os outros apresentados neste capítulo.

A rede neural mais computacionalmente custosa deste capítulo é a redePL+MEKA, pois é a que possui mais operações que as demais apresentadas nestecapítulo.

A rede Madaline/MLMS o custo computacional é diretamente propocional aotamanho da janela ω da operação mediana. Uma vez que o custo da operaçãomediana é diretamente propocional ao tamanho de sua janela e no caso da redeMadaline/MLMS esta operação serve de função quantizadora. Dependendo de ω, arede Madaline/MLMS pode chegar a ser mais computacionalmente custosa do quea própria rede PL+MEKA.

3.6 Resumo do Capítulo

Neste capítulo foram apresentadas arquiteturas neurais de camada única. Parao banco de faces YALE-A o classificador Madaline/CMM obteve maiores taxas deacerto. Já no banco de faces SUSSEX, o classificador Madaline/NLMS foi o vencedor

Page 64: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

3.6. Resumo do Capítulo 47

entre os outros classificadores apresentados neste capítulo visto que possui maiortaxa de reconhecimento e menor desvio padrão. No banco de imagens YALE-B,assim como em YALE-A, a rede de maiores taxas de acerto também foi a redeMadaline/CMM.

Em termos de custo computacional, a rede Madaline/CMM foi a rede menoscustosa dentre todas as outras apresentadas neste capítulo. Para aplicaçõesembarcadas ela é uma excelente escolha, pois além de custo computacional reduzido,possui taxas de acerto satisfatórias.

No capítulo 3 desta dissertação são descritas arquiteturas neurais de múltiplascamadas a saber, MLP, ELM e RBF. Avaliam também o desempenho destasarquiteturas frente a classificar faces humanas sob diferentes condições.

Page 65: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 4Redes Neurais de Múltiplas Camadas

Um dos aspectos mais importantes dos classificadores de múltiplas camadasestá na capacidade de tratar problemas de classificação não-linearmente separáveis.Entretanto, existe um problema relacionado à especificação de parâmetros quemuitas vezes são em número excessivo, o que pode levar à ocorrência de overfitting(WINDEATT, 2008). Com exceção de rede ELM, os classificadores de múltiplascamadas, como a rede MLP e RBF, demandam grande esforço computacionaldurante o treinamento (DENG; ZHENG; CHEN, 2009). Neste capítulo, classificadoresneurais de múltiplas camadas são sucintamente descritos. São eles: PerceptronMulticamadas (MLP), a Máquina de Aprendizado Extremo (ELM) e a Função deBase Radial (RBF).

Depois de descrever as arquiteturas neurais deste capítulo, seus desempenhosfrente a classificação de padrões nos bancos de faces YALE-A, YALE-B e SUSSEXserão apresentados e discutidos.

Page 66: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.1. A Rede Perceptron Multicamadas 49

4.1 A Rede Perceptron Multicamadas

Com o redescobrimento do algoritmo de retropopagação do erro (errorbackpropagation algorithm) em meados da década de 80, com a publicação dotrabalho seminal de Rumelhart e MCclelland (1986), foi possível comprovarempiricamente que redes perceptron multicamadas (MLP, sigla em inglês) sãocapazes de resolver problemas não-linearmente separáveis. Análises teóricassobre poder de generalização da rede MLP não demoraram a aparecer (HORNIK;

STINCHCOMBE; WHITE, 1989) contribuindo para que a rede esta passasse a figurardentre as arquiteturas neurais mais utilizadas em reconhecimento de padrões.

A rede MLP é uma extensão das redes Perceptron descritas no Capítulo 3com a inclusão de camadas escondidas. Nesta dissertação são descritas redesMLP com apenas uma camada escondida uma vez que esta é suficiente paraclassificar dados não-linearmente separáveis (PRINCIPE; EULIANO; LEFEBVRE, 2000).Considerando-se as regras de atualização dos pesos existentes até a invenção doalgoritmo de retropopagação, um dos problemas encontrados no projeto das redesMLP foi o chamado problema de atribuição de crédito (MINKY; PAPERT, 1969). Esteproblema consistia em como ajustar os pesos dos neurônios escondidos em funçãodos erros dos neurônios de saída. O algoritmo de retropopagação do erro contornouessa dificuldade generalizando a regra de Widrow-Hoff para arquiteturas de mais deuma camada (HAYKIN, 1994). A figura 4.1 mostra uma arquitetura genérica da redeMLP com uma camada escondida.

A rede MLP de uma camada escondida consiste simplesmente de um número p+1

de unidades de entrada, que corresponde ao número de atributos que compõem ovetor de entrada (p atributos) mais o bias do neurônio, uma camada escondida eoutra de saída com q e c neurônios, respectivamente. Os neurônios escondidos ede saída fazem uso de funções de ativação sigmoidais, mais especificamente nestadissertação, da função tangente hiperbólica.

Pode-se dividir o treinamento desta rede em duas etapas. Na primeira, chamadade fase direta, o fluxo de informação decorrente da apresentação de um vetor deentrada x(t) é ponderado pelos pesos propagando-se para a camada de saída. Nasegunda etapa, chamada de fase reversa, os erros gerados gerados pelos neurônios desaída da rede são retropopagados em direção à entrada do classificador. Ambas asetapas do algoritmo de retropapagação do erro da rede MLP são descritas a seguir.

Page 67: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.1. A Rede Perceptron Multicamadas 50

Figura 4.1: Fluxo direto para atualização dos pesos de uma rede MLP de uma camadaoculta, simbolizada MLP(p, q, c)

Primeira Etapa: Sentido Direto

Considerando-se a figura 4.1, tem-se as saídas do j-ésimo neurônio escondidozj(t) e do k-ésimo neurônio de saída yk(t), j = 1, . . . , q e k = 1, . . . , c são dadas por

zj(t) = φ(uj(t)) = φ

[p∑i=1

wij(t)xi(t)− wj0(t)

]e (4.1)

yk(t) = φ(uk(t)) = φ

[q∑j=1

mkj(t)zj(t)−mk0(t)

], (4.2)

onde xi(t) é o i-ésimo compontente do vetor de entrada atual x(t), wij é o pesoque conecta a i-ésima entrada ao j-ésimo neurônio escondido, mkj é o peso queconecta o j-ésimo neurônio escondido ao k-ésimo neurônio de saída. Os parâmetroswj0 e mk0 são os limiares (bias) de ativação do j-ésimo neurônio escondido e dok-ésimo neurônio de saída, respectivamente. Nesta dissertação, a função de ativaçãoφ(.) usada nas equações 4.1 e 4.2 foi definida como a tangente hiperbólica. Os erros

Page 68: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.1. A Rede Perceptron Multicamadas 51

Figura 4.2: Fluxo inverso para atualização dos pesos.

gerados pelos neurônios de saída da rede são calculados por

ek(t) = dk(t)− yk(t), k = 1, . . . , c, (4.3)

onde dk(t) é a saída desejada para o k-ésimo neurônio de saída e yk(t) é a saída dok-ésimo neurônio.

Segunda Etapa: Sentido Reverso

De posse dos erros de saída no instante t, calculam-se os gradientes locais detodos os neurônios da rede. Tanto os neurônios escondidos como os neurônios desaída. A figura 4.1 ajuda a visualizar esse processo. Desta forma, para os neurôniosde saída têm-se que os respectivos gradientes locais são calculados como

δyk(t) = ek(t)φ′(uk(t)), k = 1, . . . , c. (4.4)

O erro ek(t) é calculado como mostrado na equação (4.3) e a derivada φ′(uk(t)),

para o caso em que φ(uk(t)) é a tangente hiperbólica, é dada pela seguinte expressão:

φ′(uk(t)) = 1− y2k(t). (4.5)

Page 69: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.1. A Rede Perceptron Multicamadas 52

Em seguida, determinam-se os gradientes locais dos neurônios escondidos, sendoeles determinados

δzj (t) = φ′(uj(t))

c∑k=1

mkj(t)δyk(t), j = 1, . . . , q. (4.6)

Após determinar todos os gradientes locais da rede MLP em questão, o passoseguinte é o ajuste de pesos da mesma. Assim, para que os pesos que conectam asunidades de entrada com os neurônios escondidos, a regra de aprendizagem é dadapor

wji(t+ 1) = wji(t) + ∆wji(t) (4.7)

= wji(t) + ηδzj (t)xi(t). (4.8)

Para os pesos que conectam a camada de escondida a camada de saída, a regrade aprendizagem é dada por

mkj(t+ 1) = mkj(t) + ∆mjk(t) (4.9)

= mkj(t) + ηδyk(t)zj(t). (4.10)

Com isto, conclui-se uma iteração de treinamento. É necessário destacar queestas operações são, então, repetidas para todos os padrões de entrada até que secomplete uma época de treinamento. Pode-se por optar por treinar a rede MLPpor um número fixo de épocas ou até que o erro quadrático médio por épocaatinja um valor mínimo especificado. Durante a fase de teste, vetores de entradarepresentando faces não utilizadas durante o treinamento são apresentados à rede.Nesta fase, os pesos não são modificados, sendo apenas registradas as suas taxas dereconhecimento.

Certos cuidados, principalmente com relação à especificação do número deneurônios escondidos, devem ser tomados de modo a evitar que a rede “memorize”os dados de treinamento e tenha desempenho ruim durante o teste. Esta situaçãocaracteriza-se sobreajustamento (do inglês: overfitting) da rede aos dados de treino.Neste trabalho, o número de neurônios ocultos foi determinado por experimentação.Inicialmente, o número de neurônios escondidos foi escolhidos por uma heurísticachamada de Regra de Kolmogorov (SILVA; H.; A., 2010). Esta define o número de

Page 70: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 53

neurônios da camada oculta é igual a duas vezes o número de entradas da redeadicionado de 1, ou seja

q = 2p+ 1. (4.11)

4.2 A Rede de Funções de Base Radial

A rede de Funções de Base Radial (RBF), assim como a rede MLP sãoarquiteturas multicamadas, de aprendizado supervisionado. Porém, a rede MLPpode ter tantas camadas ocultas quanto forem necessárias, enquanto a rede RBFpossui apenas uma camada oculta.

Em ambas as redes, os neurônios ocultos possuem função de ativação não-linear.Isto é fundamental, caso se deseje construir discriminantes (classificadores)não-lineares. No caso da rede MLP, costuma-se usar funções de ativação sigmoidais,enquanto que na rede RBF são usadas funções de base radial, tais como a funçãogaussiana. Grosso modo, funções de base radial são funções reais que dependem dadistância do vetor de entrada x(t) a um ponto fixo c chamado de centro da funçãode base. Matematicamente, pode-se representar uma função de base como

φ(x(t), c) = φ(‖x(t)− c‖), (4.12)

em que ‖ · ‖ normalmente é a norma euclidiana.

Ambas as redes são aproximadores universais de funções; ou seja, ambasas redes podem aproximar funções contínuas com precisão arbitrária (i.e. erroarbitrariamente pequeno). Contudo, do ponto de vista da teoria da aproximação, apropriedade de aproximar funções contínuas com precisão arbitrária não é condiçãosuficiente para caracterizar boas estratégias de aproximação. Mais interessante éque o esquema de aproximação possua a propriedade da melhor aproximação (bestapproximation property) mostram que a rede MLP não possui a propriedade damelhor aproximação. Para a rede RBF estes autores provam a existência e aunicidade de tal propriedade.

Para uma rede MLP com uma camada oculta e com um neurônio de saída linear,a aproximação de funções se dá através da combinação linear de funções de basesigmoidais. Geometricamente, isto equivale a dizer que os hiperplanos definidos pelasequações de ativação dos neurônios ocultos são "curvados"pelas funções sigmoidaise então combinados linearmente por meio dos pesos dos neurônios de saída. Já

Page 71: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 54

Figura 4.3: Arquitetura básica da rede RBF.

a rede RBF aproxima funções pela combinação linear de funções de base radial.Se a funções de base radial forem funções gaussianas pode-se afirmar que a redeRBF implementa a aproximação de funções através da combinação linear de funçõesgaussianas.

A rede RBF então tem forte relação com métodos estatísticos clássicos, tais comoo método da Janela de Parzen para estimação de funções densidades de probabilidadee também ao método de Nadaraya-Watson de regressão do tipo Núcleo (kernel).

Para utilizar a rede RBF é preciso ter em mãos um conjunto finito deN1 exemplosde treinamento dados na forma de pares de vetores (x,d):

x(1), d(1)

x(2), d(2)

x(3), d(3)

......

x(N1), d(N1)

Page 72: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 55

onde assume-se que estes vetores estão relacionados segundo uma lei matemáticaF [.] tal que:

d(t) = F [x(t)] , (4.13)

onde t = 1, 2, . . . , N1 é o instante de apresentação do vetor de entrada x(t) para alei matemática F (.).

É justamente o mapeamento F : Rp → Rc que se deseja conhecer. Uma maneirade se adquirir o conhecimento sobre F [.] é através dos dados disponíveis. Assim,pode-se usar a rede RBF para para gerar uma aproximação de F [.] denotada porF [.], tal que

y(t) = F [x(t)], (4.14)

em que y(t) é a saída gerada pela rede que, espera-se, seja muito próxima da saídareal d(t). Cada vetor de entrada x(t) é representado como

x(t) =

x1(t)

x2(t)

...

xi(t)

...

xp(t)

;

e o vetor de saída é representado como

d(t) =

d1(t)

d2(t)

...

dk(t)

...

dc(t)

,

onde esse último é constituído pelas saídas desejadas associadas ao vetor de entradaatual. Ainda, xi(t) denota uma componente qualquer do vetor de entrada x(t) e

Page 73: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 56

Figura 4.4: Detalhe das conexões da j-ésima função de base radial.

dk(t) denota uma componene qualquer do vetor de saídas desejadas d(t).

O vetor de pesos associado a cada função de base, também chamado de centroda função de base radial, é representado como

cj =

cj1

cj2...

cji...

cjp

,

em que cji é o peso que conecta a i-ésima unidade de entrada à j-ésima função debase. A figura 4.4 mostra as conexões da j-ésima função de base (pesos da camadaoculta da rede RBF).

A ativação da j-ésima função de base após a apresentação do vetor de entrada

Page 74: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 57

x numa dada iteração t é dada pela seguinte expressão:

uj(t) = ||x(t)− cj(t)||, (4.15)

em que ||.|| denota a distância euclidiana. A saída do j-ésimo neurônio oculto darede RBF é calculado por

zj(t) = φ(uj(t)) = exp{−u2j(t)

2σ2j

}, (4.16)

onde σj denota o raio da j-ésima função de base, pois define a largura (abertura) dafunção de ativação gaussiana deste neurônio. Assim como os neurônios ocultos darede MLP, as funções de base não têm acesso direto à saída da rede RBF, ponto ondesão calculados os erros de aproximação. É comum normalizar a saída dos neurôniosda camada escondida. Essa normalização é dada por

zj(t) =exp

{−u2j (t)

2σ2j

}∑q

l=1 exp{−u2l (t)

2σ2l

} . (4.17)

O projeto de uma rede RBF envolve basicamente a especificação do número defunções de base, a determinação dos centros e dos raios destes e a determinaçãodos pesos dos neurônios da camada de saída. Existem várias formas de se projetaruma rede RBF (TARASSENKO; ROBERTS, 1994) (REDONDO; SOSPEDRA; ESPINOSA,2006). Neste trabalho a rede RBF foi projetada em 3 etapas descritas com detalhesa seguir.

4.2.1 Primeira Etapa: Determinação dos Centros

Durante a primeira etapa, usa-se a forma mais comum para encontrar os centrosdas funcões de base: um algoritmo de formação de agrupamentos (clustering). Nestadissertação foi usado o algoritmo FSCL (do inglês: Frequency-Sensitive CompetitiveLearning ) devido a sua capacidade de evitar o efeito chamado “neurônios mortos”(BALAKRISHNAN et al., 1996). Este algoritmo de agrupamento foi proposto pelaprimeira vez por al (1990) e ele é resumido a seguir.

Page 75: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 58

ALGORITMO FSCL

Passo 1 Definir número de funções de base radial (definir q).

Passo 2 Iniciar com valores aleatórios os centros cj, j = 1, 2, . . . , q.

Passo 3 Fazer t = 1.

Passo 4 Enquanto t ≤ N1, onde N1 é o número de amostras para treino;

Passo 4.1 Selecionar aleatoriamente (sem reposição) o vetor de entrada x(t).

Passo 4.2 Determinar o índice do centro mais próximo através do vetor de entradaatual:

j∗(t) = argmin {fj(t)||x(t)− cj(t)||} , ∀j, (4.18)

em quefj(t) =

[Kj

t

]z. (4.19)

Passo 4.3 Aplicar a regra de aprendizagem competitiva ao neurônio vencedor:

cj(t+ 1) =

cj(t) + η[x(t)− cj(t)] , se j = j∗

cj(t) , caso contrário.(4.20)

Passo 4.4 Fazer t = t+ 1.

Passo 5 Verificar se o critério de parada é atendido. Caso afirmativo, então finalizaro treinamento. Caso contrário, retornar ao Passo 3.

Algumas observações sobre o algoritmo FSCL são necessárias.

i. Na equação (4.19), Kj(t) é o número de vezes que o neurônio j foi escolhidoo vencedor até o instante t, e 0 < z ≤ 1 é uma constante. Na equação (4.20),0 < η ≤ 1 é o passo de aprendizagem.

ii. As equações (4.18) e (4.19) penalizam os neurônios que vencem com muitafreqüência de modo a permitir a vitória de outros neurônios. Nota-se que apresença do fator fj(t) na equação (4.18) serve como elemento ponderador

Page 76: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 59

da distância euclidiana ajuda a minimizar a ocorrência de unidades mortas.Caso alguns poucos neurônios dominem o processo de competição, ou seja,sejam escolhidos vencedores com maior freqüência, eles tenderão a ter valoreselevados Kj com o passar do tempo. Isso fará com que outros neurônios,que antes eram selecionados com menor freqüência, passem a também serselecionados. Com o passar do tempo, todos os neurônios terão sido escolhidosem um número aproximadamente equivalente de vezes, tornando a competiçãomais justa.

4.2.2 Segunda Etapa: Determinação dos Raios das Funções de Base

Uma vez que os centros das funções de base radial tenham sido determinados, opasso seguinte é determinar os raios (σi) das várias funções de base. Este parâmetroé de fundamental importância para o projeto da rede RBF. Se ele for muito alto,existe um elevado grau de superposição entre os campos receptivos das funçõesde base, aumentando a sua suavidade da resposta da rede, porém diminuindo suaprecisão. Isto equivale a dizer que a rede generaliza demais. O nome da generalizaçãoexagerada tem o nome na literatura de underfitting. Se for muito pequeno, asuperposição deixa de existir, porém precisão é elevada apenas para os casos emque x(t) ≈ c∗j(t). Neste caso, a rede não generaliza bem, resultando em overfitting.

Dentre as várias técnicas para determinar σi, nesta dissertação foi usado oseguinte procedimento:

I Cada função de base radial usa um raio próprio, σj, que tem seu valor definidocomo metade da distância entre o centro do neurônio j mais próximo, ou seja:

σj =dmin(ci, cj)√

2q,∀i 6= j. (4.21)

em que dmin é definido como

dmin(ci, cj) = min {||ci − cj||} . (4.22)

Outros procedimentos para a determinação de σj foram testados, porém ométodo descrito pela equação (4.21) foi o que resultou no melhor desempenho paraa rede RBF.

Page 77: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 60

4.2.3 Terceira Etapa: Projeto da Camada de Saída

Após a determinação dos centros e dos raios das funções de base que compõema camada oculta, a terceira e última etapa consiste na determinação dos pesos desaída. Durante esta etapa, os centros e os raios calculados nas duas etapas anterioresnão sofrem alterações em seus respectivos valores.

Uma das abordagens mais comuns consiste em utilizar regras de aprendizagemusadas por redes lineares (PRINCIPE; EULIANO; LEFEBVRE, 2000), tais como as redesPS, PL e Madaline/LMS (descritas no capítulo anterior).

Para as redes RBF desta dissertação, foram testadas as redes PS, PL eMadaline/LMS como a camada de saída. Entretanto, o classificador linear queobteve melhores resultados como camada de saída foi o método da Pseudo-Inversamais conhecido como o classificador da Memória Associativa Linear Ótima (do inglês:OLAM - Optimal Linear Associative Memory) descrito no Capítulo 3.

Assim, para determinar os pesos que conectam as funções de base radial aosneurônios de saída usando o método da pseudoinversa (usado pela rede OLAM)faz-se necessário armazenar as saídas das funções de base radial para cada vetor deentrada nas colunas de uma matriz Z, dada por

Z =

z11 z12 . . . z1N1

z21 z22 . . . z2N1

...... . . . ...

zq1 zq2 . . . zqN1

q×N1

(4.23)

em que zij corresponde à saída da i-ésima função de base radial para o j-ésimo vetorde entrada.

Seguindo os passos do classificador OLAM, é calculada a pseudo-inversa damatriz Z:

Z† =(ZT Z

)−1ZT . (4.24)

Assim, com a determinação de Z†, os pesos da camada de saída estão armazenadosem uma matriz M dada por

M = Z†d. (4.25)

Page 78: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.2. A Rede de Funções de Base Radial 61

Em que

M =

m11 m12 . . . m1c

m21 m22 . . . m2c

...... . . . ...

mq1 mq2 . . . mqc

q×c

. (4.26)

O escalar mij presente na matriz da equação 4.26 corresponde ao peso que conectao i-ésimo neurônio da camada oculta ao j-ésimo neurônio de saída.

4.2.4 Observações sobre a rede RBF

Algumas observações sobre a rede RBF devem ser feitas:

i. A rede RBF pode ser entendida como um modelo matemático que realizaaproximação de funções através da combinação linear de funções de basegaussianas (PRINCIPE; EULIANO; LEFEBVRE, 2000).

ii. Vários outros tipos de funções de base podem ser utilizadas pela rede RBFalém da função gaussiana, tal como a função de base multiquadrática:

zj(t) = φ(uj(t)) =√σ2j + u2j(t), (4.27)

ou a função multiquadrática inversa:

zj(t) = φ(uj(t)) =1√

σ2j + u2j(t)

. (4.28)

Page 79: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.3. A Máquina de Aprendizado Extremo (ELM) 62

4.3 A Máquina de Aprendizado Extremo (ELM)

As redes MLP e RBF têm sido extensivamente usadas em todas as vertentesde aprendizado de máquinas. Isso é devido a sua capacidade de mapear dadosde entrada em dados de saída de forma não-linear, pois elas são aproximadoresuniversais de funções (PRINCIPE; EULIANO; LEFEBVRE, 2000). Por outro lado, oalgoritmo tradicional de retropropagação de erros da rede MLP e o método de trêsetapas de treinamento da rede RBF são lentos (HUANG; ZHU; SIEW, 2006). Tantoo treino da rede RBF, como o da rede MLP podem levar muito tempo para que seconsiga uma solução ótima, pois muitas vezes estas redes podem convergir para ummínimo local e desta forma validação e métodos para interromper o aprendizado emtempo correto são necessários.

Se for usada uma taxa de aprendizagem η muito pequena, o algoritmo baseado nogradiente das redes MLP e RBF podem demorar muito tempo para convergir. Poroutro lado, se a taxa de aprendizado η for grande pode desestabilizar o aprendizadodessas redes e o erro quadrático médio (EQM) pode divergir ao longo das épocasde treinamento (DENG; ZHENG; CHEN, 2009). Um outro problema relacionado aoalgoritmo de retropropagação de erros está no risco da ocorrência de overfitting darede i.e. a rede fica especializada no conjunto em que foi treinada e não conseguegeneralizar bem.

De forma a mitigar tais problemas, a Máquina de Aprendizado Extremo (doinglês: Extreme Learning Machine - ELM ) propõe um algoritmo de treinamentopara redes neurais de múltiplas camadas com uma camada escondida diferente doalgoritmo de retropropagação de erros. A arquitetura e o algoritmo de treinamentoda rede ELM são descritos com detalhes a seguir.

4.3.1 Arquitetura da rede ELM

A arquitetura da rede ELM é semelhante à rede MLP, porém apresenta uma fasede aprendizado mais rápida que esta (HUANG; ZHU; SIEW, 2006). Os neurônios dacamada escondida (primeira camada de pesos sinápticos) são representados conformemostrado na figura 4.5a, enquanto os neurônios camada de saída (segunda camadade pesos sinápticos) são representados conforme mostrado na figura 4.5b.

O vetor de pesos associado a cada neurônio i da camada escondida, também

Page 80: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.3. A Máquina de Aprendizado Extremo (ELM) 63

Figura 4.5: (a) Neurônio da camada escondida. (b) Neurônio da camada de saída.

chamada de camada oculta ou camada intermediária, é representado como:

wi =

wi0...

wip

=

θi...

wip

, (4.29)

em que θi é o limiar do (bias ou threshold) associado ao neurônio i. Os neurôniosdessa camada são chamados de neurônios escondidos por não terem acesso direto àsaída da rede, onde são calculados os erros de aproximação

De modo semelhante, o vetor de pesos associado a cada neurônio k da camadade saída é representado como:

mk =

mk0

...

mkq

=

θk...

mkq

, (4.30)

em que θk é o limiar associado ao k-ésimo neurônio da camada de saída. Otreinamento da rede ELM é descrito a seguir.

4.3.2 Algoritmo de treinamento da rede ELM

O algoritmo de treinamento da rede ELM é feito em três etapas. Ambas descritascom detalhes a seguir.

Page 81: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.3. A Máquina de Aprendizado Extremo (ELM) 64

Primeira etapa: Atribuição dos Pesos dos Neurônios Ocultos

Esta etapa de funcionamento da rede ELM envolve o cálculo das ativações esaídas de todos os neurônios da camada escondida e de todos os neurônios da camadade saída, uma vez que os pesos wij, i = (1, 2, . . . , q) e j = (1, 2, . . . , p) tenham sidoiniciados com valores aleatórios. Formalmente é possível escrever:

wij ∼ U(a, b), (4.31)

ouwij ∼ N(0, σ2). (4.32)

Em que U(a, b) é um número (pseudo-)aleatório uniformemente distribuído nointervalo (a, b), enquanto N(0, σ2) é um número (pseudo-)aleatório normalmentedistribuído com média zero e variância σ2.

Em ambientes de programação esta fase é facilmente implementada. Para isso,precisamos definir uma matriz de pesos W com q linhas e p+ 1 colunas:

W =

w10 w11 . . . w1p

w20 w21 . . . w2p

......

......

wq0 wq1 . . . wqp

=

wT1

wT2

...

wTp

(4.33)

em que é possível notar que a i-ésima linha da matriz W é composta pelo vetor depesos do i-ésimo neurônio oculto.

Segunda etapa: Acúmulo das Saídas dos Neurônios Ocultos

O fluxo de sinais (informação) se dá dos neurônios de entrada para os neurôniosde saída, passando obviamente pelos neurônios da camada oculta. Por isso, diz-seque a informação está fluindo no sentido direto, ou seja:

Entrada −→ Camada Intermediária −→ Camada de Saída.

Desta forma, após a apresentação de um vetor de entrada x, na iteração t, oprimeiro passo é calcular as ativações dos neurônios da camada escondida:

Page 82: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.3. A Máquina de Aprendizado Extremo (ELM) 65

ui(t) =

p∑j=0

wijxj(t) = wTi x(t) i = 1, 2, . . . , q (4.34)

em que q indica o número de neurônios da camada escondida.

A operação seqüencial da equação (4.34) pode ser feita uma única vez se forutilizado a notação vetor-matriz. Neste caso, temos que o vetor de ativações ui(t) ∈Rq do i-ésimo neurônio oculto na iteração t calculado como

u(t) = Wx(t). (4.35)

Em seguida, as saídas correspondentes são calculadas como

zi(t) = φ(ui(t)) = φi(wTi x(t)); (4.36)

em que a função de ativação é uma função sigmoidal. Nesta dissertação foi usada afunção tangente hiperbólica:

φi(ui(t)) =1− exp [−ui(t)]1 + exp [−ui(t)]

. (4.37)

Em notação matriz-vetor, a equação 4.36 pode ser escrita como:

z(t) = φi(ui(t)) = φi (Wx(t)) . (4.38)

Em que a função de ativação φi(.) é aplicada a cada um das q componentes dovetor u(t).

Para cada vetor de entrada x(t) com t = (1, 2, . . . , N1), tem-se um vetor z(t)

correspondente, que deve ser organizado (disposto) como uma coluna de uma matrizZ. Esta matriz terá q linhas por N1 colunas, ou seja

Z = [z(1)|z(2)| . . . |z(N1)] . (4.39)

A matriz Z da equação (4.39) será usada na terceira etapa para calcular os valoresdos pesos dos neurônios da camada de saída da rede ELM.

Page 83: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.3. A Máquina de Aprendizado Extremo (ELM) 66

Terceira etapa: Cálculo dos Pesos dos Neurônios de Saída

Primeiramente, os vetores com as saídas desejadas d(t), t = (1, 2, . . . , N1)

correspondente ao vetor de entrada x(t) são organizados em uma matriz D daseguinte forma:

D = [d(1)|d(2)| . . . |d(N1)] . (4.40)

Assim, a matriz D terá m linhas e N1 colunas.

É possível entender o cálculo dos pesos da camada de saída como o cálculodos parâmetros de um mapeamento linear entre a camada oculta e a camada desaída. O papel do “vetor de entrada” para a camada de saída na iteração t édesempenhado pelo vetor z(t) enquanto o “vetor de saída” é representado pelovetor d(t). Desta forma, é necessário determinar uma certa matriz M que melhorrepresente a transformação:

d(t) = Mz(t) (4.41)

Para isso, é possível usar o método dos mínimos quadrados, também conhecidocomo método da pseudoinversa. Assim, usando as matrizes Z e D, a matriz de pesosM é calculada por meio da seguinte expressão:

M = DZT (ZZT )−1. (4.42)

Alguns comentários sobre a matriz M fazem-se necessários.

i. Para satisfazer a equação 4.41, a matriz M deve ter dimensão m× q.

ii. A k-ésima linha da matrizM, denotada pormk, k = (1, 2, . . . ,m), correspondeao vetor de pesos do k-ésimo neurônio de saída.

4.3.3 Teste e capacidade de generalização da rede ELM

Uma vez determinadas as matrizes de pesos W e M temos a rede ELM prontapara uso. Durante o uso (teste) da rede ELM, calculamos as ativações dos neurôniosda camada de saída por meio da seguinte expressão:

ak(t) =

q∑i=0

mki(t)zi(t) = mTk z(t), k = 1, . . . ,m, (4.43)

Page 84: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.4. Resultados de Classificação 67

em que m é o número de neurônios de saída. Note que as saídas dos neurônios dacamada oculta, zi(t), fazem o papel de entrada para os neurônios da camada desaída.

Em notação vetor-matriz, as operações da equação 4.43 podem ser executadosde uma só vez por meio da seguinte expressão:

a(t) = Mz(t). (4.44)

Para a rede ELM, é assumido que os neurônios de saída usam a função identidadecomo função de ativação, ou seja, as saídas destes neurônios são iguais às suasativações.

yk(t) = φk(ak(t)) = ak(t). (4.45)

Nesta dissertação, semelhantemente ao que foi feito no caso da rede MLP, onúmero de neurônios ocultos da rede ELM foi determinado por experimentação.Inicialmente o número de neurônios escondidos foi escolhidos pela Regra deKolmogorov descrito na equação (4.11).

4.4 Resultados de Classificação

Nesta seção apresentam-se classificadores neurais de múltiplas camadasapresentados anteriormente. Entretanto, antes de apresentar os resultados, algumasconsiderações de projeto e parâmetros ajustáveis sobre esses classificadores são feitasa seguir.

Rede MLP

I Para os conjuntos de faces YALE-A e YALE-B, foram usadas 100 épocas detreinamento e 50 rodadas de treinamento/teste.

I No o conjunto de faces YALE-A, o número de neurônios ocultos depois devários testes a fim de conseguir melhor taxa de acerto média foi de q = 80.

I A taxa de aprendizagem usada em YALE-A foi de η = 0, 01.

I No conjunto de faces YALE-B, o número de neurônios ocultos depois de váriostestes a fom de conseguir melhor taxa de acerto média foi de q = 85 e taxa de

Page 85: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.4. Resultados de Classificação 68

aprendizagem η = 0, 1. Foram usadas 100 épocas de treinamento e 50 rodadasde treinamento/teste.

I No conjunto de faces SUSSEX, foram usadas 300 épocas de treinamento e 50rodadas de treinamento/teste.

I A taxa de aprendizagem usada no conjunto de faces SUSSEX foi de η = 0, 001.

I O número de neurônios ocultos usados para SUSSEX foi de q = 120.

Rede RBF

I Para o banco de faces YALE-A e YALE-B, o treinamento da rede FSCLpara determinação dos centros foi feito com trinta épocas e com uma taxade aprendizagem (FSCL) de η = 0, 01.

I Em YALE-A e YALE-B a rede RBF foi treinada usando 100 épocas detreinamento e 50 rodadas para treinamento.

I Para YALE-A, o número de centros usados foi de q = 120.

I Para YALE-B, o número de centros usados foi de q = 92.

I Para o banco de faces SUSSEX, o treinamento da rede FSCL paradeterminação dos centros foi feito com dez épocas e com taxa de aprendizagem(FSCL) η = 0, 1.

I Após experimentações de acerto/erro, o número de centros usados para o bancode faces SUSSEX ficou fixado em q = 80.

I A rede RBF para o banco de faces SUSSEX foi treinada com 60 épocas e 50rodadas de treinamento/teste.

Rede ELM

I Para o banco de faces YALE-A, YALE-B e SUSSEX: os pesos da camadaoculta foram iniciados com a função rand(.) do MATLAB c© que gera númerospseudo-aleatórios.

I Para YALE-A, o número de neurônios ocultos ficou fixado em q = 62 atravésde experimentações por tentativa.

Page 86: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.4. Resultados de Classificação 69

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

MLP 81, 82 94, 18 100, 00 4, 32

RBF 72, 73 91, 39 96, 97 4, 64

ELM 84, 85 95, 09 100, 00 4, 49

Tabela 4.1: Taxas de reconhecimento para o banco de faces YALE-A.

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

MLP 99, 79 99, 88 100, 00 1, 31

RBF 89, 89 93, 87 100, 00 1, 03

ELM 93, 50 96, 48 98, 46 1, 31

Tabela 4.2: Taxas de reconhecimento para o banco de faces YALE-B.

Redes Neurais TestadasTaxas de Reconhecimento (%)

mínima média máxima desvio padrão

MLP 85, 00 97, 80 100, 00 3, 52

RBF 90, 00 97, 60 100, 00 3, 23

ELM 90, 00 98, 60 100, 00 2, 48

Tabela 4.3: Taxas de reconhecimento para o banco de faces SUSSEX.

I Para YALE-B, o número de neurônios ocultos ficou fixado em q = 78 atravésde experimentações por tentativa.

I Para SUSSEX, o número de neurônios ocultos ficou fixado em q = 80 atravésde experimentações por tentativa.

I Para todos os conjuntos de faces foram usadas 50 rodadas de treinamento eteste.

A seguir, os resultados de classificação de cada banco de faces são apresentadose comentados.

Page 87: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.4. Resultados de Classificação 70

Percebe-se na tabela 4.1 que o classificador RBF obteve menor taxa de acertomédia e maior desvio padrão do que a rede MLP e ELM. Desta forma, no bancode faces YALE-A, o classificador RBF obteve menor desempenho do que as outrasredes neurais de mais de uma camada apresentadas neste capítulo. A rede ELMobteve maiores taxas de acerto, porém o seu desvio padrão ficou superior a redeMLP.

Com relação às redes do capítulo anterior, pode-se notar que ao comparar astabelas 3.4 e 4.1 que a rede Madaline/CMM conseguiu maior taxa de acerto médiae menor desvio padrão do que a rede ELM. Vale ressaltar que a implementação darede Madaline/CMM é bem mais simples do que a rede ELM.

Na tabela 4.2 percebe-se que a rede MLP conseguiu maiores taxas de acerto.A rede ELM ficou com o maior desvio padrão em comparação com as outras duasredes de múltiplas camadas.

Ao analisar a tabela 4.3, percebe-se que todos os classificadores apresentadosneste capítulo obtiveram taxas de acerto média superiores a 97% para o banco defaces SUSSEX. Isso é explicado devido a “facilidade” de classificar esse banco deimagens, pois a varianção de uma amostra para a outra é uma simples rotaçãode câmera. Diferentemente em YALE-A que são expressões faciais diferentes comacessórios diferentes1 entre uma amostra e outra. No banco de faces SUSSEX, arede ELM também foi a “vencedora” das redes de múltiplas camadas apresentadasneste capítulo, pois ela conseguiu ao mesmo tempo ter maior taxa de acerto médiae menor desvio padrão.

Em comparação com as redes de camada única do capítulo 3, ao observar astabelas 3.6 , 4.1, 4.2, e 4.3, mesmo com a taxa de acertos menor que a rede ELM,a rede Madaline/NLMS chega a ter uma taxa de acerto média muito próxima darede ELM. Entretanto, o seu desvio padrão, mesmo sendo muito próximo, chegaa ser maior que a rede ELM. Dependendo das limitações de hardware, o usuáriodeve escolher a melhor opção para aplicação, pois o desempenho dessas duas redesé semelhante. A rede Madaline/NLMS é de camada única, mas ela possui muitosparâmetros a serem espeficicados, como por exemplo a taxa de acerto η e a constanteb (que evita divisão por valores nulos na sua regra de aprendizagem). A rede ELM é

1Um acessório em que os indivíduos do banco de faces YALE-A usam é os óculos: em umaamostra um indíviduo está usando óculos e em outra amostra, não. O que é mais complexo deuma simples rotação de câmera.

Page 88: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.5. Custo Computacional 71

de mais de uma camada, mas ela não tem parâmetros a serem especificados. Alémdisso, a operação mais “complexa” do treinamento da rede ELM é o cálculo dapseudo-inversa.

4.5 Custo Computacional

A Tabela a seguir mostra o custo computacional das redes neurais apresentadaneste capítulo. Ela segue a mesma idéia da Tabela 3.7.

Rede Neural × + ÷ exp(.) tanh(.)

MLP (4p+ 2)(c+ q) (2p+ 1)(c+ q) c+ q

RBF (2p+ 1)c2q (2p+ 1)c2q q 3q(p+ q)

ELM (4p+ 2)(c+ q) (2p+ 1)(c+ q)

Tabela 4.4: Custo computacional das redes neurais apresentadas neste capítulo.

Através da Tabela 4.4 é possível ver que a rede ELM é, das redes apresentadasneste capítulo, a que possui menor custo computacional. Portanto para aplicaçõesembarcadas, a rede de múltiplas camadas mais viável, das apresentadas nestecapítulo, é a rede ELM.

4.6 Resumo do Capítulo

Neste capítulo apresentaram-se os classificadores neurais de múltiplas camadasMLP, RBF e ELM. Com relação à rede MLP, seus conceitos básicos e o algoritmode retropopagação de erros foram descritos juntamente com discuções das técnicaspara implementá-la. As três etapas do algoritmo de treinamento da rede RBF foiapresentada e discutida. Ela foi implementada usando o algoritmo de clusteringFSCL e o algortimo da pseudo-inversa (OLAM). Também foi descrito as técnicaspara treinar a rede ELM. Todas essas três redes foram aplicadas a problemas declassificação de faces e seus resultados foram comentados.

Dentre as três apresentadas neste capítulo, a rede ELM apresentou superiorestaxas de acerto média tanto para o banco de imagens YALE-A, como para o bancode faces SUSSEX. No banco de faces YALE-B a rede MLP conseguiu maiores taxasde acerto.

Page 89: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

4.6. Resumo do Capítulo 72

Como conclusão geral a partir dos resultados obtidos, a rede ELM demonstroumaior poder discriminante entre os classificadores apresentados deste capítulo.Entretanto, para o banco de faces YALE-A, o classificador Madaline/CMM docapítulo anterior conseguiu maiores taxas de classificação do que a rede ELM, mas nobanco de faces SUSSEX, a rede ELM conseguiu ser a rede que mostrou ter melhorestaxas de acerto, embora que por muito pouco, a rede Madaline/NLMS não empatacom a rede ELM. No banco de faces YALE-B a rede Madaline/CMM do capítuloanterior obteve taxas de acerto melhores (incluindo desvio padrão menor) do que asredes de múltiplas camadas apresentadas.

Do ponto de vista de reconhecimento de padrões, a rede MLP, sob condiçõesideais (entenda-se: conjunto de treinamento extenso, algoritmo de treinamento queevite mínimos locais e número de neurônios ocultos adequado), o k-ésimo neurôniode saída provê uma estimativa da densidade a posteriori da k-ésima classe, ou seja,p(k|x) para um dado vetor de entrada. Assim, usando o critério de decisão domáximo a posteriori (MAP) para selecionar o neurônio de maior saída, tem-se quea rede MLP equivale a um discriminante bayesiano ótimo (WEBB, 2002).

No próximo capítulo, serão comparadas as matriz de confusão de cada um dosclassificadores apresentados nesta dissertação. Também serão comparadas testescom imagens ruidosas.

Page 90: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 5Resultados Adicionais.

Neste capítulo, estende-se a investigação da capacidade discriminante dosclassificadores utilizados nesta dissertação. Isto se dá pela aplicação destasarquiteturas à imagens de teste com grau de ruído associado.

Além disso, para cada um dos conjunto de faces utilizados, serão analizadas asmatrizes de confusão dos classificadores que nesta dissertação foram apresentadoscom finalidade de julgar o grau de similaridade entre os desempenhos destes porclasse.

5.1 Testes com Imagens Ruidosas

Nesta seção são apresentados a descrição do tipo de ruído adicionado às imagensde teste e os resultados de classificação para todas as arquiteturas empregadas nestetrabalho. Nesta dissertação foi usado dois tipos de ruído: o ruído sal-e-pimenta e oruído gaussiano. Vale ressaltar que ambos os conjuntos de faces testados a adiçãodo ruído foi feita na fase de teste dos classificadores, ou seja, os classificadores foramtreinados sem contaminação de ruído. Os ruídos foram adicionados no conjunto N2

de testes para cada classificador.

5.1.1 Ruído Sal-e-Pimenta

Diferentes formas de ruído podem degradar a qualidade de uma dada imagemdurante sua captura, transmissão ou processamento (GONZALEZ; WOODS, 2001)(JAIN, 1982).

Quando uma imagem é transmitida através de um canal qualquer, esta é

Page 91: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 74

Figura 5.1: À esquerda: amostra original do banco de faces SUSSEX. À direita: mesmaimagem sendo contaminada pelo ruído sal-e-pimenta a uma densidade de 0, 2.

contaminada por um ruído que normalmente é descorrelacionado ao seu sinal. Onome deste tipo de ruído dá-se ruído aditivo (SONKA; HLAVAC; BOYLE, 1998) e podeser modelado como

f(x, y) = g(x, y) + v(x, y) (5.1)

em que o ruído v e a imagem g são interpretadas como variáveis aleatóriasindependentes.

As imagens com o ruído tipo sal-e pimenta, também conhecido como ruídoimpulsivo (spike) caracterizam-se por apresentarem uma certa quantidade de pixelsbrancos e pretos. Sua aplicação à imagens permite modelar condições defeituosasem sensores de câmeras ou erros de transmissão de bits por um canal ruidoso, porexemplo (SONKA; HLAVAC; BOYLE, 1998).

Introduz-se o ruído sal-e-pimenta em uma imagem com Np pixels ajustando-se,aleatoriamente duas frações

ρr ×Np

de seus pixels, um para preto e outro para branco e 0 ≤ ρr ≤ 1 é a probabilidade deque um pixel esteja corrompido.

As figuras 5.1, 5.2 e 5.3 exemplificam o efeito da contaminação das imagens dosconjuntos de faces avaliados nesta dissertação pelo ruído sal-e-pimenta.

Para testar a robustez dos classificadores desta dissertação em relação ao ruídosal e pimenta foi feito da seguinte forma:

i. O treinamento das redes foram feitos livres de ruído.

Page 92: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 75

Figura 5.2: À esquerda: amostra original do banco de faces YALE-A. À direita: mesmaimagem sendo contaminada pelo ruído sal-e-pimenta a uma densidade de 0, 2.

Figura 5.3: À esquerda: amostra original do banco de faces YALE-B. À direita: mesmaimagem sendo contaminada pelo ruído sal-e-pimenta a uma densidade de 0, 2.

ii. O conjunto de testes foi contaminado com o ruído sal-e-pimenta com densidadede ruído variando de zero a um.

iii. As taxas de acerto médias para cada densidade foram armazenadas.

iv. Foi montado um gráfico Taxa de Acerto × Densidade do Ruído para cadaclassificador apresentado nesta dissertação.

A seguir nas figuras 5.4 a 5.17 são mostrados os gráficos Taxa de Acerto ×Densidade do Ruído sal-e-pimenta para todos os classificadores apresentados nestadissertação. Os parâmetros desses classificadores (taxas de aprendizado, rodadas,épocas, etc.) são os mesmos usados nos capítulos anteriores.

Page 93: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 76

Figura 5.4: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a rede PSnos banco de faces usados neste trabalho.

Figura 5.5: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a rede PLnos bancos de faces usados neste trabalho.

Page 94: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 77

Figura 5.6: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redePL+MEKA nos bancos de faces usados neste trabalho.

Figura 5.7: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/LMS nos bancos de faces usados neste trabalho.

Page 95: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 78

Figura 5.8: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/SLMS nos bancos de faces usados neste trabalho.

Figura 5.9: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/LLMS nos bancos de faces usados neste trabalho.

Page 96: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 79

Figura 5.10: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/NLMS nos bancos de faces usados neste trabalho.

Figura 5.11: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/MLMS nos bancos de faces usados neste trabalho.

Page 97: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 80

Figura 5.12: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/RLS nos bancos de faces usados neste trabalho.

Figura 5.13: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMadaline/CMM nos bancos de faces usados neste trabalho.

Page 98: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 81

Figura 5.14: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para aclassificador OLAM nos bancos de faces usados neste trabalho.

Figura 5.15: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeMLP nos bancos de faces usados nesta dissertação.

Page 99: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 82

Figura 5.16: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeRBF nos bancos de faces usados neste trabalho.

Figura 5.17: Gráfico Taxa de Acerto × Densidade do Ruído Sal-e-Pimenta para a redeELM nos bancos de faces usados neste trabalho.

Page 100: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 83

5.1.2 Ruído Gaussiano

O ruído gaussiano é um tipo de ruído aditivo que contamina a imagem deforma peculiar. Uma variável aelatória com distribuição gaussiana tem a funçãode densidade de probabilidade dada pela curva Gaussiana. Essa função é dada por

p(x) =1

σ√

2πexp

(−(x− µ)2

2σ2

), (5.2)

onde µ é a média e σ é o desvio padrão da variável aleatória. A seguir é mostradocomo simular a contaminação de ruído gaussiano numa imagem qualquer.

Algoritmo para contaminar uma imagem com ruído gaussiano

i. Seja uma imagem qualquer g com os níveis de cinza [0, G − 1]. Selecione avariância σ2 adequada para gerar a quantidade de ruído desejada.

ii. Para cada par da vizinhança dos pixels desta imagem localizada em (x, y) e(x, y + 1) gere variáveis aleatórias r e t no intervalo [0, 1].

iii. Calculeh1 = σcos(2πt)

√−2ln(r) (5.3)

h2 = σsen(2πt)√−2ln(r) (5.4)

iv. Faça f ′(x, y) = g(x, y) + h1 e f ′

(x, y + 1) = g(x, y + 1) + h2.

v. O pixel f(x, y) da nova imagem f que indica a imagem g contaminada será:

f(x, y) =

0 se f ′

(x, y) < 0,

G− 1 se f ′(x, y) > G− 1,

f′(x, y) caso contrário

(5.5)

f(x, y + 1) =

0 se f ′

(x, y + 1) < 0,

G− 1 se f ′(x, y + 1) > G− 1,

f′(x, y + 1) caso contrário

(5.6)

vi. Vá até o passo iii até todos os pixels da imagem forem percorridos.

Page 101: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 84

Figura 5.18: À esquerda: amostra original do banco de faces SUSSEX. À direita: mesmaimagem sendo contaminada pelo ruído gaussiano a uma variância de 0, 2.

Figura 5.19: À esquerda: amostra original do banco de faces YALE-A. À direita: mesmaimagem sendo contaminada pelo ruído gaussiano a uma variância de 0, 2.

Figura 5.20: À esquerda: amostra original do banco de faces YALE-B. À direita: mesmaimagem sendo contaminada pelo ruído gaussiano a uma variância de 0, 2.

As figuras 5.18, 5.19 e 5.20 exemplificam o efeito da contaminação das imagensdos conjuntos de faces avaliados nesta dissertação pelo ruído gaussiano.

Page 102: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 85

Assim como no ruído sal-e-pimenta, os mesmos procedimentos foram feitos paratestar a robustez dos classificadores desta dissertação em relação ao ruído gaussiano.A seguir nas figuras 5.21 a 5.34 são mostrados os gráficos Taxas de Acerto ×Variância do Ruído Gaussiano para todos os bancos de imagens usados.

Figura 5.21: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a rede PSnos bancos de faces usados neste trabalho.

Page 103: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 86

Figura 5.22: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a rede PLnos bancos de faces usados neste trabalho.

Figura 5.23: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redePL+MEKA nos bancos de faces usados neste trabalho.

Page 104: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 87

Figura 5.24: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/LMS nos bancos de faces usados neste trabalho.

Figura 5.25: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/SLMS nos bancos de faces usados neste trabalho.

Page 105: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 88

Figura 5.26: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/LLMS nos bancos de faces usados neste trabalho.

Figura 5.27: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/NLMS nos bancos de faces usados neste trabalho.

Page 106: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 89

Figura 5.28: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/MLMS nos bancos de faces usados neste trabalho.

Figura 5.29: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/RLS nos bancos de faces usados neste trabalho.

Page 107: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 90

Figura 5.30: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a redeMadaline/CMM nos bancos de faces usados neste trabalho.

Figura 5.31: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a rede MLPnos bancos de faces usados neste trabalho.

Page 108: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 91

Figura 5.32: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a rede RBFnos bancos de faces usados neste trabalho.

Figura 5.33: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para a rede ELMnos bancos de faces usados neste trabalho.

Page 109: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.1. Testes com Imagens Ruidosas 92

Figura 5.34: Gráfico Taxa de Acerto × Variância do Ruído Gaussiano para o classificadorOLAM nos bancos de faces usados neste trabalho.

Tanto nas imagens contaminadas por ruído gaussiano, como por ruídosal-e-pimenta é possível notar que as redes RBF, ELM, MLP, PL, PL+MEKA eMadaline/CMM foram as redes que conseguiram ter mais robustez em relação aintensidade do ruído. A rede OLAM consegue ter uma boa robustez para o ruídosal-e-pimenta em YALE-A, como mostra o gráfico da figura 5.14, porém não semostra um ter boa robustez no caso do banco de dados SUSSEX e YALE-B. Issoacontece porque as variações entre uma amostra e outra em SUSSEX/YALE-Bpossuem uma elevada correlação. O que não acontece em YALE-A.

Para aplicações onde não há limitações de memória nem processamentoaconselha-se usar a rede RBF, pois essa se mostrou a rede mais robusta das testadasem relação aos ruídos aqui aplicados. Caso a aplicação seja de natureza embarcada,aconselha-se usar a rede PL ou Madaline/CMM pois estas foram as redes de camadaúnica que apresentaram melhor robustez em relação aos ruídos explorados nestadissertação.

Embora a rede PL+MEKA tenha conseguido boas taxas de acerto e uma boarobustez em relação aos ruídos sal-e-pimenta e gaussiano, não aconselha-se usá-la emaplicações com limitações de memória e processamento pois mesmo sendo uma redede camada única, ela demanda muito esforço computacional devido as estimativas

Page 110: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.2. Análise Prática de Custo Computacional 93

das matrizes de covariância presente em cada neurônio desta.

5.2 Análise Prática de Custo Computacional

Na tabela 5.1 são mostrados os respectivos tempos necessários para a validaçãode treino, teste de todos os classificadores apresentados nesta dissertação (ou seja,todas as épocas e rodadas serem executadas). Todos os tempos foram obtidospara implementações em linguagem script do ambiente MATLAB c© usando asfunções tic() e tac() deste. O MATLAB c© usado para esses testes foi instaladoem uma máquina de 64 bits com processador Intel Core 2 DuoTM com 4 gigabytesde memória DDR3 com 1067 MHz. É importante informar que dependendo datencologia, sistema operacional usado e configuração da máquina podem fazercom que esses tempos variem. Vale enfatizar também que os parâmetros dosclassificadores testados foram configurados da mesma forma que os capítulosanteriores.

Page 111: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.2. Análise Prática de Custo Computacional 94

Redes Neurais TestadasTempo em Segundos

YALE-A SUSSEX YALE-B

PS 7,93 4,38 11,34

PL 5,71 4,41 12,34

PL+MEKA 107,77 101,82 349,89

Madaline/LMS 7,13 3,91 12,45

Madaline/SLMS 7,10 3,86 10,10

Madaline/LLMS 7,64 3,90 12,12

Madaline/NLMS 14,46 8,16 23,43

Madaline/MLMS 122,26 86,60 514,32

Madaline/RLS 107,77 101,82 329,89

Madaline/CMM 1,14 0,09 4,30

OLAM 1,14 0,57 5,79

MLP 72,22 165,77 534,45

RBF 264,48 127,91 598,34

ELM 2,34 1,04 13,21

Tabela 5.1: Tempo necessário para validar as redes neurais apresentadas nestadissertação.

Neste teste de tempo as redes OLAM e Madaline/CMM foram as vencedorascomo mostra tabela 5.1. Entretanto, ao escolher um modelo neural para determinadaaplicação também deve ser levado em conta a capacidade de robustez e as taxas deacerto do classificador. O classificador OLAM, de acordo com as Figuras 5.14 e5.34, não mostrou tão boa robustez como a rede Madaline/CMM (vide Figuras 5.13e 5.30). Isso se deve que o treinamento da rede OLAM é uma inversão de matrizes ea sua capacidade de generalização fica comprometida neste caso. O que não acontececom a rede Madaline/CMM.

Page 112: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

5.3. Resumo do Capítulo 95

5.3 Resumo do Capítulo

Neste capítulo foram apresentados resultados adicionais onde foram adicionadosruídos gaussiano e impulsivo aos banco de imagens utilizados neste trabalho.Também foi mostrado uma análise prática de custo computacional dos classificadoresapresentados nesta dissertação.

No próximo capítulo será apresentada a conclusão desta dissertação e sugestõesde trabalhos futuros.

Page 113: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Capítulo 6Conclusões e Perspectivas

Neste capítulo, as observações finais e perspectivas de trabalhos futuros sãoapresentados.

6.1 Conclusões deste trabalho

Nesta dissertação foram apresentados 14 classificadores neurais. Todos elesaplicados à tarefa de reconhecimento de faces humanas. Com isto, foi possívelfornecer aos usuários que necessitem resolver problemas similares informaçõesqualitativas acerca da capacidade destas arquiteturas. Alguns pontos merecemdestaque:

I Um dos desafios inerentes ao problema de reconhecer faces é determinar, apriori, quais características apresentar para o classificador. Neste sentido,projeções lineares obtidas pela Análise de Componentes Principais - PCAse mostraram capazes de contornar bem esta questão para os classificadorestestados. A variância explicada fica em 95% destacou os classificadoresELM, Madaline/NLMS, PL+MEKA, PL, Madaline/CMM como os de melhordesempenho.

I Para sistemas embarcados, as redes Madaline/CMM e PL são as maisindicadas, pois são redes neurais de uma única camada única e não possuemmuitos parâmetros a serem configurados. Além disso, o desempenho destasredes são equivalentes as de redes neurais de múltiplas camadas que possuemum excelente desempenho, como a rede MLP, por exemplo.

Page 114: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

6.2. Contribuições deste trabalho 97

I Embora a rede PL+MEKA possua elevadas taxas de acerto e rapidez emconvergência (da curva de aprendizado), seu uso não é indicado para sistemasembarcados visto que cada neurônio desta rede possui, em particular, umgrande número de parâmetros (principalmente a estimativa da matriz decovariância) a ajustar, cuja a ordem depende diretamente da dimensão dosvetores de entrada.

I Mesmo classificadores com taxas de acerto próximas, deve ser levado a contaas suas matrizes de confusão que estas podem apresentar comportamentosbem distintos. Esta ferramenta deve, portanto, ser utilizada pelo usuário paraauxiliá-lo na escolha do classificador mais adequado ao seu problema.

6.2 Contribuições deste trabalho

Nesta dissertação podemos citar as seguintes contribuições para a comunidadecientífica:

• Estudo comparativo abrangente do desempenho de classificadores neuraislineares e não-lineares em reconhecimento de faces em vários bancos deimagens.

• Preocupação com o custo computacional de cada classificador, poiso objetivo é no futuro embarcar em dispositivos móveis o melhorclassificador.

• Verificação de que classificadores lineares podem ter desempenhosequivalentes ou até melhores do que classificadores não-lineares.

• Análise empírica da robustez dos vários classificadores avaliados adiferentes tipos de ruído (gaussiano e impulsivo).

6.3 Perspectivas

A seguir são apresentadas algumas sugestões de trabalhos futuros na área dereconhecimento de faces.

• Combinar Análise por Componentes Independentes e PCA podempermitir a alguns classificadores superar deficiências impostas porcondições ruidosas.

Page 115: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

6.3. Perspectivas 98

• Determinar a capacidade de detecção de novos indivíduos porclassificadores pode contribuir para aplicações práticas na área debiometria. Neste sentido, a questão temporal deve ser estudada em maiordetalhes, ou seja, a face considerada nova pode ser na verdade de umindivíduo já classificado que, no entanto, sofreu alterações ao longo dotempo, como por exemplo, aquele indivíduo que era barbudo e agora nãoé mais, ou aquele indivíduo que tinha cabelo e agora não tem mais.

• Através da avaliação das matrizes de confusão de alguns classificadorescom os melhores desempenhos, pôde-se constatar suas dificuldades declassificação, por classe, eram muitas vezes distintas. Este fato motivainvestigações no sentido de combinar estes classificadores em estruturasdo tipo comitês de máquinas de aprendizado e, por conseguinte, estudaros ganhos que estas podem oferecer.

• Nesta dissertação foi mostrado que algumas redes neurais de camadaúnica, dependendo da arquitetura utilizada, podem conseguir taxasde acerto semelhantes a redes neurais de múltiplas camadas. Umtrabalho futuro seria embarcar as redes neurais Madaline/CMM e PLe usá-las na abordagem de classificação de faces. Uma vez que essasnão possuem parâmetros a serem configurados e não demandam grandeesforço computacional.

Page 116: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Apêndice AFunções sigmoidais

Neste apêndice são mostradas funções sigmoidais. Estas funções têm apropriedade de serem contínuas e diferenciáveis (SIMMONS, 1987). Elas podemser usadas na função de ativação φ(.) de redes neurais a fim de garantira diferenciabilidade (HAYKIN, 1994). As redes MLP e PL usam funçõessigmoidais como função de ativação.

A.1 Função Sigmóide Logística

Esta forma de não-linearidade sigmóide na sua forma geral é definida por

f(x) =1

1 + exp(−ax), (a > 0) e (−∞ < x <∞) (A.1)

De acordo com a não linearidade da função sigmóide logística, a amplitude doconjunto imagem desta função se encontra dentro do intervalo 0 ≤ f(x) ≤ 1.Diferenciado a equação A.1 em relação a x obtemos

f′(x) =

aexp(−ax)

(1 + -ax)2(A.2)

Através de manipulações algébricas e substituindo a equação A.1 na equaçãoA.2 pode ser expressa como

f′(x) = af(x)(1− f(x)) (A.3)

Page 117: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

A.2. Função Tangente Hiperbólica 100

A.2 Função Tangente Hiperbólica

A função tangente hiperbólica (tanh(.)) é uma outra forma utilizada denão-linearidade que garante a diferenciabilidade. De formga geral, ela édefinida como:

f(x) =1− exp(−x)

1 + exp(x)(A.4)

Diferentemente da função sigmóide logística, a amplitude do conjunto imagemda tangente hiperbóica se encontra dentro do intervalo −1 ≤ f(x) ≤ 1. Aderivada da tangente hiperbólica é dada por

f′(x) =

1

2(1− f 2(x)) (A.5)

Page 118: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Referências Bibliográficas

ABRANTES, S. A. Processamento Adaptativo de Sinais. Lisboa, Portugal:Calouste Gulbenkian Foundation, 2000.

AL, S. A. et. Competitive learning algorithms for vector quantization. NeuralNetworks, v. 3, n. 3, p. 277–290, 1990.

ANDERSON, J. A. A simple neural generating an interactive memory.Mathematical Biosciences, v. 14, p. 197–220, 1972.

ANDERSON, J. A. Cognitive and psychological computation with neuralmodels. IEEE Transactions on Systems, Man and Cybernetics, SMC-13, p.799–815, 1983.

BALAKRISHNAN, P. V. S. et al. Comparative performance of the fscl neuralnet and k-means algorithm for market segmentation. European Journal ofOperational Research, v. 93, n. 2, p. 346 – 357, 1996. Neural Networks andOperations Research/Management Science.

BELHUMEUR P. N. HESPANHA, J. P.; KRIEGMAN, D. J. Eigenfacesvs. fisherfaces: Recognition using class specific linear projection. IEEETransactions on Pattern Analysis and Machine Intelligence, p. 711–720, 1997.

BELLMAN, R. Adaptive Control Processes: A Guided Tour. [S.l.]: PrincetonUniversity Press, 1961.

DENG, W.; ZHENG, Q.; CHEN, L. Regularized extreme learning machine.In: IEEE Symposium on Computational Intelligence and Data Mining. [S.l.:s.n.], 2009. v. 1, p. 389–395.

101

Page 119: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Referências Bibliográficas 102

DORIZZI, B. New trends in biometrics. Telecommunications: Advancesand Trends in Transmission, Networking and Applications, Edson QueirozFoundation, Ceará, Brazil, p. 157–171, 2006.

GEORGHIADES, A.; BELHUMEUR, P.; KRIEGMAN, D. From few tomany: Illumination cone models for face recognition under variable lightingand pose. IEEE Trans. Pattern Anal. Mach. Intelligence, v. 23, n. 6, p.643–660, 2001.

GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing. 2nd. ed. NewYork: Prentice Hall, 2001.

GOOD, P. I. Resampling Methods: A Practical Guide to Data Analysis. 3rd.ed. Boston, USA: Springer Science and Business Media Inc., 2006.

HAYKIN, S. Neural Networks: A Comprehensive Foundation. 2nd. ed.Englewood Cliffs, NJ: Macmillan Publishing Company, 1994.

HORNIK, K.; STINCHCOMBE, M.; WHITE, H. Multilayer feedforwardnetworks are universal approximators. Neural Networks, v. 2, p. 359–366,1989.

HOWELL, A. J. Automatic Face Recognition using Radial Basis FunctionNetworks. Disserta (Mestrado) — University of Sussex, Brighton, UK,September 1997.

HUANG, G. B.; ZHU, Q. Y.; SIEW, C. Extreme learning machine: Theoryand applications. Neurocomputing, v. 70, p. 489–501, 2006.

JAIN, A. K. Fundamentals of Digital Image Processing. 2nd. ed. New Jersey:Prentice Hall, 1982.

JOLLIFFE, I. J. Principal Component Analysis. New York: Springer-Verlag,1986.

KOHONEN, T. Self-Organization and Associative Memory. [S.l.]:Springer-Verlag, 1989.

MATHEWS, V. J.; CHO, S. H. Improved convergence analysis of stochasticgradient adaptive filters using the sign algorithm. IEEE Transactions onAcoustics, Speech and Signal Processing, p. 450–454s, 1987.

MERKWIRTH, C.; WICHARD, J.; OGORZALEK, M. A software toolboxfor constructing ensembles of heterogenous linear and nonlinear models. In:

Page 120: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Referências Bibliográficas 103

Proceedings of the 2005 European Conference on Circuit Theory and Design.[S.l.: s.n.], 2005. v. 3, p. 197–200.

MINKY, M.; PAPERT, S. Perceptrons. 1nd. ed. Cambridge, MA: MIT Press,1969.

PALMIERI, F.; DATUM, M.; SHAH, A. Sound localization with a neuralnetwork trained with the multiple extended kalman algorithm. In: Proceedingsof International Joint Conference on Neural Networks (IJCNN 91’). [S.l.:s.n.], 1991.

POCOVNICU, A. Biometric security for cel phones. Informatica Economica,p. 57–63, 2009.

PRINCIPE, C. J.; EULIANO, N. R.; LEFEBVRE, W. C. Neural andAdaptive Systems Fundamentals Through Simulations. 1st. ed. New York,NY: John Wiley and Sons, Inc., 2000.

REDONDO, M. F.; SOSPEDRA, J. T.; ESPINOSA, C. H. Training radialbasis functions by gradient descent. in: International Joint Conference onNeural Networks, p. 756–762, 2006.

ROSENBLATT, F. The perceptron: A probabilistic model for informationstorage and organization in the brain. Psychological Review, v. 65, n. 6, p.386–408, 1958.

Rumelhart, D. E.; MCclelland, J. L. Parallel Distributed Processing:Exporations in Microestructure of Cognition. Cambridge, MA: MIT Press,1986.

SETHARES, W. A. Local stability of the median lms filter. IEEETransactions on Signal Processing, v. 42, n. 11, 1994.

SHAH, S.; PALMIERI, F. Meka - a fast, local algorithm for trainingfeedforward neural networks. Proceedings of the IEEE International JointConferece on Neural Networks (IJCNN)’90, v. 3, p. 41–46, 1990.

SILVA, I. N.; H., S. D.; A., F. R. Redes Neurais Artificiais Para Engenhariae Ciências Aplicadas - Curso Prático. [S.l.]: ArtLiber, 2010.

SIMMONS, G. F. Cálculo com Geometria Analítica. [S.l.]: Makron Books,1987.

SONKA, M.; HLAVAC, V.; BOYLE, R. Image Processing: Analysis andMachine Vision. [S.l.]: CL-Engineering, 1998.

Page 121: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Referências Bibliográficas 104

SORENSON, H. Least-squares estimation: from gauss to kalman. IEEESpectrum, v. 7, p. 63–68, 1970.

TARASSENKO, L.; ROBERTS, S. Supervised and unsupervised learning inradial basis functions classifiers. IEEE Procedings – Vision Image and SignalProcessing, v. 141, p. 210–216, 1994.

TREVES, R.; ROLLS, E. T. Computational analysis of the role of thehippocampus in memory. Hippocampus, v. 4, p. 374–391, 1994.

WANG, J. F. et al. The design of a speech interactivity embedded moduleand its applications for mobile consumer devices. IEEE Transactions onConsumer Eletronics, p. 870–876, 2008.

WEBB, A. Statistical Pattern Recognition. 2nd. ed. [S.l.]: John Wiley & Sons,2002.

WIDROW, B.; MICHAEL; LEHR, A. 30 years of adaptive neural networks.In: . [S.l.]: IEEE press, 1990. p. 1415–1442.

WILLIAMSON, G. A.; CLARKSON, P. M.; SETHARES, W. A. Perfomancecharacteristics of the median lms adaptive filter. IEEE Transactions on SignalProcessing, v. 41, n. 41, p. 667–680, 1993.

WINDEATT, T. Studies in computational intelligence. In: . [S.l.]:Springer Berlin / Heidelberg, 2008. v. 137/2008, cap. Ensemble MLPClassifier Design.

ZHAO, W. et al. Face recognition: A literature survey. ACM ComputingSurveys, p. 399–458, 2003.

Page 122: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Livros Grátis( http://www.livrosgratis.com.br )

Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas

Page 123: RedesNeuraisArtificiaispara ReconhecimentodeFaces ...livros01.livrosgratis.com.br/cp152285.pdf · I No capítulo 3 descrevem-se as redes neurais de uma única camada de neurônios.

Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo