中文

在多项式时间内学习两层修正神经网络

数据结构与算法 2018-11-06 v1 机器学习

摘要

考虑如下基础学习问题:给定输入样本 xRdx \in \mathbb{R}^d 及其由底层生成式神经网络定义的向量值标签,恢复该网络的权重矩阵。我们考虑两层网络,将 Rd\mathbb{R}^d 映射到 Rm\mathbb{R}^m,具有 kk 个非线性激活单元 f()f(\cdot),其中 f(x)=max{x,0}f(x) = \max \{x , 0\} 为 ReLU。此类网络由两权重矩阵 URm×k,VRk×d\mathbf{U}^* \in \mathbb{R}^{m \times k}, \mathbf{V}^* \in \mathbb{R}^{k \times d} 指定,使得样本 xRdx \in \mathbb{R}^{d} 的标签由 Uf(Vx)\mathbf{U}^* f(\mathbf{V}^* x) 给出,其中 f()f(\cdot) 按坐标作用。给定 nn 个样本作为矩阵 XRd×n\mathbf{X} \in \mathbb{R}^{d \times n} 以及网络在这些样本上的(可能有噪)标签 Uf(VX)+E\mathbf{U}^* f(\mathbf{V}^* \mathbf{X}) + \mathbf{E},其中 E\mathbf{E} 为噪声矩阵,我们的目标是恢复权重矩阵 U\mathbf{U}^*V\mathbf{V}^*。本工作中,我们在关于输入与噪声的不同假设下给出了算法与困难性结果。尽管该问题即便对 k=2k=2 也是 NP-hard 的,但通过假设输入 X\mathbf{X} 上的高斯边缘分布,我们得以开发用于近似恢复 U\mathbf{U}^*V\mathbf{V}^* 的多项式时间算法。或许令人惊讶的是,在无噪情形下我们的算法精确恢复 U,V\mathbf{U}^*,\mathbf{V}^*,即无误差。据我们所知,这是首个实现精确恢复的算法。对于有噪情形,我们给出首个在存在零均值噪声 E\mathbf{E} 时近似恢复权重的多项式时间算法。我们的算法推广到更大类的修正激活函数:f(x)=0f(x) = 0x0x\leq 0,且 f(x)>0f(x) > 0 其他情况。

关键词

引用

@article{arxiv.1811.01885,
  title  = {Learning Two Layer Rectified Neural Networks in Polynomial Time},
  author = {Ainesh Bakshi and Rajesh Jayaram and David P. Woodruff},
  journal= {arXiv preprint arXiv:1811.01885},
  year   = {2018}
}