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

 

Gail Weiss: Pensando como Transformers



Gail Weiss: Pensando como Transformers

Gail Weiss discute o conceito de codificadores transformadores neste vídeo, explicando sua capacidade de processar sequências e codificá-las em vetores. Weiss destaca vários estudos que exploram os pontos fortes e limitações dos codificadores transformadores e apresenta uma linguagem de programação chamada linguagem de processamento de sequência de acesso restrito (RASP) para representar as habilidades dos codificadores transformadores. Ela também discute a atenção multifacetada, padrões de seleção e os desafios do softmax sob certas condições, antes de se aprofundar no uso de operadores de sequência e funções de biblioteca para calcular o inverso e o seletor flip. Weiss fornece informações sobre a criação de um programa ideal para um transformador e as percepções dos transformadores universais e de sanduíche, discutindo, em última análise, o predicado selecionado e relações binárias versus ordem três.

Ele também fala sobre os potenciais benefícios e desvantagens de usar atenção de ordem superior em modelos de transformadores, bem como a importância de conexões residuais na manutenção de informações nas camadas. Ela também discute possíveis problemas com transformadores muito profundos que se desviam do modelo RASP e sugere o uso de incorporações mais longas para superar a imprecisão nas informações.

  • 00:00:00 Nesta seção do vídeo, Gail Weiss apresenta o conceito de codificadores transformadores, que fazem parte de uma rede neural projetada para processar sequências. Ela explica que o codificador do transformador pega uma determinada sequência e a codifica em um conjunto de vetores, com alguns exemplos populares, incluindo BERT. Weiss então destaca vários estudos que exploraram os pontos fortes e as limitações dos codificadores transformadores, incluindo sua capacidade de reconhecer linguagens formais e realizar cálculos. Embora esses estudos forneçam informações sobre as habilidades dos codificadores de transformadores, Weiss observa que eles não oferecem uma intuição clara sobre como os transformadores realmente processam as tarefas.

  • 00:05:00 Nesta seção, Gail Weiss explica que as redes neurais recorrentes (RNNs) são semelhantes a uma máquina de estado finito, que define transições entre estados com base em vetores de entrada, enquanto gera uma classificação final de acordo com o estado alcançado. Ao analisar seu poder expressivo usando nossa compreensão de autômatos finitos determinísticos, eles obtêm informações sobre o que fazer com RNNs, permitindo a conversão de um RNN em autômatos finitos ponderados, autômatos finitos determinísticos ou autômatos finitos determinísticos ponderados. No entanto, essa intuição não existe para Transformers e há a necessidade de criar um modelo que sirva a um propósito semelhante para o codificador Transformer. Ao contrário dos RNNs, os codificadores do Transformer recebem toda a entrada de uma vez e processam todos os tokens de entrada em paralelo por meio de uma rede profunda que aplica o processamento um número fixo de vezes. Embora não haja estados nos Transformers, há uma sensação de processamento e propagação de informações por meio de um conjunto de operações.

  • 00:10:00 Nesta seção, Gail Weiss explica como um codificador de transformador pode ser representado como uma linguagem de programação chamada linguagem de processamento de sequência de acesso restrito (RASP), que descreve a criação de Operadores de Sequência (S-ops). Os S-ops representam as camadas do codificador do transformador que aplicam operações à sequência, criando informações mais processadas. O RASP fornece duas constantes, tokens e índices, que criam novas sequências de caracteres e índices a partir de qualquer sequência de entrada e, em seguida, aplica uma rede feed-forward element-wise a cada um dos vetores que entram na entrada da camada do codificador do transformador. O programador é responsável pelo cálculo lógico ou razoável das operações aplicadas, pois podem ser qualquer operação elementar.

  • 00:15:00 Nesta seção do vídeo, Gail Weiss apresenta o conceito de atenção multifacetada, que é uma parte da camada do codificador do transformador que não é elementar. Ela começa explicando a atenção de cabeça única e como ela funciona aplicando duas transformações lineares à sequência de vetores, criando um conjunto de consultas e um conjunto de chaves. A chave descreve a informação que tem para oferecer, e a consulta descreve a informação que se deseja em cada posição. Através do produto escalar da consulta com cada uma das chaves, os pesos são normalizados, e a saída em cada posição é obtida. Weiss também esclarece uma questão sobre a transformação intermediária das chaves e valores que permitem que o modelo tenha mais parâmetros.

  • 00:20:00 Nesta seção, o palestrante discute a auto-atenção multifacetada e como ela pode ser usada para compactar várias operações em uma única camada. O processo envolve dividir os vetores de entrada em vetores de comprimento igual e passar cada bloco em cabeças diferentes. Uma vez que as cabeças múltiplas tenham sido aplicadas, elas são concatenadas para formar a saída da auto-atenção multicabeçada. Embora não haja dependência entre as diferentes cabeças, uma única camada pode fazer várias operações porque possui várias cabeças diferentes. Esse processo permite que o programador se preocupe com as cabeças de atenção em vez da auto-atenção com várias cabeças, o que é um problema para o compilador.

  • 00:25:00 Nesta seção, Gail Weiss fornece exemplos de como codificar certos padrões de seleção para um transformador. Usando o exemplo de selecionar posições com base em se elas se descrevem com zero, um ou dois, Weiss indica que a primeira posição escolhe as duas últimas posições, a segunda posição não escolhe nada e a terceira posição escolhe apenas a primeira. Weiss também explica que vários tipos de comparação podem ser selecionados, como maior ou igual, menor ou igual ou desigual, e que os seletores podem ser compostos juntos. No entanto, Weiss observa que a abstração de padrões de seleção para transformadores depende da razoabilidade da operação que está sendo executada, e isso cabe ao programador garantir.

  • 00:30:00 Nesta seção, o palestrante discute os desafios de usar o softmax sob certas condições, ou seja, que há um leve foco nas posições restantes que não atendem aos critérios de seleção. Para resolver esse problema, o palestrante sugere que, se o tamanho dessas incorporações for aumentado, o softmax começará a se aproximar de uma seleção rígida de posições "menor ou igual" e "acima". A apresentação passa então para a ideia de agregação e como os tokens podem ser selecionados e ponderados usando uma média. O palestrante fornece um exemplo de reversão de token e como eles criaram um seletor de reversão e agregaram os tokens para obter a sequência de entrada invertida usando o exemplo da palavra "hello" para gerar "olleh".

  • 00:35:00 Nesta seção, o palestrante discute como o operador de comprimento pode ser usado em transformadores, mesmo que não faça parte da entrada, e como as decisões de seleção são emparelhadas para evitar operações de seleção arbitrariamente poderosas que podem ocultar poder arbitrário. O palestrante também fala sobre outros componentes do transformador, como o salto ou conexão residual, que adiciona de volta o valor dos embeddings, e normas de camada, que não estão presentes no modelo RASP. Além disso, o palestrante menciona o uso de funções e a composição de seletores por conveniência para evitar a repetição do código.

  • 00:40:00 Nesta seção, o palestrante discute o uso de operadores de sequência como val, min e max para verificar quais índices estão dentro de um determinado intervalo. Eles também mencionam a utilidade das funções da biblioteca, como a largura do seletor, na implementação de funções como histogramas no local e tokens de contagem em sequências de entrada. Além disso, o palestrante descreve como eles calcularam o comprimento de uma sequência usando um seletor e uma função indicadora, observando que a normalização da camada pode complicar tais cálculos. Finalmente, eles sugerem uma solução alternativa envolvendo uma rede de realimentação para calcular o inverso, mas reconhecem que ela ainda pode ser afetada pela normalização da camada.

  • 00:45:00 Nesta seção, Gail Weiss discute como os transformadores podem aprender a calcular o inverso e o seletor flip, mesmo ao lidar com sequências relativamente curtas. Ela explica ainda que a análise do programa Ras pode ser usada para determinar quando aplicar a computação reversa e quando aplicar o seletor flip, garantindo que os pares selecionados e agregados sejam apenas cabeças de atenção. Por fim, ela explora como um transformador real poderia executar a computação reversa em duas camadas, o que foi corroborado pelas descobertas de que o transformador conseguiu atingir 99,6% de precisão ao inverter sequências de entrada de até 100 de comprimento após 20 épocas.

  • 00:50:00 Nesta seção, Gail Weiss discute a criação de um programa ideal para um transformador, que requer duas camadas para executar a tarefa com eficiência. Mesmo que o programa seja reduzido a uma camada e duas vezes os parâmetros sejam adicionados ou duas cabeças sejam usadas, ele não conseguirá obter alta precisão porque não sabe como lidar com a mudança no comprimento da sequência. Além disso, os padrões de atenção são os mesmos em ambas as camadas, com a primeira camada usando atenção uniforme para calcular o comprimento da sequência e a segunda camada usando o mesmo padrão de atenção invertido. Mais adiante, Weiss demonstra um histograma no local, que envolve a seleção de tokens e a saída do número de vezes que o token aparece na sequência de entrada. Ao focar cada token no mesmo token que ele ou na primeira posição no início do token de sequência, eles utilizam apenas uma cabeça de atenção para treinar um transformador, tornando muito mais fácil calcular o inverso e outros elementos.

  • 00:55:00 Nesta seção, Gail Weiss fala sobre o insight que vem do Transformador Universal e do Transformador Sanduíche, os quais afetam a maneira de pensar e utilizar o modelo do transformador. Ela explica que todo operador de sequência no RASP é o resultado de um número finito de operações, de modo que a linguagem não é infinitamente poderosa, mas um número finito de O(n^2) cálculos. Ela também aborda o custo computacional de uma cabeça de atenção no codificador do transformador e como pode não valer a pena utilizar os cálculos n^2. A conversa então muda para uma discussão em torno do predicado selecionado e das relações binárias versus ordem três.

  • 01:00:00 Nesta seção, Gail Weiss discute o aumento potencial de potência de um modelo de transformador com atenção de ordem superior, como uma terceira ordem em vez de uma segunda ordem. Ela explica que tal modelo poderia computar funções com operações maiores que O(n^2), aumentando seu poder. No entanto, isso também seria mais caro computacionalmente. Weiss também enfatiza a importância das conexões residuais no modelo do transformador como forma de reter e reutilizar informações nas camadas e sugere que removê-las pode diminuir drasticamente o desempenho, mesmo que não apareçam como uma operação distinta.

  • 01:05:00 Nesta seção do vídeo, Gail Weiss discute os possíveis problemas que podem surgir com transformadores muito profundos e como eles podem se desviar do modelo RASP. Ela menciona um artigo que leu no ICML sobre a importância de remover certas informações de um transformador, o que pode fazer com que ele perca informações rapidamente. No entanto, ela também observa que as informações podem ser mantidas se forem reconhecidas como importantes. Weiss também discute a ideia de ter uma incorporação muito longa para superar problemas de imprecisão nas informações à medida que o transformador se aprofunda.
 

Visualizando e Compreendendo Redes Neurais Profundas por Matt Zeiler



Visualizando e Compreendendo Redes Neurais Profundas por Matt Zeiler

Matt Zeiler discute a visualização e compreensão de redes neurais convolucionais (CNNs) para reconhecimento de objetos em imagens e vídeos. Ele descreve o desempenho das redes neurais profundas em comparação com humanos e primatas no reconhecimento de objetos e mostra como as CNNs aprendem a identificar objetos passando pelas camadas. Zeiler explica o processo de melhoria da arquitetura CNN e discute as limitações ao treinar com dados limitados. Por fim, ele responde a perguntas sobre o uso de camadas inferiores em camadas superiores e a aplicação de convoluções em redes neurais.

  • 00:00:00 Nesta seção, Matt Zeiler descreve uma técnica para visualizar redes convolucionais usadas para reconhecer objetos em imagens e vídeos, o que permite entender o que cada camada está aprendendo e obter insights para melhorar o desempenho. As redes neurais convolucionais existem desde o final dos anos 80, com novas abordagens usando praticamente a mesma arquitetura de antes. A inovação no campo foi feita pela equipe de Geoff Hinton, pois sua rede neural reduziu as taxas de erro no benchmark comum, ImageNet, em dez por cento em vez dos habituais vinte e seis por cento, levando a um melhor desempenho em tarefas de reconhecimento.

  • 00:05:00 Nesta seção, Matt Zeiler discute estudos recentes que comparam o desempenho de redes neurais profundas com o de primatas e humanos no reconhecimento de objetos. Um estudo envolveu a gravação do disparo dos eletrodos no cérebro de um macaco quando ele foi apresentado a imagens e comparou sua precisão de reconhecimento com a de redes neurais profundas e humanos. Os resultados mostraram que humanos, redes neurais profundas e o córtex IT do macaco tiveram um desempenho quase igual quando as imagens foram apresentadas por menos de 100 milissegundos. Além disso, Zeiler discute as redes convolucionais D, que são modelos de aprendizado não supervisionados usados para reconstruir imagens enquanto tornam esparsas as características de nível superior, com o objetivo de aprender o que uma rede convolucional está realmente aprendendo.

  • 00:10:00 Nesta seção, Matt Zeiler explica a importância de tornar as operações em redes convolucionais reversíveis para conseguir boas reconstruções, especialmente quando se trata de múltiplas camadas de informação. Ele demonstra como a camada mais alta da rede é visualizada (usando um conjunto de validação de 50.000 imagens) selecionando o único mapa de recursos com a ativação mais forte de cada vez e usando-o como entrada para o topo da rede convolucional para reconstruir as visualizações de de baixo para cima. A visualização dos mapas de recursos da primeira camada mostra filtros compostos por bordas orientadas e bordas coloridas em várias orientações e frequências, que é o que os pesquisadores esperavam anteriormente. No entanto, a visualização das camadas superiores fornece novos insights sobre como a rede aprende e classifica diferentes objetos, mostrando as ativações e invariantes mais fortes em várias imagens.

  • 00:15:00 Nesta seção, Zeiler explica o desenvolvimento da segunda camada de redes neurais, que exibe um conjunto de padrões muito mais complexo do que o primeiro. Combinações de bordas, linhas paralelas, curvas, círculos e blocos coloridos, entre outras estruturas, estão presentes na segunda camada. Por meio do pooling, ele tem um escopo mais amplo do que pode processar a partir da imagem. Olhando para a terceira camada, Zeiler mostra como ele aprende as partes do objeto que são cruciais para a construção de uma representação de um objeto, como o rosto de um cachorro ou um rosto humano. Os recursos de agrupamento permanecem presentes na terceira camada, mas como um agrupamento semanticamente mais relevante de grades ou estruturas de face específicas.

  • 00:20:00 Nesta seção, é explicado como a rede neural aprende a identificar objetos específicos à medida que passa pelas camadas. Na quarta camada da rede, as conexões ficam mais específicas do objeto e categorias que não estão explícitas nas tarefas, como grama, tornam-se uma característica. O modelo também aprende a reconhecer características plurais, como diferentes raças de cães ou diferentes tipos de teclado em diferentes orientações. A última camada de convolução fica maior devido aos efeitos de limite nas convoluções à medida que se aproxima da camada de classificação. O conteúdo desta última camada torna-se altamente específico do objeto, pois o modelo deve tomar uma decisão sobre a qual classe a imagem pertence e existem apenas 256 recursos nesta camada.

  • 00:25:00 Nesta seção, Matt Zeiler discute um experimento para confirmar que as visualizações estão sendo acionadas em partes relevantes da imagem. Eles deslizaram um bloco de zeros com pixel médio 128 sobre a imagem e registraram as ativações ou probabilidades do modelo. Ao bloquear o rosto de um cão da Pomerânia, eles descobriram que a probabilidade de Pomeranian cai significativamente, enquanto a classe mais provável é uma bola de tênis quando o rosto está bloqueado. Curiosamente, eles descobriram que a quinta camada aprendeu um detector de texto, pois descarta o recurso significativamente ao bloquear qualquer texto em uma imagem, fornecendo uma noção de que a camada pode associar texto a outras classes. Por fim, utilizaram o modelo do grupo de Toronto que venceu o desafio ImageNet em 2012 e encontraram uma grande disparidade na normalização dos filtros na primeira camada.

  • 00:30:00 Nesta seção do vídeo, Matt Zeiler discute o processo de melhoria da arquitetura de redes neurais profundas. Ele explica que, após corrigir o problema de renormalização, ficou claro que os filtros da primeira camada eram muito grandes, resultando em filtros mortos. A segunda camada também tinha muitos artefatos de bloqueio, fazendo com que ela perdesse informações, levando-os a diminuir os passos na convolução e remover os artefatos de bloqueio e aumentar a flexibilidade na segunda camada. Essas modificações os ajudaram a vencer a competição ImageNet de 2013, e essas abordagens foram usadas novamente em competições posteriores, levando a bons resultados. Zeiler também discute os recursos de generalização e os usos dessas redes neurais para determinar a saliência.

  • 00:35:00 Nesta seção, Zeiler discute as limitações dos modelos profundos quando apenas uma pequena quantidade de dados de treinamento é usada, afirmando que os modelos lutam para aprender os recursos adequadamente. Ele explica que esses modelos são hábeis em reconhecer características que são importantes em geral para o reconhecimento de objetos, e isso pode ser transferido para outras tarefas com apenas alguns exemplos, conforme mostrado em várias tabelas e gráficos. Além disso, Zeiler examina a importância de treinar um modelo profundo observando todas as camadas intermediárias e diferentes tipos de classificadores. Por fim, Zeiler sugere que a utilização de um modelo treinado para limpar os dados de rótulos coletados é possível e pode melhorar os modelos de treinamento.

  • 00:40:00 Nesta seção, Zeiler responde a uma pergunta sobre se as camadas inferiores de uma rede neural, que mostraram desempenho decente na classificação, podem ser usadas em camadas superiores ou próximas às saídas de classificação. Ele explica que pode haver mais informações em camadas superiores devido à extração repetida, mas diferentes tipos de informações também podem ajudar. A conversa então muda para o desempenho de diferentes camadas e considerações de hardware para treinar grandes redes neurais. Zeiler também discute a capacidade das redes neurais de reconhecer classes menos concretas, como emoções ou gestos sutis, e o mapeamento de diferentes tamanhos de camada.

  • 00:45:00 Nesta seção, o palestrante explica como as convoluções são aplicadas sobre uma imagem e outras camadas em redes neurais. A aplicação de convoluções depende de dois parâmetros: o tamanho do filtro e o passo entre onde o filtro é aplicado. Nas camadas inferiores, o palestrante explica que passos de dois são usados porque há muito conteúdo espacial e a computação em cada local é muito cara. No entanto, isso pode causar perda de informações. O palestrante também menciona que não há aprendizado não supervisionado nas primeiras camadas da rede neural e que palavras descritivas como "abandonado" já estão inseridas no vocabulário.
 

Como o ChatGPT é treinado



Como o ChatGPT é treinado

O ChatGPT é um sistema de aprendizado de máquina projetado para imitar a conversa humana. Ele é primeiro treinado usando uma abordagem de pré-treinamento generativa que depende de grandes quantidades de dados de texto não estruturados e, em seguida, ajustado usando o aprendizado por reforço para se adaptar melhor às preferências do usuário.

  • 00:00:00 ChatGPT é um sistema de aprendizado de máquina projetado para imitar a conversa humana. Ele é treinado usando uma abordagem de pré-treinamento generativa que depende de grandes quantidades de dados de texto não estruturados.

  • 00:05:00 O ChatGPT é um chatbot treinado para responder às solicitações do usuário de maneira humana. Ele faz isso primeiro condicionando o modelo em um exemplo construído manualmente que ilustra o comportamento desejado e, em seguida, usando o aprendizado por reforço para ajustar o modelo às preferências do usuário.

  • 00:10:00 ChatGPT é um chatbot que é treinado usando uma classificação sobre K saídas para uma determinada entrada. O modelo de recompensa atribuirá uma pontuação escalar a cada membro de um par, representando logits ou probabilidades de log não normalizadas. Quanto maior a pontuação, maior a probabilidade de o modelo ser colocado naquela resposta ser o preferido. A entropia cruzada padrão é usada para a perda, tratando o modelo de recompensa como um classificador binário. Uma vez treinados, as pontuações escalares podem ser usadas como recompensas. Isso permitirá um treinamento mais interativo do que o ambiente puramente supervisionado. Durante o estágio de aprendizado por reforço, nosso modelo de política que é o bot de bate-papo será ajustado a partir do modelo supervisionado final. Ele emite ações suas sequências de tokens ao responder a um ser humano em um ambiente de conversação. Dado um estado particular que é um histórico de conversa e uma ação correspondente, o modelo de recompensa Retorna a recompensa numérica. Os desenvolvedores optam por usar a otimização de política proximal ou PPO como o algoritmo de aprendizado por reforço aqui. Não entraremos em detalhes sobre PPO neste vídeo, mas essa tem sido uma escolha popular em diferentes domínios. Agora, o modelo de recompensa aprendido que estamos otimizando aqui é uma aproximação decente do verdadeiro objetivo com o qual nos preocupamos. No entanto, ainda é apenas uma aproximação de um objetivo proxy.
 

O potencial REAL da IA generativa



O potencial REAL da IA generativa

A IA generativa tem o potencial de revolucionar a forma como os produtos são criados, ajudando os desenvolvedores com prototipagem, avaliação e personalização. No entanto, a tecnologia ainda está em seus estágios iniciais e mais pesquisas são necessárias para garantir que ela seja usada de forma ética e segura.

  • 00:00:00 O vídeo discute os possíveis benefícios e desafios do uso de grandes modelos de linguagem e explica como o Human Loop pode ajudá-lo a criar aplicativos diferenciados com base nesses modelos.

  • 00:05:00 O vídeo discute como a IA generativa pode ajudar os desenvolvedores na prototipagem, avaliação e personalização de seus aplicativos. Ele observa que o trabalho de um desenvolvedor provavelmente mudará no futuro, pois a tecnologia de IA ajuda a aumentar seu fluxo de trabalho.

  • 00:10:00 O vídeo discute o potencial da IA generativa e discute alguns dos obstáculos à sua ampla adoção. Ele observa que, embora a tecnologia tenha grande potencial, ela ainda está em seus estágios iniciais e mais pesquisas são necessárias para garantir que ela seja usada de forma ética e segura.

  • 00:15:00 O potencial para IA generativa é vasto, com muitos usos potenciais em um futuro próximo. As startups devem estar preparadas para uma explosão cambriana de novos aplicativos, alguns dos quais podem ser difíceis de prever.

  • 00:20:00 Este vídeo discute o potencial da IA generativa e como ela pode ser usada para criar produtos novos e inovadores.
 

Vrije Universiteit Amsterdam Machine Learning 2019 - 1 Introdução ao Machine Learning (MLVU2019)



Vrije Universiteit Amsterdam Machine Learning 2019 - 1 Introdução ao Machine Learning (MLVU2019)

Este vídeo fornece uma introdução ao aprendizado de máquina e aborda vários tópicos relacionados a ele. O instrutor explica como se preparar para o curso e aborda preocupações comuns sobre a intimidação do aprendizado de máquina. Ele apresenta os diferentes tipos de aprendizado de máquina e os distingue da programação tradicional baseada em regras. O vídeo também aborda os fundamentos do aprendizado supervisionado e fornece exemplos de como o aprendizado de máquina pode ser usado para problemas de classificação e regressão. Os conceitos de espaço de recursos, função de perda e resíduos também são explicados.

A segunda parte do vídeo fornece uma introdução ao aprendizado de máquina e explica seu principal objetivo de encontrar padrões e criar modelos precisos para prever os resultados de um conjunto de dados. O palestrante discute a importância de usar algoritmos específicos e divisão de dados para evitar o overfitting e alcançar a generalização. Ele também apresenta o conceito de estimativa de densidade e suas dificuldades com dados complexos. O palestrante esclarece a diferença entre aprendizado de máquina e outros campos e faz alusão a uma estratégia para quebrar grandes conjuntos de dados para fazer previsões precisas. O vídeo também menciona o aumento de pessoas trabalhando em machine learning com o desenvolvimento do deep learning e dá dicas para iniciantes na área.

  • 00:00:00 Nesta seção, o palestrante fala sobre como se preparar para o curso de aprendizado de máquina. Eles sugerem que os alunos leiam os materiais do curso principal com atenção e se concentrem no que é necessário. Além disso, há um questionário disponível para os alunos testarem sua compreensão e memorizarem o que o instrutor lhes disser. Os alunos receberão deveres de casa e poderão usar uma folha impressa com fórmulas para fazer anotações na área restante a caneta.

  • 00:05:00 Nesta seção, o palestrante aborda preocupações sobre o fato de o aprendizado de máquina ser assustador e intimidador, especialmente para aqueles sem experiência em ciência da computação. Ele explica que o objetivo do projeto é ajudar as pessoas a se sentirem confortáveis com o aprendizado de máquina, fornecendo conjuntos de dados e recursos para explorar e experimentar. O palestrante enfatiza a importância da colaboração e incentiva o uso das planilhas e ferramentas de informática fornecidas para facilitar o aprendizado.

  • 00:10:00 Nesta seção, o palestrante discute a importância da dinâmica de grupo e das habilidades de comunicação no campo do aprendizado de máquina. Ele enfatiza que ser capaz de trabalhar e se comunicar efetivamente em grupos é tão importante quanto as habilidades de redação técnica. O palestrante também incentiva os participantes a se inscreverem em sessões de grupo e a contatar outras pessoas no programa para formar relações de trabalho eficazes. Ele aconselha os participantes a usar os recursos disponíveis, como fóruns de discussão online, para se conectar com outros membros do programa e criar relacionamentos produtivos e colaborativos.

  • 00:15:00 Nesta seção, o palestrante apresenta os diferentes tipos de aprendizado de máquina, começando pelo aprendizado de máquina supervisionado. Eles explicam que abordarão dois tipos de aprendizado de máquina supervisionado - classificação e regressão - com a regressão sendo discutida após o intervalo. O palestrante também menciona que discutirá brevemente o aprendizado de máquina não supervisionado e fornecerá uma explicação de por que o aprendizado de máquina é diferente do maquinário comum.

  • 00:20:00 Nesta seção, o palestrante distingue entre programação tradicional baseada em regras, que segue essencialmente um conjunto de instruções predeterminadas, e aprendizado de máquina, que é um processo de uso de grandes conjuntos de dados para construir modelos preditivos que podem ser usados tomar decisões com base em novos dados. O aprendizado de máquina é útil em situações em que a tomada de decisões precisa ser rápida, confiável e incorruptível. No entanto, é importante lembrar que os modelos de aprendizado de máquina não são perfeitos e podem falhar inesperadamente, portanto, ainda é necessária a entrada humana para tomar as decisões finais. O suporte à decisão clínica é um exemplo de como o aprendizado de máquina pode ser usado para fornecer aos médicos informações adicionais para auxiliar na tomada de decisões.

  • 00:25:00 Nesta seção, o palestrante explica o conceito de aprendizado online ou incremental no aprendizado de máquina. Eles afirmam que o aprendizado online pode ser eficaz em situações em que há um fluxo constante de dados, e o modelo precisa estar sempre se atualizando e prevendo novas informações, o que é uma tarefa difícil. Portanto, eles recomendam focar na aplicação do aprendizado online, separando e reencenando os dados básicos para permitir que o modelo faça previsões com mais facilidade. Além disso, o palestrante discute como os cientistas nas décadas de 1950 e 60 usaram cérebros artificiais simples chamados perceptrons para explorar como o cérebro aprende, usando exemplos como treinar um perceptron para reconhecer a diferença entre homens e mulheres.

  • 00:30:00 Nesta seção do vídeo, o palestrante discute os fundamentos do aprendizado de máquina e apresenta o conceito de aprendizado supervisionado, em que uma máquina é treinada para classificar dados em categorias específicas com base em recursos de entrada. É dado um exemplo de classificação de e-mails como spam ou não spam, medindo recursos como a frequência de certas palavras. O objetivo é alimentar com esses dados um algoritmo de aprendizado que cria um modelo, que pode prever com precisão a classe de exemplos novos e inéditos. Existem muitos algoritmos de classificação diferentes que podem ser usados para esse tipo de problema.

  • 00:35:00 Nesta seção, o palestrante dá dois exemplos de como o aprendizado de máquina pode ser usado para problemas de classificação. O primeiro exemplo envolve o reconhecimento de números de vários dígitos em contratos do Arizona usando classificação de imagem. Eles usam imagens de 28x28 pixels dos dígitos como recursos e o objetivo é prever qual dígito está na imagem. O segundo exemplo envolve o uso de aprendizado de máquina para ensinar um carro a dirigir, onde eles coletam dados por meio de sensores no volante e os dividem em quadros e usam 960 recursos para classificar a direção do carro.

  • 00:40:00 Nesta seção, o palestrante discute como construir um algoritmo para resolver um problema de regressão. O exemplo dado é prever a duração de uma viagem de ônibus com base no número de passageiros. O palestrante também menciona que existe uma página com a programação completa do curso, o que é importante devido às mudanças de horário entre as turmas e eventuais visuais que podem mudar. Por fim, o palestrante fala sobre o uso de dois recursos para prever a altura de uma pessoa, o que é um exemplo de problema de aprendizado supervisionado.

  • 00:45:00 Nesta seção, o palestrante introduz o conceito de representação de dados em um espaço de recursos usando um eixo, que permite a representação visual de elementos e suas interfaces. Ao traçar uma linha neste espaço, pode ser criado um classificador que divide o espaço em duas áreas onde uma área representa tudo acima da linha e a outra área representa tudo abaixo dela. A chupeta logística é a melhor escolha ao usar linhas, e cada linha pode ser descrita por três números que definem uma propriedade no plano do espaço 3D. Uma função de perda, que é uma função comutável, permite calcular o número de exemplos que um modelo erra, e um valor menor significa um melhor ajuste do modelo.

  • 00:50:00 Nesta seção, o palestrante fornece exemplos de espaços e como eles podem ser usados para criar modelos. Ele explica o conceito de árvores de decisão e como elas podem ser complicadas em um grande espaço. Ele também demonstra como o processo de classificação pode ser simples e poderoso, usando algumas variações na especificação e diversificação. Por fim, o palestrante aborda a classificação multiclasse e multirótulo e como elas podem ser úteis em instâncias em que os objetos não são mutuamente exclusivos.

  • 00:55:00 Nesta seção, o palestrante explica como determinar a pontuação de probabilidade de classe adequada e o espaço de saída criando recursos com base em dados importantes. Para avaliar a linha teta e a função de perda muscular, é implantado um método de resíduos que mede a distância entre o valor previsto do modelo e o valor de saída real. Ao usar a regressão para plotar o resíduo e calcular a soma dos resíduos quadrados, a precisão preditiva pode ser melhorada porque ela puxa a linha em direção aos dados com base na distância quadrada adequada.

  • 01:00:00 Nesta seção, o palestrante discute a importância do uso de algoritmos específicos, como a regressão linear múltipla, para analisar dados e criar modelos. Ele explica que esses modelos nem sempre são precisos devido ao overfitting, e é por isso que os dados devem ser divididos em diferentes partes e analisados de acordo. O palestrante também enfatiza que a generalização é o aspecto mais importante ao criar algoritmos de aprendizado de máquina para garantir que o modelo seja capaz de prever resultados com precisão com novos dados.

  • 01:05:00 Nesta seção, o vídeo discute o aprendizado de máquina e como ele envolve aprender com uma grande quantidade de dados. Os modelos de aprendizado de máquina são criados colocando dados em um conjunto de recursos e rótulos, com o objetivo de encontrar padrões e criar um modelo que possa prever com precisão um rótulo com base nos recursos. Técnicas como o agrupamento k-means podem ser usadas para agrupar pontos de dados com recursos semelhantes, o que pode ajudar a criar modelos mais precisos. Além disso, é importante entender que encontrar um modelo ideal requer muita tentativa e erro, e não há uma maneira direta de saber o que funcionará melhor de antemão.

  • 01:10:00 Nesta seção, o palestrante apresenta o conceito de estimativa de densidade e como isso ajuda a identificar a distribuição de probabilidade dos dados. A estimativa de densidade é feita assumindo uma distribuição de interesse e capturando-a com base nos dados da amostra. O modelo prevê uma densidade de probabilidade para cada ponto nas feições e atribui um número para representar a probabilidade de taxas diferentes. No entanto, para dados complexos, como fotos de seres humanos, a estimativa de densidade torna-se difícil devido a características de alta dimensão, e uma abordagem alternativa é necessária para fornecer outra amostra semelhante.

  • 01:15:00 Nesta seção, o palestrante menciona que existem outros campos além do aprendizado de máquina que podem confundir as pessoas e fazê-las pensar que envolvem maquinário, como planejamento urbano ou planejamento de banhos. No entanto, esses campos não exigem necessariamente muito gasto ou tempo. O palestrante também faz alusão a uma estratégia que será discutida com mais profundidade na próxima semana, que envolve a divisão de grandes conjuntos de dados em grupos menores para fazer previsões precisas. Essa estratégia é frequentemente usada em campos como reconhecimento de voz ou reconhecimento de caracteres.

  • 01:20:00 Nesta seção, o palestrante discute as diferentes formas de pensar sobre aprendizado de máquina e as técnicas e modelos existentes que podem ser usados para isso. Ele também aborda como o aprendizado profundo contribuiu para o aumento do número de sabores de pessoas que trabalham com aprendizado de máquina. Além disso, ele fornece dicas para iniciantes que desejam iniciar o aprendizado de máquina e menciona a disponibilidade de recursos para ajudar na jornada de aprendizado.
 

2 modelos lineares 1: hiperplanos, pesquisa aleatória, descida de gradiente (MLVU2019)



2 modelos lineares 1: hiperplanos, pesquisa aleatória, descida de gradiente (MLVU2019)

Este vídeo aborda os conceitos básicos de modelos lineares, métodos de pesquisa e algoritmos de otimização. Modelos lineares são explicados em 2 dimensões e múltiplas dimensões, e o processo de busca de um bom modelo por meio de métodos como pesquisa aleatória e descida de gradiente é discutido. A importância da convexidade no aprendizado de máquina é explicada e as desvantagens da pesquisa aleatória em paisagens não convexas são abordadas. O vídeo também apresenta métodos evolutivos e pesquisa de ramificação como métodos de pesquisa. Finalmente, é explicado o uso de cálculo e descida de gradiente para otimizar a função de perda, incluindo o processo de encontrar a direção de descida mais íngreme para um hiperplano.

A segunda parte discute gradiente descendente e sua aplicação a modelos lineares, onde o algoritmo atualiza os parâmetros dando passos na direção do gradiente negativo da função de perda. A taxa de aprendizado é crucial para determinar a rapidez com que o algoritmo converge para o mínimo, e as funções lineares permitem que se elabore o modelo ideal sem a necessidade de pesquisa. No entanto, modelos mais complexos requerem o uso de gradiente descendente. O vídeo também apresenta limites de classificação e decisão, onde o objetivo é separar os pontos azuis dos pontos vermelhos, encontrando uma linha que faça isso de maneira ideal. As limitações dos modelos lineares incluem sua incapacidade de classificar conjuntos de dados não linearmente separáveis, mas eles são computacionalmente baratos e funcionam bem em espaços de recursos de alta dimensão. O instrutor também visualiza tópicos futuros que serão discutidos, como metodologia de aprendizado de máquina.

  • 00:00:00 Nesta seção, o palestrante explica a receita básica do aprendizado de máquina, que envolve abstrair um problema, escolher instâncias e recursos, selecionar uma classe de modelo e procurar um bom modelo. Eles então apresentam modelos lineares como a classe de modelo selecionada e discutem como escrevê-los em linguagem matemática. Eles falam sobre métodos de busca, incluindo gradiente descendente, e enfatizam que esses métodos não são específicos para modelos lineares e surgirão em outros contextos. A notação para descrever conjuntos de dados também é introduzida, usando sobrescritos para corresponder a instâncias e valores correspondentes. Por fim, um conjunto de dados de regressão simples é usado como um exemplo em execução ao longo da aula.

  • 00:05:00 Nesta seção, o palestrante discute modelos lineares e como eles podem ser usados para mapear um espaço para outro espaço. Um modelo linear usa uma função que descreve uma linha para conseguir isso. A função de linha tem dois parâmetros, W e B, que representam a inclinação e o viés, respectivamente. O palestrante explica que o número de recursos em um conjunto de dados pode ser arbitrário e o modelo precisa funcionar com qualquer número de recursos. Para vários recursos, cada instância é representada como um vetor usando a notação em negrito e cada um desses vetores é mapeado para um único valor.

  • 00:10:00 Nesta seção, o palestrante explica como estender o modelo linear de um plano para um hiperplano atribuindo pesos a cada recurso e mantendo um único valor B. Essa função pode ser expressa como o produto escalar de W e X mais B, que é uma operação simples de dois vetores de mesmo comprimento. O produto escalar também pode ser expresso como o comprimento dos dois vetores no espaço vezes o cosseno do ângulo entre eles. O palestrante também menciona um princípio interessante, que ao adicionar recursos simples a um modelo, ele pode se tornar mais poderoso. Finalmente, para encontrar um bom modelo, uma função de perda é usada e uma maneira de buscar no espaço de todos os modelos um valor que minimize essa função de perda.

  • 00:15:00 Nesta seção, o palestrante discute a função de perda de erro quadrática média usada na regressão linear. A função mede a distância entre a previsão do modelo e o valor real, eleva a distância ao quadrado e soma todos os resíduos para determinar a perda. Quanto menor o valor, melhor o modelo. O palestrante explica por que a função eleva os valores ao quadrado em vez de usar valores absolutos para evitar que valores positivos e negativos sejam anulados. O quadrado também coloca uma penalidade extra nos outliers, fazendo-os pesar mais na função de perda. A seção também discute brevemente modelos e espaços de recursos e como a busca por valores de baixa perda no cenário de perda leva ao ajuste de um modelo aos dados.

  • 00:20:00 modelo simples, a pesquisa aleatória pode ser usada para encontrar os valores de parâmetros ideais começando com um ponto aleatório e usando um loop para escolher outro ponto muito próximo a ele, calculando a perda para ambos os pontos e, se o perda para o novo ponto é melhor, mudando para o novo ponto. O processo continua até atingir os valores ideais dos parâmetros. Isso é semelhante a um caminhante navegando em uma tempestade de neve, dando pequenos passos em todas as direções para determinar onde a encosta da montanha está subindo mais e dando passos nessa direção até chegar ao vale. No entanto, em configurações de aprendizado de máquina, onde o espaço é multidimensional, não é possível ver a imagem inteira de uma vez, então o processo é análogo a um caminhante em uma tempestade de neve, onde os pequenos passos dados estão em uma distância fixa em uma direção aleatória até atingir os valores ótimos.

  • 00:25:00 Nesta seção, o vídeo discute o conceito de convexidade no aprendizado de máquina e seu impacto no uso da pesquisa aleatória como método de pesquisa de modelo. Uma superfície de perda convexa, ou em forma de tigela quando representada matematicamente, tem apenas um mínimo, tornando possível encontrar um mínimo global. No entanto, quando uma superfície de perda não é convexa e tem múltiplos mínimos locais, a busca aleatória pode travar e convergir para um mínimo local. Para resolver isso, é introduzido o recozimento simulado como um método de busca, que permite uma probabilidade de subir a colina, permitindo o potencial de escapar de mínimos locais e encontrar o mínimo global.

  • 00:30:00 Nesta seção, o vídeo discute o uso de métodos de otimização de caixa preta, como busca aleatória e recozimento simulado, para otimizar um espaço de modelo contínuo ou discreto, considerando a função de perda como uma caixa preta, que não requer nenhum conhecimento do funcionamento interno do modelo. Nota-se que esses métodos também podem ser paralelizados para executar várias buscas simultaneamente para aumentar as chances de encontrar o ótimo global. Além disso, o vídeo menciona que esses métodos de otimização geralmente são inspirados em fenômenos naturais, como algoritmos evolutivos, partículas e colônias.

  • 00:35:00 Nesta seção, o palestrante apresenta o algoritmo básico para um método evolutivo de busca que se inspira na evolução. Esse método começa com uma população de modelos, calcula sua perda, classifica-os, elimina metade da população e reproduz a outra metade para criar uma nova população. Os novos modelos são selecionados com base nas propriedades dos antigos e alguma variação é adicionada à população usando mutação. O palestrante também explica um método de busca por ramificação, uma variação da busca aleatória, onde ao invés de escolher uma direção aleatória, K direções aleatórias são escolhidas, e a direção com a menor perda é selecionada. O palestrante conclui observando a flexibilidade e o poder dos métodos evolutivos, mas adverte seu alto custo computacional e requisitos de ajuste de parâmetros.

  • 00:40:00 Nesta seção, os apresentadores discutem diferentes métodos de busca para encontrar o modelo ideal para um determinado problema. À medida que o número de modelos aumenta, eles gastam mais tempo explorando a curvatura local, o que leva a uma linha mais direta em direção ao ótimo. Em vez de dar um passo aleatório, eles podem passar mais tempo entendendo a vizinhança local e descobrindo a direção ideal antes de se moverem. Os autores então introduzem a descida do gradiente, que envolve observar a função de perda e calcular a direção na qual a função diminui mais rapidamente por meio do cálculo. Este método requer que a função seja diferenciável, suave e contínua, e não é mais um modelo de caixa preta.

  • 00:45:00 Nesta seção, o palestrante discute inclinações e retas tangentes em relação à função de perda. A superfície de perda não é uma função linear, mas a inclinação da linha tangente, que representa a derivada da função de perda, pode dar uma indicação da direção e velocidade na qual a função está diminuindo. Em dimensões superiores, o equivalente da linha tangente é o hiperplano tangente, que também pode nos dar a direção na qual a superfície de perda está diminuindo mais rapidamente. A palestra também aborda a interpretação de vetores como um ponto no espaço ou uma direção, o que é útil ao lidar com funções lineares como hiperplanos.

  • 00:50:00 Nesta seção, o palestrante discute como generalizar a derivada para múltiplas dimensões e como encontrar a direção de descida mais íngreme para um hiperplano. O equivalente a derivar em múltiplas dimensões é calcular o gradiente, que é um vetor que consiste na derivada diferencial parcial em relação a X, Y e Z. Esses três valores juntos definem três parâmetros para um plano e três valores juntos definem um hiperplano. A direção W da descida mais íngreme pode ser encontrada maximizando a norma de W vezes o cosseno de a, que é maximizado quando a distância entre X e W é igual ao ângulo entre X e W ou quando X e W são iguais. Assim, a direção de descida mais íngreme é W.

  • 00:55:00 Nesta seção, o palestrante explica um algoritmo simples para encontrar o mínimo de uma função de perda chamada gradiente descendente. O algoritmo começa com um ponto aleatório no espaço do modelo, calcula o gradiente da perda naquele ponto, multiplica-o por um pequeno valor chamado anta e depois o subtrai do modelo. Não há aleatoriedade, apenas passos puramente determinísticos. O gradiente fornece a direção e o tamanho do passo. O palestrante então calcula o gradiente para uma paisagem de perda usando cálculo, explicando a soma e as regras da cadeia, e termina com o vetor bidimensional da derivada da função de perda em relação a W e B.

  • 01:00:00 Nesta seção, o palestrante discute a implementação do gradiente descendente em Python e como ele permite um passo na direção do vetor, seguindo a curvatura da superfície, para encontrar o mínimo e ficar lá. Para demonstrar isso, eles apresentam um site chamado playground.tensorflow.org, que permite aos usuários experimentar um modelo linear simples usando gradiente descendente. No entanto, o palestrante também aponta que a descida do gradiente tem algumas limitações, como a necessidade de escolher a taxa de aprendizado e o potencial de ficar preso em um mínimo local.

  • 01:05:00 Nesta seção, o vídeo discute a descida do gradiente com mais detalhes e sua aplicação a modelos lineares. Com gradiente descendente, o algoritmo atualiza os parâmetros dando passos na direção do gradiente negativo da função de perda, e esse processo se repete até atingir um mínimo. A taxa de aprendizado determina o tamanho de cada etapa e é crucial encontrar uma taxa de aprendizado que não seja muito grande ou muito pequena, pois afeta a rapidez com que o algoritmo converge para o mínimo. As funções lineares permitem que se elabore o modelo ideal sem a necessidade de pesquisa. No entanto, modelos mais complexos requerem o uso de gradiente descendente. A descida do gradiente é rápida, com pouca memória e precisa, mas não escapa dos mínimos locais e funciona apenas em espaços de modelo contínuo com funções de perda suave. Por fim, o vídeo apresenta os limites de classificação e decisão, onde o objetivo é separar os pontos azuis dos pontos vermelhos, encontrando uma linha que o faça de maneira ideal no espaço de recursos.

  • 01:10:00 Nesta seção, o palestrante discute o processo de encontrar um classificador para um conjunto de dados de classificação simples que consiste em seis instâncias. Para isso, eles buscam uma função de perda que possa ser usada para avaliar potenciais modelos lineares ou planos no conjunto de dados, com o objetivo de minimizar o número de pontos mal classificados para obter uma boa avaliação. No entanto, a função de perda que eles usam inicialmente não é adequada para encontrar o modelo ideal, pois possui uma estrutura plana, tornando ineficazes a pesquisa aleatória e a subida do gradiente. O locutor então afirma que às vezes a função de perda deve ser diferente da função de avaliação e apresenta uma função de perda que tem um mínimo em torno do ponto desejado, mas é suave em todos os pontos.

  • 01:15:00 Nesta seção, o palestrante demonstra como o princípio dos mínimos quadrados usado na regressão pode ser aplicado à classificação atribuindo valores pontuais e tratando o problema como um problema de regressão. Essa abordagem funciona bem em agrupar pontos linearmente separáveis, mas não há garantia de que ela separará clusters que não são linearmente separáveis. Eles mostram como o algoritmo de descida do gradiente funciona tomando determinadas etapas no espaço de recursos para minimizar a função de perda. O exemplo usado é um conjunto de dados com pontos linearmente separáveis, e o palestrante também destaca como os modelos lineares são limitados no que podem expressar, como mostra o exemplo do conjunto de dados principal que possui limites complexos.

  • 01:20:00 Nesta seção, o instrutor discute as limitações dos modelos lineares e como eles podem falhar na classificação de conjuntos de dados não linearmente separáveis, como um conjunto de dados que possui um padrão espiral. No entanto, os modelos lineares podem funcionar bem em espaços de recursos de alta dimensão e também são computacionalmente baratos. O instrutor explica que a descida de gradiente estocástico é uma poderosa ferramenta de otimização, mas requer uma função de perda suave para ser usada como proxy para funções de perda discreta. O instrutor conclui com uma prévia dos tópicos futuros que serão discutidos, como a metodologia de aprendizado de máquina.
 

3 Metodologia 1: Área sob a curva, viés e variância, sem almoço grátis (MLVU2019)



3 Metodologia 1: Área sob a curva, viés e variância, sem almoço grátis (MLVU2019)

O vídeo aborda o uso da métrica de área sob a curva (AUC) na avaliação de modelos de aprendizado de máquina, bem como apresenta os conceitos de viés e variância e o teorema "sem almoço grátis". A métrica AUC mede o desempenho do modelo de classificação calculando a área sob a curva ROC. Além disso, o viés e a variância são discutidos, pois desempenham um papel crucial em quão bem o modelo se ajusta aos dados de treinamento e se generaliza para novos dados. Além disso, o teorema "sem almoço grátis" destaca a necessidade de selecionar o algoritmo apropriado para cada problema específico, uma vez que não existe um algoritmo universalmente aplicável para todos os problemas de aprendizado de máquina.

Este vídeo aborda três conceitos importantes de aprendizado de máquina: AUC (área sob a curva), viés e variância e o teorema "sem almoço grátis". AUC é uma métrica usada para avaliar modelos de classificação binária, enquanto o viés e a variância referem-se às diferenças entre os valores previstos de um modelo e os valores verdadeiros em um conjunto de dados. O teorema "sem almoço grátis" destaca a importância de selecionar o algoritmo apropriado para um determinado problema, pois não existe um algoritmo único que possa funcionar de maneira ideal em todos os problemas e conjuntos de dados possíveis.

  • 00:20:00 Nesta seção, o palestrante discute a primeira metodologia para avaliar modelos de aprendizado de máquina, a métrica de área sob a curva (AUC). A AUC mede o desempenho dos modelos de classificação calculando a área sob a curva característica de operação do receptor (ROC). O palestrante também apresenta os conceitos de viés e variância, que medem quão bem um modelo se ajusta aos dados de treinamento e quão bem ele generaliza para novos dados, respectivamente. Por fim, o palestrante explica o teorema "sem almoço grátis", que afirma que não existe um algoritmo único para todos os problemas de aprendizado de máquina e enfatiza a importância de selecionar o algoritmo apropriado para cada problema específico.

  • 01:10:00 Nesta seção, o palestrante apresenta três conceitos-chave na metodologia de aprendizado de máquina: área sob a curva (AUC), viés e variação e o teorema "sem almoço grátis". AUC é uma métrica usada para avaliar o desempenho de modelos de classificação binária e representa a probabilidade de um modelo classificar um exemplo positivo escolhido aleatoriamente mais alto do que um exemplo negativo escolhido aleatoriamente. O viés se refere à diferença entre o valor esperado das previsões de um modelo e os valores verdadeiros no conjunto de dados, enquanto a variância se refere à variação nas previsões de um modelo quando treinado em diferentes conjuntos de dados. O teorema "sem almoço grátis" afirma que não existe um algoritmo que possa ter o melhor desempenho em todos os problemas e conjuntos de dados possíveis, ressaltando a importância de selecionar o algoritmo apropriado para um determinado problema.
 

4 Metodologia 2: Limpeza de Dados, Análise de Componentes Principais, Eigenfaces (MLVU2019)



4 Metodologia 2: Limpeza de Dados, Análise de Componentes Principais, Eigenfaces (MLVU2019)

Esta primeira parte do vídeo aborda vários aspectos importantes do pré-processamento e limpeza de dados antes da aplicação de algoritmos de aprendizado de máquina, começando com a importância crucial de entender os vieses e distorções dos dados. O palestrante discute métodos para lidar com dados ausentes, outliers, desequilíbrio de classe, seleção de recursos e normalização. O vídeo continua discutindo o conceito de base e a distribuição MVN, explicando como usar o branqueamento para transformar dados em uma distribuição normal para normalização e conclui com o uso da análise de componentes principais (PCA) para redução de dimensionalidade. Desde a manipulação do conjunto de treinamento até o uso de métodos de imputação, o PCA projeta os dados em um espaço dimensional inferior enquanto retém as informações dos dados originais.

Esta segunda parte do vídeo discute o uso da Análise de Componentes Principais (PCA) na limpeza de dados e redução de dimensionalidade para aprendizado de máquina. O método envolve centrar os dados na média, calcular a covariância da amostra e decompô-la usando a decomposição própria para obter os vetores próprios alinhados com o eixo que captura a maior variância. O uso dos primeiros K componentes principais fornece uma boa reconstrução de dados, permitindo um melhor desempenho do aprendizado de máquina. O conceito de Eigenfaces também é introduzido e o PCA mostra-se eficaz na compactação dos dados em 30 dimensões, mantendo a maioria das informações necessárias para o aprendizado de máquina. Várias aplicações do PCA são discutidas, incluindo seu uso em antropologia e no estudo de conjuntos de dados complexos, como DNA e rostos.

  • 00:00:00 Nesta seção do vídeo, o apresentador discute os fundamentos da limpeza e pré-processamento de dados antes de aplicar algoritmos de aprendizado de máquina. A importância de não considerar os dados pelo valor de face é enfatizada ao discutir o viés de sobrevivência, onde apenas o foco na população sobrevivente pode levar a resultados distorcidos. O apresentador discute técnicas como lidar com dados ausentes, outliers, desequilíbrio de classe, seleção de recursos e normalização. Finalmente, a segunda metade do vídeo é focada em discutir a redução de dimensionalidade usando o algoritmo de análise de componentes principais.

  • 00:05:00 Nesta seção, o vídeo apresenta dicas práticas para limpeza de dados e tratamento de dados ausentes em um conjunto de dados, incluindo a remoção de recursos ausentes ou instâncias que não são significativas e certificando-se de que a remoção não altere a distribuição de dados. Em vez de remover os valores ausentes, pode ser mais útil mantê-los para os dados de treinamento e testar as respostas do modelo. Para maximizar a quantidade de dados de treinamento, um método de imputação que preenche suposições está disponível para os dados ausentes, como usar o modo ou o valor médio. O princípio orientador para lidar com dados ausentes é considerar o caso de uso do mundo real, ou o ambiente de produção, para preparar o modelo para lidar com os dados ausentes esperados da maneira mais relevante e prática.

  • 00:10:00 Nesta seção, o palestrante discute dois tipos de outliers em dados: outliers mecânicos e naturais. Outliers mecânicos ocorrem devido a erros como dados ausentes ou erros na entrada de dados e devem ser tratados como dados ausentes a serem limpos. Por outro lado, outliers naturais ocorrem devido à distribuição não normal de certas variáveis e devem ser mantidos no conjunto de dados para garantir um melhor ajuste. O palestrante fornece exemplos de ambos os tipos de outliers, incluindo características faciais incomuns em um conjunto de dados de rostos e rendas extremamente altas em um conjunto de dados de distribuição de renda.

  • 00:15:00 Nesta seção, é discutida a importância de verificar as suposições de normalidade nos dados. A regressão linear, por exemplo, é baseada nessas suposições, por isso é importante verificar a normalidade e estar ciente de que as suposições podem se esconder em modelos sem serem conhecidas. Outliers também devem ser considerados ao modelar e validar dados, e é importante testar modelos com um conjunto de treinamento que represente situações de produção para garantir que os modelos possam lidar com outliers adequadamente. Além disso, é discutida a importância de transformar dados em recursos categóricos ou numéricos para algoritmos de aprendizado de máquina e a perda potencial de informações envolvidas em tais transformações.

  • 00:20:00 Nesta seção, o palestrante discute a importância de selecionar os recursos certos para algoritmos de aprendizado de máquina e como extrair informações significativas dos dados. Eles explicam que simplesmente interpretar números como números de telefone como valores numéricos não é útil e, em vez disso, sugerem procurar recursos categóricos, como códigos de área ou celular versus status de telefone fixo. Nos casos em que um algoritmo de aprendizado de máquina aceita apenas recursos numéricos, o palestrante recomenda o uso de uma codificação ativa em vez da codificação inteira para evitar a imposição de uma ordem arbitrária nos dados. O objetivo é extrair as informações necessárias sem perder detalhes essenciais e selecionar recursos que transmitam com precisão e eficácia as informações necessárias para a tarefa em questão.

  • 00:25:00 Nesta seção, o palestrante discute o valor de expandir recursos para tornar um modelo mais poderoso. Usando o exemplo de um conjunto de dados para classificação de spam de e-mail, o palestrante explica como dois recursos inter-relacionados não podem ser interpretados sem saber o valor do outro, tornando impossível para um classificador linear traçar limites entre as classes. Para resolver essa limitação, o palestrante discute a adição de um recurso de produto cruzado, que multiplica os valores dos recursos existentes, permitindo que um limite de classificação seja desenhado em um espaço de recurso superior, mesmo que não seja linearmente separável no espaço original. O palestrante então dá um exemplo de uma classe de pontos com um limite de decisão circular para ilustrar ainda mais a importância de expandir recursos.

  • 00:30:00 Nesta seção, o palestrante explica como adicionar recursos extras pode ajudar um classificador linear a resolver problemas de classificação. Ao adicionar o quadrado das coordenadas x e y como recursos a um problema de limite de decisão, um classificador linear pode ser usado para distinguir entre duas classes de pontos. O palestrante mostra como, usando o TensorFlow Playground, o treinamento do classificador resulta em um limite de decisão que, para o olho humano, parece circular. Os pesos dos recursos também são mostrados e é demonstrado que apenas um recurso é necessário para resolver este problema de classificação.

  • 00:35:00 Nesta seção do vídeo, o palestrante discute como a expansão do espaço de recursos pode levar a um modelo mais poderoso, mesmo para regressão. Eles ilustram esse ponto mostrando como adicionar uma variável quadrada a um modelo de regressão linear resulta em uma parábola que se ajusta melhor aos dados. O palestrante também aconselha como lidar com o desequilíbrio de classes, sugerindo a manipulação do conjunto de treinamento por meio de técnicas como superamostragem ou aumento de dados. Finalmente, eles introduzem o tópico de normalização e fornecem um exemplo motivador de como as diferenças nas unidades podem afetar o desempenho de um modelo de classificação de K vizinho mais próximo.

  • 00:40:00 Nesta seção do vídeo, o palestrante discute a importância de normalizar dados para algoritmos de aprendizado de máquina. Eles explicam três maneiras de normalizar os dados: normalização, padronização e clareamento. A normalização envolve espremer o intervalo de dados no intervalo entre zero e um, enquanto a padronização envolve garantir que a média dos dados seja zero e a variância seja um. O terceiro método, branqueamento, é uma normalização um pouco melhor que leva em consideração todas as correlações nos dados e as reduz a uma esfera no espaço de recursos. O palestrante explica que o clareamento é útil para redução de dimensionalidade.

  • 00:45:00 Nesta seção, o palestrante explica o conceito de branqueamento de dados, que envolve transformar os dados em um conjunto de recursos não correlacionados. O palestrante usa álgebra linear para demonstrar como escolher uma base diferente para os dados escolhendo dois outros vetores para um novo sistema de eixos. O ponto azul, originalmente representado como (3,2) no sistema de coordenadas padrão, é recalculado em relação ao novo sistema de base e possui novas coordenadas de (2,5, 0,5). Isso leva à notação generalizada de colocar os vetores de base em uma matriz como colunas.

  • 00:50:00 Nesta seção, o palestrante discute o conceito de base e como ele pode ser usado para transformar entre diferentes bases com a ajuda da matriz de transposição. A operação inversa da matriz é cara e numericamente imprecisa, então uma base ortonormal é preferida onde os vetores de base têm comprimento um e são ortogonais entre si. O palestrante então explica como a distribuição normal multivariada é uma generalização da distribuição normal para múltiplas dimensões e pode ajudar na interpretação dos dados. A média da distribuição é um vetor e a variância se torna uma matriz de covariância em uma distribuição normal multivariada. O palestrante também explica brevemente a fórmula para calcular a covariância da amostra para ajustar uma distribuição normal multivariada aos dados.

  • 00:55:00 Nesta seção, é introduzido o conceito de distribuição normal multivariada (MVN), que tem média zero, variância de um em todas as direções, sem correlações e pode ser transformada em qualquer outra distribuição MVN. O processo de branqueamento de dados é ainda explicado em que a transformação de uma distribuição MVN é revertida para transformar os dados em uma distribuição normal para normalização. A seção também se concentra na redução da dimensionalidade de dados de alta dimensão por meio da análise de componentes principais (PCA), um método que realiza clareamento e redução de dimensionalidade. Ao encontrar novos recursos derivados de recursos originais que retêm o máximo possível de informações relevantes, o PCA projeta os dados em um espaço dimensional inferior, mantendo as informações essenciais dos dados originais.

  • 01:00:00 Nesta seção do vídeo, o apresentador discute a Análise de Componentes Principais (PCA) e como ela ordena as dimensões por variância capturada, permitindo a reconstrução de dados úteis e a redução da dimensionalidade. O apresentador explica autovetores e como eles são vetores especiais cuja direção não muda sob uma transformação e como eles podem ser usados para encontrar a variação máxima nos dados originais. O apresentador também explica como encontrar autovetores para uma matriz diagonal e como girar uma matriz para alinhar os autovetores ao longo do eixo.

  • 01:05:00 Nesta seção, aprenderemos como usar a análise de componentes principais (PCA) para pré-processar dados para algoritmos de aprendizado de máquina. Primeiro, queremos centralizar os dados para remover a tradução, depois calcular a covariância da amostra e decompô-la usando a decomposição própria. Em seguida, transformamos os dados de volta em um espaço normal multivariado padrão (MVN) e descartamos todos, exceto os primeiros K recursos. Os autovetores obtidos da decomposição ficam alinhados com o eixo, permitindo manter a direção com maior variância. Isso resulta em uma redução significativa na dimensionalidade, permitindo um melhor desempenho do aprendizado de máquina.

  • 01:10:00 Nesta seção, o apresentador explica o conceito de redução de dimensionalidade usando a análise de componentes principais (PCA). O objetivo da redução de dimensionalidade é manter a invariância enquanto retém o máximo de dados possível. Maximizar a variância na projeção é o mesmo que minimizar o erro de reconstrução, que é uma função de perda usada para medir a diferença entre os dados originais e os projetados. O primeiro componente principal é a linha que captura a maior variação e os componentes seguintes capturam a variação restante. O uso dos primeiros K componentes principais fornece uma boa reconstrução de dados.

  • 01:15:00 Nesta seção, o palestrante discute o uso da análise de componentes principais (PCA) em aplicações de pesquisa. Uma dessas aplicações é no campo da antropologia, onde pode ser usado para quantificar e demonstrar as características de ossos fossilizados. Ao fazer medições de diferentes aspectos do osso e criar um espaço de características de alta dimensão para comparação, o PCA pode ser usado para reduzir as dimensões dos dados a dois componentes principais, permitindo agrupamento visual e identificação de outliers. Além disso, o PCA foi aplicado ao estudo do DNA em populações européias, onde o DNA é transformado em um vetor de características de alta dimensão, e o PCA pode ser usado para revelar padrões e agrupamentos nos dados.

  • 01:20:00 Nesta seção, o palestrante discute como a análise de componentes principais (PCA) pode ser aplicada a um conjunto de dados de características de DNA e como pode ser usada para determinar a forma aproximada da Europa. Ao observar os dois componentes principais de um conjunto de dados de DNA colorido por país de origem, pode-se determinar a que distância ao norte ou oeste/leste uma pessoa ou seus ancestrais viveram. O PCA é frequentemente visto como um método mágico devido à sua capacidade de fornecer informações sobre conjuntos de dados complexos, como os autovetores de um conjunto de dados de faces aplicados em autofaces. Calculando a média de um conjunto de dados de rostos e observando os autovetores da covariância desse conjunto de dados, o PCA pode fornecer direções em um espaço de alta dimensão de imagens de rostos.

  • 01:25:00 Nesta seção, o palestrante discute o conceito de Eigenfaces e como a Análise de Componentes Principais (PCA) ajuda na limpeza de dados. Ao adicionar uma pequena quantidade do primeiro autovetor ao rosto médio, o falante demonstra como isso corresponde à idade nas características faciais. O segundo e quarto autovetores correspondem a iluminação e gênero, respectivamente. O quinto autovetor indica o quão aberta ou fechada a boca está. Os autovetores atuam como base para o novo espaço e a compressão dos dados em 30 dimensões fornece uma boa representação da face original. O ponto de inflexão ocorre em torno de 30 autovetores, onde o restante dos detalhes pode ser descartado, mantendo a maior parte das informações necessárias para o aprendizado de máquina.
 

Aula 5 Probabilidade 1: Entropia, (Naive) Bayes, perda de entropia cruzada (MLVU2019)



5 Probabilidade 1: Entropia, (ingênuo) Bayes, perda de entropia cruzada (MLVU2019)

O vídeo aborda vários aspectos da teoria da probabilidade e sua aplicação no aprendizado de máquina. O palestrante apresenta a entropia, que mede a quantidade de incerteza em um sistema, e explica como ela está relacionada ao Bayes ingênuo e à perda de entropia cruzada. Os conceitos de espaço amostral, espaço de eventos, variáveis aleatórias e probabilidade condicional também são discutidos. O teorema de Bayes é explicado e considerado um conceito fundamental no aprendizado de máquina. O vídeo também aborda o princípio de estimativa de máxima verossimilhança e a probabilidade bayesiana, bem como o uso de código sem prefixo para simular distribuições de probabilidade. Por fim, o palestrante discute classificadores discriminativos versus generativos para classificação binária, incluindo o classificador Naive Bayes.

A segunda parte explica o conceito de computação de probabilidades para um novo ponto pertencente a uma determinada classe usando um modelo de distribuição normal multivariada. Ele discute a independência condicional de recursos para ajustar eficientemente distribuições de probabilidade para um classificador e a necessidade de suavizar ou ajustar pseudo-observações para lidar com instâncias zero. O palestrante também apresenta a perda de entropia como uma função de perda mais eficaz para classificadores lineares do que a precisão e discute a capacidade da função de perda de entropia cruzada de medir a diferença entre dados preditos e reais, com a função sigmoide colapsando as simetrias da função para simplificá-la. Por fim, o vídeo sugere que a próxima palestra abordará a perda SVM como a função de perda final.

  • 00:00:00 Nesta seção do vídeo sobre probabilidade, o palestrante começa aconselhando os alunos a participarem de um projeto em grupo, caso ainda não o tenham feito, e a não se preocuparem muito em encontrar um grupo perfeito, mas a fazer o melhor o que eles ganham. Em seguida, o palestrante apresenta a teoria da probabilidade e a entropia, que estão intimamente relacionadas e são úteis no aprendizado de máquina. Ele explica que entropia, nesse contexto, significa medir a quantidade de incerteza ou aleatoriedade em um sistema. O conceito de entropia é importante no aprendizado de máquina e é usado para explicar Bayes ingênuos e perda de entropia cruzada, que serão discutidos posteriormente na palestra. A palestra também abordará os fundamentos da classificação e classificadores lineares.

  • 00:05:00 Nesta seção, o palestrante discute funções de perda e apresenta a perda de entropia cruzada, que é considerada uma função de perda muito boa. Eles apresentam um exemplo envolvendo o jogo online de um adolescente e explicam como as probabilidades funcionam nesse cenário. O palestrante também aborda o conceito de frequência e probabilidade e como eles se aplicam em situações da vida real.

  • 00:10:00 Nesta seção, o palestrante discute a diferença entre probabilidades subjetivas e objetivas. Eles explicam que a probabilidade subjetiva é baseada em crenças e experiências pessoais, enquanto a probabilidade objetiva é baseada na probabilidade frequentista, que é derivada de experimentos e observações. O palestrante observa que, no aprendizado de máquina, o foco é minimizar a perda no conjunto de teste com base no conjunto de treinamento e que a teoria da probabilidade é usada como uma estrutura matemática para descrever probabilidades. O palestrante também introduz o conceito de variáveis aleatórias e espaço amostral.

  • 00:15:00 Nesta seção, o vídeo explica os conceitos de espaço amostral e espaço de eventos na teoria da probabilidade. O espaço amostral abrange todos os resultados possíveis, onde dois resultados não têm outro resultado entre eles. O espaço de eventos inclui um conjunto de subconjuntos do espaço amostral, tornando possível identificar probabilidades de vários eventos, como obter um número par ou ímpar em uma jogada de dados. As probabilidades podem ser atribuídas a espaços amostrais discretos e contínuos. Além disso, o vídeo menciona o uso de variáveis aleatórias e recursos para modelar conjuntos de dados probabilísticos, o que ajuda a explicar a probabilidade de resultados de eventos.

  • 00:20:00 Nesta seção, o palestrante apresenta os conceitos básicos de probabilidade, incluindo variáveis aleatórias e sua representação como funções. O palestrante explica que uma variável aleatória pode ser representada por um único número e instanciada como uma variável. Eles também discutem o uso da notação igual e como as variáveis aleatórias podem ser referidas pela função ou por um valor específico. O palestrante então dá um exemplo de um espaço de eventos definido por duas variáveis aleatórias, X e Y, e introduz o conceito de probabilidade condicional.

  • 00:25:00 Nesta seção, o palestrante discute probabilidades e como elas podem ser reescritas e projetadas para determinar a probabilidade de diferentes eventos. Eles explicam que se duas variáveis são independentes, saber o valor de uma não mudará a probabilidade da outra. O orador então usa o exemplo de duas pessoas que moram em partes diferentes de uma cidade para ilustrar como a probabilidade de uma pessoa chegar no horário no trabalho não afeta a probabilidade de a outra pessoa chegar no horário. No entanto, eles observam que existe uma rara possibilidade em que as probabilidades das duas pessoas podem estar conectadas.

  • 00:30:00 Nesta seção, o palestrante discute probabilidade e o teorema de Bayes, que é um conceito fundamental no aprendizado de máquina. O palestrante usa um exemplo de engarrafamento para explicar a independência condicional e como saber que Alice está atrasada para o trabalho aumenta ligeiramente a crença de que Bob também está atrasado. O teorema de Bayes é considerado a fórmula mais importante no campo e explica como inverter a probabilidade condicional. Por fim, o palestrante explica como o aprendizado de máquina ajusta uma distribuição de probabilidade aos dados e como a abordagem frequentista determina os melhores parâmetros dadas as informações disponíveis.

  • 00:35:00 Nesta seção, o palestrante discute o princípio de estimativa de máxima verossimilhança e a probabilidade bayesiana. O princípio de estimativa de máxima verossimilhança é baseado na suposição de que os pontos de dados observados são independentes e a probabilidade desses pontos maximiza a taxa de verossimilhança. A probabilidade bayesiana, por outro lado, envolve a atualização das crenças de alguém com base no conhecimento prévio e nos dados observados. A probabilidade bayesiana usa um compromisso entre duas partes, frequentadores e bayesianos, para expressar a distribuição de crenças, que funciona bem no aprendizado de máquina.

  • 00:40:00 Nesta seção, o palestrante discute o conceito de distribuições de probabilidade e como simulá-las sem uma árvore que tenha um único resultado. O uso de um código sem prefixo ou árvore de prefixo é apresentado como um meio para gerar uma ampla gama de distribuições de probabilidade. O palestrante explica que essa abordagem pode ser usada para comunicação e para encontrar a probabilidade de certos resultados em vários cenários. O exemplo de usar uma moeda para simular um dado de 3 lados e obter uma distribuição uniforme também é fornecido.

  • 00:45:00 Nesta seção, o palestrante discute uma família de distribuições de probabilidade que podem ser descritas usando um algoritmo de código sem prefixo. Este algoritmo, conhecido como Naive Bayes, é eficiente para dados e fornece uma boa conexão entre métodos de descrição e distribuição de probabilidade. O principal uso desse algoritmo é explicar a entropia, que é a medida da incerteza em uma variável aleatória. O palestrante explica como esse algoritmo pode ser usado para codificar dados de uma determinada distribuição de probabilidade e obter uma distribuição de probabilidade que seja adequada para os dados fornecidos.

  • 00:50:00 Nesta seção, o palestrante discute a entropia e a perda de entropia cruzada como medidas da uniformidade dos dados. A entropia pode ser usada para representar a uniformidade de dados entre diferentes elementos, com uma entropia menor indicando dados mais uniformes. A entropia cruzada é usada para representar o comprimento de código esperado quando um código diferente é usado e é sempre igual ou maior que a entropia, com um valor mínimo em zero. Essas medidas ajudam a entender a distância entre duas distribuições de probabilidade e fornecem uma base teórica para analisar conjuntos de dados como uma sequência de variáveis aleatórias.

  • 00:55:00 Nesta seção, o palestrante explica os conceitos de classificadores discriminativos e generativos para classificação binária. A classificação discriminativa simplesmente discrimina instâncias, enquanto a classificação generativa modela a probabilidade dos dados dados a uma classe. Os classificadores generativos variam do classificador ótimo de Bayes ao classificador Naive Bayes, que faz uma suposição de independência condicional e é considerado incorreto, mas ainda funciona muito bem e é barato.

  • 01:00:00 Nesta seção, o palestrante explica como calcular a probabilidade de um novo ponto pertencer a uma determinada classe usando um modelo de distribuição normal multivariada. Eles explicam que, ao estimar as distribuições de probabilidade e preenchê-las, podemos atribuir probabilidades a cada classe com base na probabilidade mais alta. No entanto, ao lidar com alta dimensionalidade, pode não haver dados suficientes para ajustar o modelo com precisão; nesse caso, uma distribuição categórica pode ser usada para modelar os recursos com a distribuição de Bernoulli.

  • 01:05:00 Nesta seção, é explicado o conceito de independência condicional dos recursos, que permite o ajuste eficiente da distribuição de probabilidade para um classificador. No entanto, um único valor de probabilidade zero pode impactar bastante a precisão do classificador, que pode ser resolvido suavizando ou ajustando pseudo-observações para garantir que haja pelo menos uma observação para cada recurso. Isso garante que a probabilidade nunca se torne zero e a precisão do classificador não seja impactada negativamente.

  • 01:10:00 Nesta seção, o palestrante discute maneiras de evitar resultados distorcidos em modelos de aprendizado de máquina, garantindo que haja pelo menos uma instância com um valor para cada classe e recurso possíveis. Eles resumem os classificadores generativos como tendo suposições de independência que funcionam bem com conjuntos de dados grandes e de alta dimensão, mas requerem suavização de Laplace para lidar com instâncias zero. O palestrante apresenta o conceito de perda de entropia como uma função de perda mais eficaz para classificadores lineares em comparação com a precisão.

  • 01:15:00 Nesta seção, o palestrante explica como, em vez de atribuir valores a modelos classificadores, probabilidades podem ser atribuídas usando a função sigmoide logística. O modelo linear ainda é usado, mas é espremido no intervalo entre 0 e 1. Esse método permite uma interpretação mais precisa de instâncias positivas e negativas.

  • 01:20:00 Nesta seção, o apresentador explica a função de perda de entropia cruzada, que é usada para medir a diferença entre o que um modelo de aprendizado de máquina prevê e o que os dados dizem. A função de perda é projetada para maximizar o tamanho das linhas entre as previsões e os dados, com o objetivo de aumentar as linhas azuis e minimizar o logaritmo negativo de todas as linhas para maximizar o tamanho dessas linhas.

  • 01:25:00 Nesta seção, o palestrante discute como a função de perda de entropia cruzada funciona punindo resíduos maiores mais do que resíduos pequenos. A função de P versus M também mostra que barras pequenas contribuem muito para a perda, o que equivale ao quadrado nos modelos anteriores. O palestrante então discute a derivada do logaritmo e como o multiplicador constante é incluído na equação. Para simplificar a matemática, o multiplicador constante pode ser desconsiderado ou o logaritmo binário pode ser definido em termos do logaritmo natural.

  • 01:30:00 Nesta seção, o palestrante discute a perda de entropia cruzada e o papel que a função sigmoide desempenha em simplificá-la. As simetrias da função sigmóide permitem o colapso da função de perda, tornando-a mais simples. O sigmóide logístico, quando aplicado à regressão logística, pode lidar com pontos distantes do limite de decisão sem problemas. A regressão logística pode resultar em várias boas soluções na região de incerteza.

  • 01:35:00 Nesta seção, o palestrante explica o conceito de probabilidade e classifica os pontos como azuis ou vermelhos com base em seus valores de probabilidade. Ele sugere ainda que a próxima palestra abordará a perda SVM como a função de perda final.
 

Aula 6 Modelos Lineares 2: Redes Neurais, Backpropagation, SVMs e métodos Kernel (MLVU2019)



6 Modelos Lineares 2: Redes Neurais, Backpropagation, SVMs e métodos Kernel (MLVU2019)

Esta primeira parte do vídeo sobre modelos lineares se concentra na introdução de não linearidade em modelos lineares e explora dois modelos que dependem da expansão do espaço de recursos: redes neurais e máquinas de vetores de suporte (SVMs). Para redes neurais, o palestrante explica como configurar uma rede para problemas de regressão e classificação usando funções de ativação como sigmoid ou softmax. A palestra então se aprofunda na retropropagação, um método usado para calcular gradientes usados em redes neurais. Para SVMs, o palestrante apresenta o conceito de maximização da margem para os pontos mais próximos de cada classe e demonstra como isso pode ser expresso como um problema de otimização restrito. O vídeo fornece uma introdução clara aos princípios de redes neurais e SVMs, recomendando que os alunos se concentrem na primeira metade da palestra como ponto de partida para o restante do curso.

A segunda parte do vídeo aborda os tópicos de máquinas de vetor de suporte (SVMs), SVMs de margem suave, truques de kernel e diferenças entre SVMs e redes neurais. Os SVMs de margem suave são introduzidos como uma forma de lidar com dados não separáveis linearmente, permitindo que um valor de penalidade seja adicionado aos pontos que não atendem às restrições de classificação. O truque do kernel permite o cálculo do produto escalar em um espaço de dimensão superior, expandindo o espaço de recursos para aumentar significativamente o poder do modelo. As diferenças entre SVMs e redes neurais são explicadas, e a mudança para redes neurais devido à sua capacidade de realizar tipos mais avançados de classificação, mesmo que não totalmente compreendidas, é discutida.

  • 00:00:00 Nesta seção, o palestrante discute como aprender funções não lineares usando modelos lineares adicionando recursos extras que são funções derivadas dos recursos que estão sendo usados, o que foi explicado anteriormente na semana passada. O palestrante então se concentra em dois modelos, ou seja, redes neurais e máquinas de vetores de suporte, que dependem da expansão do espaço de recursos. As redes neurais exigem um extrator de recursos que pode ser aprendido, enquanto as máquinas de vetores de suporte usam o truque do kernel para explodir em um espaço de recursos maior. A palestra explica backpropagation, um método específico para calcular gradientes usados em redes neurais, bem como a função de perda de dobradiça usada em máquinas de vetores de suporte. O palestrante recomenda focar na primeira metade da palestra para uma melhor compreensão dos modelos lineares, pois serve como ponto de partida para o restante do curso.

  • 00:05:00 Nesta seção, o palestrante discute a história das redes neurais, remontando ao final dos anos 50 e início dos anos 60, quando os pesquisadores começaram a se inspirar no cérebro humano para desenvolver sistemas de IA. Eles criaram uma versão simplificada de um neurônio chamado perceptron, que funcionava como um modelo linear e era usado para classificação. No entanto, o interessante sobre o cérebro é a maneira como um grande grupo de neurônios trabalha em conjunto, então os pesquisadores começaram a encadear esses perceptrons para construir uma rede.

  • 00:10:00 Nesta seção da palestra sobre modelos lineares, o palestrante explica como introduzir não linearidade em uma rede de perceptrons para ter o poder de aprender funções normalmente não lineares e modelos mais interessantes. Uma maneira de fazer isso é usando uma função sigmóide, que pega um intervalo de números e os espreme no intervalo de 0 a 1. Ao encadear perceptrons com funções de ativação não linear em uma rede feed-forward ou perceptron multicamadas, um pode transformá-lo em um modelo de regressão ou classificação, com cada linha representando um parâmetro da rede que precisa de ajuste. O processo de adaptação desses números para resolver um problema de aprendizado é chamado de retropropagação, que será discutido mais adiante na aula.

  • 00:15:00 Nesta seção do vídeo intitulada "6 Linear Models 2: Neural Networks, Backpropagation, SVMs and Kernel method (MLVU2019)", o palestrante explica como configurar uma rede neural para problemas de regressão e classificação. Para a regressão, é configurada uma rede com uma camada oculta e nenhuma ativação na camada de saída, seguida da aplicação de uma função de perda de regressão. Para classificação binária, uma ativação sigmoide é adicionada à camada de saída, e as probabilidades obtidas podem ser interpretadas como a probabilidade de a entrada ser positiva. Para classificação multiclasse, uma ativação softmax é adicionada, o que cria um nó de saída para cada classe e normaliza as probabilidades para que elas somem um. A função de perda é usada para treinar os pesos da rede até que a perda de entropia cruzada seja minimizada.

  • 00:20:00 Nesta seção, o palestrante discute o princípio básico das redes neurais, que é o uso de gradiente descendente. No entanto, como calcular a perda em todo o conjunto de dados pode ser caro, é usada a descida do gradiente estocástico, em que apenas um exemplo no conjunto de dados é usado para calcular a perda, otimizando o modelo para esse único exemplo. A descida do gradiente estocástico adiciona aleatoriedade e cria um pouco de aleatoriedade, ajudando a escapar de mínimos locais. O locutor então adiciona uma camada oculta no playground de flores de atenção para classificação, onde a classificação probabilística é mostrada. No entanto, o modelo não parece ter um bom desempenho nesse problema específico.

  • 00:25:00 Nesta seção do vídeo, o palestrante discute as funções de ativação para modelos lineares, comparando as funções de ativação sigmoide e ReLU. A função ReLU ajusta os dados mais rapidamente e seu limite de decisão é linear por partes, enquanto o sigmoide cria um limite de decisão curvo. O palestrante recomenda experimentar camadas adicionais para tornar o modelo mais poderoso, embora a complexidade adicional dificulte o treinamento. O vídeo então se aprofunda na retropropagação, que permite que os computadores calculem gradientes com eficiência usando diferenciação simbólica sem o custo exponencial. O palestrante explica que a ideia básica é descrever a função como uma composição de módulos e aplicar repetidamente a regra da cadeia.

  • 00:30:00 Nesta seção, o algoritmo de retropropagação é explicado como um método para pegar qualquer modelo e dividi-lo em uma cadeia de módulos para calcular o gradiente global para uma entrada específica multiplicando os gradientes de cada submódulo junto. Este processo começa calculando a derivada de cada módulo em relação à sua entrada simbolicamente usando papel e caneta, passando então para a computação numérica. Um exemplo simples é dado para ilustrar a ideia de compor uma função como uma sequência de módulos, usando derivadas locais e aplicando repetidamente a regra da cadeia para derivar a derivada global. Os fatores resultantes são referidos como derivativos globais e locais, respectivamente.

  • 00:35:00 Nesta seção, o vídeo discute retropropagação dividindo o sistema em módulos e aplicando-o a uma rede neural de duas camadas com ativação sigmoide. O foco está em encontrar a derivada da função de perda em relação aos pesos, não a entrada. O primeiro módulo é a função de perda, seguido por Y, que é uma função de ativação linear. Cada valor oculto recebe um módulo com sua própria função de ativação, neste caso, uma função sigmoide, aplicada a ele. H2 linha é a entrada linear para a função de ativação. Por fim, o vídeo afirma que é importante reconhecer a diferença entre a derivada do modelo em relação à sua entrada e a derivada da função de perda em relação aos pesos.

  • 00:40:00 Nesta seção, o palestrante discute os gradientes locais de cada módulo, especificamente a derivada da perda em relação a V2 e Y sobre V2. A derivada de L sobre Y é simplificada usando a regra da cadeia e resulta em 2 vezes Y menos T, que é apenas o erro ao quadrado normal. Y sobre V2 é uma função linear e a derivada é simplesmente H2. Ao aplicar gradiente descendente ao parâmetro z2, ele atualiza subtraindo o erro vezes a ativação de H2. O palestrante fornece uma analogia de uma rede neural como um governo com o primeiro-ministro no topo, ministros na segunda camada e funcionários públicos na primeira camada. Os ministros ouvem os servidores públicos e gritam mais alto por certas decisões, interpretadas como confiança positiva, enquanto o silêncio significa confiança negativa. O primeiro-ministro ajusta seu nível de confiança com base no erro e o propaga de volta pela rede para atualizações.

  • 00:45:00 Nesta seção, o palestrante explica como funciona a retropropagação, atribuindo a responsabilidade a todos os pesos pelo erro na saída do modelo. Ele usa uma analogia artificial para demonstrar que o erro global é calculado e multiplicado pelo nível de confiança nos ministros que contribuíram para o problema. O locutor então mostra como a função de ativação precisa ser contabilizada ao atualizar o nível de confiança. A retropropagação essencialmente propaga o erro de volta na rede para atualizar os pesos do modelo. O palestrante resume que as redes neurais são uma combinação de funções lineares e não lineares e a versão mais simples é uma rede feed-forward.

  • 00:50:00 Nesta seção, o vídeo discute a história e os desafios das redes neurais e como o interesse por elas diminuiu devido à dificuldade de treinamento e à incerteza envolvida no ajuste de seus parâmetros. As máquinas de vetores de suporte, que têm uma superfície de perda convexa permitindo feedback imediato sobre o funcionamento do modelo, tornaram-se mais popularizadas devido à falta de incerteza envolvida em seu treinamento. O vídeo apresenta as máquinas de vetores de suporte como uma solução para o problema de vários modelos que funcionam de maneira diferente em dados semelhantes, usando o conceito de maximizar a margem para os pontos mais próximos e chamando-os de vetores de suporte.

  • 00:55:00 Nesta seção, o conceito de máquinas de vetores de suporte (SVMs) é apresentado como um método para encontrar um limite de decisão para um problema de classificação binária. O algoritmo SVM visa encontrar uma linha que maximize a margem, ou seja, a distância entre o limite de decisão e os pontos mais próximos de cada classe. O objetivo do SVM pode ser expresso como um problema de otimização restrita, onde o objetivo é maximizar a margem enquanto satisfaz as restrições que garantem que a saída do modelo seja +1 para vetores de suporte positivos e -1 para vetores de suporte negativos. O SVM pode ser ainda mais simplificado pela introdução de um parâmetro de rótulo que codifica se um ponto é positivo ou negativo, permitindo que os dois objetivos sejam reduzidos a um único objetivo que pode ser escrito inteiramente em termos dos parâmetros do hiperplano.

  • 01:00:00 Nesta seção, o palestrante discute o conceito de maximizar a margem entre os limites de decisão em máquinas de vetores de suporte (SVMs). O tamanho da margem depende do comprimento de um vetor, que pode ser determinado pelos parâmetros do modelo. O objetivo é maximizar essa margem enquanto ainda satisfaz certas restrições. No entanto, se os dados não forem linearmente separáveis, o modelo precisa ser afrouxado adicionando um parâmetro de folga, o que permite que o modelo viole certas restrições para encontrar um melhor ajuste. Cada ponto de dados tem seu próprio parâmetro de folga, que pode ser definido como zero ou um valor positivo.

  • 01:05:00 Nesta seção, o palestrante discute o conceito de SVMs de margem suave, que permite o tratamento de conjuntos de dados que não são linearmente separáveis adicionando um valor de penalidade aos pontos que não atendem às restrições de classificação. Essa penalidade é expressa por meio de uma função de perda que pode ser minimizada usando o método do gradiente descendente. O palestrante também apresenta a opção de reescrever a função de perda em termos dos vetores de suporte como alternativa ao truque do kernel, o que permite resolver o problema de otimização restrita. A função de perda de dobradiça é apresentada como uma forma de implementar esse sistema de penalidade.

  • 01:10:00 Nesta seção, o instrutor discute diferentes funções de perda no aprendizado de máquina, como precisão, mínimos quadrados, perda de entropia cruzada e perda SVM de margem suave. O SVM de margem suave funciona maximizando a margem entre um limite de decisão e os pontos mais próximos com penalidades. No entanto, como essa função de otimização tem restrições e um ponto de sela, ela não pode ser resolvida efetivamente por gradiente descendente. O instrutor apresenta o método dos multiplicadores de LaGrange, que ajuda a reescrever o problema de otimização restrita em uma forma muito mais simples, sem eliminar as restrições. Ao usar esse método, o instrutor mostra como a função de otimização SVM de margem suave pode ser reescrita, o que permite a aplicação do truque do kernel.

  • 01:15:00 Nesta seção, o palestrante discute máquinas de vetor de suporte (SVMs) e o truque do kernel, que é uma forma de substituir os produtos escalares de pares de pontos em um conjunto de dados por outros produtos escalares. Os SVMs funcionam penalizando o tamanho dos alfas, indicando quais pontos são vetores de suporte e somando todos os pares de pontos no conjunto de dados. O truque do kernel permite o cálculo do produto escalar em um espaço de dimensão superior, levando a um modelo muito mais poderoso por um custo semelhante ao da computação de um modelo linear. Um exemplo é dado onde os recursos são expandidos adicionando todos os produtos cruzados, o que aumenta muito o espaço de recursos e permite modelos muito mais poderosos.

  • 01:20:00 Nesta seção, o conceito de usar funções de kernel para obter espaços de recursos de alta dimensão para classificação é discutido. Ao usar o produto escalar e expandi-lo para potências mais altas, o espaço de recursos pode ser expandido para incluir produtos cruzados e espaços de recursos infinitamente dimensionais, mantendo um baixo custo. Este método, no entanto, é propenso a overfitting e pode ser complicado de implementar. O uso de funções kernel também pode ser estendido para dados não numéricos, como texto ou sequências de proteínas, onde a extração direta de recursos não é direta. Embora as funções do kernel possam não estar na moda atualmente, elas ainda podem ser úteis em certos casos.

  • 01:25:00 Nesta seção, as diferenças entre máquinas de vetores de suporte (SVMs) e redes neurais são discutidas. As SVMs são limitadas porque seu tempo de treinamento é quadrático, enquanto as redes neurais requerem apenas um certo número de passes nos dados. No entanto, SVMs ainda podem ser treinados com gradiente descendente, mas esse método perde de vista o truque do kernel. Por volta de 2005, o treinamento de SVMs tornou-se cada vez mais difícil devido à quantidade de dados envolvidos, levando ao ressurgimento das redes neurais. Além disso, a cultura dentro do aprendizado de máquina mudou para aceitar que as redes neurais funcionam, mesmo que o raciocínio por trás de seu sucesso ainda não seja totalmente compreendido. Por fim, essa mudança permitiu o uso de modelos de redes neurais para realizar tipos mais avançados de classificação, que serão discutidos na seção a seguir.