Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 7 – Redes Neurais Artificiais Yuri Crotti Machine Learning – Redes Neurais Artificiais <número> Os primeiros trabalhos com RNA surgiram na década de 50; O tema RNA (ANN – Artificial Neural Network) se tornou um tema popular para pesquisa científica a partir de 1990; “Redes neurais artificiais são modelos computacionais inspirados no sistema nervoso de seres vivos” Machine Learning – Redes Neurais Artificiais Estrutura de um neurônio <número> Machine Learning – Redes Neurais Artificiais Modelo Simples de um neurônio artificial <número> y : ativação (saída do neurônio) u : ativação interna Machine Learning – Redes Neurais Artificiais Principais definições <número> Neurônio (artificial) : unidade básica de processamento Peso sináptico : conexão entre neurônios Algoritmo de aprendizagem: modificação dos parâmetros da RNA (Ex.: pesos sinápticos) de uma forma ordenada para alcançar um objetivo dado Arquitetura da RNA: disposição espacial dos neurônios e pesos sinápticos (estrutura) Machine Learning – Redes Neurais Artificiais Função de ativação <número> Basicamente, a função de ativação é um neurônio adicionado no final da rede usado para determinar a saída. Em geral, a função de ativação mapeia os valores resultantes no intervalo desejado, como entre 0 a 1 ou -1 a 1 etc. (dependendo da escolha da função de ativação). Machine Learning – Redes Neurais Artificiais Qual a função de ativação utilizar ? <número> Na maioria dos casos, é comum ver o uso da função de ativação ReLu, mas não fique limitado apenas nela. Quando você conhece o problema que está lidando, escolha uma função de ativação que possua as características apropriadas ao seu modelo. Por exemplo, é comum usar a função de ativação sigmoid para problemas de classificação e para determinar a probabilidade de uma certa classe, é frequente o uso da função softmax. Machine Learning – Redes Neurais Artificiais Principais Arquiteturas de Rede <número> Perceptron Multi-Layer Perceptron Machine Learning – Redes Neurais Artificiais Arquitetura Perceptron <número> O Perceptron é uma das arquiteturas mais simples de redes neurais usada para a classificação de padrões que são separados linearmente Cada entrada está conectada a um peso sináptico e um bias(x = 1). Hoje não é muito utilizado, já que existem outras arquiteturas mais eficientes, mas é uma excelente forma de entendermos o funcionamento matemático por trás de uma rede neural. Machine Learning – Redes Neurais Artificiais Arquitetura Multi-Layer Perceptron <número> Pense em MLP como um Perceptron, porém mais desenvolvido e com maior número de neurônios. Machine Learning – Redes Neurais Artificiais Arquitetura Multi-Layer Perceptron <número> Input Layer: Entrada dos dados. Fornecem os elementos iniciais da rede. Hidden Layer: Responsável pelo processamento dos dados. São chamados assim, pois não tem contato com o mundo externo. A função dos neurônios ocultos é intervir entre a camada de entrada e saída. Adicionando-se uma ou mais camadas de neurônios ocultos, tornamos a rede capaz de extrair estatísticas mais elaboradas. Output Layer: Valor final. Machine Learning – Redes Neurais Artificiais Arquitetura Multi-Layer Perceptron <número> MLPs são comumente usadas para problemas de classificação, com cada neurônio de saída representando uma classe binária diferente. Machine Learning – Treinamento Redes Neurais Artificiais <número> Grande parte das pesquisas em redes neurais estão focadas em sua habilidade de aprender a partir do seu ambiente e de melhorar seus resultados Uma rede neural aprende sobre a tarefa que está lidando através de um processo interativo de ajustes de pesos sinápticos. “Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo de estimulação pelo ambiente no qual a rede está inserida. O tipo de aprendizagem é determinado pela maneira pela qual a modificação dos parâmetros ocorre.” Machine Learning – Treinamento RNA Função de Custo <número> Sempre que vamos treinar uma rede neural, é importante escolher uma função de custo que se adéque ao modelo. A função de custo nos diz como está a taxa de erro da rede neural. Em grande parte dos problemas envolvendo redes neurais, é comum o usar cross-entropy. Além dessa, essas são algumas das funções de custos mais utilizadas: MSE - Erro médio absoluto; MAE – Erro quadrático médio; Hinge ; Machine Learning – Treinamento RNA Algoritmo Backpropagation <número> O algoritmo de propagação de volta permite que as informações de erro da função sejam propagadas de volta por toda rede, fazendo os pesos sinápticos serem atualizados de acordo com a contribuição com o erro. Isso possibilita o cálculo do gradiente. Link video algoritmo: link Machine Learning – Aplicações RNA <número> Aprendizado Supervisionado Classificação : Saída assume valores discretos Regressão : Saída assume valores contínuos Aprendizado Não-Supervisionado Clusterização: Rede explora semelhanças entre padrões e agrupa padrões de acordo com a semelhança Machine Learning – Tipos de Redes Neurais Artificiais <número> Redes Multilayer Perceptrons Redes Neurais Convolucionais Redes Neurais Recorrentes Long Short-Term Memory (LSTM) Redes de Hopfield Máquinas de Boltzmann Deep Belief Network Deep Auto-Encoders Generative Adversarial Network Deep Neural Network Capsules Machine Learning – Redes Multilayer Perceptrons <número> Um Multilayer Perceptron (MLP) é uma rede neural artificial composta por mais de um Perceptron. Eles são compostos por uma camada de entrada para receber o sinal, uma camada de saída que toma uma decisão ou previsão sobre a entrada, e entre esses dois, um número arbitrário de camadas ocultas que são o verdadeiro mecanismo computacional do MLP. MLPs com uma camada oculta são capazes de aproximar qualquer função contínua Machine Learning – Redes Multilayer Perceptrons <número> Os MLPs são frequentemente aplicados a problemas de aprendizagem supervisionados: treinam em um conjunto de pares entrada saída e aprendem a modelar a correlação (ou dependências) entre essas entradas e saídas. O treinamento envolve o ajuste dos parâmetros, ou os pesos e bias, do modelo para minimizar o erro. O backpropagation é usado para fazer os ajustes dos pesos e de bias em relação ao erro, e o próprio erro pode ser medido de várias maneiras, inclusive pelo erro quadrático médio (MSE – Mean Squared Error). Machine Learning – Redes Multilayer Perceptrons <número> Machine Learning – Redes Neurais Convolucionais <número> As Redes Neurais Convolucionais (ConvNets ou CNNs) são redes neurais artificiais profundas que podem ser usadas para classificar imagens, agrupá-las por similaridade (busca de fotos) e realizar reconhecimento de objetos dentro de cenas. Este tipo de rede está impulsionando grandes avanços em Visão Computacional, que tem aplicações óbvias em carros autônomos, robótica, drones, segurança, diagnósticos médicos e tratamentos para deficientes visuais. Machine Learning – Redes Neurais Recorrentes <número> As redes recorrentes são um poderoso conjunto de algoritmos de redes neurais artificiais especialmente úteis para o processamento de dados sequenciais, como som, dados de séries temporais ou linguagem natural. Uma versão de redes recorrentes foi usada pelo DeepMind no projeto de videogames com agentes autônomos. Machine Learning – Long Short-Term Memory (LSTM) <número> Os LSTM’s possuem muitas aplicações práticas, incluindo processamento de linguagem natural, geração automática de texto e análise de séries temporais. Machine Learning – Generative Adversarial Network (GAN) <número> As Generative Adversarial Networks (GANs) são arquiteturas de redes neurais profundas compostas por duas redes, colocando uma contra a outra (daí o nome, “adversária”).Opotencial de GANs é enorme, porque eles podem aprender a imitar qualquer distribuição de dados. Aula 7 – Redes Neurais Artificiais Yuri Crotti
Compartilhar