Sie sind auf Seite 1von 56

PROF.

MSC ROBERTA ANDRADE

Aula 03 AI
Inteligncia Artificial

Prof. Msc Roberta Andrade


raafupe@gmail.com
1

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

ndice

Abordagem Clssica

Abordagem Conexionista
Redes

Neurais

Perceptron

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Abordagem

Representao de conhecimentos uma


espcie de divisor, que ir separar de um
lado os mtodos simblicos e de outro os
mtodos conexionistas (redes neurais).

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Abordagem

IA Simblica ou Clssica:
tenta

simular o comportamento inteligente


humano desconsiderando os mecanismos
responsveis por tal.

IA Conexionista:
acredita

na construo de um sistema que


simule a estrutura do crebro, este sistema
apresentar inteligncia, ou seja, ser capaz de
aprender, assimilar, errar e aprender com seus
erros.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

IA Simblica

As ferramentas de I.A. simblica, em sua evoluo,


tambm foram dotadas de mecanismos de aquisio
automtica de conhecimentos;
linguagem Prolog e sistemas especialistas
Mtodos de aprendizado Simblico:
Aprendizado por analogia/por instncias. Exemplo:
Sistemas baseados em casos - CBR (Case Based
Reasoning) [Mitchell 97, Kolodner 93];

Aprendizado por Induo. Exemplos: rvores de


Deciso - ID3, C4.5, CN2 (IDT Induction of Decision
Trees) [Quinlan 92], e ILP - Inductive Logic
Programming (Prolog) [Nilsson 98].
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

IA Simblica

Mtodos de Aprendizado Simblico:


Aprendizado

por evoluo/seleo. Exemplo:


Algoritmos Genticos - GA e GP (Genetic
Algorithms / Genetic Programming) [Goldberg 89,
Mitchell 97];

Outros

tipos de aprendizado: por reforo


(reinforcement learning), no supervisionado,
Bayesianno e por explicaes (explanation based)
[Mitchell 97, Nilsson 98].

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

IA Simblica

Ferramentas de aprendizado possuem fortes


limitaes:
usualmente assumem que os conhecimentos a
serem adquiridos/manipulados e as informaes
disponveis so corretos e devem estar completos
em relao ao problema (o que dificilmente ocorre);
so
orientadas para manipular informaes
simblicas (informaes qualitativas), onde os
valores numricos e contnuos (informaes
quantitativas) representam um problema difcil de
ser tratado;

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

IA Simblica

Assim, as ferramentas computacionais de I.A.


devem portanto ser bastante robustas para
poderem trabalhar neste ambiente de informaes
imprecisas (informaes incorretas) e cheio de
problemas
imprevisveis
(informaes
incompletas);
Muitos pesquisadores na sua busca da
implementao de ferramentas e sistemas
inteligentes, se orientaram para os sistemas
baseados realmente no funcionamento do
crebro humano; (Abordagem conexionista)
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

IA Conexionista

Historicamente, a IA clssica, seguiu o paradigma


da computao simblica.
A manipulao de smbolos muito eficiente,
permitindo uma interao fcil com o usurio.
Porm
este
paradigma
enfrenta
grande
dificuldade para lidar com problemas reais,
contnuos e desconhecidos.
Abordagens alternativas como as redes neurais
originaram a IA conexionista.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Redes Neurais Artificiais (RNAs)

A semntica do domnio no precisa ser


introduzida explicitamente no sistema.

O sistema pode induzir este conhecimento,


atravs de um processo de aprendizagem.

Porm o conhecimento aprendido no


facilmente interpretvel pelo usurio.

10

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

O que so Redes Neurais Artificiais

Redes Neurais Artificiais (RNA) so


modelos de computao com propriedades
particulares
Capacidade

de se adaptar ou aprender

Generalizar
Agrupar

11

ou organizar dados

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

O que so Redes Neurais Artificiais

RNA: estruturas distribudas formadas por


grande
nmero
de
unidades
de
processamento conectadas entre si;

Multi-disciplinaridade
:
Cincia
da
Computao,
Matemtica,
Fsica,
Engenharias,
Psicologia,
Biologia,
Lingstica, Filosofia, etc

12

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

O que so Redes Neurais Artificiais

Modelos inspirados no crebro humano


Compostas

por vrias unidades de


processamento (neurnios)
Interligadas por um grande nmero de
conexes (sinapses)

13

Eficientes onde mtodos tradicionais tm se


mostrado inadequados

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Caractersticas das RNAs

Aprendem atravs de exemplos


Inferncia

14

estatstica no paramtrica

Adaptabilidade
Capacidade de generalizao
Tolerncia a falhas
Implementao rpida

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Caractersticas RNAs

Inter-relao entre
Investigao

do comportamento e estrutura do
sistema nervoso atravs de experimentao e
modelagem biolgica
Desenvolvimento de modelos matemticos e
suas aplicaes para a soluo de vrios
problemas prticos

15

Simulao e implementao destes modelos

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Potenciais reas de aplicao das RNAs

16

Classificao de padres
Clustering/categorizao
Aproximao de funes
Previso
Otimizao
Memria enderevel pelo contedo
Controle
etc...
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Neurnio Biolgico

17

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Neurnio Bilgico

18

O neurnio composto por um corpo celular (soma),


ramificaes que recebem as entradas (dendritos) e
por um prolongamento (axnio) que transmite os
sinais do corpo celular.
As extremidades do axnio so conectadas com
dendritos de outros neurnios pelas sinapses,
formando grandes redes.
Sinapses so as regies de comunicao entre os
neurnios, onde as extremidades (prximas) de
neurnios vizinhos se encontram e o estmulo passa
de um neurnio para o seguinte por meio de
mediadores fsico-qumicos (neurotransmissores).
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Neurnio Biolgico

19

Dos
axnios
so
libertadas
substncias
(neurotransmissores), que atravessam a fenda e
estimulam receptores nos dendritos, transmitindo o
impulso nervoso de um neurnio para o outro.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Morfologia das RNAs

20

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Morfologia RNAs

21

Redes Neurais Artificiais (RNAs) so sistemas fsicos


celulares que podem adquirir, armazenar e utilizar
conhecimento extrado da experincia, por meio de
algoritmos de aprendizagem. [Engel]
O elemento processador bsico da rede (clula) o
neurnio artificial.
A computao por rede neural realizada por uma
malha de ns processadores (neurnios) conectados.
O conhecimento em uma rede neural codificado
atravs dos pesos sinpticos das conexes entre estes
neurnios.
Algoritmos de aprendizagem em RNAs ajustam os valores
dos pesos sinpticos um determinado problema
especfico.
AULA 01 Introduo
8/26/16

PROF. MSC ROBERTA ANDRADE

RNAs

22

Neurnio (n): funo elementar. Calcula um valor de


sada, funo dos valores de entrada do n e dos
pesos sinpticos correspondentes.
Conexo: ligao entre dois ns. Determina o
caminho para o fluxo de informao.
Pesos sinpticos: determinam a fora de conexo
entre dois ns.
Topologia da rede: grafo direcionado rotulado,
determina a conectividade da rede.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Dcada de 40 : O comeo

(1943) McCulloch & Pitts


Provam,

teoricamente, que qualquer funo


lgica pode ser implementada utilizando unidades
de soma ponderada e threshold

(1959) Rosenblatt implementa primeira RNA,


a rede Perceptron
Ajuste

iterativo de pesos
Prova teorema da convergncia

23

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron

24

o tipo mais bsico de rede neural.O primeiro


modelo de uma rede neural artificial demonstrou
matematicamente a possibilidade de simulao do
aprendizado cerebral.
Este modelo simulava um neurnio com entradas
e pesos que, ajustados teriam o "poder" de
aprender a se comportar de determinada forma.
Entretanto, este modelo ainda era muito fraco e
era preciso que se conhecessem os pesos para
se encontrar determinada sada, era preciso criar
uma forma de gerar os pesos algoritmicamente.
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron
Basicamente o perceptron consiste de uma nica camada de neurnios com
com pesos sinpticos e bias ajustveis.
Se os padres de entrada forem linearmente separveis, o algoritmo de treinamento
possui convergncia garantida, i., tem capacidade para encontrar um conjunto de
pesos que classifica corretamente os dados.
Os neurnios do perceptron so similares ao de McCulloch-Pitts, por terem a funo
de ativao do tipo degrau, mas possuem pesos associados e bias.
wk0=bk (bias)

entrada fixa
x0=+1

wk0

x1

wk1

x2

wk2

sinais
de
entrada

funo
de ativao
uk

f(uk)

yk
sada

juno
aditiva
xm

25

wkm

AULA 01 Introduopesos

sinpticos

Funo
degrau

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron

26

Primeiro modelo de neurnio artificial, proposto


por Rosenblatt (1958), para aprendizagem
supervisionada.
a forma mais simples de uma rede neural
usada para classificao de padres ditos
linearmente separveis. [Haykin]
Consiste, na forma bsica, de apenas um n que
modela um neurnio biolgico.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron (1959)

27

O perceptron realiza a soma ponderada de


suas entradas, produzindo a sada 1 se a
soma for maior que um valor inicial
ajustvel; caso contrrio sua sada zero.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Conceitos bsicos

Estrutura geral das RNA


Unidades

Estado de ativao ai

Funo de ativao Fi

Funo de sada i

Conexes

28

de processamento ni (ns)

wij

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Unidades de processamento

Funo: receber entradas de conjunto de


unidades A, computar funo sobre
entradas e enviar resultado para conjunto
de unidades B
Entrada total
w
x
N
1
f f(x
w)
w
(xw)
u x jwj
y
x
1

j 1

wN

xN
29

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Unidades de processamento

Estado de ativao

Representa o estado dos neurnios da rede


Pode assumir valores
Binrios (0 e 1)
Bipolares (-1 e +1)
Reais

Definido

30

atravs de funes de ativao

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Funes de ativao

Processa conjunto de entradas recebidas e


o transforma em estado de ativao
Funes de ativao tpicas envolvem:
Adies
Comparaes
Transformaes

31

matemticas

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Funes de ativao

32

Funes de ativao mais comuns

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Funes de sada

Funo de sada
Transforma

estado de ativao de uma unidade


em seu sinal de sada
yi (t) = i (ai (t))

Geralmente

33

uma funo identidade

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Valores de entrada e sada

Sinais de entrada e sada de uma RNA


geralmente so nmeros reais
Nmeros

devem estar dentro de um intervalo

Tipicamente entre -1 e +1 ou 0 e 1
Codificao realizada pelo projetista da rede

Tcnica de codificao mais simples a


binria
Nmero

34

restrito de aplicaes

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptrons (I)
Modela um neurnio pegando a soma
ponderada de suas entradas, e
comparando contra um valor (exemplo,
valor = 0).
Se soma > 0, resulta 1;
Se soma <= 0, resulta 0;
Consegue aprender qualquer problema de
classificao de dados linearmente
separveis
35

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptrons (II)

X2

36

AULA 01 Introduo

8/26/16

X1

PROF. MSC ROBERTA ANDRADE

Perceptron - Conhecimento
O conhecimento do Perceptron, assim como
o de qualquer RNA, est nos pesos das
suas ligaes:
BIA
S

N1

Wb= 3
W1= -2

N2

37

AULA 01 Introduo

W2=0

8/26/16

PROF. MSC ROBERTA ANDRADE

Por que Bias ?

38

Uma polarizao ou Bias de entrada com


objetivo de aumentar a capacidade de
aproximao da rede;
O valor do peso do Bias justado da
mesmo forma dos pesos das entradas;
Bias permite que um neurnio apresente
sada no nula ainda que todas as entradas
sejam nulas.

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron - Treinamento
Se o perceptron dispara quando no deve
disparar, diminua de cada peso (Wi) um
nmero proporcional ao sinal de entrada;
Se o perceptron deixa de disparar quando
deveria, aumente um nmero semelhante
em cada Wi.

39

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Imaginemos um problema de classificao:
COMPOSITOR
BACH
X
BEETHOVEN
X
EINSTEIN
KEPLER

40

AULA 01 Introduo

CIENTISTA

8/26/16

X
X

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Primeiro, codificamos as informaes em base
binria:
N1= obsesso pelo desafio
COMPOSITOR
0
N2 = gostamos de ler
CIENTISTA

41

N1

N2

SADA

BACH
BEETHOVE
N

0
0

0
1

0
0

EINSTEIN
KEPLER

1
1

0
1

1
1

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron - Exemplo

42

Entradas e Bias = limiar


Valor do Erro = S. Esperado S. Gerado
Assim, a Taxa de Aprendizado auxiliar ao
calculo dos novos pesos.
Se o erro positivo , ento a sada da rede
pequena demais. Portanto os pesos so
aumentados para as sadas positivas e
diminudos para as entradas negativas;
Acontece o oposto quando o erro
negativo;
AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Os pesos comeam todos com zero (Wb, W1, W2 = 0).
O sinal do bias ser sempre positivo (1).
N1

N2 SADA

BACH

BEETHOVE
N

EINSTEIN

KEPLER

43

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 0

W2=0

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Escolhemos um valor para testar a rede.
A somatria (ser: (Bias*Wb)+(N1*W1)+(N2*W2)

N1

N2 SADA

BACH

BEETHOVEN

EINSTEIN

KEPLER

44

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 0

W2=0

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Para Kepler, teremos: (1 * 0) + (1 * 0) + (1 * 0) = 0.
Ou seja, a sada foi 0, e a sada esperada era 1...
errou
N1

N2 SADA

BACH

BEETHOVE
N

EINSTEIN

KEPLER

45

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 0

W2=0

8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Temos que ajustar os pesos (W), usando a frmula:
Wnovo = Wanterior +
(ValorErro * SinalEntrada* TaxaAprendizagem)

N1 N2 SAD
A
BACH

BEETHOVEN

EINSTEIN

KEPLER

46

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 0

W2=0
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
ValorErrro = SinalEsperado SinalGerado

Para Wb: Wb novo = 0 + (1 * 1 * 1) = 1


Para W1: W1 novo = 0 + (1* 1 * 1) = 1
Para W2: W2 novo = 0 + (1* 1 * 1) = 1
N1 N2 SAD
A

47

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 01
W1=01

W2=01
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Ento, escolhemos outro valor e repetimos o
processo:
(Bias*Wb)+(N1*W1)+(N2*W2) =>
(1*1) + (0*1) + (1*1) = 2 (se > 0, sinal sada = 1)
Errou novamente
N1 N2 SAD
A

48

BACH

BEETHOVEN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 1
W1= 1

W2=1
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Novamente o sinal de sada esperado (0) no foi
alcanado. Ou seja, preciso corrigir os pesos.
ValorErrro = SinalEsperado SinalGerado (0 -1 = -1)

N1 N2 SAD
A

49

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 1
W1= 1

W2=1
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Para Wb: Wb novo = 1 + (-1 * 1 * 1) = 0
Para W1: W1 novo = 1 + (-1* 0 * 1) = 1
Para W2: W2 novo = 1 + (-1* 1 * 1) = 0
N1 N2 SAD
A

50

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 10
W1= 1

W2= 10
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Seguimos com novo valor:
(Bias*Wb)+(N1*W1)+(N2*W2) =>
(1*0) + (1*1) + (0*0) = 1 (se > 0, sinal sada = 1)

N1 N2 SAD
A

51

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 1

W2= 0
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Desta vez o sinal gerado (1) era o sinal esperado.
Neste caso, no precisamos ajustar os pesos.
Rede acertou

N1 N2 SAD
A

52

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 1

W2= 0
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Testando para Bach, o sinal gerado tambm
correto:
(Bias*Wb)+(N1*W1)+(N2*W2) =>
(1*0) + (0*1) + (0*0) = 0
N1 N2 SAD
A

53

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 1

W2= 0
8/26/16

PROF. MSC ROBERTA ANDRADE

Perceptron Exemplo
Os pesos j funcionaram para 3 entradas, testando
Kepler novamente:
(1*0) + (1*1) + (1*0) = 1 Funciona! A rede
aprendeu!
N1 N2 SAD
A

54

BACH

BEETHOV
EN

EINSTEIN

KEPLER

AULA 01 Introduo

BIA
S

N1

N2

Wb= 0
W1= 1

W2= 0
8/26/16

PROF. MSC ROBERTA ANDRADE

Exerccio Classe

55

AULA 01 Introduo

8/26/16

PROF. MSC ROBERTA ANDRADE

Referncias
RUSSELL;

S.; NORVIG, P. Inteligncia artificial:


uma abordagem moderna. 2a edio. So
Paulo: Campus, 2004.

56

AULA 01 Introduo

8/26/16

Das könnte Ihnen auch gefallen