PointNet学习笔记(二)——支撑材料(理论证明)
这一部分记录了PointNet中两个定理的证明和博主的学习笔记。具体的定理可以参见论文学习笔记,这里仅给出证明。更新于2018.10.12。
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
:
→
R
f:\mathcal \to \mathbb R
f:→R是一个
X
\mathcal X
X上对于Hausdorff距离
d
H
(
⋅
,
⋅
)
d_H(\cdot,\cdot)
dH(⋅,⋅)连续的函数:
∀
ϵ
>
0
,
∃
δ
>
0
,
使
得
任
意
S
,
S
′
∈
X
,
若
d
H
(
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′)∣<ϵ
这里需要证明的是 f f f可以被任意一个对称函数和连续函数近似。
证:
由
f
f
f的连续性,取
δ
ϵ
\delta_{\epsilon}
δϵ使得若
d
H
(
S
,
S
′
)
<
δ
ϵ
d_H(S,S')\lt\delta_{\epsilon}
dH(S,S′)<δϵ,那么对于任意
S
,
S
′
∈
X
S,S'\in\mathcal X
S,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}\rceil
K=⌈1/δϵ⌉,将区间
[
0
,
1
]
[0,1]
[0,1]等分成
K
K
K份;再定义一个辅助函数,其作用是将一个点映射到它所在区间的左侧端点处:
σ
(
x
)
=
⌊
K
x
⌋
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},那么由于
d
H
(
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~)∣<ϵ
令 h k ( x ) = e − d ( x , [ k − 1 K , k K ] ) 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 ) = [ h 1 ( x ) ; ⋯ ; h K ( x ) ] \mathbf{h}(x)=[h_1(x);\cdots;h_K(x)] h(x)=[h1(x);⋯;hK(x)],则 h : R → R K \mathbf{h}:\mathbb R \to \mathbb R^K h:R→RK。
博主注:指示函数(indicator function)是用来标注一个点是否属于集合,如果属于值为1,反之值为0。 h k ( x ) h_k(x) hk(x)的含义就是 x x x是否属于集合 k k k的指示函数。
令 v j ( x 1 , ⋯ , x n ) = max { h ~ j ( x 1 ) , ⋯ , h ~ j ( x n ) } 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)},用于指示 S S S中的点对于第 j j j个间隔的占用。令 v = [ v 1 ; ⋯ ; v K ] \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\}^K v:n R×⋯×R→{0,1}K就是一个对称函数,记录了 S S S中的点对所有间隔的占用。
博主注:对称函数(symmetric function)是指输出不会随输入的顺序改变,比如对称矩阵就可以看作是行序号与列序号的对称函数。
定义
τ
:
{
0
,
1
}
K
→
X
\tau:\{0,1\}^K\to\mathcal X
τ:{0,1}K→X其中
τ
(
v
)
=
{
k
−
1
K
:
v
k
≥
1
}
\tau(\mathcal v)=\{\frac{k-1}{K}:\mathcal v_k\geq 1\}
τ(v)={Kk−1:vk≥1},其将占用向量(occupancy vector)映射到每个所占用的区间的左端点。不难得到:
τ
(
v
(
x
1
,
⋯
,
x
n
)
)
≡
S
~
\tau(\mathbf v(x_1,\cdots,x_n))\equiv\tilde S
τ(v(x1,⋯,xn))≡S~
其中
x
1
,
⋯
,
x
n
x_1,\cdots,x_n
x1,⋯,xn是从
S
S
S中按照某种特定顺序提取出来的元素。
令
γ
:
R
K
→
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\}^K
v∈{0,1}K成立。那么,
∣
γ
(
v
(
x
1
,
⋯
,
x
n
)
)
−
f
(
S
)
∣
=
∣
f
(
τ
(
v
(
x
1
,
⋯
,
x
n
)
)
)
−
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
(
x
1
,
⋯
,
x
n
)
)
\gamma(\mathbf v(x_1,\cdots,x_n))
γ(v(x1,⋯,xn))可以写成如下形式:
γ
(
v
(
x
1
,
⋯
,
x
n
)
)
=
γ
(
MAX
(
h
(
x
1
)
,
⋯
,
h
(
x
n
)
)
)
=
(
γ
∘
MAX
)
(
h
(
x
1
)
,
⋯
,
h
(
x
n
)
)
\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 = MAX x i ∈ S { h ( x i ) } \mathbf u = \mathop{\textbf{MAX}}\limits_{x_i\in S}\{h(x_i)\} u=xi∈SMAX{h(xi)}是 f f f的一个子网络,其中 f f f将区间 [ 0 , 1 ] m [0,1]^m [0,1]m中的点映射成 K K K维的向量。定理2证明了小的扰动或多余的噪声点不太可能引起网络的输出变化。
证:
显然, ∀ S ∈ X \forall S \in \mathcal X ∀S∈X, f ( S ) f(S) f(S)都由 u ( S ) \mathbf u(S) u(S)决定。因此,只需要证明 ∀ S , ∃ C S , N S ⊆ X \forall S, \exists \mathcal C_S, \mathcal N_S \subseteq \mathcal X ∀S,∃CS,NS⊆X,使得如果 C S ⊆ T ⊆ N S \mathcal C_S\subseteq T\subseteq \mathcal N_S CS⊆T⊆NS,有 f ( T ) = f ( S ) f(T)=f(S) f(T)=f(S)。
对于 u \mathbf u u的第 j j j维输出,总存在至少一个 x j ∈ X x_j\in \mathcal X xj∈X,使得 h j ( x j ) = u j h_j(x_j)=\mathbf u_j hj(xj)=uj,其中 h j h_j hj是 h h h对应输出的第 j j j维。
博主注:这是因为,从定理1的证明中我们可以看出, u \mathbf u u是对 h ( x ) h(x) h(x)取最大值得到的,也就是说,至少应该有一个 h j ( x j ) h_j(x_j) hj(xj)对应了该最大值,因此存在至少一个 x j x_j xj使得上式成立。此时,这个 x j x_j xj恰好也就对应了占用该段 S S S的最大值。
将 C S \mathcal C_S CS视作所有 x j x_j xj的集合,其中 j = 1 , ⋯ , K j=1,\cdots,K j=1,⋯,K。那么, C S \mathcal C_S CS满足上述条件。
向 C S \mathcal C_S CS中的所有维度增加满足 h ( x ) ≤ u ( S ) h(x)\leq\mathbf u(S) h(x)≤u(S)条件的点 x x x都不会改面 u \mathbf u u,因此也不会改变 f f f。因此,将所有这样的点集合进 N S \mathcal N_S NS就可以得到 T S \mathcal T_S TS。
得证。