关于量子神经网络的思考
其实在写这篇文章之前想了很多,主要是想法太超前,有可能颠覆未来机器智能行业甚至是影响世界。
1、计算机的历史
计算机的历史可以追溯到20世纪中叶,最早的电子计算机如ENIAC和EDVAC采用了冯·诺依曼架构(John von Neumann Architecture)。该架构的核心思想是将程序和数据存储在同一内存中,使得计算机能够灵活地执行各种任务。这一设计理念奠定了现代计算机的基础,并引入了中央处理器(CPU)、内存、存储器和输入输出设备等关键组件。冯·诺依曼架构的提出使得计算机能够以更高的效率执行计算任务。当时,其实还有另一个架构:哈佛架构,只不过在当时的环境哈弗架构的优势没显现出来。然而,随着计算需求的不断增加,传统架构在处理速度和存储能力方面的限制逐渐显露出来,尤其是面对深度学习的训练与推理上,冯·诺依曼架构太慢了。于是有人开始研究哈佛架构。因为哈佛架构更关注计算速度,与冯·诺依曼架构相对,哈佛架构将指令存储和数据存储分开,允许同时访问指令和数据,从而提高性能。但是这两种方式都不能显著提升计算机性能。
2、量子纠缠
粒子的量子状态相互依赖,即使它们被分隔得很远,测量一个粒子的状态会立即影响到另一个粒子的状态。
我解释一下,可以这样粗略的理解,有两个粒子,这两个粒子,无论距离多远,当一个粒子发生变化,另一个粒子会定向发生变化。比如,粒子A最初的状态我们记为0,粒子B最初的状态我们记为1,假如我们通过外力让粒子A状态变为了1,那么瞬时粒子B的状态就会变为0,而粒子B这种变化是无视距离的。其实,想到这里估计你就立刻能想到很多电影桥段都能实现了,比如瞬移。但是我们今天的话题不讨论这个,感兴趣的小伙伴可以看看网上。我今天想提出一种新的概念:量子神经网络。
3、提出量子神经网络之前的想法:
量子计算机的架构目前有多种,还在百花齐放的环节,不知道最终会花落谁家。但是,这个我们不关心,我们关心假如量子计算机普及之后的故事。
大模型的显著缺点是训练资源和速度。我一直在想,你看我们无论在使用transformer还是之前的深度学习模型,一直都在优化网络结构和硬件配置,为的是什么,为的是加快神经网络的训练速度和推理速度,在设备条件优化到极致的时候,我们都知道一种算法或神经网络亦或是其他方法论都有一个训练速度的“上限”,为什么有上限呢?拿神经网络的训练举例,一个模型,为什么训练时间要那么久?因为训练是全量调参。为什么不能部分调参?因为用于反向传播的损失是基于全部的参数的损失,没法调一部分,这就是神经网络的限制。简单一句话概括:深度学习模型在训练过程中面临着全量记忆的问题。也正因为神经网络本身的局限性,所以当参数量足够大时,训练时间和训练资源异常高。
这个训练、推理时间问题,前人的解决思路一直都是优化算法结构亦或是优化硬件配置。但即便这样也只能减少时间,不能从本质解决问题。
4、 量子神经网络的探索
我愿称之为一种“新兴”的探索方式,量子神经网络我是这样定义的:结合量子计算的优势与神经网络的灵活性,利用量子比特的叠加和纠缠特性,能够在量子态中存储和处理信息,从而实现更高效的计算。就目前的神经网络全部使用量子纠缠技术做一遍,在做的过程中我能考虑到的各个方面:
1. 量子神经网络的构建
量子比特:量子神经网络使用量子比特而不是经典比特来存储和处理信息。每个量子比特可以处于多个状态的叠加中,可以同时存储更多的信息。
量子门:在量子神经网络中,量子门用于执行操作,类似于经典神经网络中的激活函数。通过量子门的组合,可以实现复杂的量子计算。
2. 量子纠缠的利用
信息传递:量子纠缠允许两个或多个量子比特之间的状态相互依赖,改变一个量子比特的状态会瞬间影响到其他纠缠的量子比特。可快速信息交换、并行处理。
量子态的共享:在量子神经网络中,可通过量子纠缠实现多个神经元(量子比特)之间的状态共享,提高信息存储和处理的效率。
3. 量子算法
量子算法的设计:开发专门的量子算法来处理神经网络的训练和推理过程。如,量子版本的梯度下降算法可能会利用量子并行性来加速模型的训练。
量子态的优化:量子神经网络的训练过程可能涉及对量子态的优化,而不是传统的参数更新。需要新的数学工具和优化方法。
4. 量子纠错和稳定性
量子纠错:量子计算中的信息容易受到噪声和干扰,因此需要有效的量子纠错机制来保持量子态的稳定性。这块对于构建可靠的鲁棒性高的量子神经网络至关重要。
稳定性和可扩展性:量子神经网络的设计需要考虑如何在大规模系统中保持稳定性和可扩展性。
5. 量子计算资源
量子计算机的可用性:目前,量子计算机仍处于实验阶段,实际可用的量子比特数量有限。要实现量子神经网络的应用,需更强大和稳定的量子计算资源。
6. 实现方案的设想
量子态编码:设计一种方案,将经典神经网络的权重和激活函数映射到量子态上,使得神经网络的计算可以在量子计算机上进行。
量子训练过程:开发量子训练算法,通过量子算法优化神经网络的参数,利用量子并行性加速训练过程。
量子-经典混合系统:考虑将量子计算与经典计算相结合,利用量子计算处理部分复杂的计算任务,同时保持经典计算的灵活性。
长太息以掩涕兮,
哀民生之多艰。
吾将上下而求索。
相关文章:
关于量子神经网络的思考
其实在写这篇文章之前想了很多,主要是想法太超前,有可能颠覆未来机器智能行业甚至是影响世界。 1、计算机的历史 计算机的历史可以追溯到20世纪中叶,最早的电子计算机如ENIAC和EDVAC采用了冯诺依曼架构(John von Neumann Archit…...
注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
这是小卷对分布式系统架构学习的第9篇文章,第8篇时只回答了注册中心的工作原理的内容,面试官的第二个问题还没回答,今天再来讲讲各个注册中心的原理,以及区别,最后如何进行选型 上一篇文章:如何设计一个注册…...
使用 Conda创建新的环境遇到的问题
下载速度很慢 1、更新 conda update -n base -c defaults conda2、清理缓存 conda clean --all解决方法 方法 1:关闭严格的渠道优先级 检查是否开启了严格渠道优先级: conda config --show channel_priority 如果返回 strict,说明启用了严…...
Flutter项目开发模版,开箱即用(Plus版本)
前言 当前案例 Flutter SDK版本:3.22.2 本文,是由这两篇文章 结合产出,所以非常建议大家,先看完这两篇: Flutter项目开发模版: 主要内容:MVVM设计模式及内存泄漏处理,涉及Model、…...
Spring Boot + Jasypt 实现application.yml 属性加密的快速示例
Jasypt(Java Simplified Encryption)是一个专为Java应用程序设计的开源加密库,旨在简化加密和解密流程,保护敏感数据如密码、API密钥等。 jasypt-spring-boot-starter允许开发者在Spring Boot应用中轻松地实现加密和解密功能。 本篇介绍使用 jasypt-spring-boot-starter 以…...
arcgisPro加载CGCS2000天地图后,如何转成米单位
1、导入加载的天地图影像服务,一开始是经纬度显示的。 2、右键地图,选择需要调整的投影坐标,这里选择坐标如下: 3、点击确定后,就可以调整成米单位的了。 4、切换后结果如下: 如有需要,可调整成…...
多模态论文笔记——GLIDE(DALL·E 2模型核心部件)
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍了OpenAI的DALLE 2模型中重要的组成部分,用于图像生成的GLIDE模型及其论文。 文章目录 论文背景扩散模型(Diffusion Models&…...
mybatisPlus动态sql语句 ${ew.sqlSegment}
mybatis-plus的${ew.sqlSegment},${ew.sqlSelect},${ew.customSqlSegment} ew是mapper方法里的Param(Constants.WRAPPER) Wrapper queryWrapper对象 简答介绍: ${ew.sqlSelect}:拼接select SQL主体 Select("select ${ew.…...
【工具】HTML自动识别用户正在讲话 以及停止讲话
【工具】HTML自动识别用户正在讲话 以及停止讲话 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>语…...
小程序与内嵌网页的数据通信
小程序与内嵌网页的数据通信 前言 微信小程序提供了web-view组件,允许开发者在小程序中嵌入网页。然而,由于小程序和网页运行在不同的环境中,它们之间的通信就需要依赖特定的机制来实现。然而我们日常的需求中,很多的时候都涉及…...
Android - NDK:编译可执行程序在android设备上运行
在android开发中,调试时会把C代码直接编译成可执行程序,运行在android设备上以确认其功能是否正常。 1、基于NDK编译可执行文件 2、push到 /data/local/tmp目录下 3、设置权限,执行。 ndk工程中build.gradle设置 groovy plugins {id com.a…...
快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)
1 关于Let’s Encrypt与Cerbot DNS验证 Let’s Encrypt 是一个提供 免费证书 的 认证机构。 Cerbot 是 Let’s Encrypt 提供的一个工具,用于自动化生成、验证和续订证书。 DNS验证是 Cerbot 支持的验证方式之一。相比 HTTP 验证或 TLS-ALPN 验证,DNS …...
shell技能树-扩展变量
扩展变量是指在shell脚本中用于实现条件判断和变量操作的特殊语法。 表格总结: 前三个 存在或者非空时,优先使用待测变量,否则使用默认值(或报错)。 最后一个 存在或者非空时,优先使用默认值,…...
基于RedHat9部署WordPress+WooCommerce架设购物网站
系统版本信息:Red Hat Enterprise Linux release 9.2 (Plow) WordPress版本信息:wordpress-6.6.2-zh_CN WooCommerce版本信息:woocommerce.9.5.1 环境架构:LNMP(RedHat9nginx1.20.1PHP 8.0.27MySQL8.0.30) …...
LabVIEW瞬变电磁接收系统
利用LabVIEW软件与USB4432采集卡开发瞬变电磁接收系统。系统通过改进硬件配置与软件编程,解决了传统仪器在信噪比低和抗干扰能力差的问题,实现了高精度的数据采集和处理,特别适用于地质勘探等领域。 项目背景: 瞬变电磁法是探…...
Docker入门篇[SpringBoot之Docker实战系列] - 第534篇
历史文章(文章累计530) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 《…...
Linux系统扩容根 (/) 文件系统空间
[rootlocalhost ~]# df -Th / # 查看当前根文件系统使用情况 [rootlocalhost ~]# lsblk # 查看设备的挂载情况 [rootlocalhost ~]# lvdisplay # 查看逻辑卷使用情况 # 操作磁盘分区表 [rootlocalhost ~]# fdisk /dev/nvme0n1 欢迎使用 fdisk (util-linux 2.37.4…...
JavaScript之JQuery
JQuery W3C 标准给我们提供了⼀系列的函数, 让我们可以操作: jQuery是⼀个快速、简洁且功能丰富的JavaScript框架,原⽣的JavaScript提供的API操作DOM元素时, 代码⽐较繁琐, 冗⻓. 我们学习使⽤JQuery来操作⻚⾯对象,如 • ⽹⻚内容 • ⽹⻚结构 …...
JAVA学习记录2
文章为个人学习记录,仅供参考,如有错误请指出。 如何开发第一个JAVA程序? 开发java程序主要分为三个步骤: 1.编写代码 2.编译代码 3.运行代码 1.编写代码 编写java的工具有很多,文本编辑器、Notepad、Visual Stu…...
计算机网络、嵌入式等常见问题简答
1.嵌入式系统中经常要用到无限循环,如何用C编写死循环 答:while(1){}或者for(;;) 2.程序的局部变量存在于哪里,全局变量存在于哪里,动态申请数据存在于哪里。 答:程序的局部变量存在于栈区;全局变量存在…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
Java多线程实现之Runnable接口深度解析
Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...
