量子机器学习

借助量子计算的高并行性,实现进一步优化传统机器学习的目的

量子机器学习借助量子计算的高并行性,实现进一步优化传统机器学习的目的。

介绍
机器学习, 尤其是基于人工神经网络的深度学习近年来得到了迅猛发展. 而在量子信息科学领域,它与量子计算技术的结合也正在成为一个飞速发展的研究方向. 事实上, 机器学习的思想很早就应用于量子力学系统的优化控制中, 并在量子化学和物理实验的广泛应用中获得巨大成功. 近年来, 随着深度学习的流行, 各种机器学习算法被用来探索量子多体物理中许多难于解析分析的问题, 并得到了许多有趣的结果.
机器学习与量子物理结合的另一个自然思路是利用量子状态的叠加和量子算法的加速, 来解决当前数据科学中数据量巨大, 训练过程缓慢的困难. 这方面的研究在量子计算的发展初期实际已经有人开始研究, 但是限于实验条件和当时学术界对量子计算发展前景的困惑, 并没有得到长足的发展. 近年来, 随着量子计算机在计算规模和稳定性的突破, 基于量子算法的机器学习重新得到关注, 并成为一个迅速发展的研究方向.事实上, 从经典–量子的二元概念出发可以将机器学习问题按照数据和算法类型的不同分为4类(如图1), 将对C–Q(利用经典算法解决量子物理问题)进行简单介绍, 然后重点对Q–C(利用量子算法加速机器学习)进行综合讨论, 因为本文认为后者更体现量子机器学习的本质所在, 对未来机器学习的发展推动作用更为巨大. Q–Q是一个开放的领域, 也在此不做评论.
量子系统控制中的一个基本问题是对控制对象的建模, 即对系统的哈密顿量以及确定扰动, 噪声等参数特征进行辨识, 这些问题都属于C–Q的范畴. 例如,研究人员提出使用贝叶斯推断中的似然函数对量子系统的哈密顿量进行学习, 并进行了实验验证, 结果表明学习算法具有一定的鲁棒性, 即使假设模型结构中有缺项, 学习结果仍是实际模型的最佳近似.
基于一定量的量子测量数据出发判断和确定其未知量子态的性质, 例如如何判别一个量子态是分离还是纠缠的, 也可以看作一类机器学习问题. 研究人员提出用监督式学习的方法对量子态做分类, 容易理解,直接使用量子模型, 量子数据的全量子方式, 其分类正确率比使用经典模型和经过量子随机存储器(quantum random access memory, QRAM)调用转换的量子数据的半经典方式更高. 其后, 他们提出不需要使用QRAM的量子态分类方法, 且算法所需的经典存储器规模仅随训练比特数以对数速度增长.此外, 他们还专门研究了光子相干态的分类问题, 发现对训练样本和反射信号进行联合全局测量, 比先对训练集进行基于高斯测量的幅值估计, 再对反射信号进行状态判别的识别率要高. 对于量子系统演化所对应的酉变换, 如何从有限样本集中进行辨识学习, 也是一个重要的问题. 该问题可以归结为一个双重优化问题, 同时需要最优输入态和最优测量. 近年来, 也有学者开始着手于研究用机器学习方法获取量子系统的属性和统计参数, 如相变点, 期望值等. 该思想也可用于量子多体系统的模拟问题. 在此不做重点描述.
利用量子理论改进机器学习(Q–C)的方法大致可以分为两种: 1) 通过量子算法使某些在经典计算机上不可计算的问题变为可计算的, 从而大幅降低机器学习算法的计算复杂度, 如量子退火(quantum annealing, QA)算法、Gibbs采样等; 2) 量子理论的并行性等加速特点直接与某些机器学习算法深度结合, 催生出一批全新的量子机器学习模型, 如张量网络、概率图模(probabilistic graphical model, PGM)等.
数数据的量子化表达和读写
量子机器学习的训练数据必须以某种可以为量子计算机识别的格式载入, 经过量子机器学习算法处理以后形成输出, 而此时的输出结果是量子格式的, 需要经过测量读出得到笔者所需的最终结果(如图2所示). 因此, 量子机器学习的复杂度与这3个过程都有关系. 大致说来, 基于量子相位估计的学习算法可以实现算法的指数加速, 但是对数据的载入和完整结果的读出要求很高, 而基于量子搜索的算法相对较复杂,但是数据的读入读出则相对比较容易. 常用的两种方式以及为之需要匹配的读入读出方式.
数字型
众所周知, 数字计算机中所有数据都是有限字长的. 假设某训练数据向量为⃗x = [x1· · · xn], 若每个元素都用长度为m的二进制数据表示, 则整个向量需要 n · m 个比特, 在量子计算机中它们对应于 N =n · m个量子位. 每个数据向量都对应于输入态希尔伯特空间的一个基矢|⃗x⟩.
这其实是一个量子化的过程. 类似的, 输出数据⃗y= [y1· · · yq]也可以用适当长度的二进制数表示相应, 并通过量子化对应于输出态希尔伯特空间的一个基矢. 对比下面将要提到的模拟型数据, 这种表示通过冯诺伊曼投影测量即可进行读出, 其代价是最低的.进一步, 如果训练数据集中有M个数据, 自然的方式是用N · M个量子位存储这些数据, 但这样耗费的资源无疑十分巨大, 特别在海量数据集的情形下. 为此可以充分利用量子系统的叠加特性, 将这些数据以“叠加”的方式存储在N个比特上, 用状态 表示. 这样可以存储最2N个数据向量, 并且数据处理可以并行进行, 其中单个或多个数据的提取根据数据特征(模式)采用Grover算法搜索得到, 因此称作量子关联存储器(quantum associative memory, QAM). 另一种方式是用log(M)个比特标记数据下标(地址), 从而数据可以并行存储在log(M) + n · m个比特中, 其中第j个数据表示为 可以通过设计存储器根据寻址请求调用相应的数据, 以叠加方式 并行载入数据, 这是与经典数据载入非常不同的地方.这里的概率幅系数 对应于经典数据处理中的随机采样概率分布, 但是以相干叠加的方式进行, 使得后续的数据处理可以并行进行, 设计巧妙的算法利用相干性带来的相长相消得到期望的结果, 以实现量子加速(quantum speed-up).
模拟型
训练数据还可以用半模拟的方式编码在量子态上.假设⃗x = [x1· · · xn]已经归一化,则可以用log(n)个比特, 其中数据分量对应于用叠加态 中各基矢的概率幅系数. 与数字型数据相比, 这种编码方式可以极大节省所需的量子位资源, 并避免数字化带来的圆整误差. 但它的最大问题是制备和读出的困难, 精确制备这样的量子态在实验上是非常困难的事, 而读出所需的精确层析技术也需要通过大量的重复实验才能准确重构这样的量子态. 由于所需重复样本随测控精度提高而上升, 因此也需要很大的时间复杂度代价.与数字型数据类似, 如果训练数据集中有M个数据, 可以用log(M)个比特表示下标, 从而用log(n·M)个比特表示整个数据集, 而且数据可以以 .
量子数据集的转换
从经典数据到量子数据的转换, 需要通过存储器来实现. 对于数字型数据, 其实对应于一个量子化的数字逻辑电路, 或者一个量子子程序, 通过执行该子程序将寄存器的状态制备到训练数据对应的状态. 这个子程序是模块化的, 由于在机器学习中会经常随机抽取或者检索该数据集中的数据, 因此它常常作为一个oracle供Grover算法调用, 而调用的次数则成为衡量机器学习算法复杂度的重要指标之一. 这类存储器具有专用名称-量子关联存储器(quantum associativememory, QAM).
显而易见, 模拟型量子数据是最节省资源的存储方式, 但是从物理实现的角度上, 需要对量子寄存器进行精确地状态制备和存储, 利用所谓的QRAM调用.
在训练过程中, 还应该能够高效地根据访问地址调用所需数据, 这些对量子系统的控制, 以及量子计算机体系结构和算法设计提出了重要挑战. 此外, 数据的读出是另外一个困难问题, 因为在这种情况下,通常需要对寄存器状态的最终值进行测量读出, 而这需要大量耗时的状态层析, 如果不精心设计的话, 所需代价甚至可能超过存储节省的资源.
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市