Aprendizado de máquina e redes neurais - página 59

 

Aula 14.4 — Modelando dados de valor real com um RBM



Aula 14.4 — Modelando dados de valor real com um RBM [Neural Networks for Machine Learning]

Descreverei como usar uma Máquina Boltzmann Restrita (RBM) para modelar dados de valor real. Nesta abordagem, as unidades visíveis são transformadas de unidades estocásticas binárias em unidades lineares com ruído gaussiano. Para enfrentar os desafios de aprendizagem, as unidades ocultas são definidas como unidades lineares retificadas.

Aprender um RBM para dados de valor real é relativamente simples. Inicialmente, os RBMs foram usados com imagens de dígitos manuscritos, onde as probabilidades representavam intensidades intermediárias causadas por pixels parcialmente pintados. Essas probabilidades, variando de 0 a 1, modelaram a probabilidade de uma unidade logística ser ativada. Essa aproximação funcionou bem para pixels parcialmente pintados, embora seja tecnicamente incorreta.

No entanto, ao lidar com imagens reais, a intensidade de um pixel é tipicamente próxima da intensidade média de seus pixels vizinhos. Uma unidade logística não pode representar com precisão esse comportamento. As unidades logísticas de campo médio lutam para capturar as diferenças refinadas de intensidade. Para resolver isso, unidades lineares com ruído gaussiano são usadas para modelar intensidades de pixel como variáveis gaussianas.

A amostragem alternada de Gibbs, usada no aprendizado de divergência contrastiva, ainda pode ser aplicada para executar a cadeia de Markov. No entanto, uma taxa de aprendizado menor é necessária para evitar instabilidade. A função de energia usada na equação RBM consiste em um termo de contenção parabólica que impede a explosão e um termo interativo entre unidades visíveis e ocultas.

O termo interativo representa a contribuição de unidades ocultas para a função de energia. Diferenciando o termo, obtém-se um gradiente constante. O efeito combinado da função de contenção parabólica e a contribuição de cima para baixo das unidades ocultas resulta em uma função parabólica com uma média deslocada para longe do viés da unidade visível.

No entanto, aprender com RBMs binários gaussianos apresenta desafios. É difícil aprender variações apertadas para as unidades visíveis. Quando o desvio padrão de uma unidade visível é pequeno, os efeitos de baixo para cima são exagerados, enquanto os efeitos de cima para baixo são atenuados. Isso leva a unidades ocultas saturando e sendo firmemente ligadas ou desligadas, interrompendo o processo de aprendizagem.

Para resolver isso, é necessário ter um número maior de unidades ocultas em comparação com as unidades visíveis. Isso permite que pequenos pesos entre as unidades visíveis e ocultas tenham um efeito top-down significativo devido à abundância de unidades ocultas. Além disso, o número de unidades ocultas deve mudar à medida que o desvio padrão das unidades visíveis diminui.

Para conseguir isso, são introduzidas unidades sigmóides escalonadas. Essas unidades são cópias múltiplas de cada unidade oculta binária estocástica, cada uma com os mesmos pesos e viés, mas com um deslocamento fixo para o viés. Esse deslocamento varia entre membros da família de unidades sigmoides, resultando em uma curva de resposta que aumenta linearmente à medida que a entrada total aumenta. Essa abordagem fornece mais efeitos de cima para baixo para conduzir unidades visíveis com pequenos desvios padrão.

Embora o uso de uma grande população de unidades estocásticas binárias com vieses de deslocamento possa ser computacionalmente caro, aproximações rápidas podem ser feitas para produzir resultados semelhantes. Essas aproximações envolvem aproximar a soma das atividades das unidades sigmoides com desvios de compensação como o logaritmo de 1 mais o exponencial da entrada total. Alternativamente, podem ser usadas unidades lineares retificadas, que são mais rápidas de calcular e exibem equivariância de escala, tornando-as adequadas para representações de imagens.

As unidades lineares retificadas têm a propriedade de equivariância de escala, o que significa que, se as intensidades de pixel em uma imagem forem multiplicadas por um escalar, as atividades das unidades ocultas também serão dimensionadas pelo mesmo fator. Essa propriedade é semelhante à equivariância translacional exibida por redes neurais convolucionais (CNNs). Nas CNNs, o deslocamento de uma imagem leva a uma representação deslocada em cada camada sem afetar significativamente o comportamento geral da rede.

Ao utilizar RBMs com unidades lineares e unidades lineares retificadas, torna-se possível modelar dados de valor real de forma eficaz.

Lecture 14.4 — Modeling real valued data with an RBM [Neural Networks for Machine Learning]
Lecture 14.4 — Modeling real valued data with an RBM [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 14.5 — RBMs são redes de crenças sigmoides infinitas



Aula 14.5 — RBMs são infinitas redes de crenças sigmoides [Neural Networks for Machine Learning]

Neste vídeo, discutimos material avançado relacionado às origens do aprendizado profundo e aos aspectos matemáticos das redes neurais profundas. Exploramos a relação entre máquinas de Boltzmann restritas (RBMs) e redes de crenças sigmoides infinitamente profundas com pesos compartilhados.

RBMs podem ser vistos como um caso especial de redes de crenças sigmoides, onde o RBM corresponde a uma rede infinitamente profunda com pesos compartilhados. Ao entender a equivalência entre RBMs e redes infinitamente profundas, obtemos insights sobre a eficácia do aprendizado camada por camada e da divergência contrastiva.

A cadeia de Markov usada para amostrar de um RBM é equivalente a amostrar da distribuição de equilíbrio de uma rede infinitamente profunda. A inferência na rede infinitamente profunda é simplificada devido à implementação de uma priori complementar, que cancela as correlações causadas pela explicação. Isso simplifica o processo de inferência em cada camada da rede.

O algoritmo de aprendizado para redes de crenças sigmoides pode ser usado para derivar o algoritmo de aprendizado para RBMs. Ao amarrar os pesos da rede e congelar os pesos da camada inferior, podemos aprender as camadas restantes como RBMs. Esse processo, conhecido como aprendizado de divergência contrastiva, fornece um limite variacional na probabilidade logarítmica dos dados.

No aprendizado de divergência contrastiva, cortamos as derivadas superiores dos pesos, pois a mistura da cadeia de Markov é rápida e as camadas superiores se aproximam da distribuição de equilíbrio. À medida que os pesos crescem, torna-se necessário executar mais iterações de divergência contrastiva. No entanto, para aprender várias camadas de recursos em uma pilha de RBMs, o CD um (divergência contrastiva de uma etapa) é suficiente e pode ser ainda melhor do que o aprendizado de máxima verossimilhança.

Compreender a relação entre RBMs e redes de crenças sigmoides infinitamente profundas fornece informações valiosas sobre o funcionamento de redes neurais profundas e a eficácia do aprendizado camada por camada e da divergência contrastiva.

Lecture 14.5 — RBMs are infinite sigmoid belief nets [Neural Networks for Machine Learning]
Lecture 14.5 — RBMs are infinite sigmoid belief nets [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.1 — Do PCA aos autoencoders



Aula 15.1 — Do PCA aos autoencoders [Redes neurais para aprendizado de máquina]

A Análise de Componentes Principais (PCA) é uma técnica amplamente utilizada no processamento de sinais que visa representar dados de alta dimensão usando um código de menor dimensão. A ideia-chave por trás do PCA é encontrar uma variedade linear no espaço de alta dimensão onde estão os dados. Ao projetar os dados neste manifold, podemos representar sua localização no manifold, perdendo informações mínimas.

O PCA pode ser implementado com eficiência usando métodos padrão ou menos eficientemente usando uma rede neural com unidades lineares ocultas e de saída. A vantagem de usar uma rede neural é a capacidade de generalizar a técnica para redes neurais profundas, onde o código e a reconstrução dos dados tornam-se funções não lineares da entrada. Isso nos permite lidar com variedades curvas no espaço de entrada, resultando em uma representação mais poderosa.

No PCA, pretendemos representar dados n-dimensionais usando menos de n números. Ao identificar direções m ortogonais com a maior variância, chamadas de direções principais, ignoramos as direções com pouca variação. Essas m direções principais formam um subespaço de dimensão inferior, e representamos um ponto de dados de dimensão n projetando-o nessas direções no espaço de dimensão inferior. Embora as informações sobre a localização dos pontos de dados nas direções ortogonais sejam perdidas, elas não são significativas devido à sua baixa variância.

Para reconstruir um ponto de dados de sua representação usando m números, usamos o valor médio para as direções não representadas (n - m). O erro de reconstrução é calculado como a diferença quadrada entre o valor do ponto de dados nas direções não representadas e o valor médio nessas direções.

Para implementar o PCA usando backpropagation, podemos criar uma rede neural com uma camada de gargalo com m unidades ocultas, representando os componentes principais. O objetivo da rede é minimizar o erro quadrático entre a entrada e a saída reconstruída. Se as unidades ocultas e de saída forem lineares, a rede aprenderá códigos que minimizam o erro de reconstrução, semelhante ao PCA. No entanto, as unidades ocultas podem não corresponder com precisão aos componentes principais, podendo haver rotação e inclinação dos eixos. No entanto, o espaço expandido pelos vetores de peso de entrada da unidade de código será o mesmo que o espaço expandido pelos m componentes principais.

O uso de retropropagação em uma rede neural permite generalizar o PCA incorporando camadas não lineares antes e depois da camada de código. Isso permite a representação de dados em variedades curvas em espaços de alta dimensão, tornando a abordagem mais versátil. A rede consiste em um vetor de entrada, unidades ocultas não lineares, uma camada de código (que pode ser linear), unidades ocultas não lineares adicionais e um vetor de saída treinado para se assemelhar ao vetor de entrada.

A Análise de Componentes Principais é uma técnica para representar dados de alta dimensão usando um código de dimensão inferior identificando direções principais com alta variância. Pode ser implementado de forma eficiente usando métodos tradicionais ou menos eficientemente usando uma rede neural. A versão da rede neural permite a generalização para redes neurais profundas e a representação de dados em variedades curvas.

Lecture 15.1 — From PCA to autoencoders [Neural Networks for Machine Learning]
Lecture 15.1 — From PCA to autoencoders [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.2 — Autoencoders profundos



Aula 15.2 — Autoencoders profundos [Redes neurais para aprendizado de máquina]

Os codificadores automáticos profundos revolucionaram a redução de dimensionalidade superando os recursos de técnicas lineares como a análise de componentes principais. Sua capacidade de capturar relacionamentos complexos e não lineares nos dados os tornou uma ferramenta inestimável em vários domínios.

No caso do autoencoder profundo implementado por Salakhutdinov e Hinton, os dígitos reconstruídos exibem qualidade superior em comparação com suas contrapartes de componentes principais lineares. Essa melhoria decorre da capacidade do autoencoder profundo de aprender uma hierarquia de representações cada vez mais abstratas por meio de suas múltiplas camadas ocultas. Cada camada captura recursos de nível superior que contribuem para uma reconstrução mais fiel dos dados de entrada.

O poder dos autoencoders profundos reside em sua capacidade de aprender mapeamentos altamente expressivos nas direções de codificação e decodificação. O codificador mapeia os dados de entrada de alta dimensão para uma representação de código de dimensão inferior, capturando efetivamente os recursos mais salientes. Por outro lado, o decodificador reconstrói a entrada original a partir dessa representação de código compactado. Esse mapeamento bidirecional garante que informações valiosas sejam retidas durante o processo de redução de dimensionalidade.

O treinamento de autoencoders profundos foi inicialmente desafiador devido ao problema do gradiente de fuga. No entanto, com os avanços nas técnicas de otimização, como pré-treinamento não supervisionado e estratégias de inicialização de peso, o processo de treinamento tornou-se muito mais eficiente e eficaz. Esses métodos permitem que o autoencoder profundo aprenda representações significativas sem ficar preso em soluções abaixo do ideal.

Além disso, autoencoders profundos abriram caminho para o desenvolvimento de arquiteturas mais avançadas, como autoencoders variacionais e redes adversárias generativas. Esses modelos estendem os recursos de autoencoders profundos incorporando técnicas de aprendizado probabilístico e contraditório, permitindo tarefas como geração de dados, detecção de anomalias e aprendizado semi-supervisionado.

Concluindo, os codificadores automáticos profundos revolucionaram a redução de dimensionalidade ao fornecer mapeamentos flexíveis e não lineares que superam as técnicas lineares tradicionais. Sua capacidade de aprender representações hierárquicas e reconstruir dados de alta qualidade os levou a uma posição de destaque no campo do aprendizado profundo. Com pesquisa e desenvolvimento contínuos, espera-se que os codificadores automáticos profundos liberem novas possibilidades para entender e manipular estruturas de dados complexas em vários domínios.

Lecture 15.2 — Deep autoencoders [Neural Networks for Machine Learning]
Lecture 15.2 — Deep autoencoders [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.3 — Autoencoders profundos para recuperação de documentos



Aula 15.3 — Deep autoencoders para recuperação de documentos [Neural Networks for Machine Learning]

Neste vídeo, é discutida a aplicação de deep autoencoders na recuperação de documentos. Um método anterior chamado análise semântica latente utilizava análise de componentes principais (PCA) em vetores de contagem de palavras extraídos de documentos para determinar a similaridade do documento e facilitar a recuperação. No entanto, o potencial dos autoencoders profundos para superar o PCA nessa tarefa levou a uma maior exploração.

A pesquisa conduzida por Russ Salakhutdinov demonstrou que os codificadores automáticos profundos de fato superaram a análise semântica latente quando aplicados a um grande banco de dados de documentos. Mesmo ao reduzir a dimensionalidade dos dados para apenas 10 componentes, o autoencoder profundo produziu resultados superiores em comparação com 50 componentes obtidos de métodos lineares como análise semântica latente.

O processo de recuperação de documentos envolve a conversão de cada documento em uma representação de saco de palavras, essencialmente um vetor de contagem de palavras. Palavras de parada, como "the" ou "over", que fornecem poucas informações sobre o tópico do documento, são ignoradas. A comparação das contagens de palavras de um documento de consulta com as de milhões de outros documentos pode ser computacionalmente dispendiosa. Para resolver isso, um autoencoder profundo é empregado para compactar os vetores de contagem de palavras de 2.000 dimensões para 10 números reais, que podem ser usados para comparação de documentos com mais eficiência.

Para adaptar o autoencoder à contagem de palavras, é realizada uma divisão pelo número total de palavras ininterruptas, convertendo o vetor de contagem em um vetor de probabilidade onde a soma dos números dá um. A camada de saída do autoencoder emprega uma função softmax com uma dimensionalidade correspondente ao tamanho do vetor de contagem de palavras. Durante a reconstrução, as probabilidades de contagem de palavras são tratadas como valores alvo. No entanto, ao ativar a primeira camada oculta, todos os pesos são multiplicados por "n" para contabilizar várias observações da distribuição de probabilidade. Isso garante que as unidades de entrada forneçam entrada suficiente para a primeira camada oculta.

A eficácia dessa abordagem foi avaliada usando um conjunto de dados de 4.000 documentos comerciais rotulados à mão do conjunto de dados da Reuters. Uma pilha de máquinas Boltzmann restritas foi inicialmente treinada, seguida de ajuste fino usando retropropagação com uma camada de saída softmax de 2.000 vias. O teste envolvia selecionar um documento como a consulta e classificar os documentos restantes com base no cosseno dos ângulos entre seus vetores de dez dimensões. A precisão da recuperação foi medida comparando o número de documentos recuperados com a proporção de documentos na mesma classe rotulada à mão que o documento de consulta.

Os resultados mostraram que o autoencoder, mesmo com apenas dez números reais como código, superou a análise semântica latente usando 50 números reais. Além disso, reduzir os vetores de documentos a dois números reais e visualizá-los em um mapa revelou uma separação muito mais clara das classes de documentos em comparação com o PCA. Essas exibições visuais podem fornecer informações valiosas sobre a estrutura do conjunto de dados e auxiliar nos processos de tomada de decisão.

Concluindo, os codificadores automáticos profundos oferecem melhorias promissoras em relação aos métodos lineares tradicionais, como o PCA, para tarefas de recuperação de documentos. Sua capacidade de compactar e reconstruir representações de documentos de forma eficiente enquanto captura informações essenciais pode aumentar a precisão e a eficiência dos sistemas de recuperação de documentos.

Lecture 15.3 — Deep autoencoders for document retrieval [Neural Networks for Machine Learning]
Lecture 15.3 — Deep autoencoders for document retrieval [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.4 — Hashing Semântico



Aula 15.4 — Hashing semântico [Redes neurais para aprendizado de máquina]

Neste vídeo, discutirei o hashing semântico, uma técnica que localiza com eficiência documentos semelhantes a um documento de consulta. O conceito envolve converter um documento em um endereço de memória e organizar a memória para agrupar documentos semelhantes. É análogo a um supermercado onde produtos similares são encontrados na mesma área.

Descritores binários de imagens são valiosos para recuperação rápida de imagens, mas obter um conjunto de descritores binários ortogonais é um desafio. O aprendizado de máquina pode ajudar a resolver esse problema. Exploraremos a aplicação dessa técnica a documentos e depois a imagens.

Para obter códigos binários para documentos, treinamos um autoencoder profundo com unidades logísticas em sua camada de código. No entanto, para evitar que as unidades logísticas usem seus intervalos intermediários para transmitir informações sobre contagem de palavras, adicionamos ruído às entradas durante o estágio de ajuste fino. Esse ruído incentiva as unidades de código a serem ativadas ou desativadas, resultando em valores binários. Limitar as unidades logísticas no tempo de teste produz códigos binários.

Alternativamente, podemos usar unidades binárias estocásticas em vez de adicionar ruído. Durante a passagem direta, um valor binário é escolhido estocasticamente com base na saída da unidade logística. Durante a passagem para trás, a probabilidade de valor real é usada para cálculo de gradiente suave durante a retropropagação.

Com os códigos binários curtos obtidos, podemos realizar uma busca sequencial comparando o código do documento de consulta com os códigos dos documentos armazenados. No entanto, uma abordagem mais eficiente é tratar o código como um endereço de memória. Usando o autoencoder profundo como uma função de hash, convertemos o documento em um endereço de 30 bits. Cada endereço na memória aponta para documentos com o mesmo endereço, formando uma lista. Invertendo bits no endereço, podemos acessar endereços próximos e encontrar documentos semanticamente semelhantes. Isso evita a necessidade de pesquisar em uma longa lista de documentos.

Essa pesquisa baseada em memória é altamente eficiente, especialmente para grandes bancos de dados. É semelhante a como você faria uma pesquisa em um supermercado indo a um local específico e olhando os itens próximos. No entanto, em um espaço de memória tridimensional, os itens podem ser localizados próximos uns dos outros por vários motivos, tornando a busca mais eficaz.

O hashing semântico se alinha com métodos de recuperação rápida que cruzam listas armazenadas associadas a termos de consulta. Os computadores possuem hardware especializado, como o barramento de memória, que pode cruzar várias listas em uma única instrução. Ao garantir que os 32 bits no código binário correspondam às propriedades significativas do documento, o hashing semântico aproveita o aprendizado de máquina para mapear o problema de recuperação em operações de interseção de lista, permitindo pesquisas rápidas de similaridade sem métodos de pesquisa tradicionais.

O hashing semântico é uma técnica poderosa que aproveita o aprendizado de máquina para transformar o problema de recuperação em uma tarefa de interseção de lista na qual os computadores se destacam. Ao representar documentos ou imagens como códigos binários, podemos encontrar itens semelhantes com eficiência sem a necessidade de métodos de pesquisa tradicionais.

Para conseguir isso, um autoencoder profundo é treinado para codificar documentos em códigos binários. Inicialmente, o autoencoder é treinado como uma pilha de máquinas de Boltzmann restritas, que são então desenroladas e ajustadas usando retropropagação. Durante o estágio de ajuste fino, o ruído é adicionado às entradas das unidades de código para estimular o aprendizado de recursos binários.

Depois que o autoencoder é treinado, os códigos binários podem ser usados como endereços de memória. Cada endereço na memória corresponde a um conjunto de documentos que compartilham características semelhantes. Invertendo alguns bits no endereço, podemos acessar endereços próximos, formando uma bola de Hamming. Dentro dessa bola de Hamming, esperamos encontrar documentos semanticamente semelhantes.

Essa abordagem elimina a necessidade de pesquisas sequenciais em um grande banco de dados de documentos. Em vez disso, simplesmente calculamos o endereço de memória para o documento de consulta, exploramos endereços próximos invertendo bits e recuperamos documentos semelhantes. A eficiência dessa técnica fica especialmente evidente quando se trata de bancos de dados massivos contendo bilhões de documentos, pois evita a busca serial por cada item.

Uma analogia frequentemente usada para explicar esse processo é o conceito de busca em um supermercado. Assim como em um supermercado, onde você pergunta ao caixa a localização de um produto específico, aqui convertemos o documento de consulta em um endereço de memória e procuramos documentos semelhantes nas proximidades. O espaço de memória tridimensional permite relacionamentos complexos e oferece amplo espaço para colocar itens com atributos semelhantes em proximidade.

Enquanto os métodos de recuperação tradicionais dependem de listas de interseção associadas a termos de consulta, o hashing semântico usa aprendizado de máquina para mapear o problema de recuperação nos recursos de interseção de lista dos computadores. Ao garantir que os 32 bits no código binário correspondam a propriedades significativas de documentos ou imagens, podemos encontrar itens semelhantes com eficiência sem a necessidade de operações de pesquisa explícitas.

O hashing semântico é uma técnica altamente eficiente para encontrar documentos ou imagens semelhantes. Ao transformá-los em códigos binários e tratar os códigos como endereços de memória, podemos recuperar rapidamente itens semanticamente semelhantes explorando endereços próximos. Essa abordagem aproveita os pontos fortes do aprendizado de máquina e aproveita os recursos de interseção de listas dos computadores, permitindo uma recuperação rápida e precisa sem a necessidade de métodos de pesquisa tradicionais.

Lecture 15.4 — Semantic Hashing [Neural Networks for Machine Learning]
Lecture 15.4 — Semantic Hashing [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.5 — Aprendendo códigos binários para recuperação de imagens



Aula 15.5 — Aprendendo códigos binários para recuperação de imagens [Redes neurais para aprendizado de máquina]

O vídeo discute o uso de códigos binários para recuperação de imagens e o compara a métodos tradicionais que dependem de legendas. Recuperar imagens com base em seu conteúdo é um desafio porque os pixels individuais não fornecem muitas informações sobre o conteúdo da imagem. No entanto, ao extrair um vetor binário curto que representa o conteúdo da imagem, podemos armazenar e combinar imagens com mais eficiência.

O vídeo sugere um método de dois estágios para recuperação de imagens. No primeiro estágio, um código binário curto, geralmente em torno de 30 bits, é extraído usando hashing semântico. Este código é usado para gerar rapidamente uma pequena lista de possíveis correspondências. Na segunda etapa, códigos binários mais longos, como 256 bits, são utilizados para uma busca mais detalhada e precisa entre as imagens candidatas.

O vídeo apresenta um exemplo de arquitetura de autoencoder que pode reconstruir imagens e extrair códigos binários informativos. O autoencoder consiste em múltiplas camadas, reduzindo progressivamente o número de unidades até atingir um código de 256 bits. Usando este autoencoder, o vídeo demonstra que as imagens recuperadas são semelhantes à imagem de consulta e exibem relacionamentos significativos.

Além disso, o vídeo explora o uso de uma rede neural pré-treinada para reconhecimento de imagem para extrair vetores de atividade como representações do conteúdo da imagem. Ao usar a distância euclidiana para comparar esses vetores de atividade, os resultados de recuperação são promissores, sugerindo que essa abordagem pode ser estendida a códigos binários para uma correspondência mais eficiente.

O vídeo conclui mencionando que a combinação do conteúdo da imagem com as legendas pode aprimorar ainda mais a representação e melhorar o desempenho da recuperação.

O vídeo destaca as vantagens do uso de códigos binários para recuperação de imagens, como armazenamento eficiente, correspondência rápida e capacidade de capturar conteúdo de imagem significativo. Ele demonstra a eficácia de autoencoders e redes neurais pré-treinadas na extração de códigos binários informativos e sugere que a combinação de conteúdo de imagem e legendas pode levar a resultados de recuperação ainda melhores.

Lecture 15.5 — Learning binary codes for image retrieval [Neural Networks for Machine Learning]
Lecture 15.5 — Learning binary codes for image retrieval [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 15.6 — Autoencoders rasos para pré-treinamento



Aula 15.6 — Autoencoders rasos para pré-treinamento [Redes neurais para aprendizado de máquina]

Neste vídeo, o palestrante discute métodos alternativos de pré-treinamento para aprender redes neurais profundas. Inicialmente, eles introduziram o pré-treinamento usando máquinas restritivas de Boltzmann (RBMs) treinadas com divergência contrastiva. No entanto, descobriu-se mais tarde que existem outras maneiras de pré-treinar camadas de feições. Se os pesos forem inicializados corretamente, o pré-treinamento pode não ser necessário, desde que haja dados rotulados suficientes. O palestrante menciona os benefícios dos autoencoders profundos e seus códigos para diversas aplicações.

Eles então mudam o foco para autoencoders rasos, particularmente RBMs treinados com máxima verossimilhança. RBMs como autoencoders possuem forte regularização devido a unidades ocultas binárias, limitando sua capacidade. No entanto, se os RBMs forem treinados com máxima verossimilhança, eles ignoram os pixels ruidosos e os modelam usando vieses de entrada. O palestrante sugere o uso de uma pilha de codificadores automáticos em vez de RBMs para pré-treinamento, mas essa abordagem não é tão eficaz, especialmente com codificadores de águas rasas que penalizam apenas pesos quadrados.

O palestrante apresenta autoencoders de redução de ruído, extensivamente estudados pelo grupo de Montreal. Esses autoencoders adicionam ruído aos vetores de entrada, definindo alguns componentes como zero (semelhante ao dropout). Eles são necessários para reconstruir as entradas com componentes zerados, evitando que simplesmente copiem a entrada. Ao contrário dos codificadores de águas rasas, os codificadores automáticos de redução de ruído capturam correlações entre entradas, utilizando alguns valores de entrada para ajudar a reconstruir entradas zeradas. O empilhamento de autoencoders de redução de ruído pode ser altamente eficaz para pré-treinamento, superando os RBMs na maioria dos casos.

O palestrante menciona que avaliar o pré-treinamento usando autoencoders de redução de ruído é mais simples, pois a função objetivo pode ser facilmente calculada. Em contraste, avaliar RBMs com divergência contrastiva não produz a função objetivo real. No entanto, os autoencoders de redução de ruído não possuem o limite variacional que os RBMs possuem, embora esse interesse teórico seja limitado aos RBMs treinados com máxima verossimilhança.

Outro tipo de encoder discutido é o autoencoder contrativo, também desenvolvido pelo grupo de Montreal. Esses autoencoders visam tornar as atividades ocultas insensíveis às entradas, penalizando o gradiente quadrado de cada unidade oculta em relação a cada entrada. Autoencoders contrativos funcionam bem para pré-treinamento e tendem a ter códigos esparsos, com apenas um pequeno subconjunto de unidades ocultas sensíveis a diferentes partes do espaço de entrada.

O palestrante conclui resumindo sua visão atual sobre o pré-treinamento. O pré-treinamento camada por camada é benéfico quando um conjunto de dados tem dados rotulados limitados, pois ajuda a descobrir bons recursos sem depender de rótulos. No entanto, para grandes conjuntos de dados rotulados, o pré-treinamento não supervisionado não é necessário se a rede for suficientemente grande. No entanto, para redes ainda maiores, o pré-treinamento torna-se novamente crucial para evitar o overfitting. O palestrante defende que métodos de regularização como dropout e pré-treinamento são importantes, principalmente quando se trata de grandes espaços paramétricos em relação aos dados disponíveis.

Lecture 15.6 — Shallow autoencoders for pre-training [Neural Networks for Machine Learning]
Lecture 15.6 — Shallow autoencoders for pre-training [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 16.1 — Aprendendo um modelo conjunto de imagens e legendas



Aula 16.1 — Aprendendo um modelo conjunto de imagens e legendas [Redes neurais para aprendizado de máquina]

Discutirei trabalhos recentes sobre o aprendizado de um modelo conjunto de legendas de imagens e vetores de recursos. Em uma palestra anterior, exploramos como extrair recursos significativos de imagens sem utilizar legendas. No entanto, as legendas podem fornecer informações valiosas para extrair categorias semânticas relevantes das imagens e, vice-versa, as imagens podem ajudar a eliminar a ambiguidade do significado das palavras nas legendas.

A abordagem proposta envolve o treinamento de uma grande rede que recebe como entrada vetores de recursos de visão computacional padrão extraídos de imagens e representações de legendas em um saco de palavras. A rede aprende a relação entre as duas representações de entrada. É exibido um filme da rede final, que demonstra o uso de palavras para criar vetores de recursos para imagens e encontrar a imagem mais próxima em seu banco de dados, bem como o uso de imagens para criar pacotes de palavras.

Nitish Srivastava e Ruslan Salakhutdinov realizaram pesquisas para construir um modelo de densidade conjunta de legendas e imagens. No entanto, em vez de usar pixels brutos, eles representaram imagens usando os recursos padrão de visão computacional. Isso exigia mais computação em comparação com a construção de um modelo de densidade conjunta de rótulos e imagens de dígitos. Eles treinaram modelos multicamadas separados para imagens e vetores de contagem de palavras de legendas. Esses modelos individuais foram então conectados a uma nova camada superior que integrou ambas as modalidades. O treinamento conjunto de todo o sistema foi realizado para permitir que cada modalidade melhorasse as camadas iniciais da outra modalidade.

Para pré-treinar as camadas ocultas de uma máquina profunda de Boltzmann, eles seguiram uma abordagem diferente da abordada anteriormente no curso. Em vez de usar uma pilha de máquinas Boltzmann restritas (RBMs) para formar uma profunda rede de crenças, eles pré-treinaram diretamente uma pilha de RBMs de uma maneira específica. Os pesos dos RBMs superiores e inferiores na pilha foram treinados com uma propriedade de escala simétrica, onde os pesos de baixo para cima eram duas vezes maiores que os pesos de cima para baixo. Os RBMs intermediários foram treinados com pesos simétricos. Essa configuração de peso permitiu a média geométrica dos dois modelos diferentes de cada camada na máquina profunda final de Boltzmann.

A justificativa para essa configuração de peso está em como as duas formas de inferir os estados das unidades em cada camada são combinadas na máquina profunda de Boltzmann. Os pesos garantem que a evidência não seja contada duas vezes ao inferir o estado de uma camada. As camadas intermediárias realizam a média geométrica das evidências dos modelos bottom-up e top-down, evitando a duplicação de evidências. Para uma explicação mais detalhada, consulte o documento original.

A abordagem apresentada no vídeo se concentra em aprender um modelo conjunto de legendas de imagens e vetores de recursos. Ao integrar as informações de ambas as modalidades, o modelo visa melhorar a compreensão de imagens e legendas e possibilitar uma representação semântica mais precisa.

Vale a pena notar que o uso de uma máquina de Boltzmann profunda em vez de uma rede de crenças profunda para o treinamento conjunto tem suas vantagens. Embora uma rede de crenças profundas pudesse ter sido empregada com ajuste fino generativo usando vigília-sono contrastante, espera-se que o algoritmo de ajuste fino para máquinas de Boltzmann profundas produza melhores resultados. Portanto, a decisão de usar uma máquina de Boltzmann profunda permite treinamento aprimorado e aprimoramento de detectores de recursos nas camadas iniciais de cada modalidade.

O vídeo também aborda brevemente o processo de treinamento para a máquina profunda de Boltzmann. Os pesos dos RBMs na pilha são ajustados de maneira simétrica à escala, garantindo que as evidências sejam combinadas adequadamente sem dupla contagem. Essa abordagem permite a média geométrica dos dois modelos diferentes de cada camada, considerando as entradas de baixo para cima e de cima para baixo. A configuração de peso específico garante que as evidências não sejam duplicadas, levando em consideração as dependências entre as camadas.

Embora o vídeo forneça uma explicação de alto nível do processo, a matemática subjacente e o raciocínio detalhado podem ser encontrados no documento que o acompanha. A abordagem apresentada no vídeo e a pesquisa subsequente de Nitish Srivastava e Ruslan Salakhutdinov contribuem para o avanço da modelagem conjunta de legendas e vetores de recursos, facilitando a melhor compreensão e representação de imagens e suas legendas associadas.

Em conclusão, o trabalho discutido no vídeo se concentra em aprender um modelo conjunto de legendas de imagens e vetores de recursos. Aproveitando as informações presentes em ambas as modalidades, a abordagem proposta visa potencializar a extração de categorias semânticas de imagens e a desambiguação de palavras em legendas. A utilização de uma máquina de Boltzmann profunda e a configuração de peso específico durante o treino permitem uma integração e aprendizagem eficaz entre as duas modalidades.

Lecture 16.1 — Learning a joint model of images and captions [Neural Networks for Machine Learning]
Lecture 16.1 — Learning a joint model of images and captions [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Aula 16.2 — Estruturas de Coordenadas Hierárquicas



Aula 16.2 — Estruturas de Coordenadas Hierárquicas [Redes Neurais para Aprendizado de Máquina]

Neste vídeo, o palestrante discute o potencial de combinar abordagens de reconhecimento de objetos em visão computacional. Três abordagens principais são mencionadas: redes neurais convolucionais profundas (CNNs), abordagens baseadas em peças e recursos de engenharia manual com extensa engenharia manual.

Embora as CNNs tenham se mostrado eficazes no reconhecimento de objetos, o palestrante aponta limitações, como a perda de posições precisas do detector de recursos e a dificuldade de extrapolar para novos pontos de vista e escalas. Para enfrentar esses desafios, o palestrante sugere o uso de uma hierarquia de quadros de coordenadas e a representação da conjunção da forma e pose de um recurso em relação à retina usando grupos de neurônios.

Ao representar as poses de partes de objetos em relação à retina, fica mais fácil reconhecer objetos maiores, aproveitando a consistência das poses das partes. O palestrante explica um método de uso de atividades neurais para representar vetores de pose e como as relações espaciais podem ser modeladas como operações lineares. Isso facilita o aprendizado de hierarquias de entidades visuais e a generalização entre pontos de vista.

O palestrante enfatiza a importância de incorporar quadros de coordenadas para representar formas de forma eficaz. Eles fornecem exemplos que demonstram como nosso sistema visual impõe quadros de coordenadas para reconhecer as formas corretamente. A percepção de uma forma pode mudar dependendo do quadro de coordenadas imposto, destacando o papel dos quadros de coordenadas na representação da forma.

O vídeo explora a ideia de combinar diferentes abordagens de reconhecimento de objetos, aproveitando quadros de coordenadas e representações hierárquicas. Essa abordagem visa abordar as limitações das CNNs e aprimorar o reconhecimento de objetos, incorporando relações espaciais e consistência de pose. A importância dos quadros de coordenadas na percepção da forma também é enfatizada.

Lecture 16.2 — Hierarchical Coordinate Frames [Neural Networks for Machine Learning]
Lecture 16.2 — Hierarchical Coordinate Frames [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...