GTNC and TSGO

本周主要是对HTN的结构进行优化设计,将其应用于Cifar10,并尝试用GTNC和TSGO的方式对其进行优化

本周首先继续上周总结整理了一下上周日大佬们讲座的核心观点和思想,并简单总结了一下这次讲座带给我的一些启发,同老师交流之后,觉得TSGO或GTNC的这种思路可以结合到HTN的优化上来,进一步的向量子模拟计算靠拢,主要是孙正之同学的一些工作需要进一步的学习和复现。

Generative tensor network classification model for supervised machine learning(GTNC)

这篇文章主要的是一种聚类的思想,生成型张量网络{Ψ(c)}\left\{\Psi^{(c)}\right\}是定义在希尔伯特空间的L个qubit。训练后的{Ψ(c)}\left\{\Psi^{(c)}\right\}通过计算样本和{Ψ(c)}\left\{\Psi^{(c)}\right\}之间的欧氏距离进行分类,但是作者在这篇文章中通过采用保真度代替欧式距离,最大保真度对应的簇就是该样本的分类结果。

在阅读的过程中又学到了一个新的概念叫做Mercer Condition,我们都知道在SVM算法中,需要将低维空间映射到核函数上,我们并不需要显式的定义核函数,而是只需要求得投影之后的内积就可以,也就是满足如下式子

K(xi,xj)=ϕ(xi),ϕ(xj)K\left(x_{i}, x_{j}\right)=\left\langle\phi\left(x_{i}\right), \phi\left(x_{j}\right)\right\rangle

只有当这个核函数是正定的时候,映射ϕ\phi才实际存在,我们将这个条件称作Mercer Condition。

此外在论文中简单对比了一下GTNC算法和SVM算法的优劣,如下

  • SVM的效果依赖于核函数的选择,而GTNC的映射方式是比较固定的。
  • GTNC基于希尔伯特空间的聚类求距离进行分类,而SVM则是去寻找高维度空间的决策边界。

这里提到一种lazy-learning的训练方式,它不用训练出{Ψ(c)}\left\{\Psi^{(c)}\right\}就能直接把该簇与样本的保真度表示出来

Tangent-Space Gradient Optimization of Tensor Network for Machine Learning(TSGO)

基于梯度的优化方法在深度神经网络中经常会出现梯度消失或者梯度爆炸的问题,尤其是计算图深度特别深的时候。这篇文章提出的TSGO算法通过旋转参数向量的角度来是实现梯度优化,并且梯度正交于参数向量,可以限制在切空间中,学习率用旋转角表示η=tanθ\eta=\tan \theta,这样就能避免梯度消失及梯度爆炸

1606644334115

实验结果如上图所示,左图展示的是loss function和epochs在不同算法下的变化曲线,可以看出TSGO完胜经典中强大通用的Adam优化器。右图横轴是特征数,可以理解为图片大小,纵轴是收敛时的loss function值,可以看出在Length<122Length<12^2时,Adam和TSGO的效果相差不大,而当Legnth特别大时,基于梯度下降的Adam算法就陷入了比较差的收敛值,而TSGO则收敛的效果更好一些。

TSGO的核心思想是限制与参数向量正交的梯度,模型的优化可以通过再希尔伯特空间参数向量的旋转操作实现,TSGO独立于学习率和学习深度,能实现稳健收敛。但TSGO不能用来更新神经网络,这是因为我们无法保证公式3再高度非线性的条件。

总结

此外,我还有幸在github上搜索到了孙正之GTNCTSGO的论文代码,这些代码对目前的我而言,相当的宝贵。我一边读代码一边写注释,争取能够在多熟悉一些对量子态的模拟旋转等操作,然后再想办法将它结合到HTN中。

本周基于MPS的HTN表现出了不错的效果,经过一些参数的调试,其在cifar10上的训练效果接近80%,这是我们目前设计的所有的张量网络算法结构中比较好的一个效果了,它能够比较准确的对cifar10数据进行分类,并且MPS的结构本身就有个各种各样更新优化方式,如果能将孙正之代码中的思路结合到其中,我相信还会有进一步的突破。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 YuleZhang's Blog
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信