Redes Neurais Artificiais

Slides:



Advertisements
Apresentações semelhantes
REDES AUTO-ORGANIZAVEIS (MAPAS AUTO-ORGANIZÁVEIS)
Advertisements

REDES NEURAIS ARTIFICIAIS
Redes Neurais Artificiais (Parte 1)
Redes Neurais Artificiais (RNA): Introdução
Redes Neurais Artificiais (RNA): Perceptron
Redes Neurais Artificiais (RNA): Aprendizado
Aspectos de Implementação do Algoritmo Backpropagation
REDES NEURONAIS ARTIFICIAIS (RNAs) Universidade do Minho.
Adaptive Resonance Theory Carpenter & Grossberg
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Neurônio .3.
Redes Neurais Artificiais
Redes Neurais Artificiais
Redes de Hopfield Redes Neurais COPIN
Redes Neurais Artificial
Curso Introdução às Redes Neuronais Parte 2 Prof. Dr. rer.nat. Aldo von Wangenheim.
Aspectos da Implementação de Redes Neurais
Introdução à Inteligência Artificial Redes Neurais Artificiais Prof
Redes Neurais (Conceitos Fundamentais)
Centro de Informática - UFPE
Redes de Kohonen Paulo Adeodato e Germano Vasconcelos
FACENS – Engenharia da Computação Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
Redes Neurais prof. Luis Otavio Alvares
Análise Multivariada Aplicada as Ciências Agrárias
Prof. Dr. Cairo L. Nascimento Jr.
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Inteligência Artificial Redes Neurias
Sistemas de Informação Inteligentes
Previsão de consumos a curto prazo
Introdução O que é computação?.
Uma Introdução às Redes Neurais
Redes Neurais Auto-organizáveis
Redes Neurais Prof. Alex F. V. Machado.
Redes neurais artificiais
Redes Neurais Artificiais
Redes Neuronais/Neurais/ Conexionistas Introdução
Redes Neurais Artificiais
Extração de Regras de RNA Wilian Soares Lacerda Fevereiro de 2003.
Experimentação Algorítmica
(OU) Hardware da Rede Implementacao da rede
Redes Neurais Artificiais. Introdução RNA são modelos matemáticos que se assemelham às estruturas neurais biológicas Capacidade computacional adquirida.
Prof. Anne Magály de Paula Canuto
Universidade Federal de Lavras Departamento de Ciência da Computação
Implementação de uma arquitetura de Redes Neurais MLP utilizando FPGA
Biometria Reconhecimento de Assinaturas
Redes Neurais Artificiais
Redes Neurais Artificial
Aprendizado da rede O aprendizado, na maioria das vezes, constitui no ajuste do conjunto de pesos de modo que a rede consiga executar uma tarefa específica.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Redes Neurais Artificiais
O Que São as Redes Neurais Artificiais
DAS MSPO Eduardo Camponogara
©2001 Germano Vasconcelos, Paulo Adeodato Desenvolvimento de Aplicações Germano C. Vasconcelos Centro de Informática - UFPE.
Inteligência Artificial
Redes Neurais Artificiais Prof. Júlio Cesar Nievola PPGIA – PUCPR Especialização em Inteligência Computacional.
Aprendizado por Indução
REDES NEURAIS E SUAS APLICAÇÕES ALUNO: Paulo Celso da Silva e Souza Junior.
Inteligência artificial (IA)
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
Objetivo Este projeto destina-se ao estudo e à elaboração de modelos neurais artificiais, com o auxílio do programa Matlab. O objetivo principal deste.
1 Projeto Híbrido de Redes Neurais Ricardo Bastos C. Prudêncio Orientação: Teresa B. Ludermir CIn - UFPE Jan
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
Transcrição da apresentação:

Redes Neurais Artificiais 05/11/98 Redes Neurais Artificiais Profa. Teresa Ludermir Sistemas Inteligentes 1 1

Por que Redes Neurais? Utilizar máquinas efetivamente para resolver problemas simples (humanos) Exemplo1: distinguir padrões visuais utilizando exemplos e feedback Maior experiência permite melhorar a performance

Por que Redes Neurais? Exemplo 2: otimizar tempo de trabalho (maximizar recurso) Pode-se derivar regras, mas elas não refletem o processo de pensamento utilizado

O que são Redes Neurais Artificiais Redes Neurais Artificiais (RNA) são modelos de computação com propriedades particulares Capacidade de se adaptar ou aprender Generalizar Agrupar ou organizar dados 3

O que são Redes Neurais Artificiais RNA: estruturas distribuídas formadas por grande número de unidades de processamento conectadas entre si Multi-disciplinaridade : Ciência da Computação, Matemática, Física, Engenharias, Psicologia, Biologia, Lingüística, Filosofia, etc 4

O que são Redes Neurais Artificiais Modelos inspirados no cérebro humano Compostas por várias unidades de processamento (“neurônios”) Interligadas por um grande número de conexões (“sinapses”) Eficientes onde métodos tradicionais têm se mostrado inadequados 5

Redes Neurais Artificiais camadas intermediárias camada de entrada camada de saída conexões 6

Características das RNAs Aprendem através de exemplos Inferência estatística não paramétrica Adaptabilidade Capacidade de generalização Tolerância a falhas Implementação rápida 7

Von Neumann X Sistema neural 10

Potenciais áreas de aplicação das RNAs Classificação de padrões Clustering/categorização Aproximação de funções Previsão Otimização Memória endereçável pelo conteúdo Controle etc... 11

História das RNA Inter-relação entre Investigação do comportamento e estrutura do sistema nervoso através de experimentação e modelagem biológica Desenvolvimento de modelos matemáticos e suas aplicações para a solução de vários problemas práticos Simulação e implementação destes modelos

Redes Neurais Redes Neurais Histórico 1940-1950: início das Redes neurais com McCulloch e Pitts. E as redes de auto-organização. 1950-1960: Perceptron de aprendizado supervisionado. 1960-1970: Pouco avanço 1980-2000: Redes simétricas e o Backpropagation

Década de 40 : O começo (1943) McCulloch & Pitts, 1o modelo artificial de um neurônio biologico Provam, teoricamente, que qualquer função lógica pode ser implementada utilizando unidades de soma ponderada e threshold (1949) Hebb desenvolve algoritmo para treinar RNA (aprendizado Hebbiano) Se dois neurônios estão simultaneamente ativos, a conexão entre eles deve ser reforçada 19

1950-1960: Anos de euforia (1958) Von Neumann mostra interesse em modelagem do cérebro (RNA) The Computer and the Brain, Yale University Press (1959) Rosenblatt implementa primeira RNA, a rede Perceptron Ajuste iterativo de pesos Prova teorema da convergência 20

Década de 70: Pouca atividade 1960 - Windrow e Hoff Regra Delta: Utiliza o método do gradiente para minimização do erro na saída de um neurônio com resposta linear (1969) Minsky & Papert analisam Perceptron e mostram suas limitações Não poderiam aprender a resolver problemas simples como o OU-exclusivo Causou grande repercussão Embora o perceptron garantia a convergência para modelos de uma camada, omesmo não ocorria para redes com mais de uma camada Conseqüência: Desânimo nas pesquisas de redes neurais na década de 70 21

Década de 70: Pouca atividade (1971) Aleksander propõe redes Booleanas (1972) Kohonen e Anderson trabalham com RNA associativas (1975) Grossberg desenvolve a Teoria da Ressonância Adaptiva (redes ART) 22

Década de 80: A segunda onda (1982) Hopfield mostra que Redes Neurais podem ser tratadas como sistemas dinâmicos Mostrou que a visão de Minsky e Papert sobre o perceptron era bastante pessimista RNAs com mais de uma camada era aplicáveis a problemas de difícil aprendizagem Conseqüência: Ressurgimento de interesse e pesquisa na área de RNAs 23

Década de 80: A segunda onda (1986) Hinton, Rumelhart e Williams, propõem algoritmo de aprendizagem para redes multi-camadas Principal responsável pelo ressurgimento do interesse em RNA Algoritmo supervisionado que utiliza pares(entrada, saída desejada) para ajustar os pesos da rede Parallel Distributed Processing Werbos (1974) 23

Redes Neurais Redes Neurais Cérebro Humano – Computador complexo, paralelo e não-linear. Redes Neural – Processador maciçamente paralelo e distribuído constituído de unidades de processamento simples, que têm a propensão natural para amarzenar conhecimento experimental e torná-lo disponível para o uso. Semelhança entre redes neurais artificiais e o cérebro humano. Conhecimento é adquirido pela rede a partir de seu ambiente através de um processo de aprendizagem Forças de conexão entre neurônios, conhecidos como pesos sinápticos, são utilizados para amarzenar o conhecimento adquirido

Redes Neurais Redes Neurais Benefícios das Redes Neurais Paralelismo Generalização Não-linearidade Mapeamento de Entrada-Saída Adaptabilidade Resposta a Evidências Informação Contextual Tolerância a Falhas Implementação em VLSI Uniformidade de Análise e Projetos Analogia Neurobioógica Usado para solucionar problemas Reconhecimento de Padrões Predição Otimização Controle Tipos de aprendizagem Supervisionados Não-Superivsionados

Redes Neurais

Redes Neurais Redes Neurais Cérebro Humano Neurônios são de cinco a seis ordens de grandeza mais lentos que as portas lógicas em silício. Circuito de silício 10-9s nanosegundos Circuito de neurais 10-3s milisegundos Cerébro compensa a taxa de operação lenta pelo número espantoso de neurônios, com conexões maciças entre si. Aproximatamente 10 bilhões de neurônios no córtex humano e 60 trilhões de sinapses ou conexões. Rede Neural Estímulo Receptores Atuadores Resposta

Redes Neurais Redes Neurais Cérebro é extremamente eficiente: Eficiência energética do cérebro é de aproximadamente 10-16 joules por operação por segundo. Os melhores computatores é cerca de 10-6 joules por operação por segundo.

Redes Neurais

Conceitos básicos Estrutura geral das RNA Unidades de processamento ni (nós) Estado de ativação ai Função de ativação Fi Função de saída ƒi Conexões wij Topologia

Unidades de processamento Função: receber entradas de conjunto de unidades A, computar função sobre entradas e enviar resultado para conjunto de unidades B Entrada total x1 w1 x2 w2 f (åxiwi) f (åxw) y wN xN

Modelo Geral Redes Neurais

Unidades de processamento Estado de ativação Representa o estado dos neurônios da rede Pode assumir valores Binários (0 e 1) Bipolares (-1 e +1) Reais Definido através de funções de ativação

Funções de ativação Processa conjunto de entradas recebidas e o transforma em estado de ativação Funções de ativação típicas envolvem: Adições Comparações Transformações matemáticas

Funções de ativação Função de ativação Atualiza estado de ativação a(t + 1) = F [a(t), u(t)] a(t + 1) = F [a(t)] a(t + 1) = F [u(t)] Atualização Síncrona (mais comum) Assíncrona

í Funções de ativação Funções de ativação mais comuns a(t + 1) = u(t) (linear) a(t + 1) = a(t + 1) = 1/(1 + e- lu(t)) (sigmoid logística) a(t + 1) = (1 - e-lu(t)) (tangente hiperbólica) (1 +e-lu(t)) 1 , se u(t) ³ q (threshold ou limiar) í 0, se u(t) < q

Tipos de Função de Ativação Redes Neurais 1. Função de limiar

Tipos de Função de Ativação Redes Neurais 2. Função Linear por Partes

Tipos de Função de Ativação Redes Neurais 3. Função Sigmóide a é o parâmetro da inclinação

Tipos de Função de Ativação Redes Neurais 4. Função Sinal 5. Função Tangente Hiperbólica

Funções de saída Função de saída Transforma estado de ativação de uma unidade em seu sinal de saída yi (t) = ƒi (ai (t)) Geralmente é uma função identidade

Valores de entrada e saída Sinais de entrada e saída de uma RNA geralmente são números reais Números devem estar dentro de um intervalo Tipicamente entre -1 e +1 ou 0 e 1 Codificação realizada pelo projetista da rede Técnica de codificação mais simples é a binária Número restrito de aplicações

Conexões Definem como neurônios estão interligados Nós são conectados entre si através de conexões específicas Codificam conhecimento da rede Uma conexão geralmente tem um valor de ponderamento ou peso associada a ela

Conexões Tipos de conexões (wik(t)) Número de conexões de um nó Excitatória: (wik(t) > 0) Inibitória: (wik(t) < 0) Conexão inexistente: (wik(t) = 0) Número de conexões de um nó Fan-in: número de conexões de entrada Fan-out: número de conexões de saída

Topologia Número de camadas Uma camada (Ex Perceptron, Adaline) Multi-camadas (Ex MLP) Completamente conectada Parcialmente conectada Localmente conectada

Completamente conectada Camada i Camada i +1

Parcialmente conectada Camada i Camada i +1

Parcialmente conectada Camada i Camada i +1

Topologia Arranjo das conexões Redes feedforward Redes recorrentes Não existem loops de conexões Redes recorrentes Conexões apresentam loops Mais utilizadas em sistemas dinâmicos Lattices Matriz n-dimensional de neurônios

Redes feedforward Sinais seguem em uma única direção Tipo mais comum OU RN Sinal Tipo mais comum

Redes recorrentes Possuem conexões ligando saída da rede a sua entrada RN Podem lembrar entradas passadas e, conseqüentemente, processar seqüência de informações (no tempo ou espaço)

Representação por Grafos Orientados Redes Neurais

Representação por Grafos Orientados Redes Neurais

Arquiteturas de Redes Redes Alimentadas Adiante com Camada Única Redes Neurais Arquiteturas de Redes Redes Alimentadas Adiante com Camada Única A maneira pela qual os neurônios de uma rede estão estruturadas está intimamente ligada com o algoritmo de aprendizagem. Forma mais simples de uma rede em camadas Rede é estritamente do tipo alimentado adiante ou acíclica

Arquiteturas de Rede Redes Alimentadas Adiante com Múltiplas Única Redes Neurais Arquiteturas de Rede Redes Alimentadas Adiante com Múltiplas Única Presença de uma ou mais camadas ocultas Função dos neurônios ocultos é intervir entre a entrada externa e a saída da rede de uma maneira útil. Adicionando-se uma ou mais camadas ocultas, tornamos a rede capaz de extrair estatístacas de ordem elevada Podem ser totalmente conectada ou parcialmente conectada.

Arquiteturas de Rede Redes Recorrentes Redes Neurais Arquiteturas de Rede Redes Recorrentes Redes neurais recorrentes possui pelo menos um laço de realimentação Redes Recorrentes sem Laços de Auto-Realimentação e sem Neurônio Ocultos

Arquiteturas de Redes Redes Recorrentes com Neurônio Ocultos Redes Neurais Arquiteturas de Redes Redes Recorrentes com Neurônio Ocultos

Redes Neurais

Projeto de Redes Neurais Projeto de sistemas convencionais Formular modelo matemático a partir de observações do ambiente Validar o modelo com dados reais Construir o sistema utilizando o modelo Projeto de Redes Neurais Baseado apenas nos dados Exemplos para treinar uma rede devem ter padrões positivos e negativos

Conjunto de dados Tamanho depende da complexidade dos dados Quanto maior a complexidade, maior a quantidade necessária Pré-processamento dos dados Dados numéricos Presença de valores em todos os campos Balanceamento entre classes

Pré-processamento dos dados Conversão de valores simbólicos para valores numéricos Quando os valores não apresentam ordenação Vetores de valores binários, cada um com um elemento igual a 1 e os demais iguais a 0 Tamanho do vetor igual ao número de valores diferentes Quando os valores apresentam ordenação Codificar cada valor por um número real Codificar cada valor por um vetor binário, utilizando código cinza

Pré-processamento dos dados Estimativa de valores ausentes Média de todos os valores do mesmo campo Média entre anterior e posterior Criação de um novo valor Normalização de valores numéricos Normalizar cada campo individualmente Assegurar que todos os valores de um dado campo estejam dentro de um intervalo (Ex. [0.0,...,1.0])

Criação de conjuntos de dados Dividir o conjunto de dados em: Subconjunto de treinamento (50% dos dados) Necessidade de manter uniformidade pode reduzir proporção Subconjunto de validação (25% dos dados) Subconjunto de teste (25% dos dados) Dividir dados aleatoriamente entre os conjuntos Conjuntos devem ser disjuntos Repetir o processo acima três vezes Criando três conjuntos, cada um com subconjuntos de treinamento, validação e teste

Projeto da rede Escolha do modelo Selecionar arquitetura adequada para a rede Número de camadas Número de nós da camada de entrada igual ao de pixels (campos) do vetor de entrada Pré-processamento pode aumentar ou diminuir número de campos

Aprendizado Capacidade de aprender a partir de seu ambiente e melhorar sua performance com o tempo Parâmetros livres de uma RNA são adaptados através de estímulos fornecidos pelo ambiente Processo iterativo de ajustes aplicado a sinapses e thresholds Idealmente, a RNA sabe mais sobre seu ambiente após cada iteração

Aprendizado RNA deve produzir para cada conjunto de entradas apresentado o conjunto de saídas desejado wik(t+ 1) = wik(t) + Dwik(t)

Aprendizado Mecanismos de aprendizado Modificação de pesos (Dwij(t)) associados às conexões Armazenamento de novos valores em conteúdos de memória Acréscimo e/ou eliminação de conexões/neurônios

Aprendizado Algoritmos de aprendizado Paradigmas de aprendizado Conjunto de regras bem definidas para a solução de um problema de aprendizado Grande variedade Cada um com suas vantagens Diferem na maneira como ajuste Dwik(t) é realizado Paradigmas de aprendizado Diferem na maneira como RNA se relaciona com seu ambiente

Aprendizado Processos de Aprendizado Algoritmos de Aprendizado Aprendizado por correção de erro Aprendizado competitivo Aprendizado Hebbiano Aprendizado de Boltzmann Paradigmas de Aprendizado Aprendizado supervisionado Aprendizado de reforço Aprendizado não supervisionado

Aprendizado por correção de erro Regra Delta (Widrow e Hoff 1960) Erro: ek(t) = dk(t) - yk(t) Minimizar função de custo baseada em ek(t) Função de custo c(t) = -1/2åe2k(t) Minimização de c(t) utiliza método de gradiente descendente Aprendizado atinge solução estável quando os pesos não precisam mudar muito

Aprendizado por correção de erro Após seleção da função de custo, aprendizado se torna um problema de otimização RNA é otimizada pela minimização de c(t) com respeito aos pesos da rede Modelo matemático: Dwik(t) = hek(t)xi(t)

Aprendizado por correção de erro Taxa de aprendizado (h) 0 < h < 1 Taxas pequenas Taxas grandes Taxas variáveis Média das entradas anteriores Estimativas estáves de peso Aprendizado lento Aprendizado rápido Captação de mudanças no processo Instabilidade

Aprendizado competitivo Von der Marlsburg (1973) Neurônios competem entre si para ser ativado Apenas um neurônio se torna ativo Adequado para descobrir características estatisticamente salientes Podem classificar conjuntos de entradas

Aprendizado competitivo Elementos básicos Conjunto de neurônios iguais (exceto por alguns pesos randomicamente distribuídos Limite no poder de cada neurônio Mecanismo que permita neurônios competirem pelo direito de responder a um dado subconjunto de entradas (Winner-takes-all) Neurônios individuais se especializam em conjuntos de padrões semelhantes

Aprendizado competitivo Aprendizado competitivo mais simples Uma camada de neurônios completamente conectados a entrada (excitatória) Conexões laterais entre neurônios (inibitórias) åw2ik (t) = 1 (para cada neurônio) Modelo matemático: Dwik(t) = h (xi(t) - wik(t)) (vencedor)

Aprendizado supervisionado Professor externo Possui conhecimento sobre ambiente Representado por conjunto de pares (x, d) Geralmente, a rede não possui informações prévias sobre ambiente Parâmetros da rede são ajustados por (x,d) Rede procura emular professor

Aprendizado por reforço Crítico externo Processo de tentativa e erro Procura maximizar sinal de reforço Se ação tomada por sistema é seguida por estado satisfatório, sistema é fortalecido, caso contrário, sistema é enfraquecido (lei de Thorndike)

Aprendizado por reforço Tipos de reforço Positivo = recompensa Negativo = punição Nulo

Supervisionado X Reforço

Aprendizado não supervisionado Não tem crítico ou professor externo Extração de características estatisticamente relevantes Cria classes automaticamente Aprendizado não supervisionado X supervisionado Problema de escala Rede modular

Tarefas de aprendizado Escolha do procedimento de aprendizado é influenciada pela tarefa a ser realizada pela rede

Principais tarefas de aprendizado

Redes Neurais

Redes Neurais