Redes Neurais Profa. Flavia Cristina Bernardini Introdução Cérebro & Computador Modelos Cognitivos Diferentes Cérebro Computador Seqüência de Comandos Lento Rápido Reconhecimento de Padrão Rápido Lento Introdução • Cérebro ~10 bilhões de neurônios • Cada neurônio tem entre 1.000 e 10.000 conexões • Imitar a arquitetura do Cérebro Surgimento do Comportamento inteligente Neurônio Fundamentos biológicos • O Cérebro – Composto por Neurônios: 105 na mosca da fruta, 5x106 no rato e 1011 no homem • O Cérebro Humano – Massa: 1-2kg no adulto 2% do peso – 20% do peso do recémnascido – Usa 20% do oxigênio, 25% da glicose, 15% do fluxo de sangue • O Córtex – Papel central em funções complexas – memória, atenção, consciência, linguagem, percepção e pensamento – Diferença nos tamanhos: 5cm2 no rato, 500 cm2 no chimpanzé e 2000cm2 no homem – Córtex Humano: 3x1010 neurônios, com 103 a 104 sinapses por neurônio O Neurônio • Possui um corpo celular, axônio e diversas ramificações – dendritos – Dendritos: “dispositivos de entrada” que conduzem sinais das extremidades para o corpo celular – Axônio (geralmente 1): “dispositivo de saída” que transmite um sinal do corpo celular para a suas extremidades – As extremidades do axônio são conectadas com dendritos de outros neurônios pelas sinapses O Funcionamento do Neurônio • A membrana citoplasmática de uma célula nervosa permite o transporte de eletrólitos que modificam o potencial elétrico entre as partes externas e internas da célula • Diferença de potencial provoca trem de pulsos de freqüência gerado pela célula nervosa (neurônio) através do axônio para os dendritos, que se ligam a outras células • Ante um estímulo de amplitude e duração definida, é codificada a informação que posteriormente é decodificada por dendritos O Funcionamento do Neurônio - A Sinapse • Sinapse: é a ligação entre a terminação axônica e os dendritos – Permite a propagação dos impulsos nervosos de uma célula a outra – Podem ser excitatórias ou inibitórias • As sinapses excitatórias cujos neuro-excitadores são os íons sódio permitem a passagem da informação entre os neurônios • As sinapses inibitórias, cujos neuro-bloqueadores são os íons potássio, bloqueiam a atividade da célula, impedindo ou dificultando a passagem da informação RNAs Redes Neurais Artificiais são sistemas inspirados nos neurônios biológicos e na estrutura maciçamente paralela do cérebro, com capacidade de adquirir, armazenar e utilizar conhecimento experimental Características Básicas • Execução inerentemente paralela • Generalização – Generalizar conhecimento a partir de exemplos • Abstração – Habilidade de lidar com ruídos Construção • Aquisição de Conhecimento envolve Treinamento – Uso de exemplos – A rede aprende por experiência, não necessitando explicitar seu conhecimento e seu processo de raciocínio para executar uma determinada tarefa Histórico • McCulloch & Pitts (1943) • Minsky & Papert (1969) • Hebb (1949) • Rumelhart (início da década de 80) • Novos modelos que superaram os problemas dos Perceptrons. – Modelo computacional para o neurônio artificial – Não possuía capacidade de aprendizado – Modelo de aprendizado (Hebbian Learning Rule) • Rosenblatt (1957) – Rede Perceptron, com grande sucesso – Prova matemática: Perceptron são incapazes de solucionar problemas simples tipo OUEXCLUSIVO IA Simbólica vs Conexionista • Conhecimento Empírico A B AND 0 0 0 1 1 1 0 1 0 1 1 1 IA Simbólica vs Conexionista Simbólico Simulação do Comportamento Inteligente AND (A,B) If A = 0 Then AND = 0 Else If B=0 Then AND = 0 Else AND = 1 Conexionista Baseado na estrutura cerebral A w1 B w2 w1 = 1 w2 = 1 A.w1 + B. w2 >= AND Perceptron • Características básicas: • Regra de propagação netj = Σxi.wij + θj • Função de ativação degrau • Topologia uma única camada de processadores. • Algoritmo de aprendizado supervisionado: • Atualização dos pesos (geralmente): • wij = η.xi.(tj - sj) • Valores de entrada/saída binários Perceptron: problemas • Rosenblatt (1962) provou que: – Uma rede perceptron é capaz de aprender tudo que puder representar – Representação refere-se à habilidade do sistema neural de representar (simular) uma função específica – Aprendizado refere-se à existência de um procedimento sistemático de aquisição de conhecimento (ajuste dos pesos), de forma a produzir a função desejada. Perceptron: problema • Minsky & Papert provaram que este problema pode ser solucionado • Adiciona-se uma outra camada intermediária de processadores Multi-Layer Perceptrons (MLP) Redes MLP Organização em camadas • Usualmente as camadas são classificadas em três grupos: • Camada de Entrada – Padrões são apresentados à rede • Camadas Intermediárias ou Escondidas – Feita a maior parte do processamento através das conexões ponderadas – Podem ser consideradas como extratoras de características • Camada de Saída – Onde o resultado final é concluído e apresentado. Redes Neurais • Camadas – Camada de Entrada – Camadas Ocultas – Camada de Saída • Função de Base – Combinação das entradas • Função de Ativação – Saída • Aprendizado Backpropagation Durante o treinamento a rede opera em dois passos: • 1 – Padrão é apresentado à camada de entrada da rede – A atividade resultante flui através da rede até que a resposta seja produzida pela camada de saída • 2 – A saída obtida é comparada à saída desejada para esse padrão particular – Erro é calculado e retropropagado da camada de saída até a camada de entrada – Os pesos das conexões são modificados conforme o erro é retropropagado Backpropagation • Retropropagação do erro: regra delta generalizada – Gradiente descendente da função de ativação do neurônio • Para bom funcionamento do algoritmo Backpropagation devem ser utilizadas unidades com função de ativação semi-linear – Função diferenciável e não decrescente • A função threshold não se enquadra nesse requisito – Função de ativação amplamente utilizada: função sigmoid. Backpropagation • A taxa de aprendizado é uma constante de proporcionalidade no intervalo [0,1] – Procedimento de aprendizado requer que a mudança no peso seja proporcional a Backpropagation • Gradiente descendente para atualização de pesos requer que sejam tomados passos infinitesimais – Quanto maior for , maior será a mudança nos pesos, aumentando a velocidade do aprendizado, o que pode levar à uma oscilação do modelo na superfície de erro – Ideal: utilizar a maior taxa de aprendizado possível que não leve a uma oscilação, resultando em aprendizado mais rápido Backpropagation • O treinamento das redes MLP com backpropagation pode demandar muitos passos no conjunto de treinamento, resultando um tempo de treinamento considerávelmente longo – Se for encontrado um mínimo local, o erro para o conjunto de treinamento para de diminuir e estaciona em um valor maior que o aceitável Modelo genérico de um neurônio x1 x2 xN w1 w2 . . . wN F(n) o 𝑁 𝑛= 𝑥𝑖 𝑤𝑖 𝑖=0 Função de Ativação Observações: • Redes neurais de múltiplas camadas só oferecem vantagens sobre as de uma única camada se existir uma função de ativação não-linear entre as camadas Redes Neurais: Função de Ativação Propriedade da Função Sigmoidal Neurônio n x1 x2 xN w1 w2 . . . wN 𝑁 𝑠= 𝑥𝑖 𝑤𝑖 𝑖=0 𝑦𝑛 1 𝑦𝑛 = 𝜎 𝑠 = 1 + 𝑒 −𝑠 • Propriedade interessante: Algoritmo Backpropagation (cálculos detalhados) Formalizando... Camadas Intermediárias Camada de Entrada Ou Camada 0 𝑥1 Camada 1 𝑛1 𝑥2 . . . . . . 𝑛𝐿 1 𝑥𝑁 𝑤111 Camada 2 𝑛1 . . . 𝑤𝐿1 𝐿2 1 𝑛𝐿 2 Camada K ... ... ... 𝑛1 . . . 𝑛𝐿 𝐾 Camada de Saída Ou Camada Out 𝑦1 . . 𝑦. 𝑂𝑢𝑡 Formalizando... Camadas Intermediárias Camada de Entrada Ou Camada 0 Camada Camada 𝑥1 1 2 𝑤111 𝑥2 . . . 𝑛1 𝑛1 . . . . . . 𝑛𝐿1 𝑤𝐿1 𝐿2 1 Camada de Saída Camada Ou Camada Out K 𝑛1 ... . . . ... 𝑛𝐿 2 𝑛𝐿 𝐾 ... 𝐿𝑗+1 𝑥𝑁 𝛿𝑛𝑖 𝑗 = 𝑤𝑖𝑖+ 𝛿𝑛𝑖+ 𝑖+ =1 𝑗 = 1, … , 𝐾 𝑖 = 1, … , 𝐿𝑗 𝑖+ = 1, … , 𝐿𝑗+1 𝑦1 . . 𝑦. 𝑂𝑢𝑡 𝛿𝑦𝑖 = 𝑧𝑖 − 𝑦𝑖 𝑖 = 1, … , 𝑂𝑢𝑡