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

 

AlphaZero do zero – Tutorial de aprendizado de máquina



AlphaZero do zero – Tutorial de aprendizado de máquina

00:00:00 - 01:00:00 O vídeo "AlphaZero from Scratch – Machine Learning Tutorial" ensina aos usuários como construir e treinar o algoritmo AlphaZero usando Python e PyTorch para jogar jogos de tabuleiro complexos em níveis sobre-humanos, com exemplos dados para Tic -tac-toe e Connect 4. Um dos principais componentes do algoritmo é a busca da árvore de Monte Carlo, que envolve selecionar a ação mais promissora, expandir a árvore e simular o jogo, com os resultados retropropagados para treinamento. O tutorial demonstra a expansão de nós durante o algoritmo de pesquisa de Monte Carlo, o processo de execução automática e como treinar o modelo usando funções de perda que minimizam a diferença entre a política e a distribuição MCTS, e valor e recompensa final. O vídeo termina criando um jogo da velha e testando-o por meio de um loop while.

01:00:00 - 02:00:00 Nesta seção do tutorial sobre como construir o AlphaZero do zero, o instrutor demonstra a implementação do algoritmo Monte Carlo Tree Search (MCTS) para o jogo Tic-tac-toe. O algoritmo é implementado por meio de uma nova classe para MCTS que inclui um método de busca definindo um loop de iterações repetidas para as fases de seleção, expansão, simulação e retropropagação. O vídeo também aborda a implementação da arquitetura da rede neural AlphaZero, que inclui duas cabeças, uma para política e outra para valor, e utiliza uma rede residual com conexões skip. O cabeçalho da política usa uma função softmax para indicar a ação mais promissora, enquanto o cabeçalho do valor fornece uma estimativa de quão bom é o estado atual. O palestrante também discute a implementação do bloco inicial e backbone para a classe ResNet e explica como usar o modelo AlphaZero para obter uma política e um valor para um determinado estado no Tic-Tac-Toe.

02:00:00 - 03:00:00 O tutorial "AlphaZero from Scratch" demonstra a construção do algoritmo AlphaZero por meio de aprendizado de máquina. O apresentador cobre uma ampla gama de tópicos, desde a atualização do algoritmo MCTS, auto-play e métodos de treinamento, até melhorias como adição de temperatura à distribuição de probabilidade, decaimento de peso e suporte a GPU no modelo e adição de ruído ao nó raiz. O tutorial leva o visualizador passo a passo através da implementação desses recursos, mostrando como codificar o estado do nó, obter saídas de política e valor e ajustar a política usando softmax, movimentos válidos e ruído aleatório de Dirichlet para adicionar exploração enquanto garante ações promissoras não são perdidas.

03:00:00 - 04:05:00 Neste tutorial do YouTube sobre como criar AlphaZero do zero usando aprendizado de máquina, o instrutor aborda vários tópicos, como adicionar exploração à política com um fator de ruído, incorporar suporte de CPU e GPU para modelos de treinamento em jogos mais complexos, atualizando o código fonte para criar um jogo Connect Four, aumentando a eficiência da implementação do AlphaZero através da paralelização, criando duas novas classes em Python para jogos self-play, codificando estados para aumentar a eficiência, implementando o algoritmo Monte Carlo Tree Search para AlphaZero, e treinando um modelo para Connect Four usando fs0 paralelizado. O tutorial fornece orientação passo a passo sobre cada tópico com foco na criação de uma implementação AlphaZero eficiente e eficaz. O apresentador demonstra como criar um ambiente Connect Four usando o pacote de ambientes Kegel, em seguida, executa e visualiza o jogo com dois agentes que usam o algoritmo de busca MCTS baseado em um modelo AlphaZero treinado. O apresentador também faz pequenas correções no código e define o jogador um como o agente usando o algoritmo MCTS para previsões com base no modelo treinado. O tutorial termina com o apresentador disponibilizando um repositório GitHub com jupyter notebooks para cada checkpoint e uma pasta de pesos com o último modelo para Tic-tac-toe e Connect Four, manifestando interesse em fazer um vídeo de acompanhamento no Mu Zero se houver interesse nele.


Parte 1

  • 00:00:00 Nesta seção, o tutorial apresenta o conceito de AlphaZero, um algoritmo de IA que usa técnicas de aprendizado de máquina para aprender a jogar jogos de tabuleiro complexos em níveis sobre-humanos. O algoritmo foi inicialmente desenvolvido pela DeepMind e pode alcançar resultados impressionantes em jogos como Go e até mesmo inventar novos algoritmos em matemática. O tutorial ensinará aos usuários como construir o AlphaZero do zero usando Python e PyTorch e treiná-lo e avaliá-lo em jogos como Tic-tac-toe e Connect 4. O algoritmo tem dois componentes, jogo automático e treinamento, e usa uma rede neural para produzir uma política e um valor com base no estado de entrada. Ao repetir esse ciclo, o algoritmo pode se otimizar para jogar melhor do que os humanos.

  • 00:05:00 Nesta seção, o vídeo explica a busca em árvore de Monte Carlo, um algoritmo de busca usado para reprodução automática e o algoritmo geral. Ele pega um estado, neste caso, uma posição de bloco, e encontra a ação mais promissora construindo uma árvore para o futuro. Cada nó armazena um estado e uma contagem total de vitórias alcançadas ao jogar naquela direção no futuro, bem como a contagem total de visitas. A proporção vencedora dos filhos de cada nó é usada para determinar a ação mais promissora, e essa informação pode ser usada em um jogo real como jogo da velha. Os dados para os nós são gerados descendo a árvore na fase de seleção até chegar a um nó folha que pode ser expandido ainda mais.

  • 00:10:00 Nesta seção, o palestrante discute as diferentes fases envolvidas no Monte Carlo Tree Search (MCTS) para jogos. A fase de seleção envolve a escolha de um nó filho que tenha uma fórmula UCB mais alta e tenha sido visitado relativamente poucas vezes. A fase de expansão envolve criar um novo nó e adicioná-lo à árvore, enquanto a fase de simulação envolve jogar o jogo aleatoriamente até que um nó terminal seja alcançado. Na fase de retropropagação, os resultados obtidos na fase de simulação são propagados de volta na árvore, atualizando a contagem de visitas e vitórias para cada nó.

  • 00:15:00 Nesta seção do vídeo, o instrutor apresenta um exemplo do processo Monte Carlo Tree Search (MCTS), começando com a fase de seleção em que o algoritmo percorre a árvore para escolher o próximo nó. Eles então seguem para a fase de expansão onde um novo nó é criado, seguido pela fase de simulação onde ações aleatórias são tomadas para alcançar um nó terminal. O algoritmo então verifica se o jogo foi ganho, perdido ou se alguma regra foi violada. Uma vez que o jogo foi ganho, a propagação de volta é realizada, atualizando a contagem de vitórias e visitas para os nós percorridos durante o processo MCTS. O processo é reiterado com uma nova fase de seleção, e fase de expansão, com um novo nó criado e a fase de simulação realizada novamente.

  • 00:20:00 Nesta seção, o tutorial percorre o processo de simulação e retropropagação no algoritmo MCTS usando AlphaZero. O exemplo apresentado neste tutorial mostra uma perda durante a etapa de simulação. Ao retropropagar, apenas a contagem de visitas é aumentada e o número total de vitórias permanece o mesmo, pois a IA perdeu o jogo durante a simulação. O tutorial passa a explicar os processos de seleção e expansão do MCTS usando o AlphaZero. O tutorial demonstra como calcular a pontuação UCB para cada criança e como selecionar a criança com a pontuação mais alta. O processo então se repete com a IA calculando a fórmula UCB para cada nó até chegar a um nó folha, onde ocorre a expansão.

  • 00:25:00 Nesta seção do tutorial, o foco está em como a técnica de pesquisa de Monte Carlo muda quando é adaptada ao algoritmo General AlphaZero. Há duas mudanças críticas que são feitas no algoritmo. Primeiramente, a política obtida do modelo é incorporada à fase de seleção, atualizando a fórmula UCB com as informações da política. Em segundo lugar, a fase de simulação é eliminada e o valor obtido da rede neural é usado para retropropagação, juntamente com a política para a fase de seleção. Com essas mudanças, a técnica de pesquisa de Monte Carlo pode melhorar significativamente quando há um modelo que entende como jogar o jogo.

  • 00:30:00 Nesta seção do vídeo "AlphaZero from Scratch – Machine Learning Tutorial", o apresentador faz uma pequena alteração para expandir as direções possíveis do óleo durante a fase de expansão, assim todos os nós possíveis podem ser criados em vez de apenas um novo nó. Eles então percorrem iterações em um quadro branco para mostrar como a pesquisa multicolorida é adaptada. Durante a fase de expansão, novos nós são criados chamando a rede neural para obter política e valor e adicionando o número de vitórias, contagem de visitas e informações de política aos nós. Então, na etapa de retropropagação, o valor é propagado de volta. O apresentador menciona a fórmula UCB e observa que a probabilidade de vitória não pode ser calculada para nós com uma contagem de visitas igual a zero, o que precisa ser resolvido para evitar um erro de divisão por zero.

  • 00:35:00 Nesta seção do tutorial, o palestrante explica o processo de expansão de nós durante o algoritmo de pesquisa de Monte Carlo. O algoritmo é usado para determinar a melhor jogada para um determinado estado em um jogo. O palestrante apresenta um exemplo de como os nós são expandidos e como a política e o valor são calculados para cada nó filho. O processo de retropropagação do valor do novo nó filho para o nó raiz também é explicado. O tutorial então passa a explicar o processo de auto-jogo, onde um jogo é jogado por um algoritmo contra si mesmo, começando com um estado em branco e usando a pesquisa de Monte Carlo para determinar a melhor jogada com base na distribuição de contagem de visitas dos filhos de o nó raiz.

  • 00:40:00 Nesta seção, vemos como treinar o modelo usando o Monte Carlo Tree Search (MCTS). O objetivo é armazenar todas as informações obtidas durante o jogo, incluindo a distribuição do MCTS e a recompensa de cada estado. A recompensa depende do resultado final do jogo para o jogador naquele estado. Depois de coletar os dados, usamos para treinar o modelo usando uma função de perda que minimiza a diferença entre a política e a distribuição MCTS e o valor V e a recompensa final Z. Fazemos isso usando retropropagação para atualizar os pesos do modelo Teta. No geral, esse processo ajuda o modelo a entender melhor como jogar o jogo e se tornar otimizado.

  • 00:45:00 Nesta seção, o tutorial em vídeo sobre como criar o AlphaZero do zero usando aprendizado de máquina começa criando um Jupyter Notebook e construindo um jogo simples de jogo da velha com uma contagem de linhas e colunas, bem como um tamanho de ação . O tutorial, então, escreve métodos para obter o estado inicial, o próximo estado após a execução de uma ação e movimentos legais. A entrada da ação é codificada em um formato de linha e coluna para ser usado em uma matriz NumPy. O código foi escrito para ser flexível para resolver diferentes ambientes ou jogos de tabuleiro, com planos de expansão para o Connect Four.

  • 00:50:00 Nesta seção, o YouTuber está escrevendo um método que verificará se um jogador ganhou ou não após sua jogada. Eles começam obtendo a linha e a coluna do movimento e, em seguida, determinam o jogador que fez esse movimento. Em seguida, eles verificam todas as formas possíveis de ganhar o jogo da velha, que são três em linha, três em coluna e duas diagonais, usando os métodos np.sum e np.diac. Além disso, eles verificam o empate calculando a soma dos movimentos válidos e verificando se é zero. Por fim, eles criam um novo método chamado get value e o encerram, retornando o valor e true se o jogo tiver terminado.

  • 00:55:00 Nesta seção, o autor escreve um jogo da velha e um método de oponente para mudar o jogador. Eles testam o jogo executando-o e usam um loop while. No loop, o estado e os movimentos válidos são impressos e o usuário é solicitado a inserir seu movimento. O jogo verifica se a ação é válida e se o jogo foi encerrado. Se o jogo continuar, o jogador é invertido. Se o valor for igual a um, o jogador ganha, e se houver empate, será impresso.

Parte 2

  • 01:00:00 Nesta seção do tutorial sobre como construir o AlphaZero do zero usando aprendizado de máquina, o instrutor começa escolhendo o jogo da velha como o jogo a ser usado para fins de demonstração. É criada uma nova classe para pesquisa multicolorida (MCTS), que inicializa com o jogo e hiperparâmetros como argumentos. Dentro dessa classe, um método de pesquisa é definido com um loop para iterações repetidas das fases de seleção, expansão, simulação e retropropagação, retornando finalmente a distribuição da contagem de visitas dos filhos do nó raiz. Em seguida, uma classe para um nó é definida com atributos como estado do jogo, pai, ação tomada, filhos e contagem de visitas. O nó raiz também é definido com o jogo, hiperparâmetros, estado inicial e Nenhum para espaços reservados pai e ação executada.

  • 01:05:00 Nesta seção, o vídeo percorre o processo de seleção de nós na árvore durante o jogo no algoritmo AlphaZero. O método para determinar se um nó está totalmente expandido é definido, usando informações sobre o número de movimentos expansíveis e se o nó não é finalizado. Durante a fase de seleção, o algoritmo seleciona para baixo enquanto o nó é totalmente expandido. Para a seleção, o algoritmo percorre todos os filhos do nó, calcula a pontuação UCB para cada filho e, em seguida, escolhe o filho com a pontuação UCB mais alta. A pontuação UCB é calculada usando o valor Q, uma constante C para exploração ou exploração e uma função logarítmica. O valor Q é definido como a soma das visitas da criança dividida por sua contagem de visitas, com ajustes feitos para garantir que o valor Q fique entre um intervalo de 0 e 1.

  • 01:10:00 Nesta seção, o vídeo tutorial aborda o processo de seleção do AlphaZero. O código seleciona um filho que tem um valor muito negativo ou baixo, pois escolher isso colocará o adversário em uma situação ruim. O valor Q do filho é então invertido para dar ao pai um valor Q próximo a 1. Dessa forma, a árvore é trabalhada de forma que o filho fique em uma posição ruim. O vídeo mostra as etapas para implementar essas alterações no código e explica a importância de verificar se o nó finalmente selecionado é terminal ou não. Além disso, um novo método foi adicionado para considerar a perspectiva do jogo no atributo get value.

  • 01:15:00 Nesta seção do tutorial sobre como construir o AlphaZero do zero usando aprendizado de máquina, o instrutor explica como verificar se um nó é terminal, retropropagar e executar expansão e simulação. Ao amostrar um movimento expansível fora dos definidos, um novo estado para um filho é criado e um novo nó é anexado à lista de filhos para referência posterior dentro do método select. O instrutor também discute a ideia de inverter o estado para alterar os jogadores em vez de definir explicitamente os jogadores, tornando a lógica mais simples para jogos de um jogador e garantindo que o código seja válido.

  • 01:20:00 Nesta seção, o palestrante está criando um nó filho para o jogo Tic-Tac-Toe e explicando o método de mudança de perspectiva. Eles definem o jogador como -1 para o oponente e usam a multiplicação para inverter a perspectiva. Depois de criar o nó filho, eles o anexam à lista de filhos e o retornam. Em seguida, o palestrante passa a discutir o processo de simulação, onde usam rollouts para realizar ações aleatórias até que um nó terminal seja alcançado e o valor seja obtido. Eles usam o valor obtido para retropropagar os nós onde o jogador do nó ganhou para ser mais promissor.

  • 01:25:00 Nesta seção do vídeo, o apresentador continua construindo o algoritmo Monte Carlo Tree Search (MCTS) para o programa de jogos AlphaZero. Eles mostram como usar o estado bruto atual para escolher uma ação, obter o próximo estado e verificar se esse estado é terminal. O apresentador escreve uma instrução if para diferenciar entre o jogador um ou o jogador dois recebendo um valor positivo quando o jogo é ganho por eles e, em seguida, escreve o método de propagação de volta para atualizar o valor e a contagem de visitas para cada nó. Finalmente, o apresentador cria uma variável que calcula a probabilidade das ações mais promissoras, action_props.

  • 01:30:00 Nesta seção, o tutorial em vídeo mostra como implementar um algoritmo independente Monte Carlo Tree Search (MCTS) para o jogo Tic-tac-toe. O tutorial demonstra como percorrer todos os filhos e escrever adereços de ação para cada filho. A contagem de visitas de cada criança é usada para transformá-las em probabilidades. A soma das probabilidades é então dividida por 1 para convertê-las em probabilidades. O objeto MCTS é então criado e a raiz quadrada de 2 é usada para o valor C na fórmula UCB. O script é testado contra o jogo e o algoritmo é testado com o estado neutro. A árvore MCTS é então utilizada, junto com a melhor função filho, para retornar o filho que foi visitado mais vezes.

  • 01:35:00 Nesta seção, é discutida a arquitetura da rede neural para o algoritmo AlphaZero. O estado fornecido como entrada para a rede neural é uma posição do tabuleiro codificada em três planos diferentes para jogador positivo, jogador negativo e campos vazios. Essa codificação permite reconhecer padrões e entender como jogar o jogo. A arquitetura de rede neural usada é uma rede residual com conexões de salto para armazenar o valor X inicial e fornecer a saída como a soma da saída dos blocos convolucionais e o valor X inicial. O modelo é dividido em duas partes, cabeça de política e cabeça de valor, e para o caso do jogo da velha, há nove neurônios na cabeça de política, um para cada ação potencial.

  • 01:40:00 Nesta seção, o palestrante explica a arquitetura da rede neural AlphaZero desde o início. A rede tem duas "cabeças", uma para política e outra para valor. A cabeça da política tem nove neurônios, e a saída é aplicada com uma função soft-max para transformá-la em uma distribuição de probabilidades indicando o quão promissora é uma determinada ação. A cabeça de valor tem apenas um neurônio e usa a função de ativação 10h para esmagar todos os valores potenciais na faixa de negativo a positivo, dando uma estimativa de quão bom é o estado atual. O código é criado dentro de um notebook Jupyter usando a estrutura de aprendizagem profunda PyTorch. O modelo inclui um bloco inicial e um backbone de blocos residuais convolucionais, e cada bloco contém uma camada convolucional seguida por duas camadas de normalização em lote e uma função de ativação ReLU.

  • 01:45:00 Nesta seção, o palestrante discute a criação do bloco inicial para o modelo AlphaZero, que envolve a criação de um bloco conf 2D, um bloco de norma de lote e um bloco de valor. Eles também configuram um backbone para o modelo usando uma matriz de blocos de descanso e criam uma classe para blocos de descanso. Os blocos restantes consistem em um bloco conf, um bloco de norma de lote e outro bloco conf, que são usados para atualizar a entrada usando conexões ignoradas. O método forward é definido para alimentar a entrada através dos blocos conf e adicionar a saída resultante ao resíduo.

  • 01:50:00 Nesta seção, o palestrante percorre o código para criar uma rede residual (ResNet) para o algoritmo AlphaZero a partir do zero. Eles mostram como criar o backbone do ResNet fazendo um loop sobre os blocos residuais para o número especificado de camadas ocultas. Em seguida, eles criam o cabeçalho de política e o cabeçalho de valor usando nn.sequential e definindo as camadas na sequência. Por fim, o palestrante mostra como definir o método de encaminhamento para a classe ResNet passando a entrada pelo bloco inicial, fazendo um loop nos blocos residuais e retornando a soma no final.

  • 01:55:00 Nesta seção, o palestrante explica como usar o modelo AlphaZero para obter uma política e um valor para um determinado estado no Tic-Tac-Toe. Ele escreve o código para obter a política e o valor passando um estado de tensor pelo modelo e, em seguida, nivela a política e obtém o item de valor. Ele também explica a importância de codificar o estado no formato correto e adicionar uma dimensão de lote ao tensor.

Parte 3

  • 02:00:00 Nesta seção, o palestrante mostra como converter um tensor de política em float usando o método dot item e, em seguida, aplica a função softmax para escolher as ações com maior probabilidade. O palestrante então visualiza a distribuição de políticas usando o Matplotlib para mostrar onde jogar. Em seguida, o palestrante define uma semente para Torch para garantir a reprodutibilidade e atualiza o algoritmo MCTS, fornecendo uma entrada de modelo ResNet para prever um valor e uma política com base no estado do nó folha. A parte da simulação é removida e o valor obtido do modelo é usado para retropropagação.

  • 02:05:00 Nesta seção do vídeo, o apresentador demonstra como codificar o estado do nó de um jogo da velha e transformá-lo em um tensor usando o arch.tensor para fornecê-lo como entrada para o modelo. A política, que consiste em logits, precisa ser transformada em uma distribuição de verossimilhanças usando o arch.softmax. O apresentador também explica como mascarar movimentos ilegais usando a política e movimentos válidos e como redimensionar as políticas para que representem porcentagens. O valor é extraído do cabeçalho do valor chamando value.item(). Além disso, o apresentador mostra como usar a política de expansão e o valor de retropropagação caso o nó seja um nó folha.

  • 02:10:00 Nesta seção do tutorial em vídeo sobre a criação do AlphaZero do zero usando aprendizado de máquina, o palestrante explica como atualizar os métodos de fórmula expand e UCB. O método de expansão é atualizado para expandir imediatamente em todas as direções possíveis e para armazenar a probabilidade dentro do objeto de nó para uso posterior na fórmula UCB durante a seleção. A nova fórmula UCB usa uma fórmula diferente da pesquisa multicolorida padrão e o palestrante demonstra como remover o math.log e adicionar um à contagem de visitas da criança. Essas atualizações permitem o uso do método UCB em uma criança que não foi visitada antes.

  • 02:15:00 Nesta seção, o instrutor atualiza o MCTS com uma política de direitos da criança para selecionar movimentos e testa-a executando um jogo. Eles então passam a construir o algoritmo AlphaZero principal definindo uma classe AlphaZero que aceita um modelo, otimizador, jogo e outros argumentos. Eles também definem os métodos de autoexecução e treinamento e criam um loop que repete vários ciclos de reprodução, coleta de dados, treinamento do modelo e teste novamente. O instrutor também cria uma classe de memória para armazenar dados de treinamento e faz loops sobre cada jogo individual no ciclo de treinamento.

  • 02:20:00 Nesta seção do tutorial em vídeo, o apresentador passa pelo código para a reprodução automática e o loop de treinamento do AlphaZero. Eles abordam como estender os novos dados obtidos do método de reprodução automática para a lista de memória e como alterar o modo do modelo para o modo de avaliação para evitar botões de lote durante a reprodução. O loop de treinamento também é detalhado com como chamar o método train e armazenar os pesos do modelo. Por fim, o método de execução automática é explicado, incluindo a definição de uma nova memória, a criação de um estado inicial e o loop da jogabilidade, ao mesmo tempo em que verifica os estados do terminal e retorna os dados à memória no formato Tuple.

  • 02:25:00 Nesta seção, o tutorial em vídeo mostra como armazenar o estado neutro, adereços de ação e informações do jogador na memória para usá-lo posteriormente para coletar dados de treinamento. O tutorial demonstra como amostrar uma ação dos props de ação usando a função random.choice do NumPy e, em seguida, jogar com base nessa ação. O vídeo também aborda como verificar se o estado foi encerrado ou não e, se for, como retornar o resultado final para cada instância em que um jogador jogou. Por fim, o tutorial mostra como anexar o estado neutro, as props de ação e o resultado à variável de memória e como recuperar esses dados posteriormente para treinamento.

  • 02:30:00 Nesta seção do tutorial "AlphaZero from Scratch", o código é atualizado para torná-lo mais geral, alterando valores negativos para valores percebidos pelo oponente em diferentes jogos. A visualização de loops é aprimorada usando o pacote tqdm e caminhos de progresso. A implementação do AlphaZero é testada criando uma instância da classe com um modelo resnet, um otimizador Adam e argumentos específicos. O jogo Tic-Tac-Toe é usado como exemplo com 4 blocos de descanso e uma dimensão oculta de 64. A constante de exploração, número de pesquisas, iterações, jogos de auto-jogo e épocas são definidos e o modelo é salvo para uso futuro .

  • 02:35:00 Nesta seção do tutorial, o Método de Treinamento é implementado dentro da implementação do AlphaZero, embaralhando os dados de treinamento e percorrendo toda a memória em lotes para amostrar um lote de amostras diferentes para treinamento. Os estados, props MCTS e recompensas finais são obtidos da amostra chamando o método zip para transpor a lista de tuplas para listas de matrizes MP. Estes são então alterados para arrays NP, e os alvos de valor são remodelados para que cada valor esteja em seu próprio sub-array para melhor comparação com a saída do modelo.

  • 02:40:00 Nesta seção do tutorial, o criador do vídeo discute como transformar o estado, alvos de política e alvos de valor em tensores, usando o arch.float32, para obter a política de saída e o valor de saída do modelo por permitindo-lhe prever o estado. Eles definem a perda de política e a perda de valor, que usam para calcular a soma de ambas as perdas para minimizar a perda geral por meio da propagação reversa. Eles então demonstram o processo de treinamento usando um tamanho de lote padrão de 64, com barras de progresso que mostram as iterações do processo de treinamento. Depois de treinar o modelo por 3 iterações, eles carregam o modelo estático para testar o que a rede neural aprendeu sobre o jogo.

  • 02:45:00 Nesta seção do tutorial em vídeo, o apresentador demonstra como usar o modelo de rede neural para jogar e testar sua capacidade de prever onde fazer movimentos. Ao executar uma simulação na busca do MCTS, o modelo é capaz de fornecer uma distribuição de onde jogar e uma previsão de valor para o estado dado. O apresentador também adiciona suporte a GPU ao algoritmo para torná-lo mais rápido durante o treinamento e o teste. O apresentador mostra como declarar o dispositivo e passá-lo para o modelo como argumento para usar uma GPU Nvidia, se disponível. Além disso, o modelo é movido para o dispositivo durante a reprodução automática e o treinamento para otimizar a velocidade.

  • 02:50:00 Nesta seção, o palestrante discute vários ajustes que podem ser adicionados ao AlphaZero para melhorar seu desempenho. Primeiro, eles adicionam redução de peso e suporte a GPU ao modelo. Em seguida, eles introduzem o conceito de temperatura, que permite uma distribuição de probabilidades mais flexível ao amostrar ações. Uma temperatura mais alta leva a mais exploração, enquanto uma temperatura mais baixa leva a mais exploração. Por fim, o palestrante sugere adicionar ruído à política inicial dada ao nó raiz durante a pesquisa de Monte Carlo. Esses ajustes podem melhorar significativamente os resultados do algoritmo AlphaZero.

  • 02:55:00 Nesta seção do tutorial sobre como construir o AlphaZero do zero por meio do aprendizado de máquina, o foco é adicionar ruído ao nó raiz para incorporar aleatoriedade e explorar mais, além de garantir que nenhuma ação promissora seja perdida. Isso é feito obtendo-se primeiro uma política e um valor chamando save.model e usando maçarico.tensor e o dispositivo do modelo para o estado. A política é então ajustada usando softmax e multiplicada com movimentos válidos para mascarar movimentos ilegais. O ruído aleatório de Dirichlet é adicionado à política multiplicando a política antiga por um coeficiente menor que um e adicionando esse coeficiente a outro coeficiente multiplicado pelo ruído aleatório. Dessa forma, a política é alterada para permitir uma maior exploração, principalmente no início, quando o modelo não conhece muito sobre o jogo.

Parte 4

  • 03:00:00 Nesta seção, o tutorial em vídeo se concentra em adicionar exploração à política usando um fator de ruído. Ao modificar a política, o bot pode priorizar ações que não foram selecionadas com frequência aumentando a exploração. O vídeo descreve como ajustar a equação para a política e usar o valor Alpha como entrada para a função NP dot random dot dirichlet, que muda a aparência da distribuição aleatória com base no número de ações diferentes no jogo, então o Alpha pode mudar dependendo do ambiente. A política de expansão do nó raiz também é delineada, garantindo que o nó seja retropropagado (contagem de visitas definida como uma) após a expansão, de modo que o anterior concorde com a seleção do filho no início da pesquisa de Monte Carlo.

  • 03:05:00 Nesta seção do tutorial, o instrutor adiciona suporte a CPU e GPU para modelos de treinamento em jogos mais complexos como o Connect Four. Eles definem um dispositivo usando o arch.device() e verificam se o arch.cuda.is_available() para decidir se deve usar uma CPU ou um dispositivo CUDA. Eles também adicionam o dispositivo à pilha de estado do tensor e ao carregamento do arquivo estático. O instrutor treina e testa o modelo no Tic-Tac-Toe e mostra que o modelo aprendeu a reconhecer movimentos ilegais. Eles então definem o jogo do Connect Four com contagem de linhas, contagem de colunas e tamanho da ação.

  • 03:10:00 Nesta seção, o tutorial em vídeo mostra como atualizar o código-fonte para criar um jogo Connect Four. O jogo é inicializado com uma matriz em branco e um ponto salvo em uma variável de linha de quatro para o número de pedras necessárias para vencer. O método get next state é atualizado para recuperar uma linha olhando para uma determinada coluna e, em seguida, encontrando o campo vazio mais profundo nessa coluna para colocar uma pedra. O método obter movimentos válidos é atualizado para verificar a linha superior em busca de movimentos disponíveis. O método de verificação de vitória é copiado do jogo Tic Tac Toe com ajustes para verificar ambas as diagonais, e o método get next state é atualizado para usar a variável de ação em vez da variável da coluna. O código atualizado é testado para garantir que funcione.

  • 03:15:00 Nesta seção, o palestrante substitui o jogo da velha pelo jogo Connect Four e define o número de pesquisas para 20 para validar. O tamanho do modelo também é alterado para 9 para o número de blocos de descanso e 128 para o dim oculto para permitir que o modelo aprenda melhor. A eficiência do treinamento é então aumentada para que leve menos tempo para ambientes complexos. O modelo é então treinado para uma iteração, que leva várias horas. O conjunto de avaliação é então usado para testar se o modelo aprendeu algo ou não.

  • 03:20:00 Nesta seção do tutorial, o foco é aumentar a eficiência da implementação do AlphaZero por meio da paralelização. O plano é paralelizar o máximo possível da implementação agrupando os estados para obter previsões paralelas para a política e o valor. Dessa forma, o número de vezes que o modelo é chamado é drasticamente reduzido, utilizando totalmente as capacidades da GPU e aumentando a velocidade. O tutorial explica como implementar a versão paralelizada usando Python sem usar pacotes como Ray, e uma nova classe chamada "AlphaZeroParallel" e "MCTSParallel" é criada copiando as classes originais.

  • 03:25:00 Nesta seção, o palestrante discute a criação de duas novas classes em Python: `SPG` para armazenar informações sobre jogos self-play, e `ParallelMCD`, que implementa os métodos `save_play` e `search` usando a nova classe `SPG`. A classe `SPG` armazena o estado inicial do jogo, uma lista de memória vazia e as variáveis `root` e `note` definidas como `None`. A classe `ParallelMCD` também atualiza o método `set_play` para criar uma lista de instâncias `SPG` usando o `game` e o número de jogos paralelos como entradas. O loop `while` então executa o método `set_play` até que todos os jogos auto-jogados tenham terminado, o que permite uma paralelização eficiente.

  • 03:30:00 Nesta seção, o palestrante explica como obter uma lista de todos os estados e transformá-los em uma matriz de números para aumentar a eficiência. Eles também mostram como alterar a perspectiva para todos os estados usando uma chamada de função para multiplicar os valores com um negativo para o jogador definido como um negativo. Em seguida, o palestrante demonstra como passar os estados neutros para a pesquisa de Monte Carlo, atualizar o método de pesquisa de pesquisa de Monte Carlo e obter políticas no vídeo usando todos os estados de lote. Por fim, eles explicam como trocar a ordem do estado codificado para trabalhar com vários estados e não apenas um ao chamar o método obter estado codificado e como copiar esse processo para o jogo da velha.

  • 03:35:00 esse loop em uma matriz numpy e usando a vetorização de numpy. Em seguida, podemos aplicar o modelo a todos os estados da matriz numpy sem precisar percorrer cada um deles, o que economiza muito tempo. Podemos então remodelar a saída de volta à sua forma original e prosseguir com o restante da pesquisa MCTS como de costume. Por fim, atualizamos as estatísticas para cada jogo de autojogo e retornamos o nó raiz para a ação escolhida. Isso conclui a implementação da pesquisa MCTS com política e rede de valor usando o algoritmo AlphaZero.

  • 03:40:00 Nesta seção do vídeo, o instrutor está fazendo algumas alterações no código para armazenar todos os nós expansíveis em vez das classes SPG. Em seguida, o foco muda para descobrir quais jogos de jogo seguro são expansíveis ou não, criando uma lista para armazená-los e obter o índice de mapeamento para cada jogo de jogo seguro. O instrutor verifica se existem jogos expansíveis e, se houver, os estados são empilhados e codificados para que a política e o valor possam ser obtidos posteriormente.

  • 03:45:00 Nesta seção do tutorial, o instrutor explica a implementação do código para o algoritmo Monte Carlo Tree Search para AlphaZero. Eles mostram como usar os estados expansíveis e não precisam descomprimir, espremer ou adicionar ruído, além de criar um índice para obter a política e índices de mapeamento para alocar políticas no índice do jogo de autojogo. Os nós são expandidos usando a política SPG, retropropagados usando o valor de ponto SPG e, em seguida, as props de ação são obtidas em vez de usar o método OSF Planet. O instrutor copia o código de paralelização e faz alterações para trabalhar com os adereços de ação em vez do método OSF Planet como parte da implementação do algoritmo Monte Carlo Tree Search para AlphaZero.

  • 03:50:00 Nesta seção, o tutorial em vídeo se concentra na atualização do código para a implementação paralela da pesquisa MCTS. O instrutor enfatiza a importância de remover os jogos auto-jogados da lista se eles forem terminais e atualizar o estado chamando `spg.state` em vez de `SPG class`. O código também é alterado para anexar a memória à memória regional geral e inverter o jogador após a conclusão do loop de todos os jogos de auto-jogo. O objetivo é criar um loop suave que funcione de forma eficiente e remova o círculo da lista de jogos de autojogo no momento apropriado.

  • 03:55:00 Nesta seção, o palestrante discute o treinamento de um modelo para o Connect Four usando a implementação fs0 paralelizada. O modelo é treinado por oito iterações e avalia os resultados usando uma placa Connect Four. O palestrante observa que o número de buscas é bem pequeno quando comparado a outros algoritmos de busca utilizados na prática, mas os resultados são satisfatórios. Eles jogam contra o modelo e fazem alguns movimentos, e o modelo responde de acordo. No geral, o treinamento levou algumas horas, mas o modelo final tem um bom entendimento de como jogar.
  • 04:00:00 Nesta seção do tutorial, o apresentador demonstra como criar um ambiente Connect Four usando o pacote de ambientes Kegel e jogar o jogo com dois agentes. Os agentes usam o algoritmo de pesquisa MCTS para fazer previsões com base em um modelo AlphaZero treinado. O apresentador também faz algumas pequenas correções no código, como incorporar os props de ação de temperatura em fs03 e usar o save.optimizer em vez do otimizador comum. Além disso, o apresentador define a temperatura como zero para sempre obter o arco máximo da política e define o épsilon de reflexão como um para adicionar alguma aleatoriedade ao jogo. Por fim, o apresentador define o jogador um como um agente calculado que usa o algoritmo MCTS para fazer previsões com base no modelo treinado.

  • 04:05:00 Nesta seção do "AlphaZero from Scratch - Tutorial de aprendizado de máquina", o palestrante modela o jogo e os argumentos escrevendo códigos para o jogador 1 e jogador 2, o que oferece mais flexibilidade para experimentar diferentes jogadores. Eles então rodam a célula e obtêm visualizações dos modelos jogando uns contra os outros, o que resultou em um empate, pois o modelo pode se defender de todos os ataques. Eles também demonstraram como modificar o código do jogo da velha, alterando o jogo e os argumentos e atualizando o caminho, o que levou os modelos a jogarem entre si e empatarem novamente. O tutorial foi concluído e o palestrante forneceu um repositório GitHub com notebooks jupyter para cada ponto de verificação e uma pasta de pesos com o último modelo para Tic-tac-toe e Connect Four. O palestrante também manifestou interesse em fazer um vídeo de acompanhamento do Mu Zero, caso haja interesse.
 

Google entra em pânico com o ChatGPT [As guerras da IA começaram]



Google entra em pânico com o ChatGPT [As guerras da IA começaram]

O vídeo discute como o Google está se preparando para o potencial dos chatbots se tornarem mais poderosos e como isso pode impactar seu modelo de negócios. A Microsoft está trabalhando em um chatbot que permitiria aos usuários se comunicar com o Bing de uma maneira mais humana, e esse recurso será benéfico para pesquisas em que as imagens não existem atualmente. A Microsoft disse que está trabalhando de perto com IA aberta para que esse recurso não gere visuais explícitos ou inapropriados. Portanto, parece que o Bing está passando por uma grande reformulação com os recursos de bate-papo GPT e Dali 2 integrados.

  • 00:00:00 O Google, em 1998, alugava uma casa ao lado de outra casa. A mesa de pingue-pongue estava na outra casa.

  • 00:05:00 O vídeo discute como o Google está preocupado com o potencial dos chatbots se tornarem mais poderosos e como isso pode prejudicar seu modelo de negócios. O Google está trabalhando em um plano para combater isso, e seus cofundadores, Larry Page e Sergey Brin, foram convidados para uma reunião para discutir o assunto.

  • 00:10:00 Neste vídeo, o Google é visto como uma competição com a Microsoft, já que esta está investindo mais 10 bilhões de dólares em IA aberta. No entanto, isso pode não ser do melhor interesse do movimento de IA aberta, pois pode levar à morte da IA antes que ela realmente tenha a chance de começar. O Google também está trabalhando em 20 projetos de IA, alguns dos quais são semelhantes ao chat GPT, o que levou a Microsoft a investir 300 milhões na empresa. Não está claro como isso vai acontecer, mas parece que o Google será forçado a colocar as questões de segurança no banco de trás e liberar seus produtos de IA.

  • 00:15:00 O vídeo fala sobre os rumores de que a Microsoft está trabalhando em um chatbot que permitiria aos usuários se comunicar com o Bing de uma forma mais humana. Ele também menciona que esse recurso será benéfico para pesquisas em que as imagens não existem no momento. Por fim, o vídeo fala sobre como essa integração permitirá que os usuários digitem texto e gerem imagens, o que será especialmente benéfico para pesquisas em que as imagens não existem no momento. A Microsoft disse que está trabalhando de perto com IA aberta para que esse recurso não gere visuais explícitos ou inapropriados. Portanto, parece que o Bing está passando por uma grande reformulação com os recursos de bate-papo GPT e Dali 2 integrados. Com certeza vai chamar a atenção de todos quando for lançado.
 

CONFERÊNCIA JENSEN HUANG (NVIDIA) e ILYA SUTSKEVER (OPEN AI).AI HOJE E VISÃO DO FUTURO



CONFERÊNCIA JENSEN HUANG (NVIDIA) e ILYA SUTSKEVER (OPEN AI).AI HOJE E VISÃO DO FUTURO

O CEO da NVIDIA, Jensen Huang, e o cofundador da OpenAI, Ilya Sutskever, discutem as origens e os avanços da inteligência artificial (IA) em uma conferência. Sutskever explica como o aprendizado profundo ficou claro para ele, como o aprendizado não supervisionado por compressão levou à descoberta de um neurônio que correspondia ao sentimento e como o pré-treinamento de uma rede neural levou à instrução e refinamento com a colaboração humana e de IA. Eles também discutem os avanços e limitações do GPT-4 e do aprendizado multimodal, bem como o papel da geração de dados sintéticos e da melhoria da confiabilidade dos sistemas de IA. Apesar de ser o mesmo conceito de 20 anos atrás, ambos se maravilham com o progresso feito na pesquisa de IA.

  • 00:00:00 Nesta seção, Jensen Huang, CEO da NVIDIA, elogia Ilia Sutskever, cofundador da OpenAI, por suas conquistas no campo da inteligência artificial. Ele pergunta a Ilia sobre sua intuição em relação ao aprendizado profundo e como ele sabia que iria funcionar. Ilia explica que estava interessado em inteligência artificial devido à sua curiosidade sobre a consciência e seu impacto, e parecia que o progresso na IA realmente ajudaria nisso. Ele acrescenta que em 2002-2003, os computadores não conseguiam aprender nada e nem estava claro se era possível em teoria, mas encontrar Jeff Hinton, que trabalhava em redes neurais, deu esperança a Ilia.

  • 00:05:00 Nesta seção, Sutskever discute as origens do AlexNet e como a ideia de usar o aprendizado supervisionado para construir uma rede neural ampla e profunda ficou clara para ele. Ele explica que o campo de aprendizado de máquina não estava olhando para redes neurais na época e estava usando outros métodos que eram teoricamente elegantes, mas não representavam uma boa solução. Sutskever também menciona o método de otimização inovador de outro aluno de pós-graduação que provou que grandes redes neurais podem ser treinadas. Ficou então claro que se uma grande rede neural convolucional fosse treinada no conjunto de dados ImageNet, ela deveria ter sucesso. Sutskever também fala sobre o aparecimento da GPU no laboratório e como Alex Krizhevsky foi capaz de programar kernels convolucionais rápidos e treinar o conjunto de dados da rede neural, o que levou a quebrar o recorde de visão computacional por uma margem tão ampla. O significado dessa descoberta foi que o conjunto de dados era tão obviamente difícil e fora do alcance das técnicas clássicas.

  • 00:10:00 Nesta seção, Jensen Huang e Ilya Sutskever discutem os primeiros dias da OpenAI e suas ideias iniciais sobre como abordar a inteligência. Em 2015-2016, o campo ainda estava em sua infância, com muito menos pesquisadores e muito menos compreendido. A primeira grande ideia da OpenAI foi o conceito de aprendizado não supervisionado por compressão, que era um problema não resolvido no aprendizado de máquina na época. Sutskever acreditava que uma compressão de dados realmente boa levaria ao aprendizado não supervisionado, permitindo a extração de todos os segredos ocultos que existem dentro dele. Isso levou a vários trabalhos na OpenAI, incluindo o neurônio de sentimento, que descobriu um neurônio dentro de um LSTM que correspondia ao seu sentimento.

  • 00:15:00 Nesta seção, Ilya Sutskever discute o conceito de aprendizado não supervisionado e a importância de prever o próximo token em uma sequência como um objetivo válido para aprender uma representação. Ele menciona que a parte difícil no aprendizado supervisionado não é onde obter os dados, mas sim por que se preocupar em treinar redes neurais para prever o próximo token. O dimensionamento para melhoria de desempenho também foi um fator importante em seu trabalho, e o aprendizado por reforço foi outra área crucial de foco, principalmente ao treinar um agente de aprendizado por reforço para jogar o jogo de estratégia em tempo real, DotA 2, a fim de competir contra os melhores jogadores. no mundo.

  • 00:20:00 Nesta seção, Ilya Sutskever explica o processo de pré-treinamento de uma grande rede neural para prever a próxima palavra em diferentes textos da internet, o que leva ao aprendizado de uma representação utilizável abstrata comprimida do mundo. No entanto, o pré-treinamento não especifica o comportamento desejado que esperamos da rede neural, e é aqui que entra o segundo estágio de ajuste fino e aprendizado de reforço da colaboração humana e de IA. O segundo estágio é essencial porque é onde nos comunicamos com a rede neural e a instruímos sobre o que fazer e o que não fazer.

  • 00:25:00 Nesta seção, os palestrantes discutem os avanços na tecnologia de IA, como o GPT-4, que se tornou o aplicativo de crescimento mais rápido na história da humanidade apenas alguns meses após seu lançamento. O GPT-4 é uma melhoria do Chat GPT, com melhor precisão na previsão da próxima palavra no texto, levando a um aumento na compreensão do texto. Ao pesquisar e inovar constantemente a fidelidade, a IA tornou-se mais confiável e precisa ao seguir as instruções pretendidas. Além disso, a conversa pode refinar a ambiguidade até que a IA entenda a intenção do usuário. Além disso, o desempenho aprimorado do GPT-4 em muitas áreas, como pontuações SAT, pontuações GRE e exames de bar, entre outros, é notável e digno de nota.

  • 00:30:00 Nesta seção, os palestrantes discutem as limitações atuais e o potencial de melhoria nas capacidades de raciocínio das redes neurais, especificamente GPT4. Embora as redes neurais demonstrem algumas habilidades de raciocínio, a confiabilidade continua sendo um grande obstáculo em sua utilidade. Os palestrantes sugerem que pedir à rede neural para pensar em voz alta e introduzir planos de pesquisa ambiciosos pode melhorar a confiabilidade e a precisão. Atualmente, o GPT4 não possui um recurso de recuperação integrado, mas se destaca por ser um preditor da próxima palavra e pode consumir imagens.

  • 00:35:00 Nesta seção, Jensen Huang e Ilya Sutskever discutem a aprendizagem multimodal e sua importância. Eles explicam que o aprendizado multimodal, que envolve aprender tanto com texto quanto com imagens, é útil para que as redes neurais entendam melhor o mundo, já que os humanos são animais visuais. O aprendizado multimodal também permite que as redes neurais aprendam mais sobre o mundo, fornecendo fontes adicionais de informações. Eles argumentam que, embora seja importante ver para entender coisas como cores, as redes neurais somente de texto ainda podem aprender informações que são difíceis de aprender apenas com o texto por meio da exposição a trilhões de palavras.

  • 00:40:00 Nesta seção, Sutskever e Huang discutem a importância de diferentes fontes de dados no aprendizado de IA, incluindo visuais e áudio. Eles abordam a ideia de multimodalidade e como a combinação de diferentes fontes de dados pode ser extremamente útil para aprender sobre o mundo e se comunicar visualmente. Sutskever também menciona um artigo que sugere que o mundo acabará ficando sem tokens para treinar e como a IA gerando seus próprios dados pode ser uma solução possível para esse problema.

  • 00:45:00 Nesta seção, os palestrantes discutem o papel da geração de dados sintéticos no treinamento e autoaprendizagem de IA. Embora a disponibilidade dos dados existentes não deva ser subestimada, a possibilidade de a IA gerar seus próprios dados para aprendizado e solução de problemas é uma possibilidade futura. O foco no futuro próximo será melhorar a confiabilidade dos sistemas de IA, para que eles possam ser confiáveis para tomadas de decisão importantes. O potencial dos modelos de IA, como o GPT-4, para resolver problemas matemáticos de maneira confiável e produzir conteúdo criativo é empolgante, mas ainda há trabalho a ser feito para melhorar sua precisão e clareza na compreensão e resposta à intenção do usuário.

  • 00:50:00 Nesta seção, Jensen Huang e Ilya Sutskever discutem o surpreendente sucesso das redes neurais na IA hoje. Apesar de ser o mesmo conceito de rede neural de 20 anos atrás, ele se tornou mais sério e intenso, pois é treinado em conjuntos de dados maiores de maneiras diferentes com o mesmo algoritmo de treinamento fundamental. Os trabalhos seminais de Sutskever sobre Alexnet e GPT na Open AI são conquistas notáveis, e Huang admira sua capacidade de resolver o problema e descrever o estado da arte dos grandes modelos de linguagem. Os dois se atualizam e ficam maravilhados com o progresso feito no campo da IA.
 

É hora de prestar atenção à IA (ChatGPT e além)



É hora de prestar atenção à IA (ChatGPT e além)

O vídeo discute o desenvolvimento da inteligência artificial (IA) e como ela está mudando a maneira como trabalhamos e vivemos. Algumas pessoas estão entusiasmadas com o potencial da IA, enquanto outras estão preocupadas com suas possíveis implicações. O palestrante também fornece um breve resumo de um episódio recente do podcast.

  • 00:00:00 ChatGPT é um programa de IA lançado em 2022 capaz de gerar texto que tenta prever qual será a próxima palavra em uma frase com base no que viu em seu enorme conjunto de dados da Internet. O ChatGPT é uma versão aprimorada do gpt3, cuja IA aberta está chamando GPT 3.5. A principal diferença entre o GPT 3.5 e o GPT é que eles adicionaram feedback humano durante o processo de treinamento, chamado de aprendizado por reforço supervisionado. Em essência, durante o treinamento, várias versões de respostas da IA foram classificadas por qualidade, da melhor à pior, pelos humanos e a IA é recompensada digitalmente quando melhora o modelo. O ChatGPT está sendo usado por empreendedores iniciantes para se perguntar qual é a próxima grande novidade, já que o CEO de IA aberta tem algumas ideias interessantes sobre o futuro de toda a indústria.

  • 00:05:00 O ChatGPT é uma startup projetada para tornar mais fácil para os clientes registrar reclamações, cancelar assinaturas e muito mais. Além disso, o ChatGPT pode formar opiniões sobre tópicos muito específicos, algo que nenhum mecanismo de pesquisa pode fazer. O ChatGPT também é considerado bom em codificação, algo que não é comumente considerado uma habilidade que pode ser aprimorada com IA. Embora o ChatGPT tenha muitos aplicativos úteis, ele ainda está em seus estágios iniciais e tem um longo caminho a percorrer antes que possa ser considerado uma tecnologia verdadeiramente revolucionária. No entanto, vale a pena considerar as possíveis implicações do ChatGPT e é provável que ele se torne mais importante no futuro.

  • 00:10:00 O ChatGPT é um chatbot capaz de "falar" de maneira humana e tem sido usado para questionar os limites éticos estabelecidos pela IA aberta. Nota-se que o ChatGPT pode ser imprevisível e instável, dificultando o controle. Também é observado que o ChatGPT tem o potencial de reduzir o número de trabalhadores necessários em vários campos.

  • 00:15:00 O autor discute os possíveis impactos da automação na força de trabalho e como se preparar. Ele também discute como a IA está progredindo rapidamente, com algumas previsões para um futuro próximo que devem ser lembradas pelos empreendedores.

  • 00:20:00 O ChatGPT é uma nova plataforma tecnológica que servirá para criar modelos do futuro, como modelos de medicamentos ou computadores. Haverá um novo conjunto de startups que usará a plataforma para ajustar grandes modelos existentes para criar modelos específicos para uma indústria ou caso de uso.

  • 00:25:00 O vídeo discute o desenvolvimento da inteligência artificial (IA) e como ela está mudando a forma como trabalhamos e vivemos. Algumas pessoas estão entusiasmadas com o potencial da IA, enquanto outras estão preocupadas com suas possíveis implicações. O palestrante também fornece um breve resumo de um episódio recente do podcast.
 

A história interna do potencial surpreendente do ChatGPT | Greg Brockman | TED



A história interna do potencial surpreendente do ChatGPT | Greg Brockman | TED

Nesta seção do vídeo, Greg Brockman discute o papel da IA na melhoria da educação. Ele argumenta que os métodos tradicionais de educação são muitas vezes ineficientes e ineficazes, com os alunos lutando para reter o conhecimento e os professores lutando para ensinar de uma forma que envolva todos os alunos. Brockman sugere que a IA pode ajudar a resolver esses problemas, fornecendo experiências de aprendizado personalizadas para cada aluno. Com ferramentas de IA, é possível acompanhar o progresso do aluno em tempo real, ajustando o currículo às suas necessidades e preferências. Isso pode levar a experiências de aprendizado mais envolventes e eficientes, permitindo que os alunos retenham mais conhecimento e os professores se concentrem em tarefas mais importantes. Brockman também enfatiza a importância de projetar ferramentas de IA com privacidade em mente, garantindo que os dados dos alunos sejam protegidos e usados apenas para fins educacionais.

  • 00:00:00 Nesta seção, Greg Brockman, CEO da OpenAI, demonstrou os recursos de uma ferramenta de IA chamada Dolly, que cria ferramentas para IAs. Ao usar esta ferramenta com o ChatGPT, os usuários podem gerar imagens e textos para atingir sua intenção com uma interface de linguagem unificada, permitindo que eles tirem pequenos detalhes e verifiquem incorporando-os a outros aplicativos. Essa nova maneira de pensar sobre uma interface de usuário expandirá os recursos do que a IA pode fazer em nome do usuário e levará a tecnologia a novos patamares.

  • 00:05:00 Nesta seção, Greg Brockman explica como a IA é treinada para usar as ferramentas e produzir o resultado desejado por meio de feedback. O processo tem duas etapas - primeiro, um processo de aprendizado não supervisionado é usado, onde a IA é mostrada ao mundo inteiro e solicitada a prever o que vem a seguir em um texto que nunca viu antes. A segunda etapa envolve o feedback humano, onde a IA aprende o que fazer com essas habilidades, experimentando várias coisas, e o feedback humano é fornecido para reforçar todo o processo usado para produzir a resposta. Esse feedback permite generalizar e aplicar o aprendizado a novas situações. A IA também é usada para verificação de fatos e pode emitir consultas de pesquisa e escrever toda a sua cadeia de pensamento, tornando mais eficiente a verificação de qualquer parte da cadeia de raciocínio.

  • 00:10:00 Nesta seção do vídeo, Greg Brockman discute o potencial de colaboração entre humanos e IA na resolução de problemas complexos. Ele mostra um exemplo de ferramenta de verificação de fatos que requer entrada humana para produzir dados úteis para outra IA, demonstrando como os humanos podem fornecer gerenciamento, supervisão e feedback enquanto as máquinas operam de maneira confiável e inspecionável. Brockman acredita que isso levará à resolução de problemas anteriormente impossíveis, incluindo repensar como interagimos com os computadores. Ele demonstra como o ChatGPT, um poderoso modelo de linguagem de IA, pode ser usado para analisar uma planilha de 167.000 documentos de IA e fornecer informações por meio de gráficos exploratórios, mostrando o potencial da IA para auxiliar na análise de dados e na tomada de decisões.

  • 00:15:00 Nesta seção, Greg Brockman discute o potencial da IA, afirmando que acertar exigirá a participação de todos na definição de regras e diretrizes para sua integração em nossas vidas diárias. Ele acredita que alcançar a missão da OpenAI de garantir que a inteligência artificial geral beneficie toda a humanidade é possível por meio da alfabetização e da vontade de repensar a maneira como fazemos as coisas. Brockman reconhece que, embora a tecnologia seja incrível, também é assustadora, pois exige repensar tudo o que fazemos atualmente. O sucesso do modelo chatGPT da OpenAI se deve em parte às suas escolhas deliberadas, confrontando a realidade e incentivando a colaboração entre diversas equipes. Brockman também atribui o surgimento de novas possibilidades ao crescimento dos modelos de linguagem e ao princípio da emergência, onde muitos componentes simples podem levar a comportamentos emergentes complexos.

  • 00:20:00 Nesta seção do vídeo, Greg Brockman discute o potencial surpreendente da capacidade do ChatGPT de aprender e prever, mesmo em áreas que não foram explicitamente ensinadas à máquina. No entanto, ele observa que, embora a máquina possa lidar com a adição de números de 40 dígitos, muitas vezes ela terá um problema de adição errado quando apresentada a um número de 40 dígitos e um número de 35 dígitos. Brockman também enfatiza a importância da qualidade da engenharia com aprendizado de máquina, reconstruindo toda a pilha para garantir que cada peça seja projetada adequadamente antes de fazer previsões. Ele reconhece que a expansão dessa tecnologia pode levar a resultados imprevisíveis, mas acredita na implantação de mudanças incrementais para supervisionar e alinhar adequadamente a intenção da máquina com a nossa. Em última análise, Brockman acredita que, com feedback adequado e integração com humanos, a jornada para a verdade e a sabedoria com IA é possível.

  • 00:25:00 Nesta seção, Greg Brockman aborda preocupações sobre a responsabilidade e as implicações de segurança de liberar inteligência artificial (IA) como GPT sem proteções adequadas. Ele explica que o plano padrão de construir em segredo e esperar que a segurança seja executada adequadamente é aterrorizante e não parece certo. Em vez disso, ele argumenta que a abordagem alternativa é liberar a IA e permitir que as pessoas contribuam antes que se tornem muito poderosas. Brockman compartilha uma história de contemplação se ele gostaria que a tecnologia fosse daqui a 5 ou 500 anos, concluindo que é melhor abordar esse direito com responsabilidade coletiva e fornecer proteções para que a IA seja sábia em vez de imprudente.
 

MIT Deep Learning em Ciências da Vida - primavera de 2021



MIT Deep Learning em Ciências da Vida - primavera de 2021

O curso "Deep Learning in Life Sciences" aplica aprendizado de máquina a várias tarefas de ciências da vida e é ministrado por um pesquisador em aprendizado de máquina e genômica com uma equipe de professores de alunos de doutorado e graduandos do MIT. O curso abrange fundamentos de aprendizado de máquina, circuitos reguladores de genes, variação em doenças, interações e dobras de proteínas e geração de imagens usando o TensorFlow por meio do Python em uma plataforma do Google Cloud. O curso consistirá em quatro conjuntos de problemas, um questionário e um projeto de equipe, com sessões de orientação intercaladas para ajudar os alunos a criar seus próprios projetos. O instrutor enfatiza a importância de formar uma equipe com habilidades e interesses complementares e fornece vários marcos e entregas ao longo do período. O curso visa fornecer experiência do mundo real, incluindo redação de propostas de bolsas e bolsas, revisão por pares, relatórios anuais e desenvolvimento de habilidades de comunicação e colaboração. O palestrante discute as diferenças entre a IA tradicional e o aprendizado profundo, que constrói uma representação interna de uma cena com base em estímulos observáveis, e enfatiza a importância do aprendizado profundo nas ciências da vida devido à convergência de dados de treinamento, poder de computação e novos algoritmos .

O vídeo é uma palestra introdutória sobre aprendizado profundo em ciências da vida, explicando a importância do aprendizado de máquina e do aprendizado profundo na exploração da complexidade do mundo. A palestra enfoca o conceito de inferência bayesiana e como ela desempenha um papel crucial no aprendizado de máquina clássico e profundo, juntamente com as diferenças entre abordagens generativas e discriminativas para o aprendizado. A palestra também destaca o poder das máquinas de vetores de suporte, desempenho de classificação e álgebra linear para entender redes em sistemas biológicos. O palestrante observa que o curso abordará vários tópicos em aprendizado profundo, incluindo regularização, evitando overfitting e conjuntos de treinamento. A palestra termina abordando questões relacionadas à interpretabilidade de neurônios artificiais e redes profundas para futuras palestras.

  • 00:00:00 Nesta seção, o palestrante apresenta o curso Deep Learning in Life Sciences e explica seu foco na aplicação do aprendizado de máquina a tarefas nas ciências da vida, incluindo regulação de genes, doenças, design terapêutico, imagens médicas e computação biologia. O curso acontece duas vezes por semana com sessões opcionais de orientação às sextas-feiras e é ministrado pelo palestrante, que é pesquisador em aprendizado de máquina e genômica, e por um corpo docente formado por alunos de doutorado e graduandos do MIT. O palestrante também fornece links para páginas de cursos do ano passado com gravações de todas as palestras.

  • 00:05:00 Nesta seção da transcrição, o instrutor apresenta os fundamentos sobre os quais o curso será desenvolvido, como cálculo, álgebra linear, probabilidade e estatística e programação. O curso também terá uma base introdutória de biologia que os alunos poderão desenvolver. O instrutor então detalha o detalhamento da classificação do curso, que inclui conjuntos de problemas, um questionário, um projeto final e participação. A seção conclui com uma explicação de por que o aprendizado profundo é importante nas ciências da vida devido à convergência de grandes conjuntos de dados baratos, avanços fundamentais em métodos de aprendizado de máquina e computação de alto desempenho, que transformou completamente o campo científico.

  • 00:10:00 Nesta seção, o palestrante discute a importância e os benefícios da biologia computacional. Os alunos fornecem respostas para a questão de por que a biologia computacional é importante, incluindo o manuseio de grandes quantidades de dados, a capacidade de acelerar a descoberta, a criação de modelos matemáticos para processos complexos, a compreensão de padrões de dados biológicos e o uso de visualização para extrair dados significativos padrões. O palestrante enfatiza a existência de padrões e princípios subjacentes na biologia que podem ser compreendidos por meio da computação e incentiva os alunos a explorar os diferentes cursos oferecidos no departamento e entre os departamentos.

  • 00:15:00 Nesta seção, o palestrante discute como os métodos computacionais podem ajudar não apenas na pesquisa aplicada, mas também na geração de um novo entendimento fundamental na pesquisa biológica básica. Eles enfatizam que, embora os métodos computacionais usados nem sempre forneçam resultados perfeitos, eles podem fornecer aproximações importantes que podem ser ainda mais interessantes. Além disso, o palestrante mostra como a biologia computacional permite a integração de várias áreas de pesquisa para uma compreensão mais abrangente de doenças complexas que afetam múltiplos órgãos. Finalmente, eles mencionam o uso de ferramentas computacionais para simular processos temporais de longo prazo, como transmissão e progressão de doenças.

  • 00:20:00 Nesta seção do vídeo, o palestrante discute o papel da computação nas ciências da vida, especificamente como ela pode simular a progressão de processos ao longo do tempo, encurtando o tempo de descoberta e desenvolvimento de medicamentos e tratamentos. O uso de aprendizado profundo também está se tornando mais prevalente para projetar drogas e criar dados de teste sintéticos. O palestrante também destaca a importância de estudar a diversidade genética na demografia para uma verdadeira equidade nos conjuntos de dados genéticos. A própria vida é digital e o desafio de entender a biologia é extrair sinais do ruído e reconhecer padrões significativos em conjuntos de dados.

  • 00:25:00 Nesta seção, o instrutor do curso descreve as principais tarefas e desafios que serão abordados no curso, incluindo fundamentos de aprendizado de máquina, circuitos regulatórios de genes, variação em doenças, interações e dobramento de proteínas e geração de imagens. O curso utilizará conjuntos de problemas para apresentar aos alunos cada uma dessas fronteiras, e os alunos usarão o TensorFlow por meio do Python em um ambiente de programação na plataforma Google Cloud. O primeiro conjunto de problemas se concentrará no reconhecimento de caracteres, seguido pelo uso dessas técnicas para analisar dados genômicos e reconhecer padrões de sequência associados a eventos regulatórios de genes.

  • 00:30:00 Nesta seção, o instrutor discute a estrutura e os objetivos do curso, que consistirá em quatro conjuntos de problemas, um questionário e um projeto de equipe durante toda a aula. Os instrutores enfatizam que o curso será interativo e incentivam os alunos a se inscreverem como escribas de palestras de seu interesse, permitindo que eles invistam naquela área específica. Os alunos também terão a oportunidade de interagir com palestrantes convidados que atuam no campo da aprendizagem profunda em ciências da vida, e os projetos de equipe serão construídos em discussões para direções de projetos de pesquisa, dando aos alunos a oportunidade de aplicar suas novas habilidades para resolver problemas práticos. . Além disso, os instrutores mencionam como o campo de aprendizado profundo nas ciências da vida tem apenas dez anos, e os palestrantes convidados apresentarão os principais artigos do campo, tornando o curso bastante empolgante e interativo para os alunos.

  • 00:35:00 Nesta seção, o instrutor do curso discute como o curso terá sessões de mentoria intercaladas com os módulos para ajudar os alunos a criar seus próprios projetos, apresentar ideias e equilibrá-las com seus parceiros e mentores. Essas sessões de orientação contarão com membros da equipe ou pesquisadores ativos nas áreas relevantes, permitindo que os alunos troquem ideias e se preparem para se tornarem pesquisadores ativos em biologia computacional. O instrutor também enfatiza os aspectos intangíveis da educação com os quais o curso ajudará, incluindo elaborar uma proposta de pesquisa, trabalhar em conjuntos de habilidades complementares, receber feedback dos colegas e identificar possíveis falhas nas propostas dos colegas. O curso terá um projeto de termo espelhando essas tarefas intangíveis na vida real. Os alunos também são incentivados a conhecer seus colegas, formar equipes com experiência complementar e enviar um perfil e uma introdução em vídeo.

  • 00:40:00 Nesta seção, o instrutor discute os vários marcos estabelecidos para o curso para garantir planejamento, feedback e descoberta suficientes de projetos que correspondam às habilidades e interesses dos alunos. Ele menciona a importância de construir uma equipe com habilidades e interesses complementares, fornecendo links para projetos do ano passado e artigos recentes para inspiração e estabelecendo sessões periódicas de orientação com alunos seniores, pós-doutorandos e funcionários do curso. O curso também incluirá discussões em grupo sobre vários tópicos e aspectos da revisão por pares para incentivar o pensamento crítico sobre as propostas e fornecer feedback e sugestões. O instrutor enfatiza a experiência do mundo real que será obtida por meio deste curso, incluindo redação de propostas de subsídios e bolsas, revisão por pares, relatórios anuais e desenvolvimento de habilidades de comunicação e colaboração. O instrutor convida os alunos a se encontrarem durante várias sessões de breakout ao longo do curso e fornece uma visão geral dos marcos e entregas que serão entregues ao longo do período.

  • 00:45:00 estrutura do curso e dos projetos, o instrutor fornece uma visão geral dos diferentes módulos e trabalhos disponíveis para cada tópico. Além disso, o cronograma do curso é descrito, incluindo a data de vencimento para propostas de projetos e demonstrações de pipeline de ponta a ponta. O instrutor enfatiza a importância de ter dados e ferramentas no início do curso para evitar problemas mais tarde. Relatórios intermediários e uma palestra sobre apresentação também são mencionados, bem como a data de entrega dos projetos finais e apresentações. Palestrantes convidados que são autores de alguns dos artigos também podem ser convidados.

  • 00:50:00 Nesta seção, o palestrante apresenta os recursos e suporte disponíveis para o curso, incluindo tutoria e laboratórios de feedback. Eles também compartilham os resultados de uma pesquisa introdutória que revela as diversas formações dos alunos que fazem o curso, com a maioria dos cursos 6 e 20. O palestrante gasta cerca de 10 minutos apresentando alguns dos tópicos de aprendizado de máquina e biologia que serão abordados no curso, destacando a importância do aprendizado profundo e suas diversas aplicações. Eles também explicam a diferença entre inteligência artificial, aprendizado profundo e aprendizado de máquina.

  • 00:55:00 Nesta seção, o palestrante discute as diferenças entre as abordagens tradicionais de inteligência artificial (IA) e o aprendizado profundo. Enquanto a IA tradicional depende de especialistas humanos para codificar regras e funções de pontuação, o aprendizado profundo visa aprender a intuição e as regras por conta própria, sem orientação humana explícita. O palestrante usa o exemplo do xadrez para ilustrar essas diferenças e observa que o aprendizado profundo revolucionou a IA ao permitir que as máquinas naveguem em ambientes complexos, como cenas naturais e situações do mundo real. O palestrante identifica a convergência de dados de treinamento, poder de computação e novos algoritmos como os três principais pilares do aprendizado profundo e explica que as máquinas constroem uma representação interna de uma cena com base em estímulos observáveis.

  • 01:00:00 Nesta seção, o palestrante explica que o aprendizado de máquina e o aprendizado profundo envolvem a construção de representações da complexidade do mundo por meio da análise de observações e dados. O aprendizado de máquina tradicional usa representações simples, enquanto o aprendizado profundo usa representações hierárquicas. Os modelos generativos permitem expressar a probabilidade futura de um evento dado o estado oculto do mundo, enquanto a regra de Bayes permite estimar a probabilidade posterior de que seja uma estação específica dada a observação. Isso envolve ir da probabilidade de dados dados uma hipótese para a probabilidade de uma hipótese dados os dados por meio de um produto de verossimilhança e probabilidades anteriores. A probabilidade marginal dos dados é usada para somar todas as hipóteses para obter a probabilidade geral dos dados.

  • 01:05:00 Nesta seção, o palestrante explica o conceito de inferência bayesiana e seu papel no aprendizado de máquina clássico e profundo. A inferência bayesiana envolve ter um modelo generativo para o mundo e, em seguida, inferir algo sobre esse modelo, o que é especialmente útil no aprendizado supervisionado, onde existem rótulos para alguns pontos e a classificação de objetos com base em recursos pode ser alcançada. No aprendizado de máquina tradicional, uma tarefa importante era a engenharia de recursos ou a seleção dos recursos certos de um conjunto de dados, enquanto no aprendizado profundo os recursos são aprendidos automaticamente. O clustering é uma forma de aprendizado não supervisionado em que os conjuntos de dados podem ser aprendidos e representados, e a inferência bayesiana pode ser usada para estimar iterativamente os parâmetros de um modelo generativo para o conjunto de dados para melhorar os recursos dos dados.

  • 01:10:00 Nesta seção do vídeo, o instrutor discute as diferenças entre as abordagens generativa e discriminativa para o aprendizado, destacando como o aprendizado discriminativo é focado em aprender o melhor separador entre elementos de dados em vez de tentar capturar toda a distribuição de dados. A palestra também aborda o poder das máquinas de vetores de suporte, desempenho de classificação e álgebra linear para entender redes em sistemas biológicos. O instrutor observa que a aula se concentrará no aprendizado profundo, especificamente na construção de recursos simples e mais abstratos por meio de camadas para classificar vários objetos e conceitos sobre o mundo. Por fim, a palestra enfatiza que nem todo aprendizado é profundo e revisa as abordagens históricas da inteligência artificial e do aprendizado de máquina.

  • 01:15:00 Nesta seção, o palestrante discute como o cérebro humano processa imagens e reconhece objetos, usando camadas de neurônios que aprendem camadas abstratas de inferências. Ele compara esse processo à arquitetura de redes neurais usadas em aprendizado profundo e IA, que foram transportadas do espaço biológico para o espaço computacional. O curso abordará vários tópicos em aprendizado profundo, incluindo regularização, evitando overfitting, conjuntos de treinamento e conjuntos de teste. O palestrante também menciona autoencoders para limitar as representações a representações mais simples e algoritmos supervisionados funcionando como métodos não supervisionados. Além disso, ele dá as boas-vindas aos participantes do curso e destaca a importância dos aspectos biológicos do curso.

  • 01:20:00 Nesta seção, o palestrante aborda diversas questões relacionadas à interpretabilidade de neurônios artificiais e redes profundas, que serão abordadas em detalhes em uma palestra futura. Eles também lembram os alunos de preencher seus perfis e fazer upload de suas apresentações em vídeo.
 

Fundamentos do Machine Learning - Aula 02 (Primavera de 2021)



Machine Learning Foundations - Deep Learning in Life Sciences Palestra 02 (Primavera de 2021)

Esta palestra aborda os fundamentos do aprendizado de máquina, apresentando conceitos como conjuntos de treinamento e teste, tipos de modelos como discriminativo e generativo, avaliando funções de perda, regularização e overfitting e redes neurais. O palestrante continua explicando a importância dos hiperparâmetros, avaliando a precisão em ciências da vida, testes de correlação e cálculos de probabilidade para teste de modelo. Por fim, são discutidos os fundamentos das redes neurais profundas e a estrutura de um neurônio, destacando o papel da não linearidade no aprendizado de funções complexas.

Na segunda seção da palestra, é explicado o conceito de funções de ativação em aprendizado profundo, bem como o processo de aprendizado de ajuste de pesos para corresponder à função de saída usando derivadas parciais no ajuste de atualizações de peso para minimizar erros, que é a base do gradiente aprendizado baseado em O conceito de retropropagação é introduzido como um método de propagação de derivadas através de uma rede neural para ajustar os pesos. Os vários métodos para otimizar pesos em várias camadas de modelos de aprendizado profundo são discutidos, incluindo descida de gradiente estocástico e o conceito de capacidade do modelo e a dimensão VC. A eficácia da capacidade de um modelo em um gráfico e o viés e a variância também são discutidos, juntamente com várias técnicas de regularização, como parada antecipada e decaimento de peso. A importância de encontrar o equilíbrio certo de complexidade é enfatizada e os alunos são incentivados a se apresentarem positivamente aos colegas.

  • 00:00:00 Nesta seção, o palestrante apresenta os fundamentos do aprendizado de máquina e sua definição. O aprendizado de máquina é o processo de conversão de experiência em especialização ou conhecimento e usa métodos computacionais para prever com precisão os resultados futuros usando os padrões descobertos nos dados. O objetivo do aprendizado de máquina é desenvolver métodos que possam detectar padrões automaticamente nos dados e usá-los para fazer boas previsões da saída. O palestrante também explica o conceito de conjunto de treinamento, que é usado para ajustar os parâmetros e arquitetura do modelo, e o conjunto de teste, que avalia o desempenho e o poder de generalização do modelo. Por fim, o palestrante aborda a importância da regularização no controle dos parâmetros e da complexidade do modelo para evitar o overfitting.

  • 00:05:00 Nesta seção da palestra, o instrutor apresenta os diferentes tipos de objetos usados no aprendizado de máquina, como escalares, vetores, matrizes e tensores. O espaço de entrada é definido como exemplos individuais desses objetos, onde um determinado conjunto de dados é usado com índices e recursos específicos. O espaço do rótulo também é introduzido, com o rótulo previsto denotado como y hat. O objetivo do aprendizado de máquina é avaliar os recursos extraídos dos dados de entrada e calcular um resultado de saída usando uma função que traduz a entrada na saída. O instrutor também explica a diferença entre conjuntos de treinamento e teste e como a função recebe parâmetros de entrada e calcula uma saída usando vetores de peso e vieses.

  • 00:10:00 Nesta seção, o palestrante explica como pesos e bias são usados para otimizar a saída de uma função linear quando não há eixo. A função de transformação pode ser vista como o modelo do mundo, que faz inferências e classificações sobre o mundo. Existem dois tipos de modelos – modelos discriminativos que diferenciam duas classes e modelos generativos que tentam modelar a distribuição conjunta de várias classes. A regressão linear é apenas um tipo de aprendizado de máquina, sendo a regressão uma tarefa comum além da classificação.

  • 00:15:00 Nesta seção, o palestrante discute os diferentes tipos de aprendizado de máquina, incluindo aprendizado supervisionado, semi-supervisionado, não supervisionado e por reforço. O foco está no aprendizado supervisionado e nos vários tipos de resultados, como regressão multivariada, classificação binária e multiclasse e classificação multirótulo. O palestrante também fala sobre as funções objetivo, que são utilizadas para otimizar os modelos de aprendizado de máquina durante o treinamento, podendo ser na forma de funções de perda, custo ou erro. Diferentes tipos de funções de perda são apresentados, incluindo perda zero um, perda de entropia cruzada e perda de dobradiça, e a palestra termina com uma discussão sobre erro médio quadrado e erro médio absoluto para regressão.

  • 00:20:00 Nesta seção, o palestrante introduz os conceitos de regularização L1 e L2, que são penalidades lineares e quadráticas por desvio de um valor previsto, respectivamente. Eles discutem como isso pode ser usado para penalizar outliers distantes e evitar overfitting atribuindo restrições aos parâmetros. O palestrante então explora diferentes funções de perda para tarefas de classificação, como perda de entropia cruzada binária, que pesa tudo pela probabilidade de ocorrência de um valor, e perda de entropia cruzada categórica, que usa uma abordagem baseada em informações. Além disso, eles tocam na função soft max para mapear dados para um intervalo de zero a um. Todos esses conceitos são considerados no estimador de máxima verossimilhança e nas probabilidades posteriores em um ambiente bayesiano.

  • 00:25:00 Nesta seção, a palestra explica a saída do uso de uma fórmula específica em toda a aula, que é um se pertencer a uma classe especificada e zero caso contrário. A palestra também discute a estrutura do problema, incluindo dados de entrada, pesos e um termo de viés. O otimizador é construído com base nas discrepâncias entre os pesos, e esses pesos são treinados usando uma função de perda, como erro quadrado médio ou erro absoluto médio. A palestra também apresenta a ideia de risco, que representa o custo associado a determinadas previsões e explica como usar o risco para otimizar a função objetivo. A palestra descreve como atualizar pesos com base na função de perda e como usar conjuntos de treinamento e teste para avaliar o modelo.

  • 00:30:00 Nesta seção, o instrutor explica o conceito de overfitting e underfitting no aprendizado de máquina. Ele descreve como, à medida que o conjunto de treinamento melhora, o modelo também se torna melhor na previsão de dados no conjunto de validação. Porém, a partir de certo ponto, o modelo começa a sobreajustar o conjunto de treinamento e o erro no conjunto de validação começa a aumentar. Portanto, o instrutor enfatiza a importância de dividir os dados em conjuntos de treinamento, validação e teste, de forma que o conjunto de validação seja usado para ajustar os hiperparâmetros e o conjunto de teste para avaliar o desempenho do modelo totalmente treinado.

  • 00:35:00 Nesta seção, o palestrante discute como avaliar a precisão dos modelos de aprendizado de máquina no contexto das ciências da vida. Eles explicam diferentes métodos de avaliação, como poder verdadeiro positivo, que se concentra em verdadeiros positivos e verdadeiros negativos, e falsos positivos e falsos negativos. O palestrante também discute outras técnicas de avaliação, como precisão, especificidade, recuperação e exatidão, e a importância de considerar o equilíbrio do conjunto de dados. Em seguida, eles apresentam a curva característica de operação do receptor (ROC) e como ela ajuda a avaliar a compensação de sensibilidade e especificidade de um classificador. Além disso, a curva de recuperação de precisão é mencionada como uma opção melhor para conjuntos de dados muito desbalanceados para determinadas configurações de regressão. Ambas as curvas são complementares e capturam diferentes aspectos do desempenho de um modelo.

  • 00:40:00 Nesta seção, o palestrante discute o conceito de correlação e como ele pode ser usado para avaliar preditores de regressão. Eles explicam que a correlação mede a relação entre os valores que estão sendo previstos e os valores reais, e que existem diferentes tipos de testes de correlação, como a correlação de Pearson e a correlação de postos de Spearman. O palestrante também menciona a importância dos testes de correlação e como eles podem ser usados para avaliar a precisão do preditor. Eles explicam o uso de testes estatísticos como a distribuição t de Student e testes binomiais para determinar a probabilidade de obter um determinado valor de correlação e se ele se desvia significativamente do valor esperado.

  • 00:45:00 Nesta seção, o palestrante discute a probabilidade de o classificador fazer a escolha correta aleatoriamente, calculando a probabilidade de k observações serem classificadas corretamente apenas por acaso usando a distribuição hipergeométrica. Ele também enfatiza que, se você estiver testando várias hipóteses, precisará ajustar a probabilidade do nulo e pode usar uma correção estrita de Bonferroni ou uma correção menos rigorosa de Benjamin Hofberg para ajustar seu limite. O palestrante adverte sobre os perigos de encontrar correlações em quase qualquer lugar com dados suficientes e ressalta que a falta de correlação não implica em falta de relações. A seção termina com uma pausa antes que o palestrante passe a discutir as redes neurais.

  • 00:50:00 Nesta seção da palestra, o instrutor apresenta o conceito de redes neurais profundas e suas raízes na hierarquia de abstração no aprendizado. O instrutor descreve as camadas da rede, começando com a camada de entrada e progredindo por várias camadas ocultas que aprendem recursos cada vez mais complexos. O conceito de filtros convolucionais é brevemente mencionado, mas será abordado com mais profundidade em uma aula posterior. O instrutor também observa que essas redes são inspiradas na estrutura biológica dos neurônios do cérebro humano.

  • 00:55:00 Nesta seção, o palestrante explica os fundamentos de uma rede neural de aprendizado profundo. Ele descreve a estrutura de um neurônio como uma construção computacional que recebe entradas ponderadas, cruza um limite e então envia saídas idênticas para seus descendentes. O aprendizado em uma rede neural está embutido nesses pesos, e a função que está sendo calculada é uma probabilidade transformada com base nas entradas recebidas. O palestrante enfatiza que as redes neurais se tornaram poderosas quando foram além das funções lineares e introduziram uma não linearidade que pode aprender quase qualquer função. A não linearidade original era a unidade sigmóide, representando um neurônio disparando em um ou permanecendo em zero até que um limite seja ultrapassado. Além disso, a unidade soft plus foi introduzida para aproximar funções mais complexas.

  • 01:00:00 Nesta seção da palestra, o palestrante explica o conceito de funções de ativação no aprendizado profundo e como elas ajudam os neurônios a disparar em resposta às entradas. Ele apresenta várias funções de ativação, como o soft plus, o sigmóide e a unidade linear retificada (ReLU), entre outras. O palestrante também discute o processo de aprendizado de ajuste dos pesos para corresponder à função de saída e o papel das derivadas parciais no ajuste de atualizações de peso para minimizar erros. Isso, explica ele, é a base do aprendizado baseado em gradiente.

  • 01:05:00 Nesta seção da palestra, o conceito de retropropagação é introduzido como um método de propagação de derivadas através de uma rede neural para ajustar pesos. A regra da cadeia é usada para calcular a derivada de cada camada em função da camada anterior, permitindo que ajustes sejam feitos em cada nível. Sinos e assobios adicionais podem ser adicionados a esse processo, como uma taxa de aprendizado para dimensionar o gradiente, decaimento de peso para evitar pesos grandes e consideração do delta na etapa de tempo anterior para determinar a direção e a quantidade de mudança necessária.

  • 01:10:00 Nesta seção, o palestrante explica os diferentes métodos para otimizar pesos em várias camadas de modelos de aprendizado profundo. Esses métodos incluem o uso da regra da cadeia para calcular as derivadas da saída em relação a cada peso, bem como a descida de gradiente estocástico que amostra aleatoriamente um subconjunto de dados de treinamento para atualizar os pesos. Além disso, o palestrante discute o conceito de capacidade do modelo e a dimensão VC, que descreve a capacidade geral de modelagem de um modelo de aprendizado profundo com base em seus parâmetros e nos tipos de funções que ele pode calcular. A capacidade de um modelo não paramétrico é definida pelo tamanho do conjunto de treinamento.

  • 01:15:00 Nesta seção, o conceito de k-vizinho mais próximo e sua generalização são introduzidos. Embora k-vizinho mais próximo seja um bom método de linha de base, ele pode ter baixo poder de generalização porque não aprende a função que separa os conjuntos de dados, dificultando o bom desempenho em entradas não vistas anteriormente. A eficácia da capacidade de um modelo em um gráfico também é discutida, onde o eixo x exibe o número efetivo de parâmetros ou dimensões, e aumentar esse número pode levar a melhores correspondências com os dados, mas com um erro de generalização maior. O viés ou quão bem alguém corresponde a dados fornecidos e a variância ou quão bem alguém pode corresponder a conjuntos de dados futuros também são introduzidos. Finalmente, os modelos podem ser regularizados trocando a regularização de parâmetros e a regularização da complexidade do modelo, o que pode ser demonstrado comparando conjuntos de dados com diferentes níveis de complexidade de neurônios.

  • 01:20:00 Nesta seção da palestra, o instrutor discute várias técnicas para adicionar regularização a redes neurais, como parada antecipada, decaimento de peso, adição de ruído como regularizador e prioris bayesianos. Também é discutido o conceito de capacidade, que depende das funções de ativação e do número de pesos. O instrutor enfatiza que a troca entre mais camadas, camadas mais amplas e mais conexões é uma arte e não uma teoria, e é essencial encontrar o equilíbrio certo de complexidade. O instrutor incentiva os alunos a se apresentarem positivamente a seus colegas de classe e a reservar um tempo para conhecer e aprender sobre seus perfis e vídeos.
 

Redes Neurais Convolucionais de CNNs - Aula 03 (Primavera de 2021)



Redes neurais convolucionais CNNs - Deep Learning in Life Sciences - Palestra 03 (Primavera de 2021)

Esta palestra em vídeo aborda o tópico de redes neurais convolucionais (CNNs) em aprendizado profundo para ciências da vida. O palestrante discute os princípios do córtex visual e como eles se relacionam com as CNNs, incluindo os blocos de construção dos sistemas visuais humanos e animais, como os blocos de construção básicos de soma e pesagem e o limiar de ativação de viés de um neurônio. Eles explicam que as CNNs usam neurônios especializados para operações de detecção de baixo nível e camadas de unidades ocultas para aprendizado de conceitos abstratos. A palestra também aborda o papel das camadas de convolução e agrupamento, o uso de vários filtros para extrair vários recursos e o conceito de aprendizagem por transferência. Por fim, também são discutidas não linearidades e o uso de padding para tratar casos de borda em convolução. No geral, a palestra destaca o poder e o potencial das CNNs em uma variedade de aplicações de ciências da vida.

A segunda parte da palestra abrange vários conceitos relacionados a redes neurais convolucionais (CNNs). Na palestra, o palestrante fala sobre a importância de manter o tamanho da entrada nas CNNs, o aumento de dados como meio de obter invariância às transformações e as diferentes arquiteturas de CNN e suas aplicações. A palestra também aborda os desafios associados ao aprendizado em CNNs profundas, hiperparâmetros e seu impacto no desempenho geral e abordagens para ajuste de hiperparâmetros. O palestrante enfatiza a importância de entender os princípios fundamentais por trás das CNNs e destaca sua versatilidade como técnica aplicável em vários ambientes.

  • 00:00:00 Nesta seção, o palestrante apresenta o tópico de redes neurais convolucionais (CNNs) e destaca sua importância no aprendizado profundo em vários domínios. O palestrante credita o curso 6s191 e as notas do Coursera de Tess Fernandez como ótimos recursos para estudar CNNs. O palestrante explica como as CNNs foram inspiradas nas próprias redes neurais do cérebro humano e nas descobertas de estudos de neurociência sobre o córtex visual animal nas décadas de 50 e 60. O palestrante continua explicando alguns dos princípios-chave que os estudos fundamentais da neurociência descobriram, incluindo o conceito de ter apenas campos receptivos limitados e células respondendo a bordas nos ângulos retos. Esses conceitos formam a base dos filtros convolucionais e das CNNs usadas hoje.

  • 00:05:00 Nesta seção, o palestrante discute os princípios do córtex visual e como eles se relacionam com as redes neurais convolucionais (CNNs). O córtex visual contém operações primitivas simples, como detecção de bordas, que são construídas a partir de neurônios individuais que detectam luz e escuridão em diferentes lugares e limiarizam esse sinal. Existem neurônios de ordem superior que são invariantes à posição da borda ou objeto detectado, o que levou ao conceito de invariância posicional nas camadas de pooling das CNNs. O palestrante também discute os blocos de construção dos sistemas visuais humanos e animais, que contêm princípios semelhantes encontrados em redes neurais, como os blocos de construção básicos de soma e pesagem e o limiar de ativação de viés de um neurônio.

  • 00:10:00 Nesta seção da palestra, o palestrante discute as funções de ativação nos neurônios, que determinam se um neurônio dispara ou não com base na entrada acima de um determinado limite. A não linearidade desse processo permite que funções mais complexas sejam aprendidas, uma vez que transformações lineares de informações lineares ainda são transformações lineares. Os neurônios estão conectados em redes que possuem propriedades emergentes e permitem o aprendizado e a memória. O cérebro humano é extremamente poderoso, contendo 86 bilhões de neurônios e quatrilhões de conexões organizadas em redes simples, grandes e profundas que permitem a abstração e o reconhecimento de conceitos complexos como arestas e linhas. É dado um exemplo de como um detector de borda pode ser criado em um nível inferior de neurônios com base na sinalização positiva e negativa em resposta a áreas claras e escuras.

  • 00:15:00 Nesta seção, o palestrante explica como as conexões neurais no cérebro detectam primitivos lineares e circulares muito básicos, como bordas e barras, e os usam para detectar características mais complexas, como cor, curvatura e orientação. As camadas superiores do córtex visual do cérebro correspondem às camadas de abstração no aprendizado profundo, que constroem conceitos complexos a partir de partes mais simples. A maleabilidade do cérebro também permite que ele utilize diferentes partes do cérebro para detectar os sinais correspondentes, e experimentos em animais mostraram que os circuitos do cérebro são intercambiáveis e podem ser religados em caso de lesão. Além disso, o palestrante observa a tremenda diferença de tamanho entre os cérebros de humanos e camundongos, e como a expansão do neocórtex em mamíferos, particularmente em primatas, deu origem a níveis mais altos de abstração e inteligência social.

  • 00:20:00 Nesta seção, o palestrante explica como as redes neurais podem aprender uma imensa gama de funções que são adequadas ao mundo físico que habitamos, apesar de não serem capazes de aprender todas as funções matemáticas. A palestra também explora como as ilusões visuais podem revelar os primitivos e os blocos de construção dos cálculos que ocorrem dentro do cérebro, que podem ser explorados pelo aprendizado profundo para criar experiências como ver uma pessoa se transformar em uma combinação monstruosa de animais. A palestra passa a discutir os principais ingredientes das redes neurais convolucionais, como localidade e cálculo de filtros convolucionais, que são calculados localmente, e não em uma rede totalmente conectada.

  • 00:25:00 Nesta seção da palestra sobre CNNs e aprendizado profundo em ciências da vida, o palestrante discute vários recursos importantes das redes neurais convolucionais. Isso inclui o uso de neurônios especializados que realizam operações de detecção de baixo nível, camadas de unidades ocultas onde conceitos abstratos são aprendidos a partir de partes mais simples, funções de ativação que introduzem não linearidades, agrupamento de camadas para invariância de posição e tempo de computação reduzido, filtros múltiplos que capturar diferentes aspectos da imagem original e formas de limitar o peso de unidades ocultas individuais para regularização. Esses recursos são importantes para a construção de CNNs eficazes que podem aprender e reconhecer padrões em imagens complexas ou dados genômicos.

  • 00:30:00 Nesta seção, o palestrante explica que o cérebro humano também usa vários mecanismos para fortalecer conexões úteis, limitando a dependência excessiva de qualquer conexão única para uma tarefa específica. Ele menciona os exemplos de redução do disparo de neurônios ao longo do tempo e o uso do aprendizado por reforço para melhorar as tarefas motoras. Ele também traça paralelos entre esses mecanismos primitivos de aprendizado no cérebro humano e o algoritmo de retropropagação usado em redes neurais convolucionais. O palestrante incentiva os alunos a pensar além das arquiteturas atuais e considerar novas arquiteturas computacionais que podem ser derivadas de primitivas individuais. Por fim, ele aborda uma questão do chat sobre como pensar em aplicações que precisam ou não de localidade dentro de uma rede totalmente conectada.

  • 00:35:00 Nesta seção, o palestrante discute as duas partes das redes neurais profundas: aprendizado de representação e classificação. Por ter camadas hierárquicas de aprendizado, as combinações de pixels se transformam em extração de recursos e a detecção de recursos segue. Isso permite que a rede aprenda uma função não linear complexa por meio do acoplamento das duas tarefas de retropropagação e extração de recursos. O palestrante menciona que esse paradigma é muito poderoso e generalizável em diferentes domínios de aplicação. O campo ainda está em sua infância e há muito espaço para criatividade e exploração, particularmente em genômica, biologia, neurociência, imagem e registros eletrônicos de saúde. Portanto, esses domínios de aplicativos podem impulsionar o desenvolvimento de novas arquiteturas que podem ter ampla aplicabilidade à ciência de dados em diferentes campos.

  • 00:40:00 Nesta seção, o palestrante explica o conceito de redes neurais convolucionais e o papel das convoluções na exploração da estrutura espacial, realizando computação local e compartilhando parâmetros em toda a imagem. Ao aplicar um filtro ou kernel a cada patch de uma imagem, a convolução é usada para calcular um mapa de recursos que nos diz quanto um recurso estava presente em cada patch da imagem, efetivamente fazendo a extração de recursos. O palestrante enfatiza o uso de vários filtros para extrair vários recursos, como bordas e bigodes, e compartilhar espacialmente os parâmetros de cada filtro para aprender com menos parâmetros.

  • 00:45:00 Nesta seção sobre CNNs, o palestrante explica que os parâmetros para cada processo de extração de características, como detecção de bordas, são compartilhados e aplicados a toda a imagem de uma só vez. Cada neurônio em uma camada oculta recebe entrada de um patch, calcula uma soma ponderada e aplica um viés para ativar com uma função não linear. Os filtros convolucionais são usados para extrair recursos da imagem e aprender representações, que podem ser aprendidas por meio de filtros específicos de tarefas. Diferentes espécies desenvolveram filtros convolucionais codificados desde o nascimento, que podem ser reutilizados para as tarefas mais úteis.

  • 00:50:00 Nesta seção, o palestrante fala sobre o processo de aprendizagem de filtros por meio de redes neurais convolucionais, que extraem características comuns de imagens e identificam características específicas para diferentes tarefas. Enquanto alguns filtros são codificados, como aqueles específicos para uma espécie em particular, outros, como detecção de borda e face, são úteis para várias aplicações. O conceito de aprendizado de transferência é discutido, onde filtros convolucionais anteriores podem ser aplicados a novos dados, para pré-aprender representações intermediárias e de alto nível antes de treinar novamente para novos recursos. A hierarquia de recursos de baixo nível para alto nível é ajustada para a tarefa de classificação em questão. O palestrante também explica que a convolução se refere ao efeito de torcer uma coisa na outra, após o que a detecção entra em ação com o uso de não linearidades.

  • 00:55:00 Nesta seção, o palestrante discute o conceito de não linearidades e como elas permitem a detecção introduzindo o silêncio até que uma característica específica seja observada. Eles também discutem o uso de pooling layers, que encontram o valor máximo dentro de uma determinada seção e reduzem o tamanho da representação, tornando algumas feições detectadas mais robustas. A camada totalmente conectada aprende funções muito mais complexas e captura combinações dos recursos extraídos da rede, permitindo a classificação. O palestrante também aborda os casos extremos da convolução e como o preenchimento das imagens com zeros antes da convolução resolve esse problema.

  • 01:00:00 Nesta seção, o palestrante discute a importância de manter o tamanho da entrada em redes neurais convolucionais e as diferentes maneiras de conseguir isso, incluindo preenchimento zero e convolução dilatada. O conceito de aumento de dados é introduzido como uma forma de alcançar a invariância às transformações no mundo real, como mudanças na orientação ou forma. Ao transformar as imagens em primeiro lugar, a rede pode aprender a reconhecer objetos independentemente de sua localização ou orientação. O palestrante enfatiza a importância de aprender milhões de recursos de baixo para cima e transformar imagens para alcançar a invariância.

  • 01:05:00 Nesta seção, o palestrante resume os conceitos discutidos nas seções anteriores da palestra, incluindo localidade, filtros e recursos, funções de ativação, agrupamento e multimodalidade. Ele então mostra um exemplo de rede neural convolucional profunda, consistindo em um volume de entrada de uma imagem RGB, seguido por 20 filtros com um passo de 2, o que cria um volume de 10. O palestrante enfatiza que o número de filtros computados cria um volume correspondente, que muda em cada camada da rede. Ele também demonstra como implementar esses conceitos no TensorFlow usando o mecanismo Keras para aprendizado profundo, incluindo diferentes tamanhos de filtro, funções de ativação, agrupamento e tamanho da passada.

  • 01:10:00 Nesta seção, o palestrante discute diferentes arquiteturas de redes neurais convolucionais e suas aplicações, começando com LeNet-5 para reconhecimento de documentos que ajudou a estabelecer a série de filtros convolucionais, sub-amostragem e camadas totalmente conectadas que compõem CNN hoje. O palestrante explica que o treinamento de CNNs é uma arte, pois requer significativamente mais dados de treinamento devido ao maior número de parâmetros e camadas. A importância da normalização no treinamento também é enfatizada, pois dados assimétricos podem impactar no desempenho do modelo. No geral, o palestrante destaca a maneira natural e eficaz com que as CNNs são capazes de realizar tarefas de classificação.

  • 01:15:00 Nesta seção, o palestrante discute vários desafios associados ao aprendizado em redes neurais convolucionais profundas. Um dos desafios são os gradientes de desaparecimento ou explosão, que podem ser mitigados escolhendo cuidadosamente os valores iniciais e normalizando os dados. O palestrante também explica como escolher o tamanho do lote, onde você pode treinar em todo o conjunto de dados ou usar mini-lotes, e fala sobre diferentes técnicas de treinamento, como prop RMS e recozimento simulado. A palestra também aborda hiperparâmetros, que são os parâmetros de arquitetura e treinamento, e seu impacto no desempenho geral. Por fim, o palestrante apresenta duas abordagens para ajuste de hiperparâmetros, pesquisa em grade e pesquisa aleatória, e discute seus benefícios e desvantagens.

  • 01:20:00 Nesta seção, o palestrante enfatiza a importância dos princípios fundamentais por trás das redes neurais convolucionais, em vez de focar na logística e nas abordagens tradicionais. A palestra aborda os principais recursos das CNNs, incluindo convoluções, representações de aprendizado, detecção, não linearidades e camadas de agrupamento. O palestrante também destaca as questões práticas de tornar o treinamento invariante a pequenas perturbações e abordar diferentes tipos de arquiteturas. Além disso, a turma discutirá a arte de treinar modelos em sessões futuras. No geral, a palestra apresenta CNNs como uma técnica extremamente versátil aplicável em várias configurações.
 

RNNs de Redes Neurais Recorrentes, GNNs de Redes Neurais de Gráfico, LSTMs de Memória de Longo Prazo - Aula 04 (Primavera de 2021)



RNNs de redes neurais recorrentes, GNNs de redes neurais de gráfico, LSTMs de memória de longo prazo

Este vídeo abrange uma variedade de tópicos, começando com redes neurais recorrentes (RNNs) e sua capacidade de codificar o contexto temporal, o que é crítico para o aprendizado de sequência. O palestrante apresenta o conceito de modelos de markov ocultos e suas limitações, o que leva à discussão dos módulos de memória de curto prazo (LSTM) como uma abordagem poderosa para lidar com sequências longas. O vídeo também discute o módulo transformador, que aprende relacionamentos temporais sem desenrolar ou usar RNNs. Redes neurais de grafos são introduzidas e suas aplicações potenciais na resolução de problemas clássicos de redes e em biologia computacional. A palestra termina com uma discussão sobre as fronteiras de pesquisa em redes neurais de grafos, como sua aplicação em modelos de grafos degenerativos e inferência de grafos latentes.

Esta segunda parte do vídeo discute os módulos de Redes Neurais Recorrentes (RNNs), Redes Neurais de Gráfico (GNNs) e Memória de Longo Prazo (LSTM). Ele explica como as redes neurais feedforward tradicionais têm limitações ao lidar com dados baseados em gráficos, mas as GNNs podem lidar com uma ampla gama de invariâncias e propagar informações pelo gráfico. Os palestrantes também discutem Graph Convolutional Networks (GCNs) e suas vantagens e desafios. Além disso, o vídeo descreve a importância das funções de atenção para tornar os GNNs mais poderosos e flexíveis.

  • 00:00:00 Nesta seção, o palestrante apresenta os tópicos que serão abordados na aula, incluindo redes neurais recorrentes e módulos de memória de longo prazo. O palestrante discute como as máquinas podem entender o contexto e a atenção e codificar o contexto temporal usando modelos ocultos de markov e redes neurais recorrentes. A palestra também aborda como evitar gradientes desaparecendo usando módulos de memória e apresenta o módulo Transformer que pode aprender relações temporais sem desenrolar a sequência. A palestra também aborda as redes neurais gráficas e como elas usam padrões de conectividade gráfica para orientar o treinamento. O palestrante discute a capacidade do cérebro humano de ler e entender o contexto e apresenta exemplos de restauração fonêmica e preenchimento de palavras ausentes com base no contexto.

  • 00:05:00 Nesta seção do vídeo, o palestrante discute como o cérebro processa a linguagem e o som por meio da previsão do que vem a seguir, que está na raiz da compreensão. As redes neurais recorrentes são usadas para codificar o contexto temporal ao aplicar o aprendizado de máquina a sequências, a fim de transformar uma sequência de entrada em uma sequência de saída que vive em um domínio diferente, como transformar uma sequência de pressões sonoras em uma sequência de identidades de palavras. O palestrante também dá exemplos de efeitos cognitivos relacionados a informações de contexto auditivo e visual, como o efeito McGurk e feedback auditivo atrasado, e explica como eles funcionam.

  • 00:10:00 Nesta seção do vídeo, o palestrante discute o poder de usar um modelo de previsão de sequência para aprender sobre o mundo. Ao prever o próximo termo em uma sequência, o processo de aprendizado não supervisionado pode ser transformado em um processo de aprendizado supervisionado. Isso permite o uso de métodos projetados para aprendizado supervisionado sem a necessidade de anotação. O palestrante explica que uma única função comum pode ser aprendida e aplicada a toda a sequência, permitindo a previsão de eventos futuros. Ao incorporar nós ocultos e dinâmicas internas, modelos mais complexos podem ser construídos e as informações podem ser armazenadas por um longo tempo. O palestrante descreve como as distribuições de probabilidade sobre vetores de estado ocultos podem ser inferidas e como a entrada pode ser usada para direcionar os nós ocultos direta ou indiretamente, fornecendo informações ao nó oculto atual.

  • 00:15:00 Nesta seção, o palestrante discute os Modelos Ocultos de Markov (HMM) e suas limitações. HMMs possuem dois tipos de parâmetros: uma matriz de emissão que representa a probabilidade de observar cada saída dado o estado oculto, e uma matriz de transição que representa a probabilidade de transição para outro estado oculto dado o atual. No entanto, a cada intervalo de tempo, apenas um dos estados ocultos pode ser selecionado e, com n estados, apenas log n bits de informação podem ser lembrados. Para codificar mais informações anteriores, seria necessário um número enorme de estados. Essa limitação é abordada por redes neurais recorrentes (RNNs) que permitem a codificação explícita de informações.

  • 00:20:00 Nesta seção, aprendemos sobre as propriedades das redes neurais recorrentes (RNNs), que nos permitem armazenar muitas informações de forma eficiente usando um estado oculto distribuído, atualizado de maneiras mais complicadas com dinâmica não linear. Enquanto a distribuição de probabilidade posterior de estados ocultos em um sistema dinâmico linear ou modelo de markov oculto (HMM) é estocástica, o estado oculto de um RNN é determinístico. Ao contrário dos HMMs ou sistemas dinâmicos lineares, que são estocásticos por natureza, os RNNs podem ter todos os tipos de comportamentos, como oscilação ou comportamento caótico, permitindo decisões imprevisíveis. Redes feedforward e RNNs são as mesmas quando o tempo é desenrolado, tornando-as equivalentes a uma rede feedforward com um número infinito de pilhas, com os mesmos pesos compartilhados usados para computar cada caractere na rede.

  • 00:25:00 Nesta seção, o palestrante explica as arquiteturas específicas que podem ser usadas para redes neurais recorrentes (RNNs) e como elas podem ser treinadas usando backpropagation. Uma maneira é ter entradas alimentando unidades ocultas e, em seguida, ter uma única saída após toda a sequência. Outra maneira é ter uma previsão de saída a cada etapa de tempo, permitindo que as informações fluam entre unidades ocultas e possibilitando a previsão de variáveis de saída. O mesmo algoritmo de retropropagação pode ser usado para atualizar os pesos dessas arquiteturas. O palestrante enfatiza que os pesos são compartilhados entre diferentes níveis da rede, o que permite um aprendizado mais eficiente.

  • 00:30:00 Nesta seção, o palestrante discute o conceito de retropropagação através do tempo em redes neurais recorrentes (RNNs) e como isso permite a codificação da memória de etapas de tempo anteriores. Eles explicam que isso pode ser feito fluindo a saída da etapa de tempo anterior para a unidade oculta atual ou alimentando o rótulo de saída correto para o enunciado anterior para o modelo atual durante o treinamento. O processo de treinamento envolve obter a derivada da função de perda em relação a cada peso e usá-la para atualizar os pesos sob restrições lineares. O palestrante observa que, embora as RNNs possam parecer complexas, elas podem ser treinadas usando os mesmos procedimentos de outras redes neurais.

  • 00:35:00 Nesta seção, o palestrante discute o conceito de modelagem de sequências com ferramentas de aprendizado de máquina e como lidar com sequências longas. Ele explica que, em casos como tradução de frases ou transcrição de palavras faladas, as sequências de entrada precisam ser transformadas em sequências de saída. No entanto, quando não há sequência alvo separada, um sinal de ensino pode ser obtido tentando prever o próximo termo da sequência de entrada. O desafio dessa abordagem surge ao lidar com sequências muito longas em que a influência de uma determinada palavra decai com o tempo. Para lidar com isso, o palestrante explica vários métodos, como redes de estado de eco e a utilização do momento, mas destaca os módulos de memória de longo prazo como a abordagem mais poderosa. Esses módulos usam unidades logísticas e lineares com interações multiplicativas para projetar uma célula de memória que pode lembrar valores para centenas de intervalos de tempo.

  • 00:40:00 Nesta seção, o palestrante explica o conceito de uma célula de memória analógica em redes neurais de memória de longo prazo (LSTM). A célula de memória é uma unidade linear com um autolink que tem um peso de um, garantindo que as informações permaneçam inalteradas e não diluídas por qualquer tipo de decaimento de peso. A célula é controlada por portões que mantêm uma câmara de eco onde a informação é repetida constantemente até que seja necessária, e a rede decide quando lembrar ou esquecer uma informação. A ativação das portas read e keep permite a recuperação e manutenção das informações, respectivamente. A rede recebe recursos para lembrar, esquecer, armazenar e recuperar uma memória e decide quando é útil lembrar ou esquecer uma determinada informação. A implementação dessas portas permite a preservação da informação por um longo tempo em redes neurais recorrentes.

  • 00:45:00 Nesta seção, o palestrante discute a aplicação de redes neurais recorrentes (RNNs) na leitura de caligrafia cursiva. RNNs com módulos de memória de longo prazo foram considerados o melhor sistema para essa tarefa em 2009. Uma sequência de pequenas imagens foi usada como um substituto para as coordenadas da caneta para treinar a rede. O palestrante mostra uma demonstração de reconhecimento de caligrafia online, onde os caracteres são inferidos a partir da caligrafia ao longo do tempo, e as probabilidades posteriores para cada um desses caracteres são acessadas. O estado do sistema é mantido e pontos diferentes recebem pesos diferentes. O palestrante explica como os personagens são aprendidos e quais partes do sistema são importantes. O palestrante também discute a inicialização de unidades ocultas e de saída de RNNs e como seu estado inicial pode ser tratado como parâmetros de aprendizado em vez de codificá-los explicitamente.

  • 00:50:00 Nesta seção, o vídeo descreve um novo desenvolvimento em redes neurais chamado módulo transformador, que aprende relações temporais sem desenrolar e sem usar redes neurais recorrentes. O módulo transformador utiliza uma entrada com codificação posicional para indicar onde a rede está na sequência sem a necessidade de desenrolar a rede ao longo do tempo. O codificador muda a incorporação de saída em um em relação à entrada para prever o próximo item da frase, enquanto os módulos de atenção determinam os pontos mais vitais da frase. O módulo usa uma representação de consulta de uma palavra na sequência, representações de chaves de todas as palavras na sequência e representações de valor de todas as palavras na sequência para obter os relacionamentos temporais.

  • 00:55:00 Nesta seção, o palestrante discute o Transformer, um tipo de rede neural útil para tradução de sequências ou qualquer tipo de tarefa sequencial. Ele codifica as informações de contexto de toda a frase a cada vez na produção de cada palavra, e as relações entre palavras consecutivas são codificadas nessa relação de entrada-saída, que é deslocada por um. O palestrante também apresenta as redes neurais de grafos e descreve como elas podem ser usadas para resolver problemas clássicos de redes, bem como a aplicação potencial em biologia computacional. A palestra termina com uma discussão sobre as fronteiras de pesquisa das redes neurais de grafos, como sua aplicação em modelos de grafos degenerativos e inferência de grafos latentes.

  • 01:00:00 Nesta seção, o palestrante fala sobre as vantagens do uso de Redes Neurais Convolucionais (CNNs) em dados estruturados em grade, como imagens, e o potencial de usar Redes Neurais de Grafo (GNNs) em dados fora da grade, como redes sociais, mapas de conectividade cerebral e moléculas químicas. O palestrante também discute os três tipos diferentes de recursos que podem estar presentes em GNNs: recursos de nó, recursos de borda e recursos de nível de grafo. Além disso, o palestrante destaca os problemas do uso de uma rede totalmente conectada para previsões de gráficos, incluindo o número de parâmetros escalonados com o número de nós, tornando-o impraticável para muitas situações.

  • 01:05:00 Nesta seção, o palestrante discute algumas das limitações do uso de redes neurais feedforward tradicionais para dados baseados em gráficos, incluindo a questão do tamanho do gráfico e a falta de invariância na ordem dos nós. Eles então introduzem redes neurais de gráfico (GNNs), que podem lidar com uma ampla classe de invariâncias e propagar informações em um gráfico para calcular recursos de nó e fazer previsões de downstream. A fórmula básica para GNNs envolve a amostragem de informações da vizinhança circundante do nó e a atualização da representação do nó com base nessas informações. O palestrante observa que esse processo é semelhante ao processo usado em redes neurais convolucionais (CNNs) para dados de imagem.

  • 01:10:00 Nesta seção, o palestrante discute o conceito de redes neurais de gráfico de duas camadas e como elas são atualizadas para diferentes nós em um gráfico. Eles explicam que as redes neurais gráficas são diferentes de outros tipos de redes porque permitem mais informações em geral, em vez de apenas interações de ordem superior entre diferentes partes do espaço de entrada. O palestrante também fala sobre as redes convolucionais de grafos (GCNs) e como elas consideram grafos não direcionados, com uma regra de atualização que aplica uma matriz de peso a cada representação oculta dos vizinhos de um nó. A escalabilidade de redes neurais de gráfico também é discutida, com a sugestão de subamostrar o número de contribuintes para atualizações de nó para evitar que a rede exploda.

  • 01:15:00 Nesta seção, o palestrante explica as redes neurais gráficas (GNNs), que são um tipo de rede neural usada para dados gráficos. As GNNs são menos dependentes do peso do que as redes totalmente conectadas e são invariantes a permutações, permitindo a classificação em grandes gráficos. Os GNNs têm suporte indireto para recursos de borda, e uma adaptação é usar incorporações de borda para passar totalmente as mensagens pela rede. O palestrante usa redes de citação como exemplo e explica como funciona o mecanismo de atualização em GNNs.

  • 01:20:00 Nesta seção do vídeo, o palestrante explica como uma rede neural de gráfico funciona para atualização de borda a vértice e como a função de atenção desempenha um papel vital em tornar a rede flexível e poderosa. O objetivo da atualização aresta a vértice das GNNs é obter o estado de uma das arestas, o que pode ser obtido tomando uma agregação das representações dos nós incidentes e aplicando uma função não linear específica para as atualizações das arestas. Da mesma forma, as atualizações de vértices envolvem informações das arestas incidentes de um nó. No entanto, as ativações baseadas em borda tornam-se enormes, tornando intratável lidar com gráficos grandes. A função de atenção fornece uma representação vetorial explícita sem incluir todas as informações das arestas, reduzindo os requisitos computacionais dos modelos enquanto mantém sua flexibilidade e poder. O palestrante descreve como os escores de atenção podem mostrar o quanto cada vizinho está contribuindo para a atualização do nó central, possibilitando inferir alguma relação ou contribuir com propriedades.

  • 01:25:00 Nesta seção, os palestrantes discutem Graph Convolutional Networks (GCNs) e suas vantagens e desafios. Os GCNs permitem que várias camadas sejam aplicadas ao longo do gráfico, e cada atualização tem o mesmo formato. Eles são úteis para classificação de nó, classificação de gráfico e predição de link. No entanto, ainda há problemas de otimização devido às atualizações paralelas em todo o gráfico, e as constantes de normalização podem precisar ser corrigidas para evitar a desestabilização. Além disso, os GCNs podem sofrer de problemas de expressividade em comparação com outros métodos, como Graph Attention Networks (GATs). No entanto, os GCNs ainda são mais rápidos do que os métodos que requerem incorporação de borda ou passagem de mensagem neural.

  • 01:30:00 Nesta seção, o palestrante aborda as Graph Neural Networks (GNNs), que são um tipo de modelo que pode ser aplicado a grafos ou redes de dados. As GNNs envolvem tomar o produto escalar entre as representações de quaisquer dois nós no grafo, aplicando uma função não linear como um sigmóide e, em seguida, produzindo uma probabilidade da existência dessa aresta. GNNs também permitem modelagem preditiva em áreas como interação gênica em biologia. O palestrante conclui resumindo os vários tipos de redes discutidos, incluindo redes neurais convolucionais (CNNs), redes neurais recorrentes (RNNs), módulos de memória de longo prazo e módulos transformadores.
 

Aprendizagem Profunda Interpretável - Aprendizagem Profunda em Ciências da Vida - Aula 05 (Primavera de 2021)



Aprendizagem Profunda Interpretável - Aprendizagem Profunda em Ciências da Vida - Aula 05 (Primavera de 2021)

Este vídeo discute a importância da interpretabilidade em modelos de aprendizado profundo, especialmente no campo das ciências da vida, onde as decisões podem ter consequências terríveis. O palestrante explica dois tipos de interpretabilidade: incorporá-la ao design do modelo desde o início e desenvolver métodos post hoc de interpretabilidade para modelos já construídos. Eles exploram diferentes técnicas para interpretar modelos, incluindo visualização de peso, construção de modelo substituto e maximização de ativação, e discutem a importância de entender as representações internas do modelo. O palestrante também explica vários métodos para interpretar decisões individuais, como métodos baseados em exemplos e métodos de atribuição. Além disso, o palestrante discute o desafio de interpretar conceitos complexos e as limitações das interpretações de modelos de redes neurais, além de explorar hipóteses relacionadas à descontinuidade de gradientes em redes neurais de aprendizado profundo.

Na segunda parte da palestra, o palestrante abordou os desafios dos gradientes descontínuos e das funções saturadas em modelos de aprendizagem profunda na área de ciências da vida. Eles propuseram métodos como a média de pequenas perturbações de entrada em várias amostras para obter um gradiente mais suave, usando ruído aleatório para destacar os recursos salientes na classificação de imagens e técnicas de retropropagação, como redes neurais deconvolucionais e retropropagação guiada para interpretar modelos reguladores de genes. O palestrante também discutiu a avaliação quantitativa dos métodos de atribuição, incluindo o procedimento de inversão de pixel e a abordagem de remoção e substituição de pontuação. Finalmente, eles enfatizaram a necessidade de interpretabilidade em modelos de aprendizado profundo e as várias técnicas para alcançá-lo.

  • 00:00:00 Nesta seção, o apresentador discute a importância da interpretabilidade no aprendizado profundo e os diferentes métodos para alcançá-lo. Eles explicam que, embora os modelos de aprendizado profundo possam superar os humanos, é importante entender como eles estão tomando decisões e se essas decisões são confiáveis. A interpretabilidade pode ajudar na depuração, na realização de descobertas e no fornecimento de explicações para decisões. O apresentador continua discutindo métodos anti-falcão e post hoc para interpretação, bem como modelos de interpretação versus decisões. Em seguida, eles se aprofundam em métodos específicos para interpretar modelos, como visualização de peso, construção de modelos substitutos, maximização de ativação e modelos baseados em exemplos. Por fim, o apresentador discute métodos de atribuição e avalia a eficácia desses métodos por meio de medidas qualitativas e quantitativas.

  • 00:05:00 Nesta seção, é enfatizada a importância da interpretabilidade no aprendizado de máquina, especialmente no campo das ciências da vida, onde decisões erradas podem ter consequências caras. A abordagem tradicional de construir um modelo gigante sem entender como e por que ele funciona não é mais suficiente e, em vez disso, informações interpretáveis devem ser extraídas de modelos de caixa preta. O aprendizado de máquina interpretável fornece previsões verificadas otimizadas não apenas para o erro de generalização, mas também para a experiência humana. É importante entender os mecanismos físicos, biológicos e químicos da doença para treinar melhor os médicos e obter informações sobre como o cérebro humano funciona. Além disso, o direito à explicação é crucial na luta contra vieses que podem ser inerentes aos conjuntos de dados de treinamento devido a séculos de discriminação.

  • 00:10:00 Nesta seção do vídeo, o palestrante discute dois tipos de interpretabilidade em aprendizado profundo: construir interpretabilidade no design do modelo e construir interpretabilidade post hoc desenvolvendo técnicas especiais para interpretar modelos complexos depois de terem sido construídos . Eles explicam que o aprendizado profundo tem milhões de parâmetros, impossibilitando a construção de modelos interpretáveis para começar. Portanto, o foco está no desenvolvimento de técnicas de interpretabilidade post hoc com base em seu grau de localidade. O palestrante também discute maneiras de construir redes neurais interpretáveis nos níveis de modelo e decisão.

  • 00:15:00 Nesta seção, o palestrante discute os dois tipos de modelos interpretáveis para aprendizado profundo: aqueles que interpretam o próprio modelo e aqueles que interpretam as decisões. As decisões podem ser baseadas em métodos de atribuição ou métodos baseados em exemplos. O palestrante também fala sobre a análise das próprias representações e a geração de dados a partir do modelo. Eles apresentam quatro tipos de abordagens para analisar representações que incluem visualização de peso, construção de modelo substituto e compreensão das entradas que maximizam as unidades de ativação. Por fim, o palestrante destaca a importância de entender as representações internas do modelo, especificamente os recursos hierárquicos extraídos da metade esquerda do modelo, que podem fornecer informações sobre como os modelos de aprendizado profundo fazem inferências.

  • 00:20:00 Nesta seção, o palestrante discute a ideia de interpretar o aprendizado profundo observando o funcionamento interno da rede neural. Ele explica que, assim como os cientistas estudaram o córtex visual em gatos e macacos para entender como os neurônios individuais disparam em diferentes orientações, podemos observar os neurônios disparando em uma rede neural para entender os primitivos ou recursos que a rede aprendeu a reconhecer. No entanto, com milhões de parâmetros e milhares de nós internos, não é possível visualizar todos eles. Assim, o professor introduz a ideia de modelos substitutos ou modelos de aproximação mais simples e interpretáveis. A palestra também aborda a maximização da ativação, onde o objetivo é gerar dados que maximizem a ativação de um determinado neurônio.

  • 00:25:00 Nesta seção, o palestrante discute um problema de otimização que envolve maximizar a probabilidade posterior da classe para uma determinada entrada, ao mesmo tempo em que usa um termo de regularização para garantir que a saída seja interpretável por humanos. Eles explicam que simplesmente maximizar com base na probabilidade de classe pode resultar em imagens que não fazem muito sentido, portanto, o termo de regularização adicional é necessário para restringir a interpretação da saída. Eles também abordam o conceito de variáveis latentes e parâmetros que podem ajudar a parametrizar vetores ruidosos e melhorar a qualidade das interpretações. O objetivo é gerar dados que correspondam mais de perto aos dados de treinamento para que a saída se assemelhe aos padrões relacionados à classe e seja mais fácil de interpretar para os humanos.

  • 00:30:00 O objetivo é maximizar ou minimizar certos recursos e, em seguida, usar essas instâncias para entender como o modelo está tomando suas decisões. Isso pode ser feito por meio da maximização da ativação dentro do espaço de entradas possíveis, onde a entrada é restrita a vir de uma distribuição de dados semelhante à humana. Alternativamente, um modelo generativo pode ser usado para amostrar a partir da função de densidade de probabilidade dessa distribuição. Ao forçar a apresentação a estar dentro do espaço de código, as imagens resultantes são mais interpretáveis e podem ser usadas para construir modelos mais interpretáveis. Outras técnicas para construir modelos interpretáveis incluem visualização de peso, construção de modelos substitutos que aproximam a saída e interpretação baseada em exemplos onde instâncias que maximizam ou minimizam certos recursos são usadas para entender o processo de tomada de decisão do modelo.

  • 00:35:00 Nesta seção, o palestrante discute quatro maneiras diferentes de interpretar as decisões tomadas pelo modelo, especificamente em termos de aplicações práticas. O primeiro método é baseado em exemplos, que envolve a seleção de exemplos que são mal classificados e próximos da entrada específica, para ensinar o modelo como melhorar. O segundo método é a atribuição ativa, que envolve observar por que um determinado gradiente é ruidoso. O terceiro método é a atribuição baseada em gradiente com gradação suave ou gradientes internos, e o método final é a atribuição baseada em suporte traseiro com convolução e propagação de preto guiada. As limitações da interpretação em nível de modelo também são observadas, principalmente quando se trata de determinar a melhor imagem para interpretar a classificação.

  • 00:40:00 Nesta seção, o palestrante discute o desafio de interpretar modelos de aprendizagem profunda em termos de encontrar um protótipo ou uma imagem típica que represente um conceito complexo, como uma motocicleta ou um girassol. O método baseado em exemplos é apresentado como uma forma de identificar qual instância de treinamento mais influencia uma decisão, sem destacar especificamente as características importantes dessas imagens. O método visa determinar as imagens de treinamento mais próximas com base em sua influência na classificação de uma determinada imagem, em vez da proximidade do pixel. O palestrante também fala sobre a fragilidade das interpretações do modelo de rede neural e o uso de funções de influência na compreensão do processo de aprendizagem subjacente.

  • 00:45:00 Nesta seção, o palestrante apresenta dois métodos para interpretar modelos de aprendizado profundo. A primeira é a interpretação baseada em exemplos, que analisa exemplos individuais no conjunto de treinamento para entender o processo de tomada de decisão da rede neural. O segundo são os métodos de atribuição, que atribuem um valor de atribuição a cada pixel em uma imagem para determinar o quanto ele contribui para a decisão de classificação. O objetivo de ambos os métodos é tornar o aprendizado de máquina interpretável e compreensível por humanos e identificar os recursos mais salientes em uma imagem. Ao visualizar os valores de atribuição como mapas de calor, os pesquisadores podem desenvolver uma melhor compreensão de como as redes neurais profundas tomam decisões e quais pixels em uma imagem são mais responsáveis por essa decisão.

  • 00:50:00 Nesta seção, o palestrante explica como calcular a saliência de uma imagem usando a mesma metodologia da retropropagação durante o treinamento. Em vez de olhar para derivadas relativas a pesos, eles olham para derivadas relativas a pixels. O mapa de saliência é então calculado atribuindo visualmente esses pixels de volta à imagem. No entanto, esses mapas de saliência tendem a ser ruidosos e pouco precisos. O palestrante detalha duas hipóteses para explicar por que isso ocorre: ou os pixels dispersos são importantes para o processo de tomada de decisão da rede neural ou os gradientes podem ser descontínuos. O palestrante então explica como essas hipóteses guiaram o desenvolvimento de métodos para lidar com os mapas de saliência ruidosa.

  • 00:55:00 Nesta seção da palestra, o palestrante discute três hipóteses relacionadas à descontinuidade de gradientes em redes neurais de aprendizado profundo. A primeira hipótese é que a função que está sendo aprendida não é suave e, à medida que mais camadas são adicionadas, o disparo torna-se extremamente descontínuo, levando a erros de classificação. A segunda é que os gradientes são descontínuos devido ao número de camadas e funções não derivadas, causando ruído e permitindo truques nas funções de classificação. A terceira hipótese sugere que a função satura, impedindo a capacidade de aprender qualquer coisa de forma mais suave. Para melhorar essas derivadas parciais em relação à entrada, uma possibilidade discutida é adicionar ruído para perturbar a entrada e usar o gradiente na entrada perturbada ou tirar a média de múltiplas perturbações para suavizar o gradiente ruidoso.

  • 01:00:00 Nesta seção, o palestrante discutiu soluções para desafios de aprendizado profundo causados por gradientes descontínuos ou funções saturadas. Isso incluiu métodos para alterar os gradientes ou retropropagação e usar várias imagens com ruído adicionado. O palestrante também discutiu vários métodos de atribuição, como propagação de relevância em camadas e levantamento profundo, para interpretar modelos regulatórios de genes. Para lidar com a descontinuidade dos gradientes, eles sugeriram definir uma função de gradiente suave calculando a média de pequenas perturbações da entrada em muitas amostras, suavizando efetivamente a função de gradiente para operar como uma rede rasa em vez de uma rede profunda. Além disso, o palestrante explicou como a adição de ruído aleatório às imagens pode ajudar a demonstrar a robustez do modelo e destacar os recursos salientes recorrentemente usados na classificação de imagens.

  • 01:05:00 Nesta seção, o palestrante discute três hipóteses para a interpretação de modelos de aprendizagem profunda no campo das ciências da vida. A segunda hipótese sugere que os gradientes são descontínuos com qualquer imagem em particular, mas tomando uma amostra de múltiplas imagens ao redor daquela, um gradiente mais suave pode ser obtido. A terceira hipótese sugere que a função satura, levando a ativações extremas. Para resolver isso, o palestrante propõe reduzir as imagens para aproximá-las das funções distribuíveis. Isso é feito por meio de gradientes internos que são usados para redimensionar os pixels da imagem. Métodos baseados em pano de fundo também são explorados, como redes neurais deconvolutivas e propagação reversa guiada devido ao desafio de valores zerados na unidade linear retificada.

  • 01:10:00 Nesta seção, o palestrante discute os desafios da retropropagação no aprendizado profundo e como eles podem ser resolvidos usando redes neurais deconvolucionais. Ao mapear padrões de recursos para o espaço de entrada e reconstruir a imagem, as redes neurais deconvolucionais podem obter uma reconstrução de recursos válida e remover o ruído removendo gradientes negativos. O palestrante também explica como a retropropagação guiada pode ser usada para combinar informações das passagens para frente e para trás para gerar imagens representativas da imagem original. Além disso, o palestrante discute métodos para avaliar esses métodos de atribuição, incluindo abordagens qualitativas e quantitativas baseadas em coerência e sensibilidade de classe. Por fim, o palestrante explora diferentes métodos de atribuição, como elevação profunda, mapas de saliência e gradação suave, e sua eficácia na captura de pixels específicos responsáveis por uma classificação específica.

  • 01:15:00 Nesta seção, o palestrante discute a avaliação quantitativa de métodos de atribuição em aprendizado profundo. O objetivo é avaliar se esses métodos estão capturando adequadamente o objeto de interesse pretendido e distinguindo diferentes classes de objetos. O palestrante apresenta o procedimento de inversão de pixels para remover recursos individuais com altos valores de atribuição e avalia a função de classificação para medir a sensibilidade do método. A precisão das atribuições de saliência e atribuições de classificação pode ser medida usando uma curva, e o palestrante sugere remover e retreinar para obter uma melhor precisão. No geral, a seção discute maneiras quantitativas de avaliar a eficácia dos métodos de atribuição de aprendizagem profunda.

  • 01:20:00 Nesta seção, o palestrante explica como o desempenho de um classificador pode ser medido removendo recursos específicos com base no método de atribuição. A abordagem "remover e substituir a pontuação" envolve substituir uma certa porcentagem dos pixels mais ou menos importantes e treinar novamente a rede neural profunda para medir a mudança na precisão. Isso fornece uma métrica quantitativa para avaliar a precisão das decisões de interpretação. O palestrante também recapitula a importância da interpretabilidade e diferentes técnicas para interpretar modelos de aprendizado profundo usando métodos de atribuição e maximização de ativação, bem como os desafios dos métodos post hoc.

  • 01:25:00 Nesta seção, o palestrante discute como os modelos de aprendizado profundo podem ser restritos e os recursos mais importantes encontrados usando retropropagação, deconvolução e retropropagação guiada. Vários métodos de pontuação desses métodos de divisão também foram destacados, incluindo coerência, sensibilidade de classe e métricas quantitativas para remover recursos com alta atribuição. O palestrante então apresentou métodos de remoção e retreinamento onde pixels individuais podem ser removidos, retreinados e a queda na precisão medida. A palestra foi encerrada com a revisão dos temas abordados e foram anunciadas as próximas palestras.