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 Motivação Básica A mente humana, diferente dos computadores digitais, possui uma habilidade notável para processar e armazenar informação imprecisa, parcial, ambígua e pouco estruturada. 24/08/15 Inteligência Computacional – Renato Dourado Maia 2/38 Reflexões Iniciais • Como o cérebro processa informações? • Como o cérebro é organizado? • Quais são os mecanismos envolvidos no funcionamento cerebral? Essas são algumas das diversas perguntas que representam grandes desafios para a ciência... 24/08/15 Inteligência Computacional – Renato Dourado Maia 3/38 O Cérebro • O cérebro é especialista em desempenhar funções importantes, tais como reconhecimento de padrões, controle motor, percepção, inferência, intuição, adivinhações, etc. • Entretanto, o cérebro também é “preconceituoso”, lento, impreciso, realiza generalizações incorretas e, é, geralmente, incapaz de explicar suas próprias ações (embora esse seja um requisito cultural e não funcional). 24/08/15 Inteligência Computacional – Renato Dourado Maia 4/38 O Sistema Nervoso • Todos os organismos multicelulares possuem algum tipo de sistema nervoso, cuja complexidade e organização varia de acordo com o tipo de animal. • O sistema nervoso, por meio de entradas sensoriais, fornece ao organismo informações sobre o estado dos ambientes externo e interno. – A informação de entrada é processada, comparada com o conhecimento já adquirido e transformada em ações apropriadas ou absorvidas sob a forma de novo conhecimento. 24/08/15 Inteligência Computacional – Renato Dourado Maia 5/38 O Sistema Nervoso • O sistema nervoso pode ser organizado em diferentes níveis: – Moléculas, sinapses, neurônios, camadas, mapas e sistemas. • Uma estrutura facilmente identificável no sistema nervoso é o neurônio, especialista em processamento de sinais. – Dependendo das condições de operação, os neurônios são capazes de gerar um sinal, mais especificamente um potencial elétrico, que é utilizado para transmitir informação a outras células. 24/08/15 Inteligência Computacional – Renato Dourado Maia 6/38 O Sistema Nervoso Rede Neural Neurônio Cérebro Sinapse O Sistema Nervoso – Panorama Geral. 24/08/15 Inteligência Computacional – Renato Dourado Maia 7/38 O Sistema Nervoso – A Visão da Engenharia Estímulo 24/08/15 Sensores Cérebro + Redes Periféricas Atuadores Inteligência Computacional – Renato Dourado Maia Resposta 8/38 Os Neurônios Naturais • Os neurônios são considerados as unidades básicas de processamento do cérebro. • Em termos fisiológicos, um neurônio é uma célula que possui a função específica de receber, processar e enviar informação a outras partes do organismo. • No âmbito das Redes Neurais artificiais, modelos simplificados dos neurônios biológicos, os neurônios artificiais, constituem as unidades básicas de processamento. 24/08/15 Inteligência Computacional – Renato Dourado Maia 9/38 Os Neurônios Naturais • Os neurônios biológicos estão conectados uns aos outros por meio de conexões sinápticas. – Acredita-se que a capacidade das sinapses serem moduladas é a principal base para todos os processos cognitivos, tais como percepção, raciocínio e memória. Sendo assim, algumas informações essenciais sobre neurônios, sinapses e organização estrutural são importantes para o projeto de RNA. Como nosso tempo é curto, veremos apenas os conceitos biológicos particularmente interessantes para o projeto de RNA.... 24/08/15 Inteligência Computacional – Renato Dourado Maia 10/38 Os Neurônios Naturais. Os neurônios naturais podem possuir diversas formas e diferentes tamanhos. 24/08/15 Inteligência Computacional – Renato Dourado Maia 11/38 Os Neurônios Naturais. Os neurônios naturais podem possuir diversas formas e diferentes tamanhos. 24/08/15 Inteligência Computacional – Renato Dourado Maia 12/38 Neurônio Natural Simplificado. O processamento de informações tem natureza eletroquímica. 24/08/15 Inteligência Computacional – Renato Dourado Maia 13/38 Os Neurônios Naturais • A natureza do processamento de informações nos neurônios é eletroquímica: – A transmissão de impulsos nervosos dentro do neurônio é um processo de natureza elétrica: ✔ Os sinais viajam através dos axônios em forma de potenciais de ação – potenciais elétricos breves. – A transmissão sináptica é efetivada por meio de um processo de natureza química, realizado pela ação de neurotransmissores. 24/08/15 Inteligência Computacional – Renato Dourado Maia 14/38 Os Neurônios Naturais • Transmissão de impulsos: – As mensagens fluem dos dendritos para o axônio, passando pelo corpo. – O disparo do axônio depende da soma dos impulsos recebidos. – Um neurônio dispara quando a soma supera um determinado valor, chamado limiar de ação ou limiar de ativação. 24/08/15 Inteligência Computacional – Renato Dourado Maia 15/38 Os Neurônios Naturais ● ● Uma sinapse é a região de contato entre dois neurônios, na qual há a transmissão de impulsos de um neurônio para outro, do axônio para os dendritos. A comunicação entre dois neurônios pode ter dois efeitos: – Excitatório: ✔ Um neurônio transmite um sinal estimulante para outro. – Inibitório: ✔ 24/08/15 Um neurônio transmite um sinal inibitório para outro. Inteligência Computacional – Renato Dourado Maia 16/38 Os Neurônios Naturais • Quando um impulso chega à sinapse, estimula a liberação de substâncias químicas – os neurotransmissores. • Os neurotransmissores são recebidos por receptores pós-sinápticos localizados nos dendritos, modificando o PPS – potencial pós-sináptico. • Há diversos tipos de neurotransmissores, sendo que cada um deles provoca um efeito diferente. Simulação 1 24/08/15 Simulação 2 Inteligência Computacional – Renato Dourado Maia Simulação 3 17/38 Sinapses em Neurônios Naturais. 24/08/15 Inteligência Computacional – Renato Dourado Maia 18/38 "Neural Impulses: The Action Potential in Action" from the Wolfram Demonstrations Project http://demonstrations.wolfram.com/NeuralImpulsesTheActionPotentialInAction/ 24/08/15 Inteligência Computacional – Renato Dourado Maia 19/38 Os Neurônios Naturais • Um neurônio pode ser entendido como um dispositivo capaz de receber estímulos de diversos outros neurônios e propagar sua única saída, uma função dos estímulos recebidos e do estado interno, a vários outros neurônios. • Diversos neurônios interconectados geram uma estrutura em rede conhecida como rede neural. 24/08/15 Inteligência Computacional – Renato Dourado Maia 20/38 Os Neurônios Naturais • Um agrupamento de neurônios interconectados pode exibir comportamentos complexos e uma capacidade de processamento de informação que não pode ser predita tomando-se cada neurônio individualmente. • Duas características marcantes das redes neurais são a representação distribuída de informação e o seu processamento paralelo. 24/08/15 Inteligência Computacional – Renato Dourado Maia 21/38 Revisitando a Motivação Básica • O cérebro processa informações de forma diferente dos computadores convencionais: – Cérebro: ✔ Neurônios têm velocidade de processamento muitas vezes menor do que a de qualquer “gate” digital. – Processador: ✔ 24/08/15 Processamento extremamente rápido e preciso na execução de sequências de instruções. Inteligência Computacional – Renato Dourado Maia 22/38 Uma Pergunta Pertinente... Como o cérebro consegue ser tão eficiente? 24/08/15 Inteligência Computacional – Renato Dourado Maia 23/38 Tentando Responder • A eficiência do cérebro é devida ao alto grau de paralelismo no processamento: – O cérebro tem aproximadamente 100 bilhões de neurônios. – Como cada neurônio possui entre 100 e 10.000 conexões, o cérebro possui cerca de 60 trilhões de conexões! – Cada pessoa pode dedicar 10.000 conexões para armazenar cada segundo de experiência (65 anos possuem dois bilhões de segundos). – Durante os dois primeiros anos de vida, um milhão de conexões são formadas por segundo! 24/08/15 Inteligência Computacional – Renato Dourado Maia 24/38 Tentando Responder • O cérebro não roda programas! – Ele controla o comportamento com o objetivo de garantir a sobrevivência! • Características incríveis do cérebro: – – – – – – 24/08/15 Adaptabilidade por intermédio de aprendizado. Comportamento sensível ao contexto. Tolerância a erro. Capacidade de operar com conhecimento parcial. Grande capacidade de memória (acessada por conteúdo). Capacidade de processamento paralelo e em tempo real. Inteligência Computacional – Renato Dourado Maia 25/38 Tentando Responder O cérebro é capaz de perceber regularidades no meio e gerar abstrações que capturam a estrutura destas regularidades, possibilitando a predição de observações futuras e o planejamento de ações visando o atendimento de múltiplos objetivos. 24/08/15 Inteligência Computacional – Renato Dourado Maia 26/38 Tentando Responder De aorcdo com uma pqsieusa de uma uinrvesriddae ignlsea, não ipomtra em qaul odrem as lrteas de uma plravaa etãso: a úncia csioa iprotmatne é que a piremria e útmlia lrteas etejasm no lgaur crteo. O rseto pdoe ser uma ttaol bçguana que vcoê pdoe andia ler sem pborlmea. Isso orcroe pqorue nós não lmeos cdaa lrtea isladoa, mas a plravaa cmoo um tdoo. 24/08/15 Inteligência Computacional – Renato Dourado Maia 27/38 Encontre o <5> que fica acima do <+>, à direita do vazio, abaixo do <3> e à esquerda do <@>. 24/08/15 Inteligência Computacional – Renato Dourado Maia 28/38 Encontre o <5> que fica acima do <+>, à direita do vazio, abaixo do <3> e à esquerda do <@>. 24/08/15 Inteligência Computacional – Renato Dourado Maia 29/38 Conhecemos o Cérebro? • Já está disponível um conhecimento avançado da arquitetura fisiológica do cérebro, mas ainda é um mistério o mecanismo fundamental empregado por ele para realizar computação de alto nível. • O “romantismo” deve ser deixado de lado: – RNA não imitam o cérebro! ✔ 24/08/15 Elas na verdade utilizam o cérebro com inspiração, tendo como base o conhecimento sobre como pensamos que o cérebro funciona! Inteligência Computacional – Renato Dourado Maia 30/38 Conhecemos o Cérebro? • Simulações em computadores digitais de modelos matemáticos de redes neurais podem ajudar a extrair conhecimento acerca do desempenho e do potencial de processamento do cérebro. Síntese Computacional de Fenômenos Naturais! 24/08/15 Inteligência Computacional – Renato Dourado Maia 31/38 Aprendizagem e Memória • Em geral, a aprendizagem global é resultado de alterações locais nos neurônios. – Existem diversas formas de modificações possíveis em um neurônio: ✔ ✔ ✔ ✔ ✔ ✔ 24/08/15 Dendritos podem nascer ou serem removidos. Alguns dendritos podem esticar ou encolher, permitindo ou eliminando, respectivamente, a conexão com outras células. Novas sinapses podem ser criadas. Sinapses podem sofrer alterações Sinapses também podem ser removidas Todo neurônio pode morrer e também se regenerar. Inteligência Computacional – Renato Dourado Maia 32/38 Aprendizagem e Memória • Toda essas adaptações estruturais envolvem, de forma direta ou indireta, a modificação de sinapses. • Sendo assim, a aprendizagem via modulação sináptica é o mecanismo mais importante para as redes neurais, sejam elas biológicas ou artificiais, podendo depender de mecanismos de adaptação de neurônios individuais e de redes neurais como um todo. 24/08/15 Inteligência Computacional – Renato Dourado Maia 33/38 Aprendizagem e Memória • Assim como a aprendizagem, a memória também é resultado de um processo adaptativo das sinapses. – Ela é resultado de variações da eficiência sináptica de alguns neurônios ocasionadas pela atividade neural. – Essas alterações resultam em caminhos novos ou facilitados de desenvolvimento e transmissão de sinais através dos circuitos neurais. 24/08/15 Inteligência Computacional – Renato Dourado Maia 34/38 Aprendizagem e Memória • Um dos resultados de um processo de aprendizagem é a criação de um padrão de conexões sinápticas mais permanente, resultando na memorização (aprendizagem) de uma determinada experiência. • A diferença entre aprendizagem e memória é sutil: – A aprendizagem pode ser vista como o processo adaptativo que resulta em uma mudança da eficiência e estrutura sináptica, enquanto a memória pode ser interpretada como o resultado desse processo adaptativo. 24/08/15 Inteligência Computacional – Renato Dourado Maia 35/38 O que é uma Rede Neural Artificial? 24/08/15 Inteligência Computacional – Renato Dourado Maia 36/38 O que é uma Rede Neural Artificial? Veremos na próxima aula! 24/08/15 Inteligência Computacional – Renato Dourado Maia 37/38 Importante • Esta apresentação foi baseada no material disponível no site do Laboratório Virtual em Computação Natural e nos materiais desenvolvidos pelo professor Fernando José Von Zuben, do Departamento de Engenharia da Computação e Automação Industrial da Faculdade de Engenharia Elétrica e de Computação da UNICAMP: – http://www.natcomp.com.br/lvcon – http://www.dca.fee.unicamp.br/~vonzuben/ 24/08/15 Inteligência Computacional – Renato Dourado Maia 38/38