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

 

Aula 22. Descida Gradiente: Descida ao Mínimo



22. Descida Gradiente: Descida ao Mínimo

No vídeo, "Gradient Descent: Downhill to a Minimum", o palestrante discute a importância da descida do gradiente na otimização e aprendizado profundo, onde o objetivo é minimizar uma função. O palestrante apresenta o gradiente e o Hessian e ilustra as etapas de descida mais íngreme usando uma função quadrática. O palestrante também discute como interpretar o gradiente e o Hessian, bem como seu papel na medição da convexidade. O palestrante se aprofunda na escolha da taxa de aprendizado apropriada, enfatizando a importância do número de condição no controle da velocidade de convergência. O vídeo também fornece exemplos práticos e fórmulas para ajudar a entender o conceito de gradiente descendente, incluindo o método da bola pesada.

  • 00:00:00 Nesta seção, o palestrante discute a descida do gradiente como o algoritmo central em redes neurais, aprendizado profundo, aprendizado de máquina e otimização em geral. O objetivo é minimizar uma função e, se houver muitas variáveis para calcular as segundas derivadas, o foco estará nas primeiras derivadas da função. O palestrante introduz a ideia de gradiente e Hessian, e o papel da convexidade antes de mergulhar em um exemplo crucial de uma função quadrática pura com duas incógnitas. Por meio do exemplo, o locutor demonstra os degraus de descida mais íngreme e a rapidez com que convergem para a resposta, que é o ponto mínimo. O palestrante também explica a importância do número de condição na velocidade de convergência e como interpretar e calcular o gradiente de uma função.

  • 00:05:00 Nesta seção, o palestrante explica como interpretar o gradiente e o Hessian de uma superfície. Usando o exemplo de uma superfície onde o gradiente é constante e o Hessian contém apenas segundas derivadas de zero, o palestrante ilustra como visualizar a superfície e interpretar o gradiente e o Hessian em termos de subida ou descida mais íngreme e conjuntos de nível. O palestrante enfatiza que a matriz hessiana de segundas derivadas nos informa sobre a forma de uma superfície e a rapidez com que ela muda em diferentes direções.

  • 00:10:00 Nesta seção, o conceito de Hessian é apresentado como uma ferramenta para medir a convexidade de uma função. O Hessian de uma função nos diz se uma superfície é convexa ou não, com Hessians positivos semidefinidos ou positivos definidos indicando convexidade. Uma função linear é convexa, mas não estritamente convexa, enquanto uma função estritamente convexa se curvaria para cima. É dado um exemplo de uma função estritamente convexa, ou seja, 1/2 x transposto x, que tem um valor mínimo quando o gradiente é metade de sx ao quadrado.

  • 00:15:00 Nesta seção, o palestrante discute o conceito de encontrar o valor mínimo de uma função quadrática usando gradiente descendente. O mínimo é alcançado em um ponto onde o gradiente é zero, e este ponto é denotado como argh men. O palestrante enfatiza que isso é diferente do valor mínimo real da função e que o foco geralmente é encontrar o ponto em que o mínimo é alcançado, e não o próprio valor mínimo. Neste exemplo particular, o valor mínimo é zero devido à falta de um termo linear.

  • 00:20:00 Nesta seção, o palestrante discute a questão fundamental de minimização de encontrar o mínimo de uma função quadrática. A função passa por zero e chega ao fundo em um determinado ponto e, ao inserir esse ponto, podemos determinar seu nível mais baixo. O palestrante menciona uma notável função convexa e observa que a convexidade é o que realmente faz as coisas funcionarem. Esta função é uma função de uma matriz e contém N variáveis ao quadrado.

  • 00:25:00 Nesta seção, o palestrante discute uma função convexa obtida tomando o determinante de uma matriz, seguido de seu logaritmo com um sinal negativo. A função resultante é convexa e, para uma determinada matriz, as derivadas parciais funcionam como as entradas da inversa dessa matriz. O orador então se aprofunda na derivada do determinante de uma matriz em relação às suas entradas, enfatizando a importância de calcular essas derivadas em algoritmos de gradiente descendente.

  • 00:30:00 Nesta seção, o palestrante explica o determinante e sua propriedade fundamental, que afirma que é linear na linha 1. Ele também entra na fórmula para a expansão do cofator de um determinante e a conecta ao fato de que o gradiente é as entradas de X inverso. O falante então introduz a descida do gradiente e fornece sua fórmula, que envolve o tamanho do passo e o gradiente de s em X. A única entrada que resta para a tomada de decisão é o tamanho do passo.

  • 00:35:00 Nesta seção, o instrutor discute a importância de escolher a taxa de aprendizado apropriada na descida do gradiente. Se a taxa de aprendizado for muito grande, a função oscilará e será difícil de otimizar. Por outro lado, se a taxa de aprendizado for muito pequena, o algoritmo levará muito tempo para convergir. Uma maneira de escolher a taxa de aprendizado ideal é por meio de uma pesquisa de linha exata, mas isso pode consumir muito tempo para problemas grandes. Em vez disso, as pessoas normalmente estimam uma taxa de aprendizado adequada e a ajustam conforme necessário por meio de pesquisa de linha de retrocesso. O instrutor enfatiza a importância do número de condição no controle da velocidade de convergência e questiona quanto uma busca de linha exata reduziria a função.

  • 00:40:00 Nesta seção, o palestrante discute um exemplo para entender melhor a descida do gradiente. Uma função particular é introduzida onde as respostas exatas são conhecidas, permitindo que comparações sejam feitas. Começando em um ponto na superfície dessa função, o locutor aplica a fórmula de descida do gradiente e calcula as iterações para essa função específica. O palestrante então apresenta uma bela fórmula que será tomada como o melhor exemplo possível para ajudar a entender a descida do gradiente.

  • 00:45:00 Nesta seção, o palestrante discute como a razão (1-B)/(1+B) é crucial para determinar a velocidade de convergência durante a descida do gradiente. Se B for próximo de zero, a razão é próxima de um, o que leva a uma convergência lenta, e se B for próximo de um, a razão é próxima de zero, o que leva a uma convergência rápida. O palestrante usa o exemplo de conjuntos de níveis e elipses para explicar como o vale estreito pode causar convergência lenta ao se aproximar do mínimo. O palestrante enfatiza a importância de um bom número de condição para otimização.

  • 00:50:00 Nesta seção, o palestrante discute como a descida do gradiente se aproxima de uma curva com uma trajetória em zigue-zague para eventualmente atingir um ponto específico. Ele enfatiza que o multiplicador 1 - B/ (1 + B) desempenha um papel crítico e, para uma função convexa, essa quantidade é crucial para determinar a convergência da descida mais íngreme. A próxima palestra discutirá o momento ou bola pesada, que envolve a adição de um termo extra que permite que o movimento acelere em vez de apenas direcioná-lo pela descida mais íngreme em todos os pontos. A ideia é deixar que o impulso de uma bola pesada assuma o controle e role para baixo, semelhante ao que aconteceria na vida real.
 

Aula 23. Acelerando a Descida do Gradiente (Use Momentum)



23. Acelerando a Descida do Gradiente (Usar Momentum)

Este vídeo discute o conceito de momento na aceleração do gradiente descendente. O apresentador explica a fórmula básica de descida do gradiente e mostra como a adição de impulso pode resultar em uma descida mais rápida do que o método comum, resultando em melhorias significativas. Eles também discutem um modelo contínuo de descida mais íngreme e explicam como ele pode ser analisado como uma equação diferencial de segunda ordem com um termo de momento. O apresentador enfatiza a importância de minimizar ambos os autovalores ao usar o momento para minimizar o maior autovalor, escolhendo valores para s e beta para tornar os autovalores da matriz os menores possíveis. Eles também discutem o método de Nesterov e sugerem que pode ser possível obter mais melhorias voltando duas ou três etapas ou mais.

  • 00:00:00 Nesta seção, o palestrante discute a fórmula básica de descida do gradiente, onde o novo ponto é o ponto antigo menos o tamanho do passo vezes o gradiente negativo em XK, que é a direção da descida. Adicionar impulso para evitar ziguezagues na descida do gradiente resulta em uma descida mais rápida do que no método comum. Existe também uma alternativa ao momento que acelera a descida, desenvolvida por um matemático russo chamado Nestoroff. Para problemas de aprendizado de máquina com centenas de milhares de variáveis, é usada a descida de gradiente estocástico, onde um mini-lote de dados de treinamento é escolhido aleatoriamente ou sistematicamente para fazer um lote de amostras de treinamento a cada etapa.

  • 00:05:00 Nesta seção, o palestrante discute a descida da direção mais íngreme e os conjuntos de nível para um problema de modelo com uma função de X e Y ao quadrado igualando uma constante, formando elipses. Eles explicam que o ponto de parada ideal é onde você é tangente ao ponto mais distante na elipse de nível definido e começa a subir novamente. O palestrante introduz o termo de momento para melhorar a fórmula de descida mais íngreme e rastreia sua descida com um padrão em zigue-zague, mostrando melhora no valor dos autovetores. O palestrante conclui que a expressão com momentum é um milagre e traz melhorias significativas.

  • 00:10:00 Nesta seção do vídeo, o palestrante discute o uso do momento na aceleração da descida do gradiente. O termo de decaimento no momento informa a rapidez com que o decaimento é menor e, com o momento, esse termo de 1 menos B sobre 1 mais B muda para um menos raiz quadrada de B sobre 1 mais raiz quadrada de B. O palestrante usa o exemplo de B sendo 1 sobre 100, e o novo X é o antigo X menos o gradiente com um termo extra que nos dá um pouco de memória. Este termo envolve tomar uma nova quantidade Z com um tamanho de passo e, em vez de tomar Z como apenas o gradiente, que seria a descida mais íngreme, o falante adiciona um beta múltiplo do Z anterior, que é a direção de busca.

  • 00:15:00 Nesta seção, o palestrante discute o conceito de momento na aceleração do gradiente descendente. Em vez de usar um ponto para representar a função, o falante sugere o uso de uma bola pesada que se move mais rapidamente no vale da função de custo. Isso é obtido envolvendo a etapa anterior nos cálculos, resultando em um método de três níveis em vez de um método de dois níveis. O palestrante então relaciona isso a um modelo contínuo de descida mais íngreme e explica como ele pode ser analisado como uma equação diferencial de segunda ordem com um termo de momento. Eles então mostram como escrever isso como um sistema de duas equações de primeira ordem, que podem ser usadas para criar um algoritmo de descida de gradiente mais eficiente e rápido.

  • 00:20:00 Nesta seção, o palestrante discute como analisar o que acontece quando k avança no algoritmo de descida de gradiente acelerado. Eles explicam que, a cada passo, há um problema de coeficiente constante, pois a variável XZ é multiplicada por uma matriz. O palestrante também menciona que, para rastrear cada autovetor de s, eles seguem cada autovalor, o que lhes permite reescrever a fórmula em termos de escalares em vez de vetores.

  • 00:25:00 Nesta seção, o palestrante discute como rastrear um autovetor e usá-lo para tornar todo o problema escalar. Ao escolher o tamanho do passo e o coeficiente de momento, eles podem criar uma matriz que pode multiplicar os coeficientes do autovetor em cada passo para atualizá-lo. Ao tornar s e beta os menores possíveis, eles podem garantir que o algoritmo minimize a função de perda em todo o intervalo de lambdas possíveis. O objetivo é escolher esses valores para tornar o processo o mais eficiente possível.

  • 00:30:00 Nesta seção, o palestrante explica o conceito do número de condição, que é a razão entre o maior autovalor e o menor autovalor de uma matriz definida positiva simétrica. Um número de condição mais alto significa um problema mais difícil e um menor significa um problema mais fácil. O palestrante explica como usar o momento para acelerar a descida do gradiente e minimizar o maior valor próprio, escolhendo valores para s e beta para tornar os valores próprios da matriz os menores possíveis. O palestrante enfatiza que é essencial minimizar ambos os autovalores, pois ter um autovalor pequeno, mas um grande pode ser mortal.

  • 00:35:00 Nesta seção do vídeo, o palestrante discute um problema de encontrar os parâmetros ideais s e beta para uma matriz dois por dois, com base nos autovalores dependentes de lambda, m e capya. O objetivo é escolher parâmetros que resultem no menor autovalor maior possível, o que levará a uma convergência mais rápida. O palestrante apresenta a fórmula para o s e beta ótimos, que dependem da razão entre o m pequeno e o M grande, e explica como calcular o autovalor mínimo resultante com base nessa fórmula. Por fim, o palestrante conclui que essa escolha ótima de s e beta resulta em autovalores menores que um determinado número, levando a uma convergência mais rápida.

  • 00:40:00 Nesta seção, o palestrante fala sobre como usar o impulso para melhorar a taxa de convergência no aprendizado de máquina. Eles mencionam o método de Nesterov para usar uma ideia ligeiramente diferente que envolve o valor de tempo anterior e avaliar o gradiente em um ponto diferente. O palestrante observa que existem métodos muito populares em uso agora para aprendizado de máquina que envolvem uma fórmula simples para adicionar os valores anteriores, como ADA grad. Eles também sugerem que pode ser possível obter melhorias adicionais voltando dois ou três passos ou mais, como é feito nas fórmulas de diferenças retrógradas usadas no software MATLAB e em cálculos planetários.

  • 00:45:00 Nesta seção, o apresentador fala sobre o termo de momento e Nesterov, que envolve a avaliação do gradiente em um ponto entre XK e XK menos 1. O ponto de avaliação para o gradiente de F está em algum ponto não inteiro, o que é inesperado e estranho porque não é um ponto de malha. Isso envolve XK mais 1, XK e XK menos 1, então é um método de segunda ordem. Para analisá-lo, segue-se o processo de escrevê-lo como duas etapas de primeira ordem para otimizar os coeficientes em Nesterov. Esse processo envolve escrevê-lo como um sistema acoplado de uma etapa que possui uma matriz, encontrar a matriz, encontrar os autovalores da matriz e tornar esses autovalores os menores possíveis.
 

Aula 24. Programação Linear e Jogos de Duas Pessoas



24. Programação linear e jogos de duas pessoas

Este vídeo do YouTube aborda o tópico de programação linear e jogos para duas pessoas. A programação linear é o processo de otimização de uma função de custo linear sujeita a um conjunto de restrições lineares e é usada em campos como economia e engenharia. O vídeo explica os algoritmos usados na programação linear, incluindo o método simplex e os métodos de pontos interiores, e o conceito de dualidade, onde o problema primal e seu problema dual estão intimamente conectados e podem ser resolvidos usando o método simplex. O vídeo também aborda como a programação linear pode ser aplicada a jogos de duas pessoas, incluindo o processo de encontrar um limite superior no fluxo máximo em uma rede e resolver um jogo com uma matriz. Por fim, o vídeo discute brevemente as limitações da aplicação dessas técnicas a jogos de três ou mais pessoas e menciona que a próxima palestra abordará a descida de gradiente estocástico.

  • 00:00:00 Nesta seção, o palestrante apresenta o tópico de programação linear como parte da otimização e explica o que é e como funciona. Ele define a programação linear como o processo de otimização de uma função de custo linear sujeita a um conjunto de restrições lineares. Ele observa que o vetor de custo e as equações de restrição são lineares. No entanto, quando há restrições envolvidas, o problema não é realmente linear, pois as equações de restrição podem torná-lo mais complexo. Apesar disso, a programação linear é uma parte importante da otimização e é frequentemente usada em áreas como economia e engenharia.

  • 00:05:00 Nesta seção, o palestrante discute programação linear e jogos para duas pessoas. Eles explicam o conceito de conjunto viável X, que é um conjunto de restrições na linguagem de álgebra linear, e fazem uma visualização para mostrar o conceito. Eles usam um exemplo de minimização de uma função com restrições e desigualdades diretas para explicar como um dos três vértices de um triângulo é o vencedor, o que é resolvido encontrando o valor mínimo no ponto em que o plano intercepta o octante. O custo é linear e a solução é um dos três cantos ou quando ocorrem valores iguais ao longo desses cantos. No exemplo dado, três zero zero é o canto vencedor.

  • 00:10:00 Nesta seção, o vídeo explica os dois algoritmos usados na programação linear: método simplex e métodos de pontos interiores. O método simplex viaja ao longo das arestas do conjunto viável para alcançar o canto ótimo, enquanto os métodos de pontos interiores vão dentro do conjunto viável para obter as derivadas e minimizar. O método interior é a ideia mais recente e, embora o algoritmo exato proposto por Karmarkar não tenha sobrevivido, a ideia ainda está sendo usada e pesquisada hoje. Ambos os algoritmos ainda estão travados na competição um com o outro.

  • 00:15:00 Nesta seção, o palestrante discute a programação linear e seus vários tipos, como programação não linear, programação quadrática, programação semidefinida e métodos de pontos interiores. O palestrante introduz a ideia de dualidade, onde um problema dual do problema de programação linear é criado, e o problema primal é transformado em um problema de maximização com custo linear e restrições de desigualdade linear. O palestrante então explica que o problema primal e seu problema dual estão intimamente conectados e podem ser resolvidos usando o método simplex. Além disso, o palestrante apresenta a ideia-chave da dualidade, que afirma que o valor máximo é sempre menor ou igual a qualquer valor permitido viável. Finalmente, o falante dá uma prova de uma linha da desigualdade B transposta Y é menor ou igual a C transposta X.

  • 00:20:00 Nesta seção, o palestrante discute a importância de X maior ou igual a zero na programação linear e seu papel na obtenção de dualidade fraca. O fato de X ser maior ou igual a zero garante que as desigualdades desejadas sejam satisfeitas e que o resultado obtido do sistema esteja correto. O palestrante menciona o conceito de dualidade e como ele se relaciona com a programação linear e jogos de duas pessoas, enfatizando a importância de se atentar ao algoritmo em ambos os casos. O palestrante também fornece um exemplo de corte mínimo igual ao fluxo máximo para demonstrar os conceitos discutidos.

  • 00:25:00 Nesta seção, o palestrante discute o problema da programação linear e jogos de duas pessoas no contexto de maximizar o fluxo através de uma rede com restrições nas capacidades de ponta. Eles explicam que o objetivo é maximizar o fluxo na pia, garantindo que a variável de fluxo não exceda a quantidade de fluxo permitida pelas capacidades das bordas. O problema pode ser resolvido usando programação inteira, mas pode ser relaxado com segurança para permitir variáveis não inteiras. O palestrante fornece exemplos de como resolver esse problema e discute a importância de escolher capacidades de borda apropriadas.

  • 00:30:00 Nesta seção, o palestrante discute programação linear e jogos para duas pessoas. Especificamente, ele explora encontrar um limite superior no fluxo máximo em uma rede, concentrando-se em um corte na rede que separa as arestas que acompanham uma fonte e as que acompanham um destino. A vazão máxima para este exemplo é 14, que corresponde ao corte mínimo. O conceito de dualidade também é introduzido para encontrar um limite superior ao otimizar um problema.

  • 00:35:00 Nesta seção, o palestrante discute programação linear e jogos para duas pessoas. O problema de corte máximo em uma grande rede pode ser resolvido rapidamente com programação linear, embora o corte máximo possa não ser visível com milhares de arestas. O método simplex, que quase sempre tem um caso médio, é polinomial no tempo para resolver. O palestrante também fala sobre a dualidade na programação linear onde nenhum fluxo pode ultrapassar a capacidade do corte. Por fim, o palestrante fala sobre jogos de duas pessoas e uma matriz de recompensas usada para tomar decisões com base em recompensas para minimizar e maximizar os jogadores. O jogo é um jogo de soma zero, o que significa que todo o pagamento de X vai para Y.

  • 00:40:00 Nesta seção, o vídeo discute programação linear e jogos para duas pessoas usando um exemplo em que X quer fazer um número pequeno e Y quer fazer um número grande. Isso resulta em um jogo simples com um ponto de sela onde Y escolhe a coluna dois todas as vezes e X escolhe a linha um todas as vezes. No entanto, quando o exemplo muda e Y aponta para a coluna dois, X tem que escolher uma estratégia mista, pois um ponto de sela não está presente. Y também adota uma estratégia mista, que X acaba descobrindo, levando a uma competição para encontrar a melhor escolha entre 0 e 1.

  • 00:45:00 Nesta seção, o palestrante discute o processo de resolução de um jogo para duas pessoas usando programação linear e fornece um exemplo de resolução de um jogo com uma matriz. A estratégia ótima para Y é 2/3 na primeira coluna e 1/3 na segunda coluna. O melhor q4 para X é determinado dada esta estratégia Y ótima. O palestrante explica que pode haver outras colunas ou linhas para X que não entram no mix para o ideal.

  • 00:50:00 Nesta seção, o palestrante discute as conexões entre programação linear e jogos para duas pessoas. Ele observa a importância do teorema da dualidade e como ele se relaciona com a solução de problemas de otimização, bem como as limitações da aplicação dessas técnicas a jogos de três ou mais pessoas. Ele também relata brevemente a história de John Nash e suas contribuições para o campo, incluindo sua melhora e subsequente morte trágica. Por fim, o palestrante menciona que a próxima palestra abordará a descida de gradiente estocástico.
 

Aula 25. Descida do Gradiente Estocástico



25. Descida do Gradiente Estocástico

Neste vídeo, o conceito de gradiente descendente estocástico (SGD) é apresentado como um método de otimização para resolver problemas de aprendizado de máquina em grande escala, geralmente apresentados na forma de um problema de soma finita. O palestrante explica como o SGD seleciona pontos de dados aleatórios para calcular o gradiente para acelerar o cálculo e como ele se comporta de maneira diferente da descida do gradiente em lote conforme se aproxima do ideal devido à natureza flutuante do método. A principal propriedade do SGD é que a estimativa do gradiente estocástico é uma versão imparcial do verdadeiro gradiente na expectativa e a variação do gradiente estocástico deve ser controlada para reduzir o ruído. O uso de mini-lotes é discutido como um meio de paralelismo barato no treinamento de GPU de aprendizado profundo, mas selecionar o tamanho certo de mini-lote ainda é uma questão em aberto que pode afetar a robustez da solução na presença de dados não vistos. Os desafios na otimização do SGD incluem a determinação do tamanho do minilote e a computação de gradientes estocásticos, mas os pesquisadores estão tentando entender a eficácia do SGD em redes neurais por meio do desenvolvimento de uma teoria de generalização.

  • 00:00:00 Nesta seção, o palestrante apresenta o conceito de descida de gradiente estocástico como um antigo método de otimização que ainda é usado para treinar sistemas de aprendizado de máquina em grande escala. Eles explicam que resolver problemas de otimização é crucial na ciência de dados, e esses problemas costumam ser bem grandes. O palestrante fornece uma implementação de gradiente descendente no MATLAB e mostra que apenas uma linha precisa ser alterada para conduzir todas as caixas de ferramentas de aprendizado profundo e aprendizado de máquina em larga escala. O palestrante então descreve os problemas de otimização no aprendizado de máquina, que envolvem encontrar um x sobre uma função de custo escrita como uma soma. Estes são chamados de problemas de soma finita e são normalmente resolvidos usando métodos de otimização estocástica.

  • 00:05:00 Nesta seção, o palestrante discute o aprendizado de máquina em grande escala, o que significa que tanto o número de pontos de dados de treinamento (n) quanto a dimensionalidade dos vetores (d) podem ser grandes. O n grande pode atingir milhões ou bilhões, e o d grande pode consistir em até um bilhão de recursos. Isso impulsiona muitas pesquisas em métodos de otimização para aprendizado de máquina em larga escala, incluindo a busca por algoritmos de tempo sublinear em estruturas de dados e truques de hash para lidar com esses grandes dados. O palestrante dá exemplos da questão mais clássica em álgebra linear, o problema de regressão de mínimos quadrados e outro método amplamente usado chamado la sol, ambos escritos em termos de perda sobre dados de treinamento com um formato de soma finita. Por fim, o palestrante observa que as redes neurais profundas são outro exemplo desse problema de soma finita com n pontos de dados de treinamento.

  • 00:10:00 Nesta seção, o palestrante discute como os procedimentos de otimização são necessários para resolver os problemas de soma finita que surgem no aprendizado de máquina e nas estatísticas. Isso ocorre porque a maioria dos problemas nesse campo pode ser expressa como um problema de soma finita e são necessários procedimentos de otimização especializados para resolvê-los. O palestrante apresenta o método de gradiente descendente, mas observa que calcular o gradiente de um único ponto em um grande conjunto de dados pode levar horas ou dias, o que é uma grande desvantagem. O palestrante pede sugestões do público para combater essa desvantagem, e algumas ideias apresentadas incluem o uso de gradiente descendente estocástico e a amostragem de um subconjunto do conjunto de dados completo.

  • 00:15:00 Nesta seção, o palestrante discute o conceito de descida de gradiente estocástico, que envolve selecionar aleatoriamente alguns pontos de dados em cada iteração e calcular o gradiente de um único ponto, tornando o processo muito mais rápido. No entanto, o palestrante observa que a questão principal é se essa ideia faz sentido matemático. A descida do gradiente estocástico foi proposta pela primeira vez por Robbins em Monroe em 1951, e é comparada ao método da descida do gradiente. O palestrante observa que a descida do gradiente estocástico é mais sensível aos tamanhos das etapas e mostra uma simulação de um problema de brinquedo para ilustrar como a linha flutua. O método parece ainda progredir em direção ao ótimo, apesar das flutuações.

  • 00:20:00 Nesta seção, o palestrante discute o conceito de Stochastic Gradient Descent (SGD), que calcula o gradiente do ponto de dados escolhido aleatoriamente multiplicado por um valor alfa (tamanho do passo) para se aproximar de uma solução. O processo é muito sensível ao parâmetro de tamanho do passo e é mais sensível que a descida do gradiente. À medida que varia o parâmetro, o locutor observa o andamento da solução e explica o comportamento típico do SGD. Ele explica por que as pessoas adoram o SGD, pois faz um progresso rápido no início em grandes conjuntos de dados e pode-se obter um progresso rápido e sujo, evitando o overfitting. No entanto, quando se aproxima da solução, flutua mais e pode ser difícil encontrar o melhor ótimo devido ao comportamento caótico.

  • 00:25:00 Nesta seção, o palestrante discute como os métodos de gradiente estocástico funcionam em um problema de otimização unidimensional simples onde são usadas funções quadráticas. O objetivo é minimizar essas funções quadráticas, e o palestrante demonstra como usar os gradientes de componentes individuais para fazer isso. Eles explicam que o método funciona bem no começo porque usa o gradiente completo, mas quando chega perto do ótimo, tudo pode acontecer e fica confuso. O palestrante também mostra como encontrar a solução de forma fechada e onde o verdadeiro mínimo pode ser encontrado dentro de um intervalo específico de mínimos e máximos individuais.

  • 00:30:00 Nesta seção, o palestrante explica o comportamento do gradiente descendente estocástico (SGD) quando o escalar X está fora da região de confusão, o que significa que o ponto está muito longe de onde está a solução. Nesse regime distante, um gradiente estocástico de algum componente tem exatamente o mesmo sinal que o gradiente completo, que é a direção a ser percorrida para diminuir a função de perda. O palestrante usa isso para explicar por que o SGD pode fazer um progresso sólido à distância e como pode fornecer uma velocidade inicial incrível, permitindo milhões de etapas estocásticas no tempo que levaria para fazer uma única iteração de descida de gradiente em lote. Uma vez dentro da região de confusão, a descida do gradiente estocástico torna-se menos eficaz na otimização, mas no aprendizado de máquina, as flutuações podem tornar o método mais robusto e melhor para generalização. Os palestrantes observam que essa é uma ideia predominante em aprendizado de máquina, ciência da computação teórica e estatística, onde a aleatoriedade é usada para acelerar o cálculo de quantidades caras.

  • 00:35:00 Nesta seção, o palestrante discute a propriedade chave da descida do gradiente estocástico (SGD). A ideia principal por trás do SGD é usar um gradiente estimado aleatoriamente para economizar na computação. A principal propriedade do SGD é que, na expectativa, a estimativa do gradiente estocástico é uma versão imparcial do verdadeiro gradiente. Além dessa imparcialidade, a quantidade de ruído ou a quantidade de estocasticidade é controlada para que a variância do gradiente estocástico seja reduzida. Quanto menor a variância, melhor será seu gradiente estocástico como substituto do gradiente verdadeiro e mais rápida será a convergência.

  • 00:40:00 Nesta seção, o palestrante discute o método de descida de gradiente estocástico e seu comportamento em problemas convexos e não convexos. O palestrante também menciona duas variantes do método, uma sem restrições onde um vetor aleatório é escolhido e outra com restrições onde um ponto de dados de treinamento é escolhido aleatoriamente com ou sem substituição. O palestrante explica que, embora o método exista desde 1951 e seja amplamente utilizado em kits de ferramentas de aprendizado profundo, ainda existem lacunas entre as aplicações teóricas e práticas. Os kits de ferramentas usam a versão sem substituição, embora a versão que sabemos analisar seja a versão aleatória uniforme, que é um grande problema em aberto no campo do gradiente estocástico. O palestrante também menciona a ideia do mini-batch, que utiliza um lote de pontos para reduzir a variância, resultando em menos ruído.

  • 00:45:00 Nesta seção do vídeo, o palestrante discute o conceito de mini-lotes e como eles são explorados pelas pessoas para fornecer uma versão barata de paralelismo no treinamento de estilo de GPU de aprendizado profundo. Quanto maior o mini-lote, mais coisas podem ser feitas em paralelo. No entanto, há também um enigma em que o uso de mini-lotes muito grandes implica que o gradiente estocástico começa a se parecer mais com a descida do gradiente do lote, o que diminui o ruído a um ponto em que a região de confusão diminui demais. Isso é prejudicial ao aprendizado de máquina, pois pode causar overfitting da rede neural, dificultando a previsão de dados não vistos. Portanto, selecionar o tamanho correto do mini-lote ainda é uma questão em aberto no processo de otimização das redes neurais profundas.

  • 00:50:00 Nesta seção, o palestrante discute os desafios associados à otimização do gradiente descendente estocástico (SGD), incluindo a determinação de qual minilote usar e como calcular gradientes estocásticos. O algoritmo de retropropagação é apresentado como um método popular de calcular um único gradiente estocástico, e os kits de ferramentas de aprendizado de máquina podem ter diferentes maneiras de automatizar o cálculo de um gradiente. São discutidos os desafios teóricos para provar a eficácia do SGD, incluindo a questão de por que o SGD funciona tão bem para redes neurais, apesar de suas supostas qualidades abaixo do ideal. Atualmente, os pesquisadores estão tentando entender esse mistério por meio do desenvolvimento de uma teoria da generalização.
 

Aula 26. Estrutura de Redes Neurais para Deep Learning



26. Estrutura de Redes Neurais para Deep Learning

Este vídeo discute a estrutura de redes neurais para aprendizado profundo. O objetivo é classificar os dados de maneira binária construindo uma rede neural com vetores de recursos que possuem m recursos, criando uma função de aprendizado que pode classificar os dados em uma das duas categorias. A não linearidade é essencial na criação dessas funções, pois os classificadores lineares são incapazes de separar dados não lineares. O vídeo também discute a importância do número de pesos e camadas na rede neural e fornece recursos como o playground TensorFlow para os usuários praticarem a criação de funções. Por fim, o vídeo discute a recursão usada para provar a fórmula do número de pedaços planos obtidos ao cortar um bolo e como ela se relaciona com o problema de otimização de minimizar a perda total no aprendizado profundo.

  • 00:00:00 Nesta seção, o professor apresenta a estrutura central das redes neurais profundas, que é a construção da função de aprendizado f que aprende os dados de treinamento e pode ser aplicada aos dados de teste. O objetivo é classificar os dados de forma binária construindo uma rede neural com vetores de características que possuem m características. A rede criará uma função de aprendizado que pode classificar os dados em uma de duas categorias, como menino ou menina, gato ou cachorro, caminhão ou carro. O professor também menciona que essa estrutura está disponível no site do mascote mit.edu/learning from data há meses e será adicionada à plataforma Stellar.

  • 00:05:00 Nesta seção, o palestrante explica como criar uma função f de X que retorna a resposta correta para a classificação de duas classes. O palestrante afirma que a função deve ser negativa para classificação menos um e positiva para classificação mais um. No entanto, o palestrante reconhece que não precisamos acertar todas as amostras, pois pode ocorrer overfitting, e a regra que descobrimos deve abranger quase todos os casos, mas não todos os casos "estranhos". O palestrante recomenda visitar o site playground.tensorflow.org, onde um problema de modelo simples pode ajudar as pessoas a aprender sobre aprendizagem profunda. O playground oferece quatro exemplos, e um deles envolve encontrar uma função que seja positiva em alguns pontos e negativa em outros pontos.

  • 00:10:00 Nesta seção, o palestrante discute a importância da não linearidade em redes neurais, apontando que se fossem usados classificadores lineares como máquinas de vetores de suporte, não seria possível criar alguma função não linear que pudesse separar os dados. Ele então mostra um exemplo de um problema de classificação 2D com uma espiral onde o sistema está tentando encontrar uma função que seja positiva em uma espiral e negativa na outra espiral, e isso leva um pouco de tempo, muitas épocas. O palestrante também explica o que é uma época e menciona a diferença entre mini-lotes com reposição e mini-lotes sem reposição na descida do gradiente estocástico.

  • 00:15:00 Nesta seção, o palestrante discute um site chamado TensorFlow's playground, que permite aos usuários criar uma função f de X usando uma função não linear. O site plota o conjunto zero para a função, que separa os conjuntos positivos e negativos, com o zero no meio. O site permite que os usuários decidam o número de camadas e neurônios em cada camada, pois são essenciais para encontrar uma função f que aprenda os dados. O palestrante também observa a importância das funções lineares nesse processo e solicita recomendações de bons sites de redes neurais convolucionais para praticar. A função f tem a forma de um vetor de X com cinco componentes, camada um com seis neurônios e uma camada de saída de um número.

  • 00:20:00 Nesta seção, o palestrante discute a estrutura de redes neurais para aprendizado profundo. Eles começam explicando a estrutura básica de uma rede neural, que envolve uma matriz de pesos para calcular a saída Y. No entanto, o processo se torna mais complexo ao adicionar várias camadas para aprendizado profundo. Cada camada deve aprender mais sobre os dados, com a primeira camada aprendendo fatos básicos e cada camada subsequente aprendendo mais detalhes. Por fim, o palestrante discute como a rede neural envolve um mapa fino e a aplicação de uma função em cada componente para obter a saída final.

  • 00:25:00 Nesta seção, o palestrante discute a estrutura das redes neurais no aprendizado profundo. Eles explicam que as redes neurais consistem em uma função de aprendizado que depende dos pesos e entradas, que é criada por meio de uma cadeia de funções ou composição de funções, cada uma consistindo em um mapa linear ou afim seguido por uma função não linear. Isso resulta em uma função complexa que é contínua e linear por partes. O palestrante observa que tal função depende de matrizes e vetores a serem criados e depende do número de pesos no modelo.

  • 00:30:00 Nesta seção, o palestrante fala sobre a estrutura de redes neurais para aprendizado profundo, especificamente a ideia de uma "cadeia" de funções lineares seguidas por funções ReLu. Eles discutem a questão de saber se alguma função pode ser obtida dessa maneira e concluem que apenas funções lineares contínuas por partes são possíveis. O palestrante também usa o conceito de origami para ajudar a visualizar o gráfico de uma função linear por partes em duas variáveis, que consiste em peças planas conectadas ao longo de arestas retas. A questão da contagem do número de peças é levantada como auxílio à visualização.

  • 00:35:00 Nesta seção, o palestrante discute o problema de quantas peças planas podem ser obtidas dobrando um plano com n dobras. Este problema é essencial para entender a liberdade da função, f, e se ela pode aproximar qualquer função contínua tomando dobras suficientes. O palestrante observa que a resposta é sim, e essa classe de funções é universal. Além disso, a seção aborda a importância de entender esse conceito no campo mais amplo da ciência da computação, particularmente em redes neurais.

  • 00:40:00 Nesta seção, o palestrante discute um problema matemático envolvendo o número de pedaços planos em uma folha de papel dobrada. Eles perguntam quantas peças seriam formadas se dobrassem o papel mais vezes e tentam criar uma fórmula de recursão para resolver o problema. O palestrante apresenta os números que encontrou até agora e explica que eles precisam criar uma fórmula para o número de pedaços planos em um pedaço de papel dobrado n com uma superfície m-dimensional. Eles então planejam adicionar à fórmula recursiva assim que a encontrarem.

  • 00:45:00 Nesta seção, o palestrante usa um exemplo visual para ajudar a explicar a fórmula do número de peças criadas fazendo cortes em espaços dimensionais superiores. Usando números binomiais, a fórmula pode ser aplicada a qualquer dimensão M e N. O palestrante fornece um exemplo em que N é igual a 3 e M é igual a 2 para mostrar como usar a fórmula. Por fim, a fórmula é apresentada como R de com enfolds em M dimensões, igualando números binomiais e 0 a M.

  • 00:50:00 Nesta seção, o palestrante discute a recursão usada para provar a fórmula de peças planas que surgem ao cortar um bolo. Eles explicam que o número que procuram é a contagem anterior de peças planas mais o número de peças cortadas. A regra para recursão é provada na seção 7.1 do artigo de Kleinberg e outros. O próximo passo após encontrar essa família de funções é escolher os A's e os pesos. Isso resulta em um problema para minimizar a perda total, que pode ser resolvido usando gradiente descendente e retropropagação.
 

Aula 27. Retropropagação: Encontrar Derivadas Parciais



27. Retropropagação: Encontrar Derivadas Parciais

Este vídeo aborda vários tópicos relacionados à retropropagação e à localização de derivadas parciais. O palestrante demonstra o uso da regra da cadeia para derivadas parciais e enfatiza a importância da ordem dos cálculos na multiplicação de matrizes. A retropropagação é destacada como um algoritmo eficiente para calcular gradientes, e vários exemplos são dados para demonstrar sua eficácia. A convergência da descida do gradiente estocástico é brevemente discutida, juntamente com uma ideia de projeto relacionada ao uso de uma ordem aleatória de amostras de funções de perda na descida do gradiente estocástico. No geral, o vídeo fornece uma visão geral abrangente de retropropagação e suas aplicações.

  • 00:00:00 Nesta seção, o palestrante aborda dois temas de interesse. Em primeiro lugar, a convergência da descida do gradiente estocástico é discutida, com foco mais na lógica e suposições do algoritmo do que na própria prova. Em segundo lugar, o palestrante sugere uma ideia de projeto relacionada ao uso de uma ordem aleatória de amostras de função de perda na descida de gradiente estocástico. Especificamente, o projeto envolveria calcular as médias de uma lista de 100 números aleatórios usando métodos de substituição e sem substituição para determinar a diferença na abordagem.

  • 00:05:00 Nesta seção, o palestrante discute a retropropagação como uma forma de calcular o gradiente em algoritmos de descida mais íngreme. A retropropagação é o cálculo chave que tornou as redes neurais populares e envolve a computação de gradientes e derivados rapidamente usando a diferenciação automática no modo reverso. O palestrante também sugere explorar exemplos de convergência da média à medida que as substituições são feitas, bem como o bom começo e o mau fim para a descida estocástica do gradiente, com as palavras mágicas nos cálculos sendo a parada antecipada.

  • 00:10:00 Nesta seção, o palestrante discute retropropagação e seu uso para encontrar derivadas parciais. A retropropagação havia sido estudada anteriormente sob o nome de diferenciação automática, e o palestrante credita o líder no desenvolvimento de redes neurais profundas por perceber sua eficácia. O palestrante fornece um exemplo simples de uma função para ilustrar o cálculo de f(x) e as derivadas e enfatiza o uso da regra da cadeia para encontrar derivadas parciais. A seção também menciona um blog de Christopher Olah, que fornece explicações claras sobre o assunto.

  • 00:15:00 Nesta seção, o apresentador discute o cálculo de derivadas parciais usando a regra da cadeia. Eles usam um exemplo de função de duas variáveis para demonstrar como calcular as derivadas parciais da função, começando por encontrar F e criar um gráfico computacional. Eles explicam que, para usar a regra da cadeia, é preciso diferenciar cada um dos fatores encontrados no cálculo de F e avaliá-los adequadamente. Este gráfico computacional é usado para demonstrar o cálculo de derivadas parciais para aprendizado profundo, para o qual muitas variáveis são avaliadas.

  • 00:20:00 Nesta seção, o palestrante discute o processo de encontrar derivadas parciais usando a diferenciação automática no modo direto. Eles começam calculando a derivada parcial de F DX, dividindo o cálculo em partes simples e substituindo as etapas intermediárias por derivadas. Eles usam o fato de que a derivada de X ao cubo em relação a X é 3X ao quadrado, o que dá um valor de 12 quando X é igual a 2. Eles então reconhecem que o método direto é um desperdício, pois terão que fazer outro gráfico para a derivada de Y também. O falante também usa a regra do produto para encontrar a derivada parcial do produto. O processo requer um pouco de organização, mas o objetivo é dividir a computação em partes simples para simplificar as derivadas.

  • 00:25:00 Nesta seção, o palestrante explica como usar a regra do produto para encontrar derivadas parciais usando um gráfico computacional. O palestrante usa o exemplo de encontrar a derivada X de um produto e atribui nomes aos dois termos do produto. Ele então calcula os valores necessários para a regra do produto e os usa para calcular a derivada. No entanto, ele luta para encontrar a resposta final e admite que precisaria refazer o cálculo se quisesse encontrar o DF. O palestrante sugere que usar o modo reverso seria mais eficiente, pois permite calcular ambas as derivadas parciais de uma só vez.

  • 00:30:00 Nesta seção, o palestrante fala sobre como a técnica de retropropagação permite computar gradientes de forma eficiente, seguindo todos os caminhos para trás. Essa técnica ajuda a encontrar todas as derivadas através da regra da cadeia aplicada a algumas que já foram trabalhadas em detalhes. O palestrante observa que o cálculo tende a parecer simples depois de olhar para o que realmente foi feito. A abordagem de anúncio de modo reverso é usada para calcular n primeiras derivadas com apenas quatro ou cinco vezes o custo, o que é incrível de acordo com o palestrante. O palestrante também dá um exemplo de como a ordem em que os cálculos são feitos pode fazer diferença em termos de eficiência, usando como exemplo a multiplicação de duas matrizes.

  • 00:35:00 Nesta seção do vídeo, o palestrante discute a importância da ordem dos cálculos na multiplicação de matrizes, pois pode afetar significativamente a velocidade dos cálculos. Em seguida, ele passa para o exemplo de retropropagação e demonstra como usar a regra da cadeia e várias outras regras de derivadas para encontrar derivadas parciais enquanto retrocede em um gráfico computacional. Ele destaca que, ao reaproveitar as peças da cadeia, pode-se criar uma cadeia mais ampla sem custos significativos, o que resulta em cálculos mais rápidos mesmo quando a função depende de centenas de variáveis.

  • 00:40:00 Nesta seção do vídeo, o palestrante explica como usar retropropagação para encontrar derivadas parciais. Eles demonstram um exemplo em que encontram derivadas parciais em relação a X e Y usando a regra da cadeia e enfatizam que a retropropagação permite que todas as derivadas sejam encontradas em uma cadeia, em vez de cadeias separadas para cada variável. O palestrante observa que esse processo pode ser aplicado a um sistema de qualquer tamanho e menciona brevemente a convergência da descida do gradiente estocástico, que será abordada em palestras futuras.

  • 00:45:00 Nesta seção, o palestrante discute duas maneiras diferentes de multiplicar três matrizes - A, B e C - e o número de operações necessárias para fazê-lo. A primeira forma envolve a multiplicação de A por BC, que custa operações M x N x PQ, onde P e Q são o número de linhas e colunas de B e C, respectivamente. A segunda maneira envolve a multiplicação de AB por C, que custa operações M x P x Q. O palestrante enfatiza que é importante estar atento ao número de operações necessárias na multiplicação de matrizes, principalmente no caso de C ser um vetor coluna, pois isso pode levar a matrizes muito grandes e de difícil manuseio.

  • 00:50:00 Nesta seção, o palestrante discute derivadas parciais e retropropagação. O palestrante demonstra como a retropropagação é a ordem certa para derivadas parciais, pois permite a multiplicação de duas grandes matrizes e a obtenção de um vetor de coluna, que é muito mais rápido do que multiplicar um vetor de coluna por uma matriz para obter um novo vetor de coluna e depois multiplicá-lo por outra matriz para obter outro vetor coluna. A retropropagação simplifica o processo e permite cálculos de ordem de magnitude mais rápidos.
 

Aula 30: Completando uma Matriz de Nível Um, Circulantes!



Aula 30: Completando uma Matriz de Nível Um, Circulantes!

Na Aula 30, o palestrante discute o preenchimento de uma matriz de posto um e matrizes circulantes. Eles começam com um determinante 2x2 e usam isso para restringir quais valores podem ser preenchidos em uma matriz para torná-la de nível um. O professor passa então para um problema combinatório para uma matriz 4x4 e apresenta matrizes circulantes que apresentam padrões cíclicos que podem ser criados com apenas quatro números dados. A palestra também aborda convolução cíclica, autovalores e autovetores de matrizes circulantes, que são importantes no processamento de sinais.

  • 00:00:00 Nesta seção, o palestrante dá um exemplo de pergunta de uma sessão de laboratório anterior sobre o preenchimento de uma matriz para uma matriz de nível um. A questão está focada em quais cargos podem ser preenchidos e quais não podem ser preenchidos para alcançar uma matriz de nível um. O palestrante explica como escolher números diferentes de zero e questiona se é possível completar uma matriz com cinco números diferentes de zero para uma matriz de posto um.

  • 00:05:00 Nesta seção, o palestrante discute o preenchimento de uma matriz de nível um e circulantes. Eles começam examinando um determinante 2x2, onde quaisquer dois por dois têm que ter classificação 1 e, portanto, têm um determinante de 0. Eles usam essa ideia para restringir o que seria o número que falta em uma matriz e como preencher o restante dos valores. O professor então passa para um exemplo 4x4 e apresenta um problema combinatório, determinando quais 5 posições funcionarão e quais não funcionarão. Finalmente, eles falam sobre circulantes, que apresentam padrões cíclicos na matriz onde cada linha se torna a linha anterior deslocada para a direita por um elemento. Eles explicam como criar matrizes circulantes e suas propriedades, incluindo diagonalização.

  • 00:10:00 Nesta seção, o palestrante discute o preenchimento de uma matriz de posto um e gráficos bipartidos. Eles começam prescrevendo alguns números em uma matriz 4x4 e desenhando um gráfico bipartido com linhas e colunas para representar as conexões entre os números. O palestrante explica que completar a matriz para classificar um requer evitar um quadrado 2x2 onde três entradas foram especificadas. Se todas as quatro entradas forem dadas, não será possível criar um determinante zero e a matriz não terá posto um. O palestrante converte o gráfico bipartido em uma representação de matriz para ilustrar como determinar quais entradas podem ser preenchidas para criar uma matriz de posto um.

  • 00:15:00 Nesta seção, o professor discute o preenchimento de uma matriz de nível um, abordando especificamente se é ou não sempre possível completá-la se não houver 2x2s no caminho. Ele demonstra com exemplos que dois a dois nem sempre são o problema e que pode haver ciclos mais longos que dificultam a conclusão. A principal conclusão é que uma matriz só pode ser completada para classificar um se não houver ciclos, o que pode ser identificado no grafo bipartido correspondente.

  • 00:20:00 Nesta seção, o palestrante discute a conclusão de um ciclo com seis arestas e como isso se relaciona com a ideia de ciclos em matrizes. Ele converte uma imagem desenhada de um ciclo em uma matriz e explica como os ciclos em matrizes mostram que certos requisitos devem ser satisfeitos por valores diferentes de zero. Ele faz uma pergunta sobre o preenchimento de uma matriz de nível 2 e discute a importância das convoluções no aprendizado de máquina.

  • 00:25:00 Nesta seção, o palestrante introduz o conceito de matrizes circulantes, que são um tipo especial de matrizes de convolução que possuem diagonais constantes que circulam ao redor para serem completadas. As matrizes circulantes são uma parte essencial do processamento de sinais e suas propriedades algébricas as tornam uma maneira eficiente de conectar um conjunto de pesos. Isso ocorre porque a matriz chave nisso é a matriz de deslocamento cíclico, que ajuda a produzir a matriz circulante de P e P². Ao especificar a primeira coluna de uma matriz circulante, o MATLAB, por exemplo, pode obter todas as outras colunas deslocadas ciclicamente, o que significa que precisamos apenas de quatro números para definir uma matriz circulante quatro por quatro.

  • 00:30:00 Nesta seção da palestra, o conceito de matrizes circulantes é introduzido. É mostrado que toda matriz circulante é um polinômio em P, onde P representa um único deslocamento. Também está provado que se duas matrizes são circulantes, multiplicá-las resulta em outra matriz circulante. Além disso, a matriz identidade é circulante e, se uma matriz circulante for elevada ao quadrado, a matriz resultante também será circulante. O objetivo ao multiplicar matrizes circulantes é garantir que o grau polinomial não exceda o número desejado de termos.

  • 00:35:00 Nesta seção, o palestrante discute matrizes e circulantes de posto um. Ao multiplicar uma matriz de deslocamento circular 4x4 com grau três, há uma questão de por que o produto não é grau seis. A chave é que o P elevado ao quarto termo é realmente um P elevado ao termo 0, então o produto é uma convolução cíclica. O palestrante então explica a diferença entre convolução e convolução cíclica, dando um exemplo de cálculo de convolução entre dois vetores. Ele também lembra aos espectadores que a convolução não cíclica não usa um símbolo de círculo, enquanto a convolução cíclica usa.

  • 00:40:00 Nesta seção, o palestrante discute a convolução cíclica e como ela pode ser usada para multiplicar polinômios ciclicamente, o que corresponde à multiplicação de matrizes circulantes. A soma dos dígitos de um fator multiplica a soma dos dígitos do outro fator para dar a soma dos dígitos na convolução. O palestrante também aborda brevemente os autovalores e autovetores dessas matrizes. O vetor de todos uns é um autovetor com um autovalor, e este tem uma soma polinomial de potências de P. A palestra termina com uma discussão de tópicos mais avançados na área.

  • 00:45:00 Nesta seção da palestra, o palestrante explica que os autovetores da matriz C são os mesmos que os autovetores da matriz P. Os autovetores da matriz P são 1 e -1, ei e -i. O mundo circulante tem múltiplos autovalores e autovetores para cada circulante, e essas são regras importantes no processamento de sinais.
 

Aula 31. Autovetores de Matrizes Circulantes: Matriz de Fourier



31. Autovetores de Matrizes Circulantes: Matriz de Fourier

Neste vídeo sobre autovetores de matrizes circulantes, o palestrante discute como as matrizes circulantes se relacionam com o processamento de imagens e o aprendizado de máquina, bem como sua conexão com a matriz de Fourier. O palestrante enfatiza a importância de entender a convolução e as matrizes circulantes em relação à transformada discreta de Fourier (DFT) e às transformadas de Fourier. O palestrante discute os autovetores de matrizes circulantes, particularmente a matriz de Fourier, e como eles são todos construídos a partir do mesmo conjunto de oito números que também são os autovalores. O palestrante também fala sobre as propriedades da matriz de Fourier, incluindo como as colunas são ortogonais, mas não ortonormais e como seus autovetores somam zero devido à simetria da matriz circulante, tornando-os ortogonais entre si. Por fim, o palestrante demonstra o conceito do Vetor de Argan como um autovetor da Matriz de Fourier com exemplos.

  • 00:00:00 Nesta seção, o professor apresenta o tema das matrizes circulantes e atualiza os prazos e notas dos projetos. Ele também menciona a conexão de matrizes circulantes à transformada discreta de Fourier, que é um algoritmo importante em engenharia e matemática. A forma especial de matrizes circulantes, com apenas n entradas necessárias para definir uma matriz de tamanho n por n, é útil em muitas aplicações, incluindo aprendizado de máquina para imagens.

  • 00:05:00 Nesta seção, o palestrante explica que as imagens são normalmente descritas por seus pixels e podem ter vetores de recursos com milhões de componentes, o que impossibilitaria o cálculo dos pesos necessários para aprendizado profundo com gradiente descendente. No entanto, as matrizes usadas no aprendizado profundo são especiais e não dependem do número de recursos, semelhantes às matrizes circulantes com recursos cíclicos. Essas matrizes são chamadas de invariantes de deslocamento linear ou invariantes lineares no tempo, matrizes de convolução, matrizes trigêmeas ou matrizes diagonais constantes e são usadas em aprendizado de máquina e processamento de imagens. Essencialmente, eles ajudam a otimizar o aprendizado profundo, reduzindo o tamanho da computação de peso necessária para cada camada na rede profunda.

  • 00:10:00 Nesta seção, o palestrante discute o uso de matrizes circulantes no processamento de imagens e aprendizado de máquina. Ele explica que, para operar em uma imagem grande com vários pixels, podemos usar o pooling máximo para reduzir o tamanho do sistema. No entanto, para operações convolucionais, precisamos escolher pesos para destacar pontos importantes. Portanto, usamos filtros para simplificar a imagem, como um filtro passa-baixa. O palestrante observa que redes neurais mais amplas em aprendizado de máquina são usadas ao lidar com amostras de imagens, pois uma matriz diagonal constante é mais natural e eficiente de usar.

  • 00:15:00 Nesta seção, o apresentador fala sobre autovalores e autovetores de matrizes circulantes, especificamente a matriz de permutação que tem um efeito de deslocamento cíclico. Os valores singulares de uma matriz de permutação são todos um, e os autovalores podem ser encontrados tomando P menos lambda I e definindo o determinante como zero, resultando em lambda elevado à quarta potência. O apresentador também enfatiza a importância de entender as matrizes de convolução e circulantes em relação à DFT e às transformadas de Fourier.

  • 00:20:00 Nesta seção, o palestrante discute os autovetores de matrizes circulantes, focando especificamente na matriz de Fourier. Os autovalores para a matriz de Fourier são encontrados definindo o determinante como zero, o que resulta nas raízes quartas de um. Também foram discutidos os autovalores para uma matriz circulante 8x8, que são as oito soluções da equação lambda à 8ª potência igual a um. Essas soluções vêm na forma dos números um, menos um e as raízes quarta e oitava da unidade e são importantes porque entram em jogo como autovetores. Os autovetores de matrizes ortogonais também foram introduzidos como uma família de matrizes com autovetores ortogonais.

  • 00:25:00 Nesta seção, o palestrante discute diferentes famílias de matrizes que possuem autovetores ortogonais. Matrizes simétricas possuem autovetores ortogonais e autovalores reais, enquanto matrizes diagonais possuem autovetores que entram na matriz identidade. Matrizes ortogonais têm autovalores com magnitude 1, e autovetores de matrizes de permutação são ortogonais. Matrizes anti-simétricas possuem autovalores que só podem ser complexos, tornando-as incapazes de ter autovalores reais.

  • 00:30:00 Nesta seção, o palestrante fala sobre matrizes com autovetores ortogonais e como eles se relacionam com matrizes normais. Matrizes com autovetores ortogonais têm autovalores complexos e o falante escreve uma matriz diagonal que contém qualquer autovalor. Ele então estabelece uma equação matricial que mostra como reconhecer matrizes normais, que na verdade são bastante raras. Para reconhecê-los, é preciso testar se uma matriz é igual à sua transposta conjugada.

  • 00:35:00 Nesta seção, o palestrante discute autovetores de matrizes circulantes, particularmente a matriz de Fourier. A permutação P é ortogonal, então seus autovetores são ortogonais, mas essas matrizes circulantes também comutam, tornando-as matrizes normais. Isso significa que, uma vez que encontramos os autovetores de P, encontramos os autovetores de qualquer matriz circulante, e todos eles são especiais porque estão conectados a Fourier. Os autovetores são encontrados para vários autovalores, incluindo lambda sendo 1, -1, i e -i.

  • 00:40:00 Nesta seção, o palestrante discute os autovetores de matrizes circulantes e enfatiza que todos os autovetores são construídos a partir do mesmo conjunto de oito números, que também são os autovalores. A matriz de autovetores para todas as matrizes circulantes de tamanho n é a matriz de Fourier, que é uma importante matriz complexa que permite a rápida transformada de Fourier. Todas as entradas na matriz são potências de um número complexo W no círculo unitário em um de seus oito pontos. O primeiro autovetor é todos uns, enquanto o resto são potências de W, de modo que a matriz tenha 8x8 de tamanho. No geral, as matrizes circulantes têm propriedades semelhantes graças à sua matriz de autovetores comum.

  • 00:45:00 Nesta seção do vídeo, o palestrante explica as propriedades da matriz de Fourier, que é uma matriz circulante composta de autovetores que são potências da raiz oitava de um. As colunas da matriz são ortogonais, mas não ortonormais, o que significa que precisam ser divididas pela raiz quadrada de oito para torná-las ortonormais. A matriz é uma matriz normal e seus autovetores somam zero devido à simetria da matriz circulante, tornando-os ortogonais entre si. O palestrante demonstra essa propriedade usando uma matriz três por três onde a soma dos autovetores soma zero, tornando-os ortogonais.

  • 00:50:00 Nesta seção, o palestrante discute como o Vetor de Argan é um autovetor da Matriz de Fourier. Ele demonstra como quando o produto escalar dos componentes do Argan Vector é adicionado, o resultado é 1. Ele então mostra como quando o Argan Vector é multiplicado por e elevado a (2π/3), os componentes dos vetores resultantes somam 0. Estas demonstrações ilustram o conceito de que os autovetores de uma matriz circulante são ortogonais. O palestrante conclui mencionando que continuará discutindo o tópico da Matriz de Fourier na próxima palestra e que falta apenas uma semana e meia de aula em 1806.
 

Aula 32: ImageNet é uma rede neural convolucional (CNN), a regra de convolução



Aula 32: ImageNet é uma rede neural convolucional (CNN), a regra de convolução

Na Aula 32 de um curso de aprendizado profundo, o poder das redes neurais convolucionais (CNNs) na classificação de imagens é discutido, com o exemplo da competição ImageNet vencida por uma grande CNN profunda com camadas de convolução, camadas normais e camadas de agrupamento máximo. A palestra também enfoca a regra da convolução, que conecta multiplicação e convolução, com exemplos de convoluções bidimensionais, o uso do produto Kronecker para uma transformada bidimensional de Fourier e no processamento de sinais, e a diferença entre periódicos e não periódicos casos de convolução. O palestrante também discute autovetores e autovalores de uma matriz circulante e a operação de soma de Kronecker.

  • 00:00:00 Nesta seção do vídeo, a importância das redes neurais convolucionais (CNN) é discutida em relação ao aprendizado profundo e à classificação de imagens. É mencionado um artigo de Hinton e Skipper que treinou uma CNN grande e profunda para classificar 1,2 milhão de imagens de alta resolução no ImageNet. A competição foi vencida com uma taxa de erro dos 5 primeiros testes de 15%, em comparação com 26% para a segunda colocada. A CNN tinha camadas de convolução, camadas normais e camadas de agrupamento máximo, com metade das amostras indo para uma GPU e metade para outra. Drop out também foi usado em camadas totalmente conectadas para reduzir o overfitting. Isso demonstra o poder das CNNs em lidar com o enorme problema computacional de classificação de imagens.

  • 00:05:00 Nesta seção do vídeo, o palestrante discute a regra de convolução, que é um aspecto essencial das redes neurais convolutivas (CNNs). Ele explica que a convolução surge da multiplicação de polinômios e como a fórmula para os coeficientes no conteúdo C*D na convolução pode ser escrita de uma maneira diferente para ver como a convolução opera. Ele então dá um exemplo de convolução de duas funções e explica que esse conceito se refere à convolução de dois vetores em uma CNN. Compreender a convolução é crucial para compreender o funcionamento interno de uma CNN, que é um tipo de rede neural que possui 60 milhões de parâmetros e é usada para tarefas de reconhecimento de imagem.

  • 00:10:00 Nesta seção, o palestrante explica a regra de convolução para funções e como ela se conecta à transformada de Fourier das duas funções. Ele menciona que se F é 2 pi periódico e G é 2 pi periódico, então pode-se querer fazer uma convolução periódica e obter uma resposta que também tenha um período de 2 pi. Ele fala sobre como tornar a convolução cíclica afeta a multiplicação e que W é usado em vez de X para X cíclico.

  • 00:15:00 Nesta seção do vídeo, o palestrante discute a diferença entre os casos periódicos e não periódicos no que diz respeito à convolução. No caso periódico, o fator W é definido para ter a propriedade de que W elevado a N é 1, e vetores maiores que n podem ser dobrados de volta para um vetor de comprimento n. O caso cíclico considera apenas K indo de 0 a n-1, e as somas vão apenas de 0 a n-1. No caso não periódico, a convolução tem componentes P mais Q menos 1, e esse número é calculado no primeiro laboratório.

  • 00:20:00 Nesta seção, o palestrante discute os autovetores e autovalores de uma matriz circulante, especificamente a matriz de permutação. Os autovetores são as colunas da matriz de autovetores, que é denotada como "F", e há quatro autovalores derivados da multiplicação de F e C. O palestrante demonstra esta fórmula, explicando que se C é uma combinação de P, então o mesma combinação de autovetores dará os autovalores da matriz C.

  • 00:25:00 Nesta seção, o palestrante discute a regra de convolução que é uma conexão entre multiplicação e convolução. A regra de convolução conecta a multiplicação de matrizes com a convolução das matrizes. Através da convolução cíclica, se o palestrante multiplicar a matriz C pela matriz D, obterá outra matriz circulante. Os coeficientes do C e D convolutos representam os coeficientes diagonais da matriz C vezes D. O palestrante conclui que os autovalores de CD são iguais aos autovalores de C vezes os autovalores de D porque C e D comutam e têm os mesmos autovetores. Os autovalores multiplicam componente por componente, fornecendo a relação para a regra de convolução.

  • 00:30:00 Nesta seção do vídeo, o palestrante discute a regra de convolução, que afirma que pode-se convoluir uma imagem e aplicar uma Transformada de Fourier (FT) a ela, ou aplicar uma FT para separar imagens e depois multiplicá-las ponto -sábio. Essa regra é útil porque permite a transformação rápida de Fourier (FFT), que é altamente eficiente. O palestrante então considera o custo de cada método - o método de convolução requer N^2 etapas, enquanto o método de transformação separado requer apenas 2NlogN etapas.

  • 00:35:00 Nesta seção, o palestrante discute convoluções bidimensionais e a operação que precisa ser realizada para convoluir duas funções em duas dimensões. Eles discutem como no MATLAB o comando necessário para realizar esta operação é "cron" e como ele pode ser usado para criar uma matriz bidimensional com N pixels quadrados multiplicando duas matrizes unidimensionais A e B. O palestrante também aborda a ideia de que se alguém deseja multiplicar dois inteiros longos em criptografia, usar a regra de convolução pode ser um método mais rápido e eficiente.

  • 00:40:00 Nesta seção, é discutido o uso do produto de Kronecker para produzir uma grande matriz para uma transformada de Fourier bidimensional. O produto de Kronecker é uma operação que toma matrizes unidimensionais N por n e produz uma matriz N ao quadrado por N ao quadrado. Ao multiplicar apropriadamente as duas matrizes usando o produto Kronecker, uma grande matriz pode ser criada para uma transformada de Fourier bidimensional. Também é discutido o laplaciano, que é comumente usado em equações diferenciais, onde a matriz bidimensional que leva um esquema de cinco pontos com cinco pesos para cada ponto pode ser produzida usando o produto Kronecker.

  • 00:45:00 Nesta seção, o palestrante discute o produto Kronecker e como ele pode ser usado no processamento de sinal. Ele explica que deseja usar o produto Kronecker para adicionar um efeito bidimensional aos dados e, em seguida, adicionar a derivada vertical. Juntos, isso é chamado de soma de Kronecker, que é uma operação importante no processamento de sinais. Ele também incentiva os alunos a enviarem um e-mail a ele se quiserem se voluntariar para um projeto no qual possam discutir o que aprenderam e obter feedback do público.
 

Aula 33. Redes Neurais e a Função de Aprendizagem



33. Redes Neurais e a Função de Aprendizagem

Neste vídeo, o palestrante discute a construção da função de aprendizado f para redes neurais, que é otimizada por gradiente descendente ou estocástico gradiente descendente e aplicada aos dados de treinamento para minimizar a perda. Ele explica o uso de uma imagem desenhada à mão para ilustrar o conceito de redes neurais e a função de aprendizado, bem como várias funções de perda usadas no aprendizado de máquina, incluindo perda de entropia cruzada. O palestrante também fala sobre o problema de encontrar as posições dos pontos dadas suas distâncias, que é um problema clássico com diversas aplicações, como na determinação de formas de moléculas por meio de ressonância magnética nuclear. Ele conclui discutindo a construção do X, etapa final para a obtenção da estrutura de uma rede neural, e menciona uma convocação de voluntários para discutir um projeto na sexta-feira.

  • 00:00:00 Nesta seção, o palestrante discute a construção da função de aprendizado f para redes neurais, que é otimizada por gradiente descendente ou estocástico gradiente descendente e aplicada aos dados de treinamento para minimizar a perda. A função de aprendizado é uma função de dois conjuntos de variáveis, X e V, onde X são os pesos e V são os vetores de características dos dados de treinamento. A estrutura da rede neural envolve tomar f de um conjunto de pesos e vetores amostrais, produzir passos não lineares e repetir o processo até atingir a saída desejada. O passo linear envolve pegar a entrada V0, multiplicá-la por matrizes AK e adicionar vetores de polarização BK para deslocar a origem.

  • 00:05:00 Nesta seção, o palestrante discute como as redes neurais funcionam tomando um conjunto de entradas, aplicando pesos (que são escolhidos usando gradiente descendente no capítulo 6) e dando um passo não linear para produzir uma nova saída. Esse processo é repetido por várias camadas até a saída final, que é a previsão da rede neural para a entrada. Muitas vezes, o número de pesos pode exceder em muito o número de recursos na entrada, criando uma situação subdeterminada.

  • 00:10:00 Nesta seção, o palestrante explica o uso de uma imagem desenhada à mão para ilustrar o conceito de redes neurais e a função de aprendizado. Ele desenha uma imagem onde há um componente de amostra de treinamento multiplicado por v1, que é o primeiro na camada que pode ter um número diferente de neurônios na primeira camada, e cada um vem do eze por. A função de perda é a função que queremos minimizar escolhendo x2, que são todos os As e Bs. A função de perda geralmente é uma soma finita sobre todo F, que pode ser calculada para todo I, mas o gradiente estocástico é usado para escolher apenas um ou um pequeno número deles. A função de perda seria menos o resultado verdadeiro da amostra I, que pode ser elevado ao quadrado para obter a soma dos quadrados dos erros ao quadrado sobre todas as amostras.

  • 00:15:00 Nesta seção, o palestrante discute várias funções de perda usadas no aprendizado de máquina, especificamente em redes neurais. A função de perda é uma medida de quão bem a previsão da rede neural corresponde ao valor verdadeiro. O alto-falante fornece quatro funções de perda populares, incluindo perda quadrada, perda L1, perda de dobradiça e perda de entropia cruzada. A perda de entropia cruzada é a mais importante para redes neurais e é a função de perda mais comumente usada. O palestrante também aborda brevemente as matrizes de distância e o processo de determinação das posições dos pontos no espaço usando distâncias medidas entre eles.

  • 00:20:00 Nesta seção, o palestrante apresenta uma questão matemática que envolve encontrar posições no espaço dadas as distâncias entre os pontos. A questão é direta e tem aplicações em vários campos. A seção ocupa apenas duas páginas do livro, mas a solução é detalhada e completa. O palestrante também incentiva os alunos a fazerem perguntas sobre seus projetos e sugere enviar um e-mail diretamente para ele. Ele também faz uma pergunta sobre quais cursos fazer depois desse e pergunta aos alunos se eles pretendem fazer mais cursos nessa área. O palestrante reconhece que existem cursos em outros departamentos, mas só encontrou uma lista para o curso seis.

  • 00:25:00 Nesta seção, o palestrante fala sobre o MIT Operations Research Center e suas ofertas de cursos, incluindo otimização, análise de dados, estatística e pesquisa operacional. O palestrante também se refere a uma palestra de Sir Tim Berners-Lee, o criador da World Wide Web, e sua responsabilidade pelo excesso de letras em URLs. Em seguida, o palestrante discute as matrizes de distância e o problema de encontrar a matriz de posição a partir das distâncias dadas. O palestrante menciona várias aplicações, incluindo redes de sensores sem fio, onde as distâncias podem ser medidas entre os sensores, e sistemas de GPS, que podem calcular a localização usando um princípio semelhante.

  • 00:30:00 Nesta seção, o palestrante discute o problema de encontrar as posições dos pontos dadas suas distâncias, que é um problema clássico com uma solução simples. As posições não são únicas, pois podem sofrer translações e rotações, mas o locutor sugere remover as translações centralizando o centróide na origem. O problema de encontrar as posições é aplicável em várias situações, como na determinação das formas das moléculas usando ressonância magnética nuclear. O aprendizado de máquina também pode ser descrito como encontrar uma superfície de baixa dimensão no espaço de alta dimensão, o que é matematicamente equivalente a encontrar uma variedade curva que melhor se ajusta aos pontos dados. Este processo envolve descobrir a dimensionalidade do problema e linearizá-lo, o que reduz a dimensionalidade do espaço original de alta dimensão para a verdadeira dimensionalidade do problema.

  • 00:35:00 Nesta seção, o palestrante explica como encontrar uma matriz X dada uma matriz de produto escalar G. Eles começam analisando duas matrizes de posto um, uma dependendo apenas das linhas e a outra dependendo apenas das colunas, e explicam que essas matrizes produzem a maior parte significativa da matriz de produto escalar. Eles então introduzem uma matriz diagonal com os produtos internos de XI com ele mesmo na diagonal e observam que esta matriz está relacionada com a matriz D dada. A partir daí, eles mostram como derivar a equação para a matriz do produto escalar e explicam que uma vez que tenham G, eles podem encontrar X. No entanto, X não é único porque pode ser girado sem alterar o produto escalar, então o próximo passo é para descobrir como fatorar a rotação.

  • 00:40:00 Nesta seção, o palestrante discute uma equação relacionada à matriz de produto escalar que pode ser usada para encontrar o produto cruzado da matriz de identidade e da matriz de transposição X em redes neurais. A matriz de produto escalar é uma combinação da matriz diagonal D, uma matriz constante com todas as linhas iguais e uma matriz constante com todas as colunas iguais. O palestrante percorre a equação passo a passo e divide cada componente para revelar que a matriz X transposta X vem desses lugares de Posto 1 e desses produtos cruzados. Eles então exploram o significado da metade na equação, mas acabam concluindo que é necessário obter o resultado correto.

  • 00:45:00 Nesta seção, o palestrante discute como escrever uma dada equação em linguagem matricial e como finalmente encontrar a matriz X dado X transpor X. Eles usam álgebra linear para encontrar a solução e observar que X pode ser encontrado para uma transformação ortogonal. Os dois principais métodos discutidos são o uso de autovalores ou o uso de eliminação em X transposto X. O palestrante enfatiza a importância desses métodos no campo de redes neurais e aprendizado de máquina.

  • 00:50:00 Nesta seção, o palestrante discute a construção de X, que é simétrico e positivo semidefinido, e duas maneiras de encontrá-lo. A primeira abordagem é a construção do autovalor, que envolve calcular os autovalores e os autovetores de X transpor X e, em seguida, manter os autovetores enquanto obtém as raízes quadradas dos autovalores. A segunda abordagem é a fatoração de Cholesky, que envolve realizar a eliminação na matriz definida positiva simétrica e, em seguida, usar a matriz triangular inferior resultante L e a matriz diagonal D para calcular X como o produto de L raiz quadrada DL transposta. A fatoração de Cholesky é mais rápida que a construção de autovalores e mais fácil de calcular, tornando-a uma opção mais prática.

  • 00:55:00 Nesta seção, o palestrante conclui a discussão sobre matrizes de distância, que foi o passo final para obter a estrutura de uma rede neural, separando os vetores amostrais dos pesos. O palestrante também menciona as duas partes da álgebra linear: encontrar coisas para reduzi-las à forma triangular ou conectá-las com matrizes simétricas. Por fim, o palestrante menciona uma convocação de voluntários para discutir um projeto na sexta-feira.
Razão: