Redes Neurais Artificiais Introdução Capítulos p 1e2 Redes Neurais Artificiais (RNA) • São modelos computacionais inspirados nos mecanismos de aprendizagem do cérebro humano. humano • São modelos computacionais que tentam emular a forma com que o cérebro resolve problemas. RNA Inspiração no cérebro humano • O processamento de informações no cérebro humano é altamente complexo, não-linear e paralelo. ▫ O cérebro é constituído por aproximadamente 100 bilhões de neurônios (1011) ▫ Cada neurônio é interligado em média com outros 6.000 neurônios (60 trilhões de sinapses). ▫ Número de neurônios equivale à quantidade de estrelas de via Láctea. ▫ É um dos sistemas mais complexos que é atualmente conhecido pelo ser humano RNA Comparação p ç entre o computador p e o cérebro Computador Cérebro p de Tipo processamento Sequencial q (serial) ( ) Paralelo Quantidade e complexidade l id d Um ou poucos processadores d 1010 neurônios; 1010 conexões/neurônio. Velocidade de processamento 10-9 segundos g 10-6 segundos g Eficiência energética 10-16 Joules (por 10-6 Joules (por operação/segundo) ã / d ) operação/segundo) ã / d ) RNA: Principais características • Adaptação por experiência ▫ Parâmetros internos da rede, tipicamente seus pesos sinápticos, são ajustados a partir da apresentação sucessiva de exemplos (amostras e medidas) relacionados ao comportamento do processo • Capacidade de Aprendizado ▫ Aplicação de método de treinamento possibilita a rede extrair o relacionamento existente entre variáveis que compõem a aplicação. • Habilidade de generalização ▫ Após o processo de treinamento, a rede é capaz de generalizar o conhecimento h i adquirido, d i id possibilitando ibili d a estimação i ã d de soluções l õ que eram até então desconhecidas. • Organização de dados ▫ Baseada em características marcantes de um conjunto de dados a respeito do processo, a rede é capaz de realizar sua organização interna para agrupamento de amostras que são similares/comuns. RNA: Principais características • Tolerância a falhas ▫ Devido d ao elevado l d nívell d de interconexões entre neurônios artificiais, f a rede torna-se um sistema tolerante a falhas quando parte de sua estrutura interna for sensivelmente corrompida. • Armazenamento distribuído ▫ O conhecimento dentro da rede é realizado de forma distribuída entre as sinapses dos neurônios artificiais, permitindo-se então robustez frente a eventuais i neurônios ô i que se tornaram iinoperantes. • Facilidade de Prototipagem ▫ A implementação i l t ã da d maioria i i d das arquiteturas it t neurais i pode d ser facilmente prototipadas em hardware ou em software ▫ Após o processo de treinamento, os seus resultados são normalmente por algumas g operações p ç matemáticas elementares. obtidos p Histórico das RNA • 1943 – McCulloch e Pitts ▫ Primeiro modelamento matemático inspirado no neurônio biológico • 1949 – Hebb ▫ Primeiro método de treinamento para redes neurais artificiais (regra de aprendizado de Hebb) ▫ Baseada em hipóteses e observações de caráter neurofisiológico • 1957-1958 – Frank Rosenblatt ▫ Desenvolvimento do primeiro p neurocomputador: Mark I – Perceptron ▫ o modelo Perceptron despertou interesse devido à sua capacidade em reconhecer padrões simples Histórico das RNA • 1960 – Widrow & Hoff ▫ Rede Adaline (ADAptive LINear Element) ▫ Madaline Adaline múltipla, que é uma rede cujo aprendizado é fundamentado na regra Delta ou LMS (least mean square) • 1969 – Publicação do livro Perceptron (Minsky & Papert) ▫ Limitação de RNA constituídas por apenas uma única camada em aprender d o relacionamento l i t entre t as entradas t d e saídas íd d de ffunções õ lógicas bem simples como o XOR (ou-exclusivo). p das RNAs realizarem a correta classificação ç de ▫ Impossibilidade padrões para classes não lineamente separáveis. Histórico das RNA • De 1970 97 a 1986 9 ▫ Trabalhos de Werbos (gradiente reverso), Grossberg(ART), Kohonen (mapas auto-organizáveis), Hopfield (redes recorrentes baseadas em funções de energia) • 1986 – livro de Rumelhart, Hinton e Williams ▫ Processamento paralelo distribuído ▫ Resolvia o problema do XOR ▫ Algoritmo Backpropagation Potenciais áreas de aplicações de RNA • Aproximador p unirversal de funções ç ▫ Mapeiam o relacionamento entre variáveis de um sistema a partir de um conjunto conhecido de seus valores representativos ▫ Envolvem normalmente o mapeamento de processos cuja modelagem por técnicas convencionais são de difícil obtenção ▫ Necessitam de domínio específico para variáveis de entrada • Controle de processos ▫ Consistem em identificar ações de controle que permitam o alcance dos requisitos de qualidade, de eficiência e de segurança do processo. ▫ Ex: E controles l aplicados li d em robótica, bó i aeronaves, elevadores, l d eletrodomésticos, satélites, etc. Potenciais áreas de aplicações de RNA • Classificação ç de Padrões ▫ Associar um padrão de entrada (amostra) para uma das classes previamente definidas. problema p pode ser tratado p possui um conjunto j discreto e ▫ Op conhecido das possíveis saídas desejadas. ▫ Ex: reconhecimento de imagens, voz, escrita, etc. • Agrupamento de dados (clusterização) ▫ Identificação e detecção de similaridades e particularidades entre os diversos padrões de entrada a fim de possibilitar seu agrupamento. ▫ Ex: identificação automática de classes (como em problemas de diagnóstico médico), médico) compressão de dados e mineração de dados (data mining) Potenciais áreas de aplicações de RNA • Sistemas de Previsão ▫ Estimar valores futuros de um processo levando-se em consideração diversas medidas prévias observadas em seu domínio. ▫ Ex: previsão de séries temporais, mercados financeiros, climáticas, etc. • Otimização de Sistemas ▫ Minimizar ou maximizar uma função ç custo ((objetivo) j ) obedecendo também eventuais restrições que são impostas para o correto mapeamento do problema. ▫ Ex: problemas de otmização restrita, otimização combinatorial, programação dinâmica, etc. Potenciais áreas de aplicações de RNA • Memórias Associativas ▫ Recuperar padrões corretos mesmo se os seus elementos constituintes forem apresentados de forma incerta ou imprecisa. ▫ Ex: processamento de imagens, transmissão de sinais, identificação de caracteres manuscritos, etc. Neurônio biológico Características da célula nervosa • O processamento de informações no cérebro humano é regido por elementos processadores bológicos que operam em paralelo • Tem T como objetivo bj ti a produção d ã de d ações õ apropriadas i d para cada d uma de suas funcionalidades, como o pensar e o memorizar. Neurônio biológico g Características da célula nervosa Neurônio biológico Características da célula nervosa Neurônio biológico g Variação do potencial de ação do neurônio • Etapas de variação (potencial de ação): Característica Dimensão Massa do cérebro 1,5 ,5 kg g Energia consumida 20% Comprimento do neurônio 100μm Potencial de repouso -70 mV Potencial de ativação -55 mV Potencial de ação (máximo) 35 mV Representação do neurônio artificial • Modelo matemático do neurônio artificial • Sinais de entrada: {x1, x2, …, xn} u wi xi i 1 y g (u (u ) n • Pesos sinápticos: {w1, w2, …, wn} • Combinador bi d linear: li {Ʃ} { } •Limiar de ativação: {θ} • Potencial de ativação: {u} • Função de ativação: {g} • Sinal de saída: {y} Neurônio artificial – resumo do funcionamento 1. Apresentação de um conjunto de valores que representam as variáveis de entrada do neurônio; 2 2. Multiplicação de cada entrada do neurônio pelo seu respectivo peso sináptico 3. Obtenção do potencial de ativação produzido pela soma ponderada d sinais dos i i d de entrada, d subtraindo-se b i d o li limiar i d de ativação i ã 4. Aplicação de uma função de ativação apropriada, tendo-se como objetivo obje o limitar a a sa saída da do neurônio eu ô o 5. Compilação da saída a partir da aplicação da função de ativação neural em relação ao seu potencial de ativação n u wi xi i 1 1 y g (u ) Funções ç de ativação ç neural parcialmente diferenciáveis • São aquelas q que p q possuem p pontos cujas j derivadas de primeira ordem são inexistentes. a) Função degrau (heavyside) b) Função F ã degrau d bi l ou função bipolar f ã sinal i l Classifcação de padrões Funções de ativação neural parcialmente diferenciáveis c) Função rampa simétrica Os valores retornados são iguais aos próprios valores dos potenciais de ativação quando estes estão definidos no intervalo [[-a,a], , ], restingindo-se g aos valores limites em caso contrário. Funções ç de ativação ç neural totalmente diferenciáveis • São aquelas cujas derivadas de primeira ordem existem e são conhecidas em todos os pontos de seu domínio de definição • São quatro as principais funções. funções Funções ç de ativação ç neural totalmente diferenciáveis a)) Função ç logística g ▫ Saída: valores entre 0 e 1. • β é uma constante real associada ao nível de inclinação da função logística frente ao seu ponto de inflexão • Formato geométrico tende a ser similar ao da função degrau quando β for muito elevado (tender ao infinito) Funções ç de ativação ç neural totalmente diferenciáveis b) Função F ã tangente t t hiperbólica hi bóli Saída: valores reais entre -11 e 1 β também está associado ao nível de inclinação da função em relação ao seu ponto de inflexão Formato geométrico tende a ser similar ao da função degrau bipolar quando β for muito elevado (tender ao infinito). Funções ç de ativação ç neural totalmente diferenciáveis c) Função gaussiana d) Função linear (identidade) c define o centro (média) da função 2 especifica σ ifi a variância iâ i (espalhamento) Produz resultados idênticos aos valores do potencial de ativação {u} Arquiteturas q de RNA’s • Arquitetura de RNA’s ▫ Define a forma como os seus diversos neurônios estão arranjados, ou dispostos, uns em relação aos outros. ▫ Os arranjos são estruturados através do direcionamento do fluxo sináptico. p • Topologia de RNA’s ▫ Define D fi as diferentes dif f formas d composições de i õ estruturais i que uma rede d pode assumir, dada uma determinada arquitetura. ▫ Ex: dada uma determinada arquitetura, uma das redes pode ser composta por 10 neurônios e a outra por 20 neurônios • Processo de treinamento ▫ Consiste na aplicação de um conjunto de passos ordenados com o intuito de ajustar os pesos e os limiares de seus neurônios. ▫ Visa sintonizar a rede para que as suas respostas estejam próximas dos valores desejados. ▫ Conhecido como algoritmo de aprendizagem Partes da RNA • Camada de entrada ▫ Responsável pelo recebimento de informações (dados) advindas do meio externo ▫ Entradas são normalizadas em relação aos valores limites produzidos pelas funções de ativação • Camadas escondidas, intermediárias, ocultas ou invisíveis ▫ Compostas de neurônios que possuem a responsabilidade de extrair as características associadas ao processo ou sistema a ser inferido. • Camada de saída ▫ Também é constituida de neurônios, sendo responsável por produzir/apresentar os resultados finais da rede Arquiteturas • As principais arquiteturas, arquiteturas consideram ▫ Disposição de seus neurônios ▫ Formas de interligação entre os neurônios ▫ Constituição de suas camadas 1. Arquitetura feedforward (alimentação à frente) Camada simples • Constituída de uma camada de entrada e única camada de neurônios, que é a própria saída. • Fluxo de informações segue sempre numa única direção (unidirecional). • Ex: Perceptron, Adaline • Aplicações: classificação de padrões, filtragem linear 2. Arquitetura q ffeedforward f ((alimentação ç à frente) C Camadas d múltiplas úl i l • Presença de uma ou mais camadas neurais escondidas • Quantidade de camadas escondidas e de neurônios dependem, dependem sobreturo, do tipo e complexidade do problema. • Ex: Perceptron multicamadas, redes de base radial (RBF). • Aplicações: aproximação de funções, classificação de padrões, controle de processos, processos otimização, otimização etc. 3 Arquitetura recorrente 3. • Saídas íd dos d neurônios ô i são realimentadas como sinais de entrada para outros neurônios. • Realimentação as qualificam para processamento dinâmico de informações. p , Perceptron p • Ex: Hopfield, multicamadas com realimentação • Aplicações sistemas de previsão, otimização, controle processos,, etc. de p 4 Arquitetura 4. Arq itet ra reticulada retic lada • Levam em consideração ç a forma em que a disposição espacial dos neurônios está organizada. organizada • Visa propósitos de extração de características. í i • Ex: Kohonen. • Aplicações: problemas de agrupamento, t classificação l ifi ã de d padrões, otimização de sistemas, etc. Rede de Kohonen em que os neurônios estão dispostos no espaço bidimensional Processos de treinamento Aprender a partir da apresentação t ã de d amostras t (padrões) Exprimem o comportamento do sistema Generalizar soluções Produzir uma saída próxima da esperada Processos de treinamento • Processo de treinamento ▫ Consiste da aplicação de passos ordenados a fim de ajustar (sintonizar) os parâmetros livre (pesos sinápticos e limiares) dos neurônios. ▫ Objetivo final: generalização de soluções (as quais não eram conhecidas) Divisão das amostras Representa todos os dados disponíveis sobre o comportamento do d processo a ser mapeado. d Conjunto total de amostras 60 a 90% Subconjunto de treinamento Usado para o processo de aprendizado da rede. rede 10 a 40% Subconjunto de teste Usado para verificar se a generalização li ã de d soluções l õ por parte t da d rede já estã em patamares aceitáveis. Não participam do treinamento da rede Treinamento supervisionado • Consiste em se ter disponível, disponível considerando cada amostra dos sinais de entrada, as respectivas saídas desejadas. • Cada amostra de treinamento é então composta pelos sinais de entradas e suas correpondentes saídas. • Comporta como se houvesse um “professor” ensinando para a rede qual seria a resposta correta para cada amostra apresentada Passos do treinamento supervisionado 1. Apresente uma amostra de treinamento. 2 2. Calcule a saída produzida pela rede. rede 3. Compare com a saída desejada. 4. Se estiver dentro de valores aceitáveis: E ã Então T Termine i o processo de d aprendizado di d Senão Ajuste os pesos sinápticos e limiares dos neurônios e volte ao passo 1. 1 Treinamento não-supervisionado não supervisionado • Diferentemente do supervisionado, as respectivas saídas desejadas são inexistentes. inexistentes • A rede deve se auto-organizar em relação às particularidades existentes entre os elementos do conjunto total de amostras, identificado subconjuntos ((clusters)) q que contenham similaridades. Passos do treinamento não supervisionado: 1 Apresente 1. A t todas t d as amostras t d treinamento. de t i t 2. Obtenha as características que marcam as amostras de treinamento. 3. Agrupe todas as amostras com características em comum. 4 Coloque as amostras comuns em classes. 4. classes Aprendizagem off-line e on-line • Off-line (usando lote de padrões) ▫ Os ajustes efetuados nos pesos e limiares dos neurônios só são efetivados após a apresentação de todo o conjunto de treinamento. ▫ Cada passo de ajuste leva em consideração o total de desvios observados nas amostras de treinamento frentes aos respectivos valores desejados para as usas saídas. • On-line (usando padrão-por-padrão) ▫ Os ajustes nos pesos e limiares l d neurônios dos ô são efetuados f d após ó a apresentação de cada amostra de treinamento. ▫ É normalmente l t utilizada tili d quando d o comportamento t t do d sistema i t a ser mapeado varia de forma bastante rápida. Exercícios • P. P 43 43-44; 44; 54 54-55 55 Bibliografia • Livro: Redes Neurais Artificiais: para engenharia e ciências aplicadas – curso prático Autores: Ivan Nunes da Silva Danilo Hernane Spatti Rogério Andrade Flauzino Fla ino Artliber: 2010.