31
Aprendizado de Máquina Introdução às Redes Neurais Artificiais Marcos Oliveira Prates (Agradecimento Marcelo Azevedo Costa) Departamento de Estatística Universidade Federal de Minas Gerais

Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

  • Upload
    vothuan

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Aprendizado de Máquina

Introdução às Redes Neurais

Artificiais

Marcos Oliveira Prates (Agradecimento Marcelo Azevedo Costa)

Departamento de Estatística

Universidade Federal de Minas Gerais

Page 2: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

O objetivo da inteligência artificial é o desenvolvimento de paradigmas

ou algoritmos que requeiram máquinas para realizar tarefas cognitivas,

para as quais os humanos são atualmente melhores. (Sage, 1990)

Um sistema de IA deve ser capaz de fazer três coisas:

1. Armazenar conhecimento

2. Aplicar o conhecimento armazenado para resolver problemas

3. Adquirir novo conhecimento através da experiência

Inteligência Artificial (IA)

Page 3: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Motivação para as RNAs

O cérebro contém 1011 neurônios interconectados e

operando em paralelo.

O cérebro é responsável pela emoção,

pensamento, percepção, cognição, execução de

funções sensoriomotorase autômatas.

O funcionamento das redes biológicas não é

amplamente conhecida.

Tem-se modelos simplificados de estruturas

fisiológicas básicas.

Page 4: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Histórico das Redes Neurais Artificiais

A primeira Rede Neural foi apresentada por

Alexander Bain em 1873 no livro intitulado “Mind

and Body. The Theories of Their Relation”

O trabalho consistia em pesquisa na área de neuro-

anatomia

Warren McCulloch (psiquiatra e neuroanatomista) e

Walter Pitts (matemático) em 1943 apresentaram o

primeiro modelo artificial de um neurônio biológico

(nodos MCP): “A Logical Calculus of the Ideas

Immament in Nervous Activity”

Page 5: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Estímulo

Receptores Rede

Neural Atuadores

Resposta

Por que é interessante propor um modelo para

o comportamento humano?

Representação em Diagrama de

Blocos do Sistema Nervoso

Page 6: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Tarefa: Aprender a andar

Robô Ser Humano

Inteligência Artificial

?

Aprendizado

Page 7: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

• Visão geral (Redes Biológicas)

• O Neurônio biológico

• O Modelo Matemático

• Redes Multi-Camadas

• Redes Auto-Organizativas

• Aplicações

Sumário

Page 8: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

• Redes Neurais Artificiais (RNAs) são tentativas de

produzir sistemas de aprendizado biologicamente

realísticos

• São baseados em modelos abstratos de como pensamos que

o cérebro (e os neurônios) funcionam

• Compostas por várias unidades de processamento (neurônios)

• Interligadas por um grande número de conexões

O que são Redes Neurais Artificiais

Page 9: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

• Redes Neurais Artificiais (RNAs) são modelos de

computação com propriedades particulares:

• Capacidade de se adaptar ou aprender através de exemplos

• Capacidade de generalizar

• Agrupar ou organizar dados

• Tolerância a falhas

• Implementação rápida

Multi-disciplinaridade: Ciência da Computação,

Matemática, Física, Engenharias, Psicologia, Biologia,

Linguística, Filosofia, etc.

O que são Redes Neurais Artificiais

Page 10: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

O Neurônio Biológico

Page 11: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

O Neurônio Biológico

Page 12: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

x1

x2

x3

y

y = f(x1,x2,x3)

(x1,x2,x3,y)

O Neurônio Biológico

Page 13: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

f

X1

X2

Xk

w1

w2

wk

Y

k

i

ii wxfY1

+1

-1

k

i

ii wxY1

.sgnˆ

+1

-1

k

i

ii wxY1

.tanhˆ

k

i

ii wxY1

^

O Nodo Perceptron

Page 14: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

k

i

ii wxY1

k

i

ii .xy1

β̂ˆ Modelo de regressão linear

2211 .ˆ.ˆˆ ttt yyy Modelo Auto Regressivo de ordem 2

0ββ T

0 xx Hiperplano de separação entre duas classes

Modelos Estatísticos Lineares

Page 15: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Rede Multi-Layer Perceptron (MLP )

Page 16: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

-1.0000 -1.0000

-0.5000 0.5000

0 2.0000

0.5000 3.5000

1.0000 5.0000

1.5000 6.5000

2.0000 8.0000

2.5000 9.5000

3.0000 11.0000

xj yj 21ˆ.ˆ jj xy

2.3 jj xy

Modelo de Regressão Linear

Modelo Neural

21. jj xy

Xj

+1

w1

w2 Yj

j

1

2

3

4

5

6

7

8

Exemplo de Regressão Linear

Page 17: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

xj yj

-1.0000 2.0000

-0.5000 0.7500

0 1.0000

0.5000 2.7500

1.0000 6.0000

1.5000 10.7500

2.0000 17.0000

2.5000 24.7500

3.0000 34.0000

1.2.3 2 jjj xxy

32

2

1ˆ.ˆ.ˆ jj xxy

j

Modelo Polinômial

4336225114 .tanh..tanh..tanh. bbxbxbxy jjjj

Modelo Neural

xj yj

tanh

tanh

tanh

w1

w2

w3

w4

w5

w6

+1

b1 b2

b3 b4

+1

j

1

2

3

4

5

6

7

8

Exemplo de Regressão não - Linear

Page 18: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

xj yj

-1.0000 -0.6031

-0.5000 -0.6915

0 0

0.5000 1.1915

1.0000 2.6031

1.5000 4.1526

2.0000 5.8733

2.5000 7.8351

3.0000 10.1362

?

Modelo Polinômial

0

1

1ˆ.ˆ.ˆ

n

jn

n

jnj xxyj

1

2

3

4

5

6

7

8

9

Modelo Neural

xj yj

+1

+1

É um modelo flexível !!!

Exemplo de Regressão

Page 19: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Exemplo de aproximação de função utilizando uma rede MLP com 20 nodos

na camada escondida - O equilíbrio entre o erro e a norma garante modelos

com alta capacidade de generalização independente do número de parâmetros

(variáveis de ajuste) do modelo.

Page 20: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

xj yj

x1

x2

x3

xn

y1

y2

y3

yn

Xj=[x1j ,x

2j , x

3j , ... , x

qj]

T yj=[y1j , y

2j , y

3j , ... , y

pj]

T

X1j

X2j

Xqj

y1j

y2j

ypj

+1 +1

Exemplo de Regressão Multivariada

Page 21: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Exemplo da Flexibilidade de uma RNA (MLP)

Page 22: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

O Modelo Geral de Aprendizagem Supervisionada

Gerador de

amostras

Máquina de

Aprendizado

Sistema X Y

Y

xgy wxfy ,ˆ Nw

Conjunto de observações: D = {(x1,y1), (x2,y2), ... , (xn,yn) }

Objetivo: (Generalização) )(),( xgwxf

• A máquina de aprendizado deve ser capaz de predizer respostas

coerentes em relação à realizações futuras de x.

• A partir da máquina de aprendizado, deve ser possível extrair

informações sobre a natureza das relações entre as variáveis de entrada

e saída.

Page 23: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Função de Custo

n

j

jj wxfywJ1

2,

2

1 Objetivo: Minimizar a função de custo

em relação a um conjunto de observações

Treinamento Supervisionado de uma Rede Neural Artificial

Seja agora, um vetor de parâmetros:

tr bbbwwww ,,,,,,,, 21321 w

• É um método iterativo

Algoritmo BackPropagation - Gradiente descendente

• Os pesos são inicializados

• O ajuste é realizado segundo a direção do gradiente descendente

da função de custo em relação ao vetor de pesos da rede

Page 24: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Overfitting

Variância Underfitting

Vício

O Treinamento Supervisionado de RNAs

A Questão do Vício e da Variância

Page 25: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

• Algoritmos de Validação [Amari et. al, 1996]

• Cross-Validation [Stone, 1974]

• Algoritmos de Pruning [Reed, 1993]

• Regularização Bayesiana [Mackay, 1992]

• Penalização (weight-decay [Hinton, 1989])

• Multi-Objetivo [Teixeira, 2000, Costa 2002]

• etc. ...

O Controle da Generalização

Page 26: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Conjunto de amostras

(observações)

Conjunto de

Verificação

Conjunto de

Treinamento Algoritmo

Backpropagation

Jv

iterações

Jv JT

w*

O Controle da Generalização

Early Stopping

Page 27: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Exemplo de aproximação de função utilizando duas redes MLP com 12 nodos

e 25 nodos na camada escondida, respectivamente.

O equilíbrio entre o erro e a norma garante modelos com alta capacidade de

generalização independente do número de parâmetros (variáveis de ajuste)

do modelo.

Rede MLP com 12 nodos na camada

escondida Rede MLP com 25 nodos na camada

escondida

Page 28: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Validação Cruzada (Cross-Validation)

Conjunto

de Dados

Treinamento

Validação

j

iji yy ˆ4

Page 29: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

validation

Multi-Layer Perceptron with 10-fold Cross-Validation

training training training training

training training training training training

Data Replicates

j

iji yy ˆ10

The data is replicates 10 times,

each replicate has a different

validation subset. One MLP is

trained for each partition using

MOBJ-LASSO cross-validation

Page 30: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Aplicação das Redes Neurais

Artificiais

• Aproximação de funções

• Classificação de Padrões

• Extração de conhecimento (data mining)

• Previsão de Séries Temporais

• Clustering

Page 31: Aprendizado de Máquina Introdução às Redes Neurais Artificiaismarcosop/est171-ML/slides/RNA_MLP.pdf · Blocos do Sistema Nervoso . Tarefa: Aprender a andar Robô Ser Humano Inteligência

Topologia da RNA

1

2

3

k

+1

-1

+1

0