Roberto
Imbuzeiro
Oliveira
\[ \sigma(x;w,a,b) = a \phi(w.x + b) \]
onde \(x\in\R^d\) é a entrada (vetor),
\(\phi:\R\to\R\) é função não-afim fixa
e \(w\in\R^d\), \(a\in\R\) , \(b\in \R\) são pesos.
\[ \sigma(x;w,a,b) = a \phi(w.x + b) \]
Exemplos de \(\phi\):
\[\widehat{L}_n(w,a,b):=\frac{1}{n}\sum_{i=1}^n (Y_i - \sigma(X_i;w,a,b))^2.\]
Camada cinza = vetor de perceptrons.
\(\vec{h}=(a_i\phi(x.w_i+b_i))_{i=1}^N.\)
Saída= perceptron a partir do cinza.
\(\widehat{y}=a\phi(w.\vec{h}+b).\)
Literatura empírica é IMENSA
\[\theta^{(k+1)} = \theta^{(k)} - \alpha(k)\nabla\widehat{L}(\theta^{(k)})\]
Porque parece boa ideia: \(-\nabla\widehat{L}(\theta)\) é a direção em que \(\widehat{L}\) diminui mais depressa.
"Backpropagation" (Hinton): regra da cadeia compacta para calcular o gradiente.
Tudo indica que sim.
Redes com \(O(10^1)\) - \(O(10^2)\) camadas.
\(O(10^7)\) ou + neurônios por camada.
Bases de dados: ImageNet tem \(O(10^9)\) imagens.
Método exige potência computacional e muitos ajustes.
Ninguém sabe.
Descobrir isso é um objetivo de pesquisa de muitos.
Aplicações potenciais?
Taxa de erro desceu de 21% para 1%.
Artigo relevante: Leo Breiman.
"Statistical Modeling: The Two Cultures"
Statistical Science v. 16, issue 3 (2001), 199 -231
\[L(\theta):= \mathbb{E}_{(X,Y)\sim P}(Y-f(X;\theta))^2.\]
Na prática, não se sabe calcular a esperança, mas temos dados independentes e identicamente distribuídos.
\[(X_1,Y_1),(X_2,Y_2),\dots,(X_n,Y_n)\sim P.\]
Problema: como e o quanto o quanto podemos nos aproximar de um \(\theta\) ótimo? Quando isso é bom o suficiente?
Ideia: trocar a minimização do valor esperado pela minimização do "erro empírico".
\[\widehat{L}_n(\theta):= \frac{1}{n}\sum_{i=1}^n(Y_i-f(X_i;\theta))^2.\]
Chame de \(\widehat{\theta}_n\) o minimizador deste erro.
Lei dos grandes números: se \(n\) é grande,
\[ \frac{1}{n}\sum_{i=1}^n(Y_i-f(X_i;\theta))^2 \approx \mathbb{E}_{(X,Y)\sim P}(Y-f(X;\theta))^2 \]
\[\Rightarrow \widehat{L}_n(\theta)\approx L(\theta).\]
Minimizar erro empírico parece com minimizar erro médio quadrático (na "população")?
Precisamos de convergência sobre todos os \(\theta\in \Theta\) ao mesmo tempo.
Lei uniforme dos grandes números.
Vapnik, Chervonenkis, Dudley, ... .
Viés: se \(\Theta\) é "pequeno", pode ser que todas as escolhas de parâmetro tenham erro \(\mathbb{E}(Y-f(X;\theta))^2\) grande.
Variância: se \(\Theta\) é "muito grande", o erro na lei dos grandes números pode ser grande e isso complica a vida.
Visão tradicional: overfitting \(\approx\) interpolação
Complexidade de Rademacher (Bartlett, Mendelson, Koltchinskii):
\[\mathcal{R}_n(\Theta):= \sup_{\theta\in\Theta}\frac{1}{n}\sum_{i=1}^n \epsilon_if(X_i;\theta),\]
onde os \(\epsilon_i\) são sinais \(\pm 1\) independentes entre si e dos \(X_i\).
"Variância alta \(\Leftrightarrow\) quase-interpolação \(\Leftrightarrow \mathcal{R}_n(\Theta)\) grande"
Suponha \[Y=f_*(X) + \text{ruído}\] com \(f_*\) contínua, então redes neurais com 1 camada interna com \(N\to +\infty\) neurônios têm viés \(\to 0\).
Kurt Hornik (1991) "Approximation Capabilities of Multilayer Feedforward Networks", Neural Networks, 4(2), 251–257
Teoria tradicional foi pensada para problemas convexos.
DNNs estão longe de serem convexas.
Não há garantias de que descida de gradiente converge para um mínimo global.
Mínimos locais podem ou não ser bons.
Teoria tradicional diz que variância vem capacidade de interpolar.
DNNs são capazes de interpolar quando têm muitos parâmetros.
Logo, a teoria de Complexidade de Rademacher não se aplica a elas.
Zhang et al, "Understanding deep learning requires rethinking generalization." ICLR 2017
Não adianta aplicar uma teoria baseada na minimização do erro empírico.
Falta de convexidade é a razão.
O que parece garantir convergência na prática?
Complexidades de Rademacher e outras medidas tradicionais de variância são inúteis.
Como medir variância?
Por que o "overfitting" não parece ser sempre um problema?
Teoria para métodos/estimadores que convergem para mínimos locais.
(Arora, Ge, Jordan, Ma, Loh, Wainwright, etc)
É possível encontrar métodos muito simples (não DNN) que interpolam e têm bons resultados em alguns casos.
(Rakhlin, Belkin, Montanari, Mei, etc)
Problema: nada disso é sobre redes neurais.
Evidências: Zhang et al ICLR 2017.
Próximos slides: relato sobre trabalhos de Mei, Montanari e Nguyen; Rotskoff e Vanden Eijden; Sirignano e Spiliopoulos (todos no ArXiv em 2018).
Dados iid: \((X_i,Y_i)\in\R^d\times \R\) com distribuição \(P\)
Rede com uma camada interna:
\[\widehat{y}_N(x;\theta_N) = \frac{1}{N}\sum_{i=1}^N\sigma(x;\theta^{(i)}_{N}).\]
Resíduo: \({\rm res}_k(\theta):= Y_{k+1} - \widehat{y}_N(X_{k+1};\theta)\)
Descida estocástica de gradiente:
\[\theta_N(k+1) -\theta_N(k) = -\varepsilon\alpha(k)\,{\rm res}_k(\theta_N(k))\,\nabla\widehat{y}_N(X_{k+1},\theta_N(k))\]
Medida empírica dos pesos:
\(\widehat{\mu}_N(k):= \frac{1}{N}\sum_{i=1}^N\delta_{\theta_N^{(i)}(k)}\)
Dinâmica para cada peso:
\[\theta^{(i)}_N(k+1) - \theta^{(i)}_N(k) = \varepsilon b(\theta^{(i)}_N(k),\widehat{\mu}_N(k),X_{k+1},Y_{k+1}).\]
Direção média: \[b_P(\theta,\mu) = \int_{\R^d\times \R}b(\theta,\mu,x,y)\,dP(x,y).\]
Quando \(N\to +\infty\), \(\varepsilon\to 0\) e os pesos iniciais são iid \(\mu(0)\), temos a convergência:
\[\widehat{\mu}_N(t/\epsilon)\Rightarrow \mu(t),\]
e os pesos são assintoticamente iid. \(\mu(t)\).
Lei \(\mu(t)\) resolve problema de McKean-Vlasov:
Há um processo \(t\geq 0\mapsto \bar{\theta}(t)\) com trajetórias contínuas tal que \(\theta(t)\sim \mu(t)\) para todo \(t\geq 0\) e além disso:
\[\frac{d\bar{\theta}}{dt}(t) = b_P(\bar{\theta}(t),\mu(t)).\]
Supondo pesos i.i.d. no tempo \(0\) e LGN
\(\widehat{\mu}_N(t/\epsilon)\Rightarrow \mu(t)\) (para alguma \(\mu(t)\)) então:
Evolução de \(\mu(t)\): fluxo de tipo gradiente com potencial convexo no espaço de medidas de prob. sobre \(\R^D\).
Tipo de EDP estudado por Ambrosio, Gigli, Savaré; Villani; Otto; etc.
\(\Rightarrow\) convexidade no limite.
Redes neurais com uma camada interna são um método não-paramétrico baseado em otimização convexa.
Como isso se estende para redes com várias camadas internas?
Trabalho com Dyego Araújo (IMPA) e Daniel Yukimura (IMPA/NYU).
"A mean field model for certain deep neural networks"
https://arxiv.org/abs/1906.00193
Desafio: provar que há um limite.
Não sabemos nada sobre a EDP descrevendo a medida.
Ansatz:
\(\Rightarrow\) McKean-Vlasov
Antes: as "partículas" eram os pesos, que se mantinham i.i.d. todo o tempo \(N\gg 1\). Problema clássico.
Agora: unidades básicas são caminhos na rede. Alguns pesos perto da entrada e da saída permanecem dependentes no limite.
Problemas técnicos porque problema-limite é descontínuo.
Existência e unicidade do processo McK-V \((\mu_t)_{t\geq 0}\) que deve corresponder à distribuição limite de pesos ao longo de um caminho.
Provar que esta medida tem a estrutura certa de independência.
\[\mu_{[0,T]} = \mu^{(0,1)}_{[0,T]}\otimes \mu^{(2)}_{[0,T]} \otimes \mu_{[0,T]}^{(L-1)}\otimes \mu_{[0,T]}^{(L,L+1)}.\]
Dá para comparar os pesos reais e "partículas ideias" derivadas de \(\mu(t)\) através de argumentos de acoplamento.
A estrutura de dependências é fundamental neste passo.
[Public domain/Wikipedia]
No limite, o que uma DNN do nosso tipo faz é calcular composições de funções:
\(x\mapsto h(x;Q):= \int\,h(x,\xi)\,dQ(\xi)\) onde \(Q\in M_1(\mathbb{R}^{D})\).