【神经网络张量化】Tensorizing Neural Networks笔记

来源:互联网 发布:java string 去空格 编辑:程序博客网 时间:2024/06/10 17:15

论文地址
代码
这篇文章提出了一种TensorNet,即有一层或多层TT-layer的神经网络。下面分章总结一下。

1-2

大概前两章就是写了传统的神经网络对计算的要求有多高balabala,以及一些张量和张量分解的发展等等。下面的张量神经网络会用到tt分解。tt分解的作者也是这篇文章的作者。

3

第三章开始正片。
神经网络的参数之所以多主要是因为层与层间的权值。于是张量神经网络就是用张量来存储权值的神经网络。再进行张量分解就可以进行张量的压缩,进而节省存储空间,提高计算速度等。。。这篇文章用的是tt分解来压缩张量,当然还有其他的张量分解方法。
下面就只是简单介绍了一下tt分解和向量和矩阵的tt表示,不了解tt分解的童鞋开起来可能一头污水。。。所以查了一点tt分解的资料:
这篇中文文章的前面有一部分介绍了tt分解
原作者关于tt分解的slides
SVD介绍
在这篇paper的代码里在产生tt核的时候其实是用了一种基于svd的近似算法得到tt核,但是没有在这篇文章里写。至于具体数学上的推导细节,,,我也没看懂。

4-5

这部分就是将梯度下降算法用在tt表示的神经网络上。具体在python上应用的时候,训练部分的代码和普通的神经网络貌似无差。

文章的最后就是介绍了一下实验部分。还有很多不懂的地方,尤其是数学部分,如果以后有什么新的体会再补充。

阅读全文
0 0
原创粉丝点击