计算 实质是一个物理过程,要受到物理规律的支配现代的计算技术建立在经典物 理学基础之上,而量子计算 (Quantum Computing)则建立于量子理论的原理之上。目前,量子计算之所以获得瞩目,是由于它能极大地提高计算的效 ,具有沟通与大脑和意识关系的潜力,而神经网络技术是模仿人脑的工作机理,其工作过程本身也具有复杂的非线性动力学特征。显而易见 ,二者之间存在着许多相似之处,那么我们自然就会设想 :量子理论与神经网络技术能否结合起来以产生一种新的计算范式?理论上讲应该更加智能化 ,具有更有效的学习和泛化能力。
量子计算有潜力将人工智能带入下一个层次的创新。量子计算机利用量子力学的特性来处理信息。传统的计算机将信息编码成比特,比特值可以是0或1。相反,量子计算机用量子比特编码信息。就像一个比特,一个量子比特可以取0或1的值。然而,量子位能够同时呈现多种状态,这叫做叠加。因此,两个量子位可以呈现四种可能状态中的任何一种:01、11、10或00。一般来说,n量子位可以代表2^n不同的状态。这种(非常简化的)叠加概念使得量子计算机比传统计算机强大得多。它们可以用更少的计算能力代表更多的信息。
量子机器学习
训练神经网络的一个很大不足是训练时间比较长。甚至花上几周的时间也并不少见,由于缺乏计算能力,甚至几个月来训练神经网络。是否有一种方法可以利用量子计算的力量来加速训练过程,让这些复杂的网络变得可行呢?那就是入量子机器学习。
量子机器学习的目标是利用量子计算机的力量,以比传统计算机快得多的速度处理信息。然而,这并不像将现有代码从中央处理器转移到量子处理器那么简单。代码首先需要能够描述量子比特的量子语言。今天关于量子力学的大部分工作都试图解决这个确切的问题。
量子神经网络(QNNs)
量子神经网络(QNN)是基于量子力学原理的神经网络模型。在量子神经网络研究的计算方法中,科学家试图将人工神经网络模型与量子信息的优势相结合,以便开发更有效的算法。这样做的一个重要动机是经典的神经网络模型十分难以训练,特别是在大数据应用中。一些研究者希望量子计算的特征如量子并行性或干扰和纠缠的影响可以用作资源。目前量子神经网络研究尚处于起步阶段,许多研究是基于用量子比特取代经典二元或McCulloch-Pitts 神经元的想法,导致神经单位可以处于激活状态和未激活状态的叠加。
QNN研究有两种不同的方法,一种是利用量子信息处理来改进现有的神经网络模型(有时也反过来),另一种是在大脑中寻找潜在的量子效应。
在计算能力有限的设备上运行深度神经网络(DNN)模型是一个很大的挑战,因为它对设备的计算性能和和内存具有很大的需求。使用浮点运算是保持精确性的最简单的方法,但是这种运算方法的计算量相对较大。量子化的神经网络(QNNs)在解决这个问题具有很大的潜力,它在保证DNN训练的准确性的前提下可以节省计算成本。
量子神经网络也属于前馈神经网络的一种,通过将量子态的叠加思想引入到传统的前馈神经网络中,将神经网络的隐含层激励函数采用多个sigmoid函数进行叠加。一个sigmoid函数仅可以表示两个量级和状态,而线性叠加的sigmoid函数相邻之间有着不同的量子间隔。一个隐层的神经单元就能表示更多的量级和状态,这样通过对量子间隔的训练,训练样本输入数据的不确定性就能得到量化,不同数据将映射到不同的量级之上,利用多层的激励函数增加网络的模糊性,提高网络模式识别的准确性和确定性。
量子神经网络通过对网络中的参数和权重进行二值化处理,可以在保证训练的准确率的情况下减小训练所占内存。该方法对于实现大的卷积神经网络尤其有益。[描述来源:Hubara I, Courbariaux M, Soudry D, et al. Quantized neural networks: Training neural networks with low precision weights and activations[J]. arXiv preprint arXiv:1609.07061, 2016.]
量子推动(a quantum boost)
用量子计算增强机器学习的方法是把困难的优化问题交给量子计算机。算法“工具箱”已经被量子信息界发展起来了,而挑战是去组合、调整和扩展这些工具以至于对传统计算机实现压倒性优势。三个用量子计算机解优化问题的方法解释见本页下方方框内表述。在把子任务交给量子计算时,有一点要特别注意。为了让这些方法能工作,需要把数据编码到量子系统中。
一个方法是把黑白图像表示成有指向上下自旋的格点。用量子叠加允许我们将很多图片存在一个量子系统中。其他的编码策略更复杂,但全部都需要我们制备量子系统的初态来表示数据集的数值。对于机器学习量子算法来说,编码数据是一个至关重要的瓶颈和挑战。
瓶颈
目前量子神经计算的研究还处于萌芽阶段,其理论远未成熟。我们现有的网络结构十分有限,而且如何对网络进行训练也还未有定论。
QNN与经典神经网络相比,具有以下几个优点:
(1)更快的计算速度
(2)更高的记忆容量
(3)更小的网络规模
(4)可消除灾变性失忆现象
实现量子增强的机器学习的途径
(1)量子搜索:计算机科学家Lov Grover发现用量子计算在无序数据库上做搜索会比经典计算机快。最直接的用量子计算机解决机器学习问题的途径就是把搜索问题重新表述为量子计算的语言,然后应用Grover算法。
(2)线性代数:在2009年,来自麻省理工学院的Aram Harrow, Avinatan Hassidim 和 Seth Lloyd,提出了一个量子算法去解线性方程组,在特定情况下,这一算法快得不可思议。许多机器学习中的优化问题在数学上被表述为解线性方程,而这就成为量子线性方程算法绝佳的潜在应用对象。
(3)寻找基态:最小化一个能量函数,一个流行的数值方法是“模拟退火”,它模拟了系统冷却到基态的热力学过程。用“量子退火”,能量被类似地最小化,且可利用量子隧穿越过尖峰,而非通过“爬坡”,因此可以更快地找到最低的山谷。量子退火设备已经出现,在寻找全局最小值的问题上,它比传统的模拟退火算法快一亿倍。
量子增强机器学习:量子-经典混合卷积神经网络
卷积神经网络在计算机视觉等领域取得了巨大成功,而量子计算机的飞速发展让科研人员看到了利用量子计算机加强经典机器学习能力的可能性。该工作提出了量子-经典混合卷积神经网络(QCCNN)架构,并给出了适用任意量子-经典混合函数的自动微分框架。QCCNN继承了CNN的基本框架,但把CNN中的关键步骤──特征提取函数filter替换为“量子特征提取函数 quantum filter”。比如对于n×n 的特征窗口,量子特征提取函数首先通过比特编码将其编码成一个量子态,然后通过参数化量子线路演化量子态,最后通过期望值测量输出一个实数。通过引入带参数的量子线路,增强卷积神经网络的性能。
(1)相比于其他受CNN启发的量子机器学习方案,QCCNN最大限度地继承了CNN的架构,如非线性、多层架构,相比于同样架构的CNN,QCCNN的特征提取函数可以在更大的空间提取特征,因而原则上QCCNN可以达到更高的学习精度;
(2)由于CNN中的特征窗口尺寸通常不大,如3×3到9×9,量子特征提取函数可以比较容易地基于近期量子计算机实现;
(3)QCCNN没有量子计算机的输入输出问题。另外,QCCNN架构也可以使用量子数据作为输入,在这种情况下,QCCNN可以在计算能力上实现相对于经典计算机的“量子优势”。
本文转载自微信公众号:小林的学习分享与生活感悟 |