Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEvelyn Antonio Alterado mais de 9 anos atrás
1
Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina
Métodos Baseados em Otimização
2
Métodos Baseados em Otimização
Algumas técnicas de AM buscam hipótese recorrendo à otimização de uma função: Ex. erro médio quadrático Em problemas supervisionados, rótulo dos objetos é considerado na formulação Estudaremos duas técnicas: Redes Neurais Artificiais (RNAs) Máquinas de Vetores de Suporte (SVMs) Support Vector Machines
3
Redes Neurais Artificiais samento e controle de diversas informações
Cérebro humano é responsável pelo proces- samento e controle de diversas informações Realizamos ações que requerem atenção a diversos eventos ao mesmo tempo e processamentos variados Ex. pegar objeto, caminhar, envolvem ação de diversos componentes, como memória, coordenação, aprendizado Motivação na construção de máquinas inteligentes André Ponce de Leon de Carvalho 3
4
Redes Neurais Artificiais e funcionamento do sistema nervoso
Sistemas distribuídos inspirados na estrutura e funcionamento do sistema nervoso Objetivo: simular capacidade de aprendizado do cérebro na aquisição de conhecimento Compostas por várias unidades de processamento (“neurônios”) Interligadas por um grande número de conexões (“sinapses”) André Ponce de Leon de Carvalho 4
5
Histórico 1943 Primeiro modelo de neurônio artificial
1940 1950 1960 1970 1943 Primeiro modelo de neurônio artificial W. McCulloch e W. Pitts (neurônio MCP) McCulloch: psicólogo e neurofisiologista Pitts: matemático
6
Histórico 1949 Primeiro trabalho demonstrando aprendizado
1940 1950 1960 1970 1949 Primeiro trabalho demonstrando aprendizado em redes neurais artificiais (D. Hebb) Conseguido através de alterações nos pesos de entrada dos neurônios Regra de Hebb: baseada no reforço das ligações entre neurônios excitados
7
Histórico Propôs algoritmo de treinamento
1940 1950 1960 1970 1958 Modelo de RNA Perceptron de F. Rosenblatt Sinapses ajustáveis com neurônios MCP poderiam ser treinadas para classificação Propôs algoritmo de treinamento
8
Histórico 1969 Artigo de Minsky e Papert
1940 1950 1960 1970 1969 Artigo de Minsky e Papert Perceptron de Rosenblatt não é alguns problemas simples capaz de resolver (Perceptron simples é limitado à resolução de pro- blemas linearmente separáveis)
9
Histórico Década de 70 abordagem conexionista adormecida
1940 1950 1960 1970 Década de 70 abordagem conexionista adormecida Alguns poucos trabalhos importantes: • Redes sem peso Sistemas auto-adaptativos Memórias associativas e modelos auto-organizáveis
10
Histórico Década de 80: ressurgimento 1982 J. Hopfield: propriedades
1940 1950 1960 1970 Década de 80: ressurgimento 1982 J. Hopfield: propriedades RNAs – relação com sistemas associativas físicos das 1986 D. E. Rumelhart e J. L. McClelland Algoritmo de treinamento back-propagation para RNAs multi-camadas resolução de problemas mais complexos
11
Histórico Interesses mais recentes em RNAs: •
1940 1950 1960 1970 Interesses mais recentes em RNAs: • Implementação em hardware Modelos mais próximos ao biológico Sistemas neurais híbridos Busca de algoritmos de treinamento eficientes
12
Redes Biológicas milhares de outros continuamente e em paralelo
Cérebro humano: 1011 neurônios Cada neurônio processa e se comunica com milhares de outros continuamente e em paralelo Cérebro: responsável por funções cognitivas e execução de funções sensoriomotoras e autônomas Tem capacidade de reconhecer padrões e relacioná-los, usar e armazenar conhecimento por experiência e interpretar observações
13
Neurônio Natural Corpo Sinal Dendritos Axônio Sinapse
Um neurônio simplificado: Dendritos Axônio Corpo Sinal Sinapse
14
Neurônio Dendritos são prolongamen- O somma coleta, combina e
tos numerosos dos neurô processa as informações cepção de estímulos nervosos Manda informações já proces- Estes estímulos podem ser do sadas para o axônio meio ambiente, como de outros neurônios Cada dendrito carrega o sinal elétrico para o corpo (somma) da célula principal nios, especializados na re- recebidas dos dendritos
15
Neurônio dio (positivo) criam diferenças de potencial
Concentrações de potássio (negativo) e só- dio (positivo) criam diferenças de potencial V + 40 mV Tempo - 50 mV - 70 mV Disparo Repouso
16
Neurônio Os sinais são transportados
Axônios são prolongamentos Sinapse é o nome dado à co- dos neurônios, responsá nexão entre neurônios veis pela condução dos impulsos elétricos até outro que caracteriza a força da conexão entre dois São responsáveis pela neurônios transmissão de estímulos Os sinais são transportados Alguns axiônios de um através de sinapses por humano adulto podem substâncias químicas cha- chegar a mais de um metro madas neurotransmissores de comprimento Cada sinapse tem um peso, local mais distante
17
Redes Biológicas Neurônios são bem mais lentos que os circuitos elétricos, mas o cérebro é capaz de realizar muitas tarefas mais rápido que qualquer computador Redes neurais biológicas trabalham de forma massiva- mente paralela Neurônios estão organizados em cerca de 1000 nódu- los principais, cada um com 500 redes neurais E cada neurônio pode estar ligado a centenas ou até milhares de outros neurônios
18
Rede Neural Artificial
Uma Rede Neural Artificial (RNA) é um sistema computacional que apresenta um modelo inspirado na estrutura neural do cérebro humano Componentes básicos: Neurônio: unidade computacional básica da rede Arquitetura: estrutura topológica de como os neurônios são conectados Aprendizagem: processo que adapta a rede de modo a computar uma função desejada, ou realizar uma tarefa
19
fa Neurônio artificial w2 x Saída x2 y Entradas Pesos w Sinal
Unidade de processamento fundamental de uma RNA Entradas Pesos x Saída x y xd Sinal Objeto x com d atributos fornece entrada Pesos para as entradas são dados pelo vetor w É realizada uma soma ponderada da entrada, à qual é aplicada uma função de ativação, que fornece a saída final (previsão) 1 ... w 1 ∑ fa w2 w d
20
Neurônio artificial x2 w xd x j w j x1 w u
Entrada total do neurônio: x w x w wd xd Conexões podem ser excitatórias (peso > 0) ou inibitórias (peso < 0) 1 d u x j w j y 2 a j j
21
Neurônio artificial
22
Funções de ativação mais comuns:
Linear: f (u) = u Threshold ou limiar: f (u) = , se u≥Φ Sigmoide Logística: f (u) = 1/(1 + e- u) Tangente hiperbólica: f (u) = (1 - e- u) (1 +e- u) a a 0, se u (ou -1) a a
23
Função linear f(u) u f(u) = u
24
Função limiar f(u) u 1, se u 0, se u f(u) =
25
Função sigmoide logística
1 f(u) =1/(1 + e- u) Função de limiar diferenciável
26
Função tangente hiperbólica f(u) +1 (1 +e- u) -1 (1 - e ) - u f(u) =
27
Topologia Definida por: Número de camadas da RNA
Número de neurônios em cada camada Grau de conectividade dos neurônios Presença ou não de conexões de retropropagação
28
Topologia da camada anterior seguinte
Neurônios podem estar dispostos em camadas Neurônio pode receber como entrada a saída de neurônios da camada anterior E enviar sua saída para entrada de neurônios em camada seguinte camada de camada de conexões camadas intermediárias entrada saída
29
Pode ter diferentes padrões de conexões entre neurônios:
Topologia Rede multicamadas: Pode ter diferentes padrões de conexões entre neurônios: Completamente co Parcialmente co Localmente co- nectada: neurônios nectada: neurônios nectada: neurônios estão todos conecta estão conectados a conectados encon- dos aos da camada apenas alguns neu tram-se em uma re- anterior/seguinte rônios da camada gião específica anterior/seguinte
30
Topologia mada de entrada à de xões de retroalimen-
Rede multicamadas: Pode ter diferentes arranjos de conexões: Redes feedforward: Redes recorrentes: Grades: matriz de processamento da ca- apresentam cone nodos mada de entrada à de xões de retroalimen- saída tação (uso em siste- Tipo mais comum mas dinâmicos)
31
Topologia Escolhas dependem de vários fatores:
Complexidade do problema Dimensionalidade da entrada Características dinâmicas ou estáticas Conhecimento a priori Representatividade dos dados
32
Aprendizado Ajuste dos pesos das conexões
( w(t+1) = w(t) + Δ w(t) Algoritmos de aprendizado Conjunto de regras bem definidas para ensinar a rede a resolver um dado problema Divergem na maneira como os pesos são ajustados Em como Δ w é calculado
33
Aprendizado competição entre neurônios ajustar pesos para reduzir
sos ajustados, geralmente (supervisionado) Hebbiano: baseados na regra (não supervisionado) vos, a conexão entre eles Termodinâmico (Boltzmann): seados em princípios ob- (não supervisionado)
34
Perceptron Desenvolvida por Rosemblat em 1958
Utiliza modelo de McCulloch-Pitts como neurônio Rede mais simples para classificação de dados linearmente separáveis Dados que podem ser separados por um hiperplano
35
Perceptron Aprendizado por correção de erro
Na realidade, é RNA com uma única camada Estado de ativação = ativo = inativo Pode ser usado +1 e -1 também Aprendizado por correção de erro Obter valor de incremento Δ w(t) para que valor w(t+1) = w(t) + Δ w(t) esteja mais próximo da ( solução desejada que w(t)
36
Com entradas x’e pesos w’
Aprendizado Perceptron Considere um neurônio arbitrário Com entradas x’e pesos w’ Ativação = i w’i x’i = w’ . x’ Produto interno Condição de disparo: w’ . x’ = θ Ou w’ . x’ - θ = Limiar de ativação
37
Aprendizado Perceptron x = (1, x1, ..., xn) f
w’ . x’ - θ = 0 é equivalente a adicionar um peso w0 com valor - θ às entradas do neurônio e conectá-lo a uma entrada com valor fixo x0 = 1 ) w = (-θ , w1, ..., wn) x w1 2 w3 +1 1 x x3 w f x = (1, x1, ..., xn) -
38
Aprendizado y yd e 0 0 0 0 1 1 1 0 -1 1 1 0 saída atual da rede y
Considere o par de treinamento {x, yd} e a saída atual da rede y Erro devido à saída atual: e = yd – y y yd e
39
Aprendizado α > 90º y yd e 0 1 1
( w . x < 0, já que y = w(t) ||w|| ||x|| cos( α ) < 0 α = ângulo entre vetores w e x α cos(α ) < x α > 90º
40
Aprendizado vetor na direção de x (
Mudança plausível para w é somá-lo a um vetor na direção de x Para modificar ângulo (
41
Aprendizado Aprendizado lento Aprendizado rápido
η = taxa de aprendizado 0 < η < 1 Taxas pequenas Estimativas estáveis de peso Aprendizado lento Aprendizado rápido Taxas grandes Captação de mudanças no processo Taxas variáveis Instabilidade Maiores no começo
42
Aprendizado y yd e 1 0 -1 w . x > 0, já que y = 1
w . x > 0, já que y = 1 ( ||w|| ||x|| cos( α ) > w(t) cos(α ) > α α < 90º x
43
Aprendizado vetor na direção de x . w(t+1) (w(t+1) = w(t) - η x(t) (
Mudança plausível para w é subtraí-lo de um vetor na direção de x Para modificar ângulo Vetor η x (w(t+1) = w(t) - η x(t) η x Como e = -1, podemos escrever: w(t) w(t+1) = w(t) + η ex(t) . w(t+1) x ( Assim, w(t) = - x(t)
44
Aprendizado chegou-se à mesma regra de atualização:
Para duas situações de erro possíveis, chegou-se à mesma regra de atualização: ( w(t+1) = w(t) + η ex(t) Logo, Δw(t) = η ex(t), se y ≠ yd 0, se y = yd Ajuste de pesos deve ser proporcional ao produto do erro pelo valor de entrada da sinapse
45
Aprendizado por correção de erro
Superfície de erro Superfície multi-dimensional representando gráfico da função de custos X peso Objetivo do aprendizado: A partir de um ponto qualquer da superfície, mover em direção a um mínimo global
46
Superfície de erro Erro mínimo global Parâmetros livres
47
Superfície de erro Erro X mínimos locais mínimo global
Parâmetros livres
48
Algoritmo de treinamento Perceptron Teorema de convergência:
Se é possível classificar um conjunto de entradas linearmente, uma rede Perceptron fará a classificação Em um número finito de passos Mas tempo pode ser proibitivo! 21/11/11 Redes Neurais - André Ponce de Leon F. de 48
49
Algoritmo de treinamento
Algoritmo de treinamento de RNA Perceptron Entrada: Conjunto de treinamento D = {(x ,y ), i = 1,...n} i i Saída: Rede Perceptron com pesos ajustados Iniciar pesos da rede com valores baixos repita para cada x faça i Calcular valor da saída produzida pela rede f(x ) i erro e = y - f(x ) i i se e > 0 então Ajustar pesos do neurônio w(t+1) = w(t) + ηex(t) até que erro = (ou erro < ε) 21/11/11 Redes Neurais - André Ponce de Leon F. de 49
50
Algoritmo de treinamento Vetor peso ideal 6 5 3 4 2 1 21/11/11
Redes Neurais - André Ponce de Leon F. de 50
51
Algoritmo de treinamento 3 2 1 5 4 8 6 7 21/11/11
Redes Neurais - André Ponce de Leon F. de 51
52
Algoritmo de teste Uso da RNA treinada
Algoritmo de teste de RNA Perceptron Entrada: Exemplo de teste x e RNA Perceptron tados com pesos ajus- Saída: previsão para classificação de x Apresentar x à entrada da RNA Calcular a saída f(x) Retorne f(x) 21/11/11 Redes Neurais - André Ponce de Leon F. de 52
53
Exemplo E Ensinar a rede com os dados (001, -1) e (110, +1)
Dada uma rede Perceptron com: Três terminais de entrada, utilizando pesos iniciais w1 = 0.4, w2 = -0.6 e w3 = 0.6, e limiar = 0.5: E Ensinar a rede com os dados (001, -1) e (110, +1) Utilizar taxa de aprendizado η = 0.4 Definir a classe dos dados: 111, 000, 100 e 011
54
Exemplo x1 x2 x3 y Situação desejada -1 001 110 Limiar +1
55
Exemplo (yd = -1) a) Treinar a rede w1 = 0.4 + 0.4(0)(-1 - (+1)) = -1
Para o dado 001 (yd = -1) Passo 1: definir a saída da rede u = 0(0.4) + 0(-0.6) + 1(0.6) -1(0.5) = 0.1 ) y = +1 (uma vez 0.1≥ 0) Passo 2: atualizar pesos (y ≠ y ) d 0.4 w1 = (0)(-1 - (+1)) = -1 001 = 110 w2 = w3 = w0 = (0)(-1 - (+1)) = -0.6 (1)(-1 - (+1)) = -0.2 (-1)(-1 - (+1)) = 1.3 (bias) +1
56
Exemplo a) Treinar a rede -1 110 +1 a.2) Para o dado 110 (y = +1)
Passo 1: definir a saída da rede u = 1(0.4) + 1(-0.6) + 0(-0.2) -1(1.3) = -1.5 y y = -1 (uma vez -1.5 < 0) ) Passo 2: atualizar pesos (y ≠ yd) d -1 001 w1 = (1)(1 - (-1)) = 1.2 w2 = (1)(1 - (-1)) = 0.2 w3 = (0)(1 - (-1)) = -0.2 w0 = (-1)(1 - (-1)) = 0.5 (bias) 110 +1
57
Exemplo Como y = y , os pesos não precisam ser a) Treinar a rede -1
a.3) Para o dado (y = -1) Passo 1: definir a saída da rede u = 0(1.2) + 0(0.2) + 1(-0.2) -1(0.5) = -0.7 y y = -1 (uma vez -0.7 < 0) : Passo 2: atualizar pesos d -1 001 Como y = y , os pesos não precisam ser modificados d 110 +1
58
Exemplo a) Treinar a rede -1 a.4) Para o dado 110 (y = +1)
Passo 1: definir a saída da rede u = 1(1.2) + 1(0.2) + 0(-0.2) -1(0.5) = +0.9 y y = +1 (uma vez 0.9 > 0) : Passo 2: atualizar pesos d Como y = y , os pesos não precisam ser -1 001 d modificados 110 +1
59
Exemplo b) Testar a rede b.1) Para o dado 111 b.2) Para o dado 000
u = 1(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = 0.7 y = +1 (porque ) b.2) Para o dado 000 u = 0(1.2) + 0(0.2) + 0(-0.2) -1(0.5) = -0.5 y = -1 (porque -0.5 < 0)
60
Exemplo b) Testar a rede b.3) Para o dado 100 b.4) Para o dado 011
u = 1(1.2) + 0(0.2) + 0(-0.2) -1(0.5) = 0.7 y = +1 (porque ) b.4) Para o dado 011 u = 0(1.2) + 1(0.2) + 1(-0.2) -1(0.5) = -0.5 y = -1 (porque -0.5 < 0)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.