Fundamentos de IA
O que é Meta-Aprendizado?
O que é Meta-Aprendizado?
Uma das áreas de pesquisa de mais rápido crescimento em aprendizado de máquina é a área de meta-aprendizado. Meta-aprendizado, no contexto de aprendizado de máquina, é o uso de algoritmos de aprendizado de máquina para auxiliar no treinamento e otimização de outros modelos de aprendizado de máquina. À medida que o meta-aprendizado está se tornando cada vez mais popular e mais técnicas de meta-aprendizado estão sendo desenvolvidas, é benéfico ter uma compreensão do que é meta-aprendizado e ter uma noção das várias maneiras pelas quais pode ser aplicado. Vamos examinar as ideias por trás do meta-aprendizado, tipos de meta-aprendizado, bem como algumas das maneiras pelas quais o meta-aprendizado pode ser usado.
O termo meta-aprendizado foi cunhado por Donald Maudsley para descrever um processo pelo qual as pessoas começam a moldar o que elas aprendem, tornando-se “cada vez mais controladoras dos hábitos de percepção, inquérito, aprendizado e crescimento que elas internalizaram”. Mais tarde, cientistas cognitivos e psicólogos descreveriam o meta-aprendizado como “aprender a aprender”.
Para a versão de aprendizado de máquina do meta-aprendizado, a ideia geral de “aprender a aprender” é aplicada a sistemas de inteligência artificial. No sentido de IA, o meta-aprendizado é a capacidade de uma máquina artificialmente inteligente aprender a realizar várias tarefas complexas, aplicando os princípios que usou para aprender uma tarefa a outras tarefas. Os sistemas de IA normalmente precisam ser treinados para realizar uma tarefa através do domínio de muitas pequenas subtarefas. Esse treinamento pode levar muito tempo e os agentes de IA não transferem facilmente o conhecimento aprendido durante uma tarefa para outra tarefa. A criação de modelos e técnicas de meta-aprendizado pode ajudar a IA a aprender a generalizar métodos de aprendizado e adquirir novas habilidades mais rapidamente.
Tipos de Meta-Aprendizado
Meta-Aprendizado de Otimizador
O meta-aprendizado é frequentemente empregado para otimizar o desempenho de uma rede neural já existente. Os métodos de meta-aprendizado de otimizador normalmente funcionam ajustando os hiperparâmetros de uma rede neural diferente para melhorar o desempenho da rede neural base. O resultado é que a rede alvo deve se tornar melhor em realizar a tarefa para a qual está sendo treinada. Um exemplo de um otimizador de meta-aprendizado é o uso de uma rede para melhorar os resultados do gradiente descendente.
Meta-Aprendizado de Poucos Disparos
Uma abordagem de meta-aprendizado de poucos disparos é aquela em que uma rede neural profunda é projetada para generalizar dos conjuntos de dados de treinamento para conjuntos de dados não vistos. Um exemplo de classificação de poucos disparos é semelhante a uma tarefa de classificação normal, mas em vez disso, as amostras de dados são conjuntos de dados inteiros. O modelo é treinado em muitas tarefas de aprendizado/datasets diferentes e então é otimizado para o desempenho máximo nas tarefas de treinamento e dados não vistos. Nessa abordagem, uma única amostra de treinamento é dividida em várias classes. Isso significa que cada amostra de treinamento/conjunto de dados pode potencialmente ser composto por duas classes, para um total de 4-disparos. Nesse caso, a tarefa de treinamento total pode ser descrita como uma tarefa de classificação 4-disparos 2-classes.
No aprendizado de poucos disparos, a ideia é que as amostras de treinamento individuais são minimalistas e que a rede pode aprender a identificar objetos após ter visto apenas algumas imagens. Isso é muito semelhante à forma como uma criança aprende a distinguir objetos após ver apenas algumas imagens. Essa abordagem foi usada para criar técnicas como modelos generativos de um disparo e redes neurais com memória aumentada.
Meta-Aprendizado de Métrica
O meta-aprendizado baseado em métrica é a utilização de redes neurais para determinar se uma métrica está sendo usada de forma eficaz e se a rede ou redes estão atingindo a métrica alvo. O meta-aprendizado de métrica é semelhante ao aprendizado de poucos disparos, pois apenas alguns exemplos são usados para treinar a rede e fazê-la aprender o espaço métrico. A mesma métrica é usada em todo o domínio diverso e, se as redes se afastarem da métrica, elas são consideradas falhas.
Meta-Aprendizado de Modelo Recorrente
O meta-aprendizado de modelo recorrente é a aplicação de técnicas de meta-aprendizado a Redes Neurais Recorrentes e Redes de Memória de Longo Prazo semelhantes. Essa técnica opera treinando o modelo RNN/LSTM para aprender sequencialmente um conjunto de dados e, em seguida, usando esse modelo treinado como base para outro aprendiz. O meta-aprendiz toma o algoritmo de otimização específico que foi usado para treinar o modelo inicial. A parametrização herdada do meta-aprendiz permite que ele se inicialize e converge rapidamente, mas ainda possa ser atualizado para novos cenários.
Como Funciona o Meta-Aprendizado?
A maneira exata como o meta-aprendizado é realizado varia dependendo do modelo e da natureza da tarefa em questão. No entanto, em geral, uma tarefa de meta-aprendizado envolve copiar os parâmetros da primeira rede para os parâmetros da segunda rede/otimizador.
Há dois processos de treinamento no meta-aprendizado. O modelo de meta-aprendizado é normalmente treinado após várias etapas de treinamento no modelo base terem sido realizadas. Após as etapas de treinamento forward, backward e otimização que treinam o modelo base, a etapa de treinamento forward é realizada para o modelo de otimização. Por exemplo, após três ou quatro etapas de treinamento no modelo base, uma perda meta é computada. Após a perda meta ser computada, os gradientes são computados para cada parâmetro meta. Após isso ocorrer, os parâmetros meta no otimizador são atualizados.
Uma possibilidade para calcular a perda meta é terminar a etapa de treinamento forward do modelo inicial e, em seguida, combinar as perdas que já foram computadas. O meta-otimizador pode até ser outro meta-aprendiz, embora em algum ponto um otimizador discreto como ADAM ou SGD deva ser usado.
Muitos modelos de aprendizado profundo podem ter centenas de milhares ou até milhões de parâmetros. Criar um meta-aprendiz que tenha um conjunto completamente novo de parâmetros seria computacionalmente caro e, por esse motivo, uma tática chamada compartilhamento de coordenadas é normalmente usada. O compartilhamento de coordenadas envolve projetar o meta-aprendiz/otimizador para que ele aprenda um único parâmetro do modelo base e, em seguida, apenas clone esse parâmetro no lugar de todos os outros parâmetros. O resultado é que os parâmetros que o otimizador possui não dependem dos parâmetros do modelo.












