INTELIGÊNCIA ARTIFICIAL REDES NEURAIS Caracterização Intuitiva: Em termos intuitivos, Redes Neurais Artificiais (RNAs) são modelos matemáticos inspirados nos princípios de funcionamento dos neurônios biológicos e na estrutura do cérebro. Prof. Ronaldo R. Goldschmidt ronaldo.rgold@gmail.com Caracterização Intuitiva: Capacidade Cerebral Estes modelos têm capacidade de adquirir, armazenar e utilizar conhecimento experimental. Buscam simular computacionalmente habilidades humanas tais como aprendizado, generalização, associação e abstração. interconexões / seg 0 8 0 5 0 2 0 9 0 6 0 3 Sanguessuga 00 bilhões de neurônios Homem (0 4,0 6 ) 0 3 06 0 9 0 2 número de interconexões
Modelo Biológico: Modelo Biológico: Modelo Biológico: Modelo Biológico: 2
Analogia com a Natureza: Analogia com a Natureza: Cérebro Neurônio Biológico Rede de Neurônios 0 bilhões neurônios Aprendizado Generalização Redes Neurais Artificiais Neurônio Artificial Estrutura em Camadas centenas/milhares Aprendizado Generalização Sinapses Neurônio Biológico Corpo Somático Dendritos Axônio Pesos 2 3 Neurônio Artificial Propagação Ativação Associação Reconhecimento de Padrões Associação Reconhecimento de Padrões Definição Formal (Hecht-Nielsen, 990): Uma Rede Neural Artificial é uma estrutura que processa informação de forma paralela e distribuída e que consiste de unidades computacionais (as quais podem possuir memória local e executar operações locais) interconectadas por canais unidirecionais chamados de conexões. Cada unidade possui uma única conexão de saída, que pode ser dividida em quantas conexões laterais se fizer necessário, sendo que cada uma destas conexões transporta o mesmo sinal (sinal de saída da unidade). Devido à similaridade com a estrutura do cérebro, as Redes Neurais exibem características similares ao do comportamento humano, tais como: 3
Procura Paralela e Endereçamento pelo Conteúdo: O cérebro não possui endereço de memória e não procura a informação seqüencialmente. O conhecimento fica distribuído pelos neurônios artificiais da rede. Aprendizado: A rede aprende por experiência, não necessitando explicitar os algoritmos para executar uma determinada tarefa. Associação: Generalização: A rede é capaz de fazer associações entre padrões de natureza distinta. Redes Neurais são capazes de generalizar o seu conhecimento a partir de exemplos anteriores Habilidade de lidar com ruídos e distorções, respondendo corretamente a padrões novos. Exemplos: Voz Pessoa Elocução verbal representação escrita Pintura classificação em autêntica ou falsificação 4
Abstração: Capacidade de abstrair a essência de um conjunto de entradas, isto é, a partir de padrões ruidosos, extrair a informação do padrão sem ruído. Outras características das RNAs: São construídas, não programadas. Oferecem soluções aproximadas, não exatas. Oferecem soluções que podem ou não estar corretas. Não são aplicáveis a qualquer problema. Exemplos de Aplicações Gerais: Estrutura de uma Rede Neural: Reconhecimento de Padrões Atividade Classificação de Padrões Correção de Padrões Neural I H O Previsão de Séries Temporais I 2 H 2 O 2 Aproximação de Funções Suporte à Decisão I 3 H 3 O 3 Dentre outras... Entrada Pesos Escondida Pesos Saída 5
Elementos Básicos de um Neurônio Artificial: Neurônio Artificial Posição k Elementos Básicos de um Neurônio Artificial: Conexões entre Processadores - a cada conexão existe um peso sináptico que determina o efeito da entrada sobre o processador W ik Pesos k Propagação Net k Ativação s k=f(net k) i W ik k 2k 3k O k W ik expressa a força da conexão entre os neurônios i e k Alguns autores referenciam W ik como W ki Exemplos: W 8 =0.7 8 5 W 59 = -.3 9 Elementos Básicos de um Neurônio Artificial: Regra de Propagação Combina as entradas de um processador com os pesos sinápticos associados às conexões que chegam a tal processador. Elementos Básicos de um Neurônio Artificial: Estado de Ativação S k Função de Ativação - determina o novo valor do Estado de Ativação do processador S k = F (net k ) net k = W ik * O i net k é a saída do combinador linear, onde: net k Potencial de ativação do processador k Saída do processador i Peso da conexão entre os neurônios i e k O i W ik Onda quadrada binária (degrau) 0 net Linear por partes (rampa) 0 O = 0.2 W 3=.2 O 2= - W 23= - 0.3 2 3 net 3 = (O *W 3 ) + (O 2 *W 23 ) = (0.2*.2) + ((-)*(-0.3)) = 0.24+0.3 = 0.54 Sigmóide y 0 net Tangente Hiperbólica y 0 net - 6
Arquiteturas de RN s Classificação quanto ao número de camadas: Arquiteturas de RN s Classificação quanto ao tipo de conexão: Redes de camada única Feedforard (acíclica) Redes de múltiplas camadas Feedback (cíclica) Arquiteturas de RN s Classificação quanto ao tipo de conectividade: Processamento Neural: Pode ser dividido em duas fases: Parcialmente conectada Processo de atualização dos pesos sinápticos para a aquisição do conhecimento - Aquisição da Informação (t+) = (t) + (t), onde (t) é o ajuste aplicado aos pesos Completamente conectada Processo de cálculo da saída da rede, dado um certo padrão de entrada - Recuperação da Informação 7
Processo de Aprendizagem Passos do processo de aprendizagem: a rede neural é estimulada por um ambiente a rede neural sofre modificações nos seus parâmetros livres a rede neural responde de uma maneira nova ao ambiente 3. REDES PERCEPTRON DE MÚLTIPLAS CAMADAS Considerações Gerais Os ajustes dos pesos são feitos em todas as camadas da rede, de forma proporcional em relação ao erro gerado a cada instante. Utilização do algoritmo de aprendizado Back-Propagation (Retro-Propagação do Erro) Estes passos se repetem até que algum critério de parada seja alcançado. Exemplos de critérios de parada: Número de iterações máximo alcançado Erro produzido pela rede atinge um patamar abaixo de limiar definido 5. MODELOS DE RNAs 5. MODELOS DE RNAs MLP Número de Camadas Uma camada intermediária é suficiente para aproximar qualquer função contínua. Duas são suficientes para aproximar qualquer função. A grande maioria dos problemas práticos requer apenas uma camada intermediária. A utilização de duas camadas intermediárias é necessária quando a função a ser aproximada possui descontinuidades. MLP Treinamento das Redes O algoritmo de treinamento de redes MLP mais popular é o back-propagation, que por ser supervisionado, utiliza pares de entrada e saída para, por meio de correção de erros, ajustar os pesos da rede. No back-propagation, o treinamento utiliza uma generalização da regra e ocorre em duas fases: forard e backard. 8
5. MODELOS DE RNAs 6. CONSIDERAÇÕES FINAIS Estratégias de Treinamento Quanto à seleção dos conjuntos para treinamento e teste Treinamento e teste separados (razão 70% e 30%) Treinamento, teste e validação (50%, 30% e 20%) Treinamento e teste juntos (poucos dados) Separar dados em N conjuntos exemplo com 3: A, B e C Treinar com A+B, testar com C Treinar com A+C, testar com B Treinar com B+C, testar com A Quanto à arquitetura da rede Número de camadas escondidas (, 2 ou mais?) Número de elementos por camada Funções de ativação Exemplos de Ferramentas para Desenvolvimento de RNAs JOONE ICADEMO MATLAB NEURALWARE NEURAL PLANNER JUSTNN WEKA Dentre inúmeras outras... 6. CONSIDERAÇÕES FINAIS BIBLIOGRAFIA BÁSICA: HAYKIN, S. Redes Neurais: Princípios e Prática. 2ª. ed. Porto Alegre: Bookman, 200. BRAGA, A.; CARVALHO, A.; LUDERMIR, T. Redes Neurais Artificiais Teoria e Aplicações. Rio de Janeiro:LTC, 2007. BIBLIOGRAFIA COMPLEMENTAR: REZENDE, S. Sistemas Inteligentes Fundamentos e Aplicações. São Paulo: Manole, 2003. OLIVEIRA, H., CALDEIRA, A., MACHADO M., SOUZA, R., TANSCHEIT, R. Inteligência Computacional Aplicada à Administração, Economia e Engenharia em Matlab. São Paulo: Thomson, 2007. LUGER, G. F. Inteligência Artificial. Porto Alegre: Bookmann, 2004. GOLDSCHMIDT, R. Uma Introdução à Inteligência Computacional: Fundamentos, Ferramentas e Aplicações. IST-Rio, 200. 9