Redes Neuronais
Transcrição
Redes Neuronais
UNOESC Inteligência Artificial Redes Neuronais Leandro Loss [email protected] http://www.gsigma.ufsc.br/~loss UNOESC – Inteligência Artificial – Leandro Loss Introdução • A área de redes neuronais foi uma tentativa na área de IA de imitar a operação básica do cérebro humano. • Na década de 50 surgiram 2 abordagens em IA: – Simbólica (seqüencial); – Conexionista (paralela). • As técnicas simbolistas tiveram preferência no início da IA. UNOESC – Inteligência Artificial – Leandro Loss 1 Introdução • Os pesquisadores voltaram os seus interesses para área conexionista novamente na década de 80, devido aos seguintes fatores: – Melhores conhecimentos da estrutura real do cérebro (neurologia); – Melhores algoritmos de treinamento; – Hardware paralelo disponível. UNOESC – Inteligência Artificial – Leandro Loss Histórico • Os primeiros trabalhos desenvolvidos datam de 1943, quando o neurofisiologista, filósofo e poeta americano Warren McCulloch e o lógico Walter Pitts desenvolveram o primeiro modelo matemático de um neurônio. • Em 1949 Hebb propõe o princípio de aprendizado em sistemas nervosos, no qual a conexão entre 2 neurônios é reforçada sempre que ambos estão ativos ao mesmo tempo. UNOESC – Inteligência Artificial – Leandro Loss 2 Histórico • Em 1958 Rosenblatt propõe uma rede de neurônios com valores contínuos e treinamento baseado no modelo de Hebb, denominada Perceptron. • Já em 1969 Minsky e Papper publicam o livro “Perceptrons” com uma crítica dura às redes neuronais e expõem as limitações dos perceptrons, como a impossibilidade de aprender a função XOR. Nesta época o interesse pelas redes neuronais cai muito. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais • Na década de 80 os sucessos obtidos em aplicações práticas levaram a uma mudança de ênfase quanto ao objetivo na pesquisa da área. • Uma parte da pesquisa passa a se dedicar ao estudo das redes neuronais vistas apenas como uma representação de funções matemáticas utilizando elementos aritméticos simples, sem maiores relações com a modelagem do sistema nervoso. UNOESC – Inteligência Artificial – Leandro Loss 3 Características Interessantes • Capacidade de “aprender” através de exemplos e de generalizar este aprendizado de maneira a reconhecer instâncias similares que nunca haviam sido apresentadas como exemplos. • Bom desempenho em tarefas mal definidas, onde falta o conhecimento explícito sobre como encontrar uma solução. UNOESC – Inteligência Artificial – Leandro Loss Características Interessantes • O aprendizado em redes neuronais está normalmente associado à capacidade de as mesmas adaptarem os seus parâmetros como conseqüência da sua interação com o meio externo. • O processo de aprendizado deve melhorar o seu desempenho a medida que a rede que interage com o meio externo. UNOESC – Inteligência Artificial – Leandro Loss 4 Características Interessantes • Não requer conhecimento a respeito de eventuais modelos matemáticos dos domínios de aplicação. • Elevada imunidade ao ruído, isto é, o desempenho de ruma rede neuronal não entra em colapso em presença de informações falsas ou ausentes, como é o caso nos programas convencionais. • Possibilidade de simulação de raciocínio impreciso através da associação com lógica nebulosa (sistemas neuro-fuzzy). UNOESC – Inteligência Artificial – Leandro Loss Algumas Aplicações • Reconhecimento de padrões: – Visão computacional; – Reconhecimento de voz. • Processamento de sinais; • Previsão de carga elétrica; • Diagnóstico de falhas; • Previsão da bolsa de valores; • Identificação de e controle de processos. UNOESC – Inteligência Artificial – Leandro Loss 5 Modelo McCulloch e Pitts • O modelo de neurônio artificial proposto por McCulloch e Pitts (MCP) é baseado no neurônio biológico. • A sinapse transfere um impulso eletroquímico para o dendrito de outro neurônio SE o somatório dos sinais de entrada ultrapassa determinado limiar. UNOESC – Inteligência Artificial – Leandro Loss Modelo McCulloch e Pitts Núcleo Corpo celular Dendrites Axônio KNa+ Sinapse Na+ K- KNa+ UNOESC – Inteligência Artificial – Leandro Loss 6 Modelo McCulloch e Pitts • A maior limitação do modelo de neurônio de McCulloch e Pitts é a sua natureza binária. – Sistema nervoso baseado em uma representação do “tudo ou nada”. – O funcionamento do modelo pode ser descrito intuitivamente da seguinte maneira: se a soma dos sinais de entrada de um neurônio ultrapassar um determinado limite de disparo, então a saída toma valor 1, caso contrário, valor 0. UNOESC – Inteligência Artificial – Leandro Loss Modelo McCulloch e Pitts • As entradas do neurônio correspondem ao valor de entrada X = [x1, x2, ..., xn]T de dimensão n. • Para cada uma das entradas xi, há um peso correspondente wi na entrada dos neurônios. • A soma das entradas wi ponderadas pelos pesos correspondentes wi é chamada de saída linear u, onde: u =∑i wi xi. UNOESC – Inteligência Artificial – Leandro Loss 7 O Neurônio Artificial • O neurônio artificial pretende imitar características do neurônio biológico. X1 W1 X2 . . . Xn W2 f(a) Y ∑ . . . y = f(a) Wn UNOESC – Inteligência Artificial – Leandro Loss O Neurônio Artificial • Assim como no caso biológico, também para as redes neuronais artificiais há dois tipos de sinapses: – As excitadoras; – As inibidoras. • As sinapses excitadoras tem o peso wij > 0 e as sinapses inibidoras tem o peso wij < 0. UNOESC – Inteligência Artificial – Leandro Loss 8 O Neurônio Artificial • A função f, chamada de função de ativação ou de transferência, adotada no modelo é a função degrau: f(x) = 0 se x ≤ β 1 se x > β • onde β é o limite de disparo. • Mesmo com esse modelo rudimentar de neurônio, McCulloch e Pitts foram capazes de provar que uma rede neuronal é equivalente a uma máquina de Turing sendo capaz de calcular qualquer função computável. UNOESC – Inteligência Artificial – Leandro Loss O Neurônio Artificial • Considere um neurônio de McCulloch e Pitts com duas entradas binárias x1 e x2 e os seguintes parâmetros: w1 = w2 = 1 e β = 0,5. • O neurônio ativa a sua saída toda vez que a entrada x1 ou a entrada x2 assume o valor 1: x1 x2 u y 0 0 0 0 0 1 1 1 1 0 1 1 1 1 2 1 UNOESC – Inteligência Artificial – Leandro Loss 9 O Neurônio Artificial • A evidência de que o neurônio de McCulloch e Pitts é equivalente a máquina de Turing se deve ao fato de que é possível simular os operadores OU, E, e NÃO, pois com base nestes operadores é possível construir um computador convencional. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas • Um único neurônio pode realizar funções de detecção de padrões muito simples. • O poder de computação neuronal vem da conexão dos neurônios dentro de uma rede. • Cada camada da rede é composto por vários neurônios. • As camadas são ligadas entre si. UNOESC – Inteligência Artificial – Leandro Loss 10 Redes Neuronais Multicamadas n neti (t ) = ∑ wijuj (t ) j =1 • Onde wij é um número real que quantifica a conexão sináptica da entrada do i-ésimo neurônio para a saída do j-ésimo neurônio. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas • O primeiro modelo de rede neuronal – chamado de perceptron – foi proposto por Rosenblatt em 1957. • Este modelo consiste em uma rede de duas camadas: – Uma camada de entrada, utilizada apenas para redistribuição da informação de entrada, e – Uma camada de saída, onde o processamento é realmente realizado. • Estas camadas são formadas por neurônios binários. UNOESC – Inteligência Artificial – Leandro Loss 11 Redes Neuronais Multicamadas • A rede mais simples é formada por um grupo de neurônios arranjados em duas camadas. Camada de entrada x1 w11 w12 F1 w21 x2 F2 Camada de saída y1 w1m w22 y2 w2m . . . wn1 xn F3 wn2 wnm yn UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas • O Perceptron gerou muito interesse devido sua habilidade para generalizar, ou seja, depois de treinado, ele é capaz de responder razoavelmente bem a entradas que não foram consideradas no conjunto de treinamento. • Perceptrons são utilizados em tarefas simples de classificação de padrões. UNOESC – Inteligência Artificial – Leandro Loss 12 Redes Neuronais Multicamadas • Redes multicamadas podem ser formadas colocando em cascata redes de uma camada; • A saída de uma camada providencia a entrada para a camada subseqüente. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas Camada de entrada x1 Camada escondida w11 F1 v11 w12 v1m w21 F2 v21 w22 v22 w2m v2m . . . xn F3 y2 . . . . . . wn1 y1 v12 w1m x2 Camada de saída vn1 wn2 vn2 wnm vnm yn UNOESC – Inteligência Artificial – Leandro Loss 13 Redes Neuronais Multicamadas • Do ponto de vista do fluxo de informação, uma rede neuronal pode conter três tipos de neurônios: – De entrada – análogos aos neurônios sensoriais dos seres vivos; – De saída – análogos aos neurônios motores; – Neurônios internos – fazem o processamento, inclusive de problemas conhecidos como linearmente separáveis (do qual o “ou-exclusívo” é uma instância). UNOESC – Inteligência Artificial – Leandro Loss Separabilidade Linear • Os Perceptrons apresentam duas limitações críticas: – Os valores de saída assumem apenas dois valores (1 ou 0, 1 ou –1, Verdadeiro ou Falso). – Os perceptrons podem classificar somente conjuntos de vetores linearmente separáveis; • Problemas de classificação de padrões requerem que cada ponto (padrão) seja discriminado como pertencente a uma classe. UNOESC – Inteligência Artificial – Leandro Loss 14 Separabilidade Linear • Por exemplo, na figura (a) os padrões podem ser separados por uma linha. Na figura (b) esta separação não é possível. + + + + + - - + - ? + UNOESC – Inteligência Artificial – Leandro Loss Separabilidade Linear • No primeiro caso diz-se que as classes são ditas linearmente separáveis. No outro caso elas são ditas não linearmente separáveis. UNOESC – Inteligência Artificial – Leandro Loss 15 Redes Neuronais Multicamadas • Comparação: – O sistema nervoso humano é constituído de cerca de 1011 neurônios participando em aproximadamente 1015 interconexões sobre vias de transmissão que podem variar até um metro. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas • Do ponto de vista funcional, uma rede pode ser: – Homogênea se todos os neurônios se comportarem da mesma forma. – Heterogênea quando cada um dos neurônios tem um comportamento diferenciado. • As redes neuronais artificiais normalmente são do tipo homogêneas enquanto que as redes neuronais biológicas são bastante heterogêneas. UNOESC – Inteligência Artificial – Leandro Loss 16 Redes Neuronais Multicamadas • Do ponto de vista da topologia da interligação entre neurônios, uma rede pode ser de alimentação para frente (feed-forward) ou recorrentes (backward). • Nas redes de alimentação para frente, os neurônios são organizados em camadas e a informação se desloca em um único sentido entre as camadas. Os conjuntos de vetores são apresentados na estrada da rede e é calculado o vetor de saída. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais Multicamadas • Nas redes recorrentes não existe direção privilegiada para a propagação da informação, podendo haver retroalimentação. • Um caso limite de rede recorrente é a rede totalmente conectada onde cada neurônio está conectado a todos os outros e cada interligação é um caso particular. UNOESC – Inteligência Artificial – Leandro Loss 17 Redes Neuronais Multicamadas • Treinamento: – Treinar uma rede neuronal significa ajustar os pesos das várias camadas de forma que a saída coincida com o valor desejado para uma dada entrada. – Existem alguns algoritmos de treinamento que, além do ajuste dos pesos, provocam mudanças na arquitetura da rede, como a criação o eliminação de neurônios. – O treinamento pode ser supervisionado ou não supervisionado. UNOESC – Inteligência Artificial – Leandro Loss Treinamento Supervisionado • O treinamento supervisionado exige um vetor de entrada com um vetor alvo representando a saída desejada. Juntos são chamados de par de treinamento. Apresenta exemplos Rede Neuronal Artificial Indica as saídas desejadas Determina o peso das sinapses (conhecimento) Novos dados Rede Neuronal Artificial Saídas previstas UNOESC – Inteligência Artificial – Leandro Loss 18 Treinamento Supervisionado Rede Neuronal Artificial x Vetor de entrada ⎡ x1 ⎤ ⎢x ⎥ ⎢ 2⎥ ⎢⎣ x3 ⎦⎥ f Função não-linear y Vetor de saída ⎡ y1 ⎤ ⎢y ⎥ ⎢ 2⎥ ⎣⎢ y3 ⎥⎦ “Conhecimento” f(x) = y UNOESC – Inteligência Artificial – Leandro Loss Treinamento Supervisionado • Sabe-se de antemão qual deve ser a resposta da rede para cada entrada xi. • O ajuste dos pesos da rede é feito de maneira que a resposta yi para o vetor de entrada se aproxime do valor desejado dentro dos limites de tolerância preestabelecidos. UNOESC – Inteligência Artificial – Leandro Loss 19 Treinamento Não-Supervisionado • No treinamento não supervisionado, o conjunto de treinamento consiste somente de vetores de entrada. • O algoritmo de treinamento modifica os pesos da rede para produzir um vetor de saída consistente com a entrada. • Caracteriza-se pela não existência de saídas desejadas para as entradas xi, sendo o conjunto de treinamento formado apenas pelos vetores de entrada. UNOESC – Inteligência Artificial – Leandro Loss Treinamento Não-Supervisionado • A aplicação de um vetor de treinamento ou um vetor que é suficientemente similar a ele na entrada irá produzir o mesmo padrão de saída. • Isso permite reconstituir entradas deturpadas. • Útil em processamento de sinal e filtragens. UNOESC – Inteligência Artificial – Leandro Loss 20 Treinamento por Reforço • O treinamento por reforço pode ser considerado um paradigma intermediário entre o aprendizado supervisionado e o não-supervisionado. • O conjunto de treinamento é formado apenas pelos vetores de entrada, mas há a existência de um “crítico” externo. • Como não há valores de saída desejados, o crítico retorna um sinal de reforço ou penalidade associado à última ação da rede. UNOESC – Inteligência Artificial – Leandro Loss Treinamento • Uma rede pode ser treinada com três objetivos diferentes: – Auto-associação: após o treinamento com um conjunto de vetores, quando submetida a um vetor similar a um dos exemplos, mas deturpado, reconstituir o vetor. – Heteroassociação: após o treinamento com um conjunto de vetores, quando submetida a um vetor similar ao primeiro elemento de um par, mas deturpado, reconstituir o segundo elemento do par. UNOESC – Inteligência Artificial – Leandro Loss 21 Treinamento – Detecção de regularidades: descobrir as regularidades inerentes aos vetores de treinamento e criar padrões para classificá-los de acordo com tais regularidades. UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA • Seja um neurônio dado por: Saída = -1 se resultado ≤ 0 Saída = +1 se resultado >0 Processamento (ex.: soma) Ponderação (entrada x peso) Entrada (-1 ou +1) • E estabelecendo como convenção: – Valor +1 = ativo – Valor -1 = inativo UNOESC – Inteligência Artificial – Leandro Loss 22 Treinamento da RNA • Para a situação: Bom Tempo Tempo Instável 1 1 0 Chuva 1 0 0 Nadar 1 Saída Soma Pesos Entrada 1 0 0 Bom humor 0 1 Saída Soma Pesos Entrada Guarda-Chuva UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA • Deseja-se ajustar os pesos de forma que: • Entrada bom tempo ativa Æ saídas nadar e bom humor • Entrada tempo instável ativa Æ saídas bom humor e guarda-chuva • Entrada chuva ativa Æ saída guarda-chuva UNOESC – Inteligência Artificial – Leandro Loss 23 Treinamento da RNA • Uma possível solução é ajustar os pesos manualmente até que a saída coincida com a saída desejada para os valores dados de entrada. • Outra solução é definir uma regra de ajuste dos pesos (regra de aprendizado). UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA • Algoritmo de treinamento da rede neuronal: 1. Definir a saída desejada para cada conjunto de entradas; 2. Definir valores iniciais aleatórios para cada peso; 3. Colocar um conjunto de valores na entrada; 4. Corrigir os pesos seguindo uma regra de Hebb até obter a saída desejada para aquela entrada 5. Voltar ao passo 3 UNOESC – Inteligência Artificial – Leandro Loss 24 Treinamento da RNA • Hipótese de Hebb: – “A ligação entre dois neurônios é reforçada se ambos são simultaneamente ativados por um dado estímulo de entrada” • Formulação de uma regra simples baseada em Hebb: – “Incrementar em 1 o peso da ligação entre o neurônio i e o neurônio j quando o neurônio i estiver ativado e o estado desejada do neurônio j seja ativo” UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA • Esta lei pode ser formalizada da seguinte maneira: • Seja: ∆Wij = Φxixj a variação no peso da conexão entre os neurônios i e j, onde Φ é chamada de taxa de aprendizado e xi e xj são as atividades dos neurônios. UNOESC – Inteligência Artificial – Leandro Loss 25 Treinamento da RNA Condição inicial: entrada [1, -1, -1]; saída desejada [1, 1, -1] Bom Tempo Tempo Instável Chuva 1 -1 -1 Entrada 1 1 1 Pesos 1 -1 -1 Soma 1 -1 -1 Saída 1 -1 -1 1 -1 -1 1 -1 -1 Entrada 1 0 0 Pesos 0 0 1 0 0 1 1 -1 -1 Soma 1 -1 -1 Saída Bom humor Guarda-Chuva Nadar Nadar UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA Bom Tempo Tempo Instável Chuva 1 -1 -1 Entrada 1 1 1 Pesos 1 -1 -1 Soma 1 -1 -1 Saída 1 -1 -1 1 -1 -1 1 -1 -1 Entrada 2 1 0 Pesos 0 0 1 0 0 1 2 0 -1 Soma 1 -1 -1 Saída Bom humor Guarda-Chuva Nadar Nadar UNOESC – Inteligência Artificial – Leandro Loss 26 Treinamento da RNA Bom Tempo Tempo Instável Chuva 1 -1 -1 Entrada 1 1 1 Pesos 1 -1 -1 Soma 1 -1 -1 Saída 1 -1 -1 1 -1 -1 1 -1 -1 Entrada 3 2 0 Pesos 0 0 1 0 0 1 3 1 -1 Soma 1 1 -1 Saída Nadar Bom humor Nadar Bom humor Guarda-Chuva UNOESC – Inteligência Artificial – Leandro Loss Treinamento da RNA • A rede aparenta ter “aprendido” corretamente. • Problema: se fornecida uma entrada para a qual a rede não foi treinada. • Com a regra de treinamento em uso entrada [1, 1, 1] para a saída [-1, -1, -1] nunca será aprendida. • Isto se deve a simplicidade extrema da regra de aprendizado que é utilizada. UNOESC – Inteligência Artificial – Leandro Loss 27 Treinamento da RNA • É possível melhorar a regra de aprendizado aplicando a regra chamada Delta de Widrow ∆Wij = Φ(di - xi)xj Onde se ajusta o valor de um neurônio di UNOESC – Inteligência Artificial – Leandro Loss Backpropagation • O algoritmo mais conhecido para treinamento de redes neuronais é o backpropagation (retropropagação). • Este algoritmo pode ser considerado como uma generalização da regra delta para redes de alimentação para frente com mais de duas camadas. • O backpropagation é um algoritmo de treinamento supervisionado. UNOESC – Inteligência Artificial – Leandro Loss 28 Backpropagation • Seu funcionamento pode ser descrito da seguinte forma: – Apresenta-se um exemplo à rede e obtém-se a saída correspondente; – Calcula-se o vetor de erro que consiste na diferença entre a saída obtida e a esperada; – Calcula-se o gradiente do vetor de erro e atualiza-se, utilizando a regra delta, os pesos da camada de saída; – Propaga-se para trás os valores desejados de modo a atualizar os pesos das demais camadas. UNOESC – Inteligência Artificial – Leandro Loss Backpropagation • O algoritmo de treinamento mais usado é o Error Backpropagation (retropropagação de erro): Modelo Yd + U E Rede Neuronal Yrn UNOESC – Inteligência Artificial – Leandro Loss 29 Backpropagation • Algoritmo Backpropagation (simplificado): Passo 1: iniciar pesos com valores aleatórios e pequenos Passo 2: alimentar a rede com um padrão de treinamento U e com valor de saída Yd; Passo 3: calcular a saída de rede usando valores atuais dos pesos Y = F(U.W); Passo 4: calcular o erro entre saída produzida e saída desejada (Y – Yd); Passo 5: corrigir pesos de todas as camadas por retropropagação: Wi+1 = Wi-µ.dE(W) dW Passo 6: testar a condição de parada (E(k) < Emin), se não atendida, voltar ao passo 3. UNOESC – Inteligência Artificial – Leandro Loss Backpropagation • A retropropagação do erro de saída corresponde à utilização do erro da camada de saída para estimar o erro dos neurônios da camada intermediária. x1 1 x2 wi23 f’(u2) 2 x3 wo12 e1 f’(u1) 1 wo22 2 e2 f’(u2) 3 x4 UNOESC – Inteligência Artificial – Leandro Loss 30 Redes Neuronais em Controle • As primeiras aplicações datam da década de 60. • Aplicações em controle trazem vantagens quando o processo: – É difícil de modelar; – Tem não-linearidades; – Sofre alteração de parâmetros com o tempo. UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais em Controle • Algumas possíveis aplicações de interesse são: – Identificação; – Controle: • Adaptativo; • Robusto; • Robótica: – Posição; – Trajetória; – Força; – Flexibilidade. UNOESC – Inteligência Artificial – Leandro Loss 31 Redes Neuronais em Controle • Identificação: – A rede aprende a imitar o mapeamento de entrada/saída do processo: Yd Modelo + U E Rede Yrn Neuronal UNOESC – Inteligência Artificial – Leandro Loss Redes Neuronais em Controle • Controle: controlador “treinável” – As primeiras tentativas de uso de redes neuronais em controle tentaram fazer a rede aprender uma lei de controle existente. – Passo 1: treinar a rede. Yp Lei de Controle Yd (PID) + Rede - Processo E Neuronal Controladora UNOESC – Inteligência Artificial – Leandro Loss 32 Redes Neuronais em Controle – Passo 2: operação normal. Yd Yp Rede Neuronal Processo Controladora – Resultados com desempenho igual ao da lei de controle. UNOESC – Inteligência Artificial – Leandro Loss Aplicação – Reconhecimento de Imagem • Reconhecimento de imagens utilizando redes neuronais. • O objetivo era desenvolver um sistema de reconhecimento de peças em uma esteira com as seguintes características: – Reconhecer peças mesmo com sujeira e má iluminação (condições reais de chão de fábrica); – Realizar o reconhecimento em tempo real; – Identificar a posição e orientação da peça de forma a informar o robô para manipulação; – Reconhecer vários objetos em uma imagem; – Reconhecer objetos parcialmente superpostos. UNOESC – Inteligência Artificial – Leandro Loss 33 Reconhecimento de Imagem Capta a imagem Limpa o fundo Determina Trilha Fourier Acumula exemplos Identifica a imagem Treina a rede UNOESC – Inteligência Artificial – Leandro Loss Aquisição e Limpeza da Imagem • Amostrar uma imagem. • Calcular os componentes RGB. • Obtém-se uma matriz de 200x256 em que cada pixel é um número de 0 a 31 que representa a intensidade luminosa do conto correspondente na imagem. • Aplicação de threshold. • Apenas os pixels que compõem a peça permanecem diferentes de 0 (binarização) UNOESC – Inteligência Artificial – Leandro Loss 34 Imagem Limpa de Algumas Peças Peça 1 Peça 3 Peça 4 Peça 2 UNOESC – Inteligência Artificial – Leandro Loss Detecção do Contorno • Uma varredura procura uma região clara na imagem indicado a provável existência de um objeto. • Algoritmo de contorno aplicado. Contorno da Peça 3 • Aplica-se transformada de Fourier para caracterizar o objeto. UNOESC – Inteligência Artificial – Leandro Loss 35 Treinamento • Na etapa de treinamento as peças são apresentadas isoladamente. • Durante a operação as peças podem aparecer em conjunto. • Após terminado o processamento de um contorno a peça já tratada é apagada da imagem. • Inicia-se a procura e o tratamento de outra peça. • O procedimento é repetido até que nenhuma peça seja encontrada. • Encerrado o processo, uma nova imagem pode ser capturada. UNOESC – Inteligência Artificial – Leandro Loss Peças Sobrepostas • Obtém-se o contorno da peça de cima e depois se remove esta peça da imagem até que todas as peças tenham sido processadas. UNOESC – Inteligência Artificial – Leandro Loss 36 Classificação • Camada de entrada com 20 neurônios; • Uma camada oculta com 10 neurônios; • Camada de saída com 4 neurônios; • Rede sem realimentação (feed-forward). UNOESC – Inteligência Artificial – Leandro Loss Conclusões • O número de entradas e saídas depende da dimensionalidade dos dados. • O número de neurônios das camadas intermediárias depende da complexidade do problema. • Quanto maior o número de neurônios nas camadas intermediárias, mais complexas são as funções mapeadas, no entanto, o número excessivo de neurônios intermediários pode levar a resultados indesejáveis. UNOESC – Inteligência Artificial – Leandro Loss 37 Conclusões • O grande desafio no desenvolvimento de modelos neuronais é selecionar a melhor entre as inúmeras soluções possíveis. UNOESC – Inteligência Artificial – Leandro Loss Conclusões • Perceptrons: – Aplicações: reconhecimento de caracteres; – Vantagem: rede neuronal mais antiga; – Desvantagem: não reconhece padrões complexos, sensível a mudanças. • Backpropagation: – Aplicações: larga aplicação – Vantagem: rede mais utilizada, simples e eficiente – Desvantagem: treinamento supervisionado, exige muitos exemplos. UNOESC – Inteligência Artificial – Leandro Loss 38 Conclusões • Counterpropagation: – Aplicações: reconhecimento de padrões, análise estatística; – Vantagem: rapidez do treinamento; – Desvantagem: topologia complexa. • Hopfield: – Aplicações: recuperação de dados e fragmentos de imagens; – Vantagem: implementação em larga escala; – Desvantagem: sem aprendizado, pesos preestabelecidos. UNOESC – Inteligência Artificial – Leandro Loss Conclusões • Bidirecional Associative Memories (BAM): – Aplicações: reconhecimento de padrões; – Vantagem: estável; – Desvantagem: pouco eficiente. • Kohonem: – Aplicações: reconhecimento de padrões não especificados; – Vantagem: auto-organização; – Desvantagem: pouco eficiente. UNOESC – Inteligência Artificial – Leandro Loss 39 Bibliografia: • Bittencourt, G.; 2001. Inteligência Artificial: Ferramentas e Teorias. Florianópolis, SC: Ed. Da UFSC. • Rezende. S. O.; 2003. Sistemas Inteligentes: fundamentos e aplicações. Barueri, SP: Manoele. • Stemmer, M. R.; Redes Neurais – DAS 6652 – Inteligência Computacional (apostila). • Berthold, M.; Hand, D. J.; 2003. Intelligent Data Analysis. New York, Springer. UNOESC – Inteligência Artificial – Leandro Loss UNOESC Inteligência Artificial Redes Neuronais Leandro Loss [email protected] http://www.gsigma.ufsc.br/~loss UNOESC – Inteligência Artificial – Leandro Loss 40