Redes Neurais Wladimir Araújo Tavares. Características Degradação progressiva e qualidade....

Preview:

Citation preview

Redes Neurais

Wladimir Araújo Tavares

Características• Degradação progressiva e qualidade.

Significa que a performance de um sistema baseado em rede neural diminui lenta e monotonicamente em presença de informações falsas ou ausentes.

• Raciocínio por Default. Capacidade de manipular e representar informações incompletas e ausentes.

• Generalização. Uma vez uma rede aprendendo um conceito ela é capaz de funcionar com conceitos similares que não foram aprendidos e isto sem esforço suplementar.

• Raciocínio impreciso.Capacidade de representar e manipular incertezas

Aplicações

• Classificação• Reconhecimento de padrões • Predição de Falhas• Otimização• Filtragem de ruído

Neurônio Biológico

Conceitos importantes• Axônio: responsável pela transmissão de sinais a partirdo corpo celular. Em geral são compridos e apresentampoucas ramificações• Dendritos: conduzem sinais para a célula; têm muitasramificações (zonas receptivas)• Sinapse: local de contato entre neurônios, onde ocorrea transmissão de impulsos nervosos de uma célula paraoutra• Plasticidade: capacidade de adaptação de um neurônioao ambiente. Fundamental para as redes neurais.Mecanismos de plasticidade: criação de novas conexõessinápticos; Modificação das sinapses existentes, etc.

Neurônio de McCulloch-Pitts

Neurônio de McCulloch-Pitts

• O neurônio artificial funciona como sendo um circuito binário. A entrada do neurônio também é binária. A atividade do neurônio é tudo ou nada. O neurônio pode estar no estado ativado ou desativado.

Conceitos:

• [x1,...,xn] são os estímulos.• [w1,...,wn] são os pesos sinápticos.• Σ é a integração sináptica, ou seja, a soma

ponderada dos estímulos que produzem um nível de atividade do neurônio.

• Ѳ é o limiar. Se a atividade neural exceder o limiar a unidade produz determinada saída.

• f é chamada função de transferência ou função excitatória.

Função de Transferência

• Defina o neurônio McCulloch-Pitts, para representar a função booleana E para a seguinte função booleana utilizando a seguinte função de transferência: f(x)=0, x<=0 e f(x)=1, se x>0.

Ѳ 1

w 1 1

x y AND Σ Σ-Ѳ f(Σ-Ѳ)

0 0 0 0 -1 0

0 1 0 1 0 0

1 0 0 1 0 0

1 1 1 2 1 1

Interpretação Geométrica

(1,1)

(1,0)

(0,1)

(0,0)

X+Y-1=0

Ѳ 0.5

w 1 1

x y AND Σ Σ-Ѳ f(Σ-Ѳ)

0 0 0 0 -0.5 0

0 1 0 1 0.5 1

1 0 0 1 0.5 1

1 1 1 2 1.5 1

Interpretação Geométrica

(1,1)

(1,0)

(0,1)

(0,0)

X+Y-1=0

(0,0.5)

(0.5,0)

• Defina o neurônio McCulloch-Pitts, para representar a função booleana OU para a seguinte função booleana utilizando a seguinte função de transferência: f(x)=0, x<=0 e f(x)=1, se x>0.

Ѳ 0

W 1 1

x y OU Σ Σ-Ѳ f(Σ-Ѳ)

0 0 0 0 0 0

0 1 1 1 1 1

1 0 1 1 1 1

1 1 1 2 2 1

Interpretação Geométrica

(1,1)

(1,0)

(0,1)

(0,0)

X+Y=0

• Defina o neurônio McCulloch-Pitts, para representar a função booleana XOR para a seguinte função booleana utilizando a seguinte função de transferência: f(x)=0, x<=0 e f(x)=1, se x>0.

Ѳ ?

W 1 1

x y XOR Σ

0 0 0 0

0 1 1 1

1 0 1 1

1 1 0 2

Existe Ѳ tal que 1- Ѳ > 0 e 2- Ѳ <= 0 ?

Interpretação Geométrica

(1,1)

(1,0)

(0,1)

(0,0)

(1,1)

(1,0)

(0,1)

(0,0)

(1,1)

(1,0)

(0,1)

(0,0)

(1,1)

(1,0)

(0,1)

(0,0)

Função XOR

• O neurônio McCulloch-Pitts consegue representar qualquer função booleana linearmente separável.

• Minsk e Papert (1969) escrevem artigo afirmando que o problema da separabilidade linear não poderia ser resolvido por uma rede neural do tipo perceptron.

Analise as duas funções booleanas abaixo e vejase cada uma é linearmente separável.

• Analise a seguinte função booleana com três entradas e diga se ela é linearmente separável.

X Y Z FB1 FB2 FB3

0 0 0 1 0 0

0 0 1 1 0 1

0 1 0 1 0 0

0 1 1 1 0 0

1 0 0 0 1 0

1 0 1 0 1 0

1 1 0 0 1 0

1 1 1 0 1 1

Aprendizagem

• Em 1949, o biólogo Hebb propôs um princípiopelo qual o aprendizado em sistemas neuraiscomplexos (biológicos) poderia ser reduzido aum processo puramente local, em que aintensidade das conexões sinápticas é alteradaapenas em função dos erros detectáveislocalmente.

Hipótese de Hebb

• Baseada na hipótese proposta por Hebb (um neuropsicólogo) de que a probabilidade de um neurónio disparar esta correlacionada com a possibilidade de este neurónio levar os outros neurónios que estão ligados a si a dispararem também.

• Quando isto acontece (um neurónio dispara e leva aqueles que estão ligados a dispararem também) o peso entre eles será fortalecido (aumentado).

• O conhecimento em um RNA(Rede Neural Artificial) está distribuído por toda a rede, ou seja, nenhum neurônio retém em si todo o conhecimento, mas a sua operação em conjunto permite às RNAS resolver problemas complexos.

• Exemplo : Formigas.

Regra Delta

Algoritmo de Aprendizagem

Inicialize os pesos e o limiar com 0.Para cada padrão de entrada e a saídacorrespondente

aplique a regra delta para atualizar os pesossinápticos até que o resultado esteja satisfatório

Treine um neurônio McCulloch-Pitts paraaprender a função booleana OR.

x y OR

0 0 0

0 1 1

1 0 1

1 1 1

X

Y

w1

w2

bias

Ѳ

saída

X

Y

0

0

bias

0

saída

Inicialize os pesos e o limiar com 0.η = 1

X

Y

0

0

bias0

0*0 + 0*1 – 0 = 0

Para a entrada (0,1), a saída desejada deve ser 1.Δw2 = 1*(1-0)*1 = 1 w2 = 0 + 1 = 1.

X

Y

0

1

bias0

1*0 + 0*1 – 0 = 0

Para a entrada (1,0), a saída desejada deve ser 1.Δw1 = 1*(1-0)*1 = 1 w1 = 0 + 1 = 1.

X

Y

1

1

bias0

saída

Para todas as entradas, o ajuste do peso sináptico obtido produz o resultado desejado.

Treine um neurônio McCulloch-Pitts paraaprender a função booleana AND.

x y AND

0 0 0

0 1 0

1 0 0

1 1 1

X

Y

w1

w2

bias

Ѳ

saída

X

Y

0

0

bias

0

saída

Inicialize os pesos e o limiar com 0.η = 1

X

Y

0

0

bias0

1*0 + 1*0 – 0 = 0

Para a entrada (1,1), a saída desejada deve ser 1.Δw1 = 1*(1-0)*1 = 1 w1 = 0 + 1 = 1.

X

Y

1

0

bias0

1*1 + 1*0 – 0 = 1

Para a entrada (1,0), a saída desejada deve ser 0.ΔѲ = 1*(-1)*(0-1) = 1 Ѳ = 0 + 1 = 1.

X

Y

1

0

bias1

1*1 + 1*0 – 1 = 0

Para a entrada (1,1), a saída desejada deve ser 1.Δw2 = 1*(1)*(1-0) = 1 w2 = 0 + 1 = 1.

X

Y

1

1

bias1

X+Y-1

Para todas as entradas, o ajuste do peso sináptico obtido produz o resultado desejado. O neurônio está treinado corretamente.

Regra Delta

• Pode-se provar que esta regra converge em número finito de passos quando:– Os dados de treinamento são linearmente

separáveis.– η é suficientemente pequeno.

• Quando os dados de treinamento não são linearmente separáveis falha em convergi.

Modelo Perceptron

• O Perceptron, proposto por Rosenblatt, é composto pelo neurônio de McCulloch-Pitts, com Função de Limiar, e Aprendizado Supervisionado. Sua arquitetura consiste na entrada e uma camada de saída.

• A limitação desta Rede Neural se encontra na reduzida gama de problemas que consegue tratar: classificação de conjuntos linearmente separáveis.

• O algoritmo de aprendizagem converge em um número finito de passos que classifica corretamente um conjunto de treinamento linearmente separável.

• A superfície de decisão(curva de separação) forma um hiperplano, ou seja, para um dos lados está uma classe e para o outro lado está a outra classe.

Superfície de Decisão

• Podemos “ver” o perceptron como umasuperfície de separação em um espaçoN-dimensional de instâncias.• Um único perceptron consegue separarsomente conjuntos de exemplo linearmenteseparáveis.

• Variáveis e Parâmetros: X(n) = vetor de entrada (m+1)-por-1; W(n) = vetor de pesos (m+1)-por-1; b(n) = bias; y(n) = resposta real; d(n) = resposta desejada; e(n) = erro na saída da unidade; h = taxa de aprendizagem, uma constante positivaentre 0 e 1;n = contador dos passos do algoritmo.

Funções Linearmente Separáveis

1 - Inicialização: Inicializar os valores do vetor w e da taxa de aprendizado h.

2 - Repetir: 2.1- Apresentar o vetor de entrada X(n) e a saída desejada d(n),

de cada par do conjunto de treinamento T = {(x,d)} 2.2- Calcular a resposta real do Perceptron, da seguinte

forma: y(n) = f(W(n)X(n)+b(n)), onde f(.) é a Função de Limiar utlizada como função de ativação.

2.3- Calcular o erro da saída da unidade da seguinte forma: e(n) = d(n) - y(n);

• 2.4- Atualizar o vetor de pesos para cada uma das unidades da rede segundo a regra: W(n+1) = W(n) + he(n)X(n);

• 3 - Incremento: Incremente o passo de tempo (n), volte ao passo 2.1. Até que e(n) = 0 para todos os elementos do conjunto de treinamento em todas as unidades da rede.

• Rosenblatt provou através do Teorema da Convergência do Perceptron, que este algoritmo consegue encontrar um conjunto de pesos ideais para que a Rede classifique corretamente as entradas desde que seja aplicado a classes linearmente separaveis (fig 1).

Perceptron binário de duas etapas

• A utilização de mais um neurônio, em uma camada adicional, pode, em princípio, realizar um sistema para classificar polígonos convexos. A dificuldade é justamente encontrar um procedimento de treinamento para este tipo de rede.

Problema XOR

(1,1)

(1,0)

(0,1)

(0,0)

Encontrar um neurônio capaz de classificar este padrão.Utilizando a função de Ativação f(x) = 0 , x<=0 e f(x) = 1 ,x > 0.

Problema XOR

(1,1)

(1,0)

(0,1)

(0,0)(0.8,0)

1.2(0,0.8)

Problema XOR

(1,1)

(1,0)

(0,1)

(0,0)(0.8,0)

1.2(0,0.8)

X-Y-0.8=0

1

-1

X

Y0.8

X-Y-0.8

Problema XOR

(1,1)

(1,0)

(0,1)

(0,0)(0.8,0)

1.2(0,0.8)

-X+Y-0.8=0

-1

1

X

Y0.8

-X+Y-0.8

Problema XOR

(1,1)

(1,0)

(0,1)

(0,0)(0.8,0)

1.2(0,0.8)

(2.4,1.6)

(0,1.6)

1

-1

-1

1

0.8

0.8

1

1

• Muitos unidades combinadas e a última camada implementando um consenso entre as unidades da primeira camada.

• Problemas relacionados com a convergência.

Perceptron binário de três etapas

• Cálculo do erro na saída: Sdesejada - Sobtida = Erro

• Cálculo do erro de um neurônio interno da rede:

• Como fazer a atribuição da “culpa” em relação ao erro final na saída ?

• Década perdida – (1970 – 1980)

Adaline(Adaptive Linear Element)

• Unidade linear sem limiar, aprendizado supervisionado utilizando convergindo apenas assintoticamente para um vetor de pesos com um erro mínimo, possivelmente um número ilimitado de passos, independemente do conjunto de treinamento ser linearmente separável.

• Considere uma unidade linear simples, onde:

Especificando uma medida para o erro de treinamentode uma hipótese (vetor de pesos) relativamente aosexemplos de treinamento:

• O algoritmo de descida do gradiente podeentendido através da visualização do espaço dehipóteses.• A descida do gradiente determina um vetor depesos que minimiza E, começando com um vetor inicial de pesos arbitrário e modificando–o repetidamente em pequenos passos.

• A cada passo, o vetor de pesos é alterado nadireção que produz a maior queda ao longo dasuperfície de erro.• Este processo continua até atingir um erromínimo global.

Descida do Gradiente

• Resumindo o algoritmo descida do gradientepara a aprendizagem de unidade lineares:1. Pegar um vetor inicial aleatório de pesos;2. Aplicar a unidade linear para todos osexemplos de treinamento e calcular Δwi paracada peso de acordo com a equação anterior;3. Atualizar cada peso wi adicionando Δwi eEntão repetir este processo.O algoritmo convergirá para um vetor de pesoscom erro mínimo.

• A regra de treinamento perceptron tem sucesso se:– Exemplos de treinamento são linearmente

separáveis– Taxa de aprendizagem η for suficientemente

pequena

• Regra de treinamento da unidade linear utiliza a descida do gradiente– Convergência garantida para a hipótese com erro

quadrado mínimo– Dada uma taxa de aprendizagem η suficientemente

pequena– Mesmo quando dados de treinamento contém ruído– Mesmo quando dados de treinamento não forem

separáveis

• Quando devemos parar o treinamento, ou seja, parar a atualização dos pesos?– Escolha óbvia: continuar o treinamento até que o

erro E seja menor que o valor pré-estabelecido.– Porém, isto implica em sobreajuste(overfitting).– O sobreajuste diminui a generalização da rede

neural.

Modelo mais gerais de neurônio

• Temos diversos modelos de neurônios mais gerais que o modelo de neurônio McCulloch-Pitts, no qual a função de transferência utilizada obtém o estado de ativação de maneira menos abrupta e as saídas não são apenas 0 e 1.

Função Linear

Hard Limiter

Em Rampa

Sigmoid

Sigmoid

Gaussiana

Tipos de Entrada

• Binários aqueles modelos que aceitam entradas discretas,ou seja, somente na forma de 0 e 1.

• os intervalares são os que aceitam qualquer valor numérico como entrada (forma contínua).

Formas de conexão

• alimentação à frente(feedforward), onde os sinais de entrada são simplesmente transformados em sinais de saída;

Formas de conexão

• retro-alimentação, no qual os sinais cam sendo alterados em diversas transições de estado, sendo a saída também alimentadora da entrada;

Retroalimentação

Formas de conexão

• competitiva, que realiza a interação lateral dos sinais recebidos na entrada entre os elementos dentro de uma zona de vizinhança.

Formas de conexão

Formas de Aprendizagem

• Aprendizado SupervisionadoNeste caso o ‘professor’ indica explicitamenteum comportamento bom ou ruim. Por exemplo,seja o caso de reconhecimento de caracteres epara simplificar seja reconhecer entre um A ouX.

Formas de Aprendizagem

• Aprendizado não Supervisionado é quandopara fazer modificações nos valores dasconexões sinápticas não se usa informaçõessobre se a resposta da rede foi correta ounão. Usa-se por outro lado um esquema, talque, para exemplos de coisas semelhantes, arede responda de modo semelhante.

• Quais são os componentes do neurônio McCulloch e Pitts?

• Quais são os componentes do neurônio McCulloch e Pitts?

• Entrada• Pesos sinápticos• Integração sináptica• Limiar (bias)• Função de Ativação

• Em relação a atividade de um neurônio, quais foram a conclusão obtida por McCulloch e Pitts?

Em relação a atividade de um neurônio, quaisforam a conclusão obtida por McCulloch e Pitts?• A atividade de um neurônio é tudo ou nada,

ou seja, o neurônio funciona como um circuito binário.

• O que representa a integração sináptica nas redes neurais e o limiar?

• O que representa a integração sináptica nas redes neurais e o limiar?

• A integração sináptica define o nível atividade do neurônio e o limiar define se o neurônio está ativado ou desativado.

• Por que podemos dizer que o perceptron é um classificador linear?

• Por que podemos dizer que o perceptron é um classificador linear?

• O perceptron é usado para classificar funções linearmente separáveis.

• Quais são as vantagens e desvantagens do método descida de gradiente?

• Quais são as vantagens e desvantagens do método descida de gradiente? – O método pode tratar dados com ruído e dados

não linearmente separáveis.– O método pode não convergi em número finito de

passos mesmo quando os dados são linearmente separáveis.

• A decáda (1970-1980) é considerada a década perdida para as pesquisas em rede neural. O que explica este fato?

• A decáda (1970-1980) é considerada a década perdida para as pesquisas em rede neural. O que explica este fato?

• Este problema deve-se principalmente aos problemas encontrados com o treinamento supervisionado com redes multicamadas.