新闻  |   论坛  |   博客  |   在线研讨会
可微编程:打开深度学习的黑盒子(3)
深度学习大讲堂 | 2020-12-04 09:06:56    阅读:248   发布文章

12.jpg

接下来,展示我们的实验结果。在无监督和有监督的特征提取的情况下,对网络的分类性能进行验证。

11.jpg

接下来还进行图像重构,图中显示的是一个重构的误差,越黑就代表误差越小。

10.jpg

我们还做了视频当中的异常事件的检测,给定一个圈,在圈中的都是正常事件,不在圈中的就是异常事件。接下来使用稀疏重构系数作为指标,找到一定阈值,在这个范围内的都是正常事件,而不在其中的就是异常事件。

9.jpg

通过实验可以看到,我们的结果是目前是最好的异常事件检测算法。

8.jpg

最后简单地概括一下,相对现有的可微编程,我们是将优化的过程或者说具体的基于LSTM优化的过程和长短期记忆网络,最后掌握了他们之间关系。这对可微编程有一些促进的作用,也可以从另外一个角度理解长短期记忆网络。

刚才我们得到的网络和标准的只有一个区别,就是我们没有Output gate。

相关的代码公开,大家可以扫描上图中的二维码。

7.jpg

第二个工作较之前更进一步,是在聚类这个背景下来扩展,把k-means这个聚类算法转化成为一个前向式记忆网络。不同于现有的可微编程的方法,它是从优化的角度出发,我们直接把k-means聚类算法的目标函数直接进行变形,然后建立对应的神经网络模型。

6.jpg

K-means是什么?

它是在机器学习,计算机视觉,数据挖掘中最为知名的一个算法。主要是利用数据之间的相似性或者不相似性,将数据分为多个簇。最近一二十年,整个聚类的研究领域主要关注的是高维数据的聚类,本质上就是机器学习的共性问题­——线性不可分的问题。

5.jpg

为了解决这个问题,基于核聚类算法,谱聚类,子空间聚类方法,以及近期基于深度神经网络的聚类方法,这些方法都是在解决这个线性不可分的问题。

4.jpg

现有的高维聚类方法可以简单地概括成这个图。它们都是用表示学习的方法将不可分的数据投影到另外一个线性可分的空间中,然后再进行聚类。而且现有的研究工作主要都是关注在如何学到一个好的表示。大家都知道,目前深度学习已经成为最为有效的表示学习方法之一,一定意义上可以把“之一”去掉,特别是在数据量较多的情况下。

3.jpg

因此,我们就认为如果表示学习能够用深度神经网络来解决,我们是不是要考虑更多的研究能够实现聚类的神经网络。但是让我们惊讶的是,目前非常少的工作研究能以一个神经网络来实现聚类的,寥寥可数,比较知名一点的比如说自组织映射。

2.png

受这个观察的启发,我们思考计划从可微编程的角度对经典的算法进行变形,从而形成一个新的神经网络,从而解决上述的痛点。

这里的公式是k-means的目标函数,其中x是输入,Ω是第j个聚类的中心。我们最终的目标是最小化不同类别之间的相似性,最大化相同类别之间的相似性。

1.jpg

通过对k-means目标函数简单的变形,其实本质上只是把标签只能分配到某一个聚类空间的约束去掉,转变成了输入Xi在第j个聚类中心的概率。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客