Kernel de tangente neural

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Predefinição:Tradução de

No estudo de redes neurais artificiais (RNAs), o kernel de tangente neural (KTN) é um kernel que descreve a evolução de redes neurais artificiais profundas durante seu treinamento por gradiente descendente . Ele permite que RNAs sejam estudadas usando algoritmos do tipo Máquina de vetores de suporte.

Para a maioria das arquiteturas de rede neural, no limite da largura da camada, o KTN se torna constante. Isso permite que declarações simples de forma fechada sejam feitas sobre previsões de rede neural, dinâmicas de treinamento, generalização e superfícies de perda. Por exemplo, ele garante que RNAs largas o suficiente convergem para um mínimo global quando treinados para minimizar uma perda empírica. O KTN de redes de grande largura também está relacionado a vários outros limites de largura de redes neurais.

O KTN foi lançado em 2018 por Arthur Jacot, Franck Gabriel e Clément Hongler.[1] Também estava implícito em alguns trabalhos contemporâneos.[2][3][4]

Definição

Caso de saída escalar

Uma RNA com saída escalar consiste em uma família de funções f(,θ):nin parametrizado por um vetor de parâmetros θP.

O KTN é um kernel Θ:nin×nin definido por Θ(x,y;θ)=p=1Pθpf(x;θ)θpf(y;θ).

Em uma SVM, o KTN Θ é um kernel associado a uma feature (xθpf(x;θ))p=1,,P.

Caso de saída vetorial

Uma RNA com saída vetorial de tamanho nout consiste em uma família de funções f(;θ):ninnout parametrizada por um vetor de parâmetros θP.

Neste caso o KTN Θ:nin×ninnout() é um SVM de saída vetorial com valores de nout×nout e matrizes definidas por Θk,l(x,y;θ)=p=1Pθpfk(x;θ)θpfl(y;θ).

Derivação

Ao otimizar os parâmetros θP de uma RNA para minimizar uma perda empírica através da método do gradiente, o KTN determina a dinâmica da função de saída da RNA fθ durante todo o treinamento.

Caso de saída escalar

Para um dataset (xi)i=1,,nnin com rótulos escalares (zi)i=1,,n e uma função de perda c:× associada a uma perda empírica, definida em funções f:nin é dada por 𝒞(f)=i=1nc(f(xi),zi).

Ao treinar uma RNA f(;θ):nin é treinado para se ajustar ao conjunto de dados (ou seja, minimizar 𝒞) via método do gradiente por tempo contínuo os parâmetros (θ(t))t0 evoluem através da função diferencial ordinária:

tθ(t)=𝒞(f(;θ)).

Durante o treinamento, a função de saída da RNA segue a evolução de uma equação diferencial dada em termos de KTN:

tf(x;θ(t))=i=1nΘ(x,xi;θ)wc(w,zi)|w=f(xi;θ(t)).

Esta equação mostra como o KTN conduz a dinâmica de f(;θ(t)) no espaço das funções nin durante o treinamento.

Caso de saída vetorial

Para um dataset (xi)i=1,,nnin com vetores (zi)i=1,,nnout e uma função de perda c:nout×nout a perda empírica correspondente em funções f:ninnout é definida por:

𝒞(f)=i=1nc(f(xi),zi).

O treinamento de fθ(t) através do método do gradiente por tempo contínuo produz a seguinte evolução na função do espaço gerada pelo KTN:

tfk(x;θ(t))=i=1nl=1noutΘk,l(x,xi;θ)wlc((w1,,wnout),zi)|w=f(xi;θ(t)).

Interpretação

O KTN Θ(x,xi;θ) representa a influência da perda de gradiente wc(w,zi)|w=f(xi;θ) com respeito ao exemplo i sobre a evolução da saída (produção) da RNA f(x;θ) através de uma etapa do método do gradiente: no caso escalar, se lê:

f(x;θ(t+ϵ))f(x;θ(t))ϵi=1nΘ(x,xi;θ(t))wc(w,zi)|w=f(xi;θ).

Em particular, cada ponto de dados xi influencia a evolução do resultado f(x;θ) para cada x ao longo do treinamento, de modo que é capturada pelo KTN Θ(x,xi;θ).

Grande limite de largura

Trabalhos teóricos e empíricos recentes em aprendizagem profunda mostraram que o desempenho das RNAs melhora estritamente à medida que a largura de suas camadas aumenta.[5][6] Para várias arquiteturas de RNA o KTN fornece uma visão precisa sobre o treinamento neste regime de grandes larguras.[1][7][8][9][10][11]

Predefinição:Referências Predefinição:Esboço-computação Predefinição:Inteligência artificial Predefinição:Portal3