Universidade Federal do Rio de Janeiro Núcleo de Computação Eletrônica Inteligência Computacional Redes Neurais Inteligência “ Faculdade de aprender, apreender ou compreender. Qualidade ou capacidade de compreender e adaptar-se facilmente. É agudeza de raciocínio e perspicácia. ” Aurélio Buarque de Holanda 2002/ 1 Prof. A. C. G. Thomé, PhD – [email protected] Anderson Canêdo de Oliveira – [email protected] Modelos de Inteligência IA clássica x IA conexionista • Biológico: inerente ao ser humano e constituído pelo cérebro, pelos órgãos sensoriais e pela mente. • IA simbólica: tenta simular o comportamento inteligente humano desconsiderando os mecanismos responsáveis por tal. • Artificial: algoritmos computacionais que desenvolvem processamento numérico e simbólico, associados a bases de conhecimento estratificados. • Computacional: algoritmos computacionais que desenvolvem apenas processamento numérico, com componente para reconhecimento de padrões e níveis de adaptabilidade, de tolerância a falhas e de auto-aprendizado. Inteligência Computacional “ É o braço da Ciência da Computação que estuda formas de criar máquinas espertas, i.e. com capacidade de realizar funções normalmente associadas à Inteligência Humana. “ Webster • IA Conexionista: acredita que construíndo-se um sistema que simule a estrutura do cérebro, este sistema apresentará inteligência, ou seja, será capaz de aprender, assimilar, errar e aprender com seus erros. Modelos Computacionais • Tratamento de Incertezas: Lógica Nebulosa • Forma de Raciocínio: Sistemas Especialistas e Resolução de Problemas • Seleção Natural: Algoritmos Genéticos • Estrutura do Cérebro: Redes Neurais • Sistemas Híbridos 1 Aplicações Redes Neurais • Problemas que envolvam: • São sistemas computacionais formados pela integração de inúmeros elementos de processamento (EP) muito simples, altamente interconectados e trabalhando massivamente em paralelo. – Complexidade – Incerteza – Ambigüidade Ex: jogos, sistemas de apoio a decisão, reconhecimento de padrões, controle, processamento de linguagem natural, processamento de sinais, aproximação de funções, etc. • São inspiradas no modelo biológico do cérebro humano. Histórico Modelo Convencional x Modelo Neural Conhecimento - extraído dos dados Solução do Problema - definida - ajustada automaticamente - estática - dinâmica - código e dados - distribuído Características - precisão - aproximado - inflexibilidade - flexível - intolerância a falhas - tolerância a falhas - pré-estabelecido • 1943 - McCulloch e Pits • 1956 - Darthmouth College • 1962 - Rosemblat • 1963 - Bernard Widrow • 1969 - Minsky e Papert • 1969 - 1982 • 1982 - John Hopfield • 1986 - Rumelhart • 2001 - ???? Um Paralelo com o Cérebro estudo do neurônio surgimento de dois paradigmas da IA, o simbólico e o conexionista. concepção do Perceptron filtros adaptativos (Adaline) crítica aos Perceptrons paralisação das pesquisas resgate do interesse em RNA´s algoritmo Backpropagation Capacidade Cerebral tos dr i den axônio __ >_ 100 bilhões de neurônios w f (.) corpo celular Modelo Artificial Modelo Biológico y I n t e r c / S e g Homem (1014,1016) 1018 1015 1012 109 106 103 Sanguessuga 103 106 109 1012 Número de Interconexões 2 Modelo Matemático do Neurônio Funções de Ativação/Propagação Ativação x1 A( x , w ) = ∑ wx w1 x2 Função de Ativação w2 Função de Propagação y Propagação . f(x) 1 . . xn 1 wn 1/2 y = f ( X , W ) = P • A( X , W ) -1 x Função Degrau Fases de Projeto Parâmetros de Projeto E N T R A D A S A Í D A • Número de camadas • Função de transferência • Número de neurônios/camada • Representação dos dados • Topologia • Dinâmica de aprendizado Arquiteturas de RNA´s • Quanto ao número de camadas 1 - redes de única camada: só existe um nó entre qualquer entrada e qualquer saída da rede. 2 - redes de múltiplas camadas: existe mais de um neurônio entre alguma entrada e alguma saída da rede. x1 x1 x2 x2 x3 x3 1 2 Função Sigmoid Preparação análise seleção normalização P r e p a r a ç ã o Construção da rede Treinamento Teste e Validação F o r m a t a ç ã o Fixa Arquitetura Saída Arquiteturas de RNA´s (cont.) • Quanto ao tipo de conexão 1 – feedforward, ou acíclica: a saída de um neurônio na iésima camada da rede não pode ser usada como entrada de nodos em camadas de índice menor ou igual a i 2 – feedback, ou cíclica: a saída de algum neurônio na iésima camada da rede é usada como entrada de nodos em camadas de índice menor ou igual a i x1 x1 x2 x2 x3 x3 1 2 3 Arquiteturas de RNA´s (cont.) • Quanto ao tipo de conectividade 1 – parcialmente conectada • Supervisionado Perceptron Adaline MLP 2 – completamente conectada • Quanto à estrutura 1 – estática • Não Supervisionado (auto-organizável) ART SOM 2 – auto-organizável Aprendizado Dinâmica de Treinamento • Aprendizado Supervisionado: utiliza um agente externo (professor) que indica à rede um comportamento bom ou ruim de acordo com o padrão de entrada • Aprendizado Não Supervisionado (auto-organização) não utiliza um agente externo indicando a resposta desejada para os padrões de entrada, utiliza-se entretanto, exemplos de coisas semelhantes para que a rede responda de maneira semelhante. O Modelo Perceptron Σ Ativação m net = ∑ wi xi xi ∈ {0,1} i =0 net ^ y • Incremental os parâmetros (pesos) são ajustados ao final do processamento de cada observação. Σ xm w m net ^ y ∆Wi w0 1 os parâmetros (pesos) são ajustados somente ao final de cada “epoch” (processamento de todo o conjunto de observações). x0 w0 w1 xm wm • Batch O Aprendizado do Perceptron Arquitetura Básica do Neurônio x1 Alguns Modelos x yd + + Propagação 1 se net >θ y= 0 se net ≤θ Onde: θ é o threshold λ ∆Wi= λ.(yd-y).X Onde: λ é a taxa de aprendizado 4 Características e Restrições Capacidade de Classificação • Características - aprendizado supervisionado - representação binária - apenas uma camada de pesos ajustáveis w2 • Restrições - aprendizado nem sempre ocorre - tempo de convergência pode ser longo - não admite mais de uma camada de pesos ajustáveis - classifica apenas padrões linearmente separáveis w1 Separabilidade Linear • Porta “OU” • Porta “E” x y z 0 0 1 1 0 1 0 1 0 0 0 1 x x y z .5 .9 y .5 z 0 0 1 1 0 1 0 1 1 1 1 0 y y O Modelo Adaline x x0 w0 .5 .4 y Σ xm w m .5 ∆Wi .5x+.5y=.4 .5x+.5y=.9 z x net + λ x x x ^ y + yd ∆Wi= λ.(yd - net).X x Características do Adaline • Continua com o problema de uma única camada de pesos ajustáveis MultiLayer Perceptron - MLP • Proposta de Rumelhart (1986) • Substituição da função de propagação • Tem seus pesos ajustados em função do erro de sua saída linear, antes da aplicação da função de propagação • A função de custo a ser minimizada é quadrática nos pesos de entrada, o que é bastante conveniente para minimização pelo método do gradiente • Surgimento do Algoritmo de Retro-Propagação do Erro “Error Backpropagation” • Estratégia de Otimização - Gradiente Descendente 5 Fases da Rede MLP Fase Forward Fase Forward 1 – a entrada é apresentada à primeira camada da rede, a camada C0 2 – para cada camada Ci a partir da camada de entrada 2.1 – Após os nodos da camada Ci (i > 0) calcularem seus sinais de saída, estes servem como entrada para a definição das saídas produzidas pelos nodos da camada Ci+1 3 – as saídas produzidas pelos nodos da última camada são comparadas às saídas desejadas Fase Backward Fase Backward O Algoritmo Backpropagation 1 – a partir da última camada, até chegar na camada de entrada: 1 – inicializar pesos e parâmetros 1.1 – os nodos da camada atual ajustam seus pesos de forma a reduzir seus erros 2 – repita até o erro ser mínimo ou a realização de um dado número de ciclos: 2.1 – para cada padrão de treinamento X 2.1.1 – definir a saída da rede através da fase forward 2.1.2 – comparar saídas produzidas com as saídas desejadas 2.1.3 – atualizar os pesos dos nodos através da fase backward 1.2 – o erro de um nodo das camadas intermediárias é calculado utilizando os erros dos nodos da camada seguinte conectados a ele, ponderados pelos pesos das conexões entre eles ∆w2vk = λ.(Σ(Σesw3is).w2ki.f’(netil).Xv O Algoritmo Backpropagation x0 w0 xm w m Σ net ∆w3mi = λ.ei.f’(netiv).Oml i ^ y x i yd + Taxa de Aprendizado k n Derivada parcial da ativação pelo peso erro ^ ∆W ∆Wii== λ.(y λ.(ydd-y).f’(net).X -y).f’(net).X ^ Yi j _ X + λ i k f’(net) ∆Wi x ∆w2ki = λ.(Σesw3is).f’(netil).Okc m W1 s W2 ^ Yk W3 _ Yd 6 O Aprendizado Ativação Ativação = net = ∑ wi x i = WX 1 Propagação Propagação = sig ( x ) = 1 + e−x } Medida Medidade deMérito Mérito n MLP – Capacidade de Classificação w2 f ( net ) = sig ( net ) = 1 1 + e −WX f '( net ) = ( 1 − f ( net ).) f ( net ) Aprendizado Aprendizado 2 E ( k ) = ∑ ( yi − y$ i ) i =1 ∆W ( k + 1 ) = − λ ∂E ( k ) ∂W ( k ) Dificuldades no Treinamento • Lentidão em superfícies complexas Classe 1 Classe 2 w1 Técnicas de Aceleração do Treinamento • Inclusão do Termo Momentum • Mínimos locais • Overfitting • Não convergência • Convergência muito lenta quando os valores dos nodos de saída estão muito próximos de 0 ou 1 • Escolha da Taxa de Aprendizado para o Backpropagation • Utilização de variantes mais rápidas que o backpropagation padrão, como por exemplo Rprop e QuickProp 7