Inteligência Computacional INTRODUÇÃO ÀS REDES NEURAIS ARTIFICIAIS Renato Dourado Maia Faculdade de Ciência e Tecnologia de Montes Claros Fundação Educacional Montes Claros
Na Aula Passada... O que é uma Rede Neural Artificial? 24/08/15 Inteligência Computacional Renato Dourado Maia 2/24
Na Aula Passada... Rede Neural Neurônio Cérebro Sinapse Redes Neurais Panorama Geral. 24/08/15 Inteligência Computacional Renato Dourado Maia 3/24
O que é uma Rede Neural Artificial? Uma Rede Neural Artificial (RNA) é um circuito composto por uma grande quantidade de unidades simples de processamento inspiradas no sistema neural. Uma RNA é um sistema massivamente paralelo e distribuído, composto por unidades de processamento simples que possuem uma capacidade natural de armazenar e utilizar conhecimento. 24/08/15 Inteligência Computacional Renato Dourado Maia 4/24
O que é uma Rede Neural Artificial? Uma RNA pode ser definida como sendo uma estrutura de processamento, ou rede, passível de implementação em dispositivos eletrônicos, composta por um número de unidades interconectadas, os neurônios artificiais, sendo que cada unidade apresenta um comportamento específico de entrada/saída ou computação local, determinado pela sua função de transferência, pelas interconexões com outras u- nidades, dentro de um raio de vizinhança, e, possivelmente, pelas entradas externas. 24/08/15 Inteligência Computacional Renato Dourado Maia 5/24
O que é uma Rede Neural Artificial? As RNA apresentam diversas características em comum com o sistema nervoso: O processamento básico de informação ocorre em diversas unidades simples os neurônios (artificiais). Os neurônios são interconectados gerando redes de neurônios, ou redes neurais. A informação é transmitida entre neurônios por intermédio de conexões ou sinapses. 24/08/15 Inteligência Computacional Renato Dourado Maia 6/24
O que é uma Rede Neural Artificial? As RNA apresentam diversas características em comum com o sistema nervoso: A eficiência de uma sinapse, representada por um peso, corresponde à informação armazenada pelo neurônio e, portanto, pela rede neural. O conhecimento é adquirido do ambiente por meio de um processo de aprendizagem que é responsável por, basicamente, adaptar os pesos das conexões em função dos estímulos recebidos do ambiente. 24/08/15 Inteligência Computacional Renato Dourado Maia 7/24
O que é uma Rede Neural Artificial? Uma característica importante das RNAs é o local no qual o conhecimento está armazenado: Nos casos mais simples, esse conhecimento é armazenado nos pesos das conexões entre neurônios. Essa característica tem grandes implicações para a capacidade de processamento e aprendizagem da rede: A representação de conhecimento é feita de forma que o conhecimento necessariamente influencie a forma de processamento da rede, ou seja, o seu comportamento de entrada-saída. 24/08/15 Inteligência Computacional Renato Dourado Maia 8/24
O que é uma Rede Neural Artificial? Se o conhecimento está armazenado nos pesos das conexões, então o processo de aprendizagem corresponde a identificar um conjunto apropriado de pesos de forma que o comportamento da rede seja i- gual (próximo) daquele desejado. Essa característica possui duas implicações importantes para as RNA: A possibilidade de desenvolvimento de técnicas de aprendizagem; e A representação distribuída de conhecimento. 24/08/15 Inteligência Computacional Renato Dourado Maia 9/24
O que é uma Rede Neural Artificial? Há tipos de RNA cujo treinamento é mais complicado do que a simples determinação de pesos sinápticos apropriados, podendo envolver: Uma definição ou escolha de um conjunto de neurônios artificiais. A definição ou escolha de um padrão de conectividade entre os neurônios, ou seja, de uma arquitetura para a rede. A definição de um método de determinação dos parâmetros livres da rede, denominado algoritmo de aprendizagem ou treinamento. 24/08/15 Inteligência Computacional Renato Dourado Maia 10/24
O Neurônio de McCulloch e Pitts O modelo mais clássico de neurônio em RNAs foi proposto por McCulloch e Pitts em 1943: eles assumiram que o neurônio estaria executando uma função lógica (saídas valendo 0 ou 1). Esse trabalho, intitulado "Um cálculo lógico das i- deias intrínsecas da atividade neural, é bastante famoso e exerceu grande influência na comunidade científica da época, representando a primeira tentativa de entender a atividade neural tendo como base unidades elementares de computação. 24/08/15 Inteligência Computacional Renato Dourado Maia 11/24
O Neurônio de McCulloch e Pitts McCulloch e Pitts consideraram a resposta neural como sendo equivalente a uma proposição (se A então B) adequada para estimular o neurônio. Sendo assim, eles estudaram o comportamento de diversas redes neurais utilizando a notação simbólica da lógica das proposições: A característica binária dos neurônios era suficiente para garantir que a atividade de qualquer neurônio poderia ser expressa sob a ótica da lógica das proposições. 24/08/15 Inteligência Computacional Renato Dourado Maia 12/24
O Neurônio de McCulloch e Pitts Embora com os conhecimentos atuais sobre os mecanismos físicos e químicos envolvidos na transmissão de sinais no cérebro seja possível afirmar que nenhum tipo de lógica das proposições é realizada no cérebro, o neurônio de McCulloch e Pitts pode ser visto como um caso particular do neurônio genérico utilizado em RNA. 24/08/15 Inteligência Computacional Renato Dourado Maia 13/24
x 1 x 2 Σ Junção Somadora Função de Ativação f (u) O Neurônio de McCulloch e Pitts. u y Saída f (u) A cada iteração, o neurônio responde às suas entradas sinápticas, que refletem o estado do neurônio pré-sináptico. Se nenhuma sinapse inibitória está ativa, o neurônio soma as suas entradas, gerando a entrada líquida u do neurônio. Se u é maior do que o limiar θ, o neurônio responde com um sinal de saída de valor 1; se não, o neurônio responde com um sinal de saída 0. Funções lógicas como OR (OU) e AND (E) podem assim ser realizadas. θ u Será que a função lógica XOR (Ou-Exclusivo) pode ser realizada por esse neurônio? 24/08/15 Inteligência Computacional Renato Dourado Maia 14/24
x 1 Pesos das Conexões b k Limiar (Bias) x 2 w k1 w k2 Função de Ativação... w km Σ f (u k ) Junção Somadora u k y k Saída x m Neurônio Artificial Genérico. m y k = f (u k )= f ( j=1 m w kj x j + b k ) ou f ( j =0 w kj x j ), com x 0 =1 e w k0 =b k 24/08/15 Inteligência Computacional Renato Dourado Maia 15/24
Arquiteturas de Rede Como os padrões de conexão entre os neurônios biológicos são pouco conhecidos, a maioria das RNA utiliza arquiteturas padronizadas, projetadas especialmente para resolver algumas classes de problemas. O processo de conexão entre neurônios artificiais leva à geração de sinapses e à construção de redes neurais artificiais. 24/08/15 Inteligência Computacional Renato Dourado Maia 16/24
Arquiteturas de Rede Existem basicamente três camadas em uma RNA: u- ma camada de entrada, uma camada intermediária, e uma camada de saída, sendo que nem todas as RNAs possuem camadas intermediárias. A forma pela qual os neurônios estão interconectados está intimamente relacionada ao algoritmo a ser utilizado no seu treinamento. 24/08/15 Inteligência Computacional Renato Dourado Maia 17/24
Arquiteturas de Rede Há três tipos principais de arquitetura em RNAs: Redes feedforward de uma única camada. Redes feedforward de múltiplas camadas. Redes recorrentes. O termo feedforward quer dizer que os sinais se propagam apenas da entrada para a saída. O termo recorrente quer dizer que há pelo menos um laço de realimentação. 24/08/15 Inteligência Computacional Renato Dourado Maia 18/24
x 0 w 10 y 1 Neurônio Sensorial x 1 y 2 Neurônio de Processamento x 2 y 3 x m w om y o Camada de Entrada Rede Feedforward de uma Camada. Camada de Saída 24/08/15 Inteligência Computacional Renato Dourado Maia 19/24
+ 1 + 1 + 1 x 1 x 2 y 1 x 3 y 2 y 3 x m Camada de Entrada Primeira Camada Escondida Segunda Camada Escondida Camada de Saída Rede Feedforward de Múltiplas Camadas. 24/08/15 Inteligência Computacional Renato Dourado Maia 20/24
z 1 y 1 z 1 y 2 z 1 y 0 Rede Recorrente. 24/08/15 Inteligência Computacional Renato Dourado Maia 21/24
Lembrando do Slide 9 Se o conhecimento está armazenado nos pesos das conexões, então o processo de aprendizagem corresponde a identificar um conjunto apropriado de pesos de forma que o comportamento da rede seja i- gual (próximo) daquele desejado. Essa característica possui duas implicações importantes para as RNA: A possibilidade de desenvolvimento de técnicas de aprendizagem; e A representação distribuída de conhecimento. 24/08/15 Inteligência Computacional Renato Dourado Maia 22/24
Fica a Pergunta... Como realizar o processo de aprendizagem? 24/08/15 Inteligência Computacional Renato Dourado Maia 23/24
Acabando... Esta apresentação foi baseada no material disponível no site do Laboratório Virtual em Computação Natural (acesso em 14/06/2011): http://www.natcomp.com.br/lvcon Visitem o LVCoN! É muito interessante: Além dos conteúdos, há diversas simulações e muitas outras coisas... O LVCoN é uma ferramenta para o ensino e aprendizagem on-line de Computação Natural. 24/08/15 Inteligência Computacional Renato Dourado Maia 24/24