29
Redes Neurais Artificiais Introdução Definição Características Estrutura básica de uma RNA Áreas de aplicação Princípios básicos: Arquitetura Aprendizado Perceptron: Definição Exemplo MLP

Redes Neurais Artificiais Introdução Definição Características Estrutura básica de uma RNA Áreas de aplicação Princípios básicos: Arquitetura

Embed Size (px)

Citation preview

Page 1: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Redes Neurais Artificiais

Introdução Definição Características

Estrutura básica de uma RNA

Áreas de aplicação

Princípios básicos: Arquitetura Aprendizado

Perceptron: Definição Exemplo

MLP

Page 2: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Introdução

DefiniçãoDefinição: modelos computacionais que simulam as estrutura do cérebro humano. São constituídas de várias unidades de processamento (neurônios)

interligadas por um grande número de conexões (sinapses).

Eficientes onde métodos tradicionais têm se mostrado inadequados.

São capazes de reconhecer e classificar padrões e formas físicas.

São inspiradas no modelo biológico do cérebro humano.

RNA são pesquisadas em várias disciplinas: Ciência da Computação, Matemática, Física, Engenharias, Psicologia, Biologia, Lingüística, Filosofia.

Page 3: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Introdução

Características: Aprendem por meio de exemplos (inferência estatística não paramétrica). Adaptabilidade. Capacidade de generalização. Tolerância a falhas Implementação rápida.

Neurônio natural:

Page 4: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Estrutura de um neurônio artificial

Page 5: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Estrutura de uma RNA

Estrutura genérica de uma RNA

Parâmetros de projeto: Número de camadas e número de neurônios/camada Topologia e representação dos dados Função de transferência e dinâmica de aprendizado.

Page 6: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Áreas de Aplicação: reconhecimento de padrões

Reconhecimento de padrões: Encontrar uma estimativa de uma função desconhecida. Conhece conjunto de pares de entrada-saída: {(x1, y1), (x2, y2), ..., (xn, yn)}. Tipos: classificação e regressão.

ClassificaçãoClassificação:: Rede classifica novas entradas em uma entre várias categorias discretas (saídas

são variáveis binárias). Exemplos: Reconhecimento de promotores, análise de crédito, reconhecimento de

caracteres. Regressão:Regressão:

Rede associa novas entradas a um valor contínuo Aprende uma função definida em termos de uma média sobre uma quantidade

randômica. Saídas são variáveis contínuas Exemplos: Aproximação de funções, fusão de sensores.

Page 7: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Áreas de Aplicação: previsão, controle e otimização

Previsão: Tarefa: dado um conjunto de exemplos {y(t1), y(t2),..., y(tn)}, prever a saída

y(tn+1) no instante de tempo tn+1. Caso especial de regressão. Exemplos: previsão estrutura secundária de proteínas, de tempo, de vendas,

de preço de ações na bolsa, de desgaste de peças, etc. Controle:

Rede gera entrada de controle para que um sistema siga uma trajetória especificada por um modelo de referência.

Modelo definido por conjunto de tuplas {x(t), y(t)}. Exemplo: controle de processos químicos, controle de robôs.

Otimização: Tarefa: encontrar solução que satisfaça um conjunto de restrições. Maximização / minimização de uma função objetivo. Exemplos: alinhamento de seqüências, problema de corte, problema

do caixeiro viajante (NP completo), problema do container.

Page 8: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Áreas de Aplicação: memória associativa e agrupamento

Memória associativa: Rede associa um dado padrão de entrada a um padrão de saída. Tipo: Hetero-associativa e Auto-associativa (associa um padrão a ele mesmo). Exemplos: associar voz à imagem, recuperar itens de um BD utilizando eles

mesmos como endereços.

Agrupamento/Clustering: Rede explora semelhanças entre padrões e agrupa padrões parecidos. Também conhecido como aprendizado não supervisionado. Análise de dados: extrai informações de um conjunto de dados Exemplos: mineração de dados, compressão de dados.

Page 9: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA 1) Arquitetura: unidades de processamento

Arquitetura: Unidades de processamento (nodos), Conexões, Topologia. Unidades de processamento:

Função: receber entradas de conjunto de unidades A, computar função sobre entradas e enviar resultado para conjunto de unidades B.

Entrada total:

Representação: Local: unidades representam objetos bem definidos. (Ex. letras, palavras, faces, etc.) Distribuída: unidades representam elementos abstratos.

Page 10: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA 1) Arquitetura: conexões e topologia

Localização das unidades Intermediária (escondida). Saída.

Conexões: Definem como neurônios estão interligados e codificam conhecimento da

rede. Tipos de conexões (wik)

Excitatória: (wik > 0) Inibitória: (wik < 0)

Número de conexões de um nodo Fan-in Fan-out

Topologia: Número de camadas:

Uma camada (Ex Perceptron, Adaline) Multi-camadas (Ex MLP, RBF): completamente conectada, parcialmente conectada

e localmente conectada.

Page 11: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA 1) Arquitetura: topologia

Completamente Conectada

Parcialmente Conectada

Page 12: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA 1) Arquitetura: topologia

Localmente conectada

Arranjo das conexões Redes feedforward: não existem loops de conexões Redes recorrentes: conexões apresentam loops e são mais utilizadas em sistemas

dinâmicos Lattices: matriz n-dimensional de neurônios

Page 13: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA 1) Arquitetura: topologia

Redes feedforwardRedes feedforward: sinais seguem em uma única direção e o tipos mais comum.

Redes recorrentesRedes recorrentes:têm conexões ligando a saída da rede de sua entrada. Podem lembrar entradas passadas e, conseqüentemente, processar seqüência de informações (no tempo ou espaço)

Page 14: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Principais aspectos de uma RNA2) Aprendizado

Algoritmos de aprendizado: conjunto de regras bem definidas para ensinar a rede a resolver um problema

Podem ser agrupados em quatro categorias: Correção de erro Hebbiano Competitivo Termodinâmico (Boltzmann)

Divergem na maneira como os pesos são ajustados.

Paradigmas de aprendizado: indicam como a RNA se relaciona com o ambiente externo.

Tipos principais: Supervisionado Não supervisionado Híbrido

Page 15: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron

Primeira implementação de RNA Desenvolvido por Rosemblat (1958). Rede mais simples que pode ser utilizada para classificação de padrões

linearmente separáveis. Utiliza modelo de McCulloch-Pitts para o nodo.

Page 16: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron

Treinamento: Supervisionado Correção de erro

∆wij = ηxi(dj - yj) (d ≠ y) ∆wij = 0 (d = y)

Teorema de convergência: se é possível classificar um conjunto de entradas, uma rede Perceptron fará a classificação.

Algoritmo de treinamento:1) Iniciar todas as conexões com wj = aleatorio.2) Repita

Para cada padrão de treinamento (X, d) faça Calcular a saída y

se (d ≠ y) então atualizar pesos

Até o erro ser aceitável

Page 17: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron

Algoritmo de teste:1) Para cada padrão de 1 a p faça

Apresentar Xp a entrada da rede Calcular a saída y

Se (y=-1 ) então Xp classe 1

senão Xp classe 2

Page 18: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron: Exemplo

Ensinar uma rede Perceptron a classificar os padrões:

Utilizar a rede treinada para classificar os padrões (P1 , P2 , P3):

Codificar as entradas:

Supor: η = 0.2 e pesos iniciais w0=0.4, w1=-0.8 e w2=0.3

Page 19: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron: Exemplo

Page 20: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron: Exemplo (treinamento)

a) Treinar a rede a.1) Para o padrão “Classe 1” -1-1-1 (d = -1) Passo 1: definir a saída da rede u = (-1)(0.4) + (-1)(-0.8) + (-1)(0.3) = 0.1

y = u = +1 (uma vez que 0.1 ≥ 0)Como (d ≠ y), atualizar pesos

Passo 2: atualizar pesosw0 = 0.4 + 0.2(-1)(-1 - (+1)) = 0.8w1 = -0.8 + 0.2(-1)(-1 - (+1)) = -0.4w2 = 0.3 + 0.2(-1)(-1 - (+1)) = 0.7

a.2) Para o padrão “Classe 2” 111 (d = 1) Passo 1: definir a saída da rede

u = (1)(0.8) + (1)(-0.4) + (1)(0.7) = 1.1y = u = +1 (uma vez que 1.1 ≥ 0)Como (d = y), não precisa atualizar pesos

Page 21: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Perceptron: Exemplo (teste)

b) Testar a rede b.2) Para o padrão: (-11-1)

u = (-1)(0.8) + (1)(-0.4) + (-1)(0.7) = -1.9 (classe 1) b.3) Para o padrão: (1-11)

u = (1)(0.8) + (-1)(-0.4) + (1)(0.7) = 1.9 (classe 2) b.1) Para o padrão: (1-1-1)

u = (1)(0.8) + (-1)(-0.4) + (-1)(0.7) = 0.5 (classe 2)

Problemas com a rede perceptron: Redes de uma camada resolvem apenas problemas linearmente separáveis Grande número de aplicações importantes são não linearmente separáveis Exemplo de aplicação não linearmente dependente: paridade

Solução: utilizar mais de uma camada Camada 1: uma rede Perceptron para cada grupo de entradas linearmente

separáveis. Camada 2: uma rede combina as saídas das redes da primeira camada,

produzindo a classificação final.

Page 22: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Problemas com rede Perceptron

Page 23: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Rede MLP (Multi-Layer Perceptron)

Arquitetura de RNA mais utilizada: possui uma ou mais camadas intermediárias de nós.

Grande Funcionalidade: Uma camada intermediária: qualquer função contínua ou Booleana. Duas camadas intermediárias: qualquer função.

Algoritmo Backpropagation

Page 24: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Backpropagation

Rede é treinada com pares entrada-saída. Cada entrada de treinamento está associada a uma saída desejada. Treinamento em duas fases, cada uma percorrendo a rede em um sentido: fase

forward e fase backward. Procura reduzir os erros cometidos pela rede: utiliza erro para ajustar valor dos

pesos. Erro de cada nodo:

Camada de saída: f (Saída desejada = saída produzida) Camadas intermediárias: proporcional aos erros dos nodos da camada seguinte

conectados a ele.

Page 25: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Algoritmo de Treinamento

Page 26: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Algoritmo de Treinamento

Page 27: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Algoritmo de Treinamento

Page 28: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Algoritmo de Treinamento

Page 29: Redes Neurais Artificiais  Introdução  Definição  Características  Estrutura básica de uma RNA  Áreas de aplicação  Princípios básicos:  Arquitetura

Aplicações de RNA

Processamento de alarmes

Reconhecimento de voz e imagem

Diagnósticos

Controle de robôs

Controle de processos químicos

Otimização

Bioinformática