PointNet学习笔记(二)——支撑材料(理论证明)

这一部分记录了PointNet中两个定理的证明和博主的学习笔记。具体的定理可以参见论文学习笔记,这里仅给出证明。更新于2018.10.12。

文章目录

  • PointNet学习笔记(二)——支撑材料(理论证明)
    • Theorem 1
    • Theorem 2

Theorem 1

定理1要证明的是设计的网络结构能够模拟任意一个连续(依照具体定义)的函数,且最差的情况是将空间内等分成立方体。

令X={S:S⊆[0,1]and∣S∣=n}\mathcal X = \{S:S\subseteq [0,1] \;\text{and}\; \vert S\vert =n\}X={S:S⊆[0,1]and∣S∣=n}。
如果满足下列条件,f:→Rf:\mathcal \to \mathbb Rf:→R是一个X\mathcal XX上对于Hausdorff距离dH(⋅,⋅)d_H(\cdot,\cdot)dH​(⋅,⋅)连续的函数:
∀ϵ>0,∃δ>0,使得任意S,S′∈X,若dH(S,S′)<δ,有∣f(S)−f(S′)∣<ϵ\forall \epsilon \gt 0, \ \exists\delta\gt 0,\ 使得任意S,S'\in \mathcal X, 若d_H(S,S')\lt\delta,有\vert f(S)-f(S')\vert \lt \epsilon∀ϵ>0, ∃δ>0, 使得任意S,S′∈X,若dH​(S,S′)<δ,有∣f(S)−f(S′)∣<ϵ

这里需要证明的是fff可以被任意一个对称函数和连续函数近似。

证:
由fff的连续性,取δϵ\delta_{\epsilon}δϵ​使得若dH(S,S′)<δϵd_H(S,S')\lt\delta_{\epsilon}dH​(S,S′)<δϵ​,那么对于任意S,S′∈XS,S'\in\mathcal XS,S′∈X都有∣f(S)−f(S′)∣<ϵ\vert f(S) - f(S')\vert \lt \epsilon∣f(S)−f(S′)∣<ϵ。
定义K=⌈1/δϵ⌉K=\lceil 1/\delta\\_{\epsilon}\rceilK=⌈1/δϵ​⌉,将区间[0,1][0,1][0,1]等分成KKK份;再定义一个辅助函数,其作用是将一个点映射到它所在区间的左侧端点处:
σ(x)=⌊Kx⌋K\sigma(x)=\frac{\lfloor Kx \rfloor}{K}σ(x)=K⌊Kx⌋​
令S~={σ(x):x∈S}\tilde S=\{\sigma(x):x\in S\}S~={σ(x):x∈S},那么由于dH(S,S~)<1/K≤δϵd_H(S,\tilde S)\lt1/K\leq\delta_{\epsilon}dH​(S,S~)<1/K≤δϵ​,因此有:
∣f(S)−f(S~)∣<ϵ\vert f(S)-f(\tilde S)\vert\lt\epsilon∣f(S)−f(S~)∣<ϵ

令hk(x)=e−d(x,[k−1K,kK])h_k(x)=e^{-d(x,[ \frac{k-1}{K},\frac{k}{K}] )}hk​(x)=e−d(x,[Kk−1​,Kk​])为一个软指示函数(soft indicator function),其中d(x,I)d(x,I)d(x,I)是点到集合(间隔)的距离。令h(x)=[h1(x);⋯;hK(x)]\mathbf{h}(x)=[h_1(x);\cdots;h_K(x)]h(x)=[h1​(x);⋯;hK​(x)],则h:R→RK\mathbf{h}:\mathbb R \to \mathbb R^Kh:R→RK。

博主注:指示函数(indicator function)是用来标注一个点是否属于集合,如果属于值为1,反之值为0。hk(x)h_k(x)hk​(x)的含义就是xxx是否属于集合kkk的指示函数。

令vj(x1,⋯,xn)=max⁡{h~j(x1),⋯,h~j(xn)}v_j(x_1,\cdots ,x_n)=\max\{\tilde h_j(x_1),\cdots , \tilde h_j(x_n)\}vj​(x1​,⋯,xn​)=max{h~j​(x1​),⋯,h~j​(xn​)},用于指示SSS中的点对于第jjj个间隔的占用。令v=[v1;⋯;vK]\mathbf{v}=[v_1;\cdots ; v_K]v=[v1​;⋯;vK​];那么v:R×⋯×R⏟n→{0,1}K\mathbf v:\underbrace{\mathbb R \times \cdots \times \mathbb R}_n \to \{0,1\}^Kv:nR×⋯×R​​→{0,1}K就是一个对称函数,记录了SSS中的点对所有间隔的占用。

博主注:对称函数(symmetric function)是指输出不会随输入的顺序改变,比如对称矩阵就可以看作是行序号与列序号的对称函数。

定义τ:{0,1}K→X\tau:\{0,1\}^K\to\mathcal Xτ:{0,1}K→X其中τ(v)={k−1K:vk≥1}\tau(\mathcal v)=\{\frac{k-1}{K}:\mathcal v_k\geq 1\}τ(v)={Kk−1​:vk​≥1},其将占用向量(occupancy vector)映射到每个所占用的区间的左端点。不难得到:
τ(v(x1,⋯,xn))≡S~\tau(\mathbf v(x_1,\cdots,x_n))\equiv\tilde Sτ(v(x1​,⋯,xn​))≡S~
其中x1,⋯,xnx_1,\cdots,x_nx1​,⋯,xn​是从SSS中按照某种特定顺序提取出来的元素。

令γ:RK→R\gamma : \mathbb R^K\to\mathbb Rγ:RK→R是一个连续函数使得γ(v)=f(τ(v))\gamma(\mathbf v)=f(\tau(\mathbf v))γ(v)=f(τ(v))对v∈{0,1}K\mathcal v\in \{0,1\}^Kv∈{0,1}K成立。那么,
∣γ(v(x1,⋯,xn))−f(S)∣=∣f(τ(v(x1,⋯,xn)))−f(S)∣<ϵ\vert\gamma(\mathbf v(x_1,\cdots,x_n))-f(S)\vert\\ =\vert f(\tau (\mathbf v(x_1,\cdots,x_n)))-f(S)\vert \lt \epsilon∣γ(v(x1​,⋯,xn​))−f(S)∣=∣f(τ(v(x1​,⋯,xn​)))−f(S)∣<ϵ

由于γ(v(x1,⋯,xn))\gamma(\mathbf v(x_1,\cdots,x_n))γ(v(x1​,⋯,xn​))可以写成如下形式:
γ(v(x1,⋯,xn))=γ(MAX(h(x1),⋯,h(xn)))=(γ∘MAX)(h(x1),⋯,h(xn))\gamma(\mathbf v(x_1,\cdots,x_n))=\gamma(\textbf {MAX}(\mathbf h(x_1),\cdots,\mathbf h(x_n)))\\ =(\gamma \circ \textbf{MAX})(\mathbf h(x_1),\cdots,\mathbf h(x_n))γ(v(x1​,⋯,xn​))=γ(MAX(h(x1​),⋯,h(xn​)))=(γ∘MAX)(h(x1​),⋯,h(xn​))

显然γ∘MAX\gamma\circ\textbf{MAX}γ∘MAX是一个对称函数。
得证。

Theorem 2

下面给出定理2的证明。定义u=MAXxi∈S{h(xi)}\mathbf u = \mathop{\textbf{MAX}}\limits_{x_i\in S}\{h(x_i)\}u=xi​∈SMAX​{h(xi​)}是fff的一个子网络,其中fff将区间[0,1]m[0,1]^m[0,1]m中的点映射成KKK维的向量。定理2证明了小的扰动或多余的噪声点不太可能引起网络的输出变化。

证:

显然,∀S∈X\forall S \in \mathcal X∀S∈X,f(S)f(S)f(S)都由u(S)\mathbf u(S)u(S)决定。因此,只需要证明∀S,∃CS,NS⊆X\forall S, \exists \mathcal C_S, \mathcal N_S \subseteq \mathcal X∀S,∃CS​,NS​⊆X,使得如果CS⊆T⊆NS\mathcal C_S\subseteq T\subseteq \mathcal N_SCS​⊆T⊆NS​,有f(T)=f(S)f(T)=f(S)f(T)=f(S)。

对于u\mathbf uu的第jjj维输出,总存在至少一个xj∈Xx_j\in \mathcal Xxj​∈X,使得hj(xj)=ujh_j(x_j)=\mathbf u_jhj​(xj​)=uj​,其中hjh_jhj​是hhh对应输出的第jjj维。

博主注:这是因为,从定理1的证明中我们可以看出,u\mathbf uu是对h(x)h(x)h(x)取最大值得到的,也就是说,至少应该有一个hj(xj)h_j(x_j)hj​(xj​)对应了该最大值,因此存在至少一个xjx_jxj​使得上式成立。此时,这个xjx_jxj​恰好也就对应了占用该段SSS的最大值。

将CS\mathcal C_SCS​视作所有xjx_jxj​的集合,其中j=1,⋯,Kj=1,\cdots,Kj=1,⋯,K。那么,CS\mathcal C_SCS​满足上述条件。

向CS\mathcal C_SCS​中的所有维度增加满足h(x)≤u(S)h(x)\leq\mathbf u(S)h(x)≤u(S)条件的点xxx都不会改面u\mathbf uu,因此也不会改变fff。因此,将所有这样的点集合进NS\mathcal N_SNS​就可以得到TS\mathcal T_STS​。

得证。

PointNet学习笔记(二)——支撑材料(理论证明)相关推荐

  1. 【theano-windows】学习笔记二十——LSTM理论及实现

    前言 上一篇学习了RNN,也知道了在沿着时间线对上下文权重求梯度的时候,可能会导致梯度消失或者梯度爆炸,然后我们就得学习一波比较常见的优化方法之LSTM 国际惯例,参考网址: LSTM Network ...

  2. NoSQL学习笔记(二)之CAP理论

    1.CAP概述 CAP理论是由EricBrewer教授提出的,在设计和部署分布式应用的时候,存在三个核心的系统需求,这三个需求之间存在一定的特殊关系.三个需求如下: C: Consistency 一致 ...

  3. PointNet学习笔记(一)—— 论文

    PointNet学习笔记(一)-- 论文 本文记录了博主在学习<PointNet: Deep Learning on Point Sets for 3D Clasification and Se ...

  4. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  5. 深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现

    深度强化学习笔记(二)--Q-learning学习与二维寻路demo实现 文章目录 深度强化学习笔记(二)--Q-learning学习与二维寻路demo实现 前言 理论 什么是Q-Learning 算 ...

  6. SEO学习笔记二:在搜索引擎竞价排名环境下,个人网站将何去何从?

    本文首发于「妙蛙种子前端」博客,欢迎关注- 早期的搜索引擎,大家都在一个相对公平的规则内玩耍:你的内容够好,网站体验更优秀,在搜索引擎中的排名一般都会比较高. 因为搜索引擎能便捷的为我们定位到精准的内 ...

  7. NumPy学习笔记 二

    NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...

  8. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  9. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

最新文章

  1. php url映射,php – Laravel:将任意URL解析为相应的Controller / Route?
  2. 学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释
  3. BZOJ4358: permu(带撤销并查集 不删除莫队)
  4. angular --开发环境搭建及项目创建
  5. python是什么语言-python底层是什么语言
  6. Linux 进程间通讯(IPC)方式 ------- 共享内存
  7. Flutter学习 — 从新页面返回数据给上一个页面
  8. js中去除字符串中所有的html标签
  9. MATLAB下载+安装教程
  10. python函数手册pdf_Python3.8.1标准库参考中文手册 PDF 高质量版
  11. PostgreSQL视图和物化视图
  12. Hive 字符串转日期
  13. 谷歌日语输入法、中文输入法之间的切换
  14. CentOS下切换桌面模式与命令行模式
  15. ye读春秋左传系列视频讲解
  16. 在style中设置图片背景
  17. .net MVC学习笔记(1)
  18. 流体力学概念总结(涉及所有重点)
  19. 前端学习第三章——a标签(超链接)
  20. iQQ 学习笔记3 :编写代码打包Ant脚本

热门文章

  1. 一周晴雨表,超可爱.
  2. MySQL - 13使用DISTINCT去除重复数据
  3. 传统opencv算法进行灰尘检测(canny,均值漂移,附源码百度云)
  4. Ubuntu命令整理总结
  5. c语言工资管理系统输出错误,求c语言工资管理系统的源代码?
  6. 【MATLAB】机器学习: 线性回归实验(梯度下降+闭式解)
  7. Java实现彩票开奖系统
  8. 大数据与数据分析:大数据开发岗和分析岗对比
  9. 华为云MySQL 8.0正式商用,全新增强版开源利器强势来袭
  10. crawler jd