PointNet支撑材料(理论证明)
这一部分记录了PointNet中两个定理的证明和博主的学习笔记。具体的定理可以参见论文学习笔记,这里仅给出证明。更新于2018.10.12。
Theorem 1
定理1要证明的是设计的网络结构能够模拟任意一个连续(依照具体定义)的函数,且最差的情况是将空间内等分成立方体。
令
X={S:S⊆[0,1]and∣S∣=n}。
如果满足下列条件,
f:→R是一个
X上对于Hausdorff距离
dH(⋅,⋅)连续的函数:
∀ϵ>0, ∃δ>0, 使得任意S,S′∈X,若dH(S,S′)<δ,有∣f(S)−f(S′)∣<ϵ
这里需要证明的是
f可以被任意一个对称函数和连续函数近似。
证:
由
f的连续性,取
δϵ使得若
dH(S,S′)<δϵ,那么对于任意
S,S′∈X都有
∣f(S)−f(S′)∣<ϵ。
定义
K=⌈1/δϵ⌉,将区间
[0,1]等分成
K份;再定义一个辅助函数,其作用是将一个点映射到它所在区间的左侧端点处:
σ(x)=K⌊Kx⌋
令
S~={σ(x):x∈S},那么由于
dH(S,S~)<1/K≤δϵ,因此有:
∣f(S)−f(S~)∣<ϵ
令
hk(x)=e−d(x,[Kk−1,Kk])为一个软指示函数(soft indicator function),其中
d(x,I)是点到集合(间隔)的距离。令
h(x)=[h1(x);⋯;hK(x)],则
h:R→RK。
博主注:指示函数(indicator function)是用来标注一个点是否属于集合,如果属于值为1,反之值为0。
hk(x)的含义就是
x是否属于集合
k的指示函数。
令
vj(x1,⋯,xn)=max{h~j(x1),⋯,h~j(xn)},用于指示
S中的点对于第
j个间隔的占用。令
v=[v1;⋯;vK];那么
v:n
R×⋯×R→{0,1}K就是一个对称函数,记录了
S中的点对所有间隔的占用。
博主注:对称函数(symmetric function)是指输出不会随输入的顺序改变,比如对称矩阵就可以看作是行序号与列序号的对称函数。
定义
τ:{0,1}K→X其中
τ(v)={Kk−1:vk≥1},其将占用向量(occupancy vector)映射到每个所占用的区间的左端点。不难得到:
τ(v(x1,⋯,xn))≡S~
其中
x1,⋯,xn是从
S中按照某种特定顺序提取出来的元素。
令
γ:RK→R是一个连续函数使得
γ(v)=f(τ(v))对
v∈{0,1}K成立。那么,
∣γ(v(x1,⋯,xn))−f(S)∣=∣f(τ(v(x1,⋯,xn)))−f(S)∣<ϵ
由于
γ(v(x1,⋯,xn))可以写成如下形式:
γ(v(x1,⋯,xn))=γ(MAX(h(x1),⋯,h(xn)))=(γ∘MAX)(h(x1),⋯,h(xn))
显然
γ∘MAX是一个对称函数。
得证。
Theorem 2
下面给出定理2的证明。定义
u=xi∈SMAX{h(xi)}是
f的一个子网络,其中
f将区间
[0,1]m中的点映射成
K维的向量。定理2证明了小的扰动或多余的噪声点不太可能引起网络的输出变化。
证:
显然,
∀S∈X,
f(S)都由
u(S)决定。因此,只需要证明
∀S,∃CS,NS⊆X,使得如果
CS⊆T⊆NS,有
f(T)=f(S)。
对于
u的第
j维输出,总存在至少一个
xj∈X,使得
hj(xj)=uj,其中
hj是
h对应输出的第
j维。
博主注:这是因为,从定理1的证明中我们可以看出,
u是对
h(x)取最大值得到的,也就是说,至少应该有一个
hj(xj)对应了该最大值,因此存在至少一个
xj使得上式成立。此时,这个
xj恰好也就对应了占用该段
S的最大值。
将
CS视作所有
xj的集合,其中
j=1,⋯,K。那么,
CS满足上述条件。
向
CS中的所有维度增加满足
h(x)≤u(S)条件的点
x都不会改面
u,因此也不会改变
f。因此,将所有这样的点集合进
NS就可以得到
TS。
得证。