760 likes | 997 Views
Introdução a Redes Neurais. Herman M Gomes DSC/CEEI/UFCG. Definição de uma Rede Neural.
E N D
Introdução a Redes Neurais Herman M Gomes DSC/CEEI/UFCG
Definição de uma Rede Neural • “Uma rede neural é um processador maciçamente paralelo e distribuído constituído por unidades de processamento simples, o qual tem a propensão natural de armazenar conhecimento experimental e torná-lo disponível para uso.” [Haykin99]
Algumas Semelhanças entre uma Rede Neural e o Cérebro • O conhecimento é adquirido do ambiente pela rede neural através de um processo de aprendizagem • Os pesos das conexões entre neurônios são utilizados para armazenar o conhecimento adquirido
Características de Redes Neurais • Generalização • Não-linearidade (ao se utilizar neurônios não lineares) • Aprendizagem a partir de exemplos (a partir de tabelas de entrada-saída • Adaptatividade a mudanças no ambiente • Respostas fornecidas com um nível de confiança • Tolerância a falhas • Facilidade de implementação em Hardware (VLSI) • Analogia neurobiológica
O Cérebro Humano Rede Neural Estímulos Sensores Atuadores Respostas Sistema Nervoso Central Circuitos Inter-regiões Circuitos locais Neurônios Nível de Abstração Árvores dendrídicas Microcircuitos neurais Sinapses Moléculas
Modelo Computacional de um Neurônio • Um conjunto de sinapses, ou pesos de conexão • Um somador dos sinais de entrada ponderados pelos pesos de conexão • Uma função de ativação para limitar a amplitude de saída do neurônio
Arquiteturas Neurais • Redes de única camada sem retro-alimentação
Arquiteturas Neurais • Redes de múltiplas camadas sem retro-alimentação
Arquiteturas Neurais • Redes recorrentes
Representação do Conhecimento • O conhecimento normalmente consiste de 2 tipos de informação: • O estado conhecido do ambiente, representado por fatos (informação a priori). • Observações (medições) sobre o ambiente obtidas em termos de sensores. • O conhecimento pode ser rotulado ou não-rotulado • Exemplos (observações) utilizados para treinar uma rede neural podem ser positivos ou negativos.
Representação do Conhecimento • Existe um conjunto de quatro regras intuitivas que explicam de uma forma geral a representação do conhecimento numa rede neural [Anderson88]
Representação do Conhecimento • Regra 1: Entradas similares de classes similares devem normalmente produzir representações similares dentro da rede neural, e devem portanto ser classificadas como sendo da mesma classe.
Representação do Conhecimento • Regra 2: Objetos que serão classificados em classes diferentes devem receber representações amplamente diferentes dentro da rede neural.
Representação do Conhecimento • Regra 3. Se uma característica em particular é importante, então deve existir um grande número de neurônios envolvidos na representação daquela característica na rede neural.
Representação do Conhecimento • Regra 4: A informação a priori e invariâncias devem ser incorporadas ao projeto de uma rede neural, portanto simplificando o problema de aprendizagem.
Representação do Conhecimento • Como incorporar informação a priori no projeto de uma rede neural? • Restringindo a arquitetura através do uso de campos receptivos • Restringindo a escolha de pesos sinápticos através do uso de compartilhamento de pesos
Representação do Conhecimento • Como Incorporar Invariâncias no Projeto de uma Rede Neural? • Invariância por estrutura • Invariância por treinamento • Espaços de características invariantes
Representação do Conhecimento • Campos receptivos e compartilhamento de pesos 1 x1 x2 x3 2 x4 x5 x6
Representação do Conhecimento • Invariância por estrutura • Conexões sinápticas entre os neurônios são definidas de tal forma que versões transformadas de uma mesma entrada são forçadas a produzir uma mesma saída • Por exemplo: suponha que forcemos wji=wjk para todos os pixels que estão a uma mesma distância do centro de uma imagem. Então a rede neural construída desta forma será invariante a rotações em torno do centro da imagem.
Representação do Conhecimento • Invariância por treinamento • Subconjunto das possíveis transformações que um vetor de entrada pode sofrer são apresentados durante o treinamento • Exemplo1: para reconhecer objetos visuais independente do ângulo de visão, pode-se treinar a rede com diferentes visões planas do objeto (reconhecimento 3D a partir de imagens 2D). • Exemplo2: para determinar que uma certa caligrafia pertence a um indivíduo, pode-se treinar uma rede neural com diferentes amostras de caracteres de um mesmo autor. • Muito útil quando é difícil se derivar um modelo para os dados. • Desvantagens: overhead computacional, variações de treinamento precisam ser fornecidas para cada nova classe.
Representação do Conhecimento • Espaços de Características Invariantes • Vantagens: redução da dimensão do espaço de entrada, arquitetura da rede pode ser mais simples, invariância normalmente vale para todas as classes de objetos. • Possível desvantagem: quando o processo de extração de características é muito complicado ou demanda muito tempo. Estimativa de classe Extrator de Características Invariantes Entrada Classificador Neural
Redes Neurais e Inteligência Artificial • Nível de explicação • IA clássica: modelos mentais simbólocos • Redes Neurais: modelos neurobiológicos • Estilo de processamento • IA clássica: sequencial • Redes Neurais: paralelo • Estrutura da representação • IA clássica: manipulação formal top-down de uma linguagem de algoritmos e representações de dados • Redes Neurais: processadores paralelos distribuídos com a habilidade natural de aprender, e que operam naturalmente de uma maneira bottom-up.
Redes Neurais e Inteligência Artificial • Extração de regras de redes neurais • Alternativa para unir as abordagens conexionistas e simbolistas na solução de um problema • Validar o correto funcionamento das redes • Descobrir características de destaque no espaço de entrada (mineração de dados) • Tornar o conhecimento aprendido compreensível por seres humanos
Redes Neurais como Grafos Dirigidos • Um grafo de fluxo de sinal é uma rede de ligações dirigidas que são interconectadas em certos pontos chamados de nós. • Um nó típico j possui um nó de sinal associado xj. • Uma típica ligação dirigida se origina no nó j e termina no nó k, tendo uma função de transferência que especifica a forma pela qual o sinal yk no nó k depende do sinal xjno nó j.
Redes Neurais como Grafos Dirigidos wkj yk =wkj . xj xj f(.) yk =f(xj) xj xj yk =yi + yj xj
Redes Neurais como Grafos Dirigidos • Grafo de fluxo de sinal representando um neurônio x0=+1 vk f(.) yk x1 ... xm
Aprendizagem • Definição no contexto de Redes Neurais “Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo de estimulação pelo ambiente onde a rede se encontra. O tipo de aprendizagem é determinado pela forma na qual as mudanças de parâmetros ocorrem”
Aprendizagem • A definição anterior implica no seguinte: • A rede neural é estimulada pelo ambiente • A rede neural sofre mudanças em seus parâmetros livres como um resultado desta estimulação • A rede neural passa a responder de maneira diferente ao ambiente devido às mudanças que ocorreram em sua estrutura interna • Algoritmo de Aprendizagem: conjunto bem definido de regras para a solução de um problema de aprendizagem.
Aprendizagem • Tipos de Aprendizagem • Correção do erro • Com base em memória • Hebbiana • Competitiva • Com e sem professor • Usos da Aprendizagem • Associação de Padrões • Reconhecimento de Padrões • Aproximação de Funções • Controle • Filtragem
Aprendizagem • Correção do erro ek(n)=dk(n) – yk(n) x1(n) x2(n) f(.) -1 x(n) ... xj(n) yk(n) dk(n) vk(n) ... xm(n) ek(n)
Aprendizagem • Correção do erro • Objetivo: aplicar uma sequência de ajustes corretivos aos pesos do neurônio k, de forma a passo-a-passo forçar o sinal de saída yk a se tornar cada vez mais próximo do sinal de resposta dk. • Este objetivo é atingido através da minimização de uma função de custo ou de índice de desempenho E(n), definida como:
Aprendizagem • Correção do erro • A minimização da função E(n) leva a uma regra de aprendizagem comumente denominada de delta rule ou regra de Widrow-Hoff (1960):
Aprendizagem • Com base em Memória • Todas as experiências passadas são explicitamente armazenadas em uma vasta memória de exemplos de entrada-saída corretamente classificados: • Exemplo: aprendizagem utilizando os k-vizinhos-mais-próximos. • Uma métrica de distância no espaço de entrada precisa ser especificada.
Aprendizagem • Hebbiana (contexto neurobiológico) • Quando um axônio de uma célula A está próximo o suficiente para excitar uma célula B e repetidamente, ou persistentemente, faz a célula B disparar, então algum processo de crescimento ou mudanças metabólicas passam a ocorrer em uma ou ambas as células de forma que observa-se um aumento na eficiência de A como uma das células responsáveis pelo disparo de B
Aprendizagem • Hebbiana (contexto computacional) • Se dois neurônios em cada lado de uma conexão são ativados simultaneamente (sincronamente), então o peso daquela sinapse é seletivamente aumentado. • Se dois neurônios em cada lado de uma conexão são ativados assincronamente, então o peso daquela conexão é seletivamente diminuida ou eliminado. • Em outras palavras, a regra de Hebb é um mecanismo para aumentar a eficiência de uma sinapse na forma de uma função da correlação entre as atividades pré e pós sinapticas.
Aprendizagem • Competitiva • Os neurônios de uma rede neural competem entre si para se tornarem ativos (através de um mecanismo de inibição lateral). • Em uma rede baseada em aprendizagem hebbiana, vários neurônios de saída podem estar ativos simultaneamente, porém, com aprendizagem competitiva, apenas um neurônio de saída está ativo num dado instante de tempo.
Aprendizagem • Sem professor • Por reforço reforço primário vetor de entrada Ambiente Crítico heurística de reforço Sistema de Aprendizagem ações
Aprendizagem • Sem professor • Não supervisionada ou auto-organizável • É possível utilizar uma regra de aprendizagem competitiva para executar uma aprendizagem não supervisionada vetor de entrada descrevendo o estado do ambiente Sistema de Aprendizagem Ambiente
Aprendizagem • Usos da Aprendizagem • Associação de Padrões xk yk, k=1,2,...,q • Auto (xk = yk) Vs. Heteroassociação (xk¹yk) • Fases de Armazenamento (Storage) e de Uso (Recall) vetor de entrada x vetor de saída y Associador de Padrões
Aprendizagem • Usos da Aprendizagem • Reconhecimento de Padrões Classes de Padrões vetor de características y vetor de entrada x Rede neural não-supervisionada para extração de características 1 Rede neural supervisionada para classificação 2 3 ... r . y x . . Espaço de decisão r-dimensional Espaço de observações m-dimensional Espaço de características q-dimensional
Aprendizagem • Usos da Aprendizagem • Aproximação de funções • Considere o mapeamento não-linear d=f(x) • Suponha que f(.) seja desconhecida e que dispomos de apenas um conjunto de amostras da função • O objetivo é projetar uma rede neural que aproxime a função desconhecida f(.) de tal forma que:
Perceptrons de única camada • McCulloch and Pitts (1943) • Introduziram a idéia de redes neurais como máquinas de computação • Hebb (1949) • Postulou a primeira regra para aprendizagem auto-organizável • Rosenblatt (1958) • Apresentou o perceptron como o primeiro modelo de rede neural para aprendizagem supervisionada
Perceptrons de única camada • O problema da filtragem adaptativa x1(i) Sistema Dinâmico Desconhecido ... Entradas d(i) xm(i) x1(n) w1(i) x2(n) w2(i) f(.) -1 Modelo Adaptativo para o sistema ... wj(i) xj(n) y(i) d(i) v(i) ... wk(i) xm(n) e(i)
Perceptrons de única camada • O comportamento externo do sistema pode ser descrito por um conjunto de pontos P={x(i), d(i); i=1,2,...,n,...} x(i)=[x1(i), x2(i),..., xm(i)]T • Considerando um neurônio linear (f(x)=x), a saída y(i) tem exatamente o mesmo valor de v(i) (o campo local induzido) y(i)=v(i)=xT(i) w(i) w(i)=[w1(i), w2(i),..., wm(i)]T • Tipicamente, y(i) é diferente de d(i), e portanto, o resultado de sua comparação resulta em um sinal de erro: e(i)= d(i)- y(i)
Perceptrons de única camada • A forma pela qual o sinal de erro e(i) é utilizado para controlar os ajustes nos pesos é determinada pela função de custo utilizada para para derivar o algoritmo de filtragem adaptativa de interesse. • Esta questão é fortemente relacionada a um problema de otimização matemática. • A seguir apresentaremos algumas técnicas de otimização sem restrições que serão úteis no entendimento do treinamento não apenas de filtros adaptativos bem como de neurônios simples.
Perceptrons de única camada • Considere uma função de custo C(w) que é continuamente diferenciável com relação a um certo vetor de pesos (parâmetro) w. • C(w) mapeia elementos de w em números reais é uma medida que permite escolher o vetor w de um algoritmo de filtragem adaptativa de forma que o filtro de comporte de forma ótima. • O problema então se resume a encontrar uma solução ótima w* que satisfaz a condição: C(w*)<=C(w) “Minimize a função de custo C(w) com respeito ao vetor de pesos w”
Perceptrons de única camada • Portanto, a condição necessária para uma solução ótima é a seguinte: • O vetor gradiente da função de custo é escrito da seguinte forma:
Perceptrons de única camada • Uma classe de algoritmos de otimização sem restrições que é apropriada para o projeto de filtros adaptativos é baseada no conceito de descendente iterativo (repetitivo) local: “Partindo de uma estimativa inicial w(0), gere uma seqüência de vetores de peso w(1), w(2),.., de tal forma que a função de custo C(w) é reduzida a cada iteração do algoritmo.” Ou seja, C(w(n+1)) < C(w(n)) • Espera-se que o algoritmo irá eventualmente convergir para a solução ótima w*
Perceptrons de única camada • Método do descendente mais inclinado • Os ajustes sucessivos aplicados ao vetor de pesos w são na direção do descendente mais inclinado, ou seja, na direção oposta ao vetor de gradiente • Assim, o algoritmo é formalmente descrito pela seguinte equação: • Pela equação acima, ao passar da iteração n para a n+1, o algoritmo aplica a correção: • Esta equação é na verdade uma representação mais formal da regra de correção do erro descrita anteriormente.