Teorema da Aproximação Universal - Redes Neurais


23

Eu postei isso anteriormente no MSE, mas foi sugerido que aqui pode ser um lugar melhor para perguntar.

O teorema da aproximação universal afirma que "a rede de alimentação padrão de múltiplas camadas com uma única camada oculta, que contém um número finito de neurônios ocultos, é um aproximador universal entre funções contínuas em subconjuntos compactos de Rn, sob suposições suaves sobre a função de ativação".

Entendo o que isso significa, mas os documentos relevantes estão muito além do meu nível de compreensão matemática para entender por que é verdade ou como uma camada oculta aproxima funções não lineares.

Assim, em termos um pouco mais avançados que o cálculo básico e a álgebra linear, como uma rede feed-forward com uma camada oculta aproxima funções não lineares? A resposta não precisa necessariamente ser totalmente concreta.



Achei a prova visual de Michael Nielsen bastante útil
Sr. Tsjolder

Respostas:


26

O resultado de Cybenko é bastante intuitivo, como espero transmitir abaixo; o que torna as coisas mais complicadas é que ele estava buscando tanto a generalidade quanto um número mínimo de camadas ocultas. O resultado de Kolmogorov (mencionado por vzn) na verdade alcança uma garantia mais forte, mas é um pouco menos relevante para o aprendizado de máquina (em particular, ele não constrói uma rede neural padrão, pois os nós são heterogêneos); esse resultado, por sua vez, é assustador, pois na superfície são apenas 3 páginas, registrando alguns limites e funções contínuas, mas, na realidade, está construindo um conjunto de fractais. Embora o resultado de Cybenko seja incomum e muito interessante devido às técnicas exatas que ele usa, os resultados desse sabor são amplamente utilizados no aprendizado de máquina (e posso apontar para outras pessoas).

Aqui está um resumo de alto nível de por que o resultado de Cybenko deve se manter.

  • Uma função contínua em um conjunto compacto pode ser aproximada por uma função constante por partes.
  • Uma função constante por partes pode ser representada como uma rede neural da seguinte maneira. Para cada região em que a função é constante, use uma rede neural como uma função indicadora para essa região. Em seguida, construa uma camada final com um único nó, cuja combinação linear de entrada é a soma de todos os indicadores, com um peso igual ao valor constante da região correspondente na função constante por partes original.

Em relação ao primeiro ponto acima, isso pode ser tomado como a afirmação "uma função contínua sobre um conjunto compacto é uniformemente contínua". O que isto significa para nós é que você pode levar a sua função contínua sobre , e alguns de erro alvo ε > 0 , então você pode grade [ 0 , 1 ] d em escala τ > 0 (terminando com cerca de ( 1 / τ ) d subcubos) para que uma função constante sobre cada subcubo esteja dentro de ϵ da função de destino.[0,1]dϵ>0[0,1]dτ>0(1/τ)dϵ

Agora, uma rede neural não pode representar com precisão um indicador, mas você pode chegar muito perto. Suponha que a "função de transferência" seja um sigmóide. (Função de transferência é a função contínua que você aplica a uma combinação linear de entradas para obter o valor do nó da rede neural.) Então, ao aumentar os pesos, você gera algo próximo a 0 ou próximo a 1 para mais entradas. Isso é consistente com o desenvolvimento de Cybenko: observe que ele precisa que as funções envolvidas sejam iguais a 0 ou 1 no limite: por definição de limite, você entende exatamente o que estou dizendo, o que significa que você aproxima as coisas arbitrariamente de 0 ou 1.

(Eu ignorei a função de transferência na camada final; se estiver lá e for contínua, então podemos ajustar qualquer mapeamento para substituindo os pesos constantes pelo algo na imagem inversa dessa constante de acordo com a transferência função.)[0,1]

Observe que o exposto acima pode levar algumas camadas: digamos, 2 para construir os indicadores em cubos e, em seguida, uma camada final de saída. Cybenko estava tentando dois pontos de generalidade: número mínimo de camadas ocultas e flexibilidade na escolha da função de transferência. Eu já descrevi como ele trabalha com flexibilidade na função de transferência.

Para obter o número mínimo de camadas, ele evita a construção acima e usa a análise funcional para desenvolver uma contradição. Aqui está um esboço do argumento.

  • O nó final calcula uma combinação linear dos elementos da camada abaixo e aplica uma função de transferência a ele. Essa combinação linear é uma combinação linear de funções e, como tal, é ela própria uma função, uma função dentro de algum subespaço de funções, estendida pelos possíveis nós na camada oculta.

  • Um subespaço de funções é como um subespaço de dimensão finita comum, com a principal diferença de que não é potencialmente um conjunto fechado; é por isso que todos os argumentos de cybenko fecham esse subespaço. Estamos tentando provar que esse fechamento contém todas as funções contínuas; isso significa que estamos arbitrariamente próximos de todas as funções contínuas.

  • Se o espaço funcional fosse simples (um espaço de Hilbert), poderíamos argumentar da seguinte maneira. Escolha alguma função contínua de destino que, contraditoriamente, não esteja no subespaço e projete-a no complemento ortogonal do subespaço. Este resíduo deve ser diferente de zero. Porém, como nosso subespaço pode representar coisas como aqueles pequenos cubos acima, podemos encontrar alguma região desse resíduo, encaixar um pequeno cubo nele (como acima) e, assim, nos aproximarmos da nossa função de destino. Isso é uma contradição, pois as projeções escolhem elementos mínimos. (Note, estou deixando algo de fora aqui: o argumento de Cybenko não constrói pequenos cubos, ele lida com isso de maneira geral também; é aqui que ele usa uma forma do teorema da representação de Riesz e propriedades das funções de transferência (se bem me lembro) corretamente, há um lema separado para esta etapa,

  • Não estamos no espaço de Hilbert, mas podemos usar o teorema de Hahn-Banach para substituir a etapa de projeção acima (observe que provar que Hahn-Banach usa o axioma da escolha).

Agora, gostaria de dizer algumas coisas sobre o resultado de Kolmogorov. Embora esse resultado aparentemente não precise do tipo de histórico de Cybenko, eu pessoalmente acho que é muito mais intimidador.

Aqui está o porquê. O resultado de Cybenko é uma garantia de aproximação : não diz que podemos representar exatamente qualquer coisa. Por outro lado, o resultado de Kolmogorov é uma igualdade . Mais ridiculamente, ele diz o tamanho da rede: você precisa apenas de nós. Para alcançar esse fortalecimento, é claro que há um problema, o que mencionei acima: a rede é heteregênea, com o que quero dizer que todas as funções de transferência não são as mesmas.O(d2)

Ok, então, com tudo isso, como isso pode funcionar?

Vamos voltar aos nossos cubos acima. Observe que tivemos que assar com um nível de precisão: para cada , precisamos voltar e escolher um τ > 0 mais refinado . Como estamos trabalhando com combinações lineares (finitas) de indicadores, nunca estamos representando exatamente nada. (as coisas só pioram se você incluir os efeitos aproximados dos sigmóides.)ϵ>0 0τ>0 0

[0 0,1][0 0,1]dO(d2)RdRO(d2)

Observe que o resultado de Cybenko, devido ao uso de apenas um tipo de função de transferência, é mais relevante para o aprendizado de máquina. Teoremas desse tipo são muito comuns no aprendizado de máquina (vzn sugeriu isso em sua resposta, no entanto, ele se referiu ao resultado de Kolmogorov, que é menos aplicável devido às funções de transferência personalizadas; isso é enfraquecido em algumas versões mais sofisticadas do resultado de Kolmogorov (produzido por outros autores), mas ainda envolvem fractais e pelo menos duas funções de transferência).

Eu tenho alguns slides sobre esses tópicos, que eu poderia postar se você estiver interessado (espero que seja menos grosseiro que o anterior, e tenha algumas fotos; eu as escrevi antes de ser adepto de Hahn-Banach, no entanto). Eu acho que as duas provas são muito, muito legais. (Além disso, tenho outra resposta aqui sobre esses tópicos, mas escrevi antes de ter grochado o resultado de Kolmogorov.)


1
UMABϕfUMA:ϕ(f)1gB:ϕ(g)>1
Sasho Nikolov

3
SfSeueu(g)=0 0gSeu(f)=__f__eu(f)como parte integrante de alguma medida assinada. Mas isso termina a prova devido às condições de Cybenko nas funções de transferência (continuação no próximo comentário).
Matus15

3
@SashoNikolov, a condição de Cybenko é que, dada qualquer medida assinada que não seja exatamente zero, existe alguma função afim para que a integração da função de transferência composta com essa função afim, sobre essa medida, não seja igual a zero. Ele então tem que provar o lema que os sigmóides generalizados (como citei acima: limites de 0 e 1 à esquerda e à direita) se encaixam. (continua no próximo comentário.)
matus 15/05

2
@SashoNikolov. Acima eu disse "colocando um cubo ao longo do resíduo". Isso tornaria nosso trabalho um pouco mais fácil, uma vez que a medida assinada não é exatamente zero, basta pegar um pedacinho e colocar um indicador lá. No caso dele, ele tem que trabalhar um pouco, mas da mesma forma isso se resume a mover-se pelo sigmóide com a função afim, para encontrar uma região fácil, tornando-se integral diferente de zero, contradizendo Hahn-Banach (que é zero sobre o nosso subespaço) ; no sentido Hilbert, encolhemos nosso resíduo, uma contradição.
Matus15:

1
Uau, esta é uma resposta extremamente agradável. Naturalmente, tenho algumas perguntas, se você não se importa de respondê-las. O resultado de Cybenko (como você diz) parece mais útil para aplicativos, mas me perco um pouco ao lidar com o subespaço de funções. Como projetamos uma função contínua arbitrária no complemento ortogonal do subespaço de combinações lineares de possíveis nós. Quanto a isso, como conceituamos o elogio ortogonal desse subespaço? As funções mais próximas no espaço se aproximam mais umas das outras? (Contínuo).
Matt Munson

3

Há um resultado avançado, chave para o aprendizado de máquina, conhecido como teorema de Kolmogorov [1]; Eu nunca vi um esboço intuitivo do porquê funciona. Isso pode ter a ver com as diferentes culturas que a abordam. A turma de aprendizado aplicado considera o teorema de Kolmogorov como um teorema da existência que apenas indica que os NNs podem existir; portanto, pelo menos a estrutura não é excessivamente limitadora, mas o teorema não garante que esses NNs possam ser encontrados. Os matemáticos não estão tão preocupados com aplicações de baixo nível do teorema.

O teorema também foi historicamente usado para invocar / defender a sofisticação inerente das NNs multicamadas para combater uma crítica de Perceptrons (Minsky / Papert) de que havia funções básicas (isto é, não lineares) que eles não podiam aprender.

Os cientistas teóricos da computação preferem não considerar os RNs como "aproximações" , pois esse termo tem um significado especial / diferente. Provavelmente, existe uma analogia grosseira com a interpolação linear por partes, mas, novamente, eu não a vi apresentada.

[1] Kolmogorov, AN (1957). Na representação de funções contínuas de muitas variáveis ​​por superposição de funções contínuas de uma variável e adição. Doklady Akademii Nauk SSSR, 144, 679-681; Tradução da Sociedade Americana de Matemática, 28, 55-59 [1963]

[2] 2.3 Recursos de aproximação de redes neurais feedforward para funções contínuas

[3] Teorema de Kolmogorov e redes neurais multicamadas Kurkova



"este resultado avançado [...] não viu um esboço intuitivo do por que ele funciona." Esse esboço seria um empreendimento considerável para alguém da turma da matemática avançada? O pessoal de matemática avançada entende intuitivamente por que funciona? Parece que uma compreensão intuitiva desse teorema é algo que a multidão de aprendizagens aplicadas deve desejar fortemente, se quiserem criar topologias e algoritmos de aprendizado superiores para RNAs.
Matt Munson

7
Editado para gramática, ortografia, pontuação e letras maiúsculas.
Jeffε
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.