Você está na página 1de 41



!"



Sistemas Inteligentes baseados em Redes Neurais Artificiais aplicados ao Processamento de Imagens

Coordenador do Projeto: Prof. Dr. Fernando Osrio

Bolsista CNPq : Joo Ricardo Bittencourt

UNISC - Santa Cruz do Sul Junho de 2000


UNISINOS - Centro de Cincias Exatas e Tecnolgicas (C6/6) Curso de Informtica - Mestrado em Computao Aplicada

E-mail: osorio@exatas.unisinos.br Web: http://www.inf.unisinos.br/~osorio/

Tpicos abordados

1. Introduo & Conceitos Bsicos

1.1. Projeto HMLT 1.1. Inteligncia: Humana e Artificial 1.2. Aprendizado de mquinas

2. Redes Neurais Artificiais - RNAs

2.1. Conceitos Bsicos 2.2. Representao de Conhecimentos 2.3. Modelos de RNAs 2.4. Aprendizado Neural 2.5. Discusso: vantagens / desvantagens

3. Processamento de Imagens

3.1. Conceitos e Aplicaes 3.1.1. Tratamento de Imagens 3.1.2. Reconhecimento de Padres 3.2. Processamento de Imagens Convencional 3.3. Processamento de Imagens Neural 3.4. Exemplos de Aplicaes: OCR, Filtros, etc.
2

6. Concluses e Perspectivas

Introduo: Contexto da Pesquisa


Inteligncia Humana Inteligncia Artificial

Aprendizado Humano Aprendizado de Mquinas

Mtodos de Raciocnio e Aquisio de Conhecimentos Mltiplos Sistemas Hbridos

Introduo
Inteligncia Humana Inteligncia Artificial

Aprendizado Humano Aprendizado de Mquinas

Mtodos de Raciocnio e Aquisio de Conhecimentos Mltiplos Sistemas Hbridos

Sistemas Inteligentes Hbridos

Projeto de Pesquisa HMLT - Hybrid Machine Learning Tools Ferramentas Hbridas de Aprendizado para o Mquinas

Coordenador ................................... Prof. Fernando Osrio

Bolsistas de Iniciao Cientfica..... Carla Medeiros Barros Joo Ricardo de Bittencourt Menezes Rafael Guterres Jeffman

Mestrando........................................ Farlei Heinen


4

Cooperao: Laboratoire LEIBNIZ - Grenoble, Frana e LRI/UFRGS

INTELIGNCIA: Humana e Artificial

REPRODUZIR A INTELIGNCIA HUMANA

- O que Inteligncia ?

- O que um ser Inteligente ?

INTELIGNCIA: Humano e Artificial

REPRODUZIR A INTELIGNCIA HUMANA

- O que Inteligncia ? * Uso prtico de experincias e conhecimentos passados * Tomada de decises * Criar coisas novas (criatividade) * Saber o que eu sei (saber explicar) * Interao * Comunicao
6

- O que um ser Inteligente ?

* Associao de idias e conceitos * Concluir coisas * Capacidade de aprendizado * Acmulo de conhecimentos * Raciocnio: lgico, abstrato, deduo, analogia, induo, inferncia, sntese, anlise

Inteligncia Artificial: Conceitos Bsicos

REPRODUZIR A INTELIGNCIA HUMANA

- Conceito de Inteligncia: CAPACIDADE DE RESOLVER PROBLEMAS


CAPACIDADE DE APRENDER CAPACIDADE DE SE ADAPTAR / MELHORAR

- Realizar Atividades Inteligentes

- Sistemas Inteligentes:

* Sistemas Especialistas * Sistemas de Apoio ao Diagnstico e a Deciso * Reproduo de atividades tpicas dos seres humanos: Fala, Audio, Viso, Deslocamento, Manipulao de Objetos, etc. * Jogos: jogo da velha, xadrez, jogos de ao

Inteligncia Artificial: Conceitos Bsicos

REPRODUZIR A INTELIGNCIA HUMANA

- Sistemas Inteligentes:

CAPACIDADE DE RESOLVER PROBLEMAS CAPACIDADE DE APRENDER CAPACIDADE DE SE ADAPTAR / MELHORAR

Grandes Desafios:

* Problema escolhido: Processamento de Imagens * Ferramentas Usadas:


Redes Neurais & Sistemas Hbridos
8

- Linguagem / PLN - Viso Artificial - Robtica Autnoma

Sentidos Humanos

Inteligncia Artificial: Adquirindo e usando conhecimentos

Sistemas Especialistas Mdulo de Explicao

Usurio

Base de Conhecimentos
Motor de Inferncia

Interface com o usurio

Mdulo de Aquisio de Conhecimentos

Expert

Sistema Especialista: Exemplo Bsico e Introdutrio:

Sistema de auxlio ao diagnstico de pacientes Mdico: 8 perguntas sobre os sintomas do paciente (resposta: S/N) Sintomas: 1 = Dor de Cabea, 2 = Febre, 3 = Problemas digestivos, ...

Base de Conhecimentos do Mdico 3 N S S N 4 S S N S 5 N S S S 6 S N N N 7 S N S S 8 S S N N Diagnstico Gripe Sem problemas Morte certa Morte certa

1 S S S S

2 S N N N

Criar uma rvore binria de deciso baseada na tabela de conhecimentos Consultas ao sistema:

S,N,S,N,S,N,S,N => Diagnstico ? S,N,?,?,S,N,S,N => Diagnstico ?

10

S N

1 2
N

2
N S

3 3 3
N S

3
N

4
S N S N

4
S

4
N

5
S N

5 5

6 6
N

1 2 3 4 S S S N N S S S S N S N S N N S

5 6 7 8 Diagnstico N S S N S N S N S S N S S N S N Gripe OK Morre Morre

7
N

???

Morre

11

Inteligncia Artificial: Sistemas Especialistas


1 2 Valores {feminino, masculino} - 0/1 { ... } 0/1 0/1 0/1 {calmo, agitado} - 0/1 {presente, ausente} - 0/1

Diagnstico Mdico

3 4 5 6

Gerais Tipo Discreto Continuo Discreto Discreto Discreto Neurolgicos Discreto Discreto

7 8

Discreto Discreto Discreto Discreto Discreto Discreto Discreto

{normal, anormal} - 0/1 {myosis, intermedirio, mydriase} 0/1 0/1 0/1 {hipertonia, hipotonia} {vivos, diminudos}

10

11

12 13

Sintomas Varivel Sexo SEXE Temperatura TEMP Temp_Low Temp_Normal Temp_High Sintomas Estado CALME Foto-motores PHOTO (reao das pupilas) Olhar REGARD Estado das Pupilas - PUPIL Pupil_myosis Pupil_intermed Pupil_mydriase Tonus muscular - TONUS Reflexos dos tendes ROT Sintomas Presso Arterial - PAS PAS_Low PAS_Normal PAS_High Freqncia Cardaca - FC FC_Low FC_Normal FC_High Medida ECG QRS QRS_Normal QRS_Prolongado Intervalo QT QT Bexiga GLOBE_VESICAL cardiolgicos Contnuo Discreto Discreto Discreto Contnuo Discreto Discreto Discreto Continuo Discreto Discreto Discreto Urina Discreto {...} 0/1 0/1 0/1 {...} 0/1 0/1 0/1 {...} 0/1 0/1 {normal, prolongado} - 0/1 {sim, no} - 0/1

12

Inteligncia Artificial: Sistemas Especialistas

Diagnstico: Substncia txica ingerida


Substncia Txica Ocorrncia 1 Anti-depressores tri-cclicos 265 2 Barbitricos 86 3 Benzodiazepina 414 4 Carbamato 68 5 Fenotiazina 130 6 Morfina 13 7 Alcool 137 Combinaes a (25), aBb (12), aBbp (9), ab (104), abc (11), abm (5), abp (38), ap (5), B (8), Bb (23), Bbcp (5), Bcp (13), ben (37), bc (24), bm (8), bp (31), c (5), p (5), Ea (12), Eab (36), Eabp (8), E (12), EB (6), EBb (5), EBbp (5), Eb (32), Ebc (10), Ebp (11)
Tabela - Os diferentes tipos de substncias txicas da base de dados

Abreviaes adt, a B ben, b C P M E

13

Inteligncia Artificial: Aprendizado de Mquinas

* Sistemas Especialistas de 1a. Gerao: - Aquisio manual de conhecimentos - Problemas: Base de Conhecimentos (regras e fatos)

* Sistemas Especialistas de 2a. Gerao: - Aquisio automtica de conhecimentos - Integrao de diferentes mtodos da I.A. Sistemas Hbridos

14

Inteligncia Artificial: Aprendizado de Mquinas

Inteligncia Artificial
Sistemas Especialistas KBS, robtica, viso artificial, ... CBR, ILP, induo de rvores de deciso, redes neurais algoritmos genticos, ... Mtodos Simblicos Mtodos baseados em: Redes Neurais Artificiais Regras Fuzzy Regras Bayesianas (probab.)
15

Sistemas Inteligentes

Aprendizado de Mquinas

Representao de Conhecimentos

Inteligncia Artificial: Aprendizado de Mquinas

- O que o aprendizado?

* Adaptao do comportamento (melhoria)

* Correo dos erros cometidos no passado

* Otimizao da performance do sistema (melhoria)

* Interao com o meio, experimentao e descoberta

* Representao do conhecimento adquirido Memria e compresso dos conhecimentos

16

Aprendizado de Mquinas / Machine Learning

Conhecimentos Tericos / Simblicos

XOR = ( A Or B ) And Not ( A And B ) ou XOR = ( A And Not ( B ) ) Or ( Not ( A ) And B )

Conhecimentos Empricos / Dados


A 0 0 1 1 0 1 0 1 0 1 1 0
17

XOR

Aprendizado de Mquinas / Machine Learning

Conhecimentos Tericos / Simblicos

Se existem 2 casas na horizontal, vertical ou diagonal com uma marca do jogador oponente e a terceira casa est livre Ento jogar nesta casa!

Conhecimentos Empricos / Dados X2 O1 O5


18

X O3 X4

Mtodos de Aprendizado de Mquinas

Aprendizado por analogia / por instncias Sistemas baseados em casos CBR - Case Based Reasoning

Aprendizado por Induo Induo de rvores de Deciso ID3, C4.5, CN2 - Induction of Decision Trees ILP - Inductive Logic Programming (Prolog)

Aprendizado por evoluo/seleo Algoritmos Genticos GA e GP - Genetic Algorithms / Genetic Programming

Aprendizado por reforo (reinforcement learning)

Aprendizado Bayesianno (probabilista)

Aprendizado Neural MLP Back-Propagation - Artificial Neural Networks


19

Redes Neurais Artificiais: Aprendizado de Mquinas

Redes Neurais Artificiais: Neurnio... Modelo Simulado Modelo SIMPLIFICADO Caractersticas Bsicas: Adaptao Aprendizado Autmato Representao de Conhecimentos: Baseada em Conexes

20

Redes Neurais Artificiais: Origem

PSYCHON
Sada McCulloch & Pitts 1943 Integrador de Estmulos

Entradas Excitatrias

Entradas Inibitrias

21

X1
Entradas
(Dendritos)

X2

XN

Perceptron
NEURAL

... ...
WN
(Efeito de inibio ou de excitao sobre a ativao dos sinais de entrada)

W1

W2

Pesos Sinpticos

Net = Wi.Xi + Biais

Ativao
(Considera o conjunto total das entradas e dos seus pesos associados)

Fct (Net) Funo de Ativao


(Regulagem da sada da rede)

Sada
(Axnio: Conexes com as Sinapses de outras unidades)

22

X1
Entradas
(Dendritos)

X2

XN

NEURAL

... ...
WN Rede Neural com (Efeito de inibio ou de excitao apenas sobre a ativao dos sinais de entrada)
Ativao Pesos Sinpticos

W1

W2

2 entradas:

Net = Wi.Xi + Biais

X, Y - Entradas (Valores numricos) W1, W2 - Pesos Sinpticos

(Considera o conjunto total das Sada = Wi.Xi + entradas e dos seus pesos associados)

Biais

= W 1 . X + W2 . Y + C

Fct (Net) Funo de Ativao


(Regulagem da sada da rede)

Sada
(Axnio: Conexes com as Sinapses de outras unidades)

23

Rede Neural com apenas 2 entradas: X Y AND

X, Y - Entradas (Valores numricos) W1, W2 - Pesos Sinpticos Wi.Xi + Biais 0 0 1 1 0 1 0 1

Sada =

= W 1 . X + W2 . Y + C

0 0 0 1

Y
(1,1)

(0,1)

Representao Geomtrica do Problema

0
(0,0)

0
(1,0)

24

Rede Neural com apenas 2 entradas: X Y AND

X, Y - Entradas (Valores numricos) W1, W2 - Pesos Sinpticos Wi.Xi + Biais 0 0 1 1 0 1 0 1

Sada =

= W 1 . X + W2 . Y + C

0 0 0 1

Y
(1,1)

(0,1)

Representao Geomtrica do Problema Como classificar? Separar as classe

0
(0,0)

0
(1,0)

25

Redes Neurais: Representao de Conhecimentos


Entrada Y

Reta, Plano ou Hiper-plano de separao das classes

+1
- Classe B A Y1 P(X 1,Y 1) A A A A A A A A A A A B A Entradas: X, Y B B B A A

- Classe A

A A

P(X 1,Y 1) = Classe A Classe A: X*W1+Y*W2 > 0

B B X1 B A

-1
B B B B B B B

Entrada X

+1

B Classe B: X*W1+Y*W2 < 0

-1

Reta: X*W1+Y*W2=0
26

MLP - Multi-Layer Perceptron Aprendizado: Back-Propagation


Unit j Pesos Wij

Sada

Camada
Unit i

Oculta

Entradas

Redes Neurais: Modelos Conexionistas

27

Sada Camada Oculta

Sadas

Camadas Ocultas

Entradas

A B
(b) Rede com atalhos

(a) Rede de trs camadas

(c) Rede com mltiplas camadas


Atv = W1A+W2B+W3AB W3 W1 W2 X

A
(d) Rede recorrente

B
(e) Rede de ordem superior
28

Redes Neurais: Modelos Conexionistas

Redes Neurais: Modelos Conexionistas

Redes base de Prottipos : Entradas - X,Y Sada - Classes (A, B ou C)


A: Exemplos da classe A B: Exemplos da classe B C: Exemplos da classe C X1,Y1 - Prottipo da classe B X2,Y2 - Prottipo da classe A X3,Y3 - Prottipo da classe A

Y2

A A A A A A A

Y1

B B B B B B B B B B B B B B C C C C C A A A A A A A A A A A C CC C C C C

Prottipos: * Centro de Gravidade * Raio de influncia (x,y) Teste de similaridade: * Distncia Euclidiana

Y3

X1

X2

X3

X
29

Redes Neurais: Modelos Conexionistas

Em relao as unidades da rede:

* Redes baseadas em Perceptrons (MLP - Multi-Layer Perceptron) * Redes baseadas em Prottipos (RBF - Radial Basis Function)

Em relao a estrutura da rede:

* Redes de uma nica camada * Redes de mltiplas camadas

* Redes do tipo uni-direcional (Feed-Forward) * Redes do tipo recorrentes (Feed-Back)

* Redes com estrutura esttica (no altera sua estrutura) * Redes com estrutura dinmica (altera a estrutura)

* Redes com conexes de ordem superior

30

Redes Neurais: Aprendizado

Em relao ao aprendizado:

* Aprendizado supervisionado * Aprendizado semi-supervisionado (reinforcement learning) * Aprendizado no supervisionado (self-organizing, clustering)

* Aprendizado instantneo * Aprendizado por pacotes * Aprendizado contnuo * Aprendizado ativo

* Aprendizado: aproximao de funes * Aprendizado: classificao

* Usar apenas uma base de exemplos de aprendizado * Usar uma base de aprendizado e uma base de teste de generalizao

31

Redes Neurais: Aprendizado Neural

APRENDIZADO = Adaptao das conexes (pesos sinpticos)

Medida do Erro de Sada


Configurao Inicial dos Pesos da Rede

Descida do Gradiente de uma Superfcie de Erro

Configurao Final (aps adaptao)

Mnimos Locais

Mnimo Global

Mudanas na Configurao dos Pesos Sinpticos


32

Redes Neurais: Aprendizado Neural


Perceptron [Rosenblatt] / Adaline [Widrow] Erro = SD - SN

REGRA DELTA:

Erro = Erro estimado na sada de um neurnio SD = Sada Desejada (valor desejado de sada do aprendizado supervisionado) SN = Sada Rede (valor de sada que foi obtido pela ativao do neurnio)

Peso_Novo(i) = Peso_Antigo(i) + * Erro(i) * Entrada(i) ------------------------------| Entrada(i) |

Peso_Novo(i) = Peso da entrada i de um neurnio, aps a adaptao Peso_Antigo(i) = Peso da entrada i de um neurnio, antes da adaptao Entrada(i) = Valor da entrada i de um neurnio = Fator de ajuste aplicado aos pesos (valor entre 0 e 1)

33

Redes Neurais: Aprendizado Neural

Mtodo da Descida do Gradiente - Multi-Layer Perceptron (MLP) BackPropagation


E= 1 ( Di Ai) 2 2 i

Erro quadrtico:

Ajuste dos Pesos: Wij =

E Wij

Derivao da regra de reajuste dos pesos (Neurnios da camada de sada - sada linear)

E E Ai = = i Xj Wij Ai Wij E = - (Di - Ai) = i Ai Ai = Xj Wij Wij = . i.Xj = .(Di - Ai).Xj


34

Redes Neurais: Aprendizado Neural

Mtodo da Descida do Gradiente - Multi-Layer Perceptron (MLP) BackPropagation


E= 1 ( Di Ai) 2 2 i

Erro quadrtico:

Ajuste dos Pesos: Wij =

E Wij

Derivao da regra de reajuste dos pesos E Si E (Neurnios da camada de sada - usando a sigmoide) = = i Xj Si Wij Wij E E Ai = = - (Di - Ai).Fa'(Si) = i Si Ai Si E = - (Di - Ai) Ai Ai = Fa'(Si) Si Si = Xj Wij 1 Fa'(x) = Fa(x).(1 - Fa(x)) Fa ( x ) = 1 + ex Fa'(Si) = Fa(Si).(1 - Fa(Si)) = Ai.(1 - Ai) Fa(x) = tanh (x) Fa'(x) = (1 - Fa(x).Fa(x)) Fa'(Si) = (1 - Fa(Si).Fa(Si)) = (1 - Ai.Ai) Wij = . i.Xj = .(Di - Ai).Fa'(Si).Xj
35

Redes Neurais: Aprendizado Neural

Mtodo da Descida do Gradiente - Multi-Layer Perceptron (MLP) BackPropagation


E= 1 ( Di Ai) 2 2 i

Erro quadrtico:

Ajuste dos Pesos: Wij =

E Wij

E E Si = = i Xj Wij Si Wij E E Ai = = - Fa'(Si). kWki = i Si Ai Si k E Sk E E = = WhkAh = ... Sk Ai Sk Ai h Ai k k E Wki = kWki ... = Sk k k Ai = Fa'(Si) Si Si = Xj Wij Wij = . i.Xj = .Xj.Fa'(Si). kWki
k

Derivao da regra de reajuste dos pesos (Camada intermediria da rede = Hidden Layer)

36

Erro na Sada da Rede

APRENDIZADO: GENERALIZAO
Aprendizado: Parada tardia Dados de Teste

Dados de Aprendizado Nmero de pocas

Erro na Sada da Rede

Parada usando a Validao Cruzada (ponto timo de generalizao)

Dados de Teste

Dados de Aprendizado

Nmero de pocas

37

Redes Neurais Artificiais: Aplicaes Prticas

Sistemas de auxlio ao Diagnstico: Mdico, Falhas de Sistemas, etc;

Previso de Sries Temporais: Cotaes da Bolsa de Valores, Dados Econmicos, Consumo de Energia Eltrica, Metereologia, etc;

Processamento de Linguagem Natural - PLN (Textos e Web);

Data Mining & KDD (Knowledge Data Discovery);

Robtica Inteligente;

Sistemas de Controle e Automao;

Reconhecimento e Sntese de Voz;

Processamento de Sinais: Radar, Sensores, etc.

UCI-ML - University of California Irvine - Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html


38

Redes Neurais Artificiais: Aplicaes Prticas


PROJETO HMLT APLICAES DAS REDES NEURAIS EM * PROCESSAMENTO DE IMAGENS * ROBTICA AUTNOMA * DATA MINING

39

Concluso e Perspectivas

* Importncia do Aprendizado nos Sistemas Inteligentes

* Aprendizado Neural: propriedades interessantes... Robustez, Paralelismo, Generalizao, Entradas/Sadas Quantitativas

* Processamento de Imagens: rea de estudos de grande interesse para a I.A. Viso Artificial - Desafio

* Processamento de Imagens usando Sistemas Inteligentes: Redes Neurais - Ferramenta bastante adequada para se tratar imagens

* Redes Neurais aplicadas ao processamento de imagens: Tratamento de Imagens / Reconhecimento e Classificao de Imagens

* Resultados so bastante promissores

* Tendncia: Sistemas Hbridos Integrar => Pr-Processamento, Ps-Procesamento Cooperao - Multi-agente, Modular Tarefas complexas e de alto nvel

40

Inteligncia Artificial: Perspectivas


Hybrid Machine Learning Tools http://www.inf.unisinos.br/~osorio/

Grupo de Inteligncia Artificial @


41