DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine...

34
DSC/CEEI/UFCG Inteligência Artificial Inteligência Artificial I I Aprendizagem Aprendizagem (Parte III) (Parte III) Prof. Prof. a a Joseana Macêdo Fechine Joseana Macêdo Fechine [email protected] [email protected] Carga Horária: 60 horas Universidade Federal de Campina Grande Universidade Federal de Campina Grande Departamento de Sistemas e Computação Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Curso de Bacharelado em Ciência da Computação Computação

Transcript of DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine...

Page 1: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

DSC/CEEI/UFCG

Inteligência Artificial IInteligência Artificial I

Aprendizagem Aprendizagem (Parte III)(Parte III)

Prof.Prof.aa Joseana Macêdo Fechine Joseana Macêdo Fechine [email protected]@dsc.ufcg.edu.br

Carga Horária: 60 horas

Universidade Federal de Campina GrandeUniversidade Federal de Campina GrandeDepartamento de Sistemas e Computação Departamento de Sistemas e Computação

Curso de Bacharelado em Ciência da Curso de Bacharelado em Ciência da ComputaçãoComputação

Page 2: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

2

DSC/CEEIUFCG

Aprendizagem

Tópico

Redes Neurais

Page 3: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

3

DSC/CEEIUFCG

Redes Neurais

Componentes de um

neurônio

É uma célula do cérebro cuja principal função é coletar, processar e disseminar sinais elétricos.

Acredita-se que a capacidade de processamento de informações no cérebro vem de redes de neurônios.

Page 4: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

4

DSC/CEEIUFCG

Componentes de um Neurônio

Axônio – transmissão de sinais a partir do corpo celular; poucas ramificações e compridos;

Dendritos – conduzem sinais para a célula; têm muitas ramificações (zonas receptivas);

Sinapses – estruturas funcionais elementares que mediam as conexões entre os neurônios

Redes Neurais

Page 5: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

5

DSC/CEEIUFCG

Plasticidade de um neurônio – capacidade de adaptação ao ambiente.

Mecanismos de Plasticidade (cérebro de um adulto) Criação de novas conexões sinápticas Modificação das sinapses existentes

Plasticidade - essencial para as Redes Neurais Artificiais

Redes Neurais

Page 6: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

6

DSC/CEEIUFCG

Neurociência computacional Modelo matemático do neurônio criado por

McCulloch e Pitts (1943)

Interesse nas propriedades mais abstratas da RNs Habilidade para executar computação distribuída Habilidade para tolerar entradas ruidosas Habilidade para aprender

Uma das formas mais populares e efetivas de sistemas de aprendizagem

Page 7: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

7

DSC/CEEIUFCG

Inspiração Biológica

Redes Neurais Artificiais

Page 8: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

8

DSC/CEEIUFCG

Neurônio artificial projetado por McCulloch e Pitts (1943)

sinais são apresentados à entrada;

cada sinal é multiplicado por um número, ou peso, que indica a sua influência na saída da unidade;

é feita a soma ponderada dos sinais que produz um nível de atividade;

se este nível de atividade exceder um certo limite (threshold) a unidade produz uma determinada resposta de saída.

Função de ativação

Neurônio Artificial

Page 9: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

9

DSC/CEEIUFCG

Neurônio Artificial

“Dispara” quando uma combinação linear de suas entradas excede algum limiar.

Page 10: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

10

DSC/CEEIUFCG

Redes Neurais Artificiais Cada unidade i calcula

Uma soma ponderada de suas entradas

Depois, aplica uma função de ativação g a essa soma para derivar a saída

n

jjiji awin

0,

n

jjijii awginga

0,)(

Page 11: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

11

DSC/CEEIUFCG

A função de ativação g é projetada para atender a dois propósitos

Deseja-se a unidade “ativa” (próxima de =1) quando as entradas “corretas” forem recebidas e “inativa” (próxima de 0) quando as entradas “erradas” forem recebidas

A ativação precisa ser não-linear

função de limiar (a) função sigmóide (b)

Page 12: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

12

DSC/CEEIUFCG

Exemplo:

sinais de entrada X1, X2, ..., Xp (0 ou 1) pesos W1, W2, ..., Wp, valores reais. limitador t; Neste modelo, o nível de atividade a é dado por:

a = W1X1 + W2X2 + ... + WpXp

A saída y é dada por:• y = 1, se a ≥ t ou • y = 0, se a < t.

Neurônio Artificial

Page 13: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

13

DSC/CEEIUFCG

Exemplos de Aplicações Exemplo bem simplificado: suponha que você está

em uma encruzilhada com quatro caminhos a seguir, e precisa escolher o mais fácil. Como você nunca andou em nenhum deles, o peso de cada

um é 1, ou seja, tanto faz escolher qualquer um. Você escolhe um deles, e anda até descobrir um lago em

que deve atravessar a nado. Pela dificuldade, você deve aumentar o peso deste caminho para 2.

Quando outra pessoa chegar na mesma encruzilhada, saberá que o caminho de maior peso é o mais difícil a seguir.

A rede neural “aprende” a determinar os pesos de acordo com as movimentações entre as paradas.

Page 14: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

14

DSC/CEEIUFCG

Rede Neural - Organização em Camadas (Exemplo)

Redes Neurais Artificiais

Page 15: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

15

DSC/CEEIUFCG

As camadas são classificadas em três grupos (usualmente):

Camada de Entrada: onde os padrões são apresentados à rede;

Camadas Intermediárias ou Escondidas: onde é feita a maior parte do processamento, através das conexões ponderadas; podem ser consideradas como extratoras de características;

Camada de Saída: onde o resultado final é concluído e apresentado.

Redes Neurais Artificiais

Page 16: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

16

DSC/CEEIUFCG

Redes Neurais: Classificação dos Modelos Conexionistas

Em relação à estrutura da rede: Redes de uma única camada Redes de múltiplas camadas Redes do tipo uni-direcional Redes do tipo recorrentes Redes com estrutura estática (não altera a sua estrutura) Redes com estrutura dinâmica (altera a estrutura) Redes com conexões de ordem superior

Redes Neurais Artificiais

Page 17: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

17

DSC/CEEIUFCG

Estruturas de rede Redes acíclicas ou redes de alimentação direta:

Representam uma função de sua entrada atual; NÃO têm nenhum estado interno além dos pesos.

Redes cíclicas ou redes recorrentes: Utilizam suas saídas para realimentar suas próprias

entradas;

Níveis de ativação da rede formam um sistema dinâmico Pode atingir um estado estável ou exibir oscilações;

A resposta da rede a uma determinada entrada pode depender de entradas anteriores (como um flip-flop).

Page 18: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

18

DSC/CEEIUFCG

Redes de alimentação direta Representa uma função de suas entradas

Dados os valores de entrada a1 e a2 a rede calcula:

a5 = g(W3,5a3 + W4,5a4) = g(W3,5g(W1,3a1 + W2,3a2) + W4,5g(W1,4a1 + W2,4a2))

Page 19: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

19

DSC/CEEIUFCG

Redes de alimentação direta Expressando a saída de cada unidade oculta como

uma função de suas entradas percebe-se que:

a5 é uma função das entradas da rede;

Os pesos da rede atuam como parâmetros dessa função;

A rede calcula hw(x);

Ajustando os pesos muda-se a função que a rede representa;

Aprendizagem!

Page 20: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

20

DSC/CEEIUFCG

Processos de Aprendizado

A propriedade mais importante das redes neurais é a habilidade de aprender com seu ambiente e com isso melhorar seu desempenho.

Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o treinamento.

O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas.

Redes Neurais Artificiais

Page 21: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

21

DSC/CEEIUFCG

Algoritmo de Aprendizado

Conjunto de regras bem definidas para a solução de um problema de aprendizado.

Existem muitos tipos de algoritmos de aprendizado específicos para determinados modelos de redes neurais.

Os algoritmos diferem entre si principalmente pelo modo como os pesos são modificados.

Redes Neurais Artificiais

Page 22: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

22

DSC/CEEIUFCG

Redes Neurais: Classificação - Aprendizado Em relação ao aprendizado:

Aprendizado supervisionado Aprendizado semi-supervisionado Aprendizado não supervisionado Aprendizado instantâneo Aprendizado por pacotes Aprendizado contínuo Aprendizado ativo Aprendizado: aproximação de funções Aprendizado: classificação Usar apenas uma base de exemplos de aprendizado Usar uma base de aprendizado e uma base de teste de

generalização

Redes Neurais Artificiais

Page 23: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

23

DSC/CEEIUFCG

Redes Neurais: Classificação dos Modelos Conexionistas

Em relação as unidades da rede: Redes baseadas em Perceptrons (MLP - Multi-Layer

Perceptron) Redes baseadas em Protótipos (RBF - Radial Basis

Function)

Redes Neurais Artificiais

Page 24: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

24

DSC/CEEIUFCG

Exemplos de Redes Neurais

Redes Neurais Artificiais

Page 25: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

25

DSC/CEEIUFCG

Aplicações Práticas

Reconhecimento de Padrões: Caracteres, Imagens, Voz, etc

Sistemas de Auxílio ao Diagnóstico: Médico, Falhas Mecânicas, etc

Robótica Inteligente Previsão: Tempo, Cotações da Bolsa de Valores, etc Sistemas de Controle Processamento de Sinais

Processamento de Linguagem Natural Data Mining

Redes Neurais Artificiais

Page 26: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

26

DSC/CEEIUFCG

Aplicações Práticas

http://www.nd.com/neurosolutions/products/ns/nnandnsvideo.html

http://fbim.fh-regensburg.de/~saj39122/begrolu/kohonen.html

Redes Neurais Artificiais

Page 27: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

27

DSC/CEEIUFCG

Exemplo de uso prático no Brasil: Visanet, operadora de cartões de crédito. A empresa implantou um sistema de rede neural, batizado de

Lynx, que detecta possíveis fraudes em transações com cartão. A base de dados fornece um histórico e o hábito de consumo de

cada número de cartão de crédito Visa emitido no país. Número de transações anteriores: mais de 850 milhões.

São emitidos alertas para os bancos toda vez que o Lynx detecta variáveis fora dos padrões e, portanto, a possibilidade de fraude.

O sistema compara o comportamento de cada transação com os padrões armazenados na base de dados.

Uma despesa em um estabelecimento comercial nunca utilizado antes por determinado cartão, por exemplo, gera uma variável.

O cadastro e o histórico do próprio estabelecimento comercial geram outras variáveis que levam em conta fatores como a ocorrência de casos anteriores de fraude.

A soma dessas variáveis resulta em um índice de probabilidade de fraude que vai de 1% a 100%.

Exemplos de Aplicações

Lynx (lince) - animal que os antigos acreditavam ter o poder de enxergar através de paredes.

Page 28: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

28

DSC/CEEIUFCG

Exemplo: Reconhecimento de fala – reconhecer 1 de 10 vogais entre h_d (em inglês) – F1 e F2: parâmetros retirados da análise espectral do

som da palavra.

Exemplos de Aplicações

Page 29: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

29

DSC/CEEIUFCG

Neural Networks Java Applets: Perceptron Learning Rule (CNNL) Image Compression Using Backprop (CNNL) Generalizations of the Hamming Associative Memory (CNN

L)

Joone - Java Object Oriented Neural Engine Porta XOR

Simulador de Redes Neurais: SNNS (Stuttgart Neural Network Simulator)

Exemplos de Aplicações

Fonte: Java Demonstrations of Neural Net Concepts, http://neuron.eng.wayne.edu/software.html

Page 30: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

30

DSC/CEEIUFCG

Por que utilizá-las?

Generalização: Podem aprender através de conjuntos de exemplos e apresentar respostas coerentes para entradas não vistas durante o treinamento. 

Adaptabilidade: Podem adaptar-se a um novo ambiente através de alterações em seus pesos sinápticos. Também podem ser projetadas para alterarem seus pesos em tempo real ou para operarem em ambientes que variem com o tempo.

Informação Contextual: Processam as informações contextuais de forma natural, uma vez que o processamento de um neurônio é afetado pelo processamento de outros neurônios da rede. 

Uniformidade: A mesma notação é utilizada em diferentes domínios de  aplicações; os neurônios são encontrados em todas as redes neurais; é possivel utilizar os mesmos algoritmos de aprendizagem e teorias em diversas apllicações; através da integração homogênea de módulos, podemos construir redes modulares. 

Redes Neurais Artificiais

Page 31: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

31

DSC/CEEIUFCG

Vantagens

Aquisição automática de conhecimentos empíricos a partir de uma base de exemplos de aprendizado referente a um problema;

Manipulação de dados quantitativos, aproximados e mesmo incorretos com uma degradação gradual das respostas;

Grande poder de representação de conhecimentos através da criação de relações ponderadas entre as entradas do sistema;

Redes Neurais Artificiais

Page 32: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

32

DSC/CEEIUFCG

Desvantagens

Dificuldade de configuração das redes em relação à sua estrutura inicial e também no que se refere aos parâmetros dos algoritmos de aprendizado;

Dificuldade de explicitar os conhecimentos adquiridos pela rede através de uma linguagem compreensível para um ser humano;

Dificuldade de convergência (bloqueios) e instabilidade, inerentes aos algoritmos de otimização empregados;

“Lentidão” do processo de aprendizado / adaptação.

Redes Neurais Artificiais

Page 33: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

33

DSC/CEEIUFCG

AprendizagemSistemas Inteligentes Híbridos

Page 34: DSC/CEEI/UFCG Inteligência Artificial I Aprendizagem (Parte III) Prof. a Joseana Macêdo Fechine Prof. a Joseana Macêdo Fechine joseana@dsc.ufcg.edu.br.

34

DSC/CEEIUFCG

Aprendizagem

Sistemas baseados em

Redes Neurais

Redes Bayesianas

Algoritmosgenéticos

Sistemas Especialistas

Sistemas Nebulosos

(fuzzy)

Sistemas deAprendizagem

simbólica indutiva

Sistemas de PLN

conhecimento intensional (regras)

conhecimento extensional (exemplos)

simbóliconumérico

Sistemasbaseadoem casos

Robôs