Neurônio .3.

Slides:



Advertisements
Apresentações semelhantes
REDES NEURAIS ARTIFICIAIS
Advertisements

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.
PERCEPTRON (CONTINUAÇÃO)
Backpropagation Through Time
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Prof. Júlio Cesar Nievola PPGIA - PUCPR
Redes Neurais Artificiais
Prof. Júlio Cesar Nievola
Redes Neurais Artificiais
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
Reconhecimento de Padrões Multi-Layer Perceptron (MLP)
Cérebro Artificial Intelligence, a modern approach
Redes Neurais (Conceitos Fundamentais)
Raciocínio Baseado em Casos
Redes de Kohonen Paulo Adeodato e Germano Vasconcelos
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
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
Previsão de consumos a curto prazo
Daniela Justiniano de Sousa
A Framework for Robots Development and Programming Based on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D DEE-UFMG DELT-UFMG.
Introdução O que é computação?.
Inteligência Artificial
Uma Introdução às Redes Neurais
Aprendizagem de Máquina - Agrupamento
Redes Neurais Prof. Alex F. V. Machado.
Aprendizado de Máquina
REDES NEURAIS ARTIFICIAIS: Do Aprendizado Natural
Redes Neurais Artificiais
SBRN’02 - Simpósio Brasileiro de Redes Neurais
Redes Neuronais/Neurais/ Conexionistas Introdução
Redes Neurais Artificiais
Adaline ta distância entre saída e resposta desejada
RNA – Radial Basis Function
(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.
José Reinaldo Lemes Júnior Orientador: Prof. Wilian Soares Lacerda.
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
Redes Neurais Artificiais
Redes Neurais Artificial
Inteligência Artificial I
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
Revisão de Sistemas Inteligentes
Redes Neurais Artificiais
O Que São as Redes Neurais Artificiais
DAS MSPO Eduardo Camponogara
Inteligência Artificial
Redes Neurais Artificiais Prof. Júlio Cesar Nievola PPGIA – PUCPR Especialização em Inteligência Computacional.
Redes Neurais Artificiais
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.
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:

Neurônio .3

Perceptron AND EE-214/2011 x1 1 x2 Entradas 0 or 1 Saída é 1 quando ambos x1 e x2 são 1 1 x1 x2 .5*0+.5*0+.75*-1 = -.75 output = 0 .5*1+.5*1+.75*-1 = .25 output = 1 .5*1+.5*0+.75*-1 = -.25 output = 0

Perceptron OR EE-214/2011 x1 1 x2 Entradas 0 or 1 Saída é 1 quando pelo menos um dos dois, x1 ou x2 é 1 1 x1 x2 .5*0+.5*0+.25*-1 = -.25 output = 0 .5*1+.5*1+.25*-1 = .75 output = 1 .5*1+.5*0+.25*-1 = .25 output = 1

Discriminante Linear via Perceptron EE-214/2011 Discriminante Linear via Perceptron clear all P = [-1 -1 1 1; -1 1 -1 1]; T = [0 0 0 1]; net=newp(minmax(P),1); net.trainParam.epochs = 20; net = train(net,P,T); plotpv(P,T); plotpc(net.IW{1},net.b{1});

Perceptron XOR EE-214/2011 x1 1 x2 Entradas 0 or 1 Saída é 1 quando somente um dos dois, x1 ou x2 é 1 1 x1 x2 Não separável por hiperplano Tentar Associações de Neurônios

EE-214/2011 Timeline 1943 – Warren S. McCulloch e Walter H. Pitts, modelo de neurônios com limiares binários 1957 – Frank Rosenblatt, classe de máquinas com aprendizado denominados perceptrons 1969 – Marvin Minsky e Seymour Papert – apresentam o problema do XOR. 1980’s – David E. Rumelhart, Geoffrey E. Hinton e Ronald J. Williams, generalized delta rule for learning by back-propagation para treinamento de MLP A brief history of neural networks follows. The origin of neural networks dates back to the 1940s. McCulloch and Pitts (1943) and Hebb (1949) researched networks of simple computing devices that could model neurological activity and learning within these networks, respectively. Later, the work of Rosenblatt (1962) focused on computational ability in perceptrons, or single-layer feed-forward networks. Proofs showing that perceptrons, trained with the Perceptron Rule on linearly separable pattern class data, could correctly separate the classes generated excitement among researchers and practitioners. This excitement waned with the discouraging analysis of perceptrons presented by Minsky and Papert (1969). The analysis pointed out that perceptrons could not learn the class of linearly inseparable functions. It also stated that the limitations could be resolved if networks contained more than one layer, but that no effective training algorithm for multi-layer networks was available. Rumelhart, Hinton, and Williams (1986) revived interest in neural networks by introducing the generalized delta rule for learning by backpropagation, which is today the most commonly used training algorithm for multi-layer networks. More complex network types, alternative training algorithms involving network growth and pruning, and an increasing number of application areas characterize the state-of-the-art in neural networks. But no advancement beyond feed-forward neural networks trained with backpropagation has revolutionized the field. Therefore, much work still waits.

EE-214/2011 O .5 -.5 .75 .25 OR AND x1 x2 1 x1 x2

Redes Neurais Artificiais EE-214/2011 Redes Neurais Artificiais

Tipos de Redes EE-214/2011 Perceptron Simples Perceptron Multicamadas Redes de Base Radial Redes de Hopfield SOM (Kohonen) Types of neural networks Recurrent network The echo state network Stochastic neural networks Boltzmann machine Modular neural networks Committee of machines Associative neural network (ASNN) Instantaneously trained networks Spiking neural networks (SNNs) Neuro-fuzzy networks ART Grossberg ART Kohonen Hopfield MLP Elman

Cérebro Humano EE-214/2011 Número de Neurônios: 4 x 1010 a 1011 Número de Conexões: até 104 per neuron Taxa de Mortalidade de Neurônios: 105 per day Taxa de Aumento de Neurônios: ~0 Velocidade nas Sinapses: 1 kHz (computer 3.0 GHz) Reestruturação: Bebê < 2anos  106 connections/s Consumo de Energia: 10-16 J/operação/s (computador  10-6) Still have ~98% of original neurons at age 60 Adaptação por meio de aprendizado Comportamento sensível ao contexto Tolerância a incertezas Capacidade de manipular informações incompletas Grande capacidade de memória Capacidade de processamento em tempo real

Vantagens de Redes Neurais Artificiais EE-214/2011 Vantagens de Redes Neurais Artificiais A prendizado a partir de dados, sem necessidade de Engenheiro de Conhecimentos Capacidade de generalização Capacidade de tratar multicolinearidade Obtenção de modelos a partir de dados ruidosos Obtenção de modelos a partir de dados incompletos Permite tratar modelos não lineares Permite tratar dados discontínuos Sem dependência do tipo de distribuição Computação simples em arquitetura massivamente paralela Processamento rápido no modo de aplicação Apresenta conhecimento distribuído Tolerante a falhas nos nós Pode ser dinâmico

Principais Desvantagens de Redes Neurais Artificiais EE-214/2011 Principais Desvantagens de Redes Neurais Artificiais Caixa Preta Entradas Saídas Dificuldade de interpretação (caixa preta) Dificuldade de debug, por causa da representação distribuída Treinamento pode ser lento Dificuldade em definir topologia Treinamento pode falhar por captura em um mínimo local O problema pode não ser descritível em termos de números

Aplicações de RNA EE-214/2011 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data

Aplicações de RNA EE-214/2011 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo manuscrito) representado por um vetor de caracteristicas.

Aplicações de RNA EE-214/2011 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data O agrupamento (clustering) consiste em colocar os padrões similares em um mesmo grupo.

Estruturas de RNA Requeridas para Separação EE-214/2011 Estruturas de RNA Requeridas para Separação Classes Não-Convexas Configurações Possíveis Estrutura XOR 1 camada A B B A 2 camadas A B B A 3 camadas A B B A

Aplicações de RNA EE-214/2011 f(x) + ruído Classificação Agrupamento yk xk f(x) + ruído fRNA(x,W) Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data Dado um conjunto de N pares entrada-saída, (x1, y1), (x2,y2), ..., (xN,yN), gerados por uma função desconhecida f(x), sujeito a ruído, a tarefa da aproximação de função é achar uma estimativa, fRNA(x,W).

Aplicações de RNA EE-214/2011 Classificação Agrupamento Previsão y t Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.

Aplicações de RNA EE-214/2011 Classificação min J(x) Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... min J(x) s.a. h(x) = 0 g(x)  0 x  X MIMD: Multiple Instruction Multiple Data O problema de otimização consiste em selecionar um ponto de um conjunto (de pontos viáveis) que resulta no melhor valor de uma função objetivo. O ponto pode pertencer a Rn ou em espaço de funções como L2 (controle ótimo). A função objetivo J(.) pode ser custo (min) ou retorno (max). O conjunto de pontos viáveis é caracterizado por equações h(x) ou inequações g(x).

Aplicações de RNA EE-214/2011 Pelo Endereço Pelo Conteúdo Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... Endereço Conteúdo 0000 1010110 0001 1100101 0010 1000111 0011 0010100 ... 1111 0101111 Endereço Conteúdo 0000 1010110 0001 1100101 0010 1000111 0011 0010100 ... 1111 0101111 MIMD: Multiple Instruction Multiple Data 10xx111 Existe algum dado do tipo ?

Aplicações de RNA EE-214/2011 Pelo Endereço Pelo Conteúdo Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... Endereço Conteúdo 0000 1010110 0001 1100101 0010 1000111 0011 0010100 ... 1111 0101111 Endereço Conteúdo 0000 1010110 0001 1100101 0010 1000111 0011 0010100 ... 1111 0101111 MIMD: Multiple Instruction Multiple Data Search 10xx111 Existe algum dado do tipo ?

Aplicações de RNA EE-214/2011 r1 r2 u1 u2 y1 y2 + – Classificação Mecanismo de Ajuste Planta r1 r2 u1 u2 y1 y2 + – Controlador Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data Dado um sistema dinâmico descrito por onde u(t) é a entrada do sistema e y(t) é a saída, o problema de controle consiste em obter uma lei de controle u(t) que faça o sistema evoluir conforme especificações desejadas.

Métodos de Treinamento (Aprendizado)

Treinamento Supervisionado de RNA EE-214/2011 Treinamento Supervisionado de RNA Particionar os dados em: Conjunto de Treinamento Conjunto de Teste Conjunto de Validação Ajustar os Pesos Variar os pesos de modo que resultem em diminuição do erro na saída para o dados do conjunto de treinamento. Se o erro na saída para o dados do conjunto de teste começar a aumentar, terminar o treinamento. Verificar se a rede obtida produz bons resultados para o cojunto de validação. Overfitting: A rede ajustou-se ao ruído Generalização: Produz resultados adequados para dados não utilizados no treinamento (por exemplo, os do conjunto de teste).

Métodos de Otimização EE-214/2011 Back Propagation (mais utilizado) Método dos Momentos Métodos Superlineares (Newton, Kalman) Algoritmos Bioinspirados (p.ex., Genético) Poliedros Flexíveis Otimização Multi-Objetivos ...

Algoritmo Back-Propagation EE-214/2011 Algoritmo Back-Propagation Inicializar os pesos da rede (por exemplo, aleatoriamente) While (not_critério_parada) For i = 1:Num_Amostras_Entrada_Saída forward pass: Calcular saída Oi para entrada Xi Calcular ei = (Ti - Oi) onde Ti é o target backward pass: Calcular wj,i para cada camada j end atualizar pesos

Aplicações de RNA EE-214/2011 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... MIMD: Multiple Instruction Multiple Data

Previsão de Séries Temporais

Previsão de Séries Temporais EE-214/2011 Previsão de Séries Temporais Previsão y t MIMD: Multiple Instruction Multiple Data Dado um conjunto de N amostras (y(t1), y(t2), ..., y(tN)) de uma sequência no tempo, estimar o valor de y(tN+k), k > 0.

Propriedade de Aproximação Universal EE-214/2011 Propriedade de Aproximação Universal Rede Neural x1 x2 xn yRNA = fRNA(x,W) W Função Alvo y = f (x) x y Propriedade de Aproximação Universal: Dada uma função f(x) sobre um domínio X  Rm e  > 0, é possível construir fRNA(x,W) de modo que: | f(x) - fRNA(x,W) | < , x  X

Propriedade de Aproximação Universal Barron, A. R.: Universal approximation bounds for superpositions of a sigmoidal function, IEEE Transactions on Information Theory, 39, 1993, pp. 930-945. Cybenko, G.: Approximation by superposition of a sigmoidal function, Mathematics of Control, Signals, and Systems, 2, 1989, pp. 303-314. K. Funahashi, On the approximate realization of continuous mappings by neural networks, Neural Networks, v.2 n.3, 1989, pp.183-192. Hecht-Nielsen, R.: Kolmogorov's mapping neural network existence theorem, In: International Conference on Neural Networks, vol. 3, IEEE, Washington DC, 1989, pp. 11-14. K. Hornik , M. Stinchcombe , H. White, Multilayer feedforward networks are universal approximators, Neural Networks, v.2 n.5, 1989 , pp.359-366. J. Park , I. W. Sandberg, Universal approximation using radial-basis-function networks, Neural Computation, v.3, n.2, Summer 1991, pp.246-257. F. Scarselli , A. C. Tsoi, Universal approximation using feedforward neural networks: a survey of some existing methods, and some new results, Neural Networks, v.11 n.1, jan, 1998, pp.15-37.

Alternativa 1 para Previsão de Séries Temporais Aproximação de Funções % Se x é nx1 e há N pares (x,y) % % Fornecer entradas P na forma % [x1(1) x1(2) ... x1(N) ; ... ; xn(1) xn(2) ... xn(N)] % Fornecer saida ou target T na forma % [y(1) ... y(N)] P=...; T=...; % Especificar estrutura da rede: no caso ‘new feed forward’ net = newff(minmax(P),[2 15 1]); % Treinamento com as entradas P e saidas T net.trainParam.epochs = 200; net = train(net,P,T); % Calcula saidas da rede para as entradas P Y = sim(net,P);

Alternativa 1 para Previsão de Séries Temporais Aproximação de Funções

Alternativa 2 para Previsão de Séries Temporais Ajuste de Polinômio % Supondo que os pares y(k),x(k) já estão definidos > coef = polyfit(x,y,10) > plot(x,y,’r’) > hold on > ychapeu = polyval(coef,x) > plot(x,ychapeu)

Alternativa 3 para Previsão de Séries Temporais EE-214/2011 Alternativa 3 para Previsão de Séries Temporais NARMA via RNA z-1 xk xk-1 xk-2 xk-n xk-n+1 Rede Neural yk yk-1 yk-2 yk-n yk-n+1 yk = fRNA (yk-1,yk-2,...,yk-n,xk,xk-1,xk-2,...,xk-m)

Alternativa 4 para Previsão de Séries Temporais ARMA ARMAX Computes the prediction error estimate of an ARMAX model. M = ARMAX(Z,[na nb nc nk]) or M = ARMAX(Z,'na',na,'nb',nb,'nc',nc,'nk',nk) M : returns the estimated model in an IDPOLY object format along with estimated covariances and structure information. For the exact format of M see also help IDPOLY. Z : The estimation data in IDDATA object format. See help IDDATA [na nb nc nk] are the orders and delays of the ARMAX model A(q) y(t) = B(q) u(t-nk) + C(q) e(t) If the data have several inputs, nb and nk are row vectors with lengths equal to the number of input channels.

Agrupamento e Classificação de Padrões

Agrupamento e Classificação EE-214/2011 Agrupamento e Classificação A V W TAC MOT J,B BAT I mot W,t MIMD: Multiple Instruction Multiple Data A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo manuscrito) representado por um vetor de caracteristicas.

Agrupamento e Classificação EE-214/2011 Agrupamento e Classificação A V W TAC MOT J,B BAT I mot W,t MIMD: Multiple Instruction Multiple Data A tarefa de classificação de padrões é atribuir a das classes pré-especificadas um objeto ou dado (como forma de onda vocal ou símbolo manuscrito) representado por um vetor de caracteristicas.

Alternativas para Agrupamento: Métodos já vistos % Agrupamento Hierárquico - Dendrograma >> y=pdist(x,'euclidean'); >> z=linkage(y,'average'); >> dendrogram(z) % k-means >> [idx,c]=kmeans(x,2) % Fuzzy c-means >> [CENTER, U, OBJ_FCN] = FCM(x,N_CLUSTER) % Expectation-Maximization >> [W,M,V,L] = EM_GM(x,3,[],[],1,[]) % Competitive Network >> net=newc([0 10 ; 0 20],3); >> net=train(net,x’); >> xsim = sim(net,x’); >> Yc = vec2ind(xsim); % SOM >> net=newsom([0 10;0 20],[13],'gridtop','dist',0.9,200,0.01,0); >> net.trainParam.epochs=100;

Muito Obrigado!