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

Slides:



Advertisements
Apresentações semelhantes
REDES AUTO-ORGANIZAVEIS (MAPAS AUTO-ORGANIZÁVEIS)
Advertisements

REDES NEURAIS ARTIFICIAIS
Redes Neurais Artificiais (Parte 1)
Redes Neurais Artificiais (RNA): Introdução
Redes Neurais Artificiais (RNA): Perceptron
Redes Neurais Artificiais (RNA): Aprendizado
Aspectos de Implementação do Algoritmo Backpropagation
RECONHECIMENTO DE CARACTERES MANUSCRITOS APLICANDO REDES NEURAIS
REDES NEURONAIS ARTIFICIAIS (RNAs) Universidade do Minho.
PERCEPTRON (CONTINUAÇÃO)
AULA 03 PERCEPTRON SIMPLES.
AULA04 PERCEPTRON MULTI-CAMADAS MULTI-LAYER PERCEPTRON (MLP)
Neurônio .3.
Aprendizado de Máquina
Redes Neurais Artificiais
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 Classificadores Lineares
Medida do Tempo de Execução de um Programa
Reconhecimento de Padrões Multi-Layer Perceptron (MLP)
Redes Neurais (Conceitos Fundamentais)
Centro de Informática - UFPE
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
Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Sistemas de Informação Inteligentes
Previsão de consumos a curto prazo
Introdução O que é computação?.
Uma Introdução às Redes Neurais
Redes Neurais Prof. Alex F. V. Machado.
Aprendizado de Máquina
Aula T06 – BCC202 Análise de Algoritmos (Parte 4) Túlio Toffolo
Conexionismo.
Redes neurais artificiais
Wladimir Araújo Tavares
Redes Neurais Artificiais
SBRN’02 - Simpósio Brasileiro de Redes Neurais
Marcílio C. P. de Souto DIMAp/UFRN
Redes Neuronais/Neurais/ Conexionistas Introdução
Redes Neurais Artificiais
Adaline ta distância entre saída e resposta desejada
(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.
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
Introdução às Redes Neurais
Redes Neurais Artificial
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
Redes Neurais Artificiais
O Que São as Redes Neurais Artificiais
Inteligência Artificial
Redes Neurais Artificiais Prof. Júlio Cesar Nievola PPGIA – PUCPR Especialização em Inteligência Computacional.
REDES NEURAIS E SUAS APLICAÇÕES ALUNO: Paulo Celso da Silva e Souza Junior.
Inteligência artificial (IA)
Redes Neurais Artificiais
Objetivo Este projeto destina-se ao estudo e à elaboração de modelos neurais artificiais, com o auxílio do programa Matlab. O objetivo principal deste.
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:

Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina Métodos Baseados em Otimização

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

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

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

Histórico 1943 Primeiro modelo de neurônio artificial 1940 1950 1960 1970 1980... 1943 Primeiro modelo de neurônio artificial W. McCulloch e W. Pitts (neurônio MCP) McCulloch: psicólogo e neurofisiologista Pitts: matemático

Histórico 1949 Primeiro trabalho demonstrando aprendizado 1940 1950 1960 1970 1980... 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

Histórico Propôs algoritmo de treinamento 1940 1950 1960 1970 1980... 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

Histórico 1969 Artigo de Minsky e Papert 1940 1950 1960 1970 1980... 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)

Histórico Década de 70 abordagem conexionista adormecida 1940 1950 1960 1970 1980... 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

Histórico Década de 80: ressurgimento 1982 J. Hopfield: propriedades 1940 1950 1960 1970 1980... 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

Histórico Interesses mais recentes em RNAs: • 1940 1950 1960 1970 1980... 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

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

Neurônio Natural Corpo Sinal Dendritos Axônio Sinapse  Um neurônio simplificado: Dendritos Axônio Corpo Sinal Sinapse

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

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

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

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

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

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 x2 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

Neurônio artificial x2 w xd x j w j x1 w u  Entrada total do neurônio: x1 w x2 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

Neurônio artificial

 Funções de ativação mais comuns:  Linear: f (u) = u  Threshold ou limiar: f (u) = 1 , 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

Função linear f(u) u f(u) = u

Função limiar f(u) u 1, se u 0, se u f(u) =

Função sigmoide logística 1 f(u) =1/(1 + e- u) Função de limiar diferenciável

Função tangente hiperbólica f(u) +1 (1 +e- u) -1 (1 - e ) - u f(u) =

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

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

 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

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) 0 1 0 0 1 0

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

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

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)

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

Perceptron  Aprendizado por correção de erro  Na realidade, é RNA com uma única camada  Estado de ativação  1 = ativo  0 = 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)

 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’ - θ = 0 Limiar de ativação

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 2 w3 +1 1 x x3 w f x = (1, x1, ..., xn)  -

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 0 0 0 0 1 1 1 0 -1 1 1 0

Aprendizado  α > 90º y yd e 0 1 1 0 1 1 ( w . x < 0, já que y = 0 w(t)  ||w|| ||x|| cos( α ) < 0  α = ângulo entre vetores w e x . α  cos(α ) < 0 x  α > 90º

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  (

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

Aprendizado y yd e 1 0 -1  w . x > 0, já que y = 1 1 0 -1  w . x > 0, já que y = 1  ( ||w|| ||x|| cos( α ) > 0 w(t)  cos(α ) > 0 . α  α < 90º x

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)

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

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

Superfície de erro Erro mínimo global Parâmetros livres

Superfície de erro Erro X mínimos locais mínimo global Parâmetros livres

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

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

Algoritmo de treinamento Vetor peso ideal 6 5 3 4 2 1 21/11/11 Redes Neurais - André Ponce de Leon F. de 50

Algoritmo de treinamento 3 2 1 5 4 8 6 7 21/11/11 Redes Neurais - André Ponce de Leon F. de 51

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

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

Exemplo x1 x2 x3 y Situação desejada -1 001 110 Limiar +1

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.4 + 0.4(0)(-1 - (+1)) = -1 001 = 110 w2 = w3 = w0 = -0.6 + 0.4(0)(-1 - (+1)) = -0.6 0.6 + 0.4(1)(-1 - (+1)) = -0.2 0.5 + 0.4(-1)(-1 - (+1)) = 1.3 (bias) +1

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 = 0.4 + 0.4(1)(1 - (-1)) = 1.2 w2 = -0.6 + 0.4(1)(1 - (-1)) = 0.2 w3 = -0.2 + 0.4(0)(1 - (-1)) = -0.2 w0 = 1.3 + 0.4(-1)(1 - (-1)) = 0.5 (bias) 110 +1

Exemplo Como y = y , os pesos não precisam ser a) Treinar a rede -1 a.3) Para o dado 001 (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

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

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 0.7 0) 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)

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 0.7 0) 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)