• Aucun résultat trouvé

1. F ACE PERCEPTION

1.1 B RAIN STRUCTURES INVOLVED IN FACE PERCEPTION

Redes neurais artificiais é uma área de ciência da computação que propõe sistemas inteligentes baseados na interligação de neurônios artificiais os quais são modelos matemáticos abstraídos a partir do comportamento do neurônio biológico e do cérebro humano. Esta área, que também é conhecida como computação neural, representa uma alternativa aos métodos computacionais clássicos, baseada na idéia de

desenvolver ferramentas que emulem características dos sistemas neurais biológicos como a robustez, flexibilidade, adaptabilidade e estabilidade [SAGE90].

O cérebro é um processador altamente complexo, não linear e paralelo que é capaz de realizar algumas tarefas, tais como o reconhecimento de padrões, a percepção, ou o controle de movimentos [CHUR92] com maior eficiência e velocidade que os computadores atuais. Essas operações são realizadas graças à capacidade que tem o cérebro de estabelecer suas próprias regras, o que é normalmente conhecido como “experiência”.

O sistema nervoso consegue acumular a experiência ou “aprender” mediante um procedimento que lhe permite adaptar-se ao ambiente. Estes processos estão relacionados intimamente com as estruturas básicas que conformam o cérebro, chamadas neurônios [HAYK98]. Elas, apesar de serem elementos de processamento extremamente simples, conseguem incrementar significativamente seu poder através da formação de imensas redes. É precisamente nas interligações dos neurônios que é armazenado o conhecimento.

Em geral uma rede neural artificial é uma máquina projetada para resolver uma tarefa particular através de um processo de aprendizado, da mesma forma que seria feita pelo cérebro, baseada na interconexão massiva de unidades de processamento simples, os denominados neurônios artificiais.

Uma definição mais formal do ponto de vista da RNA como máquina adaptável foi proposta por Aleksander e Morton [ALEK90]: “Uma rede neural é um processador distribuído, altamente paralelo, composto por unidades de processamento simples, os quais têm a capacidade natural de armazenar conhecimento experimental e disponibilizá-lo para ser usado”.

As RNA têm duas semelhanças básicas com o cérebro:

a) o conhecimento é adquirido do ambiente através de um processo de aprendizado,

b) as ligações interneurais, assim como as ligações sinápticas são usadas para armazenar o conhecimento adquirido.

As redes neurais reagem, aprendem, e se auto-organizam. Portanto em lugar dos algoritmos convencionais usados nos computadores comuns baseados na arquitetura de Von Neumann, elas são treinadas mediante um conjunto de regras que definem o modo de ajuste de seus parâmetros de forma a obter a resposta para a qual foram projetadas [SCHA97].

A rede neural reage em paralelo a eventos que são percebidos pelas suas entradas, e as respostas em lugar de estarem predefinidas por um modelo matemático ou um algoritmo armazenado na memória, são obtidas pela inter-relação de todos os neurônios. Portanto, o poder da rede neural encontra-se distribuído na sua topologia, o que as tornam robustas e tolerantes a falhas, já que o erro produzido por um elemento defeituoso será compensado pela atividade neural global. Uma outra característica interessante das redes neurais é a capacidade de generalização, a qual pode ser definida como a habilidade de fornecer respostas razoáveis em casos para os quais não foram treinadas [HAYK98].

Além das características anteriormente assinaladas, existem outras propriedades que fazem as RNA interessantes na solução de problemas altamente complexos:

- Aproximador de funções não-lineares,

- Mapeamento entrada-saída e reconhecimento de padrões, - Adaptabilidade, e;

- Simplicidade de análise e projeto.

Contudo, as RNA não se apresentam como um substituto dos computadores convencionais, e sim como um complemento onde o desempenho destes tem apresentado limitações, como por exemplo na classificação e reconhecimento de padrões, processamento de imagens, reconhecimento de voz. Os computadores de estrutura seqüencial continuarão sendo utilizados na realização de cálculos matemáticos por sua precisão e rapidez.

A unidade básica das redes neurais artificiais é o neurônio artificial, o qual está representado esquematicamente na Figura 2.1. O neurônio recebe informação de entrada

através de um número de nós de entrada, logo após processa essa informação e emite uma saída.

Figura 1.2: Modelo matemático do neurônio artificial não-linear. [DILL96]

O processamento é realizado em duas etapas: na primeira os valores de entrada são combinados linearmente, a seguir o resultado é usado como o argumento de uma função de ativação não-linear e derivável. No processo são usados os pesos atribuídos para cada conexão e um termo polarizador (threshold).

Os neurônios estão organizados e definem a arquitetura da rede. Neste trabalho adotou-se a arquitetura mais conhecida atualmente, o perceptron multicamada ou MLP (multilayer perceptron), tal como o MLP de duas camadas de neurônios mostrado na Figura 2.2. Uma arquitetura MLP de três camadas de neurônios pode ser suficiente para resolver problemas complexos em engenharia elétrica. Já o número de neurônios dependerá da dimensão do problema.

O cálculo ou estimação dos parâmetros livres ou pesos sinápticos é denominado o treinamento da rede e é feita mediante a minimização de uma função de erro. Um dos primeiros algoritmos propostos de treinamento é o algoritmo de retropropagação de erros (back-propagation of errors) o qual usa uma técnica do gradiente (steepest-

Σ

ϕ

( )

w

w

w

v

k Função de ativação Saída

y

k

x

1

x

2

x

p Pesos sinápticos (incluindo threshold) União somadora ...

w

x

0

= -1

w

k0

= θ

k

descent) para minimizar a função de erro. Um número de algoritmos de treinamento,

tanto de primeira como de segunda ordem, estão disponíveis na literatura.

Figura 1.3: Arquitetura multiperceptron MLP de duas camadas.

A aprendizagem da rede neural é feita apresentando um conjunto de exemplos para treinamento e um conjunto de exemplos para teste. No caso do algoritmo back- propagation o procedimento é conduzido em duas fases, na primeira é realizado o cálculo feed-forward para frente para determinar o erro na saída e na segunda fase o erro é retropropagado para atrás de maneira que os pesos sinápticos sejam alterados segundo a contribuição de cada peso no erro. Essa contribuição é estimada através de expressões obtidas usando derivadas.

A grande característica das RNA é que elas são capazes de obter um modelo implícito do problema a ser resolvido via treinamento adequado. A capacidade de generalização também faz das RNA superiores a outros métodos estatísticos em aplicações típicas de aproximação e mapeamento de funções. As RNA nem sempre precisam de todas as variáveis de entrada, algumas podem ser dispensadas sem comprometer a validade da solução do problema, essa flexibilidade é uma vantagem

Vetor de entrada x Unidades de entrada x Neurônios de saída y Neurônios escondidos z 1ª camada de pesos 2ª camada de pesos Vetor de saída y

w

1

w

2