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

 

CS 198-126: Aula 10 - GANs



CS 198-126: Aula 10 - GANs

A palestra sobre GANs apresenta o conceito de duas redes, o discriminador e o gerador, competindo entre si em uma configuração de teoria dos jogos. A entrada do gerador é o ruído aleatório, ao qual atribui significado para gerar imagens de aparência real, e o trabalho do discriminador é julgar se a imagem é real ou falsa. As GANs usam uma função de perda que corresponde à perda de entropia cruzada negativa, com o gerador querendo minimizar e o discriminador querendo maximizá-la. A função de valor representa o desempenho do gerador e precisa ser maximizada pelo discriminador, classificando corretamente dados falsos e reais. A palestra também aborda questões com GANs de treinamento e a perda não saturante que permite que o gerador tenha mais agência para mudar.

  • 00:00:00 Nesta seção, o palestrante fornece uma revisão das variáveis latentes e códigos usados para compactar e mapear imagens em representações mais comprimidas. A ideia de usar autoencoders para gerar novas imagens a partir de um vetor latente também é introduzida. O palestrante destaca o desafio de julgar o que torna uma imagem boa e realista, e é aí que entram as GANs (Generative Adversarial Networks). Com duas redes, uma gerando dados e a outra tentando determinar se é real ou falso, as redes competem entre si em uma configuração de teoria dos jogos. O discriminador vence quando classifica corretamente as imagens e o gerador vence quando engana o discriminador.

  • 00:05:00 Nesta seção, o instrutor explica o conceito de alto nível por trás das GANs, que envolve duas redes - o discriminador e o gerador - competindo entre si. Ao contrário dos autoencoders, onde o gargalo está no meio, os GANs têm algo no meio entre o gerador e o discriminador que é muito mais dimensional. A entrada para o gerador é algum tipo de vetor de ruído aleatório amostrado de um gaussiano multivariado. O gerador é então alimentado com a variável de ruído latente e decide como atribuir um significado aleatório a ela para que possa gerar toda uma série de entradas ou toda uma série de imagens de aparência real. As redes discriminadora e geradora são treinadas conjuntamente via gradiente descendente, alternando entre as duas, com o objetivo de enganar a outra rede.

  • 00:10:00 Nesta seção, o palestrante explica como as GANs funcionam tendo uma rede que recebe dados reais e falsos para treinar um gerador para descobrir padrões que fazem as imagens parecerem reais. O discriminador é aquele que julga se a imagem é real ou falsa e, conforme aprende, começa a perceber padrões e atualiza seu julgamento. A esperança é que o gerador aprenda a se aprimorar criando algo com mais forma ou objetos que façam sentido no contexto da cena. A função de perda para GANs consiste apenas em uma perda de classificação do discriminador, e a pontuação do gerador é o oposto dela. Para treinar o gerador, o discriminador precisa ser bom em julgar uma imagem para fornecer feedback ao gerador.

  • 00:15:00 Nesta seção, o palestrante explica a importância de um discriminador ser capaz de classificar as imagens com precisão para melhorar o gerador. O discriminador pode precisar ser atualizado mais do que o gerador, para que possa discernir uma diferença significativa entre as imagens reais e geradas. O palestrante então decompõe a função de perda, que corresponde à perda de entropia cruzada negativa, com o gerador querendo minimizá-la e o discriminador querendo maximizá-la. O gerador ganha quando seus dados parecem reais, e o discriminador ganha quando diferencia corretamente as imagens reais e falsas. As duas redes estão em um cenário de teoria dos jogos em que competem entre si para progredir e melhorar.

  • 00:20:00 Nesta seção do vídeo, os apresentadores explicam o conceito de função de valor em GANs, que é o oposto da função de perda usada nos modelos tradicionais de aprendizado de máquina. A função de valor representa o desempenho do gerador e precisa ser maximizada pelo discriminador, classificando corretamente dados falsos e reais. Os pesos do gerador são congelados durante a primeira etapa para que o discriminador possa ser treinado em lotes de dados reais e falsos. Durante a segunda etapa, o discriminador é congelado e os pesos do gerador são atualizados para gerar imagens falsas ligeiramente melhores. Esse processo é repetido até que o gerador produza imagens realistas que nem mesmo o discriminador pode classificar como falsas.

  • 00:25:00 Nesta seção, o palestrante discute GANs condicionais, que fornecem uma solução para gerar imagens com mais controle sobre as classes que estão sendo geradas. A configuração GAN atual requer alimentar repetidamente o gerador aleatoriamente até que o objeto ou a imagem desejada seja gerada, mas para conjuntos de dados com mais classes, essa abordagem não é ideal. Ao anexar um vetor one-hot ao vetor de ruído aleatório, isso permite que o gerador tenha mais controle sobre a classe que está sendo gerada. O vetor one-hot corresponde à classe desejada e o gerador é treinado para gerar uma imagem com essa classe específica.

  • 00:30:00 Nesta seção da palestra, o palestrante discute a ideia de incentivar o gerador a usar um recurso específico no modelo GAN condicional. O palestrante explica que apenas dizer ao gerador para gerar uma imagem específica não é suficiente, pois o gerador não tem incentivo para usar as informações fornecidas. A solução é fornecer também o mesmo rótulo ao discriminador, criando uma estratégia para que ele identifique se uma imagem gerada corresponde ou não ao seu rótulo. Isso força o gerador a prestar atenção ao rótulo, pois deseja evitar a detecção pelo discriminador, resultando em uma saída que corresponde ao rótulo fornecido. A arquitetura do gerador e do discriminador também é discutida.

  • 00:35:00 Neste cenário, os pesos do gerador acabariam se tornando zero. Além disso, o gerador pode escorregar e ser pego no colapso do modo, no qual gera apenas um pequeno conjunto de exemplos que enganam bem o discriminador. Esse problema surge devido ao fato de o discriminador aprender limites de decisão super nítidos e o gerador ser incentivado a produzir esses exemplos falsos repetidamente. Por fim, também há problemas de procedimento de treinamento com GANs, pois sua configuração de baunilha não converge e sua função de perda torna-se plana.

  • 00:40:00 Nesta seção, o palestrante discute alguns problemas comuns com GANs, que podem dificultar o treinamento. Uma questão é que sempre haverá um trade-off entre o gerador e o discriminador, com o discriminador tentando se ajustar a recursos específicos em imagens reais, e não há uma maneira clara de saber quando o treinamento da GAN é concluído. O palestrante então aborda uma perda não saturante, que é uma simples reformulação do objetivo do gerador, e aborda o problema de que o gerador obtém apenas uma pequena derivada parcial quando o discriminador reconhece as imagens geradas como falsas. A perda não saturante maximiza um termo alternativo e permite que o gerador tenha mais agência para mudar.

  • 00:45:00 Nesta seção, o palestrante explica o truque matemático por trás da perda de entropia cruzada usada em GANs. Em vez de tentar cegamente minimizar a perda de entropia cruzada negativa, o objetivo do gerador é maximizar a probabilidade de ser classificado como um, usando um tipo de perda de entropia cruzada de classe binária. Essa perda não saturante fornece gradientes de gerador maiores, permitindo treinar mais rapidamente quando o discriminador está apenas desligando o gerador. No entanto, o palestrante destaca que se trata de um material avançado, sem questionário ou lição de casa, mas eles estão disponíveis para falar mais sobre técnicas avançadas de treinamento de GAN.
 

CS 198-126: Aula 11 - GANs avançadas



CS 198-126: Aula 11 - GANs avançadas

Esta palestra sobre GANs avançadas abrange várias técnicas para melhorar a estabilidade e a qualidade dos modelos GAN, incluindo upsampling bilinear, convolução transposta, GANs condicionais, StyleGAN e CycleGAN. A palestra também discute o uso de ruído aleatório controlado, normalização de instância adaptativa e processamento de vídeos em GANs. Para obter melhor estabilidade e resultados, o palestrante recomenda usar tamanhos de lote maiores e truncar a faixa de ruído aleatório durante o teste, ao mesmo tempo em que adverte contra enfraquecer excessivamente o discriminador. Além disso, sugere-se começar com uma ampla distribuição de diferentes tamanhos de espaço latente para gerar uma variedade de imagens. Por fim, a palestra aborda o Big Gan, que ajuda a gerar GANs em escalas muito grandes.

  • 00:00:00 Nesta seção, o palestrante apresenta o tema GANs no contexto da visão computacional e discute a construção de uma arquitetura GAN para visão computacional. O falante se concentra no discriminador, que é uma CNN de classificação, e no gerador, que é mais desafiador devido à necessidade de aumentar a resolução da imagem vetorial latente. O palestrante também discute técnicas de downsampling e upsampling, incluindo upsampling do vizinho mais próximo, que é uma abordagem ingênua que duplica cada célula do mapa de recursos existente, resultando em uma imagem borrada.

  • 00:05:00 Nesta seção, o palestrante discute maneiras de aumentar a amostragem de mapas de recursos para geradores em GANs. Ele primeiro descreve o upsampling bilinear, onde novos mapas de recursos são criados pegando um mapa de recursos vazio maior e preenchendo-o com a média de todos os seus vizinhos mais próximos. Ele então introduz a convolução transposta, que preenche o mapa de recursos com tanto preenchimento que, no momento em que a janela de convolução é deslizada sobre ele, o mapa de recursos de saída acaba sendo maior que o de entrada. O palestrante observa que essas são as formas mais comuns de aumentar a amostragem de mapas de recursos e geralmente são suficientes para aumentar os geradores.

  • 00:10:00 Nesta seção da palestra, o palestrante discute GANs condicionais e como lidar com eles no gerador. As entradas para o gerador agora incluem um vetor latente e um condicional que informa o que gerar. O palestrante sugere concatenar os vetores juntos ou processá-los separadamente antes de concatená-los. Eles também abordam brevemente a passagem de várias coisas para um discriminador. A palestra então faz a transição para StyleGAN, uma nova arquitetura para o gerador que inclui talento artístico e pré-processamento dos vetores latentes antes das operações de convolução.

  • 00:15:00 Nesta seção, o palestrante discute a necessidade de alimentar o latente para dar acesso a todas as diferentes convoluções ao estilo codificado nele para produzir melhores texturas. A textura é um ruído aleatório e seria muito mais fácil fornecer fontes de aleatoriedade ao modelo. Esta seção apresenta a arquitetura utilizada, que divide o gerador em dois componentes diferentes. O primeiro é o desejado, cujo vetor latente alimenta o gerador. A introdução do componente desejado é pré-processar o latente para resolver o problema de espaços latentes inutilizáveis, o que dificulta a geração de determinadas imagens. Os pré-processos envolvem a passagem do latente por camadas densas até que tenhamos um novo latente modificado chamado W.

  • 00:20:00 Nesta seção, o vídeo discute o conceito de normalização de instância adaptativa (AdaIN) e como ela introduz estilo na rede. AdaIN substitui a norma de lote e usa um vetor de estilo para ditar quanto redimensionar e alterar, permitindo resultados mais significativos. O vetor de estilo é passado por uma camada totalmente conectada, que é usada para redimensionar e rebialar todas as ativações. O objetivo final é aumentar o acesso à aleatoriedade gerando um grande número de mapas de recursos que são ruídos puramente aleatórios.

  • 00:25:00 Nesta seção, o palestrante discute a adição de ruído aleatório controlado a cada mapa de recursos, permitindo que a rede aumente ou diminua a quantidade de ruído com base nos valores B aprendidos. Esse ruído aleatório controlado ajuda a gerar melhores texturas e imperfeições, permitindo a geração de pelos e rugas individuais. O ruído controlado é adicionado após cada convolução e permite que a rede controle a magnitude do ruído. A palestra também discute as novas inovações no estilo GAN, incluindo o vetor latente que é integrado a cada camada e o uso de normalização de instância adaptativa para introduzir lentamente o estilo.

  • 00:30:00 Nesta seção, o palestrante discute as duas técnicas avançadas de GAN: StyleGAN e CycleGAN. O StyleGAN gera faces aleatórias com grandes melhorias na textura por meio de ruído aleatório, enquanto o CycleGAN transfere imagens de um conjunto de dados para outro. Um termo de perda é dedicado ao realismo das imagens convertidas e o outro mede se a imagem pode ser restaurada ao seu estado original. O CycleGAN pode tirar fotos realistas e transformá-las em pinturas de Monet, transformar zebras em cavalos e alterar as estações de uma imagem. Embora não haja consistência entre os quadros no vídeo, a técnica ainda pode produzir resultados decentes.

  • 00:35:00 Nesta seção, o palestrante explica que os vídeos podem ser usados para treinar um discriminador para identificar vídeos reais e falsos, mas requer computação significativa em comparação com o processamento de imagens. O vídeo deve ser processado quadro a quadro, mas alguns quadros podem ser ignorados para tornar o processo mais eficiente. O discriminador pode ser usado para garantir consistência nos vídeos gerados de um quadro para outro. Além disso, o palestrante aconselha ter cuidado ao usar modelos GAN em algumas demonstrações, como converter um macaco em um cavalo, pois nem sempre funciona de maneira eficiente e o resultado pode não ser o esperado. Por fim, o palestrante discute como o GAN aumenta quando tamanhos de lote maiores e mais dados são lançados em modelos maiores e explica algumas compensações entre estabilidade, confiabilidade, variedade e qualidade.

  • 00:40:00 Nesta seção, o palestrante discute alguns truques para obter melhor estabilidade e resultados com GANs. Uma chave para uma melhor estabilidade é usar tamanhos de lote maiores, o que é especialmente útil para tarefas complexas como GANs. Outra dica é truncar a faixa de ruído aleatório durante o teste para evitar resultados fora da experiência do modelo. No entanto, isso vem com a desvantagem de limitar a variedade de imagens geradas. O palestrante também destaca que aceitar alguma instabilidade durante o treino é necessário para obter bons resultados e alerta para não nerfar excessivamente o discriminador.

  • 00:45:00 Nesta seção, o palestrante adverte contra o uso de uma distribuição estreita para o espaço latente, pois o gerador pode gerar imagens semelhantes repetidamente, dificultando a geração de uma variedade de imagens. O palestrante sugere começar com uma ampla distribuição de diferentes tamanhos para dar ao modelo uma excelente ideia inicial de como gerar imagens. Além disso, eles compartilham que a função discriminadora pode ser benéfica de várias maneiras diferentes, além de gerar uma única imagem aleatoriamente. Por fim, eles apresentam o Big Gan, que ajuda a gerar GANs em escalas muito grandes.
 

CS 198-126: Aula 12 - Modelos de Difusão



CS 198-126: Aula 12 - Modelos de Difusão

Nesta palestra sobre modelos de difusão, o palestrante discute a intuição por trás dos modelos de difusão - prever o ruído adicionado a uma imagem e reduzi-lo para obter a imagem original. A palestra aborda o processo de treinamento, arquitetura aprimorada e exemplos de modelos de difusão na geração de imagens e vídeos. Além disso, a palestra aprofunda os modelos de difusão latente, que comprimem o modelo em um espaço latente para executar a difusão na parte semântica da imagem. O palestrante também fornece uma visão geral de modelos relacionados, como Dolly Q, modelo Imagine do Google e Make a Video do Facebook, e sua capacidade de gerar modelos 3D usando texto.

  • 00:00:00 Nesta seção do vídeo, o palestrante apresenta os modelos de difusão, uma nova classe de modelos generativos. Eles explicam que o objetivo dos modelos generativos é aprender a distribuição subjacente de um determinado conjunto de dados para que novos dados possam ser gerados a partir da mesma distribuição. O palestrante também menciona dois métodos principais para aprender distribuições: maximizar a verossimilhança ou minimizar a métrica de divergência. A palestra mergulhará na matemática por trás dos modelos de difusão, e o palestrante observa que esta palestra será mais matematicamente envolvida do que as anteriores.

  • 00:05:00 Nesta seção da palestra sobre modelos de difusão, o palestrante discute o uso de Variational Autoencoders (VAEs) e Generative Adversarial Networks (GANs) em distribuições de modelagem que imitam a distribuição de dados. O palestrante explica que ambos os modelos funcionam pegando uma amostra de ruído aleatório e convertendo-a em algo que parece ter vindo da distribuição de dados. No entanto, os modelos de difusão executam várias etapas minúsculas em vez de uma grande etapa durante esse processo, o que cria uma cadeia de Markov mais fácil de analisar. O modelo de difusão tem um processo direto onde o ruído é adicionado a uma imagem e, posteriormente, mais ruído é adicionado para criar uma versão ruidosa da imagem. Há também um processo reverso em que a imagem é eliminada para retornar à imagem original.

  • 00:10:00 Nesta seção do vídeo, o palestrante explica o conceito de processamento reverso em modelos de difusão, onde uma nova imagem pode ser gerada invertendo a sequência de etapas de ruído. O desafio está em encontrar a distribuição reversa, que é difícil de calcular usando a distribuição exata e, portanto, uma aproximação é feita por meio da função Q e da função P. A função P é representada por uma rede neural, que tenta aprender a média e a variância da distribuição reversa, que se supõe ser gaussiana. O vídeo também aborda o processo de treinamento de um modelo de difusão, que requer uma função de perda para ser minimizada ou maximizada.

  • 00:15:00 Nesta seção da palestra, o palestrante discute a aplicação do limite inferior variacional de variação para modelos de difusão, o que resulta em uma função de perda que se assemelha a uma soma de funções de perda menores. Eles explicam que os termos L de 0 a L de T-1 contribuem para a perda e que se concentrarão na análise de L de T, que é definido de 1 a T-1. O palestrante explica como a divergência de KL entre Q de X de T-1 e a distribuição que a rede neural tenta prever resulta em um termo que mede a perda de L2 entre a média aprendida e a média da distribuição condicional. Os autores dos artigos de difusão sugerem parametrizar mu de theta, o mu aprendido, de forma semelhante a Q de X de T-1 para simplificar a expressão e tornar possível prever um único termo em vez de prever tudo dentro da caixa vermelha.

  • 00:20:00 Nesta seção, o palestrante explica a principal intuição por trás dos modelos de difusão, que é prever o ruído que foi adicionado a uma imagem e, em seguida, eliminá-lo para recuperar a imagem original. O objetivo é minimizar o ruído entre o ruído original e o ruído previsto, e o processo de treinamento envolve adicionar ruído às imagens no conjunto de dados, passando-as pelo modelo, prevendo o ruído e minimizando a distância entre o ruído previsto e o real. O modelo pode então ser usado para sintetizar novas imagens começando com ruído aleatório e eliminando-o usando o ruído previsto. O palestrante também observa que X de T, sendo a variável difusa, não precisa ser uma imagem.

  • 00:25:00 Nesta seção, o palestrante discute modelos de difusão e sua capacidade de prever o ruído de uma imagem com as mesmas dimensões da entrada/saída. Um modelo que tem as mesmas dimensões é a mesma unidade que foi usada na aula de segmentação. No entanto, os autores do artigo adicionaram muitos truques CV modernos, incluindo blocos resnet, módulos de atenção, norma de aderência e ativações de swish ao modelo. Eles foram capazes de mostrar que funcionou muito bem e mais etapas de tempo foram usadas em um artigo posterior para melhorar ainda mais sua qualidade. O palestrante também disponibiliza uma imagem e um link para o slide contendo a arquitetura da maquete.

  • 00:30:00 Nesta seção, é explicado que os pesquisadores encontraram uma maneira de melhorar os resultados do uso de modelos de difusão para geração de imagens, modificando os parâmetros beta que controlam a adição de ruído no processo de encaminhamento. Em vez de usar um cronograma linear, eles sugeriram o uso de uma função de cosseno mais lenta e a aceleração posterior para converter as imagens em ruído lentamente, ajudando o modelo a aprender melhor o processo reverso. Além disso, ao aprender a matriz de covariância por meio de uma rede neural, é possível melhorar a log-verossimilhança e obter melhores verossimilhanças, que podem ser vistas como uma medida de diversidade.

  • 00:35:00 Nesta seção da palestra, o palestrante discute algumas melhorias arquitetônicas que podem ser feitas no modelo da unidade, que é comumente usado em diferentes trabalhos. Essas melhorias incluem o aumento do tamanho do modelo, o uso de módulos de atenção e a normalização adaptativa. O palestrante também apresenta a ideia de orientação classificada, que envolve o treinamento de um classificador para prever rótulos de classe de imagens originais e com ruído e o uso do gradiente resultante para melhorar o modelo de difusão. Por fim, o palestrante menciona o uso de métricas, como FID e precisão e revocação, para medir a qualidade dos modelos generativos.

  • 00:40:00 Nesta seção, o palestrante discute como o modelo de difusão ultrapassou os modelos GAN na modelagem de imagens devido à sua capacidade de capturar melhor fidelidade e diversidade da distribuição de dados. Eles mostram imagens dos flamingos onde as imagens GAN parecem muito semelhantes, enquanto as imagens de difusão mostram mais diversidade em sua saída, indicando melhores recursos de modelagem de imagem. O palestrante também menciona que os pesquisadores encontraram maneiras melhores de orientar o modelo de difusão por meio de um processo chamado orientação livre de classificadores, em que um modelo de difusão condicional é treinado para evitar a troca de diversidade por maior qualidade, que é inerente ao condicionar o modelo em alguns rótulo de classe.

  • 00:45:00 Nesta seção, o palestrante discute o conceito de modelos de difusão latente, que são outra classe de modelos de difusão usados para treinamento em imagens de alta dimensão, pois não é viável treinar um modelo de difusão grande nesses casos. O palestrante explica que os pesquisadores descobriram que mais bits são usados para capturar os detalhes em nível de pixel e menos para capturar alguns dos detalhes semânticos de uma imagem que não são úteis. Para gerar imagens com precisão, um modelo generativo deve ser executado na parte semântica da imagem. O palestrante dá uma visão geral de como isso pode ser alcançado, o que envolve aprender o espaço latente e comprimir o modelo em um espaço latente para executar a difusão nele. Isso permite que uma imagem seja convertida em latente e de volta à imagem usando um modelo de codificador e decodificador.

  • 00:50:00 Nesta seção, o palestrante discute vários modelos relacionados à difusão, incluindo Dolly Q, geração de imagem por meio do modelo Imagine do Google e geração de vídeo por meio do Make a Video do Facebook. Além disso, o Google estendeu o modelo Imagine para gerar vídeos também. O palestrante também menciona a capacidade de gerar modelos 3D usando texto, além de aplicar visão à RL, o que alcança resultados de última geração em RL offline, de acordo com um artigo divulgado no início deste ano. O palestrante fornece links para artigos e recursos para aprendizado adicional.
 

CS 198-126: Aula 13 - Introdução à Modelagem de Sequência



CS 198-126: Aula 13 - Introdução à Modelagem de Sequência

Nesta palestra sobre modelagem de sequência, o palestrante apresenta a importância de representar dados de sequência e atingir um número razoável de etapas de tempo sem perder muita informação. Redes neurais recorrentes (RNNs) são discutidas como uma primeira tentativa de resolver esses desafios, que têm a capacidade de lidar com comprimentos variados de entradas e saídas. No entanto, problemas com RNNs impedem que eles tenham um desempenho ideal. A incorporação de texto é introduzida como uma maneira mais eficiente de representar dados de texto, em vez de usar um vetor único de alta dimensão. Além disso, o conceito de codificação posicional é discutido como uma forma de representar a ordem dos elementos em uma sequência usando valores contínuos, em vez de binários.

  • 00:00:00 Nesta seção, o palestrante apresenta os modelos de sequência e explica a motivação por trás de sua importância. Em particular, eles mencionam vários tipos de dados de sequência, como dados de séries temporais, áudio e texto, e como eles são comumente usados em visão computacional e modelos de processamento de linguagem natural. O palestrante também discute a importância de representar os dados da sequência e atingir um número razoável de intervalos de tempo sem perder muita informação. Em última análise, o objetivo é criar modelos de linguagem que possam ser treinados em grandes quantidades de dados de texto extraídos da Internet, que são representados como uma sequência tokenizada de vetores únicos.

  • 00:05:00 Nesta seção, o instrutor discute os desafios de representar dados de texto como vetores únicos e a ineficiência de ter um para cada palavra em um dicionário. O objetivo da modelagem de sequência é manipular dados arbitrariamente longos e comprimentos variados de entradas e saídas. O instrutor fornece exemplos de diferentes paradigmas, incluindo análise e tradução de sentimentos, que precisam lidar com comprimentos variáveis de saídas. Além disso, relacionamentos de longa distância entre palavras em uma frase devem ser considerados ao analisar dados de texto.

  • 00:10:00 Nesta seção, o vídeo discute os desafios da modelagem de sequência, que exigem conectar ideias de várias partes de uma frase e lidar com relacionamentos de longa distância entre as sequências. As redes neurais recorrentes (RNNs) são introduzidas como uma primeira tentativa de resolver esses desafios e funcionam, mas não muito bem devido a problemas que as impedem de funcionar de maneira ideal. O vídeo explica que os RNNs usam um valor de célula compartilhado em todos os elementos da sequência, com cada célula tendo exatamente os mesmos pesos que processam a sequência de entrada. Além disso, a saída gerada pelo RNN pode ser interpretada como qualquer coisa, desde uma probabilidade até uma tradução.

  • 00:15:00 Nesta seção, aprendemos sobre a forma básica de uma Rede Neural Recorrente (RNN), onde pegamos um elemento de sequência do mesmo comprimento, fazemos uma camada linear sobre ele, pegamos a saída do intervalo de tempo anterior e a entrada neste passo de tempo para fazer uma multiplicação de matrizes. Em seguida, os empilhamos uns sobre os outros ou os adicionamos para gerar a saída. A função tahn é usada para garantir que as saídas estejam dentro do alcance e para evitar que os valores explodam ou fiquem muito pequenos durante a propagação para frente ou para trás. Ao empilhar várias camadas, podemos começar a aprender funções mais complexas.

  • 00:20:00 Nesta seção da palestra, o instrutor discute os desafios e soluções da criação de um modelo de sequência. Ao usar uma função tanh na saída de cada célula, os valores são mantidos entre -1 e 1, o que evita valores grandes que podem causar problemas durante multiplicações repetidas de matrizes. O modelo pode lidar com tamanho de entrada arbitrário, comprimentos de saída variáveis e relacionamentos de longa distância. O instrutor então apresenta incorporações como uma forma mais eficiente de representar dados de texto, em vez de usar um vetor único de 100.000 dimensões. Idéias como codificação binária e trinária são exploradas como uma possível solução.

  • 00:25:00 Nesta seção, o palestrante apresenta o conceito de incorporação de texto e como ele pode ser utilizado na modelagem de sequência. Em vez de usar vetores one-hot para cada palavra no dicionário, um vetor menor representando a palavra é aprendido e inserido no modelo. Essa compressão da representação permite uma redução na dimensionalidade e cria um vetor incorporado que se assemelha a um livro de códigos. A esperança é que essas incorporações permitam uma representação inteligente das palavras, com palavras semelhantes, como "gato" e "cachorro", relativamente próximas, enquanto palavras com pouca correlação, como "gato" e "grama", estão mais distantes. Embora não haja garantia de que essa relação de proximidade exista, ela pode ser utilizada para facilitar a compreensão de como a análise de sentimento e outros modelos são afetados por escolhas de palavras específicas.

  • 00:30:00 Nesta seção, o palestrante discute o uso de gradiente descendente em um livro de código de vetores incorporados para agrupar palavras semanticamente semelhantes. Ele também menciona o conceito de codificação posicional, onde o tempo decorrido ou a posição em uma sequência pode ser importante para certos domínios, e discute alguns métodos para representar um vetor quente para posição antes de passar para o que funciona bem, conhecido como codificação posicional.

  • 00:35:00 Nesta seção da palestra, o instrutor discute a ideia de usar um carimbo de data/hora na modelagem de sequência para indicar em que ponto da sequência estamos. No entanto, usar uma codificação binária como um carimbo de tempo pode se tornar limitado para comprimentos de sequência maiores, pois pode representar apenas um número limitado de etapas de tempo únicas. Para resolver esse problema, o instrutor sugere o uso de um analógico contínuo substituindo a codificação binária por ondas senoidais e cosseno de diferentes frequências. Dessa forma, ainda podemos usar um vetor menor para representar um número maior de etapas de tempo únicas.

  • 00:40:00 Nesta seção, o conceito de codificação posicional é discutido, que é uma forma de representar a ordem dos elementos em uma sequência usando valores contínuos em vez de valores binários. O processo envolve avaliar as funções seno e cosseno em diferentes frequências para cada elemento de sequência e, em seguida, representá-las graficamente para criar um análogo contínuo da codificação posicional binária. O gráfico resultante alterna entre valores altos e baixos, semelhante à versão binária, e pode ser anexado a cada elemento da sequência. A codificação posicional pode ser um pouco confusa, mas a palestra sugere revisar os conjuntos de slides e experimentar o conceito para um melhor entendimento.
 

CS 198-126: Aula 14 - Transformadores e Atenção



CS 198-126: Aula 14 - Transformadores e Atenção

Esta palestra em vídeo sobre Transformadores e Atenção aborda o conceito e a motivação por trás da atenção, sua relação com os Transformadores e sua aplicação em PNL e visão. O palestrante discute a atenção leve e forte, a autoatenção, a atenção local e a atenção multifacetada, e como eles são usados na arquitetura do Transformer. Eles também explicam o sistema de consulta de valor-chave, a importância das conexões residuais e da normalização da camada e o processo de aplicação de uma camada linear para obter kqv de incorporações de entrada. Por fim, a palestra aborda o uso de incorporações de posição e o token CLS em exemplos de sequência para vetor, destacando a eficiência computacional e a escalabilidade do mecanismo de atenção.

  • 00:00:00 Nesta seção da videoaula, o objetivo é explicar a motivação por trás da atenção e como ela está relacionada aos modelos Transformer. A atenção é a pedra angular dos modernos Vision Transformers e é necessário concentrar esforços e atenção em um determinado local. O palestrante explica que a atenção usa um sistema de valor de chave de consulta para tomar decisões mais informadas sobre quais coisas prestar atenção. O sistema de atenção moderno é baseado em como os humanos leem, onde eles se concentram em palavras sequenciais específicas e desfocam todo o resto.

  • 00:05:00 Nesta seção, o palestrante discute o conceito de atenção em modelos de aprendizado de máquina, especificamente no contexto de NLP e RNNs. A atenção permite que os modelos se concentrem nas partes importantes de uma entrada, fazendo inferências usando um subconjunto específico de dados em vez de considerar tudo como um todo. Existem dois tipos de atenção: atenção forte, que prevê quais índices são relevantes em um determinado intervalo de tempo, e atenção suave, que cria um conjunto de pesos suaves com a função softmax para criar uma distribuição de probabilidade com base nos tokens de entrada que indicam seus importância. A atenção suave é geralmente usada e combina as representações de diferentes recursos. A palestra também discute o processo de tradução do francês para o inglês como um exemplo de uso da atenção.

  • 00:10:00 Nesta seção, o palestrante explica o processo de codificação de cada palavra e criação de uma representação latente das palavras usando uma rede tradicional de codificador-decodificador que envolve o processamento sequencial das entradas e um vetor de contexto para decodificação. Eles então introduzem o conceito de atenção suave, que usa um vetor de contexto que leva informações de cada representação latente para decodificar com base nas informações decodificadas anteriormente. O processo envolve a criação de uma função de pontuação para determinar as semelhanças entre a decodificação anterior e a codificação e o uso de diferentes métricas para obter uma importância relativa, fornecendo uma representação probabilística do relacionamento de uma consulta com um grupo de chaves.

  • 00:15:00 Nesta seção, o palestrante explica o conceito de atenção local, que permite que o modelo de atenção consulte apenas uma determinada janela de tokens de entrada, ao invés de todos eles, para economizar recursos computacionais. A palestra também aborda o uso da atenção para a visão, incluindo o uso de redes de compressão e excitação para atenção por canal e atenção espacial para imagens. Além disso, a palestra aborda brevemente o uso da atenção para gerar sentenças que descrevem imagens, como o uso de convoluções para extrair recursos-chave e redes de memória de longo prazo para manter conexões entre palavras.

  • 00:20:00 Nesta seção, o palestrante discute o uso da atenção em várias arquiteturas, incluindo espacial e auto-atenção. A autoatenção envolve procurar tokens da mesma entrada enquanto presta atenção às relações entre as palavras em uma frase, permitindo uma melhor previsão da próxima palavra com base nas palavras anteriores. O palestrante também apresenta o conceito de Transformers, que usa o sistema de atenção chave-valor-consulta para aguardar diferentes quantidades de similaridade ao selecionar recursos do kernel.

  • 00:25:00 Nesta seção do vídeo, o palestrante apresenta o conceito de auto-atenção e atenção suave, que são usados no modelo Transformer. A ideia é criar uma distribuição de probabilidade que se concentre em certas características enquanto ignora outras, a fim de prever certas relações. O palestrante explica como as matrizes são usadas em vez da comparação um-para-um de consultas e chaves nos modelos do Transformer. A palestra também discute as limitações das RNNs, como sua incapacidade de paralelizar e capturar sequências longas, e como a atenção pode ajudar a resolver esses problemas.

  • 00:30:00 Nesta seção da palestra, o apresentador discute a arquitetura do Transformer e como ela usa a autoatenção para modelar sequências ou grupos de tokens. As entradas incluem uma sequência de incorporações de token e incorporações posicionais, e o objetivo é criar uma representação que possa ser passada para o modelo Transformer. A atenção de várias cabeças é usada para calcular a importância de cada token com base na consulta e na chave, e a etapa de alimentação é feita em paralelo para destacar os méritos do Transformer. A arquitetura combina conexões residuais e normas de camada para aliviar gradientes de fuga e fornecer uma representação precisa. Por fim, uma camada linear é adicionada ao final para calcular a saída com base nas sugestões, chaves e valores das diferentes representações.

  • 00:35:00 Nesta seção, o palestrante explica o processo de aplicação de uma camada linear para obter kqv dos embeddings de entrada para cada palavra no texto. Isso envolve o uso de pesos diferentes para chaves, consultas e valores reunidos por meio da multiplicação de matrizes. Depois disso, um produto escalar é encontrado entre as consultas e os valores e cada token atende diretamente a todos os outros tokens, tornando as conexões entre as entradas infinitamente escaláveis. Uma distribuição SoftMax é aplicada com base nos valores do produto escalar e, em seguida, os valores são reponderados com base nessa distribuição para chegar a um valor final token por token. Dimensionar a atenção dividindo por um sobre a raiz quadrada de D é usado para padronizar as coisas e garantir que não haja pequenos gradientes, e a atenção multifacetada é empregada para projetar cada chave, consulta e valor correspondente a um token H vezes. Por fim, o dropout é usado para evitar o overfitting e uma transformação é aplicada aos vetores resultantes antes de enviá-los para uma rede neural feedforward.

  • 00:40:00 Nesta seção do vídeo, o palestrante explica o mecanismo de atenção em transformadores e a importância de adicionar conexões residuais para lidar com gradientes de fuga em redes profundas. Eles também discutem as diferenças entre normalização de lote e normalização de camada, com a normalização de camada sendo usada no mecanismo de atenção para normalizar cada dimensão de recurso. O palestrante também explica como a soma ponderada dos valores produz múltiplos vetores que são então passados por uma matriz ponderada para obter um valor singular passado para a rede de feed forward. No geral, a palestra dá uma explicação aprofundada do mecanismo de atenção e seus vários componentes em transformadores.

  • 00:45:00 Nesta seção da palestra sobre Transformadores e Atenção, o palestrante explica a implementação da arquitetura Transformer da rede neural, que consiste em operações de norma residual e de camada, bem como uma convolução um a um. Cada perceptron multicamadas é paralelizado e as incorporações de posição de entrada são usadas para focar em janelas específicas com base nas informações de posição. Um token fictício também é usado em certas tarefas de NLP para transformar uma sequência em uma medição de vetor.

  • 00:50:00 Nesta seção, a palestra discute exemplos de sequência para vetor e o uso de tokens CLS. A palestra explica a matemática por trás do mecanismo de atenção, que envolve a multiplicação de matrizes entre as entradas de consulta, chave e valor. O resultado é uma soma ponderada que representa a atenção. Esse método é computacionalmente eficiente, tornando-o adequado para paralelização em GPUs e escalável mesmo para grandes entradas. A palestra termina discutindo a arquitetura do transformador, incorporações de posição e introduzindo nenhum viés indutivo que é diferente dos modelos sequenciais.
 

CS 198-126: Aula 15 - Transformadores de visão



CS 198-126: Aula 15 - Transformadores de visão

Nesta palestra, o palestrante discute o uso de Vision Transformers (ViTs) para tarefas de processamento de imagens. A arquitetura ViT envolve a redução da resolução de imagens em patches discretos, que são então projetados em incorporações de entrada usando uma saída de camada linear antes de passar por um Transformer. O modelo é pré-treinado em um grande conjunto de dados rotulado antes do ajuste fino no conjunto de dados real, resultando em excelente desempenho com menos computação do que os métodos de última geração anteriores. As diferenças entre ViTs e Convolutional Neural Networks (CNNs) são discutidas, com ViTs tendo um campo receptivo global e mais flexibilidade do que CNNs. O uso de aprendizado autossupervisionado e não supervisionado com Transformers para tarefas de visão também é destacado.

  • 00:00:00 Nesta seção, o palestrante discute o uso de Vision Transformers e como eles podem ser aplicados às imagens. Eles explicam o conceito de tokens, embeddings e Transformers, fornecendo um exemplo concreto de como eles podem ser usados para tarefas de processamento de linguagem natural. Em seguida, eles explicam como a mesma arquitetura pode ser aplicada a tarefas de visão computacional pré-processando a imagem como uma sequência de tokens e usando a escalabilidade, a eficiência computacional e os campos receptivos globais do Transformer para processá-la com eficiência. O palestrante também aborda o pré-processamento de texto por meio de tokenização e mapeamento de cada palavra para um vocabulário.

  • 00:05:00 Nesta seção da palestra, o palestrante discute como converter os métodos de tokenização e incorporação usados no processamento de linguagem natural (NLP) em processamento de imagem. A tokenização envolve a conversão de palavras ou frases em um formato numérico, que é usado para gerar vetores de incorporação. No entanto, esse processo não é direto para imagens, pois os valores das cores são contínuos, dificultando a criação de uma tabela para pesquisá-los. Esse desafio pode ser resolvido fingindo que os valores são discretos, pois isso torna possível tratar cada pixel como um token. Além disso, o problema da complexidade do tempo é abordado usando imagens menores e treinando-as de maneira semelhante aos modelos de linguagem.

  • 00:10:00 Nesta seção, o palestrante discute a medição do sucesso do modelo Vision Transformer por meio de classificação semi-supervisionada usando um conjunto limitado de amostras rotuladas. O modelo é pré-treinado em amostras não rotuladas e depois passado por um classificador linear com as representações de imagem de saída como entrada. As incorporações de saída precisam ser boas o suficiente para que o classificador tenha um bom desempenho. Essa técnica resultou em precisão competitiva sem o uso de rótulos e também foi usada para geração de imagens. Embora o modelo seja bem-sucedido, ele requer uma quantidade significativa de computação e só pode funcionar em imagens com resolução de 64 por 64. O apelo do modelo Transformer é sua escalabilidade em relação à computação, mas serão necessários meios de implementação mais eficientes para aplicativos downstream.

  • 00:15:00 Nesta seção, o palestrante discute a arquitetura dos Vision Transformers, que é uma abordagem mais eficiente e geral para a classificação de imagens. Em vez de quantizar pixels, as imagens são reduzidas em patches e, em seguida, projetadas em incorporações de entrada diretamente usando uma saída de camada linear. As incorporações de posição e o token CLS são adicionados na parte superior do Transformer. O pré-treinamento é feito em um grande conjunto de dados rotulados antes do ajuste fino no conjunto de dados real, resultando em excelente desempenho com muito menos computação do que o estado da arte anterior. A abordagem é mais geral porque tem menos vieses indutivos.

  • 00:20:00 Nesta seção, as diferenças entre Redes Neurais Convolucionais (CNNs) e Transformadores de Visão (ViTs) são discutidas. As duas principais diferenças entre CNNs e ViTs são localidade e estrutura de vizinhança bidimensional. As CNNs tendem a ser tendenciosas em relação a recursos localizados próximos uns dos outros devido a limitações no tamanho do kernel usado para interações entre pixels. Por outro lado, os ViTs projetam cada pixel em um embedding e permitem que cada token atenda a todos os outros tokens, independentemente de sua posição na imagem, tornando-os menos tendenciosos em relação a recursos locais. Os ViTs também possuem representações únicas para cada token e incorporações posicionais, que afetam as representações resultantes, tornando-as mais flexíveis e capazes de interpolar durante o ajuste fino.

  • 00:25:00 Nesta seção, aprendemos sobre algumas das vantagens dos Vision Transformers (ViTs) sobre as redes neurais convolucionais (CNNs) tradicionais. Os ViTs são capazes de aprender representações de imagem melhores com conjuntos de dados maiores porque não têm vieses para processar imagens no início, o que significa que não assumem um modo de dados, ao contrário dos vieses de engenharia em CNNs. Esta é também a razão pela qual os ViTs têm um trade-off com os dados, tendo um desempenho pior quando há menos dados e melhor com mais dados. Além disso, os ViTs possuem um campo receptivo global, permitindo interações em toda a imagem, o que não é possível com CNNs. Alguns recursos do ViT, como incorporações de posição e representações de atenção, o tornam mais interpretável de algumas maneiras.

  • 00:30:00 Nesta seção, são explicadas as diferenças entre redes neurais convolucionais (CNNs) e transformadores de visão. As CNNs usam uma ou duas camadas convolucionais que limitam sua capacidade de processar informações além de uma pequena área. Portanto, as interações entre os tokens nas CNNs acontecem apenas no final. Em contraste, os transformadores de visão usam um campo receptivo global onde cada token interage com todos os outros tokens desde o início, permitindo que eles atendam a tudo. No entanto, os transformadores de visão têm contras, como sua saída sendo menos granulada devido ao uso de patches, levando a problemas na classificação e segmentação de imagem de granulação fina. O objetivo de ter modelos mais gerais é enfatizado, onde os modelos aprendem com os dados em vez de serem projetados manualmente para domínios específicos, permitindo uma combinação de domínio mais fácil.

  • 00:35:00 Nesta seção, o palestrante discute as vantagens de usar o aprendizado autossupervisionado e não supervisionado com Transformers, particularmente no contexto de tarefas de visão. Com acesso a grandes quantidades de dados não rotulados da Internet, as objetivas autossupervisionadas e não supervisionadas permitem um treinamento eficiente sem a necessidade de anotações. O modelo resultante pode produzir representações que retêm o layout da cena e as informações dos limites do objeto e pode ser usado para classificação de imagens e tarefas de segmentação de vídeo. O palestrante também destaca o uso bem-sucedido dos Vision Transformers em várias tarefas de classificação de imagens, demonstrando sua capacidade de dimensionar bem com grandes quantidades de dados.

  • 00:40:00 Nesta seção, o palestrante discute como passar das arquiteturas iniciais dos modelos Transformer para os primeiros na tabela de classificação. Eles descobriram que melhores escalas de representação com tempo de computação, tamanho do modelo e tamanho do conjunto de dados e modelos grandes são mais eficientes em termos de amostra, o que significa que precisam de menos amostras de treinamento para obter o mesmo desempenho. O palestrante também fala sobre Vision Transformers e CNN, que são uma arquitetura híbrida entre os dois. Eles adicionam vieses indutivos em Transformers visuais usando valores de peso dependentes da posição relativa para resolver a equivariância translacional ausente em Transformers quando não há dados suficientes.

  • 00:45:00 Nesta seção, o palestrante discute o uso de um vetor de peso aprendido em modelos Transformer para imagens. Esse vetor de peso aprendido permite uma codificação mais fácil de recursos que dependem apenas do posicionamento relativo em vez do posicionamento absoluto. Além disso, o palestrante apresenta soluções para a questão do tempo quadrático em relação ao tamanho espacial em Transformers, como agrupar e combinar blocos convolucionais com blocos Transformer. O modelo Vision Transformer com seus esquemas de treinamento auto-supervisionados é visto como o próximo passo na transição de recursos de engenharia manual para modelos mais gerais e requer muitos dados como os Transformers tendem a fazer. O modelo BTS é escalável e tem bom desempenho em hardware de computação. O palestrante confirma que é um algoritmo de aprendizado supervisionado.
 

CS 198-126: Aula 16 - Detecção avançada de objetos e segmentação semântica



CS 198-126: Aula 16 - Detecção avançada de objetos e segmentação semântica

Nesta palestra avançada de detecção de objetos e segmentação semântica, o palestrante discute as vantagens e desvantagens de redes neurais convolucionais (CNNs) e Transformers, particularmente em processamento de linguagem natural (NLP) e visão computacional. Enquanto as CNNs se destacam no viés de textura, os Transformers lidam com tarefas de PNL e visão computacional de maneira eficiente, usando camadas de auto-atenção para unir conceitos importantes e focar em entradas específicas. A palestra então se aprofunda nos Vision Transformers, que priorizam a forma sobre a textura, tornando-os resistentes à distorção. Ele explica ainda as vantagens e limitações do Swin Transformer, uma versão aprimorada do Vision Transformer, que se destaca na classificação de imagens, segmentação semântica e detecção de objetos. A palestra enfatiza a importância da generalização em modelos que podem lidar com qualquer tipo de dados e as possíveis aplicações em áreas como carros autônomos.

  • 00:00:00 Nesta seção, o palestrante traça o plano para a palestra do dia, que inclui uma revisão das CNNs e Transformers e suas vantagens e desvantagens. A palestra também abordará os contextos de NLP, como BERT, e como as incorporações são geradas, depois passará para os Vision Transformers e os comparará com as CNNs. O Swing Transformer, uma melhoria em relação aos Vision Transformers para aplicações de visão computacional, será discutido, incluindo a fusão do patch de atenção da janela e a atenção da janela deslocada com incorporações posicionais. A palestra também pode cobrir métodos avançados de segmentação, se o tempo permitir.

  • 00:05:00 Nesta seção da palestra, o palestrante discute o conceito de CNNs e sua equivalência translacional, o que significa que eles aderem a uma estrutura de vizinhança bidimensional e capturam informações em diferentes pontos, dependendo da distância do passo. O palestrante também aponta que os cnns mostraram uma propensão para viés textural sobre a forma e que o aumento da textura pode afetar seu desempenho. O orador então faz a transição para o contexto dos Transformers para tarefas de PNL e como a atenção nos permite amarrar coisas importantes em uma frase e focar em certas partes da entrada. A autoatenção em Transformers nos permite fazer isso dentro de uma frase, enfatizando a importância das palavras anteriores encontradas.

  • 00:10:00 Nesta seção, o vídeo discute como as camadas de auto-atenção utilizam consultas, chaves e valores para calcular informações de atenção e peso com base na semelhança ou diferença. A seção também apresenta os Vision Transformers, que usam o modelo Transformer para lidar com tarefas de NLP e visão computacional, achatando imagens em patches de 16x16 e passando-as por uma camada linear para gerar incorporações. A informação posicional é aprendida pelo modelo e eles usam um perceptron multicamada para classificar a saída. A seção compara Vision Transformers com CNNS e aponta que as camadas de auto-atenção são globais, enquanto apenas o MLP compara os pixels vizinhos. O modelo Transformer no Vision Transformer não diferencia entre entradas de imagem e palavra e pode ser generalizado para uma variedade de tarefas.

  • 00:15:00 Nesta seção da palestra, o conceito de viés indutivo em modelos de aprendizado de máquina é discutido. O viés indutivo refere-se às suposições que um modelo faz sobre os dados nos quais foi treinado e a redução desse viés permite que um modelo seja mais generalizável. É importante ter modelos que possam ser aplicados a múltiplas tarefas sem assumir conhecimento prévio. Enquanto as CNNs superam os Transformers em conjuntos de dados menores, o modelo Vision Transformer (ViT) funciona melhor em conjuntos de dados maiores e mais complexos, pois modela melhor a visão humana ao priorizar a forma sobre a textura. A robustez adversarial também é introduzida como uma métrica em que as imagens são distorcidas pela introdução de ruído, de modo que certos classificadores não sejam mais capazes de classificá-las.

  • 00:20:00 Nesta seção, são discutidas as limitações dos Vision Transformers na restauração de imagens e segmentação semântica. Quando os patches são passados e processados um de cada vez, as informações de borda podem ser perdidas e a análise de pixel de baixa granularidade dentro de um patch é fraca, pois as informações que pertencem a um patch são tratadas da mesma forma. No entanto, ao contrário das CNNs que priorizam a textura sobre a forma, os Vision Transformers priorizam a forma sobre a textura, tornando-os naturalmente robustos contra distorções visuais, mesmo quando o ruído direcionado é adicionado a uma imagem. A extração de patches é um problema exclusivo das imagens e, para imagens maiores, o número de tokens de imagem gerados aumentará rapidamente.

  • 00:25:00 Nesta seção, o palestrante discute os problemas com o uso de transformadores de visão típicos para detecção e segmentação de objetos, principalmente ao processar imagens maiores, pois requer muito poder de processamento. No entanto, uma solução foi introduzida com o Transformer de janela deslocada, que usa janelas não sobrepostas para realizar a autoatenção dentro dos grupos e depois as combina para realizar a atenção cruzada. Isso permite conexões de atenção entre janelas, resultando em uma complexidade computacional linear em vez de N-quadrado, pois o tamanho dos patches permanece o mesmo enquanto eles são combinados. Esse método de segmentação de imagem é comumente usado em tecnologias de direção autônoma.

  • 00:30:00 Nesta seção é apresentado o conceito do Swin Transformer, um modelo que prima pela classificação de imagens, detecção de objetos e segmentação semântica. O modelo de patch grande Swin tem um tamanho de patch de 4, uma capacidade de 192, um tamanho de janela de 7 e é treinado no ImageNet 22k e ajustado no ImageNet 1k. O modelo usa uma camada multi-atenção de janela e uma camada de atenção de janela deslocada, e um MLP com camadas ocultas que usam uma função de ativação GELU. A saída da janela MSA é passada por uma norma de camada para normalizar as distribuições das camadas intermediárias antes de entrar no MLP.

  • 00:35:00 Nesta seção, o palestrante discute os benefícios do uso de Layer Norm em modelos de treinamento para detecção de objetos e segmentação semântica. Norma de camada aplica uma operação de suavização à superfície de gradiente, resultando em treinamento mais rápido e melhor precisão de generalização. O palestrante compara o Layer Norm com outras técnicas de suavização, como o Batch Norm, e explica como ele se concentra nas camadas intermediárias do processo. A discussão então muda para os blocos de auto-atenção com várias cabeças com janelas (WMSA), que executam a auto-atenção dentro de cada janela de uma imagem. O número de vetores patch em cada janela é garantido, resultando em complexidade linear ao tamanho da imagem, ao contrário da complexidade quadrática no Vit (uma técnica concorrente). O estágio dois do WMSA envolve um processo de mesclagem de patches em que os blocos de pixels vizinhos são concatenados em uma janela menor, criando novas bordas de patch e janelas refeitas.

  • 00:40:00 Nesta seção da palestra, o apresentador explica a solução do Swin Transformer para lidar com o aumento do número de janelas geradas após o avanço dos patches. O Swin Transformer combina habilmente essas janelas reorganizando os blocos para ter apenas quatro janelas, reduzindo o número total de elementos de 64 para 16 enquanto mantém a quantidade total de informações consistente. A técnica de otimização envolve um deslocamento cíclico e uma camada linear é usada para aumentar a profundidade ou a dimensão "C" do tamanho de incorporação após reduzir a quebra dos patches. Essa técnica fornece economia de energia de computação e evita a solução ingênua de preenchimento com zeros antes de executar a atenção.

  • 00:45:00 Nesta seção, o palestrante discute duas otimizações propostas pelos autores para melhorar a eficiência do processamento de imagens. A primeira otimização envolve deslocar uma imagem para uma determinada parte antes de calcular a atenção, depois movê-la de volta enquanto marca que já foi calculada. Isso otimiza o poder de computação evitando a necessidade de executar uma operação totalmente nova para obter os valores desejados. A segunda otimização é por meio de incorporações posicionais que aprendem as informações de posição do patch em vez de serem fornecidas explicitamente, limitando o escopo de atenção que precisa ser calculado. Essas otimizações, juntamente com o uso de vetores de viés e manipulações de tamanho de canal, ajudam no desempenho dos cálculos de auto-atenção no processamento de imagens.

  • 00:50:00 Nesta seção, a palestra discute o processo de fusão de patches nos estágios dois, três e quatro do modelo de transformador Swin. Ao reduzir a dimensionalidade dos patches, eles são reduzidos em um quarto para atingir 3136 patches e o tamanho da codificação é dobrado para obter 384 codificações. O processo é repetido nos estágios três e quatro e o último componente do processo é uma camada de agrupamento de médias, seguida por um cabeçalho de classificação. A palestra levanta preocupações sobre a reintrodução do viés indutivo por meio do uso de abordagens semelhantes às CNNs, mas estudos mostraram que os modelos Swin têm um bom desempenho em termos de robustez de corrupção e têm um viés de forma menor do que os Vision Transformers. A generalidade da arquitetura do Transformer permite capturar padrões com precisão, independentemente do tipo de dados ou domínio, e mais dados resultam em melhor desempenho.

  • 00:55:00 Nesta seção, o palestrante explica as vantagens e desvantagens de ter um modelo que pode receber qualquer tipo de dado, processá-lo e extrair padrões, conhecidos como generalização. A ideia de um modelo geral de inteligência artificial que pode lidar com qualquer entrada/saída é discutida e as aplicações potenciais em campos como carros autônomos são exploradas. O palestrante também observa que o campo de robustez adversarial ainda está em desenvolvimento e que mais testes são necessários para determinar a eficácia de modelos como o Swin contra ataques adversários mais avançados.
 

CS 198-126: Aula 17 - Pesquisa de Visão 3-D, Parte 1



CS 198-126: Aula 17 - Pesquisa de Visão 3-D, Parte 1

O vídeo discute diferentes representações visuais 3D e seus prós e contras, incluindo nuvens de pontos, malhas, voxels e campos de radiância. A palestra também abrange raycasting, para frente e para trás, bem como colorir e renderizar imagens para objetos que se cruzam, com diferentes abordagens para sólidos e transparências. O palestrante aborda as limitações da renderização diferenciável e como o Radiance Fields pode criar uma função para cada ponto XYZ com densidade e cor física, tornando-o mais fácil de aprender.

  • 00:00:00 Nesta seção, o palestrante discute a necessidade de estender a visão computacional para 3D, já que o mundo real é tridimensional. Existem aplicativos ilimitados para 3D, como direção autônoma, otimização de formas, ambientes virtuais, geração de avatares e muito mais. Diferentes métodos para representação 3D são então apresentados, incluindo 2.5D, nuvens de pontos, malhas, grades de voxels e campos de regiões. A palestra então se aprofunda no modelo de câmera pinhole, que é importante para entender como a imagem funciona e, posteriormente, como renderizar objetos 3D no espaço para simulação.

  • 00:05:00 Nesta seção da palestra, o conceito de rastreamento para frente e para trás é apresentado como um meio de determinar a posição de uma câmera em uma cena. O palestrante também discute imagens RGB-D (2.5D) e como elas contêm informações de profundidade que podem ser usadas para gerar nuvens de pontos, que podem ser usadas para criar malhas de uma superfície. Os benefícios e limitações do uso de nuvens de pontos para criação de malha também são explorados.

  • 00:10:00 Nesta seção, o palestrante descreve diferentes representações para objetos 3D. Eles começam discutindo estruturas de malha e como elas são difíceis de trabalhar em configurações de aprendizado de máquina devido à falta de técnicas para trabalhar com gráficos. A palestra então apresenta os voxels como uma estrutura espacial 3D discreta composta de pequenos cubos ou "Legos" que podem representar objetos de forma binária ou translúcida. No entanto, usar voxels em altas resoluções pode ser proibitivo devido à complexidade computacional. A palestra termina apresentando campos de radiância, uma função que gera cores RGB e densidade em coordenadas XYZ específicas, como uma solução para representar detalhes de alta frequência em objetos 3D.

  • 00:15:00 Nesta seção, o palestrante discute diferentes representações 3D, incluindo nuvens de pontos, malhas, voxels e campos de radiância. Cada tipo tem seus prós e contras, e é essencial escolher a representação certa para uma determinada tarefa. Depois de discutir as representações 3D, a palestra passa para raycasting e os dois tipos de raycasting: para frente e para trás. Forward raycasting é útil para renderizar nuvens de pontos, pois nos permite ver todos os pontos da cena. Por outro lado, o raycasting para trás é mais adequado para renderizar malhas ou grades de voxels, pois nos permite ver a superfície que intercepta o raio primeiro.

  • 00:20:00 Nesta seção do vídeo, o palestrante discute o processo de colorir e renderizar imagens para diferentes objetos que se cruzam. Isso é feito calculando três interseções de triângulos para cada array, o que pode ser eficiente. Se os objetos forem translúcidos, o processo envolve considerar não apenas a cor do primeiro ponto de interseção, mas também a densidade do primeiro e do segundo ponto. Para regiões sem superfícies, como fumaça, a amostragem de raios é usada para amostrar diferentes pontos na reta e usar o campo de radiância para criar uma função que gera RGB e D, para cada ponto. Esses conjuntos de cores e densidades são então agregados usando renderização volumétrica para criar um volume de pixel.

  • 00:25:00 Nesta seção, o palestrante discute a renderização diferenciável e suas limitações. Embora tudo discutido na renderização seja diferenciável, só é diferenciável para as superfícies visíveis que vemos na imagem renderizada. Os campos de radiância resolvem um problema com isso, pois cada ponto amostrado terá um impacto na cor final e, portanto, terá algum gradiente de saída. O palestrante também menciona que os Campos de Radiância já existem há algum tempo e funcionam como uma forma de criar uma função para cada ponto XYZ com uma densidade e cor física. Em seguida, o palestrante discutirá a modelagem f como uma rede neural para tornar os Campos de Radiância apreensíveis.

  • 00:30:00 Nesta seção, o palestrante menciona brevemente um atraso no dever de Transformers em uma semana, mas não fornece nenhum contexto ou explicação.
 

CS 198-126: Aula 18 - Pesquisa de Visão 3-D, Parte 2



CS 198-126: Aula 18 - Pesquisa de Visão 3-D, Parte 2

Nesta palestra sobre visão 3D, o instrutor discute campos de radiância, especificamente Neural Radiance Fields (NeRFs), que ocupam uma posição no espaço e produzem cor e densidade. O palestrante explica o processo de renderização, que envolve a consulta da perspectiva da câmera e o uso da função de caixa preta para descobrir como será a imagem. As palestras discutem os desafios na representação de perspectivas consistentes de objetos em visão 3D e o uso de MLPs para obter os dados XYZ de um objeto e visualizar a direção para densidade de saída e informações RGB. A palestra também aborda os desafios da renderização volumétrica e o uso de derivados Nerf para melhorar a visão computacional. O instrutor termina demonstrando o uso da contração do espaço para gerar imagens 3D realistas usando uma rede neural.

  • 00:00:00 Nesta seção da palestra, os instrutores discutem campos de radiância, especificamente NeRFs (Neural Radiance Fields), que ocupam uma posição no espaço e produzem cor e densidade. O processo de renderização envolve a consulta da perspectiva da câmera e o uso da função de caixa preta para descobrir como será a aparência da imagem. A cor é uma média ponderada de todas as amostras, e a visibilidade é proporcional à densidade e inversamente proporcional à quantidade de objetos na frente da câmera. Os instrutores dão exemplos para explicar a intuição por trás dos campos de radiância, incluindo como o objeto mais próximo da câmera contribui mais para a cor e o efeito da densidade no peso.

  • 00:05:00 Nesta seção, o palestrante explica como criar um campo de radiância neural para gerar novas visualizações de um objeto com base em várias imagens desse objeto. O objetivo é criar um campo de radiância neural que possa ser consultado em pontos da cena para criar novas imagens. No entanto, obter as posições de tropas terrestres e as direções necessárias para isso pode ser uma tarefa difícil e demorada. Existem programas disponíveis que podem ajudar nesse processo, mas o palestrante observa que pode ser considerado trapaça confiar apenas nessas ferramentas.

  • 00:10:00 Nesta seção, o palestrante discute o uso da visão 3D para gerar novas visualizações de uma cena. Eles explicam que aprender um campo de radiância neural permite consistência de forma em diferentes visualizações, o que é importante para renderizar novas visualizações de um objeto com aprendizado profundo. Sem esse gargalo, é difícil garantir a consistência, como mostrado em um exemplo com StyleGAN que produziu formas inconsistentes em diferentes visualizações. O palestrante argumenta que aprender uma representação 3D de um objeto é necessário para gerar novas visualizações do objeto com forma consistente.

  • 00:15:00 Nesta seção, o palestrante discute os desafios na representação de perspectivas consistentes de objetos em visão 3D. O uso de Radiance Fields é explicado como uma forma de representar detalhes finos na aparência do objeto, como brilho e reflexos de diferentes ângulos, que seriam difíceis de capturar de outra forma. O palestrante detalha como esse processo envolve a tomada de posição e visualização de dados de direção para criar uma representação mais precisa do objeto que está sendo observado. O conceito de usar MLPs de densidade e cor para representar os vários aspectos do objeto também é explicado.

  • 00:20:00 Nesta seção, o palestrante discute o uso de MLPs (redes neurais densas) para obter os dados XYZ de um objeto e sua direção de exibição para densidade de saída e informações RGB. A rede usa codificação posicional para criar limites de decisão nítidos, o que melhora a nitidez da imagem que está sendo recriada. O uso de representação binária e portas lógicas permite mudanças nítidas e detalhes de alta frequência na imagem recriada. O palestrante observa que eles podem fornecer uma explicação mais aprofundada da codificação posicional, se necessário.

  • 00:25:00 Nesta seção, o palestrante entra em mais detalhes sobre os diferentes aspectos da implementação de um modelo Nerf (campos de radiância neural) para visão 3D, incluindo o uso de codificação posicional para limites nítidos e dependência de visualização para efeitos como brilho e reflexão. O palestrante também discute a otimização do processo de amostragem em duas rodadas e o uso de um MLP separado para aprender os detalhes mais sutis das bordas. Além disso, o palestrante explica a função de perda usada para treinar a rede, que envolve comparar os valores RGB das imagens de verdade e renderizar um número limitado de raios devido às limitações da GPU. Não há perda direta de densidade, mas a rede ainda aprende a densidade correta por meio da relação indireta entre densidade e correção de cores.

  • 00:30:00 Nesta seção da palestra, o palestrante fala sobre o processo de renderização volumétrica e como ele requer cor e densidade corretas para produzir previsões precisas. O palestrante explica que a utilização de câmeras suficientes permite a triangulação de diferentes pontos no objeto e a maneira mais fácil de a rede produzir baixa perda é gerando a cor correta e alta densidade para o ponto de interseção. O palestrante também mostra um projeto no qual está trabalhando que usa scripts de pré-processamento e uma biblioteca chamada nerfacto para treinamento de renderização em tempo real. O palestrante observa que o pré-processamento é difícil e às vezes pode resultar em direções incorretas.

  • 00:35:00 Nesta seção, o palestrante discute a visão 3D e os desafios associados à captura de imagens em todas as direções. O vídeo se concentra no uso de derivados Nerf para melhorar a visão computacional e como essa técnica pode ser usada para contrair o espaço ao redor de uma cena, tornando mais fácil para a rede aprender bons valores. O palestrante explica que a caixa delimitadora ao redor da imagem ajuda a restringir o espaço, de modo que a rede só recebe valores entre -1 e 1. O vídeo ilustra como funciona a contração do espaço com uma fórmula que pega um ponto no espaço e o mapeia em uma bola unitária, tornando o ponto e os valores da cena mais fáceis para a rede aprender.

  • 00:40:00 Nesta seção do vídeo, o palestrante demonstra o uso da contração do espaço para gerar imagens 3D realistas usando uma rede neural. Ele mostra a imagem de uma Campanilla e explica que a rede piora progressivamente quando atinge o limite dos dados de treinamento. O palestrante também menciona alguns avanços na geração de imagens 3D que levam segundos em vez de dias. Embora não tenha tido tempo suficiente para discutir por que a função de densidade pode ser aprendida, ele se ofereceu para discutir com o público após a palestra.
 

CS 198-126: Aula 19 - Pré-treinamento de Visão Avançada



CS 198-126: Aula 19 - Pré-treinamento de Visão Avançada

Este vídeo aborda várias técnicas usadas para pré-treinamento auto-supervisionado em visão avançada, incluindo aprendizado contrastivo, codificadores automáticos de redução de ruído, codificadores de contexto e a rede Mae. O palestrante fornece uma visão geral de cada método, discutindo seus pontos fortes e fracos, e destaca os benefícios de combinar perdas de contraste e reconstrução no método BYOL, que supera ambos individualmente. O vídeo fornece informações úteis sobre as últimas tendências de pesquisa em aprendizagem autossupervisionada e seu potencial para melhorar o desempenho dos modelos de visão computacional.

  • 00:00:00 Nesta seção, o instrutor apresenta o conceito de aprendizado autossupervisionado (SSL), que é um ramo do aprendizado não supervisionado que cria rótulos a partir de conjuntos de dados sem nenhum rótulo associado a eles. Essa abordagem é útil ao trabalhar com pequenos conjuntos de dados ou ao pré-treinar modelos em conjuntos de dados grandes e diversos para extrair representações que podem ser transferidas para tarefas downstream. O instrutor também fornece uma analogia de John McCune para explicar como o SSL fornece mais supervisão do que aprendizado não supervisionado e menos do que aprendizado supervisionado, tornando-o uma abordagem valiosa para várias tarefas em visão computacional.

  • 00:05:00 Nesta seção, o conceito de aprendizado não supervisionado como base para a inteligência foi introduzido no contexto da visão computacional. O aprendizado autossupervisionado foi discutido como uma forma de criar rótulos do zero como a principal forma de aprendizado, enquanto o aprendizado supervisionado e o aprendizado por reforço foram apenas pequenas partes do processo. O conceito de aprendizado contrastivo foi introduzido como uma abordagem popular não supervisionada que se concentra na similaridade como uma meta de otimização, e o objetivo da função de perda foi explicado como empurrar a incorporação para a amostra positiva o mais próximo possível da incorporação para a entrada, enquanto empurrando simultaneamente a incorporação para a amostra negativa mais longe da incorporação de entrada.

  • 00:10:00 Nesta seção, o vídeo explica o conceito de perda triplet usado para treinar redes de reconhecimento facial e como pode ser melhorado usando uma função de perda contrastiva. A função de perda contrastiva aborda o problema de empurrar a entrada para longe de todas as amostras negativas possíveis, o que não é viável devido ao grande número de amostras negativas. A implementação dessa função de perda é semelhante a um problema de classificação, em que a amostra positiva serve como rótulo correto e todas as amostras negativas servem como rótulos incorretos. O vídeo então apresenta o algoritmo MOCO, que define o aprendizado contrastivo como uma receita de dicionário diferenciável, permitindo a coleta de todos os períodos e consultas em um só lugar.

  • 00:15:00 Nesta seção, o apresentador explica o processo de aprendizado contrastivo e como definir similaridade por meio de redes neurais. O autor define o que significa similar e destaca que está sendo passado pela mesma amostra usando a mesma rede, conhecido como discriminação de instância. Para criar uma boa representação para tarefas downstream, a chave e a consulta vêm da mesma rede, portanto, usar várias redes não é muito útil e, em vez disso, é necessário um grande conjunto de negativos para incentivar representações melhores. No entanto, pode ser computacionalmente desafiador e impraticável escolher um único positivo de um enorme conjunto de negativos, o que limita o tamanho do lote. O apresentador então discute uma ideia de pré-computar todas as chaves e consultas de um único modelo.

  • 00:20:00 Nesta seção da palestra, o palestrante discute a ideia de pré-computar embeddings e armazená-los em uma fila enquanto treina um modelo em uma única rede que é atualizada com o tempo. Essa abordagem ajuda a manter a consistência ao longo do tempo e evita o armazenamento de incorporações muito antigas no processo de treinamento. No entanto, esse método resolve apenas o problema de computar embeddings na passagem direta, não na passagem reversa. O palestrante sugere atualizar o codificador de chave com uma média móvel das taxas de consulta e dos codificadores de chave para evitar alterar os pesos do codificador de chave muito rapidamente, mantendo a consistência.

  • 00:25:00 Nesta seção do vídeo, o apresentador discute os modelos Moco e SimCLR, que são métodos de aprendizado contrastivo para produzir boas representações de imagens sem rótulos. O modelo Moco envolve codificadores-chave que são atualizados ao longo do tempo à medida que o treinamento progride para produzir boas representações, que podem ser usadas para tarefas posteriores. O modelo SimCLR simplifica esse processo usando um único codificador e passando as incorporações por um pequeno MLP para produzir resultados ainda melhores. Esse método elimina a necessidade de manter médias móveis ou redes diferentes e tornou-se um método popular de aprendizagem contrastiva na pesquisa de aprendizagem profunda.

  • 00:30:00 Nesta seção, aprendemos sobre o modelo SimCLR, um método auto-supervisionado para treinar representações de imagens. O modelo usa perda contrastiva e escalonamento de temperatura para calcular embeddings e introduz a noção de similaridade de que a mesma imagem é semelhante e as diferentes não são. As técnicas de aumento de dados usadas no modelo são mostradas e, surpreendentemente, os aumentos baseados em cores produzem os melhores resultados. Sessões de treinamento mais longas e lotes maiores também apresentam melhores resultados. O SimCLR foi o primeiro método de modelo que superou uma linha de base totalmente supervisionada na classificação de imagens e obtém os melhores resultados quando ajustado com apenas 1% e 10% dos rótulos ImageNet.

  • 00:35:00 Nesta seção, o método byol para visão avançada pré-treinamento é abordado. O método envolve a aplicação de diferentes aumentos de dados a uma imagem de entrada, gerando diferentes visualizações, passando-as por redes codificadoras e obtendo as representações delas, que são então projetadas em uma pequena rede para obter a projeção C e C prime. O método não é estritamente um método de aprendizado contrastivo como simclr, mas sim uma combinação de elementos de simclr e moco em uma única função objetiva. A abordagem utiliza bootstrap, mantendo duas redes diferentes e ajustando um modelo com base em métricas estimadas de outro, em vez de usar métricas verdadeiras do conjunto de dados.

  • 00:40:00 Nesta seção, aprendemos sobre Deep Key Learning em heavy, que é o mesmo que acontece no Deep Free Learning. Essa abordagem foi a inspiração para BYOL, onde a segunda rede conduz a supervisão da primeira rede e vice-versa. Usando esse processo de inicialização, a rede aprende mais representações para construir representações e, como não é um aprendizado contrastivo, é robusta a mudanças no tamanho do lote e nos tipos de organização. O BYOL funciona bem mesmo com tamanhos de lote menores e supera o MCLR para os mesmos benchmarks. Em seguida, passamos para a segunda classe de métodos, onde a entrada é destruída e temos que reconstruir a imagem original, e esses métodos funcionam bem com uma estrutura baseada em autoencoder. A apresentação apresenta o Denoising Model Encoder, onde o ruído é adicionado a uma imagem, e o objetivo é prever a imagem sem ruído. O Stack Denoising Model Encoder foi muito popular porque funciona muito bem e a rede aprende algo significativo mesmo com imagens destruídas.

  • 00:45:00 Nesta seção, o palestrante discute as dificuldades de treinar redes neurais no passado e como os autoencoders de redução de ruído (DAE) foram usados como uma solução alternativa. A palestra então passa para o conceito de mascarar partes de uma imagem para prever a região oculta, que é chamada de codificador de contexto. O método, introduzido em 2016 no laboratório de Berkeley, conseguiu bons resultados na detecção e segmentação, mas não na classificação. O palestrante analisa a implementação do codificador de contexto e como a adição de um discriminador à função objetivo levou a melhores representações.

  • 00:50:00 Nesta seção, a rede Mae é discutida, que usa um backbone Transformer, em contraste com os backbones CNN utilizados em outros métodos. A rede substitui por um vit e usa o mesmo objetivo de um decodificador de contexto, mascarando patches de uma imagem e passando a região sem máscara para um codificador. As incorporações codificadas são então passadas para um decodificador com o objetivo de reconstruir a imagem original. Esse processo aprende recursos significativos nesse formato, e a rede é ilustrada com vários exemplos do artigo de Mae. O token de classe, que captura informações sobre toda a sequência, pode ser usado para classificação.

  • 00:55:00 concentra-se no pré-treinamento auto-supervisionado usando a mistura de aprendizagem contrastiva e reconstrução baseada em autoencoder, e supera ambas as estratégias individualmente. Eles combinam os métodos usando uma nova função de perda que equilibra entre as perdas de contraste e de reconstrução. É uma abordagem promissora que demonstra o potencial para melhorar o desempenho de métodos autossupervisionados, e é uma área de pesquisa atual entender as razões subjacentes a esses resultados.

  • 01:00:00 Nesta seção, o palestrante discute o recém-lançado MasS - um modelo que combina reconstrução de imagem e aprendizado contrastivo ao mesmo tempo por meio de um único modelo. O MasS gera duas visualizações da mesma imagem, mascara as duas visualizações diferentes e adiciona ruído a elas, combinando assim o objetivo de remoção de ruído. A função de perda que o MasS usa é uma melhor combinação dos pontos finais, a perda de reconstrução e a perda de redução de ruído, resultando em melhor desempenho do que os modelos anteriores. O palestrante observa que existem muitos outros modelos na área de aprendizagem de representação que funcionam bem e que o campo está atualmente quente para pesquisa.