21
Prof. Frederico Brito Fernandes [email protected] Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4) Treinamento (5) Exercício (6) Adaline (7) Diferença entre Perceptron e Adaline (8) Projeto 1 Disciplina: Sistemas Inteligentes II

Prof. Frederico Brito Fernandes [email protected] Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Embed Size (px)

Citation preview

Page 1: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Prof. Frederico Brito [email protected]

Redes Neurais Artificiais (RNA): Perceptron

CONTEÚDO

(1) Perceptron(2) Topologia (3) Aprendizado (4) Treinamento (5) Exercício(6) Adaline (7) Diferença entre Perceptron e Adaline(8) Projeto 1

Disciplina: Sistemas Inteligentes II

Page 2: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 2/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

Ao final da aula...

• Você deverá ser capaz de explicar:– O que é um problema lineamente separável– A diferença entre Perceptron e Adaline– O funcionamento do Perceptron– A grande deficiência do Perceptron– Diferença entre a função de ativação escada e a função

de ativação sigmóide

Page 3: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 3/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(1) Perceptron

• Frank Rosenblatt introduz o conceito de aprendizado em 1958 e o modelo Perceptron.

• Composto por nodos MCP e regra de aprendizado.

• Sempre converge caso o problema seja linearmente separável.

Page 4: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 4/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(1) Perceptron

• Não teve vida muito longa;

• Muitas críticas em relação a sua capacidade computacional;

• Grande desinteresse na área nos anos 70 e início dos anos 80;

• Ganhou novo impulso com as descrições da rede de Hopfield em 1982 e do algoritmo Back-propagation em 1986.

Page 5: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 5/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(2) Perceptron - Topologia

• Unidades de Entrada (retina);

• Unidades de Associação (pesos fixos);

• Unidades de Resposta.

• Somente o nível de saída possui propriedades adaptativas! Por isso chamado de 1 camada!

Page 6: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 6/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(2) Perceptron - Topologia

∑ Θ∑ Θ∑ Θ

∑ Θ

∑ Θ

r

Resposta

Associação

Retina

Page 7: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 7/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(3) Perceptron - Aprendizado

• O desejo é encontrar a variação Δw onde será utilizado na atualização do valor de w(t), chegando próximo ao desejado.

Page 8: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 8/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(3) Perceptron - Aprendizado

• Ativação de um nodo é dado por:– w’ . x’ ≥ θ, onde w’ é o vetor de pesos e x’ o vetor de

entrada.– Caso crítico, quando w’ . x’ = θ, ou w’ . x’ – θ = 0– Equivalente a adicionar um peso θ as entradas (como

um peso) do nodo e conectar a um xi = -1.

– Assim w={θ, w1, w2,...wn} e x={-1,x1, x2,...xn} tendo w.x = 0

Olhar o site abaixo, para entender as explicações acima:http://diwww.epfl.ch/mantra/tutorial/english/perceptron/html/Olhar o site abaixo, para entender as explicações acima:http://diwww.epfl.ch/mantra/tutorial/english/perceptron/html/

Page 9: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 9/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(3) Perceptron - Aprendizado

• Considere o par de treinamento {x,d}– Saída da rede será y– Erro: e = d – y– y є {0,1} e d є {0,1}– e ≠ 0: d =1 e y = 0 ou d = 0 e y =1– Conclui-se na equação de atualização dos pesos:

w(t +1) = w(t ) + ηex(t )

Page 10: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 10/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(4) Perceptron - Treinamento

• O algoritmo de treinamento sempre chega a uma solução para problemas linearmente separáveis.

Page 11: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 11/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(4) Perceptron - Treinamento

• Passos:– Inicializar η e o vetor de pesos w;– Repetir {

Para cada par do conjunto de treinamento (x,y):

Atualizar os pesos por: w(t+1) = w(t)+ηex(t)– Até e=0 para todos os elementos do conjunto de

treinamento em todos os nodos.

Voltar para o site do applet do perceptron, e executar passo-a-passo:http://diwww.epfl.ch/mantra/tutorial/english/perceptron/html/Voltar para o site do applet do perceptron, e executar passo-a-passo:http://diwww.epfl.ch/mantra/tutorial/english/perceptron/html/

Page 12: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 12/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(5) Exercício

• Dado os vetores de treinamento:– x1 = [-1 -0.1 0.4 -0.7 -1.8] com y = 1– x2 = [-1 0.1 0.2 -0.3 -0.9] com y = 0

• Vetor de pesos iniciais zerados:– w(0) = [0 0 0 0 0] //pode ser aleatório também

• E a taxa de aprendizagem:– η = 0.05

• Fórmula do erro:– e(x) = d(x) - y(x)

• Fórmula de correção dos pesos:– w(t+1) = w(t) + η * e(t) * x(t)

• Encontre os pesos finais, para 5 interações

OBS:

Saiba que:

x[0] = -1

w[0] = θ

Realize esse exercício no papel, passo-a-passo: (1) monte a topologia da RNA; depois (2) monte uma tabela contendo todas as variáveis da sua rede, para fazer o acompanhamentoRealize esse exercício no papel, passo-a-passo: (1) monte a topologia da RNA; depois (2) monte uma tabela contendo todas as variáveis da sua rede, para fazer o acompanhamento

Page 13: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 13/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(6) Adaline

• Chamado de: – ADAptive LINear Element e depois de – ADAptive Linear NEuron– Surgiu quase que simultaneamente com o perceptron

• Quase as mesmas características do perceptron, mas surgiu em área diferente.

Page 14: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 14/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(6) Adaline

• Frank Rosenblatt era psicólogo e o perceptron surgiu em uma revista de psicologia

• Adaline surgiu dentro de um conceito de processamento de sinais.

• Adaline possui saídas bipolares: y є [-1, +1]– Seus pesos são adaptados em função de uma saída

linear: y = ∑iwixi antes da aplicação da função de ativação.

Page 15: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 15/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(6) Adaline

∑+1

-1

.

.

.

w1

w2

wn

x1

x2

xn ℮yd

-+

Page 16: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 16/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(6) Adaline

• Trabalha semelhante ao perceptron:

– Tenta minimizar o erro das saídas em relação aos valores desejados di do conjunto de treinamento

Page 17: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 17/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(6) Adaline

• Prova-se que, dada a fórmula do erro quadrático, chega-se a fórmula de ajuste dos pesos:

• Exatamente igual a do perceptron, só que os ajustes ocorrem de forma DIFERENTE!

w(t+1) = wk(t) + ηex(t)

Page 18: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 18/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(7) Diferença entre Perceptron e Adaline

• Adaline:– A equação de ajuste foi obtida para a saída linear

• Perceptron:– A equação foi obtida para a saída do nodo após a

aplicação da função de ativação

Page 19: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 19/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(8) Projeto 1

• Reconhecimento do T e H (Projeto em Delphi)

• Vetores:– T = [-1,1,1,1,0,1,0,0,1,0]– H = [-1,1,0,1,1,1,1,1,0,1]– w = [0,0,0,0,0,0,0,0,0,0]

– w[0] = Θ , u = ∑xiwi - Θ

– y = 1/(1 + ε-u) // função de ativação sigmóide (0,1)

– e = (y * (1 - y)) * (d - y)

n

i=1

Page 20: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 20/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(8) Projeto 1

• Passo 1:– Calcular u

• Passo 2:– Calcular y pela função sigmoidal– Achar o erro

• Passo 3:– Atualizar os pesos e o limiar pela fórmula conhecida:

w(t+1) = w(t) + ηex(t)

Até o passo 3, você tem um projeto em Delphi, que reconhece um T e um H...Até o passo 3, você tem um projeto em Delphi, que reconhece um T e um H...

Page 21: Prof. Frederico Brito Fernandes asper@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 21/27Disciplina: Inteligência ArtificialDisciplina: Inteligência Artificial

(8) Projeto 1

• Passo 4:– Abrir o arquivo Caractere.xls (www.fredbf.com), e

seguir as intruções para extensão desse projeto

• Data da entrega:– 28/09/2006 ([email protected])

Seu trabalho é estender esse projeto... então, boa sorte!Seu trabalho é estender esse projeto... então, boa sorte!