O documento discute aprendizagem profunda (deep learning) e redes neurais artificiais. Aborda como os algoritmos de deep learning dependem de unidades não lineares estruturadas em múltiplas camadas e como isso permite representar regiões de dados de forma mais eficiente do que modelos menos profundos. Também explica como a aprendizagem de representações é fundamental para o deep learning, inspirando-se nos processos de aprendizagem visual no cérebro.
Este documento apresenta o roteiro para o exame de qualificação de doutorado de Rafael Coimbra Pinto sobre redes neurais. O documento discute a diferença entre inteligência artificial e inteligência computacional, apresenta vários tipos de redes neurais como perceptrons, autoencoders profundos e convolucionais, e discute aplicações como reconhecimento de imagens, fala e gestos.
O documento discute redes neurais artificiais, incluindo sua história, princípios, aplicações e modelos. Aborda conceitos como perceptrons, mapas de Kohonen, backpropagation e redes neurais recorrentes, além de aplicações como reconhecimento de padrões, imagens, voz e simulação/controle de sistemas dinâmicos.
O documento descreve o sistema nervoso humano e as redes neurais artificiais, incluindo sua estrutura, funcionamento e processos de aprendizado como a regra Delta. As redes neurais são usadas em sistemas de inteligência artificial conexionista que aprendem com a experiência ao invés de seguir regras programadas.
O documento discute redes neurais artificiais, incluindo sua história, princípios de neurocomputação, projeto de redes neurais, e algoritmos de aprendizado. É apresentada a estrutura básica de neurônios e como eles são combinados em redes neurais para resolver problemas.
O documento descreve Redes Neurais Artificiais, incluindo que são modelos computacionais inspirados no sistema nervoso central capazes de aprendizado de máquina e reconhecimento de padrões. Exemplos de aplicação incluem reconhecimento de voz e escrita. O documento também discute como redes neurais artificiais são abstrações da biologia trazidas para a computação.
Este documento apresenta o plano de ensino para a disciplina de Organização de Computadores do curso de Tecnologia em Gestão da Tecnologia da Informação. O plano descreve os objetivos gerais e específicos, conteúdo programático, estratégias de trabalho e avaliação da disciplina, incluindo distribuição de notas e aprovação. Também fornece referências bibliográficas básicas e complementares sobre o assunto.
O capítulo apresenta os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula básica, arquitetura e algoritmos de aprendizagem. Detalha a história das redes neurais desde os trabalhos pioneiros de McCulloch e Pitts até o desenvolvimento do algoritmo de retropropagação de erro, e descreve as características das redes neurais, incluindo sua topologia, dinâmica e aprendizagem.
Este documento apresenta o roteiro para o exame de qualificação de doutorado de Rafael Coimbra Pinto sobre redes neurais. O documento discute a diferença entre inteligência artificial e inteligência computacional, apresenta vários tipos de redes neurais como perceptrons, autoencoders profundos e convolucionais, e discute aplicações como reconhecimento de imagens, fala e gestos.
O documento discute redes neurais artificiais, incluindo sua história, princípios, aplicações e modelos. Aborda conceitos como perceptrons, mapas de Kohonen, backpropagation e redes neurais recorrentes, além de aplicações como reconhecimento de padrões, imagens, voz e simulação/controle de sistemas dinâmicos.
O documento descreve o sistema nervoso humano e as redes neurais artificiais, incluindo sua estrutura, funcionamento e processos de aprendizado como a regra Delta. As redes neurais são usadas em sistemas de inteligência artificial conexionista que aprendem com a experiência ao invés de seguir regras programadas.
O documento discute redes neurais artificiais, incluindo sua história, princípios de neurocomputação, projeto de redes neurais, e algoritmos de aprendizado. É apresentada a estrutura básica de neurônios e como eles são combinados em redes neurais para resolver problemas.
O documento descreve Redes Neurais Artificiais, incluindo que são modelos computacionais inspirados no sistema nervoso central capazes de aprendizado de máquina e reconhecimento de padrões. Exemplos de aplicação incluem reconhecimento de voz e escrita. O documento também discute como redes neurais artificiais são abstrações da biologia trazidas para a computação.
Este documento apresenta o plano de ensino para a disciplina de Organização de Computadores do curso de Tecnologia em Gestão da Tecnologia da Informação. O plano descreve os objetivos gerais e específicos, conteúdo programático, estratégias de trabalho e avaliação da disciplina, incluindo distribuição de notas e aprovação. Também fornece referências bibliográficas básicas e complementares sobre o assunto.
O capítulo apresenta os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula básica, arquitetura e algoritmos de aprendizagem. Detalha a história das redes neurais desde os trabalhos pioneiros de McCulloch e Pitts até o desenvolvimento do algoritmo de retropropagação de erro, e descreve as características das redes neurais, incluindo sua topologia, dinâmica e aprendizagem.
O documento discute aprendizado de máquina, apresentando seus principais conceitos e técnicas. Aborda aprendizado supervisionado e não-supervisionado, exemplos, atributos e classes. Também explica árvores de decisão, redes neurais artificiais e os algoritmos de perceptron e backpropagation.
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...Eduardo de Lucena Falcão
- O documento discute o problema da otimização da multiplicação de cadeias de matrizes. Aborda possíveis soluções como programação dinâmica, minimização de cache miss e abordagens distribuídas com threads e OpenMP. Realiza análise comparativa do desempenho dessas abordagens no problema.
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...PotiLivre Sobrenome
O documento discute fundamentos de processamento digital de imagens, incluindo: 1) o que é uma imagem monocromática matematicamente; 2) exemplos de áreas que utilizam processamento de imagens como radiologia e agricultura; 3) passos fundamentais do processamento de imagens como aquisição, pré-processamento, melhoria e segmentação. O documento também apresenta o software livre GNU Octave como uma ferramenta para processamento de imagens e exemplos práticos de código.
Este documento discute redes neurais artificiais, incluindo neurônios naturais e artificiais, o histórico do desenvolvimento de redes neurais, perceptrons, redes perceptron multicamadas e backpropagation. Exemplos recentes de aplicações de redes neurais como Neurogrid, redes sonhadoras do Google e sistemas de reconhecimento de voz e imagens também são discutidos.
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Eduardo de Lucena Falcão
Este documento discute várias abordagens para resolver o problema da multiplicação de cadeias de matrizes de forma otimizada, incluindo: (1) programação dinâmica para encontrar a ordem ótima de multiplicação, (2) minimização de cache miss ao modificar a ordem de loops, e (3) uso de threads para explorar processadores multicore. O objetivo é analisar esses métodos e medir seu impacto no desempenho.
Aprender uma linguagem de programação é importante para engenheiros para desenvolver raciocínio lógico e compreender como sistemas são construídos. Algoritmos são sequências de instruções para resolver problemas. Experiências com programação incluem classificações de receitas governamentais usando códigos numéricos.
Jornada de Iniciação Científica 2008 - SumoCheckers & Dystopia Frameworkyankooliveira
O documento descreve um framework para aplicações cliente-servidor desenvolvido para testar técnicas de inteligência artificial em jogos eletrônicos, como um protótipo chamado Sumo Checkers que mistura jogadas por turnos e ação em tempo real. Redes neurais foram usadas para controlar oponentes virtuais, mostrando bons resultados no jogo por turnos, mas problemas na fase de ação em tempo real devido a inconsistências nos dados de treinamento.
1) O documento descreve a linguagem de programação Java, sua história e conceitos principais.
2) Java foi originalmente criado para dispositivos embarcados e lançado publicamente em 1996.
3) A máquina virtual Java (JVM) executa os bytecodes gerados a partir do código Java, tornando a linguagem independente de plataforma.
O documento discute a visão computacional e o OpenCV. Ele introduz conceitos básicos de imagem digital e operações de filtros. Também descreve o algoritmo Viola-Jones para detecção de objetos em OpenCV e como ele pode ser usado para detectar vários objetos como rostos e placas de trânsito.
O documento discute threads em programação concorrente. Explica que threads são fluxos de execução paralelos que melhoram o desempenho de aplicativos. Detalha como criar threads usando a classe Thread ou a interface Runnable e mostra exemplos de código Java que geram números aleatórios em threads paralelas.
Planeamento de uma prova no concurso - Robô BombeiroRui Oliveira
Este documento apresenta um plano para usar um robô DETI PIC no concurso "Robô Bombeiro", descrevendo: (1) o equipamento do robô e componentes adicionais, (2) o algoritmo proposto para contornar paredes e encontrar/apagar uma vela em um labirinto, (3) o software DETInchanting usado para programar o robô.
O presente artigo tem como objetivo a classificação de textos e a previsão das categorias de ocorrências, através do estudo de modelos de Inteligência Artificial, utilizando Machine Learning e Deep Learning para a classificação de textos e análise das previsões, sugerindo-se a melhor opção com o menor erro.
O documento discute a segurança da comunicação em sistemas embarcados críticos. Ele apresenta experimentos para avaliar o desempenho de vários algoritmos criptográficos, medindo o tempo de criptografia/decriptografia e a taxa de transferência para diferentes tamanhos de dados. Os resultados mostram que AES-128 e Blowfish tiveram os melhores desempenhos, sendo mais adequados para sistemas embarcados críticos.
Este documento descreve um projeto que implementa uma rede neural de Hopfield para reconhecimento de números binários. O sistema é projetado em Java e treina a rede para reconhecer padrões binários de 4 bits, demonstrando sua capacidade de generalizar e recuperar padrões corrompidos.
O documento discute a linguagem de programação NXT-G para o Lego Mindstorms NXT. Em três frases:
A nova versão da linguagem NXT-G suporta cálculos com números decimais. Vários blocos de programação são discutidos, incluindo blocos de movimento e sensores. Programas devem fornecer instruções específicas para as máquinas executarem corretamente.
Introdução à Computação de Alto Desempenho - Parte IVinícius Hax
O documento introduz conceitos de computação de alto desempenho, incluindo por que é importante, tipos de paralelismo, modelos de computação como memória compartilhada e distribuída, e exemplos de frameworks como OpenMP. Resume ainda leituras adicionais sobre o tópico.
O documento discute a hierarquia de memória em sistemas de computadores. Explica que a hierarquia de memória visa dar a ilusão de memória ilimitada e rápida ao programador ao usar diferentes níveis de memória, com capacidade e velocidade variando entre os níveis. Define termos como acerto, falta e taxa de acertos para descrever o funcionamento da hierarquia.
Introdução à Computação de Alto Desempenho - Parte IIVinícius Hax
Introdução à Computação de Alto Desempenho. Essa apresentação foi usada como base para uma aula de Sistemas Distribuídos ministrada na FURG. Pode servir como introdução ao tema. Para mais informações sobre o assunto consultar as referências ao final da apresentação. Nas minhas apresentações aqui no slideshare existe a parte I que aborda conceitos complementares. Embora não exista uma dependência rígida entre as duas apresentações é recomendável visualizar a parte 1 primeiro. O endereço da parte 1 é: http://www.slideshare.net/viniciushax/introduo-computao-de-alto-desempenho
1) O documento descreve um programa multi-threaded que calcula a soma de números usando threads e semáforos para sincronização. Cada thread adiciona 1 à soma global em cada iteração de um loop.
2) O programa cria 100 threads para executar a tarefa em paralelo e compartilhar a variável soma de forma sincronizada usando semáforos.
3) O algoritmo usa semáforos para garantir exclusão mútua na variável compartilhada soma, evitando que threads concorrentes alterem seu valor de forma inconsistente.
MODELAGEM E IMPLEMENTAÇÃO DE UM VISUALIZADOR PARA SIMULAÇÕES COMPUTACIONAIS D...Jesimar Arantes
1. Este documento apresenta o desenvolvimento de um visualizador para simulações de redes de sensores sem fio realizadas no framework GrubiX.
2. O visualizador, chamado Visual GrubiX, permite visualizar de forma rica as simulações, depurar redes e mapear elementos gráficos a aspectos da simulação.
3. O trabalho descreve a modelagem e implementação do Visual GrubiX, incluindo requisitos, arquitetura, diagramas e os principais recursos desenvolvidos como mapeamento, grafo de conectividade e lin
O documento discute aprendizado de máquina, apresentando seus principais conceitos e técnicas. Aborda aprendizado supervisionado e não-supervisionado, exemplos, atributos e classes. Também explica árvores de decisão, redes neurais artificiais e os algoritmos de perceptron e backpropagation.
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...Eduardo de Lucena Falcão
- O documento discute o problema da otimização da multiplicação de cadeias de matrizes. Aborda possíveis soluções como programação dinâmica, minimização de cache miss e abordagens distribuídas com threads e OpenMP. Realiza análise comparativa do desempenho dessas abordagens no problema.
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...PotiLivre Sobrenome
O documento discute fundamentos de processamento digital de imagens, incluindo: 1) o que é uma imagem monocromática matematicamente; 2) exemplos de áreas que utilizam processamento de imagens como radiologia e agricultura; 3) passos fundamentais do processamento de imagens como aquisição, pré-processamento, melhoria e segmentação. O documento também apresenta o software livre GNU Octave como uma ferramenta para processamento de imagens e exemplos práticos de código.
Este documento discute redes neurais artificiais, incluindo neurônios naturais e artificiais, o histórico do desenvolvimento de redes neurais, perceptrons, redes perceptron multicamadas e backpropagation. Exemplos recentes de aplicações de redes neurais como Neurogrid, redes sonhadoras do Google e sistemas de reconhecimento de voz e imagens também são discutidos.
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Eduardo de Lucena Falcão
Este documento discute várias abordagens para resolver o problema da multiplicação de cadeias de matrizes de forma otimizada, incluindo: (1) programação dinâmica para encontrar a ordem ótima de multiplicação, (2) minimização de cache miss ao modificar a ordem de loops, e (3) uso de threads para explorar processadores multicore. O objetivo é analisar esses métodos e medir seu impacto no desempenho.
Aprender uma linguagem de programação é importante para engenheiros para desenvolver raciocínio lógico e compreender como sistemas são construídos. Algoritmos são sequências de instruções para resolver problemas. Experiências com programação incluem classificações de receitas governamentais usando códigos numéricos.
Jornada de Iniciação Científica 2008 - SumoCheckers & Dystopia Frameworkyankooliveira
O documento descreve um framework para aplicações cliente-servidor desenvolvido para testar técnicas de inteligência artificial em jogos eletrônicos, como um protótipo chamado Sumo Checkers que mistura jogadas por turnos e ação em tempo real. Redes neurais foram usadas para controlar oponentes virtuais, mostrando bons resultados no jogo por turnos, mas problemas na fase de ação em tempo real devido a inconsistências nos dados de treinamento.
1) O documento descreve a linguagem de programação Java, sua história e conceitos principais.
2) Java foi originalmente criado para dispositivos embarcados e lançado publicamente em 1996.
3) A máquina virtual Java (JVM) executa os bytecodes gerados a partir do código Java, tornando a linguagem independente de plataforma.
O documento discute a visão computacional e o OpenCV. Ele introduz conceitos básicos de imagem digital e operações de filtros. Também descreve o algoritmo Viola-Jones para detecção de objetos em OpenCV e como ele pode ser usado para detectar vários objetos como rostos e placas de trânsito.
O documento discute threads em programação concorrente. Explica que threads são fluxos de execução paralelos que melhoram o desempenho de aplicativos. Detalha como criar threads usando a classe Thread ou a interface Runnable e mostra exemplos de código Java que geram números aleatórios em threads paralelas.
Planeamento de uma prova no concurso - Robô BombeiroRui Oliveira
Este documento apresenta um plano para usar um robô DETI PIC no concurso "Robô Bombeiro", descrevendo: (1) o equipamento do robô e componentes adicionais, (2) o algoritmo proposto para contornar paredes e encontrar/apagar uma vela em um labirinto, (3) o software DETInchanting usado para programar o robô.
O presente artigo tem como objetivo a classificação de textos e a previsão das categorias de ocorrências, através do estudo de modelos de Inteligência Artificial, utilizando Machine Learning e Deep Learning para a classificação de textos e análise das previsões, sugerindo-se a melhor opção com o menor erro.
O documento discute a segurança da comunicação em sistemas embarcados críticos. Ele apresenta experimentos para avaliar o desempenho de vários algoritmos criptográficos, medindo o tempo de criptografia/decriptografia e a taxa de transferência para diferentes tamanhos de dados. Os resultados mostram que AES-128 e Blowfish tiveram os melhores desempenhos, sendo mais adequados para sistemas embarcados críticos.
Este documento descreve um projeto que implementa uma rede neural de Hopfield para reconhecimento de números binários. O sistema é projetado em Java e treina a rede para reconhecer padrões binários de 4 bits, demonstrando sua capacidade de generalizar e recuperar padrões corrompidos.
O documento discute a linguagem de programação NXT-G para o Lego Mindstorms NXT. Em três frases:
A nova versão da linguagem NXT-G suporta cálculos com números decimais. Vários blocos de programação são discutidos, incluindo blocos de movimento e sensores. Programas devem fornecer instruções específicas para as máquinas executarem corretamente.
Introdução à Computação de Alto Desempenho - Parte IVinícius Hax
O documento introduz conceitos de computação de alto desempenho, incluindo por que é importante, tipos de paralelismo, modelos de computação como memória compartilhada e distribuída, e exemplos de frameworks como OpenMP. Resume ainda leituras adicionais sobre o tópico.
O documento discute a hierarquia de memória em sistemas de computadores. Explica que a hierarquia de memória visa dar a ilusão de memória ilimitada e rápida ao programador ao usar diferentes níveis de memória, com capacidade e velocidade variando entre os níveis. Define termos como acerto, falta e taxa de acertos para descrever o funcionamento da hierarquia.
Introdução à Computação de Alto Desempenho - Parte IIVinícius Hax
Introdução à Computação de Alto Desempenho. Essa apresentação foi usada como base para uma aula de Sistemas Distribuídos ministrada na FURG. Pode servir como introdução ao tema. Para mais informações sobre o assunto consultar as referências ao final da apresentação. Nas minhas apresentações aqui no slideshare existe a parte I que aborda conceitos complementares. Embora não exista uma dependência rígida entre as duas apresentações é recomendável visualizar a parte 1 primeiro. O endereço da parte 1 é: http://www.slideshare.net/viniciushax/introduo-computao-de-alto-desempenho
1) O documento descreve um programa multi-threaded que calcula a soma de números usando threads e semáforos para sincronização. Cada thread adiciona 1 à soma global em cada iteração de um loop.
2) O programa cria 100 threads para executar a tarefa em paralelo e compartilhar a variável soma de forma sincronizada usando semáforos.
3) O algoritmo usa semáforos para garantir exclusão mútua na variável compartilhada soma, evitando que threads concorrentes alterem seu valor de forma inconsistente.
MODELAGEM E IMPLEMENTAÇÃO DE UM VISUALIZADOR PARA SIMULAÇÕES COMPUTACIONAIS D...Jesimar Arantes
1. Este documento apresenta o desenvolvimento de um visualizador para simulações de redes de sensores sem fio realizadas no framework GrubiX.
2. O visualizador, chamado Visual GrubiX, permite visualizar de forma rica as simulações, depurar redes e mapear elementos gráficos a aspectos da simulação.
3. O trabalho descreve a modelagem e implementação do Visual GrubiX, incluindo requisitos, arquitetura, diagramas e os principais recursos desenvolvidos como mapeamento, grafo de conectividade e lin
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
Nesta palestra são apresentados os principais conceitos em Aprendizagem Profunda (do inglês, Deep Learning), ou seja, a utilização de topologias de Redes Neurais as quais envolvem várias camadas escondidas, tais como explanações quanto a estrutura de neurônios artificiais, funções de ativação, como se dá o fluxo de treinamento, regra do gradiente descendente bem como demonstração das principais aplicações tais como Deep Autoencoders (compressão e descompressão de arquivos de áudio, vídeo etc.), CNNs (redes neurais convolucionais), RNNs (redes neurais recorrentes) dentre outros se utilizando de Keras, TensorFlow etc.
Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoJurmir Canal Neto
1. O documento descreve um trabalho de conclusão de curso sobre modelagem de ambientes de computação ubíqua utilizando simulação.
2. A metodologia inclui revisão bibliográfica sobre sistemas distribuídos, ambientes inteligentes, computação móvel e ubíqua, além de modelagem e simulação.
3. O trabalho propõe um ambiente experimental com tecnologias como Java e MySQL para simular a localização de clientes móveis por sensores em um ambiente ubíqua.
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem VisualAhirton Lopes
O documento discute deep learning, incluindo conceitos como redes neurais profundas, aprendizagem profunda, aprendizagem por reforço profundo e aprendizagem não supervisionada. Também aborda ferramentas como computação quântica e chips cognitivos, além de aplicações atuais e futuras de deep learning.
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem VisualAhirton Lopes
O documento resume os principais conceitos e aplicações de deep learning. Ele explica como as redes neurais profundas aprendem representações abstratas de dados através de múltiplas camadas e como são treinadas usando gradiente descendente. Também discute redes convolucionais, recorrentes e autoencoders, e como o deep learning está sendo aplicado em áreas como geração de legendas, processamento de linguagem natural e visão computacional.
Este documento apresenta a estrutura de um curso de Arquitetura de Computadores para estudantes da Universidade Aberta do Piauí. O curso é composto de 7 unidades que abordam tópicos como a evolução do hardware, memória, barramentos, CPU e arquiteturas RISC. O objetivo é capacitar os alunos a entenderem melhor o funcionamento e configuração de hardware.
Este documento descreve os fundamentos da programação orientada a objetos utilizando a linguagem Java. Ele discute conceitos como classes, objetos, herança e polimorfismo e apresenta os principais elementos da linguagem Java como tipos, expressões, classes, exceções e APIs.
Adicionar mais informações (descrição, tags, categoria) torna mais fácil para os outros encontrar seu conteúdo. A pontuação aumenta conforme você adiciona cada item.
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
O documento discute os conceitos e aplicações da inteligência artificial e aprendizagem profunda, incluindo redes neurais convolucionais, recorrentes e autoencoders. Também aborda tópicos como deep learning, hardware para IA, conclusões e desafios futuros.
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem VisualAhirton Lopes
A inteligência artificial (IA) é um campo multidisciplinar da ciência cujo objetivo é criar máquinas inteligentes; mais especificamente, IA é um multiplicador de forças no progresso tecnológico, tendo em vista nosso mundo cada vez mais digital e orientado a dados. A verdade é que tudo ao nosso redor hoje, desde a cultura até os produtos de consumo, são produtos da inteligência. Nesta apresentação pretende-se demonstrar um pouco do progresso exponencial em IA atual, com foco nos desenvolvimentos mais recentes.
In knowledge representation, description logics and the logic programming became the standard languages in many contexts. The Semantic Web reflects that. In its technology stack is already included an ontological layer, the OWL language, and a layer of rules, the RIF, which supports logic programming. Whereas descriptions logics are monotonic and can entail subsumption, logic programming support non monotonic reasoning – and so, the Close World Assumption – and only entail facts. The combination of the two allows for greater expressiveness, indispensable to represent certain domains. For this purpose were defined some formalisms, among which stands out the hybrid MKNF, that allows to extend the semantics of both simultaneously. Based on this formalism, a query system to knowledge bases formed by an OWL ontology and a logic program with well founded semantic was developed. The system is integrated with Protégé - an important ontological editor - in the form of plug-in, and supports, in its original version, only the OWL 2 EL profile. The propose of this dissertation is to extend the system to OWL 2 QL. Both profiles support polynomial reasoning; OWL 2 EL is particularly useful for applications where it is necessary ontologies with large number of axioms; and the OWL 2 QL to applications that use large volumes of instance data, and where querying is the most important reasoning task.
Este trabalho investiga o uso de meta-aprendizado para recomendar classificadores robustos para conjuntos de dados com ruído. Medidas de complexidade são utilizadas para caracterizar os conjuntos de dados e analisar como o ruído influencia nas mesmas. O trabalho é desenvolvido utilizando conjuntos de dados reais e a linguagem R, calculando medidas de complexidade e avaliando o desempenho de meta-regressores.
Monografia sobre Inteligência artificial para comparar algoritmos de treiname...Fabiano Rates
Monografia para obtenção de graduação em ciências da computação sobre o estudo comparativo entre os algoritmos de treinamento de redes neurais artificiais : back propagation e resilient propagation.
Este documento apresenta uma monografia sobre um estudo comparativo entre os algoritmos Backpropagation e Resilient Propagation para treinamento de redes neurais artificiais. O trabalho analisa a eficácia e eficiência dos algoritmos, considerando a predição de formas geométricas com ruído de entrada.
Investigação de Predição de Fluxos em Redes de ComputadoresOrlando Junior
Um importante desafio na área de Redes Definidas por Software é a minimização das consultas enviadas pelo switch ao controlador, que produzem um atraso inicial na comunicação. Esse problema pode ser resolvido se o controlador instalar antecipadamente os fluxos nos switches, autorizando a comunicação antes da chegada do primeiro pacote. Com essa motivação, este trabalho investiga o problema da predição de fluxos em redes de computadores. Duas redes de aplicação são mapeadas em diversos modelos topológicos de Redes Complexas para representar o tráfego das informações das redes de aplicação nas redes físicas subjacentes. Diversos algoritmos tradicionais de Predição de Links são utilizados separadamente para predizer os fluxos em cada uma das redes e também como entrada para técnicas de Aprendizado de Máquina. O problema é ainda modelado em uma nova abordagem de Predição de Links que prediz em conjunto as conexões da rede que se manterão ou se formarão em um instante futuro. Os resultados experimentais mostram que as técnicas de Aprendizado de Máquina podem ser usadas para a predição de fluxos com desempenho significativo em muitas situações.
Este documento apresenta uma apostila sobre estruturas de dados. Ele introduz os principais conceitos de programação em C e discute estruturas como vetores, cadeias de caracteres, matrizes e listas encadeadas. A apostila é dividida em três partes, cobrindo tópicos como variáveis, funções, alocação dinâmica, tipos estruturados e algoritmos de ordenação e busca.
Este documento apresenta um resumo dos principais conceitos da disciplina de Estruturas de Dados ministrada na PUC-Rio. A disciplina introduz os conceitos básicos da linguagem C e discute técnicas de programação e estruturação de dados para desenvolvimento de programas eficientes. O documento descreve os elementos básicos de um computador e como programas e dados são armazenados na memória.
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEISRaphael Melo Gomes
Este documento apresenta uma monografia sobre a utilização de redes neurais artificiais na avaliação estrutural de pavimentos flexíveis. O documento descreve o autor, a instituição, o departamento e o orientador. Apresenta também agradecimentos, resumo, lista de ilustrações, tabelas, abreviaturas e símbolos.
Modelagem de Base de Conhecimentos Baseada em Ontologia Estudo de Caso em Rec...Vagner Nogueira
A Web Semântica foi idealizada por Tim Berners-Lee, o inventor da web atual, para
estender a web que se conhece atualmente, com o objetivo de tornar o conteúdo da web
entendível por agentes computacionais. A partir dessa proposta o consórcio W3C (World
Wide Web Consortium) trabalha no desenvolvimento dos padrões que são utilizados nesta
nova versão da web. O principal pilar da web semântica são as Ontologias, que podem
formar bases de conhecimento complexas, sobre as quais agentes de software, possam
"raciocinar"e "inferir", programaticamente, novos conhecimentos. A linguagem OWL é o
padrão desenvolvido e recomendado pelo W3C para representação de Ontologias na web.
Embora os avanços em pesquisas e desenvolvimento nesta área tenham sido significativos,
a arquitetura da Web Semântica ainda não foi concluída. Observa-se que ocorre pouca po-
pularização dos conceitos e padrões da Web Semântica entre desenvolvedores de sistemas
web, pois apenas a indústria de ponta e academia têm implementado sistemas nesta área.
Este trabalho, traz a web semântica, no seu atual estado, do campo teórico para a prática
da implementação de sistemas, tratando acerca da modelagem de base de conhecimentos
baseado em Ontologia. Como estudo de caso, modelou-se uma base de conhecimentos so-
bre livros, objetivando a recuperação de informação bibliográfica. Para implementação do
protótipo do sistema de estudo de caso, utilizou-se a especificação JEE6 em conjunto com
o framework Jena. Efetuou-se um estudo acerca da Web Semântica; padrões da mesma;
engenharia ontológica com o método 101; a linguagem OWL e o ambiente Protégé.
Introdução ao GNSS Sistema Global de PosicionamentoGeraldoGouveia2
Este arquivo descreve sobre o GNSS - Globas NavigationSatellite System falando sobre os sistemas de satélites globais e explicando suas características
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...Consultoria Acadêmica
“O processo de inovação envolve a geração de ideias para desenvolver projetos que podem ser testados e implementados na empresa, nesse sentido, uma empresa pode escolher entre inovação aberta ou inovação fechada” (Carvalho, 2024, p.17).
CARVALHO, Maria Fernanda Francelin. Estudo contemporâneo e transversal: indústria e transformação digital. Florianópolis, SC: Arqué, 2024.
Com base no exposto e nos conteúdos estudados na disciplina, analise as afirmativas a seguir:
I - A inovação aberta envolve a colaboração com outras empresas ou parceiros externos para impulsionar ainovação.
II – A inovação aberta é o modelo tradicional, em que a empresa conduz todo o processo internamente,desde pesquisa e desenvolvimento até a comercialização do produto.
III – A inovação fechada é realizada inteiramente com recursos internos da empresa, garantindo o sigilo dasinformações e conhecimento exclusivo para uso interno.
IV – O processo que envolve a colaboração com profissionais de outras empresas, reunindo diversasperspectivas e conhecimentos, trata-se de inovação fechada.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I e III, apenas.
I, III e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
O presente trabalho consiste em realizar um estudo de caso de um transportador horizontal contínuo com correia plana utilizado em uma empresa do ramo alimentício, a generalização é feita em reserva do setor, condições técnicas e culturais da organização
Os nanomateriais são materiais com dimensões na escala nanométrica, apresentando propriedades únicas devido ao seu tamanho reduzido. Eles são amplamente explorados em áreas como eletrônica, medicina e energia, promovendo avanços tecnológicos e aplicações inovadoras.
Sobre os nanomateriais, analise as afirmativas a seguir:
-6
I. Os nanomateriais são aqueles que estão na escala manométrica, ou seja, 10 do metro.
II. O Fumo negro é um exemplo de nanomaterial.
III. Os nanotubos de carbono e o grafeno são exemplos de nanomateriais, e possuem apenas carbono emsua composição.
IV. O fulereno é um exemplo de nanomaterial que possuí carbono e silício em sua composição.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I, II e III, apenas.
I, II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...Consultoria Acadêmica
Os termos "sustentabilidade" e "desenvolvimento sustentável" só ganharam repercussão mundial com a realização da Conferência das Nações Unidas sobre o Meio Ambiente e o Desenvolvimento (CNUMAD), conhecida como Rio 92. O encontro reuniu 179 representantes de países e estabeleceu de vez a pauta ambiental no cenário mundial. Outra mudança de paradigma foi a responsabilidade que os países desenvolvidos têm para um planeta mais sustentável, como planos de redução da emissão de poluentes e investimento de recursos para que os países pobres degradem menos. Atualmente, os termos
"sustentabilidade" e "desenvolvimento sustentável" fazem parte da agenda e do compromisso de todos os países e organizações que pensam no futuro e estão preocupados com a preservação da vida dos seres vivos.
Elaborado pelo professor, 2023.
Diante do contexto apresentado, assinale a alternativa correta sobre a definição de desenvolvimento sustentável:
ALTERNATIVAS
Desenvolvimento sustentável é o desenvolvimento que não esgota os recursos para o futuro.
Desenvolvimento sustantável é o desenvolvimento que supre as necessidades momentâneas das pessoas.
Desenvolvimento sustentável é o desenvolvimento incapaz de garantir o atendimento das necessidades da geração futura.
Desenvolvimento sustentável é um modelo de desenvolvimento econômico, social e político que esteja contraposto ao meio ambiente.
Desenvolvimento sustentável é o desenvolvimento capaz de suprir as necessidades da geração anterior, comprometendo a capacidade de atender às necessidades das futuras gerações.
Entre em contato conosco
54 99956-3050
Se você possui smartphone há mais de 10 anos, talvez não tenha percebido que, no início da onda da
instalação de aplicativos para celulares, quando era instalado um novo aplicativo, ele não perguntava se
podia ter acesso às suas fotos, e-mails, lista de contatos, localização, informações de outros aplicativos
instalados, etc. Isso não significa que agora todos pedem autorização de tudo, mas percebe-se que os
próprios sistemas operacionais (atualmente conhecidos como Android da Google ou IOS da Apple) têm
aumentado a camada de segurança quando algum aplicativo tenta acessar os seus dados, abrindo uma
janela e solicitando sua autorização.
CASTRO, Sílvio. Tecnologia. Formação Sociocultural e Ética II. Unicesumar: Maringá, 2024.
Considerando o exposto, analise as asserções a seguir e assinale a que descreve corretamente.
ALTERNATIVAS
I, apenas.
I e III, apenas.
II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
AE02 - FORMAÇÃO SOCIOCULTURAL E ÉTICA II UNICESUMAR 52/2024
Introdução a Deep Learning
1. Pontif´ıcia Universidade Cat´olica do Rio de Janeiro
Departamento de Engenharia El´etrica (DEE)
2016 - I
ESTUDO ORIENTADO
DEEP LEARNING
Aluno: Cristian Mu˜noz Villalobos
Matricula: 1521847
Orientador: Prof. Ricardo Tanscheit
Co-orientador: Prof. Leonardo Mendoza
4. Deep Learning
Cristian Mu˜noz1
, Ricardo Tanscheit1
, Leonardo Medoza Forero1
1
Departamento de Engenharia El´etrica
Pontif´ıcia Universidade Cat´olica do Rio de Janeiro (PUC-RJ)
RJ, Brazil
{crismunoz,ricardo,mendonza}@ele.puc-rio.br
Resumo. Deep Learning ´e um subcampo de Machine Learning que tˆem rece-
bido uma atenc¸˜ao significativa nos ´ultimos anos. O interesse aumentou drasti-
camente com a aquisic¸˜ao da DeepMind (empresa britˆanica de inteligˆencia arti-
ficial) pelo Google em 2014, que faz uso principalmente de algoritmos de Deep
Learning. Sua popularidade se deve a sua capacidade de atingir maior acur´acia
do que os algoritmos convencionais de Machine Learning e suas aplicac¸˜oes
abrangem reconhecimento de voz, processamento de imagem e processamento
de linguagem natural, por exemplo. No mundo dos neg´ocios, os algoritmos de
Deep Learning ainda est˜ao em uma etapa inicial, mas tˆem o potencial de mudar
profundamente a maneira e a velocidade com que dados s˜ao tratados.
1. Introduc¸˜ao
1.1. Deep Learning e Redes Neurais
Deep learning comec¸o como uma necessidade em Machine Learning de interpretar n´ıveis
de maior complexidade do mundo perceptual e criar sistemas perceptivos que possam
aprender essas interpretac¸˜oes olhando seu ambiente . A literatura coloca o Deep Learning
como um subcampo de redes neurais artificiais. O treinamento de redes neurais profun-
das (Deep Neural Networks) com base em backpropagation apresentou dificuldades ao
ser colocado em pr´atica pelo final dos anos 1980. Assim, tal treinamento tornou-se um
assunto de pesquisa no in´ıcio da d´ecada de 1990, levando ao desenvolvimento de novas
metodologias de treinamento. Finalmente, nos anos 2000, houve um aperfeic¸oamento da
aprendizagem supervisionada utilizando puramente Deep Learning [1].
Os algoritmos de Deep Learning dependem de unidades de processamento n˜ao
lineares estruturadas em m´ultiplas camadas em cascata (mais camadas do que os algorit-
mos convencionais – Shallow Learning) [2]. Estas unidades s˜ao geralmente compostas
por redes neurais artificiais, cujos parˆametros s˜ao estimados atrav´es do treinamento, e s˜ao
utilizadas para a extrac¸˜ao de caracter´ısticas e transformac¸˜ao dos sinais. Os algoritmos
incluem vari´aveis latentes organizadas ”Layer-Wise”(treina-se uma camada de cada vez),
tamb´em utilizadas em Deep Belief Networks e em Deep Boltzmann Machines[3].
Finalmente, os algoritmos de Deep Learning requerem uma grande quantidade
de poder computacional e uma quantidade significativa de tempo para treinamento. Em
compensac¸˜ao, os algoritmos de treinamento e de inferˆencia de arquiteturas de Deep Lear-
ning apresentam um maior paralelismo [4].
5. 1.2. Porque arquiteturas Deep?
Com Lippman [5] e Cybenko [6], mostrou-se que 2 camadas escondidas s˜ao suficientes
para representar regi˜oes de qualquer tipo. Porem, alguns casos pode ser extremamente
dif´ıcil de descrever com modelos simples, nestes casos s˜ao necess´arios sistemas de maior
ordem. Em Deep learning podemos dizer que a ”profundidade”e o ”ordem de complexi-
dade”s˜ao sinˆonimos. Como tamb´em a largura de uma func¸˜ao ´e definido pelo n´umero de
neurˆonios numa transformac¸˜ao [7] .
Figura 1. Representac¸ ˜ao de regi˜oes em func¸ ˜ao ao n´umero de camadas
Existe evidencia empirica e teorica que MLP n˜ao pode implementar tarefas de
reconhecimento visual invariantes eficientemente. [8]. Deep Learning ´e mais eficiente
para representar algumas classes de func¸˜oes ”Trocando amplitude por profundidade”, ou
utilizar um maior n´umero de camadas. Por exemplo, para modelar um circuito detectores
de paridade, precisa-se de N-1 portas XOR num arvore de profundidade log(N), mas
precisa-se de um n´umero exponencial de portas para conseguir estruturar em 2 camadas.
2. Aprendizagem de Representac¸˜oes (features)
O desempenho dos m´etodos de Machine Learning est´a fortemente ligado a engenharia
de atributos (pre-processamento), o que requer boa parte do esforc¸o real ao momento de
implementar o algoritmo e conseguir um aprendizagem eficaz.
Figura 2. Cortex Visual em mam´ıferos ´e hier´arquica
4
6. Um dos melhores exemplos de aprendizagem de representac¸˜oes ´e nossa memoria.
Diferentes ´areas de estudo como neurociˆencia, biologia pesquisam a forma em que apren-
demos carater´ısticas ou hierarquias de carater´ısticas do mundo perceptivo. Por exemplo,
como a cortex visual dos mam´ıferos (Figura 2) consegue perceber? como a memoria
aprende os conceitos mais abstratos desde os n´ıveis mais baixos?. A via ventral (de re-
conhecimento) no c´ortex visual tem m´ultiplas etapas de representac¸˜ao intermediarias:
Retina-LGN-V1-V4-PIT-AIT, cada uma detecta desde bordas (nos n´ıveis prim´arios), for-
mas geom´etricas, grupos, at´e descrever objetos mais complexos como rostos ou obje-
tos [9]. Yoshua Bengio [10] propor alguns fatores gerais que podem definir uma boa
representac¸˜ao, s˜ao apresentados os principais:
• Suavidade (Smoothness): ´E um conceito b´asico presente na maioria de algoritmos
de Machine Learning, mas ´e uma problema com o aumento da dimensionalidade
da func¸˜ao a ser aprendida.
• Multiples fatores explicativos (featrures) : Os dados de uma distribuic¸˜ao podem
ser gerado por um conjunto de fatores explicativos e na maior parte, o que aprende
sobre um fator, ´e generalizado na configurac¸˜ao dos outros fatores.
• Estrutura Hierarquica de Representac¸˜oes: As representac¸˜oes que percebemos em
torno n´os pode ser definida em termo de outras representac¸˜oes (features), estrutu-
rando uma hierarquia onde os conceitos mais abstratos ou mais elevados est˜ao em
func¸˜ao dos conceitos menos abstratos.
• Manifolds: Probabilidade de concentrar a massa de dados em regi˜oes que tem
uma dimensionalidade muito menor do que o espac¸o original. Este ´e explorado
em algoritmos como por exemplo os Autoencoders.
• Simplicidade na dependˆencias de Representac¸˜oes: Uma boa representac¸˜ao de alto
n´ıvel est´a relacionados com outras representac¸˜oes atrav´es de dependˆencias sim-
ples, normalmente lineares.
Finalmente, Deep Learning se baseia no aprendizagem de Representac¸˜oes. Mu-
dando a forma do modelagem de Machine Learning que desde finais dos 50s at´e a d´ecada
passada n˜ao tinha sido mudada em essˆencia.
2.1. Modelos tradicionais de aprendizagem
O modelo tradicional de aprendizagem de Representac¸˜oes era realizado principalmente
em 2 processos, representado pelos 2 blocos na Figura 3. O bloco da esquerda representa
a engenharia de atributos (Feature Extractor) que at´e a d´ecada passada era realizada por
um especialista nos dados.
Figura 3. Modelo Tradicional: Engenharia de atributos + Classificador
Esta engenharia requer um cuidado significativo e um dom´ınio consider´avel
para projetar a extrac¸˜ao de caracter´ısticas transformando os dados brutos em uma
representac¸˜ao interna adequada para ser classificados treinando um classificador simples
5
7. (bloco direita Figura 3). At´e o ano 2011 o estado de arte em reconhecimento de voz
mantida essa estrutura tradicional [11]. Por exemplo, na Figura 4 se mostra o modelo
tradicional de um sistema de reconhecimento de voz.
Figura 4. Modelo Tradicional: Reconhecimento de voz (90’s - 2011)
A sinal passa por um m´etodo fixo (n˜ao trein´avel), neste caso MFCC, que estrai os
coeficientes para a representac¸˜ao da fala que s˜ao baseados na percepc¸˜ao auditiva humana.
As sa´ıdas deste bloco fixo s˜ao tratados por m´etodos n˜ao supervisionado, no caso da
Figura 4 Mix of Gaussians o qual representara subpopulac¸˜oes dentro da populac¸˜ao total
(todos os dados), realizando uma inferˆencia sobre as propriedades das sub-populac¸˜oes
dado s´o observac¸˜oes da populac¸˜ao agrupada. Finalmente esta sa´ıda s˜ao entrada para um
classificador quem termina o processo.
Em reconhecimento de objetos at´e o ano 2012, o modelamento n˜ao muda muito
[12]. Eram estruturado por 4 processos principais para conseguir extrair as principais
carater´ısticas antes de entrar no classificador. Um segundo exemplo de um modelo tradi-
cional ´e mostrado na Figura 5.
Figura 5. Modelo Tradicional: Reconhecimento de objetos (2006 - 2012)
As imagens s˜ao filtradas por m´etodos fixos (n˜ao trein´aveis) como SIFT ou HoG
que extraem carater´ısticas b´asicas da imagem (SIFT: Detector de carater´ısticas locais
(keypoint), HoG: Descreve carater´ısticas como histograma de orientac¸˜ao de gradientes).
Esta informac¸˜ao passa por um algoritmo n˜ao supervisionado como K-means, Sparse Co-
ding, etc., sendo agrupadas carater´ısticas de n´ıvel m´edio e passando por um processo de
polling antes de ingressar finalmente ao classificador trein´avel.
2.2. Modelos de Aprendizagem de representac¸˜oes (Deep Learning)
Uma proposta que mudo o modelamento cl´assico de aprendizagem em ML foi: Porque
n˜ao podemos fazer todos os m´odulos trein´aveis (engenharia de atributos + classificac¸˜ao)?.
O aprendizagem de representac¸˜oes aglomera um conjunto de m´etodos que permitem pro-
cessar os dados automaticamente e encontrar as representac¸˜oes necess´arias para detecc¸˜ao
ou classificac¸˜ao. Especificamente, Deep Learning (um subconjunto de m´etodos de apren-
dizagem de representac¸˜oes) aborda esse problema modelando hierarquias de features ou
kernels trein´aveis n˜ao lineais (Feature transform), transformando cada representac¸˜ao de
6
8. um n´ıvel (comec¸ando pelos dados brutos) a uma de maior n´ıvel, atingindo assim n´ıveis
de abstrac¸˜ao maiores [1].
Figura 6. Feature (ou kernel) trein´aveis + Classificador Trein´avel
A proposta de ter m´odulos trein´aveis tanto na aprendizagem de representac¸˜oes e na
classificac¸˜ao (Figura 7) s˜ao os aspectos mais importante de Deep Learning. Um algoritmo
´e considerado Deep se utiliza mais de um n´ıvel de representac¸˜ao. Essas representac¸˜oes
s˜ao aprendidas desde os dados utilizando um procedimento de aprendizagem de prop´osito
geral.
Figura 7. Feature(ou kernel) trein´aveis + Classificador Trein´avel
Na Figura 7 se mostra uma estrutura hier´arquica de 3 n´ıveis de representac¸˜ao.
A entrada, o primeiro n´ıvel de representac¸˜ao s˜ao os pixeis da imagem (a foto mesma),
no primeiro feature transform (Baixo N´ıvel) s˜ao detetados tipicamente a presencia ou
ausˆencia de bordas com tamb´em orientac¸˜ao especifica e locac¸˜ao ma imagem. O segundo
feature transform (M´edio N´ıvel) extrai as partes de um objeto e o terceiro feature trans-
form (Alto N´ıvel) detecta objeto ou combinac¸˜ao das partes. Os feature maps de Alto N´ıvel
s˜ao mais globais e invariantes. Os Feature maps de Baixo N´ıvel s˜ao compartilhados entre
os diferentes Feature maps das camadas posteriores.
Figura 8. Hierarquias de representac¸ ˜oes incrementam o n´ıvel de abstrac¸ ˜ao
7
9. Yann LeCun [13], apresenta exemplos de hierarquia de representac¸˜oes de algumas
´areas de pesquisa importantes na comunidade de Machine Learning , s˜ao apresentadas na
Figura 8.
2.3. Tipos de arquiteturas e protocolos de treinamento
Atualmente existem trˆes tipos de arquiteturas de Deep Learning. Como se mostra na
Figura 9, a primeira arquitetura ´e Feed-Forward, utilizado em Multilayer neural nets,
convolutional nets. A segunda, Feed-Back, utilizadas em Stacked Sparse Coding, Des-
convolutional nets. A terceira, Bi-Directional, utilizada em Deep boltzmann machines,
Stacked Auto-Encoders.
Figura 9. Tipos de arquiteturas em Deep Learning
Estas arquiteturas tem diferentes formas de treinamento, baseando nos treina-
mento supervisionados e n˜ao supervisionados, podem utilizar alguns dos seguintes proto-
colos de treinamento:
• Puramente supervisionado: A inicializac¸˜ao de parˆametros aleat´oria. Este trei-
namento utiliza tipicamente o m´etodo da gradiente descendente, utilizando Back-
propagation para calcular as gradientes.
• N˜ao supervisionado + classificador supervisionado no topo: O treinamento ´e
realizada em cada camada n˜ao supervisionada, uma depois da outra. Depois as
camadas supervisionada s˜ao treinadas, mantendo as outras camadas fixas.
• N˜ao supervisionado + sintonizac¸˜ao global supervisionada: O treinamento ´e
realizada em cada camada n˜ao supervisionada, uma depois da outra. Se adiciona
uma camada classificadora (opcional) e retreina-se supervisionadamente toda a
arquitetura.
2.4. Complexidade da teoria
Deep learning atualmente tem v´arios t´opico discut´ıveis, como metodologia de vanguarda,
Yann LeCun [13] menciona alguns aspeitos importantes.
• N˜ao convexidade: Muitos dos algoritmos em Machine Learning tem limitac¸˜oes
para resolver problemas em que a func¸˜ao de custo ´e n˜ao convexa (linear regres-
sion/ Ridge regression, SVM, etc.). Frequentemente, o custo por insistir em con-
vexidade ´e um insuport´avel incremento no tamanho do modelo, ou o escalamento
de propriedades do algoritmo de otimizac¸˜ao (O(n2
), O(n3
), ...).
8
10. Muitos outros algoritmos n˜ao tem limitac¸˜oes com problemas de otimizac¸˜ao n˜ao
convexa, por exemplo os Modelo Oculto de Markov e sistemas baseados em
Graph-Transformer-Network (em reconhecimento de escrita), assim como os Mo-
delos ocultos de Markov discriminativos (em reconhecimento de voz) s˜ao sistemas
n˜ao convexo.
Para lidiar com as mais complexas e interessantes tarefas de aprendizagem (vis˜ao,
voz, escrita), Deep learning implementa sistemas de arquitetura profunda (Deep),
para o aprendizagem de representac¸˜oes hier´arquicas (carater´ısticas baixo n´ıvel,
representac¸˜oes de n´ıvel m´edio, conceitos de alto n´ıvel). Estas arquiteturas lidam
inevitavelmente func¸˜ao de custo n˜ao convexa.
• N˜ao tem limite de Generalizac¸˜ao: Segun Yann Lecun, n˜ao existe uma m´etrica
que quantifique o limite a generalizac¸˜ao dos algoritmos de Deep Learning. O
melhor referencia at´e agora ´e o VC-Bound, o n´umero de VC que da uma referencia
do nivel de generalizac¸˜ao do algoritmo. Se ela for infinita, o algoritmo pode cair
em overfitting. Em Deep learning, a maioria de algoritmos tem um valor de VC-
dimension finita. Atualmente dada o pouco fundamento matem´atico da teoria, ´e
dif´ıcil provar qualquer coisa sobre sistemas Deep Learning.
3. Considerac¸˜oes nos algoritmos apresentados neste trabalho
3.1. Modelos Analisados
Na Figura 10 mostra-se on esquema classificando os algoritmos de arquitetura Deep e n˜ao
Deep. Agrupando tamb´em pelo tipo de modelo (redes neurais ou probabil´ısticos) e tipo
de aprendizagem. Podemos observar que existem algoritmos de Deep Learning do tipo
supervisionado e n˜ao supervisionado, e h´ıbridos entre os modelos probabil´ıstico e redes
neurais.
Figura 10. Contexto hist´orico em Deep Learning
9
11. Neste trabalho os algoritmos com base em redes neurais puros e misturado com
modelos probabil´ısticos ser˜ao descrita desde a sec¸˜ao 4. Os algoritmos do Deep Learning
podem ser estruturados em base a o modelamento com redes neurais e modelos proba-
bil´ısticos. Os algoritmos apresentados neste trabalho s˜ao os seguintes:
• Deep Learning
– Redes Neurais
∗ Convolutional Neural Networks (Convnets)
∗ Recurrent Neural Network (RNN)
– Redes Neurais + Modelos Probabil´ısticos
∗ Restricted Boltzmann Machine (RBM)
∗ Deep Belief Networks (DBN)
∗ Stacked Autoencoders (D-AE)
Todos os algoritmos apresentados neste trabalho utilizam o m´etodo da gradiente
descendente no processo de aprendizagem. A rede Restricted Boltzmann Machine ´e apre-
sentada mesmo que ela n˜ao pertenc¸a neste grupo de algoritmos, dado que ´e o modulo
principal para descrever os posteriores algoritmos. Antes de apresentar os algoritmos, va-
mos descrever alguns hiperparametros utilizados na configurac¸˜ao do m´etodo da gradiente
descendente e o m´etodo de backpropation para casos gerais.
3.2. M´etodo da gradiente descendente
Em um sistema de aprendizagem supervisionado. Seja o conjunto de pares de entradas
e sa´ıdas (x, y), definimos a func¸˜ao de perda l(ˆy, y) como a medida do custo de inferir ˆy
quando a reposta real ´e y e selecionamos uma fam´ılia F de func¸˜oes fw(x) parametrizado
pelo vetor de pesos w. Se procura a func¸˜ao f ∈ F que minimiza a func¸˜ao l(ˆy, y). A
teoria de aprendizagem estat´ıstico justifica a minimizac¸˜ao do rico emp´ırico (En) que mede
o desempenho dos dados de treinamento en vez da esperanc¸a do rico (E) que mede o
desempenho geral (intrat´avel), ambos func¸˜oes est˜ao definidas na Eq. 1.
E(f) = l(f(x), y)dP(x, y) En(f) =
1
n
n
i=1
l(f(x), y) (1)
A minimizac¸˜ao do risco emp´ırico ´e realizado utilizando o m´etodo da gradiente
descendente se baseia na atualizac¸˜ao dos parˆametros de uma camada na direc¸˜ao negativa
da gradiente do risco emp´ırico. A equac¸˜ao de atualizac¸˜ao dos parˆametros ´e mostrada na
Eq. 2.
wt ← wt − nt(t).gt gt = wEn(f) (2)
O m´etodo tem alguns hiperparˆametros que ajudam na performance do m´etodo.
Na tabela 1 s˜ao apresentados os principais. V´arios j´a conhecidos no treinamento de redes
neurais regulares, como a taxa de decaimento do aprendizagem, momentum e a capaci-
dade de controle, o qual diminui o valor dos parˆametros em cada atualizac¸˜ao, evitando o
crescimento e instabilidade.
10
12. Tabela 1. Hiperparametros do m´etodo da Gradiente Descendente
Taxa de
decaimento
Ajusta a taxa de aprendizagem
no tempo.
n(t) = α
(β+t)γ
Momentum
Ajuda com o m´ınimo local,
lida com oscilac¸˜oes
m ← (1 − λ)mt−1 + λ.gt
w ← wt − nt.gt − ˜nt.mt
Minibatch
Reduze a variˆancia em
gradientes. Melhor vetorizac¸˜ao
em GPU.
Capacidade de
Controle
Prevenir a divergˆencia
dos parˆametros (instabilidade
num´erica - weight decay)
wt ← (1 − λ)wt−1 + nt.gt
Dropout
Evita a sensibilidade
nos parˆametros
Pr(ξti = π−1
) = π
Pr(ξti = 0) = 1 − π
yti = ξti.yti
Alguns novos parˆametros, produto do treinamento com grandes bases de dados
como o ”minibatch”, ele referencia a quantidade de elementos num subconjunto do con-
junto total de dados para o calculo da gradiente e atualizac¸˜ao dos parˆametros. Outro
parˆametro importante ´e ”Dropout”, encarregado desligar um porcentagem das conex˜oes
dos neurˆonios de forma uniforme e aleat´oria, este processo ´e realizado com a intenc¸˜ao de
evitar a sensibilidade de um neurˆonio na resposta total.
3.3. Backpropagation: Casos Gerais
O m´etodo Backpropagation para casos gerais foi formulado para estruturar diferentes
tipo de camadas de redes neurais numa estrutura unificada, com a condic¸˜ao que todas as
camadas utilizem o algoritmo backpropagation na atualizac¸˜ao de seus parˆametros. Estas
camadas devem cumprir 2 condic¸˜oes:
”A func¸˜ao de ativac¸˜ao do neurˆonio deve ser deriv´avel respeito a vari´avel de entrada e
tamb´em respeito os parˆametros do neurˆonio.”
O m´etodo est´a composto por 4 passos, antes de mostrar o procedimento, definire-
mos a nomenclaturas dos vari´aveis utilizadas.
x : Entrada da rede neural.
θ : Conjunto dos parˆametros na func¸˜ao de ativac¸˜ao do neurˆonio.
hθ : Sa´ıda da rede neural utilizando os conjunto de parˆametros θ.
f(l)
: Func¸˜ao de ativac¸˜ao da camada l.
δ : Erro de retro propagac¸˜ao (backpropagation).
g(l)
J : Gradiente do func¸˜ao de custo.
Passo 1: Descompor as operac¸˜oes das camadas da rede neural em func¸˜oes cuja
11
13. derivada w.r.t. entrada ´e conhecida simbolicamente.
hθ(x) = (flmax
◦ ... ◦ f(l)
◦ ... ◦ f(1)
)(x), onde f1
= x, hθ(x) e ∀l : ∂fl+1
∂fl ´e conhecido
Passo 2: Calcular o erro de retro propagac¸˜ao correspondente `a derivada da func¸˜ao
de custo computada numericamente.
δ(l)
= ∂J(θ;x,y)
∂f(l) = ∂J
∂f(l+1)
∂f(l+1)
∂f(l) = δ(l+1)
.∂f(l+1)
∂f(l) , onde δ(lmax)
= ∂J
∂f(lmax) ´e conhecido
Passo 3: Utilizar o erro de retro propagac¸˜ao para calcular a gradiente w.r.t.
parˆametros.
g(l)
J(θ; x, y) = ∂J(θ;x,y)
∂θ(l) = ∂J
∂f(l) .∂f(l)
∂θ(l) = δ(l+1)
.∂f(l+1)
∂θ(l) , onde ∂f(l)
∂θ(l)
´e conhecido
Passo 4: Somar as gradientes geradas sobre todas as amostras para obter a
gradiente total.
g(l)
J(θ) =
m
i=1
g(l)
J(θ; x(i)
, y(j)
)
4. Redes Neurais Convolutivas (Convnets)
4.1. Introduc¸˜ao
As redes neurais convolutivas s˜ao redes do tipo Feedforward na qual cada camada aprende
representac¸˜oes hier´arquicas em v´arios n´ıveis de abstrac¸˜ao. Esta rede se baseia em alguns
princ´ıpios ou ideias b´asicas em sua arquitetura:
• Conex˜oes Locais.
• Compartilhamento de parˆametros.
• Camadas de amostragem.
Nesta sec¸˜ao se apresentara o contexto hist´orico, a arquitetura da rede e processo
de aprendizagem.
4.2. Contexto Hist´orico
Em 1960, Hubel e Wiesel [14] analisaram a arquitetura funcional no cortex visual de um
gato, encontrando principalmente 2 tipos de c´elulas, c´elulas simples (S-Cell) e complexas
(C-Cell). Estas c´elulas s˜ao ativadas em resposta a certas propriedades de entradas sen-
soriais visuais como a orientac¸˜ao de bordas. As c´elulas simples detectam caracter´ısticas
locais; as c´elulas complexas sintetizam (“pool)” as sa´ıdas das c´elulas simples dentro de
uma vizinhanc¸a retinot´opica.
Em 1979, Fukushima [15] cria a primeira rede neural que incorporar as ideias neurofisi-
ologia, chamada “Neocognitron”. Assim, introduze o conceito de redes neurais convo-
lutivas (CNNs ou Conv. Net) onde o campo receptivo de uma unidade convolutiva ´e um
12
14. vetor de pesos (filtro) e ´e deslocado passo a passo atrav´es de uma matriz de 2 dimens˜oes
(a vari´avel de entrada) como os pixels de uma imagem. Cabe indicar que a rede de Fu-
kushima era n˜ao supervisionada mais se considerando como o inicio das CNNs.
Em 1990, Yan LeCun [16] cria LeNet e reinventou as redes convolutivas utilizando o
Backpropagation para a atualizac¸˜ao dos pesos, assim como posteriormente o comparti-
mento de peso e camadas de redes neurais convolutivas com conex˜oes adaptativas. Im-
plementaram as primeiras aplicac¸˜oes bem-sucedidas de rede neurais convolutivas, sendo
utilizadas para leitura de c´odigos zip, d´ıgitos, etc.
Em 1992, Weng [17] cria o Cresceptron que adapta seu topologia durante seu treinamento.
O Cresceptron usa uma camada Max-Pooling (MP). Aqui uma camada de 2 dimens˜oes
ou matriz de unidade de ativac¸˜oes ´e particionada em matrizes retangulares menores. Cada
partic¸˜ao ao passar pela camada MP ´e substitu´ıdo pela ativac¸˜ao da unidade maximamente
ativa. Posteriormente foi integrada `as CNNs.
Em 2006, Chellapilla [18] apresentou as primeiras redes neurais convolutivas implemen-
tadas em GPU, com um speedup maior a 4 que a CNN baseada em CPU.
4.3. Arquitetura da rede
As Convnets est˜ao estruturadas principalmente por 3 tipos de camadas:
• Camada Convolutiva (Convolutive Layer)
• Camada de Amostragem (Polling Layer)
• Camada Full Connected (Full Connected Layer)
As duas primeiras se encontram normalmente entre as primeiras camadas da rede, e v˜ao
sendo intercaladas (convolutiva-amostragem-convolutiva-...), este grupos de camadas ex-
traem as principais carater´ısticas para classificar as imagens, ativando neurˆonios para cada
classe. Finalmente, a ultima camada full connected conecta todos os neurˆonios da camada
anterior e liga `a sa´ıda do classificac¸˜ao. Na Figura 11 ´e apresentado uma rede convolutiva
a qual a camada convolutiva recebe os dados de entrada, extrai um conjunto de features
(valores de sa´ıda da camada), os quais entram na camada de amostragem (max polling),
ao sair desta camada a dimens˜ao dados foi reduzido a pelo menos num 75% de seu di-
mens˜ao ao entrar na camada. este processo ´e potencialmente beneficioso para a rede dado
que reduze em 75% a probabilidade de ativac¸˜ao dos neurˆonios, evitando o overfitting.
Figura 11. Estrutura da camadas da rede convnets
O funcionamento de cada camada ´e descrita a continuac¸˜ao:
13
15. 4.3.1. Camada Convolutiva
Uma carater´ıstica b´asica numa camada convolutiva ´e que cada neurˆonio n˜ao est´a ligado a
todas as entrada da rede, s´o com um subconjunto local. O fato de ligar cada neurˆonio a
todas as entradas incrementaria drasticamente o n´umero de conex˜oes na rede, assim como
sua dificuldade de otimizar cada um desses parˆametros. Uma rede convolutiva dedica
v´arios neurˆonios para conseguir mapear toda a entrada (conetar com todas a dimens˜ao da
entrada). Na Figura 12, se tem uma feature de 3 dimens˜oes (e.g. uma imagem de 3 canais
RGB), cada um mapeando uma regi˜ao local.
Figura 12. Conex˜oes locais numa camada Convolutiva
As redes convnets consideram o seguinte crit´erio: Se o conjunto pesos de um
neurˆonio (kernel) podem descrever bem uma regi˜ao da imagem, provavelmente esses
mesmo pesos possam descrever bem outra regi˜ao. Essa ideia ´e chamada de comparti-
lhamento de parˆametros. Na Figura 13 (a) se mostra um grupo de neurˆonios que compar-
tilham pesos, a sa´ıdas destes neurˆonios s˜ao chamados de ”receptive fields”. A conex˜ao de
todos destes ”receptive fields”numa unidade ´e um ”feature map”.
Figura 13. Compartilhamento de pesos (a) e parˆametros (b) de uma camada Con-
volutiva
A rede convolutiva utiliza o m´etodo de aprendizagem descrito na sec¸˜ao 3. Na
Figura 13 (b) se apresenta todos os parˆametros involucrados no calcula da gradiente. De-
14
16. finimos: i, j, f os ´ındices do feature de entrada nas 3 dimens˜oes, i , j , f os ´ındices
dos neurˆonios da camada convolutiva (f simboliza o n´umero de feature maps na sa´ıda),
i , j , f , f os ´ındices do kernel do neurˆonio. Pode-se observar que tanto o kernel como
o feature de entrada tem o mesmo ´ındice na profundidade f . o kernel tem mais um ´ındice
f que referencia ao feature map que pertence. A dimens˜ao do kernel de cada neurˆonio ´e
Hf ×Lf ×F e o valor de cada ´ındice do kernel esta representado pela vari´avel θi ,j ,f ,f .
Se a profundidade do feature de entrada ´e F, ent˜ao podemos definir a ativac¸˜ao do neurˆonio
com a Eq. 3:
yi ,j ,f =
Hf
i =1
Lf
j =1
F
f =1
xi,j,f .θi ,j ,f ,f (3)
´E importante considerar a relac¸˜ao entre os ´ındices das entidades involucradas na ativac¸˜ao
do neurˆonio: i = i + i − 1 ou i = i − i + 1. Utilizando o passo 2 da subsecc¸˜ao 3.3, se
calcula o erro de retro propagac¸˜ao, onde f(l)
representa o feature map referente `a camada
l. Ent˜ao, f(l+1)
= yi ,j ,f e f(l)
= xi,j,f . Se calcula o erro de retro propagac¸˜ao da camada
l na Eq. 4:
δ(l)
= δ(l+1)
.
∂f(l+1)
∂f(l)
=⇒ δl
ijf =
i j f
δl+1
i j f .θi−i − ,j−j +1,f,f (4)
∂E
∂θi ,j ,f
= δ(l+1)
.
∂f(l+1)
∂θ(l)
=⇒
∂E
∂θi ,j ,f
=
i j f
δl+1
i j f .xi,j,f (5)
θi j f ← θi j f − ni j f (t).gi j f (6)
Para obter a gradiente do erro realizamos o passo 3 da subsecc¸˜ao 3.3, onde f(l+1)
= yi ,j ,f
e θ(l)
= θi ,j ,f . Se calcula a gradiente do erro na Eq. 5. Finalmente. na Eq. 6 se realiza
a atualizac¸˜ao dos parˆametros da rede.
4.3.2. Camada de Amostragem (Max Pooling)
Na literatura de Hubel e Wiesel, as c´elulas complexas no cortex visual dos mam´ıferos,
est˜ao encarregadas de sintetizar as sa´ıdas das c´elulas simples; a camada de amostragem
realiza um processo similar com os features de entrada. Reduze uma vizinhanc¸a do
feature em uma unidade (pegando o valor m´aximo), ao realizar este procedimento varias
vezes reduze as varianc¸as da representac¸˜ao do feature.
Na Figura 14, a regi˜ao vermelha (matriz de 2x2) ´e escolhido o m´aximo valor e ele
passa como unidade representativa de toda a regi˜ao. Ao eliminar seus outras 3 alternativas,
reduze a probabilidade de ativar neurˆonios num 75%.
15
17. Figura 14. Camada de Amostragem ou Max Pooling
A func¸˜ao de ativac¸˜ao da camada de amostragem est´a definida na equac¸˜ao 7. Uma
detalhe importante ´e indicar que o processo de Max Pooling n˜ao contem parˆametros
para otimizar, ent˜ao n˜ao existe equac¸˜oes de correc¸˜ao dos parˆametros. O erro de retro
propagac¸˜ao deve passar para a seguinte camada (Eq. 8). Passando completamente s´o para
o neurˆonio ativado na etapa de inferˆencia (Eq. 7).
yi ,j = max
ij∈Ω(i j )
xij (7)
δl
i j =
i j
δl+1
i j .
∂fi j (x)
∂xij
=⇒ δl
i j = δl
i j .Iij=argi j maxi j ∈Ω(i j ) xi j
(8)
5. Redes Neurais Recorrentes (Deep LSTM)
5.1. Introduc¸˜ao
A memoria n˜ao comec¸a seus pensamentos desde zero cada segundo, existe persistˆencia
nos eventos acontecidos anteriormente. As redes neurais recorrentes abrangem este tipo
de quest˜oes. Eles tem lac¸os de conex˜ao que permitem a persistˆencia da informac¸˜ao. Na
figura 15 (a), A recebe uma entrada xt e emita uma sa´ıda ht. O lac¸o permite `a informac¸˜ao
passar de um estado da rede para o seguinte. Uma rede neural recorrente pode ser conce-
bido como multiples copias da mesma rede, cada uma passando alguma informac¸˜ao a seu
sucessor (Figura 15 (b)).
Figura 15. Redes Neurais Recorrentes desdobrada
Atualmente as redes neurais recorrentes tem sido eficientes numa variedade de
problemas: reconhecimento de voz, modelamento do linguagem, traduc¸˜ao, etc. A estru-
tura de uma rede neural recorrentes tradicional ´e apresentada na Figura 16 (a).
16
18. Figura 16. Neurˆonio de uma RNN tradicional e uma rede LSTM
A rede LSTMs ´e um tipo especial de rede neural recorrente que trabalha muito
melhor que as vers˜oes tradicionais. As redes recorrentes associam eventos passados (me-
morizam), fornecendo uma sa´ıda para a entrada atual em func¸˜ao dessa memorizac¸˜ao. Na
Figura 17 (a) pode-se observar que os eventos x0 e x1 s˜ao estados ativados que s˜ao me-
morizados em uma posterior ativac¸˜ao na entrada de x3.
Figura 17. Dependˆencia de eventos passados nas Redes Neurais Recorrentes
A estrutura de uma rede neural recorrentes tradicional ´e apresentada na Figura 18
(a). Embora, quando tem passado um longo per´ıodo entre os eventos passados e a entrada
atual, as redes neurais recorrentes tradicionais tem problemas para conseguir associar
estes eventos (Figura 17 (b)). A rede LSTM resolve este problema, ele ´e um tipo especial
de rede neural recorrente com a capacidade de aprender a memorizar dependˆencias entre
longos per´ıodos.
5.2. Modelo de um neurˆonio de uma rede LSTM
LSTM consegue memorizar entre longos lapsos de eventos utilizando blocos de memoria
e 3 unidades multiplicativas: as entrada it, a sa´ıda ht e ”Constant Error Carousel”(CEC)
Ct. Est´a arquitetura foi criada analisando o problema do fluxo do erro de retro propagado
que explodia ou decaia exponencialmente. Um conjunto de passos s˜ao apresentados
explicando o processo de inferˆencia da LSTM representado na Figura 18.
17
19. Figura 18. Descric¸ ˜ao do funcionamento de um Neurˆonio de uma rede LSTM
O primeiro passo ´e saber que informac¸˜ao tenho que esquecer em meu CEC, essa
decis˜ao ´e tomada por uma chave de esquecimento representada por ft que observa ht−1 e
xt e retorna um valor entre 0 e 1 definidos pela equac¸˜ao 9. O segundo passo ´e saber qual
informac¸˜ao tem que ser memorizada no CEC. Para este processo temos 2 elementos: it
chamado chave de entrada (Eq. 10), que define os valores que ser˜ao atualizados e o novo
vetor candidato ˜Ct (Eq. 11).
ft = σ(Wf .[ht−1, xt] + bf ) (9)
it = σ(Wi.[ht−1, xt] + bi) (10)
˜Ct = tanh(WC, [ht−1, xt] + bC) (11)
Ct = ft Ct−1 + it
˜Ct (12)
ot = σ(Wo.[ht−1, xt] + bo) (13)
ht = ot tanh(Ct) (14)
ht = Lt(ht−1, xt) (15)
O terceiro passo ´e atualizar o CEC, conetando com a chave de esquecimento ft e
somando a informac¸˜ao a memorizar it Ct, este processo est´a definido pela equac¸˜ao 12.
Finalmente processamos a sa´ıda ht esta baseado em CEC ´e filtrado por ot pela Eq. 13 e
Eq. 14. Para fines pr´aticos de notac¸˜ao definimos a inferˆencia no neurˆonio em func¸˜ao de
seus parˆametros de entrada na Eq. 15, considerando Ct uma vari´avel de estado interna do
neurˆonio, atualizando L.
5.3. Modelo de uma Deep LSTM
Definimos N como o n´umero de camadas da rede, e ˆst nossa sa´ıda. Se realiza o seguinte
processo iterativo:
h0
t = xt; (16)
h
(n)
t = L
(n)
t (h
(n−1)
t−1 , h
(n)
t−1) (17)
ˆst = W(N)(N+1)
hN
t + b(N+1)
(18)
Para n=1,...,N e h
(n)
t denota a sa´ıda no tempo t da camada n. Aqui e posterior-
mente, W(n),(n+1)
denota os pesos de conex˜ao desde a camada n para a seguinte camada
18
20. (n=0: camada de entrada, n=N:camada de sa´ıda), e W(n),(n)
, n > 0 contem os pesos de
conex˜ao de recurrˆencia na estrutura; b ´e o vetor de bias. Definimos na Eq. 19 e 20 as
equac¸˜oes da chave de sa´ıda e CEC para um neurˆonio na camada n:
h
(n)
t = o
(n)
t tanh(C
(n)
t ) (19)
C
(n)
t = f
(n)
t C
(n)
t−1 + i
(n)
t
˜C
(n)
t (20)
˜C
(n)
t = tanh(W(n−1),(n)
h
(n−1)
t + W(n),(n)
h
(n)
t−1 + b
(n)
C ) (21)
Os pesos WC na Eq. 11 foram separados na Eq. 21 para denotar os pesos de conex˜ao
com a camada anterior W(n−1),(n)
e os pesos conex˜ao de recurrˆencia W(n),(n)
. Existem
variantes do algoritmos LSTM, uma das mais importantes ´e LSTM Bidirecional [19].
5.4. Treinamento
A soma de quadrados dos error entre ˆst e a referencia certa st ´e usada como func¸˜ao de
erro. O algoritmo original de LSTM e Deep LSTM utilizam a gradiente do erro calculado
com a combinac¸˜ao de RTRL (Real Time Recurrent Learning) e BPTT (Backpropagation
Throught Time). O Backpropagation ´e truncado ap´os uma iterac¸˜ao porque noto-se que as
longas dependˆencias seria tratadas pelos blocos de memoria e n˜ao pela gradiente de retro
propagac¸˜ao. Um analise detalhado no calculo da gradiente pode ser encontrado em [20]
e [21].
6. Restricted Boltzmann Machine (RBM)
6.1. Introduc¸˜ao
Uma RBM ´e um caso especial de uma Bolltzmann Machine (BM) sem conex˜oes entre
neurˆonios da mesma camada. O modelo de uma RBM ´e uma rede neural de duas camadas:
oculta e vis´ıvel, com uma sinapses n˜ao direcionada. Utiliza vari´aveis latentes (geralmente
bin´ario) para modelar a distribuic¸˜ao de uma entrada. Smolensky [22], inventou a RBM e
deu um primeiro nome de Harmonium, posteriormente comec¸o ser popular quando Hin-
ton [23] invento o algoritmo de aprendizagem r´apido para Deep Belief Networks. RBM
tem sido usada como modelo gerador de varias tipos de dados como janelas de coeficien-
tes cepstrais de freq¨uˆencia Mel que representam a fala, bolsas de palavras que representam
documentos e avaliac¸˜oes de filmes pelo usu´ario . Seu uso mais importante ´e como modulo
de aprendizagem para construir uma Deep Belief Networks. A rede RBM geralmente s˜ao
treinados utilizando o procedimento de aprendizagem divergˆencia contrastive [24].
6.2. Modelo de uma RBM
RBM est´a composto por 2 camadas: a camada vis´ıvel e camada oculta representada na
Figura 19 por neurˆonios chamados unidades binarias estoc´asticas. Na camada vis´ıvel, se
encontra as entradas binarias as quais s˜ao ligadas com feature detectors bin´arios utilizando
pesos de conex˜ao.
19
21. Figura 19. Rede Neural RBM
´E chamado camada vis´ıvel porque s˜ao observados pelos feature detector que se
encontram na camada oculta. As duas camadas s˜ao representadas pelas vetores aleat´orios
v (vis´ıvel) e h (oculta), onde a configurac¸˜ao conjunta (v, h) definida pela distribuic¸˜ao de
Gibbs tem uma energia dada por:
E(v,h) = −
i∈vis´ıvel
aivi −
j∈oculto
bjhj −
i,j
vihjwij (22)
Onde vi e hj s˜ao os estados (valores) das unidades binarias estoc´asticas vis´ıvel i
e oculta j respetivamente. A rede atribui a probabilidade definida na Eq. 23 de todo par
vetor vis´ıvel e oculto (v, h) em func¸˜ao de sua energia conjunta, onde Z ´e dado pela so-
mat´oria de todos as poss´ıveis pares dos vetores (v, h). Na pratica o valor de Z ´e intrat´avel.
p(v, h) =
1
Z
e−E(v,h)
, Z =
v,h
e−E(v,h)
(23)
A probabilidade que a rede atribui ao vetor vis´ıvel v, definido na Eq. 24, ´e dado
pela somat´oria de todos os poss´ıveis vetores ocultos h.
p(v) =
1
Z h
e−E(v,h)
(24)
A probabilidade que a rede atribui aos dados de entrada de treinamento pode ser
aumentado ajustando os pesos para baixar a energia da configurac¸˜ao da rede e aumentar
a energia de outros dados, em especial aqueles dados que tˆem baixas energias e, portanto,
fazem uma grande contribuic¸˜ao na p(v). A derivada da probabilidade log do vetor v em
relac¸˜ao a seus pesos pode ser computada como segue na Eq. 25.
∂log(p(v))
∂wij
=< vihj >data − < vihj >model (25)
Onde ”<>”s˜ao usados para denotar a Esperanc¸a (Expectation) sob a distribuic¸˜ao
especificada pelos ´ındices indicados. Para resolver a equac¸˜ao 25 se utiliza a regra de
aprendizagem (m´etodo da gradiente) na equac¸˜ao 26.
∆wij = (< vihj >data − < vihj >model) (26)
20
22. Para calcular < vihj >data selecionamos aleatoriamente um dado bin´ario de en-
trada v e calculamos o valor de h dada a probabilidade do neurˆonio na equac¸˜ao 27.
p(hj = 1|v) = σ(bj +
i
viwij) (27)
Onde σ(x) ´e a func¸˜ao log´ıstica sigmoide 1/(1+exp(−x)). Assim tendo o valor de
h, como a rede e bidirecional podemos realizar o processo de reconstruc¸˜ao de v passando
pela func¸˜ao de probabilidade do neurˆonio.
p(vi = 1|h) = σ(bi +
i
hjwij) (28)
Porem, calcular o valor de < vihj >data ´e mais complicado. Precisa-se inici-
ando um estado aleat´orio e alternar amostragem de Gibbs por um longo per´ıodo. Uma
iterac¸˜ao de alternar amostragem de Gibbs consiste em atualizar todas as unidades ocultas
em paralelo utilizando a equac¸˜ao 27, logo atualizar todas as unidades vis´ıveis em paralelo
utilizando a equac¸˜ao 28, este m´etodo ´e chamado de Divergˆencia Contrastiva.
6.3. Divergˆencia Contrastiva e Treinamento
Hinton [25] apresento um m´etodo Divergencia Contrastiva (DC), que minimiza uma
func¸˜ao que aproximadamente segue `a gradiente da diferenc¸a entre duas divergˆencias
Kullback-Leibler, mas ignora um termo complicado nesta func¸˜ao objectivo por isso n˜ao
´e exatamente essa gradiente . Com efeito, Sutskever e Tielemen demonstraram que n˜ao
segue a gradiente de nenhuma func¸˜ao [26]. No entanto, tem funcionado com sucesso em
muitas aplicac¸˜oes significativas. Na Figura 20 se representa o m´etodo DC iterando ate
chegar a calcular < vihj >modelo.
Figura 20. Divergˆencia Contrastiva
Uma processo de aprendizagem muito mais r´apido foi proposto por ????. Limi-
tando a equac¸˜ao a um n´umero aceit´avel de iterac¸˜oes mostrado na equac¸˜ao 29. Algumas
literaturas propor um n´umero de iterac¸˜oes (DC-k) onde k=1 ou um n´umero aceit´avel com-
putacionalmente, sendo quando k aumenta a aproximac¸˜ao da gradiente da probabilidade
dos dados de treinamento, mais aumenta seu custo computacional.
21
23. ∆wij = (< vihj >data − < vihj >recon) (29)
Basicamente ´e uma vers˜ao simplificada da regra de aprendizagem em 26. O al-
goritmo trabalha vem mesmo que aproxima vagamente a gradiente da probabilidade log
dos dados de treinamento. O passos do algoritmo de treinamento de uma RBM pode-se
simplificar em:
1. Para cada mostra de treinamento v(t)
na camada vis´ıvel
(a) Gerar < vihj >recon utilizando k iterac¸˜oes de amostras de Gibbs,
comenc¸ando em v(t)
(DC).
(b) Atualizar os parˆametros.
∆wij = (< vihj >data − < vihj >recon) (30)
2. Retornar para (1) at´e o crit´erio de parada.
Existem variac¸˜oes do m´etodo de divergˆencia contrastiva, por exemplo para DC-k
a divergˆencia contrastiva persistente que basicamente mantem o ultimo estado de vi e hi
de < vihj >modelo e armazena o valor para inicializar a DC na seguinte iterac¸˜ao ap´os da
atualizac¸˜ao os parˆametros da rede.
7. Deep Belief Networks (DBN)
7.1. Introduc¸˜ao
Uma RBM est´a limitado nos dados que ele pode representar. Seu verdadeiro poder apa-
rece quando s˜ao estruturados concatenadamente formando uma Deep Belief Network.
DBN ´e um modelo generativo probabil´ıstico formado por varias camadas de vari´aveis la-
tentes estoc´asticas [27]. Seu objetivo ´e aprender n´ıveis mais abstratos representac¸˜ao da
distribuic¸˜ao dos dados de entrada. Neste trabalho S˜ao apresentados 3 m´etodos de apren-
dizagem: Algoritmo wake-sleep’, ’Greedily Training’, e ’Up-Down’ ( um hibrido dos 2
primeiros algoritmos).
7.2. Modelo de uma DBM
Numa DBN, cada camada compreende um conjunto de entradas binarias ou reais. Na
Figura 21 o modelo de DBN est´a composta por 1 camada vis´ıvel e 3 camadas ocultas.
As duas camadas superiores da DBN com distribuic¸˜ao p(h(2)
, h(3)
) formam uma RBM
com conex˜oes n˜ao direcionadas, as camadas inferiores s˜ao chamadas de Sigmoid Belief
Networks (SBN) dado que s˜ao conex˜oes direcionadas. DBN pode ser considera como
uma estrutura de simples m´odulos de aprendizagem RBM, que contem uma camada de
unidades vis´ıvel que representam os dados, e uma camada de unidades oculta que apren-
dem a representac¸˜oes (features) que capturam uma correlac¸˜oes de ordem superior dos
dados. Na Figura ?? as camadas SBN tem pesos direcionados,de reconhecimento (ver-
melho) e generativos (verde).
22
24. Figura 21. Rede Deeb Belief Networks
As probabilidades condicionais das camadas ocultas na direc¸˜ao h(2)
→ h(1)
e
h(1)
→ dados s˜ao definidas na Eq. 31 e Eq. 32.
p(h
(1)
j = 1|h(2)
) = σ(b(1)
+ (W(2)
) h(2)
) (31)
p(vi = 1|h(1)
) = σ(b(0)
+ (W(1)
) h(1)
) (32)
As equac¸˜oes das probabilidades das unidades binarias estoc´asticas e da configurac¸˜ao do
sistema de uma RBM se podem generalizar para modelar uma DBM. A Figura 21 mostra
uma estrutura de DBN modelado na equac¸˜ao (Eq. 33).
p(v, h(1)
, h(2)
, h(3)
) = p(h(2)
, h(3)
)p(h(1)
|h(2)
)p(v|h(1)
) (33)
p(v, h(1)
, h(2)
, h(3)
) ∝ e−E
= e(h(2)W(3)h(3)+(b(2)) h(2)+(b(3)) h(3))
(34)
Onde a distribuic¸˜ao de p(v, h(1)
, h(2)
, h(3)
) dada pela energia da configurac¸˜ao, se
mostra na Eq. 34. As probabilidades condicionais p(h(1)
|h(2)
) e p(v|h(1)
) ´e igual ao
produto da probabilidade condicional de cada unidade estoc´astica do vetor h(1)
e v.
p(h(1)
|h(2)
) =
j
p(h
(1)
j |h(2)
) (35)
p(v|h(1)
) =
i
p(vi|h(1)
) (36)
7.3. Algoritmos de aprendizagem
7.3.1. Wake - Sleep
Nas camadas SBN na Figura 31, ´e f´acil melhorar os pesos generativos se a rede j´a tem
um bom conjunto de pesos de reconhecimento. Para cada vetor de dados de treinamento
23
25. os pesos de reconhecimento (wij)reco s˜ao usados em propagac¸˜ao bottom-up e estocasti-
camente selecionamos os estados bin´arios de cada unidade oculta. Aplicando a regra de
aprendizagem da Eq. 37, seguira a gradiente de uma variacional ligado a qu˜ao bem a rede
gera os dados de treinamento [28]. ´E uma simples regra de aprendizagem aproximada
que funciona bem na pratica.
∆(wij)reco ∝ hj(hi − ˆhi) (37)
Agora, se comec¸amos a gerar valores desde o modelo utilizando os pesos generativos num
pase Top-down, se conhece os valores verdadeiros em cada camada, ent˜ao se pode compa-
rar os valores reais com os estimados pelo gerador, e ajustar os pesos de reconhecimento
(wij)gen, para maximizar a probabilidade que o preditor este certo Eq. 38.
∆(wij)gen ∝ hi(hj − σ(
i
hi(wij)gen)) (38)
7.3.2. Greedily Layer-Wise Training
DBN s˜ao treinados uma camada por vez, tratando os valores das vari´aveis latentes de uma
camada (que foram inferidos pela entrada de dados) como os dados para treinar a camada
seguinte.
Hinton [23] propor um m´etodo eficiente para treinar uma Deep Belief Network,
chamado Greedily Layer-Wise Training, mostrando que se as ativac¸˜oes da camada oculta
produzidas a partir dos dados de treinamento s˜ao tratadas como dados de treinamento para
a pr´oxima RBM (seguinte par conjunto de camadas) melhora a variac¸˜ao do limite inferior
da probabilidade dos dados de treinamento sob o modelo composto. Este processo funci-
ona bem na pratica. Posteriormente se pode realizar um ajuste fino dos pesos resultantes
utilizando o m´etodo da gradiente descendente.
Os passos do algoritmo s˜ao apresentados:
1. Treinar a primeira camada oculta (camada de carater´ısticas) que recebe direta-
mente os dados de entrada. Considerar uma RBM entre a camada de entrada (v) e
a primeira camada oculta (h(1)
). Nesta RBM a maximizac¸˜ao da probabilidade da
variave v est´a dada por:
p(v) =
h(1)
p(v|h(1)
) (39)
2. Tratar a ativac¸˜ao de h(1)
como se for a entrada para a RBM entre as camadas
ocultas h(1)
e h(2)
.Dado que os pesos W(1)
treinados na primeira camada ficam
fixos a func¸˜ao de probabilidade que sera maximizada nesta RBM ´e:
p(v, h(1)
) = p(v|h(1)
)
h(2)
p(h(1)
, h(2)
) (40)
3. O treinamento como RBM para as camadas inferiores s˜ao s´o para inicializar os
pesos. As camadas n˜ao s´o bidirecionais. A camada superior sim ´e uma RBM que
utiliza ativac¸˜ao da camada h(2)
para gerar amostras de Gibbs.
p(h(1)
, h(2)
) = p(h(1)|h(2)
)
h(3)
p(h(2)
, h(3)
) (41)
24
26. 7.3.3. Up-Down
Algumas carater´ısticas importantes deste algoritmo:
• Utiliza o algoritmo Greedily Training que pode encontrar uns bons conjuntos de
parˆametros rapidamente.
• O aprendizagem ´e n˜ao supervisionado mas pode-se colocar classes a cada lado
do modulo superior de RBM para criar um modelo que gere ambas a classe e os
dados.
• O algoritmo de aprendizagem ´e local: ajuste dos pesos depende s´o dos estados de
entrada e saida.
• A comunicac¸˜ao ´e simples: neurˆonio s´o precisam comunicar seus estados bin´arios
estoc´asticos.
O algoritmo Greedily Training ´e uma forma relativamente r´apida e eficaz de aprender os
pesos da DBN, mas n˜ao garante necessariamente pesos de alta qualidade.Parar obter me-
lhores pesos foi proposto o m´etodo ”up-down”; que ´e uma vers˜ao contrastiva do m´etodo
”wake-sleep”mas sem algumas das desvantagens. A ideia ´e que, depois de pesos foram
aprendidas de tal maneira que as unidades estoc´asticas na sa´ıda de cada camada deve-
se aproximar com uma distribuic¸˜ao fatorial dos valores da camada anterior. Os pesos
ascendentes de reconhecimento (cor vermelho na Figura 22) est˜ao liberados dos pesos
descendentes geradores (cor verde na Figura 22). Em seguida, os pesos de n´ıvel mais alto
podem ser utilizados para influenciar a os de n´ıvel mais baixo.
Cada ”up-pass”consiste em usar os pesos de reconhecimento para escolher esto-
casticamente estados para cada vari´avel oculta, e depois ajustar os pesos geradores com a
regra de aprendizagem Eq. 37.
O ”down-pass”´e semelhante na medida em que itera atrav´es das camadas e ajuste
de peso, embora a iterac¸˜ao comec¸a nas camadas superiores e se propaga ao longo das
conex˜oes geradoras de cima para baixo, e os pesos de reconhecimento s˜ao modificados
de baixo para cima com a regra de aprendizagem Eq. 38.
Figura 22. Camada h(2)
- h(3)
da DBN
25
27. Na Figura 22 se mostra o modelo de um classificador utilizado para reconhe-
cimento de d´ıgitos realizado por Hinton, o modelo treinado pode-ser testado no site
http://www.cs.toronto.edu/ hinton/adi/index.htm.
8. Stacked Autoencoders
8.1. Modelo do Stacked Autoencoders
Os Stacked Autoencoders s˜ao outro tipo de estrutura em base a m´odulos de RBM, os quais
s˜ao muito utilizados em reduc¸˜ao da dimens˜ao n˜ao lineal para dados de alta dimens˜ao [29].
Stacked Autoencoders s˜ao uma rede neural com uma pequena camada na intermediaria
que divide `a rede en 2 partes sim´etricas na estrutura das camadas: Encoder-Decoder. A
parte do Encoder s˜ao blocos de RBM que v˜ao reduzindo o n´umero de neurˆonios em cada
camada at´e chegar `a camada central (de menor dimens˜ao em toda a rede).
Figura 23. Rede Neural Autoencoder
8.2. Treinamento
Cada bloco ´e treinado como uma RBM calculando os valores dos pesos W em cada ca-
mada. Ao chegar a camada central, se cria o Decoder desenrolando as camadas do Enco-
der e utilizando a transposta dos pesos do Encoder W como os novos pesos das camas do
Decoder. Finalmente, o m´etodo da gradiente descendente pode ser utilizado para afinar
os pesos [30]. Na Figura 23 se pode observar um exemplo de compressor de imagem,
onde uma imagem de dimens˜ao 28x28 pixels ´e reduzidos at´e chegar a 30 unidades na ca-
mada centra, posterior mente, a rede tem que reconstruir a imagem com essas 30 unidades
lineais [29].
26
28. Referˆencias
[1] J¨urgen Schmidhuber. Deep learning in neural networks: An overview. Neural Networks,
61:85–117, 2015.
[2] Yann LeCun and M Ranzato. Deep learning tutorial. In Tutorials in International Confe-
rence on Machine Learning (ICML’13). Citeseer, 2013.
[3] Yoshua Bengio, Pascal Lamblin, Dan Popovici, Hugo Larochelle, et al. Greedy layer-
wise training of deep networks. Advances in neural information processing systems,
19:153, 2007.
[4] Sharan Chetlur, Cliff Woolley, Philippe Vandermersch, Jonathan Cohen, John Tran, Bryan
Catanzaro, and Evan Shelhamer. cudnn: Efficient primitives for deep learning. arXiv
preprint arXiv:1410.0759, 2014.
[5] Richard Lippmann. An introduction to computing with neural nets. IEEE Assp magazine,
4(2):4–22, 1987.
[6] G Gybenko. Approximation by superposition of sigmoidal functions. Mathematics of
Control, Signals and Systems, 2(4):303–314, 1989.
[7] Eric J Humphrey, Juan P Bello, and Yann LeCun. Feature learning and deep architectures:
new directions for music informatics. Journal of Intelligent Information Systems,
41(3):461–481, 2013.
[8] Yoshua Bengio, Yann LeCun, et al. Scaling learning algorithms towards ai. Large-scale
kernel machines, 34(5), 2007.
[9] Simon J Thorpe and Mich`ele Fabre-Thorpe. Seeking categories in the brain. Science,
291(5502):260–263, 2001.
[10] Yoshua Bengio, Aaron Courville, and Pascal Vincent. Representation learning: A review
and new perspectives. IEEE transactions on pattern analysis and machine intelli-
gence, 35(8):1798–1828, 2013.
[11] Moataz El Ayadi, Mohamed S Kamel, and Fakhri Karray. Survey on speech emotion
recognition: Features, classification schemes, and databases. Pattern Recognition,
44(3):572–587, 2011.
[12] Kristen Grauman and Bastian Leibe. Visual object recognition. Synthesis lectures on
artificial intelligence and machine learning, 5(2):1–181, 2011.
[13] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton. Deep learning. Nature,
521(7553):436–444, 2015.
[14] David H Hubel and Torsten N Wiesel. Receptive fields, binocular interaction and functi-
onal architecture in the cat’s visual cortex. The Journal of physiology, 160(1):106–
154, 1962.
[15] Kunihiko Fukushima. Neural network model for a mechanism of pattern recognition
unaffected by shift in position- neocognitron. ELECTRON. & COMMUN. JAPAN,
62(10):11–18, 1979.
[16] B Boser Le Cun, John S Denker, D Henderson, Richard E Howard, W Hubbard, and
Lawrence D Jackel. Handwritten digit recognition with a back-propagation network.
In Advances in neural information processing systems. Citeseer, 1990.
27
29. [17] Juyang Weng, Narendra Ahuja, and Thomas S Huang. Cresceptron: a self-organizing
neural network which grows adaptively. In Neural Networks, 1992. IJCNN., Inter-
national Joint Conference on, volume 1, pages 576–581. IEEE, 1992.
[18] Kumar Chellapilla, Sidd Puri, and Patrice Simard. High performance convolutional neural
networks for document processing. In Tenth International Workshop on Frontiers in
Handwriting Recognition. Suvisoft, 2006.
[19] Alex Graves, Abdel-rahman Mohamed, and Geoffrey Hinton. Speech recognition with
deep recurrent neural networks. In 2013 IEEE international conference on acoustics,
speech and signal processing, pages 6645–6649. IEEE, 2013.
[20] Alex Graves and J¨urgen Schmidhuber. Framewise phoneme classification with bidirecti-
onal lstm and other neural network architectures. Neural Networks, 18(5):602–610,
2005.
[21] Felix A Gers, Nicol N Schraudolph, and J¨urgen Schmidhuber. Learning precise timing
with lstm recurrent networks. Journal of machine learning research, 3(Aug):115–
143, 2002.
[22] Paul Smolensky. Information processing in dynamical systems: Foundations of harmony
theory. Technical report, DTIC Document, 1986.
[23] Geoffrey E Hinton, Simon Osindero, and Yee-Whye Teh. A fast learning algorithm for
deep belief nets. Neural computation, 18(7):1527–1554, 2006.
[24] Geoffrey Hinton. A practical guide to training restricted boltzmann machines. Momen-
tum, 9(1):926, 2010.
[25] Geoffrey E Hinton. Training products of experts by minimizing contrastive divergence.
Neural computation, 14(8):1771–1800, 2002.
[26] Ilya Sutskever and Tijmen Tieleman. On the convergence properties of contrastive diver-
gence. In AISTATS, volume 9, pages 789–795, 2010.
[27] Geoffrey E Hinton. Deep belief networks. Scholarpedia, 4(5):5947, 2009.
[28] Geoffrey E Hinton. Learning multiple layers of representation. Trends in cognitive scien-
ces, 11(10):428–434, 2007.
[29] Geoffrey Hinton. Deep belief nets. In Encyclopedia of Machine Learning, pages 267–
269. Springer, 2011.
[30] Geoffrey E Hinton and Ruslan R Salakhutdinov. Reducing the dimensionality of data
with neural networks. Science, 313(5786):504–507, 2006.
28