A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Apresentações semelhantes


Apresentação em tema: "Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina"— Transcrição da apresentação:

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)


Carregar ppt "Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina"

Apresentações semelhantes


Anúncios Google