Roberto
Imbuzeiro
Oliveira
https://code.fb.com/ml-applications/advancing-state-of-the-art-image-recognition-with-deep-learning-on-hashtags/,https://blog.webcertain.com/machine-translation-technology-the-search-engine-takeover/18/02/2015/, https://www.smithsonianmag.com/innovation/google-ai-deepminds-alphazero-games-chess-and-go-180970981/
Fonte: Szegedy Zaremba Sutskever Bruna Erhan Goodfellow Fergus (2013) e https://www.pymnts.com/innovation/2019/autonomous-vehicles-run-into-serious-roadblocks/
\[ \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\):
\(x_1\)
\(x_1\)
\(x_2\)
\(x_3\)
Entrada
\(x_3\)
\(w_1\)
\(w_1\)
\(w_2\)
\(w_3\)
\(a,b\)
Pesos
\(a\phi(x_1w_1 + x_2w_2 + x_3w_3 + b)\)
Saída
Literatura empírica é IMENSA
\[\theta^{(k+1)} = \theta^{(k)} - \alpha^{(k)}\nabla_\theta\widehat{L}_n(\theta^{(k)})\]
"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).\]
É necessário um teorema sobre convergência uniforme: Vapnik, Chevornenkis, Dudley, Talagrand...
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
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 diz que variância vem capacidade de interpolar.
DNNs são capazes de interpolar quando têm muitos parâmetros e parecem funcionar mesmo assim.
Zhang et al, "Understanding deep learning requires rethinking generalization." ICLR 2017
Source: https://arxiv.org/abs/1812.11118
Belkin, Hsu, Ma & Mandal (2018)
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?
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 que interpolam e têm bons resultados em alguns casos.
(Rakhlin, Belkin, Montanari, Mei, Bartlett, etc)
Problema: nada disso é sobre redes neurais.
Evidências: Zhang et al ICLR 2017.
\(h(x,\mu):= \int\,h(x,\theta)\,d\mu(\theta).\)
Pesos iniciais são aleatórios e independentes.
Pesos iniciais são aleatórios e independentes.
Camadas \(\ell=0,1,\dots,L,L+1\):
Cada camada \(\ell\) tem \(N_\ell\) unidades com dimensão \(d_\ell\).
"Pesos" \(\theta^{(\ell)}_{i_\ell,i_{\ell+1}}\in\mathbb{R}^{D_\ell}\):
Vetor de todos os pesos: \(\vec{\theta}_N\).
Inicialização aleatória independente: mesmo superescrito \(\Rightarrow\) mesma lei \(\mu^{(\ell)}_0\).
Na saída \(L+1\), \(N_{L+1}=1\).
Pesos perto da entrada \(A_{i_1}:=\theta^{(0)}_{1,i_1}\) ou perto da saída \(B_{i_L}:=\theta^{(L)}_{i_L,1}\) ficam fixos ("random features").
Outros pesos \(\theta^{(\ell)}_{i_\ell,i_{\ell+1}}\) (\(1\leq \ell\leq L-1)\): SGD com tamanho de passo \(\epsilon\) e amostras "frescas" a cada passo.
Se \(\epsilon\ll 1\), \(N\gg 1\):
\[\frac{d}{dt}\vec{\theta}_N(t) \approx -N^2\, \nabla L_N(\vec{\theta}_N(t))\]
(\(N^2\) passos de SGD \(\sim 1\) 1 unid tempo no limite)
Distribuição \(\mu_t\) dos pesos-limite
\[(A_{i_1},\overline{\theta}^{(1)}_{i_1,i_2}(t),\overline{\theta}^{(2)}_{i_2,i_3}(t),\dots,\overline{\theta}^{(L)}_{i_L,i_{L+1}}(t),B_{i_{L+1}})\sim \mu_t\]
fatoriza da seguinte forma:
\[\mu_t = \mu^{(0,1)}_t\otimes \mu^{(2)}_t \otimes \dots \otimes \mu_{t}^{(L-1)}\otimes \mu_t^{(L,L+1)}.\]
Pesos independentes em \(\ell\neq 1,L-1\), mas \(\theta^{(1)}_{i_1,i_2}\) depende de \(\theta^{(0)}_{1,i_1}\) (e mais nada) e \(\theta^{(L-1)}_{i_{L-1},i_L}\) depende de \(\theta^{(L)}_{i_L,1}\) (e mais nada).
Função \(\widehat{y}(x,\vec{\theta}_N(t))\) é aprox. composição de funções da forma \(\int\,h(x,\theta)\,d\mu(\theta)\).
\[L_N(\vec{\theta}_N)\approx \frac{1}{2}\mathbb{E}_{(X,Y)\sim P }\,\|Y - \overline{y}(X,\mu_t)\|^2\] onde
Forma da evolução depende dos próprios pesos, das "densidades" de vizinhos numerosos e (para \(\ell=1,L\)) pesos próximos.
Ansatz:
\(\Rightarrow\) Processo de McKean-Vlasov.
Considere:
Auto-consistência: \(Z(t)\sim \mu_t\) for all times \(t\geq 0\)
Sob condições tipo Lipschitz, para qualquer medida inicial \(\mu_0\) existe uma única trajetória
\[t\geq 0\mapsto \mu_t\in M_1(\mathbb{R}^D)\]
tal que qualquer processo
satisfaz a condição de consistência de McKean-Vlasov:
\[Z(t)\sim \mu_t, t\geq 0.\]
[McKean'1966, Gärtner'1988, Sznitman'1991, Rachev-Ruschendorf'1998,...]
Densidade \(p(t,x)\) de \(\mu_t\) evolui de acordo com uma EDP não-linear.
não-linearidade vem de \(\mu_t\sim p(t,x)\)
arXiv 2018
Função calculada pela rede
\[\widehat{y}(x,\vec{\theta}_N) = \frac{1}{N}\sum_{i=1}^N\sigma_*(x,\theta_i).\]
Perda:\[L_N(\vec{\theta}_N):=\frac{1}{2}\mathbb{E}_{(X,Y)\sim P}(Y-\widehat{y}(X,\vec{\theta}_N))^2\]
Evolução de um peso ("partícula"):
onde \[\widehat{\mu}_{N,t}:= \frac{1}{N}\sum_{i=1}^N \delta_{\theta_i(t)}.\]
Se vale a lei dos grandes números,
\[\widehat{\mu}_{N,t}\to \mu_t\] com \(\mu_t\) determinística. Logo no limite:
Em particular, independência no tempo 0 é preservada
Tipicalidade: \(\theta_i(t)\sim \widehat{\mu}_{N,t}\approx \mu_t\).
A EDP neste caso
corresponde a uma
descida de gradiente com potencial convexo no espaço de medidas de probabilidade sobre \(\R^D\).
Ambriosio, Gigli, Savaré, Figalli, Otto, Villani...
As dependências limites dos pesos são muito complicadas.
Mantêm-se i.i.d. no limite \(N\gg 1\).
Não são i.i.d. no limite. Problema McK-V é descontínuo: aparecem probabilidades condicionais no limite.
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})\).