420 likes | 492 Views
.3. Neurônio. Perceptron AND. Entradas 0 or 1 Saída é 1 quando ambos x 1 e x 2 são 1. EE-214/2011. .5*1+.5*0+.75*-1 = -.25 output = 0. .5*1+.5*1+.75*-1 = .25 output = 1. x 1. .5*0+.5*0+.75*-1 = -.75 output = 0. 1. 0. x 2. 0. 1. Perceptron OR. Entradas 0 or 1
E N D
.3 Neurônio
Perceptron AND Entradas 0 or 1 Saída é 1 quando ambos x1 e x2 são 1 EE-214/2011 .5*1+.5*0+.75*-1 = -.25 output = 0 .5*1+.5*1+.75*-1 = .25 output = 1 x1 .5*0+.5*0+.75*-1 = -.75 output = 0 1 0 x2 0 1
Perceptron OR Entradas 0 or 1 Saída é 1 quando pelo menos um dos dois, x1 ou x2 é 1 x1 1 0 x2 0 1 EE-214/2011 .5*1+.5*1+.25*-1 = .75 output = 1 .5*1+.5*0+.25*-1 = .25 output = 1 .5*0+.5*0+.25*-1 = -.25 output = 0
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}); EE-214/2011 Discriminante Linear via Perceptron
Perceptron XOR x1 1 0 x2 0 1 EE-214/2011 • Entradas 0 or 1 • Saída é 1 quando somente • um dos dois, x1 ou x2 é 1 Não separável por hiperplano Tentar Associações de Neurônios
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 EE-214/2011
.25 OR .5 x1 O .5 .5 x2 .5 .75 AND x1 x1 1 1 .5 0 0 x2 x2 -.5 0 0 1 1 EE-214/2011
Redes Neurais Artificiais EE-214/2011
Tipos de Redes 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 EE-214/2011 ART Kohonen Hopfield MLP Elman
Cérebro Humano 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) EE-214/2011 • 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 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 EE-214/2011
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 Principais Desvantagens de Redes Neurais Artificiais Entradas Saídas Caixa Preta EE-214/2011
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... EE-214/2011
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... EE-214/2011 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 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... EE-214/2011 • O agrupamento (clustering) consiste em colocar os padrões similares em um mesmo grupo.
A B B A B A A B B A B A A B B A B A Estruturas de RNA Requeridas para Separação EE-214/2011 Configurações Possíveis Classes Não-Convexas XOR Estrutura 1 camada 2 camadas 3 camadas
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... f(x) + ruído yk xk fRNA(x,W) EE-214/2011 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 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... y t Previsão EE-214/2011 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 Classificação 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 EE-214/2011 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 Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... ? Existe algum dado do tipo 10xx111 EE-214/2011 Pelo Conteúdo Pelo Endereço
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... ? Existe algum dado do tipo 10xx111 EE-214/2011 Pelo Conteúdo Pelo Endereço Search
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... Mecanismo de Ajuste y1 r1 u1 + – u2 Planta r2 + y2 – Controlador EE-214/2011 • 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.
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). EE-214/2011 Treinamento Supervisionado de RNA
Métodos de Otimização 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 ... 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 Oipara entrada Xi • Calcular ei = (Ti - Oi) onde Ti é o target backward pass: Calcularwj,ipara cada camada j end atualizar pesos EE-214/2011
Aplicações de RNA Classificação Agrupamento Aproximação de funções Previsão Otimização Memória endereçável por conteúdo Controle outros ... EE-214/2011
Previsão de Séries Temporais y t Previsão EE-214/2011 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.
x y x1 y = f (x) x2 Função Alvo xn x1 yRNA = fRNA(x,W) x2 Rede Neural xn W 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 EE-214/2011 Propriedade de Aproximação Universal
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
% 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 2 para Previsão de Séries Temporais Ajuste de Polinômio
xk xk-1 xk-2 xk-n+1 xk-n z-1 z-1 z-1 yk Rede Neural yk-1 yk-2 yk-n+1 yk-n z-1 z-1 z-1 EE-214/2011 Alternativa 3 para Previsão de Séries Temporais NARMA via RNA yk = fRNA (yk-1,yk-2,...,yk-n,xk,xk-1,xk-2,...,xk-m)
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. Alternativa 4 para Previsão de Séries Temporais ARMA
Agrupamento e Classificação de Padrões
Agrupamento e Classificação W,t MOT TAC J,B W V I mot A BAT EE-214/2011 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 W,t MOT TAC J,B W V I mot A BAT EE-214/2011 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 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; >> net=train(net,x’); Alternativas para Agrupamento: Métodos já vistos