Redes Neurais Artificiais - Computação UFCG

Download Report

Transcript Redes Neurais Artificiais - Computação UFCG

Universidade Federal de Campina Grande
Departamento de Sistemas e Computação
Curso de Bacharelado em Ciência da Computação
Inteligência Artificial I
Aprendizagem
(Parte III)
Prof.a Joseana Macêdo Fechine
[email protected]
Carga Horária: 60 horas
DSC/CEEI/UFCG
Aprendizagem
Tópico

Redes Neurais
2
DSC/CEEIUFCG
Redes Neurais

É 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.
Componentes
de um
neurônio
3
DSC/CEEIUFCG
Redes Neurais
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
4
DSC/CEEIUFCG
Redes Neurais

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
5
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
6
DSC/CEEIUFCG
Redes Neurais Artificiais
Inspiração Biológica
7
DSC/CEEIUFCG
Neurônio Artificial
Neurônio artificial projetado por McCulloch e Pitts (1943)




DSC/CEEIUFCG
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
8
Neurônio Artificial

“Dispara” quando uma combinação linear de suas
entradas excede algum limiar.
9
DSC/CEEIUFCG
Redes Neurais Artificiais

Cada unidade i calcula

Uma soma ponderada de suas entradas
n
ini   w j ,i a j
j 0

Depois, aplica uma função de ativação g a essa soma
para derivar a saída
 n

ai  g (ini )  g   w j ,i a j 
 j 0

10
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)
DSC/CEEIUFCG
função sigmóide (b)
11
Neurônio Artificial
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.
12
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.
13
DSC/CEEIUFCG
Redes Neurais Artificiais
Rede Neural - Organização em Camadas (Exemplo)
14
DSC/CEEIUFCG
Redes Neurais Artificiais

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.
15
DSC/CEEIUFCG
Redes Neurais Artificiais
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
16
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).
17
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))
18
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!
19
DSC/CEEIUFCG
Redes Neurais Artificiais
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.
20
DSC/CEEIUFCG
Redes Neurais Artificiais
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.
21
DSC/CEEIUFCG
Redes Neurais Artificiais
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
22
DSC/CEEIUFCG
Redes Neurais Artificiais
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)
23
DSC/CEEIUFCG
Redes Neurais Artificiais
Exemplos de
Redes Neurais
24
DSC/CEEIUFCG
Redes Neurais Artificiais
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
25
DSC/CEEIUFCG
Redes Neurais Artificiais
Aplicações Práticas

http://www.nd.com/neurosolutions/products/ns/nnandnsvideo.html

http://fbim.fh-regensburg.de/~saj39122/begrolu/kohonen.html
26
DSC/CEEIUFCG
Exemplos de Aplicações

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%.
Lynx (lince) - animal que os antigos acreditavam ter o poder de enxergar através de paredes.
DSC/CEEIUFCG
27
Exemplos de Aplicações

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.
28
DSC/CEEIUFCG
Exemplos de Aplicações

Neural Networks Java Applets:




Joone - Java Object Oriented Neural Engine


Perceptron Learning Rule (CNNL)
Image Compression Using Backprop (CNNL)
Generalizations of the Hamming Associative Memory
(CNNL)
Porta XOR
Simulador de Redes Neurais: SNNS (Stuttgart
Neural Network Simulator)
Fonte: Java Demonstrations of Neural Net Concepts, http://neuron.eng.wayne.edu/software.html29
DSC/CEEIUFCG
Redes Neurais Artificiais
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.
30
DSC/CEEIUFCG
Redes Neurais Artificiais
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;
31
DSC/CEEIUFCG
Redes Neurais Artificiais
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.
32
DSC/CEEIUFCG
Aprendizagem
Sistemas Inteligentes Híbridos
33
DSC/CEEIUFCG
Aprendizagem
conhecimento intensional (regras)
Sistemas de PLN
Sistemas
Nebulosos
(fuzzy)
numérico
Redes
Bayesianas
Sistemas
Especialistas
simbólico
Robôs
Algoritmos
genéticos
Sistemas
baseados em
Redes Neurais
Sistemas de
Aprendizagem
simbólica indutiva
Sistemas
baseado
em casos
conhecimento extensional (exemplos)
DSC/CEEIUFCG
34