2 pontos por GN⁺ 2024-05-02 | 1 comentários | Compartilhar no WhatsApp

Introdução às Kolmogorov-Arnold Networks (KANs)

Definição e características das KANs

  • Kolmogorov-Arnold Networks (KANs) são uma alternativa promissora aos Multi-Layer Perceptrons (MLPs)
  • As KANs possuem uma base matemática forte, assim como os MLPs
    • MLPs são baseados no teorema da aproximação universal
    • KANs são baseadas no teorema da representação de Kolmogorov-Arnold
  • KANs e MLPs são duais
    • KANs têm função de ativação em arestas (edge)
    • MLPs têm função de ativação em nós (node)
  • Graças a essa mudança simples, as KANs apresentam desempenho melhor (às vezes muito melhor) que os MLPs em termos de acurácia (accuracy) e interpretabilidade (interpretability)

Acurácia das KANs

  • KANs escalam mais rápido que MLPs
  • KANs apresentam melhor acurácia que MLPs com menos parâmetros
  • Exemplos
    • ajuste de fórmula simbólica
    • ajuste de função especial
    • resolução de equações diferenciais parciais (PDE)
    • evitar catastrophic forgetting

Interpretabilidade das KANs

  • KANs podem ser visualizadas de maneira intuitiva
  • KANs oferecem interpretabilidade e interatividade que os MLPs não conseguem oferecer
  • Com KANs, é possível potencialmente descobrir novas leis científicas
  • Exemplos
    • interpretação de fórmula simbólica
    • descoberta de leis matemáticas de knots
    • descoberta de leis físicas de Anderson localization
    • interpretação do processo de treino de uma KAN de 3 camadas

Método de instalação

  • É possível instalar o pykan via pypi ou github
  • Método de instalação via github fornecido
  • Método de instalação via pypi fornecido
  • Requisitos especificados e forma de instalá-los fornecida

Requisitos computacionais

  • Os exemplos do tutorial geralmente executam em menos de 10 minutos em uma única CPU
  • Todos os exemplos do artigo executam em menos de um dia em uma única CPU
  • O treinamento de KANs para PDE é a parte com maior custo computacional e pode levar de algumas horas a vários dias em uma única CPU
  • Treinar o modelo usando CPU para fazer sweep de parâmetros e obter a Pareto Frontier
  • Para trabalhos de maior porte, recomenda-se o uso de GPU

Documentação

  • A documentação pode ser encontrada no URL vinculado

Tutorial

  • Quickstart: comece com o notebook hellokan.ipynb
  • Mais demonstrações: em tutorials há mais notebooks de tutorial

Citação

  • Fornecida a forma de citar o artigo

Contato

  • Para dúvidas, é possível entrar em contato pelo e-mail zmliu@mit.edu

Opinião GN⁺

  • As KANs são uma arquitetura neural interessante, com base matemática e vantagens em termos de acurácia e interpretabilidade como alternativa aos MLPs. Porém, ainda parece estar em estágio inicial de pesquisa, e parece que será necessária uma validação mais robusta de desempenho em grandes conjuntos de dados ou tarefas complexas.

  • Em MLPs, a função de ativação fica nos nós, enquanto nas KANs ela fica nas arestas; esse é o ponto central dessa diferença. Vale a pena analisar com mais profundidade quais mudanças ocorrem na arquitetura e no modo de treinamento da rede.

  • A interpretabilidade das KANs pode ajudar a resolver o problema da caixa-preta da inteligência artificial. O potencial de utilizá-las para descobrir novas leis científicas também é um aspecto atraente. No entanto, já existem várias pesquisas em IA interpretável, então pode ser necessário destacar com mais clareza as vantagens de uma abordagem diferenciada.

  • Os exemplos apresentados no artigo estão, em grande parte, restritos a áreas de matemática e ciências. Ainda parece necessário investigar se as KANs conseguem substituir MLPs também em domínios diversos, como imagens e linguagem natural.

  • Abordagens semelhantes às KANs incluem Capsule Networks e Graph Neural Networks. Estudos comparativos com essas técnicas podem ajudar a validar os pontos fortes específicos das KANs.

1 comentários

 
GN⁺ 2024-05-02
Comentários do Hacker News
  • Um usuário apresentou uma implementação simples da ideia do artigo usando PyTorch. A essência é composta por apenas algumas linhas de código e usa coeficientes de Fourier para interpolar uma função unidimensional, em vez de splines. Isso mostra a capacidade de representação de uma rede Kolmogorov-Arnold e, embora possa convergir mais facilmente do que a versão spline do paper, exige mais operações.

  • Outro usuário compartilhou os resultados de experimentos com o notebook de Jupyter fornecido. Ao mudar a arquitetura da rede em um problema de classificação de (2, 2) para (2, 2, 2), a generalização falhou; ao aumentar em 100x o tamanho dos dados de treino, o sobreajuste melhorou, mas a perda de treino não caiu abaixo de 1e-2. Ele quer testar com exemplos e dados em maior escala.

  • Em meio ao cansaço com as melhorias graduais dos Transformers recentemente, esta pesquisa foi bem avaliada por trazer uma ideia nova que pode aumentar o poder de representação de DNNs existentes; ainda é preciso validar se isso melhora de fato o desempenho.

  • Ainda não está claro o que esse método mostrará em aplicações em grande escala em termos de escalabilidade do próprio algoritmo (se treina bem com mais camadas) e de viabilidade de aceleração por hardware (se a estrutura de função de ativação por peso pode explorar aceleração de multiplicação de matriz rápida). Em pequena escala ela apresenta propriedades interessantes, mas ainda são necessários mais estudos para verificar se é uma estrutura adequada para tarefas como ImageNet ou LLMs.

  • É interessante que redes Kolmogorov consigam representar funções descontínuas, mas havia dúvidas sobre a aplicabilidade real. Este repositório mostra que existe alguma possibilidade de uso.

  • Pode ser uma opinião apressada, mas também há a visão de que a combinação linear de B-splines gera uma B-spline de ordem mais alta, então isso pode ser apenas ajustar a função com B-splines de alta ordem.

  • Classificar dimensão de entrada 100 como 'alta dimensão' no preprint e dizer que a maioria dos problemas é de 5 dimensões ou menos reflete o cenário físico-inspirado típico considerado em ML. Pela régua atual, o próximo passo seria validar desempenho no MNIST, que tem apenas 784 dimensões e é muito pequeno.

  • Também dá a sensação de que os autores enfiaram splines em uma árvore de decisão.

  • Conceitualmente, parece bastante semelhante ao método de elementos finitos, e é bom ver padrões semelhantes sendo descobertos entre áreas diferentes.