目录

摘要

Abstract

1 LSTM相关网络总结与对比

1.1 理论总结

1.2 代码运行对比

2 量子计算入门

3 总结


摘要

本周首先总结了LSTM、Bi-LSTM与GRU的区别与优缺点,对比了三者实战的代码与效果,还另外拓展了一些循环神经网络变体(包括窥视孔LSTM、耦合门LSTM与SRU)。其次,初步了解了量子计算的相关知识,包括量子比特、量子纠缠、量子干涉等,学习了量子比特与经典比特的区别、量子计算的经典算法、面临的挑战、主流技术路线与部分应用场景。

Abstract

This week, I firstly summarized the differences, advantages, and disadvantages among LSTM, Bi-LSTM, and GRU, compared their practical code implementations and performances. Additionally, I explored several RNN variants, including Peephole LSTM, Coupled Gate LSTM, and SRU. Secondly, I gained preliminary knowledge of quantum computing, covering concepts such as qubits, quantum entanglement, and quantum interference. I also studied the distinctions between qubits and classical bits, classic quantum algorithms, current challenges, mainstream technological approaches, and some application scenarios.

1 LSTM相关网络总结与对比

1.1 理论总结

回顾上周学习的LSTM、Bi-LSTM与GRU三种网络结构。

LSTM主要引入细胞状态与三个门控机制(遗忘门、输入门与输出门)以解决了传统RNN的相关问题,例如梯度消失,它能捕捉长期依赖,适合处理长序列,但参数多,训练十分缓慢;

Bi-LSTM没有改动LSTM的结构,而是使用两个独立的LSTM结构分布从右到左和从左到右处理序列,对两者结果进行求和或者拼接得到最终结果。因此,它的参数量相较LSTM更大,训练更慢,同时它需要完整序列,无法进行实时预测类的任务。但它能够捕捉语言语法中一些特定的前置或后置特征,增强语义关联,结果更为精准;

GRU则对LSTM的结构进行了部分改动,将三个门控机制简化合并到两个(更新门与重置门),在简化结构、减少参数量的同时略微削弱了其长期依赖建模的能力。在大多数任务中,GRU与LSTM性能还是接近的。

除此之外,循环神经网络还有许多其他的变体,例如,窥视孔 LSTM(Peephole LSTM),它在标准 LSTM 基础上,让门控机制也能访问细胞状态​,能更精细地控制信息流动,主要应用在语音识别、手写识别等需要精确时序控制的任务上;耦合门 LSTM(Coupled LSTM),它将遗忘门和输入门耦合,不再独立决定“忘记什么”和“记住什么”,而是统一决策,它强制忘记旧信息才能记住新信息,不够灵活,故很少使用;还有SRU(Simple Recurrent Unit),它是一种高度并行化的循环神经网络单元,由 Milly Song 等人在 2017 年 提出,训练速度极快(接近 CNN),显存占用小且适合长文本、语音等任务,其关键在于将隐藏状态的更新过程从时间依赖中解耦,允许完全并行计算整个序列,不像普通循环神经网络那样必须按时间步顺序计算。

1.2 代码运行对比

上周进行了LSTM的代码实战,训练总共花费6小时33分钟40秒,最终结果如下:

上述结果包括各项指标、混淆矩阵以及最终的损失与准确率。其中 macro avg 的中文名称为宏平均,其计算方式为每个指标的算术平均。weighted avg 是加权平均,它的计算方式是用每一个类别样本数量在所有类别的样本总数的占比作为权重。

若利用Bi-LSTM进行训练,需对模型定义部分进行如下改动:

def build_model(hp):model = Sequential([Embedding(input_dim=len(tokenizer.word_index) + 1, output_dim=100, input_length=MAX_SEQUENCE_LENGTH),#改动部分Bidirectional(LSTM(units=hp.Int('LSTM_UNITS', min_value=64, max_value=256, step=64),dropout=hp.Float('dropout_rate', min_value=0.2, max_value=0.5, step=0.1))),Dense(64, activation='relu'),Dropout(0.5),Dense(y_train.shape[1], activation='softmax')])model.compile(loss='categorical_crossentropy',optimizer=Adam(learning_rate=hp.Choice('learning_rate', values=[0.001, 0.0005, 0.0001])),metrics=['accuracy'])return model

主要是利用 Bidirectional 包装器对 LSTM 层进行包装,它会创建两个独立的 LSTM 层,一个按原始顺序处理序列,一个按逆序处理序列,然后将两者的输出进行合并(默认是拼接 concat,也可以通过  merge_mode 进行调整)

训练总共花费13小时7分钟45秒,结果如下:

若利用GRU进行训练,需对模型定义部分进行如下改动:

def build_model(hp):model = Sequential([Embedding(input_dim=len(tokenizer.word_index) + 1, output_dim=100, input_length=MAX_SEQUENCE_LENGTH),#改动部分GRU(units=hp.Int('GRU_UNITS', min_value=64, max_value=256, step=64),dropout=hp.Float('dropout_rate', min_value=0.2, max_value=0.5, step=0.1)),Dense(64, activation='relu'),Dropout(0.5),Dense(y_train.shape[1], activation='softmax')])model.compile(loss='categorical_crossentropy',optimizer=Adam(learning_rate=hp.Choice('learning_rate', values=[0.001, 0.0005, 0.0001])),metrics=['accuracy'])return model

主要是将原代码中的 LSTM 改为 GRU。

训练总共花费4小时8分钟57秒,结果如下:

2 量子计算入门

量子计算本质上是一种新型的计算方式,它利用量子力学中的某些性质或现象(如叠加和纠缠),有望在特定任务上实现对经典计算机的“量子优越性”(Quantum Advantage),指的是量子计算机在解决某个特定、精心设计的问题上,其运算速度远远超过当今最强大的经典超级计算机,以至于经典计算机在可接受的时间内(例如数千年甚至更久)无法完成相同任务,这也是所谓的量子霸权。2019年,谷歌“悬铃木”(Sycamore)处理器在200秒内完成了一项经典超算需一万年才能完成的计算任务,首次实验证明了量子优越性,标志着量子计算从理论走向实践的关键里程碑。

为了理解量子计算,首先认识其最基本信息单元,量子比特(Qubit),它对应着经典计算中的比特。

经典计算中比特的状态只能是 0 或 1,具有确定性,测量能够得到真实值,而且多个比特若无逻辑链接,则状态相互独立;

但量子比特的状态不仅可以是 |0⟩、|1⟩,还可以是两者的叠加态,可表示为:

|ψ⟩ = a|0⟩+b|1⟩ 

其中 a 和 b 是复数,称为概率幅,且满足  \left | a \right |^{2} + \left | b \right |^{2} =1 。

量子比特的状态在测量前处于不确定状态,测量时会以 \left | a \right |^{2}的概率坍缩为 |0⟩ ,以 \left | b \right |^{2} 的概率坍缩为|1⟩,多个量子比特可形成纠缠态,状态关联强。

叠加态是量子并行性的基础。一个n量子比特的系统可以同时表示2^n个经典状态的叠加。例如,2个量子比特可以同时处于|00⟩、|01⟩、|10⟩、|11⟩四种状态的叠加。这意味着量子计算机在一次操作中可以同时处理指数级数量的可能性,为解决复杂问题提供了巨大的潜在算力。

量子纠缠主要是指当两个或多个量子比特发生纠缠时,它们的状态会变得密不可分,无论相隔多远,对其中一个量子比特的测量会瞬间决定其他纠缠量子比特的状态。爱因斯坦曾称其为“鬼魅般的超距作用”。纠缠是量子通信(如量子密钥分发)、量子隐形传态和许多量子算法的核心资源,它使得量子系统能够表现出经典系统无法复制的强关联性。

在此基础上,量子计算可以通过精心设计的量子门操作(单量子比特门、双量子比特门等)构成量子电路,利用量子干涉来增强正确答案的概率幅,同时抑制错误答案的概率幅。这类似于波的干涉现象,即相长干涉使波增强,相消干涉使波减弱。量子算法的精妙之处就在于如何编排量子门序列,使得计算路径的干涉效应最终导向期望的输出结果(使得其概率尽可能地大)。

标志性量子算法包括以下几种,在后续也会详细学习:

首先是Shor算法,它由彼得·肖尔(Peter Shor)在1994年提出,主要解决了大整数质因数分解的问题。RSA等广泛使用的公钥加密体系的安全性都是基于大数分解的困难性。Shor算法能在多项式时间内解决此问题,一旦大规模容错量子计算机实现,将对现有密码学体系构成颠覆性威胁,这推动了“后量子密码学”(PQC)的研究。

其次是Grover算法,由洛夫·格罗弗(Lov Grover)在1996年提出,主要解决了在无序数据库中搜索特定项的问题。这个问题在经典计算中的时间复杂度为O(N),平均检查次数为 \frac{N}{2} ,而Grover算法仅需约 √N 次查询时间复杂度为O(√N)时间,提供了二次加速。它虽然不如Shor算法的指数加速震撼,但在优化、密码分析等领域仍有重要应用价值。

最后是量子变分算法(VQE, QAOA)。由于在当前含噪声中等规模量子(NISQ)时代,硬件存在噪声和错误,难以运行前面两种或其他需要长深度电路和高保真度的“纯”量子算法。量子变分算法混合量子计算与经典计算,利用量子处理器和经典优化器,对噪声有一定容忍度,能利用现有NISQ硬件进行实验。其中量子处理器执行一个参数化的浅层量子电路(变分电路),测量输出;经典计算机根据测量结果优化电路参数,以最小化某个目标函数(如分子基态能量)。

量子计算的发展也面临一些挑战:

首先,由于量子态极其脆弱,易受环境噪声(热、电磁辐射等)干扰而逐步失去量子特性,退化为经典行为,保持量子态稳定的时间有限,这个退化的过程叫退相干,保持量子态稳定的时间被称为相干时间。退相干是量子计算中必须克服的最根本、最顽固的障碍之一。

其次,为了克服噪声,需引入冗余量子比特进行纠错。主流方案如表面码(Surface Code)要求大量物理量子比特来编码一个逻辑量子比特(可能需数千甚至上万),对硬件规模和保真度的要求极高。

还有是可扩展性,要制造、操控和连接成千上万个高质量量子比特,并保持高保真度,也是工程上的巨大挑战。

量子计算的主流技术路线包括超导量子比特(IBM, Google)、囚禁离子(IonQ)、光子量子计算(Xanadu)以及中性原子(ColdQuanta)。超导量子比特主要利用超导电路进行实现,制造工艺与半导体兼容,可扩展性好,但需极低温稀释制冷机,且易受电磁噪声干扰;囚禁离子主要是利用电磁场囚禁单个离子,用激光操控其能级作为量子比特,它的相干时间长,量子门保真度高,比特间连接性好,但操控速度相对较慢,规模化集成难度大;光子量子计算主要是利用光子的路径、偏振等来编码量子信息,可以在室温下运行,抗干扰能力强,天然适合量子通信,但实现确定性的相互作用较为困难,规模化挑战大;中性原子主要就是利用光镊阵列囚禁中性原子,用里德堡态实现长程相互作用,其可编程性强,易于构建二维/三维阵列,是近期发展迅速的热门方向。不同技术路线各有优劣,在相干时间、操控精度、可扩展性等方面面临不同挑战。

量子计算并非万能,它更擅长解决具有特定结构的问题,如:量子化学与材料科学,精确模拟分子和材料的量子行为,加速新药、催化剂、电池材料的研发;优化问题,比如物流、金融投资组合、供应链管理中的复杂优化难题的解决;机器学习,开发量子机器学习算法,处理高维数据,加速训练过程;密码学,破解现有加密,同时推动量子安全加密技术的发展。

3 总结

本周对循环神经网络,主要是LSTM相关网络进行了回顾,比较了LSTM、Bi-LSTM与GRU的实战代码与效果,同时学习了量子计算的入门知识,对量子计算有了一个大致的认识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/98065.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/98065.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/98065.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Quat 四元数库使用教程:应用场景概述

基础概念 四元数是一个包含四个元素的数组 [x, y, z, w],其中 x,y,z表示虚部,w 表示实部。单位四元数常用于表示3D空间中的旋转。 1. 创建和初始化函数 create() - 创建单位四元数 应用场景:初始化一个新的四元数对象,通常作为其他…

【Java后端】Spring Boot 多模块项目实战:从零搭建父工程与子模块

如何用 Spring Boot 搭建一个父工程 (Parent Project),并在其中包含多个子模块 (Module),适合企业级项目或者需要分模块管理的场景。Spring Boot 多模块项目实战:从零搭建父工程与子模块在日常开发中,我们经常会遇到这样的需求&am…

企业级AI会议系统技术实现:快鹭如何用AI重构会议全流程

摘要 本文深度解析快鹭AI会议系统的核心技术架构,重点探讨其在语音识别、自然语言处理、数据集成和安全防护等方面的技术实现。通过对比传统会议系统的技术痛点,分析快鹭AI如何通过技术创新实现会议筹备时间减少67%、数据调取速度提升100倍的显著效果。…

【CSS学习笔记3】css特性

1css三大特性 1.1层叠性:就近原则,最新定义的样式 1.2继承性:子标签集成父标签的样式,如文本和字号 行高的继承:不加单位指的是当前文字大小的倍数 body {font: 12px/1.5 Microsoft YaHei;color: #be1313;} div {…

[C语言]常见排序算法①

1.排序的概念及常见的排序算法排序在咱们日常生活中十分的常见,就好比是网上购物的时候通常能够选择按照什么排序,比如价格、评论数量、销量等。那么接下来咱们就来了解一些关于排序的概念。排序:所谓排序,就是使一串记录&#xf…

文献阅读笔记:RS电子战测试与测量技术文档

信息来源:罗德与施瓦茨(Rohde & Schwarz)公司关于电子战(Electronic Warfare, EW)测试与测量解决方案专业技术文档。 该文档由台湾地区应用工程师Mike Wu撰写,核心围绕电子战基础、雷达系统、实战应用及…

别再纠结 Postman 和 Apifox 了!这款开源神器让 API 测试更简单

别再纠结 Postman 和 Apifox 了!这款开源神器让 API 测试更简单🔥 作为一名开发者,你是否还在为选择 API 测试工具而纠结?Postman 太重、Apifox 要联网、付费功能限制多?今天给大家推荐一款完全免费的开源替代方案 ——…

微调神器LLaMA-Factory官方保姆级教程来了,从环境搭建到模型训练评估全覆盖

1. 项目背景 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt)&…

创建其他服务器账号

✅ 在 /home74 下创建新用户的完整步骤1. 创建用户并指定 home 目录和 shellsudo useradd -m -d /home74/USERNAME -s /bin/bash USERNAME-m:自动创建目录并复制 /etc/skel 默认配置文件(.bashrc 等)。-d:指定用户 home 路径&…

【WebGIS】Vue3使用 VueLeaflet + 天地图 搭建地图可视化平台(基础用法)

初始化 创建项目 nodejs 18.0.6npm 9.5.1 引入地图服务 VueLeaflet GitHub - vue-leaflet/vue-leaflet: vue-leaflet 与 vue3 兼容 Vue Leaflet (vue2-leaflet) package.josn安装版本 直接添加四个依赖 {// ..."scripts": {// ...},"depen…

OpenCV 开发 -- 图像阈值处理

文章目录[toc]1 基本概念2 简单阈值处理cv2.threshold3 自适应阈值处理cv2.adaptiveThreshold更多精彩内容👉内容导航 👈👉OpenCV开发 👈1 基本概念 图像阈值处理(Thresholding)是图像处理中的一种基本技术…

单串口服务器-工业级串口联网解决方案

在工业自动化、智能电网、环境监测等领域,传统串口设备(如PLC、传感器、仪表等)的网络化升级需求日益增长。博为智能单串口服务器凭借高性能硬件架构、多协议支持和工业级可靠性,为RS485设备提供稳定、高效的TCP/IP网络接入能力&a…

第 9 篇:深入浅出学 Java 语言(JDK8 版)—— 吃透泛型机制,筑牢 Java 类型安全防线

简介:聚焦 Java 泛型这一“类型安全保障”核心技术,从泛型解决的核心痛点(非泛型代码的运行时类型错误、强制类型转换冗余)切入,详解泛型的本质(参数化类型)、核心用法(泛型类/接口/…

MySQL和Redis的数据一致性问题与业界常见解法

一、为什么会出现数据不一致? 根本原因在于:这是一个涉及两个独立存储系统的数据更新操作,它无法被包装成一个原子操作(分布式事务)。更新数据库和更新缓存是两个独立的步骤,无论在代码中如何排列这两个步骤…

coolshell文章阅读摘抄

coolshell文章阅读摘抄打好基础学好英语限制你的不是其它人,也不是环境,而是自己Java打好基础 程序语言:语言的原理,类库的实现,编程技术(并发、异步等),编程范式,设计模…

数据库造神计划第六天---增删改查(CRUD)(2)

🔥个人主页:寻星探路 🎬作者简介:Java研发方向学习者 📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、 《JAVA(SE)----如此简单&a…

使用Rust实现服务配置/注册中心

Conreg 使用 Rust 实现的配置与注册中心,参考了 Nacos 的设计,简单易用,使用 Raft 保证集群节点数据一致性。 支持的平台: UbuntuCentOS其他常见的 Linux 发行版(我们使用 musl 编译,理论上支持所有主流…

三色标记算法

在 JVM 并发垃圾收集(GC)中,三色标记算法是实现 “GC 线程与用户线程并行执行” 的关键技术,它解决了并发场景下 “如何准确标记存活对象” 的核心问题,是 CMS、G1 等现代收集器的底层基础。一、三色标记的核心&#x…

OpenStack 管理与基础操作学习笔记(一):角色、用户及项目管理实践

OpenStack实验 OpenStack命令 admin-openrc.sh 进入管理员视图查看当前 OpenStack 中的项目列表,验证是否已经登录成功切换用户 修改文件切换用户上传文件切换用户OpenStack 认证管理 实验介绍 通过 OpenStack Dashboard 和 OpenStack CLI 两种方式创建角色、用户、…

直接查找试卷且可以免费下载

有什么网站可以直接查找试卷且可以免费下载? SearXNG开源元搜索引擎 This website shows the SearXNG public instances searx一个可定制的搜索引擎 分享一个基于Blockstack的DApp-searx,一个可定制的搜索引擎。 1- 链接 官网地址:https://searx.worl…