Introdução às Redes Neurais Artificiais Introdução Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Prof. João Marcos Meirelles da Silva p. 1/60
Créditos autorais Este curso e estes slides são parcialmente adaptados da bibliografia citada e das aulas do professor Luiz Pereira Calôba - COPPE/UFRJ www.lps.ufrj.br Prof. João Marcos Meirelles da Silva p. 2/60
Objetivo da Disciplina Oferecer uma visão geral de redes neurais artificiais, seus diferentes paradigmas, possibilidades e restrições, bem como estudar as aplicações mais recentes em nosso dia-a-dia e destacar a importância do estudo nesta área. Prof. João Marcos Meirelles da Silva p. 3/60
Avaliação A avaliação do curso se dará da seguinte forma: Média das Listas de Exercícios (ML) Apresentação de um projeto (P) 1 Prova Final (Verificação Suplementar) Prof. João Marcos Meirelles da Silva p. 4/60
Avaliação MF = 0, 4 ML + 0, 6 P Condições Se MF 6 Aprovado Se 4 MF < 6 V S Se MF < 4 Reprovado Prof. João Marcos Meirelles da Silva p. 5/60
Avaliação Os alunos que fizerem a VS deverão alcançar a nota mínima de 6,0 para serem aprovados. Freqüência mínima das aulas: 75% Prof. João Marcos Meirelles da Silva p. 6/60
Ementa Introdução Processos de aprendizagem Perceptrons de camada única Perceptrons de múltiplas camadas Redes de base radial Máquinas de vetores de suporte Clusterização Mapas auto-organizáveis Prof. João Marcos Meirelles da Silva p. 7/60
Ementa Análise de componentes principais Aplicações diversas - Processamento básico de áudio, voz e imagem. - Aplicações em segurança. - Aplicações em gerenciamento e desempenho. - Aplicações em engenharia de tráfego - etc... Prof. João Marcos Meirelles da Silva p. 8/60
Bibliografia Prof. João Marcos Meirelles da Silva p. 9/60
Bibliografia Complementar Cichoki, A., Unbehauen, R., Neural Networks for Optimization and Signal Processing, Wiley, 1993. Bishop, C. M., Neural Networks for Pattern Recognition, Oxford, 1999. Sarle, W. S., ftp://ftp.sas.com/pub/neural/faq.html Prof. João Marcos Meirelles da Silva p. 10/60
software Matlab Neuralworks Neuroshell Statistica Neunet (www.cormactech.com/neunet) SNNS (Stuttgart Neural Network Simulator) - ftp.informatik.uni-stuttgart.de Neurolab Sirene (UFRJ e CEPEL) - www.lps.ufrj.br/ caloba Prof. João Marcos Meirelles da Silva p. 11/60
Introdução Inteligência Artificial / Computacional: Cognitiva, Simbólica IA Tradicional Evolucionista Algoritmos Genéticos, Vida Artificial Conexionista Redes Neurais Artificiais Prof. João Marcos Meirelles da Silva p. 12/60
Por quê Redes Neurais Artificiais? Desafio de utilizar máquinas para realizar tarefas fáceis para os seres humanos: Reconhecimento de escrita Reconhecimento de rostos Mapeamento de conhecimento tácito Problemas de otimização com restrições Algoritmos convencionais não lidam bem com determinados problemas. Prof. João Marcos Meirelles da Silva p. 13/60
Aplicações Processamento de sinais (vídeo, áudio, imagem e texto) Controle e Automação Reconhecimento de Padrões Data Mining Clusterização Diagnósticos em Medicina Síntese de Fala Reconhecimento de voz e locutor Negócios (mercado financeiro, análise de risco, etc.) Prof. João Marcos Meirelles da Silva p. 14/60
Aplicações em Telecomunicações Segurança Detecção de Intrusão e fraudes Criptografia/Criptoanálise Esteganografia e marcas d água Reconhecimento de voz e locutor Desempenho Gerenciamento inteligente de redes Compactação de dados Predição de falhas Correlação de alarmes Prof. João Marcos Meirelles da Silva p. 15/60
Vantagens Aprendizado Generalização Robustez Não requer um modelo matemático do problema Prof. João Marcos Meirelles da Silva p. 16/60
Desvantagens Instabilidade nas redes com realimentação; Problemas com diversos mínimos locais; Problemas de aprendizagem (convergência prematura, paralisia, overtraining, etc...); Correlação entre características nos dados de entrada; Ruído não-correlacionado; Outros... Prof. João Marcos Meirelles da Silva p. 17/60
Redes Neurais: Quando usar? Existe um algoritmo (modelo matemático) que seja satisfatório? SIM Então use-o! NÃO Então pense em usar redes neurais... Prof. João Marcos Meirelles da Silva p. 18/60
Redes Neurais: Biológicas x Artificiais Figura 1: Neurônios do córtex cerebral. Prof. João Marcos Meirelles da Silva p. 19/60
Redes Neurais: Biológicas x Artificiais Figura 2: Neurônios de diferentes espécies. Prof. João Marcos Meirelles da Silva p. 20/60
Redes Neurais: Biológicas x Artificiais Em um neurônio biológico: Este recebe diversos sinais de outros neurônios ou terminações nervosas. Os sinais podem ser recebidos com diferentes intensidades (pesos) nas sinapses receptoras. O neurônio soma as entradas. Sob circunstâncias apropriadas (entradas com nível suficiente), o neurônio dispara um sinal elétrico (saída). Prof. João Marcos Meirelles da Silva p. 21/60
Redes Neurais: Biológicas x Artificiais Em um neurônio biológico: A saída de um neurônio pode ser a entrada de diversos outros neurônios (rede). A memória é distribuída, residindo nas sinapses (nos pesos). A resposta a um estímulo pode alterar a força (o peso) de uma sinapse aprendizado através da experiência. Neurotransmissores em uma sinapse podem ser excitatórios ou inibitórios. Prof. João Marcos Meirelles da Silva p. 22/60
Redes Neurais: Biológicas x Artificiais Figura 3: Sinapse entre dois neurônios biológicos. Prof. João Marcos Meirelles da Silva p. 23/60
Redes Neurais: Biológicas x Artificiais Figura 4: Sentido da propagação do sinal. Prof. João Marcos Meirelles da Silva p. 24/60
Modelo de um neurônio Um neurônio é uma unidade de processamento de informação essencial em uma rede neural biológica. Figura 5: Modelagem de um neurônio biológico. Prof. João Marcos Meirelles da Silva p. 25/60
Modelo de um neurônio O diagrama em blocos abaixo representa o modelo matemático de um neurônio... Figura 6: Modelo matemático de um neurônio artificial. Prof. João Marcos Meirelles da Silva p. 26/60
Modelo de um neurônio... o qual forma a base para o projeto de redes neurais artificiais. Temos: x 1, x 2,...,x m são os sinais de entrada. ω k1, ω k2,...,ω km são os pesos das sinapses do k-ésimo neurônio. u k é a combinação linear dos sinais de entrada ponderados por seus respectivos pesos. b k é o bias do k-ésimo neurônio. Prof. João Marcos Meirelles da Silva p. 27/60
Modelo de um neurônio ϕ k ( ) é a função de ativação do k-ésimo neurônio. y k é a saída do k-ésimo neurônio. u k = m ω kj x j (1) j=1 y k = ϕ(u k + b k ) (2) v k = u k + b k (3) Prof. João Marcos Meirelles da Silva p. 28/60
Modelo de um neurônio O bias b k é um parâmetro externo do k-ésimo neurônio artificial. Também pode ser interpretado como uma entrada x 0 = +1 com peso de sinapse igual a ω k0 = b k. u k = m ω kj x j, x 0 = +1 (4) j=0 y k = ϕ(u k ) (5) Prof. João Marcos Meirelles da Silva p. 29/60
Modelo de um neurônio Figura 7: Efeito do bias sobre o neurônio artificial. Prof. João Marcos Meirelles da Silva p. 30/60
Modelo de um neurônio Podemos reformular o modelo do neurônio mostrado na Figura 7 de forma a incorporar o bias. Figura 8: Segundo modelo matemático do neurônio artificial. Prof. João Marcos Meirelles da Silva p. 31/60
Modelo de um neurônio Agora que o segundo modelo foi apresentado, podemos simplificar a sua representação gráfica apenas por maior conveniência. Figura 9: Modelo simplificado do neurônio artificial. Prof. João Marcos Meirelles da Silva p. 32/60
Modelo de um neurônio Exemplo: Seja a entrada de um neurônio dado pelo vetor x = [1.4, 2.5, 0.7] T e seja o vetor de pesos das sinapses ω = [0.4, 0.6, 0.3] T. Determine se a saída é positiva ou negativa nos casos: com bias unitário e sem bias. Prof. João Marcos Meirelles da Silva p. 33/60
Tipos de Função de Ativação A função de ativação, representada por ϕ(ν), define a saída de um neurônio em termos do campo local induzido ν. Basicamente, há 3 tipos de função de ativação: 1. Função Threshold 2. Função Linear-por-Partes 3. Função sigmoidal Prof. João Marcos Meirelles da Silva p. 34/60
Tipos de Função de Ativação Função Threshold Figura 10: Função threshold. ϕ(ν) = 1 se ν 0 0 se ν < 0 (6) Prof. João Marcos Meirelles da Silva p. 35/60
Tipos de Função de Ativação De forma correspondente, a saída do k-ésimo neurônio é dado por: y k = 1, se ν k 0 0, se ν k < 0 onde ν k é o campo local induzido do neurônio: (7) ν k = m ω kj xj + b k (8) j=1 Prof. João Marcos Meirelles da Silva p. 36/60
Tipos de Função de Ativação Função Linear-por-Partes Figura 11: Função linear-por-partes. ϕ(ν) = 1, se ν 0.5 v, se 0.5 < ν < +0.5 0, se ν 0.5 (9) Prof. João Marcos Meirelles da Silva p. 37/60
Tipos de Função de Ativação Função Sigmoidal Figura 12: Função sigmóide. ϕ(ν) = 1 1 + exp aν (10) Prof. João Marcos Meirelles da Silva p. 38/60
Tipos de Função de Ativação Função Sigmoidal Figura 13: Função sigmóide - tangente hiperbólica. ϕ(ν) = tanhν (11) Prof. João Marcos Meirelles da Silva p. 39/60
Tipos de Função de Ativação Função mais comumente utilizada em redes neurais. É definida como uma função estritamente crescente que exibe uma balanço interessante entre um comportamento linear e não-linear. Função diferenciável. Prof. João Marcos Meirelles da Silva p. 40/60
Modelo Estocástico de Neurônio Em algumas aplicações, é desejável o funcionamento de um neurônio baseado em um modelo estocástico. x = +1, com probabilidade P(ν) 1, com probabilidade 1 P(ν) onde x é o estado do neurônio.uma escolha típica para P é: (12) P = 1 1 + exp ν/t (13) Prof. João Marcos Meirelles da Silva p. 41/60
Como os neurônios formam uma rede? Da mesma maneira que os neurônios no córtex cerebral são organizados em camadas, em geral, organizamos também as redes neurais artificiais em camadas. Figura 14: Organização em camadas. Prof. João Marcos Meirelles da Silva p. 42/60
Como os neurônios formam uma rede? Arquiteturas típicas: Redes de camada única Redes de múltiplas camadas Redes de camada competitiva Treinamento: Supervisionado Não supervisionado Pesos fixos Prof. João Marcos Meirelles da Silva p. 43/60
Como os neurônios formam uma rede? Freqüentemente é conveniente visualizar os neurônios em camadas. Neurônios da mesma camada tipicamente possuem o mesmo comportamento (função de ativação e padrão de conexões). O arranjo de neurônios em camadas e o padrão de interconexão entre estas é conhecido como arquitetura da rede. Redes neurais também podem ser classificadas como redes feedfoward ou recorrentes. Prof. João Marcos Meirelles da Silva p. 44/60
Redes de Camada Única Possuem uma única camada de conexões com pesos. Para classificação de padrões, cada neurônio de saída corresponde à uma classe em particular a qual um vetor de entrada pode pertencer ou não. Prof. João Marcos Meirelles da Silva p. 45/60
Redes de Camada Única Figura 15: Rede de Camada Única. Prof. João Marcos Meirelles da Silva p. 46/60
Redes de Múltiplas Camadas Possuem uma ou mais camadas de neurônios escondidos entre as unidades de entrada e as unidades de saída. Em geral, redes de múltiplas camadas podem resolver problemas mais complexos que as redes de camada única, mas o treinamento pode ser mais complexo. Prof. João Marcos Meirelles da Silva p. 47/60
Redes de Múltiplas Camadas Figura 16: Rede de Múltiplas Camadas. Prof. João Marcos Meirelles da Silva p. 48/60
Redes de Camada Competitiva Estão presentes em um grande número de redes neurais. Em geral, a saída dos neurônios da camada de saída conecta-se aos outros neurônios desta última, permitindo que um neurônio compare o seu valor de saída com os valores dos outros n 1 neurônios. Normalmente as interconexões entre os neurônios da camada competitiva não são representados nas arquiteturas de rede deste tipo. Prof. João Marcos Meirelles da Silva p. 49/60
Redes feedfoward recorrentes Redes feedfoward Sem realimentações Estática Estruturalmente estável Redes Recorrentes Com realimentações Dinâmica Instabilidade Prof. João Marcos Meirelles da Silva p. 50/60
Redes feedfoward recorrentes Figura 17: Redes Feedfoward Recorrentes. Prof. João Marcos Meirelles da Silva p. 51/60
Treinamento Treinamento Supervisionado Geralmente a base de dados disponível é divida em dois conjuntos: o conjunto de treinamento e o conjunto de testes. A base de dados é formada por tuplas, ou seja, pares de dados de entrada e saída (base rotulada). Apresenta-se uma seqüência de vetores de treinamento, ou padrões, cada um associado a um determinado vetor de saída. Prof. João Marcos Meirelles da Silva p. 52/60
Treinamento Treinamento Supervisionado Os pesos das sinapses são ajustados de acordo com um algoritmo de aprendizado. Utilizado nos problemas de classificação de padrões e associação de padrões (memória auto-associativa e hetero-associativa). Prof. João Marcos Meirelles da Silva p. 53/60
Treinamento Treinamento Não Supervisionado Uma seqüência de vetores de treinamento (entrada) é apresentada à rede, mas sem apresentar a saída (base não-rotulada). Os pesos das sinapses são ajustados de forma que os vetores de entrada mais similares, sejam agrupados sob o mesmo rótulo (cluster ou classe). A rede produzirá um vetor exemplar (representativo) para cada cluster formado. Prof. João Marcos Meirelles da Silva p. 54/60
Treinamento Treinamento Não Supervisionado O número de clusters pode ser conhecido previamente ou não. É bastante utilizado em problemas de clusterização e data mining. Prof. João Marcos Meirelles da Silva p. 55/60
Treinamento Redes com pesos fixos Geralmente utilizada em problemas de otimização com restrições. Tais redes pode trabalhar muito bem em problemas que causam dificuldades para técnicas tradicionais, tais como restrições conflitantes (nem todas as restrições podem ser satisfeitas simultaneamente). Prof. João Marcos Meirelles da Silva p. 56/60
Treinamento Redes com pesos fixos Os pesos das sinapses são ajustados de forma a representar as restrições e a quantidade a ser maximizada ou minimizada. São exemplos: a máquina de Boltzmann (sem aprendizado) e a Rede de Hopfield. Prof. João Marcos Meirelles da Silva p. 57/60
Histórico McCulloch e Pitts (1943) pioneiros. The organization of behavior de Donald Hebb (1949). Frank Rosemblatt (1958) perceptron. Widrow e Hoff (1960) LMS ou Regra Delta. Teuvo Kohonen (1972) Mapas auto-organizáveis. Rumelhart, Williams e Hinton (1986) Backpropagation. Ainda na década de 80, John Hopfield e David Tank redes neurais com pesos fixos. Prof. João Marcos Meirelles da Silva p. 58/60
Referências 1. Haykin, S., Neural Networks - A Comprehensive Foundation, 2 nd edition - Prentice Hall, 1999. 2. Fausett, L., Fundamental of Neural Networks - Architectures, Algorithms and Applications, Prentice Hall, 1994. 3. Theodoris, S., Koutroumbas, K, Pattern Recognition, 4 th edition, Academic Press. Prof. João Marcos Meirelles da Silva p. 59/60
FIM Prof. João Marcos Meirelles da Silva p. 60/60