Neural Tangent Kernel 理解(一)原论文解读
- 欢迎关注WX公众号,每周发布论文解析:PaperShare,
点我关注
NTK的理解系列 暂定会从(一)论文解读,(二)kernel method基础知识,(三)神经网络表达能力,(四)GNN表达能力 等方面去写。当然,可能有的部分会被拆开为多个小部分来写,毕竟每一个点拿出来都可以写本书了。
(本人各个系列旨在让复杂概念通俗易懂,力求获得进一步理解)
Neural Tangent Kernel (NTK) 理论由 [1] 提出,后续有很多跟进的研究工作,比如和我自己领域比较相关的,Simon Du老师提出的Graph neural tangent kernel [2].
NTK在深度学习理论中是很有意思的,通过学习该理论和相关论文,我们能够得到许多启发,所以我准备通过记录自己学习NTK的过程来巩固和分享一些自己的理解。由于本文主要是以自己的视角来看,难免有疏漏,错误和偏见。
我们按照论文的顺序来叙述。
(一) Neural Tangent Kernel 目的
Abstract第一句话:
无限宽的ANN初始化等价于高斯过程,所以可以和Kernel method联系起来。然后作者证明了,训练过程,也可以用一个kernel method来描述,并且能够通过kernel gradient descent来训练,这个kernel就是NTK。
论文目的总结起来就是:
- 理论证明了可以 用NTK来描述ANN训练过程。
- 理论证明了可以 用Kernel gradient descent in funcion space来训练ANN。
- 理论证明了收敛性.
- 理论证明了当数据服从某些特性时,NTK是p.d.的。
- 用least-squares regression举了一个例子。
- 实验结果体现了NTK的一些理论分析。
(二) Neural Tangent Kernel 预备知识
为了方便描述,首先引入一些数学符号和公式定义。
1. 定义一个有 L 层的ANN:
F(L):RP→FF^{(L)}: \mathbb{R}^P \rightarrow \mathcal{F} F(L):RP→F
即,将维度为P的参数θ\thetaθ映射到一个属于函数域F\mathcal FF的函数fθf_{\theta}fθ。fθf_{\theta}fθ即:参数为θ\thetaθ的ANN。这里P=∑l=0L−1(nl+1)(nl+1)P=\sum_{l=0}^{L-1}(n_l+1)(n_{l+1})P=∑l=0L−1(nl+1)(nl+1), nln_lnl为第lll层的输入维度。
2. 定义每一层NN:
3. Kernel gradient.
要理解这部分内容,需要像泛函分析等的数学基础知识。这里,我用类比简单概念来帮助理解。比如,首先我们将fθf_{\theta}fθ想象成一个变量,这个变量的值域是F\mathcal FF,目标是找到一个optimal的fθf_{\theta}fθ,使得cost最小。
3.1 定义cost:C:F→RC: \mathcal F \rightarrow \mathbb{R}C:F→R。
3.2 定义 multi-dimensional kernel K: Rn0×Rn0→RnL×RnL\mathbb{R}^{n_0} \times \mathbb{R}^{n_0} \rightarrow \mathbb{R}^{n_L} \times \mathbb{R}^{n_L}Rn0×Rn0→RnL×RnL, 且,K(x,x′)=K(x′,x)K(x, x')=K(x', x)K(x,x′)=K(x′,x).
3.3 定义 bilinear map on F\mathcal FF 或叫seminorm ∣∣⋅∣∣pin||\cdot||_{p^{in}}∣∣⋅∣∣pin:
⟨f,g⟩pin:=Ex∼pin[f(x)Tg(x′)].\langle f,g \rangle_{p^{in}} := \mathbb{E}_{x \sim p^{in}}[f(x)^Tg(x')]. ⟨f,g⟩pin:=Ex∼pin[f(x)Tg(x′)].
3.4 定义基于kernel K的 bilinear map on F\mathcal FF:
⟨f,g⟩K:=Ex,x′∼pin[f(x)TK(x,x′)g(x′)].\langle f,g \rangle_K := \mathbb{E}_{x,x' \sim p^{in}}[f(x)^TK(x, x')g(x')]. ⟨f,g⟩K:=Ex,x′∼pin[f(x)TK(x,x′)g(x′)].
即,求一个在输入概率分布pinp^{in}pin下的基于kernel的线性变换下的期望。
3.5 定义F\mathcal FF的对偶F∗\mathcal F^*F∗: μ:F→R\mu: \mathcal F \rightarrow \mathbb Rμ:F→R, where μ=⟨d,⋅⟩pin\mu = \langle d, \cdot \rangle_{p^{in}}μ=⟨d,⋅⟩pin,d∈Fd \in \mathcal Fd∈F. 这里可以把μ\muμ当成一个输入为fff的函数,或者是一个线性变换。
3.6 定义一个map ΦK\Phi_KΦK:F∗→F\mathcal F^* \rightarrow \mathcal FF∗→F, 利用kernel的性质: Ki,⋅(x,⋅)∈FK_{i,\cdot}(x, \cdot) \in FKi,⋅(x,⋅)∈F, 则可以利用ΦK\Phi_KΦK将μ\muμ映射为fff:fμ=ΦK(μ)f_{\mu}=\Phi_K(\mu)fμ=ΦK(μ),对于每一个iii, 有:fμ,i(x)=μKi,⋅(x,⋅)=⟨d,Ki,⋅(x,⋅)⟩pinf_{\mu,i}(x) = \mu K_{i,\cdot}(x, \cdot)=\langle d, K_{i,\cdot}(x, \cdot) \rangle_{p^{in}}fμ,i(x)=μKi,⋅(x,⋅)=⟨d,Ki,⋅(x,⋅)⟩pin
3.6 定义cost function CCC关于fff的泛函导数(functional derivative)。给定数据集x1,...,xnx_1,...,x_nx1,...,xn, 那么在点f0∈Ff_0 \in Ff0∈F处的导数∂finC∣f0=⟨d∣f0,⋅⟩\partial^{in}_{f} C|_{f_0}=\langle d|_{f_0}, \cdot \rangle∂finC∣f0=⟨d∣f0,⋅⟩, 这里d∣f0∈Fd|_{f_0} \in Fd∣f0∈F.
3.7 定义kernel gradient :∇KC∣f0∈F=ΦK(∂finC∣f0)\nabla_KC|_{f_0} \in F=\Phi_K\left( \partial^{in}_fC|_{f_0} \right)∇KC∣f0∈F=ΦK(∂finC∣f0). 这里可以把xxx的范围从数据集1-n扩展到任意xxx:
那么,f(t)f(t)f(t) 就可以进行kernel gradient descent,只要满足:
对cost function的进行梯度更新的梯度:
这里,可以保证收敛,因为kernel KKK是p.d.的,只要C是convex,且bounded,则当t→∞t \rightarrow \inftyt→∞ 时,f(t)f(t)f(t)就可以收敛到全局最优。
明天继续。。。。码我自己的论文去了。。
[1] Jacot, Arthur, Franck Gabriel, and Clément Hongler. “Neural tangent kernel: Convergence and generalization in neural networks.” arXiv preprint arXiv:1806.07572 (2018).
[2] Du, Simon S., et al. “Graph neural tangent kernel: Fusing graph neural networks with graph kernels.” Advances in Neural Information Processing Systems 32 (2019): 5723-5733.
Neural Tangent Kernel 理解(一)原论文解读相关推荐
- 直观理解Neural Tangent Kernel
直观理解Neural Tangent Kernel 本文是文章Some Intuition on the Neural Tangent Kernel的翻译整理. 一句话总结:NTK衡量的是,在使用SG ...
- TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文解读
TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文理解解读 这里只进行原论文解读,若有不正确的地方希望指正,不明白的地方我也会写上, ...
- 【NeurIPS100】谷歌、Facebook、斯坦福等十篇机器学习最新论文解读
NeurIPS 2019虽然刚刚落幕,但是学习的任务还远未结束. 今天我们整理了NeurIPS 2019上十篇机器学习领域的论文,这些论文来自谷歌.Facebook.普林斯顿大学.斯坦福大学等团队的最 ...
- NeurIPS 2019年十篇机器学习领域的论文解读:来自谷歌、Facebook、普林斯顿大学、斯坦福大学最新研究成果
本文整理总结了NeurIPS 2019上十篇机器学习领域的论文,这些论文来自谷歌.Facebook.普林斯顿大学.斯坦福大学等团队的最新研究成果,供大家参考学习. Differentiable Ran ...
- Longformer论文解读和代码解析
前言 这篇博文记录了longformer论文的主要思想.代码实现和结果复现方面的一些工作,相关链接如下: 原longformer论文地址 github上原作者公开的代码 huggingface上原作者 ...
- 论文解读丨LayoutLM: 面向文档理解的文本与版面预训练
摘要:LayoutLM模型利用大规模无标注文档数据集进行文本与版面的联合预训练,在多个下游的文档理解任务上取得了领先的结果. 本文分享自华为云社区<论文解读系列二十五:LayoutLM: 面向文 ...
- (论文解读)High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks
目录 论文解读之: High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks ...
- DeepMind论文解读:让机器更深入地理解文本
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- 论文解读(一)V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation
发表:Computer Vision and Pattern Recognition 数据集: MRI volumes depicting prostate前列腺核磁共振成像 目标函数:基于Dice系 ...
最新文章
- 当CDN遇上对象存储:完美!
- boost::hana::list用法的测试程序
- 使用无限生命期Session的方法
- nagios报错汇总
- 应用在核电站DCS系统的代码自动生成工具ModelCoder
- 04737 c++ 自学考试2019版 第四章课后练习 	程序设计题 2
- 【codevs1021】玛丽卡,以前屯着的最短路
- github上完成个人的站点搭建
- iOS:重识Transform和frame
- Linux操作系统中使用“autogen.sh+configure+make”编译代码的方法
- #include“stdafx.h”详解
- 2021年电工(技师)考试内容及电工(技师)复审考试
- matlab 傅里叶变换 频谱图,傅里叶变换与信号频谱图.PDF
- 雷达原理 知识点汇总
- 【PaddleHub模型贡献】一行代码实现海洋生物识别
- elementary OS 5 Juno (Pantheon) 安装后配置总结(干货很多)
- 程序员必做50题的解答
- phantomjs html2Image.js 网页转换图片
- iOS 逆向之ARM汇编
- 全球与中国船舶航行数据记录仪市场深度研究分析报告