Redes Neurais Artificiais Airton Bordin Junior [
[email protected]]
Mestrado em Ciência da Computação – Inteligência Inteligência Computacional Profº Dr Celso Gonçalves Camilo Junior Universidade Federal de Goiás (UFG) - Instituto de Informática - Maio/2017
Programação Introdução Heurísticas e Metaheurísticas Algoritmos evolucionários evo lucionários Redes Neurais Artificiais Referências
•
•
•
•
•
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Introdução Podemos classificar os problemas computacionais em Tratáveis, também chamados de polinomiais
•
Podem ser resolvidos por algoritmos determinísticos.
Intratáveis, Intratá veis, ou não polinomiais
Sem algoritmo determinístico para resolver o problema em tempo hábil.
Tratáveis
• Polinomiais • Algoritmos • Não
Intratáveis
determinísticos
polinomiais • Algoritmos não determinísticos
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Introdução r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Heurística •
•
Impraticabilidade de encontrar/calcular a melhor resposta para problemas não polinomiais;
Desafio: produzir, em tempo reduzido, soluções tão próximas quanto possíveis da solução ótima.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Metaheurística Propriedades e características das metaheurísticas [SALIBA, 2010]
Estratégias Estratégias que guiam o processo de busca; Exploração eficiente eficiente do espaço de busca - soluções ótimas ou quase ótimas; De simples procedimentos de busca local a complexos processos de aprendizado; aprendizado; Aproximados Aproximados e usualmente não determinísticos; Podem incorporar mecanismos para evitar ficar presos em áreas confinadas do espaço de busca; Não são específicas para um determinado problema; Podem usar um conhecimento específico do problema na forma de
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss bio-in bio-inspi spirad rados os Algoritmos evolucionários [PAPPA, 2013]
Algoritmos bio-inspirados
Algoritmos Genéticos Programação Genética Evolução Gramatical Estratégias Evolucionárias Programação Evolucionária
Inteligência coletiva
Colônia de Formigas Enxame de Partículas
Redes Neurais
MLP – Multi-layer Multi-layer Perceptrons RBF- Radio Basis Function Net SOM- Self-Organizing Maps ARTMap
Sistemas Imunológicos
Seleção Negativa Expansão Clonal Redes
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss bio-in bio-inspi spirad rados os Algoritmos evolucionários [PAPPA, 2013]
Algoritmos bio-inspirados
Algoritmos Genéticos Programação Genética Evolução Gramatical Estratégias Evolucionárias Programação Evolucionária
Inteligência coletiva
Colônia de Formigas Enxame de Partículas
Redes Neurais
MLP – Multi-layer Multi-layer Perceptrons RBF- Radio Basis Function Net SOM- Self-Organizing Maps ARTMap
Sistemas Imunológicos
Seleção Negativa Expansão Clonal Redes
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss evoluci evolucioná onário rioss •
•
Inspirados Inspirados na teoria de evolução de Darwin; Evoluç volução: ão: mudanç mudançaa das car caracterí acteríst stic icas as (genét (genétic icas) as) de uma população de uma geração para a próxima Mutação dos genes; Recombinação dos genes dos pais.
Algoritmos evolucionários
Algoritmos bioinspirados
Inteligência coletiva Redes Neurais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss evoluci evolucioná onário rioss •
Evolu voluçã ção o é car caracte acteri rizzada ada basi basica came ment ntee por por um processo constituído constituído de 3 passos [VON ZUBEN, 2005]
1. Reprodução com com herança genética; 2. In Intr trod oduç ução ão de var aria iaçã ção o al alea eató tóri riaa em um umaa população de indivíduos; 3. Ap Apliliccaç ação ão da “se para a “sele leçã ção o na natu turral al”” pa produção da próxima geração. Algoritmos bioinspirados
Algoritmos evolucionários Inteligência coletiva Redes Neurais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss bio-in bio-inspi spirad rados os Algoritmos evolucionários [PAPPA, 2013]
Algoritmos bio-inspirados
Algoritmos Genéticos Programação Genética Evolução Gramatical Estratégias Evolucionárias Programação Evolucionária
Inteligência coletiva
Colônia de Formigas Enxame de Partículas
Redes Neurais
MLP – Multi-layer Multi-layer Perceptrons RBF- Radio Basis Function Net SOM- Self-Organizing Maps ARTMap
Sistemas Imunológicos
Seleção Negativa Expansão Clonal Redes
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Algori Algoritmo tmoss bio-in bio-inspi spirad rados os Algoritmos evolucionários [PAPPA, 2013]
Algoritmos bio-inspirados
Inteligência coletiva Redes Neurais Sistemas Imunológicos
Algoritmos Genéticos Programação Genética Evolução Gramatical Estratégias Evolucionárias Programação Evolucionária Colônia de Formigas Enxame de Partículas MLP – Multi-layer Perceptrons
RBF- Radio Basis Function Net SOM- Self-Organizing Maps ARTMap Seleção Negativa Expansão Clonal Redes
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais •
Sis Siste tema ma nerv nervos oso o é forma ormado do por por um conj onjunt unto extremamente complexo de células: os neurônios.
Essenc Esse ncia iall na de dete term rmin inaç ação ão do fun funci cion onam amen ento to e comportamento comporta mento do corpo humano e do raciocínio.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais •
Principais partes de um neurônio
, que recebem os estímulos; , re resp spon onsá sáve vell po porr co cole leta tarr e co comb mbin inar ar informações; , que transmite os estímulos para outras células.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Neurônio r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
•
Mode Modelo loss mate matemá máti ticcos que que se asse asseme melh lham am às estruturas neurais biológicas e que têm capacidade computacional adquirida por meio de aprendizagem e generalização; Insp Inspir irad ado o na estr estrut utur uraa neur neural al de org organis anismo moss int intelig ligentes e que adquire irem conhecime imento através da experiência.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
Estrutura de processamento, composta por um número de unidades interconectadas, onde cada unidade apresenta um comportamento específico de entrada/saída, determinado pela sua função de transferência, pelas interconexões com outras unid unidad ades es,, den dentro tro de um raio aio de vizi vizinh nhan ançça, e possivelmente pelas entradas externas. [VON ZUBBEN, 2003]
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
•
Circuito Circuito composto por uma grande quantidade de unidades simples de processamento inspiradas no [NIGRIN, 1993] sistema neural; Sist Sistem emaa mass massiv ivam amen ente te par paralel alelo o e dist distri ribu buíd ído o, composto por unidades de processamento simples que possuem uma capacidade natural de [HAYKIN, 1999] armazenar e utilizar conhecimento
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
Propriedades particulares de uma RNA:
Aprender; Adaptar; Generalizar; Eventualmente Eventualme nte organizar organizar..
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Histórico resumido •
•
•
•
: McCulloch e Pitts - construção de uma máquina baseada ou inspirada no cérebro humano; : Donald Hebb – “The Organization of Behavior ” - traduziu matematicamente a sinapse dos neurônios biológicos; : Mavin Mavin Mins Minsky ky - prime primeir iro o neur neuroc ocom omput putado ador: r: Snark (não executou nenhuma função útil); : Darth Darthmo mouth uth Colle College ge – 2 paradigmas de IA: Simbólica e Conexionista;
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Histórico resumido •
•
•
: Rosen osenbl blat attt - prim primei eirro neur neuroc ocom ompu puttador ador a obter sucesso: Mark I Perceptron (reconhecimento de padrões); : Ira Skurnick – ce centro de pesquisas em neurocomputação – DARP DARPA A (Def (Defen ense se Adva Advanc nced ed Research Projects Agency); : David Rumelhart e James McClelland – “Parallel Distributed Processing” Processing ”
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
Operação de uma unidade de processamento
Sinais são apresentados à entrada; Cada sinal é multiplicado por um peso (influência na saída da unidade); Somatório ponderado dos sinais produz um nível de atividade; Se es este te ní níve vell de at ativ ivid idad adee exce cede derr um ce cert rto o lilimi mite te (threshold ) a unidade produz uma determinada resposta de saída. [MCCULLOCK, PITTS, 1943]
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais Função matemática F(x)
•
Relaciona um vetor de entrada com um vetor de saída; Assume-se que F(x) é totalmente desconhecida Pode ser tão simples como um mapeamento linear do tipo
d = M.x
Entrada(x)
F(x) desconhecida
Saída (d)
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais Função matemática F(x)
•
A função pode ser extremamente complexa;
Relações não lineares, lineares, etc.
Objetivo: imitar o functionamento de F(x).
Entrada(x)
F(x) desconhecida
Saída (d)
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
Fontes de informação sobre o problema p roblema
Conjunto finito de pares de entrada {xi, di} Exemplo: 127
2
14.9
4.5
137.2
22.8
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
Fontes de informação sobre o problema p roblema
Após a apresentação das entradas conhecidas x e saídas d, a ideia é que a rede seja capaz de retornar uma saída d’ para uma entrada x’ desconhecida;
Saída muito próxima da real;
O processo de obtenção de d’ a partir das entradas conhecidas é chamado de .
x’
d’
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Neurônio artificial r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Arquit Arquitetu eturas ras de redes redes Feedforward com camada única r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Arquit Arquitetu eturas ras de redes redes Feedforward com múltiplas camadas r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Arquit Arquitetu eturas ras de redes redes Redes recorrentes r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
O processo de conexão de neurônios artificiais leva à geração de sinapses e Redes Neurais Artificiais r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Redes Neurais Artificiais •
As estruturas mais conhecidas são as em camadas
Multilayer Perceptron (MLP) r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Multilayer Perceptron (MLP) •
•
RNAs RNAs de múltiplas camadas resolvem resolvem problemas problemas não linearmente separáveis; Dist Disting inguem uem-s -see das redes redes de cama camada da simple simpless pelo pelo número de camadas intermediárias
Possui uma ou mais camadas ocultas, compostas por neurônios artificiais (neurônios ocultos); Adiç Ad ição ão de ca cama mada dass oc ocul ulttas to torn rnaa a red edee ca capa pazz de extrair estatísticas estatísticas de ordem elevada.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Multilayer Perceptron (MLP) •
•
•
O número de nós de entrada é determinado pela dimensão do espaço de observação; O número de neurônios da camada de saída é determinado pela dimensão da resposta; Assim, o projeto requer a consideração de: 1. Número de camadas ocultas; 2. Número de neurônios em cada camada oculta; 3. Especificação dos pesos sinápticos. sinápticos.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado •
•
Se o conhecimento está armazenado nos pesos das conex nexões, es, ent então o proces cesso de apren prendi dizzagem corresponde a identificar um conjunto apropriado de pes pesos de forma que que a rede se compor porte como desejado; Possib ossibili ilida dade de de desen desenvo volvi lvimen mento to de té técni cnica cass de apr aprendi endizzagem agem,, e a repr epresen esenta taçã ção o dist distri ribu buíd ídaa de conhecimento.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado
Estímulo
Adaptação
Novo comportamento
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado O algoritmo algoritmo de treinamento treinamento mais utilizado utilizado em MLP é o Backprogation
•
•
Baseia-se na aprendizagem por correção de erros.
Quando Quando o valor de saída é gerado gerado,, é calculado o erro erro e seus valores são retro-propagados retro-propagados para entrada
Os pesos são ajustados e os valores são novamente calculados.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado Funcionamento geral
•
1. Apresenta-se um padrão à camada de entrada a. Padrão Padrão é processado processado camada por camada camada até que a camada de saída forneça a resposta processada. 2. Respost Respostaa é comparada com a resposta resposta desejada e se estiver errada, o erro é calculado; 3. Val alor ores es sã são o re retr trop opro ropa paggad ados os da ca cama mada da de sa saíd ídaa para a camada de entrada a. Pesos são ajustados.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado •
O aprendizado é feito por meio de um processo iterativo de ajuste dos pesos sinápticos 1. RNA é estimulada estimulada pelo ambiente de informação; informação; 2. Estru Estrutu turra in inte tern rnaa da red edee é al alte terrad adaa co como mo re resu sult ltad ado o do estímulo; 3. Por conta conta das alterações na estrutura estrutura interna, a rede rede tem sua resposta aos estímulos do ambiente modificada.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado •
A RNA se baseia nos dados para extrair um modelo geral
•
Fase de aprendizado deve ser rigorosa e verdadeira, a fim de se evitar modelos irreais.
Todo o conhe onheci cim mento ento de uma uma rede ede neur neuraal est está armazenado nas sinapses, ou seja, nos pesos atribuídos às conexões conexões entre os neurônios;
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido direto •
Cálculo ativações e saídas de todos os neurônios da camada oculta e de saída;
Entrada
Intermediária
Saída
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido direto •
Cálculo ativações e saídas de todos os neurônios da camada oculta e de saída. Intermediária
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido direto •
Cálculo ativações e saídas de todos os neurônios da camada oculta e de saída; Intermediária
Função Logística
Tangente Hiperbólica
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido direto •
Deve repetir para a camada de saída, considerando a saída da camada intermediária como entrada Saída
Função Logística
Tangente Hiperbólica
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Funções de ativação Função Identidade
Função Degrau
Função Logística r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Funções de ativação Função Senoide
Função Gaussiana
Função Sinc r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída.
Intermediária
Saída
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso •
Cálculo dos gradientes locais e o ajuste dos pesos de todos os neurônios da camada intermediária e saída
Gradientes locais
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Sentido inverso Atualização/ajuste Atualização/ajuste dos parâmetros da rede
•
Pesos sinápticos e limiares
Camada Intermediár Intermediária ia
Camada Saída
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Treinamento Pontos importantes
•
Vetor de entrada; Vetor de saída; Número neurônios camada oculta; Funções de ativação; Critério de parada e convergência
Geralmente erro médio quadrático por Época.
Avaliação da rede.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Multilayer Perceptron (MLP) •
•
•
•
afirma que apenas com uma camada ocult cultaa já é poss possív ível el calcu alcula larr a funç função ão arbi arbitr trár ária ia qualquer (camada oculta deve ter 2i+1 neurônios); defende o uso de 2 camadas internas; observa que, para cada 3 neurônios da 1ª camada oculta era preciso 1 da segunda camada; afirma que a 2ª camada oculta deve ter o dobro de neurônios da camada de saída
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Processos de aprendizado •
De 50 a 90% do total de dados devem ser usados para o treinamento da RNA
•
Escolh Esc lhiidos aleatoriamente, a fim de que a rede "aprenda" as regras e não decore exemplos.
O restante dos dados é apresentado à RNA na fase de testes a fim de que ela possa deduzir corretamente o interrelacionamento entre os dados.
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I
Referências •
ZUBEN, F. V. Rede MLP: Perceptron de Múltiplas Camadas
•
•
•
CRUZ, A. Redes Neurais Artificiais: Artificiais: Multi Layer Perceptron •
•
•
•
•
•
ALMEIDA, ALMEIDA, R. R. IA Conexionista: Conexionista: Redes Neurais Neurais Artificiais AFFONSO, AFFONSO, E. T. F., SILVA, A. M., SILVA, M. P., RODRIGUES, T. M. D., MOITA, G. F. Uso Redes Neurais Multilayer Perceptron (Mlp) Em Sistema De Bloqueio De Websites Baseado Em Conteúdo CASTR CASTRO, O, F. C., C., CAST CASTRO, RO, M. C. Mult Multil ilay ayer er Perceptrons CASTRO CASTROUNI UNIS, S, A. Artifici Artificial al Intellig Intelligenc ence, e, Deep Deep Learning, and Neural Networks Explained ANDRÉ, A. P. L. F. Redes Redes Neurais Artificiais
•
TATIBANA, C. Y., KAETSU, D. Y. Redes Neurais ZADR ZADROZ OZNY NY,, B. Aprendizagem
Méto étodos dos
Esta Estattísti ístico coss
de
BACKES, A. Redes Neurais BARRETO, G. A. Perceptron Multicamadas e o Algoritmo de Retropropagação do Erro
r o i n u J n i d r o B n o t r i A l a n o i c a t u p m o C a i c n ê g i l e t n I