redes neurais artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · o neurônio...

42
Redes Neurais Artificiais Prof. João Alberto Fabro

Upload: others

Post on 21-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Redes Neurais ArtificiaisProf. João Alberto Fabro

Page 2: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Redes Neurais Artificiais

● Conceitos Básicos● Histórico● Evolução● O lugar das Redes Neurais dentro da IA● Características● Aplicações● Redes Neurais Multicamadas● Modos de Operação● Classificação

Page 3: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Conceito Básicos

➢ O que são Redes Neurais Artificiais:

“Modelos computacionais constituídos a partir do estudo de sistemas neuro-biológicos encontrados nos animais e nos seres humanos”.

Page 4: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Conceito Básicos - Neurofisiologiapioneiro na definição da estrutura básica do sistema

nervoso: Ramón y Cajál. Em 1911, ele sugere que os constituintes básicos do cérebro são os neurônios.

o cérebro humano apresenta aproximadamente 1011 neurônios (os neurônios não se reproduzem!), com aproximadamente 1013 sinapses ou conexões.

neurônios são de 5 a 6 ordens de magnitude mais lentos do que portas lógicas de silício (10-3 seg. 10-9 seg.)

no entanto, o cérebro realiza reconhecimento de padrões, percepção e controle motor muitíssimo mais rápido e melhor do que qualquer computador já produzido.

(Informações obtidas nas notas de aula do curso de Redes Neurais – Faculdade de Engenharia Elétrica Prof. Márcio Luiz de Andrade Neto & Prof. Fernando Von Zuben

Page 5: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Conceito Básicos – Neurofisiologia

o que faz o cérebro?– › o cérebro não “executa(roda!) programas”;– › o cérebro controla o comportamento visando garantir a

sobrevivência.

funcionalidade do cérebro:– › adaptabilidade por intermédio de aprendizado– › comportamento sensível ao contexto– › tolerância a erro– › capacidade de operar com conhecimento parcial– › grande capacidade de memória– › capacidade de processamento em tempo real

Page 6: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio biológico -Elemento Básico

corpo celular ou soma

axônio

árvore dentrital

fluxo da informação

Corpo celular: 5 a 50 m Axônio: 1 m a até 1m

árvore dendrital

Page 7: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio biológico no cérebro humano

➢ O cérebro humano possui em torno de 1011 neurônios, ou 100 Giga-neurônios (100.000.000.000)*

➢ Cada neurônio pode apresentar até 104 conexões com outros neurônios, ou 10 Kilo-conexões (10.000)

➢ Estima-se que o cérebro pode possuir, portanto, um máximo de 1015 conexões, cada uma podendo armazenar informação, e todas operando em paralelo, totalizando 1 Peta-conexões (1.000.000.000.000.000)

➢ Uma estimativa mais “realista” indica “apenas” , ou “só” 1014 conexões, ou 100 Tera-conexões (100.000.000.000.000)

* O cérebro humano médio (masculino, 50 anos) possui em torno de 86 bilhões de neurônios (Suzana Herculano-Louzel, 2009). Desse número, ~69 bilhões estão situados no cerebelo e ~16 bilhões no córtex cerebral.

Page 8: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio biológico – Sinapses

Sinapse: ligação entre um axônio de um neurônio, e um dentrito de um outro neurônio posterior. Podem ser excitatórias ou inibitórias, dependendo dos neurotransmissores liberados (+ de 100 tipos)

dendrito

Page 9: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio biológico – O Potencial de Ação

O potencial de ação representado pelo potencial de membrana no axônio de um neurônio. Tn é a duração do impulso nervoso, Ta é o período de refração absoluta e Tr o período de refração relativa.

Page 10: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio biológico-Integração dos Impulsos

● Representação da integração espacial/temporal dos estímulos

Page 11: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio artificial

x1

x2

xn

w1

w2

wn

+y

.

.

.

vetor de entrada

peso daconexão

somador função de ativação saída

Page 12: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

O neurônio artificial

➢ Função de ativação

Page 13: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

(c) função tangente hiperbólica (d) ReLU (Rectifier Linear Unit) e Softplus

Page 14: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Características

➢ operação distribuída

➢ tolerância a ausência ou falsidade de informações

➢ habilidade de “aprender e generalizar”

Page 15: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Aplicações

➢Resolução de problemas difíceis de se modelar matematicamente

➢reconhecimento de caracteres escritos

➢reconhecimento de fala

➢recuperação de imagens a partir de fragmentos

➢controle de robôs

Page 16: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Aplicações

A

Rede Neural Artificial

Page 17: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Histórico das Redes Neurais Artificiais

Fatos históricos marcantes:– › MCCULLOCH & PITTS (1943)– › WIENER (1948): Cibernética– › HEBB(1949): The Organization of Behavior– › ROSENBLATT(1958) - Perceptron– › MINSKY & PAPERT (1969)– › HOPFIELD (1982)– › RUMELHART & MCCLELLAND (1986)– › EDELMAN (1988): neurodarwinismo– › MINSKY (1988): sociedade da mente

Page 18: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➢ 1943 - McCulloch e Pitts

entrada exitatória

entradainibitória

axônio (saída)

Page 19: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➢ Neurônio de McCulloch e Pitts● implementava funções E e Ou ● discriminador linear

(0,1)

(0,0)(1,0)

(1,1)

x1

x2

"E"

(0,1)

(0,0)(1,0)

(1,1)

x1

x2

"Ou"

y = x1 * x2 y = x1 V x2

Page 20: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➔ Wiener (em 1948) publica seu livro “Cybernetics”, apresentando as bases para o controle, comunicação e tratamento de sinais.

➔ Hebb (em 1949) publica seu livro “The Organization of Behavior”, onde é proposta pela primeira vez uma regra de aprendizado sináptico

Page 21: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➔ Minsky, em 1954, Tese de Doutorado em Redes Neurais

➔ Taylor, em 1956, propôs a ideia de memória associativa

➔ von Neumann, 1958, The Computer and the Brain, póstumo

Page 22: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

1958 - Rosenblatt Perceptrons - rede de múltiplos neurônios do

tipo discriminadores lineares

x1

x2

xn

w1

w2

wn

+y

.

.

.

vetor de entrada

peso daconexão

somador função de ativação saída

Page 23: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➔ Widrow e Hoff (1960) – Algoritmo Least Mean-Square, modelo ADALINE (posteriormente MADALINE – Multi ADALINE : Primeira rede em camadas treinável)

➔ Nilsson, em 1965, Learning Machines, explicando o processo de aprendizado de hiperplanos separadores

➔ Minsky e Papert, em 1969, publicaram Perceptrons, onde demonstravam matematicamente a impossibilidade de redes monocamada de aprenderem padrões não linearmente-separáveis (XOR = Balde de água fria na pesquisa em RN)

Page 24: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

➔Década de 70: perdida..... devido aos seguintes motivos:➢ o livro e Minsky e Papert desestimulou os

pesquisadores ( e principalmente os financiadores) a desenvolver as redes neurais;

➢ Dificuldade de implementar os modelos nos computadores da época (baixo poder de processamento).

Page 25: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

Década de 80: Ressurgimento!● Grossberg, em 1980, estabeleceu um novo princípio de

auto-organização(ART-Adaptive Ressonance Theory)● Hopfield, em 1982, usou uma técnica de função de

energia para explicar o aprendizado de uma rede recorrente

● Kohonen, em 1982, apresenta seus mapa auto-organizáveis

● Barto, Sutton e Anderson, em 1983, aprendizado por reforço.

Page 26: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução● Mas foram Rumelhart, Hinton e Williams, em 1986, que

realmente re-acenderam o interesse da comunidade acadêmica mundial nas redes neurais, com seus livros “Parallel Distributed Processing”, vols 1 e 2. Eles apresentaram uma maneira algorítmica de resolver o problema do treinamento do Perceptron de Múltiplas Camadas (Multi-Layer Perceptron-MLP), utilizando o algoritmo de retropropagação de erro (backpropagation).

● Posteriormente foi descoberto que a formulação matemática original foi desenvolvida por Werbos, em sua tese de doutoramento de Harward em 1974.

Page 27: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

● EDELMAN, em 1988, baseado em seus estudos de neurofisiologia e evolução, propôs uma nova teoria, revolucionária, o neurodarwinismo: o cérebro é composto de inúmeras redes neurais, denominados grupos neurais, e estes grupos se conectam entre si, formando “sociedades”, que possuem a capacidade de aprender a reagir de acordo com o ambiente onde o ser se encontra

● MINSKY, também em 1988, publica seu livro ”Sociedade da Mente”, propondo uma visão de alto nível da mente, com a mesma ideia base.

Page 28: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Evolução

Década de 90:● Apresentou um desenvolvimento acelerado da

teoria e das aplicações de redes neurais em ambiente acadêmico;

● Início da aplicação destas teorias à problemas do mundo real

● Século 21: O século do cérebro????

Page 29: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

.

.

.

.

.

.

.

.

.

camada deentrada

camada desaída

camadas ocultas

K= 0 K = 1 K = 2 K = 3

Redes neurais multicamadas

Page 30: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Modos de Operação

➢Aprendizagem●A rede aprende através dos vetores de entrada e

saída

➢Produção●A rede trabalha, retornando um vetor de saída

dada uma entrada

Page 31: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Modos de Treinamento

➔Objetivos do treinamento➢Auto associação

●vetores de entrada●dada a entrada similar, a rede reconstitui o vetor original

➢Hetero-associação●pares de vetores de entrada e saída●dado um vetor, a rede reconstitui o par

➢Detecção de regularidade●agrupa os vetores de treinamento em grupos, segundo

sua semelhança

Page 32: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Classificação

➢ Quanto a topologia

● Redes Neurais Recorrentes

● Redes Neurais Não Recorrentes (Feed Forward)

➢ Quanto ao tipo de treinamento

● Treinamento Supervisionado

● Treinamento Não Supervisionado

Page 33: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Classificação

➢ Redes Neurais Recorrentes ● Os neurônios são realimentados (a saída do ciclo atual é

reaplicada no ciclo seguinte como sendo a nova entrada)

Nn

.

.

.

N1

N2

.

.

.

yn

y2

y3

x1

x2

xn

Page 34: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Classificação

➢ Redes Neurais Não Recorrentes (Feed Forward)● as conexões sempre partem da camada de entrada em

direção a camada de saída

N3

N1

N2

x1

x2

y

Page 35: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Classificação

➔ Treinamento Supervisionado➢ dada a entrada, a rede é treinada para produzir a

saída correta yd = f(x)

➢ pares de treinamento● apresenta um vetor de entrada x● a rede retorna um vetor de saída y● compara y com yd - calcula o erro

● atualiza os pesos das conexões até que o erro esteja dentro do limite pré-estabecido

Page 36: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Classificação

➢ Treinamento Não Supervisionado● não ensina à rede como produzir a saída correta

● a rede descobre padrões, regularidades, correlações ou categorias nos dados de entrada

● retorna o código da classe de padrões

Page 37: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

➢ Treinamento supervisionado - Backpropagation

X1 X2 Y1 Y2

0.1 0.7 0.2 1.0

+X1

X2

Y1

Y2

b b

Wij b X1 X2

N1 -0,1 0,2 0,2

N2 0,3 -0,1 0,3

N3 0,1 0,1 0,9

Wi,j b N1 N2 N3

N4 0,2 0,1 -0,1 -0,1

N5 -0,1 0,5 0,2 1,1

ƒ

ƒ

ƒ

ƒ

Page 38: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

u1,j = b + (x1 * Wx1) + (x2 * Wx2)

u11 = -0,1 + (0,1 * 0,2) + (0,7 * 0,2) = 0,06 v1 = tgh 0,06 = 0,06

u12 = 0,3 + (0,1 * -0,1) + (0,7 * 0,3) = 0,5 v2 = tgh 0,5 = 0,46

u13 = 0,1 + (0,1 * 0,1) + (0,7 * 0,9) = 0,74 v3 = tgh 0,74 = 0,63

u2,j = b + (v1 * Wn1) + (v2 * Wn2) + ( v3 * Wn3)

u2,1 = 0,2 + (0,06 * 0,1) + (0,46 * -0,1) + (0,63 * -0,1) = 0,097

v4 = 0,097 (ativação linear)

u2,2 = -0,1 + (0,06 * 0,5) + (0,46 * 0,2) + (0,63 * 1,1) = 0,715

v5 = tgh 0,715 = 0,614

y’1 = v4 = 0,097

y’2 = v5 = 0,614

Page 39: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

➢ Erros produzidose1 = 0,2 - 0,097 = 0,103

e2 = 1 - 0,614 = 0,386

➢ derivadasv = u = 1

v = tgh u = 1 - u^2N1 1 - (0,06)^2 = 1

N2 1 - (0,46)^2 = 0,79

N3 1 - (0,63)^2 = 0,6

N4 1

N5 1 - (0,61)^2 = 0,63

Page 40: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

➢ Cálculo do erro de retropropagação d4= (0,103 * 1) = 0,103

d5= (0,386 * 0,63) = 0,24

d1= [(0,103 * 0,1 ) + (0,24 * 0,5)] * 1 = 0,13

d2= [(0,103 * -0,1 ) + (0,24 * 0,2)] * 0,79 = 0,03

d3= [(0,103 * -0,1 ) + (0,24 * 1,1)] * 0,6 = 0,152

➢ Cálculo dos novos pesos das conexões dos neurôniosWij = -2**wj*di

● - coeficiente de aprendizagem (0,05 <= <= 0,1)● wj - valor original da saída do neurônio j

● di - erro de retropropagação

Page 41: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

➢ Novos pesos Wij

W41= -2 * 0,05 * 0,06 * 0,103 = - 0,00061 W42= -2 * 0,05 * 0,46 * 0,103 = - 0,00473 W43= -2 * 0,05 * 0,63 * 0,103 = - 0,06489 W51= -2 * 0,05 * 0,06 * 0,24 = -0,00144 W52= -2 * 0,05 * 0,46 * 0,24 = - 0,01104 W53= -2 * 0,05 * 0,63 * 0,24 = -0,01512 W11= -2 * 0,05 * 0,1 * 0,13 = - 0,0013W12= -2 * 0,05 * 0,7 * 0,13 = -0,0091W21= -2 * 0,05 * 0,1 * 0,03 = -0,0003W22= -2 * 0,05 * 0,7 * 0,03 = -0,0021W31= -2 * 0,05 * 0,1 * 0,152 = -0,0015W32= -2 * 0,05 * 0,7 * 0,152 = -0,01064

Page 42: Redes Neurais Artificiais - dainf.ct.utfpr.edu.brandre/lib/exe/fetch.php?... · O neurônio biológico no cérebro humano O cérebro humano possui em torno de 1011 neurônios, ou

Exemplo

➢ Substitui-se os pesos W dos neurônios e repete-se o ciclo até o que o erro gerado na saída esteja abaixo de um valor pré-estabelecido