• 欢迎关注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。

论文目的总结起来就是:

  1. 理论证明了可以 用NTK来描述ANN训练过程。
  2. 理论证明了可以 用Kernel gradient descent in funcion space来训练ANN。
  3. 理论证明了收敛性.
  4. 理论证明了当数据服从某些特性时,NTK是p.d.的。
  5. 用least-squares regression举了一个例子。
  6. 实验结果体现了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∂fin​C∣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)∇K​C∣f0​​∈F=ΦK​(∂fin​C∣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 理解(一)原论文解读相关推荐

  1. 直观理解Neural Tangent Kernel

    直观理解Neural Tangent Kernel 本文是文章Some Intuition on the Neural Tangent Kernel的翻译整理. 一句话总结:NTK衡量的是,在使用SG ...

  2. TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文解读

    TAPAS: Weakly Supervised Table Parsing via Pre-training 原论文理解解读 这里只进行原论文解读,若有不正确的地方希望指正,不明白的地方我也会写上, ...

  3. 【NeurIPS100】谷歌、Facebook、斯坦福等十篇机器学习最新论文解读

    NeurIPS 2019虽然刚刚落幕,但是学习的任务还远未结束. 今天我们整理了NeurIPS 2019上十篇机器学习领域的论文,这些论文来自谷歌.Facebook.普林斯顿大学.斯坦福大学等团队的最 ...

  4. NeurIPS 2019年十篇机器学习领域的论文解读:来自谷歌、Facebook、普林斯顿大学、斯坦福大学最新研究成果

    本文整理总结了NeurIPS 2019上十篇机器学习领域的论文,这些论文来自谷歌.Facebook.普林斯顿大学.斯坦福大学等团队的最新研究成果,供大家参考学习. Differentiable Ran ...

  5. Longformer论文解读和代码解析

    前言 这篇博文记录了longformer论文的主要思想.代码实现和结果复现方面的一些工作,相关链接如下: 原longformer论文地址 github上原作者公开的代码 huggingface上原作者 ...

  6. 论文解读丨LayoutLM: 面向文档理解的文本与版面预训练

    摘要:LayoutLM模型利用大规模无标注文档数据集进行文本与版面的联合预训练,在多个下游的文档理解任务上取得了领先的结果. 本文分享自华为云社区<论文解读系列二十五:LayoutLM: 面向文 ...

  7. (论文解读)High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks

    目录 论文解读之: High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks ...

  8. DeepMind论文解读:让机器更深入地理解文本

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  9. 论文解读(一)V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation

    发表:Computer Vision and Pattern Recognition 数据集: MRI volumes depicting prostate前列腺核磁共振成像 目标函数:基于Dice系 ...

最新文章

  1. 当CDN遇上对象存储:完美!
  2. boost::hana::list用法的测试程序
  3. 使用无限生命期Session的方法
  4. nagios报错汇总
  5. 应用在核电站DCS系统的代码自动生成工具ModelCoder
  6. 04737 c++ 自学考试2019版 第四章课后练习 程序设计题 2
  7. 【codevs1021】玛丽卡,以前屯着的最短路
  8. github上完成个人的站点搭建
  9. iOS:重识Transform和frame
  10. Linux操作系统中使用“autogen.sh+configure+make”编译代码的方法
  11. #include“stdafx.h”详解
  12. 2021年电工(技师)考试内容及电工(技师)复审考试
  13. matlab 傅里叶变换 频谱图,傅里叶变换与信号频谱图.PDF
  14. 雷达原理 知识点汇总
  15. 【PaddleHub模型贡献】一行代码实现海洋生物识别
  16. elementary OS 5 Juno (Pantheon) 安装后配置总结(干货很多)
  17. 程序员必做50题的解答
  18. phantomjs html2Image.js 网页转换图片
  19. iOS 逆向之ARM汇编
  20. 全球与中国船舶航行数据记录仪市场深度研究分析报告

热门文章

  1. 如何把二维数组传参给函数
  2. 什么叫单精度浮点型?什么叫双精度浮点型?
  3. 数据仓库架构的技术选型
  4. python-介绍泊松分布(poisson分布)
  5. WeChat Reader
  6. iPad、iPad Pro反复自动重启怎么办?
  7. linux目录和链接的区别,Linux 下软链接和硬链接的区别
  8. 网络营销招生方案及河南大学生高校名单
  9. google文件出错啦,发生浏览器错误!
  10. 分享66个PHP聊天室类源码,总有一款适合您