Você está na página 1de 47

Sistemas de Informao Inteligentes

joaogabrielm@gmail.com

Redes Neurais Artificiais


!
!

Pertencem
Seu

ao paradigma conexionista

modelo inspirado no crebro humano:

Possuem

vrias unidades de processamento,


chamadas de neurnios

diversas conexes entre os neurnios,


chamadas de sinapses

Redes Neurais Artificiais


!
!

Neurnios ligam e desligam em alguns

milissegundos, enquanto o hardware atual faz


essa mesma operao em nanossegundos

Entretanto, os sistemas neurais biolgicos


realizam tarefas cognitivas complexas (viso,
reconhecimento de voz) em dcimos de
segundo

Redes Neurais Artificiais


!
!

Sistema neural utiliza um paralelismo

massivo

Crebro humano tem 10 neurnios com


uma mdia de 10 conexes cada.

Lentido compensada por grande nmero de


neurnios massivamente conectados

Redes Neurais Artificiais


!
!

Redes Neurais Artificiais (RNAs) so tentativas


de produzir sistemas de aprendizado
biologicamente realistas

RNAs aprendem atravs de exemplos

RNA = arquitetura (modelo/topologia) +


processo de aprendizado

Exemplo de Rede Neural


Artificial

Caractersticas das Redes


Neurais
!
!

Aprendem atravs de exemplos

Inferncia estatstica no paramtrica

Adaptabilidade

Capacidade de generalizao

Tolerncia a falhas

Implementao rpida

Modos de aprendizado
!

Perceptron: Algoritmo inicial pra aprendizagem


de redes neurais simples (uma camada)
desenvolvido nos anos 50.

Retropropagao: Algoritmo mais complexo


para aprendizagem de redes neurais de
mltiplas camadas desenvolvido nos anos 80.

Aplicaes
!

Classificao de padres

Clustering/categorizao

Aproximao de funes

Previso

Otimizao

Memria enderevel pelo contedo

Controle

Classificao de Padres
!

Tarefa: atribuir um padro de entrada a uma das


vrias classes pr-definidas

Entradas representadas por vetores de


caractersticas

Exemplos de aplicaes

Reconhecimento de caracteres

Reconhecimento de voz

Anlise de crdito

Clustering/Categorizao
!

Tarefa: explorar semelhanas entre padres e


agrupar padres parecidos

Tambm conhecido como aprendizado no


supervisionado

Classes no so conhecidas de antemo

Exemplos de aplicaes

Garimpagem de dados (Data mining)

Compresso de dados

Aproximao de funes
!

Tarefa: encontrar uma estimativa f de uma funo


desconhecida f

Conhece conjunto de pares de entrada-sada


{(x1y1), (x2y2), ..., (xnyn)}

Exemplos

Problemas de modelagem cientfica e de


engenharia

Previses
!

Tarefa: dado um conjunto de exemplos {(y(t1),


(y(t2),..., (y(tn)}, prever a sada y(.) no instante de
tempo tn+1

Exemplos

Previso do tempo

Previso de falncias

Previso de aes na bolsa

Previso de desgaste de peas

Otimizao
!

Tarefa: encontrar soluo que satisfaa a um


conjunto de restries tal que uma funo objetivo
seja maximizada ou minimizada

Exemplos

Weighted matching

Problema do caixeiro viajante (NP completo)

Memria enderevel pelo


contedo
!

Tarefa: recuperar itens utilizando eles mesmos


como endereos

Recupera item correto mesmo que a entrada seja


parcial ou distorcida

Exemplos

Bases de Dados

Sistemas Multimdia

Controle
!

Tarefa: gerar entrada de controle para que


sistema siga trajetria especificada por modelo
de referncia

Modelo definido por conjunto de tuplas {x(t),


y(t)}

Exemplo

Controle de processos qumicos

Controle de robs

Funcionamento dos
neurnios naturais

Funcionamento dos
neurnios naturais

Potencial eltrico atravs da membrana da


clula exibe picos.

Pico se origina no corpo celular, passa pelo


axnio, e faz com que os terminais sinpticos
soltem neurotransmissores.

Neurotransmissores passam atravs das


sinapses para os dendritos de outros neurnios.

Funcionamento dos
neurnios naturais

Neurotransmissores podem ser excitadores ou


inibidores.

Se a entrada total de neurotransmissores para


um neurnio excitatria e ultrapassa um certo
limite, ele dispara (tem um pico).

Funcionamento dos
neurnios naturais

Funcionamento dos
neurnios artificiais

Redes Neurais Artificiais


!
!

A rede modelada com um grafo onde as clulas


so ns e as conexes sinpticas so arestas de
um n !" para um n !", com pesos
!"!"!"

Entrada na clula:

Redes Neurais Artificiais


!
!

Sada da clula:

Funes de ativao

Perceptron
!
!

Modelo

de neurnio desenvolvido em 1943 por


Warren McCollough e Walter Pitts, capaz de resolver
operaes lgicas, OR, AND e NOT

Aprendizagem em
Perceptrons

!
!

Uma

rede neural deve produzir, para cada conjunto


de entradas apresentado, o conjunto de sadas
desejado.

objetivo aprender pesos sinpticos de tal forma


que a unidade de sada produza a sada correta pra
cada exemplo.

Aprendizagem em
Perceptrons

!
!

Quando

a sada produzida diferente da desejada,


os pesos da rede so modificados

!
!

algoritmo faz atualizaes iterativamente at


chegar aos pesos corretos.

Modelo do Neurnio

Algoritmo de Aprendizado
!

Iterativamente atualizar pesos at a convergncia.


!
!
!

Cada execuo do loop externo chamada de


poca.

Algoritmo de Aprendizado

!
!

Perceptron como
separador linear
Como o perceptron usa uma funo de limite linear,
ele procura por um separador linear que discrimine
as classes.

Bias

Aplicando o perceptron
!
!

Operao

lgica AND

Aplicando o perceptron
!
!

Operao

lgica OR

Aplicando o perceptron
!
!

Operao

lgica XOR

Limitaes do Perceptron
!
!

Obviamente no pode aprender conceitos que


no capaz de representar

Minksy e Papert (1969) escreveram um livro


analisando o perceptron e descrevendo
funes que ele no podia aprender.

Limitaes do Perceptron
!

Esses resultados desencorajaram o estudo de


redes neurais e as regras simblicas se
tornaram o principal paradigma de IA.

Tempos depois, descobriu-se que as redes de


uma nica camada funcionam para exemplos
linearmente separados, mas redes multicamadas podem representar qualquer funo,
mesmo no-lineares

Teoremas
!

Teorema de convergncia do perceptron:


Se os dados forem linearmente separveis,
ento o algoritmo do perceptron ir corrigir
para um conjunto consistente de pesos.

Teorema do ciclo do perceptron: Se os


dados no forem linearmente separveis, o
algoritmo ir repetir um conjunto de pesos e
limites no final de uma poca e, como
conseqncia entra em um loop infinito

Perceptrons como subida


de encosta

!
!

Desempenho do
Perceptron

Na prtica, converge razoavelmente rpido para


dados linearmente separveis.

Pode-se usar at resultados anteriores


convergncia quando poucos outliers so
classificados erroneamente.

Experimentalmente, o Perceptron tem bons


resultados para muitos conjuntos de dados.

!
!

Exerccio
Dada uma rede do tipo Perceptron formada por um
neurnio com trs terminais de entrada, utilizando
pesos iniciais w0 = 0.4, w1 = -0.6 e w2 = 0.6, limiar
= 0.5 e uma taxa de aprendizado = 0.4, responda
os itens abaixo:
a) Ensinar a rede a gerar a sada 0 para o padro
001 e a sada 1 para os padro 110
b) A que classe pertencem os padres 111, 000,
100 e 011?

Repostas

!
!

a) Para 001:
Net = 0.4 * 0 + -0.6 * 0 + 0.6 * 1 = 0.6
Como 0.6 > 0.5, sada = 1, logo precisamos ajustar
os pesos.

!
!

Repostas

a) Ajustando os pesos para 001:


w0 = 0.4*0*(0 1) = 0
w0 = 0.4 + 0 = 0.4
w1 = 0.4*0*(0 1) = 0
w1 = -0.6 + 0 = -0.6
w2 = 0.4*1*(0 1) = -0.4
w2 = 0.6 0.4 = 0.2

Repostas

!
!

a) Para 110:
Net = 0.4 * 1 + -0.6 * 1 + 0.2 * 0 = -0.2
!!

Como -0.2 < 0.5, sada = 0, logo precisamos ajustar


os pesos.

!
!

Repostas

a) Ajustando os pesos para 110:


w0 = 0.4*1*(1 - 0) = 0.4
w0 = 0.4 + 0.4 = 0.8
w1 = 0.4*1*(1 0) = 0.4
w1 = -0.6 + 0.4 = -0.2
w2 = 0.4*0*(1 0) = 0
w2 = 0.2 + 0 = 0.2

!
!

Repostas

b) Para 111: 0.8 * 1 + -0.2 * 1 + 0.2 * 1 = 0.8, como 0.8 >


0.5, sada = 1
Para 000: 0.8 * 0 + -0.2 * 0 + 0.2 * 0 = 0, como 0 < 0.5,
sada = 0
Para 100: 0.8 * 1 + -0.2 * 0 + 0.2 * 0 = 0.8, como 0.8 > 0.5,
sada = 1
Para 011: 0.8 * 0 + -0.2 * 1 + 0.2 * 1 = 0, como 0 < 0.5,
sada = 0

Referncias
!
!

Sistemas

Inteligentes: Fundamentos e Aplicaes.


Solange Rezende. Capitulo 6

Slides

de aula do Professor Leandro Fernandes

Slides

de aula da professora Tereza Ludemir

Inteligncia

Artificial uma Abordagem Moderna.


Stuart Russel
e Peter Norvig. Terceira edio.
Capitulo 18.

Você também pode gostar