Top Banner
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: Inteligência Artificial
21

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

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prof. Frederico Brito Fernandes unipe@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: Inteligência Artificial

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

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 2/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 3/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 4/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 5/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

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

(2) Perceptron - Topologia

∑ Θ∑ Θ∑ Θ

∑ Θ

∑ Θ

r

Resposta

Associação

Retina

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

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 7/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 8/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 9/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 10/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 11/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 12/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 13/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 14/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

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

(6) Adaline

∑+1

-1

.

.

.

w1

w2

wn

x1

x2

xn ℮yd

-+

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

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 16/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 17/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 18/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 19/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 20/21Disciplina: 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 unipe@fredbf.com Redes Neurais Artificiais (RNA): Perceptron CONTEÚDO (1) Perceptron (2) Topologia (3) Aprendizado (4)

Professor: Frederico Brito FernandesProfessor: Frederico Brito Fernandes 21/21Disciplina: 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:– ??/??/2006 ([email protected])

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