想象你是一位登山者,背着一小袋干粮去爬一座陌生的山。老派的登山者有个习惯:每走过一段路,就撕掉地图上已经走过的部分,好减轻负重。他们到山顶时,手里只剩下最后一张纸——“山顶即终点”。可当他们想下山回家时,却发现自己完全不记得来时的路,只能重新探路、重新翻山,耗费双倍体力。而聪明的登山者会沿途留下小石堆作为路标,下山时只需沿着石堆倒着走回去,一步冤枉路都不用走,体力消耗几乎为零。这就是可逆计算与低功耗AI的全部秘密:计算过程中,能不能把“来路”完整地留着,以便随时原路返回? 传统计算机每做一次运算,都会悄悄擦掉大量中间信息——就像烧掉地图。1961 年物理学家兰道尔(Landauer)证明:擦除信息是有“物理代价”的,每擦掉 1 比特,至少要消耗一份与温度相关的能量。这就是“信息擦除要交税”。可逆计算正是从逻辑层到硬件层都避免擦除信息,让计算像“有路标可回头的登山”一样,把能量省到物理允许的最低线。在 AI 时代,训练大模型动辄耗费数十兆瓦电力,可逆计算与低功耗 AI 因此成为未来计算范式的前沿方向。

岗位关联

职业价值:掌握可逆计算的原理与低功耗 AI 的落地路径,能帮你在大模型训练、端侧推理芯片、量子 AI 等前沿赛道,做出真正“省电到极致”的架构决策。

目录
  1. 可视化演示
  2. 核心概念:有来有回才叫“可逆”
  3. 理论根基:物理告诉我们要么忘路,要么耗能
  4. 可逆逻辑门:会掉头的三岔路口
  5. 可逆算法:带检查点的登山日记
  6. 低功耗AI:可逆训练与节能推理
  7. 硬件实现:从“放热”到“回收”的工程化
  8. 量子未来:唯一可逆门的极致舞台
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

通过三模式演示可逆计算核心原理:Toffoli可逆逻辑门双射映射、可逆残差网络前向与反向重建、Landauer功耗对比,交互切换查看各环节。

本节配有交互动效(进入视口后自动加载,约 3KB)。

可逆逻辑门双射映射 Toffoli门输入输出一一对应 无信息擦除实现可逆计算 f: {0,1}\u207f \u2192 {0,1}\u207f 可逆门满足双射函数,输入可从输出完全恢复。

核心概念:有来有回才叫“可逆”

还是那位登山者。如果他到达山顶后,手里有一份完整的“反向路径图”,就能一步步倒着走回山脚,每一段路都严格可回溯——这就是可逆计算最直观的图景。可逆计算的定义并不复杂:每一个计算步骤都把输入变成输出,且存在一个唯一的逆步骤,能把输出还原成输入。 在数学上,这要求变换函数是“一一对应”的,专业术语叫双射。

传统程序恰恰相反。你写 temp = a + b; a = b; b = temp; 之后,旧的 a 值就被覆盖丢失了。覆盖和丢弃,就是“逻辑不可逆”:信息被擦除了,再也找不回来。可逆计算要求每个赋值、每个逻辑门都保留完整来路,谁也别想偷偷擦除信息。

实现可逆计算的关键,是设计出逻辑可逆的运算单元。如果一个函数对两个不同的输入给出相同的输出,那么看到输出时你无法确定原来的输入是什么,这条路就断了。逻辑可逆的条件简单而严格:输入输出必须双射,输出位数不能少于输入位数。

回到我们的登山比喻:可逆计算不是“记得住路”,而是“每一步都允许你倒回去重走”。这种设计看似多占了一些“路标存储”,却为后续省下巨大的能源开销——这正是低功耗 AI 的基石。

f−1(f(x))=x\displaystyle f^{-1}\big(f(x)\big)=x
只要每一步计算都能通过逆运算无损退回去,整条计算链就像一道有来有回的山路,不会因为“烧地图”而多付能量。
  1. 内层 f(x)前向计算把输入 \(x\) 变成输出 \(y\),这是登山上行的过程。
    y=f(x)y=f(x)
  2. 外层 f^{-1}逆函数把 \(y\) 还原成 \(x\),相当于沿原路倒着下山。
    x=f−1(y)x=f^{-1}(y)
  3. 复合结果正向加反向等于什么都没发生,这就是可逆的数学本质。
    f−1(f(x))=xf^{-1}\big(f(x)\big)=x

理论根基:物理告诉我们要么忘路,要么耗能

为什么忘掉来路要付出能量代价?故事要从 1961 年说起。IBM 的物理学家罗尔夫·兰道尔(Rolf Landauer)提出了一条后来以他名字命名的原理:擦除 1 比特信息,至少需要消耗 \(k_{\mathrm{B}}T\ln2\) 的能量。 这里的 \(k_{\mathrm{B}}\) 是玻尔兹曼常数,\(T\) 是环境温度(开尔文)。

这条原理的直觉来自热力学第二定律:信息是物理的,信息熵与热熵可以互相转化。当你把一位信息“清零”时,系统可能的微观状态数减少了一半,这部分消失的信息熵必须作为热量排放到环境中。室温下,擦除 1 比特的最小代价大约是 \(2.87\times10^{-21}\) 焦耳。听起来微不足道?但现代芯片每秒执行上亿亿次运算,其中大量操作在擦除中间位,累积起来就是满手可感的热量。

如果计算完全可逆,即信息从不被擦除,那么理论上运算耗能可以无限趋近于零——物理定律不说“不行”。这就是可逆计算被称为“未来范式”的根本原因:它不是一种锦上添花的节能技巧,而是直接叩击能耗的物理下限。

从登山故事来看,兰道尔原理就是“烧掉地图要额外花体力”的物理版本。普通计算机每覆盖一个变量、每丢弃一个进位位,都在偷偷“烧地图”。可逆计算的目标,就是让整支登山队从出发到回营,一张地图都不烧。

Emin⁡=kB Tln⁡2\displaystyle E_{\min}=k_{\mathrm{B}}\,T\ln 2
室温下每擦除 1 比特信息,至少要向环境排放约 \(2.87\times10^{-21}\) 焦耳热量,这是“信息税”的最低征收额。
  1. 最小能量 E_min擦除 1 比特信息所必须支付的最小能量,是理论下限。
    Emin⁡E_{\min}
  2. 热噪声预算 \(k_{\mathrm{B}}T\)温度越高,粒子热运动越剧烈,把信息从“有序”变为“无序”的代价越大。
    kB Tk_{\mathrm{B}}\,T
  3. 熵变化 ln2二进制信息只有 0 和 1 两种状态,擦除一位对应熵减少 \(\ln2\)。
    ln⁡2\ln 2

可逆逻辑门:会掉头的三岔路口

登山的路径上总会有岔路口,登山者需要在路标上记录“我从哪条岔路来”。在数字电路里,门电路就是岔路口。普通的 AND 门有 2 个输入、1 个输出:当输出为 0 时,你无法判断输入是 \(00\)、\(01\) 还是 \(10\)——信息在门口被擦掉了,这就是逻辑不可逆门。

可逆逻辑门则是“能掉头的三岔路口”。最著名的有两个:Toffoli 门(控制-控制-非门)和 Fredkin 门(控制交换门)。Toffoli 门有 3 个输入和 3 个输出,前两个输入原样通过,第三个输入只有当前两个输入都为 1 时才翻转。因为输出位数和输入位数相同,且映射是一一对应的,所以它天然可逆——再作用一次同一个门,就能恢复原状。

Fredkin 门同理:它有一个控制位和两个数据位。控制位为 0 时两个数据位不变,控制位为 1 时两个数据位交换。交换操作自己就是自己的逆操作,所以同样可逆。用这些可逆门搭起来的电路,可以做到整条电路上没有任何信息被擦除。

如果说普通电路是“只上山不下山”的单行道,可逆电路就是布满双向路标的完整山路网。虽然 Toffoli 门需要的晶体管比 AND 门多,但它买到的是一件奢侈品:永不擦除信息的权利。

T(a,b,c)=(a, b, c⊕(a∧b))\displaystyle T(a,b,c)=\big(a,\ b,\ c\oplus(a\wedge b)\big)
Toffoli 门把三个比特映射到三个比特,任何输出都能唯一反推出三个输入,这就是“沿原路返回”的电路级实现。
  1. 前两个比特原样通过\(a\) 和 \(b\) 像两条笔直的山路,不做任何改变。
    a, ba,\ b
  2. 控制翻转当且仅当 \(a\) 和 \(b\) 都是 1 时,第三个比特 \(c\) 翻转,用异或符号表示。
    c⊕(a∧b)c\oplus(a\wedge b)
  3. 自逆性质同一个 Toffoli 门再作用一次,翻转的比特又被翻回来。
    T2=IT^{2}=I

可逆算法:带检查点的登山日记

有了可逆门,接下来需要把复杂算法整个改造成可逆的。加法器就是一个经典例子。普通加法器执行 \(a+b\) 时,会丢弃进位信息;可逆加法器则把进位作为一个额外输出保留,让整个加法过程可以从结果反推出各项输入。这种“输出不丢位”的设计,叫无损映射。

但完全保留每一步的中间状态,存储开销会随计算步数线性增长——登山者若在每个脚印下都埋一块石碑,行李就太重了。1980 年代,计算机科学家 Charles Bennett 提出了优雅的时空权衡方案:不必保存每一步的中间结果,只需每隔一段距离保存一个“检查点路标”。需要回溯时,先回到最近的路标,再从那一段重算过去,就能恢复任意中间状态。

Bennett 方法的核心思想是:把一段很长的计算分成若干段,只保存每段边界的快照。这样空间占用从 \(O(n)\) 降到 \(O(\sqrt{n})\),而时间代价只是从“走一遍”变成“分段重走+倒放”,整体仍是 \(O(n)\)。在可逆计算中,这种“用时间换空间”的折中是极其重要的工程策略。

可逆算法在 AI 中的意义尤为直接:深度学习训练本质上就是“走上去再走下来”的过程,而 Bennett 式的检查点技巧,已经悄悄用在了大模型的梯度重计算(gradient checkpointing)里。

S=O(n ),T=O(n)\displaystyle S=O\big(\sqrt{n}\,\big),\quad T=O(n)
保存 \(\sqrt{n}\) 个检查点路标,就能在任何位置快速恢复现场;总计算时间仍是 \(O(n)\),空间却大幅节省。
  1. 总步数 n这是一整条登山路线的全部里程。
    nn
  2. 检查点数量 S只保存 \(\sqrt{n}\) 个路标,而不是每步都埋石碑。
    S=O(n)S=O\big(\sqrt{n}\big)
  3. 总时间 T向前走一遍,必要时退回检查点再重走一段,整体时间仍线性。
    T=O(n)T=O(n)

低功耗AI:可逆训练与节能推理

现在我们把镜头对准 AI 训练。一次神经网络训练包含两个阶段:前向传播与反向传播。用登山的语言说,前向传播是队伍从山脚爬上山顶,反向传播则是沿着梯度“原路下山”调整路径。传统的反向传播算法有一个坏习惯:它会把前向传播中每一层的中间激活值全部保存下来,等下山时再拿出来用。这相当于登山时每走一步都雇一个人扛着那块路标石碑——内存占用和存储功耗都非常大。

可逆残差网络(RevNet)等架构打破了这一惯例。它把网络设计成可逆耦合层:前向时保存少得多的信息,反向传播时利用可逆结构现场重算被“丢弃”的中间值。这样一来,存储中间激活的巨额开销消失了,内存带宽和能耗同步下降。这就是可逆训练的核心思路:不擦除,而是“算回去”。

推理阶段同样受益。端侧 AI 芯片(耳机、手表、无人机)如果用可逆逻辑电路执行推理,每次运算都保留来路、回收能量,电池续航可以显著提升。可逆推理与可逆训练合起来,构成了低功耗 AI 的两大支柱:训练端省显存省电,推理端省电池发热。

回到登山比喻:传统训练队是一支背着所有路标的臃肿队伍,可逆训练队则是轻装简行、只在关键路口留标记的敏捷小队。显然,后者能走得更远、耗能更少——这正是大模型时代最需要的特质。

Etrain=Efwd+Ebwd,Econv=Efwd+Esave+Ebwd\displaystyle E_{\text{train}}=E_{\text{fwd}}+E_{\text{bwd}},\qquad E_{\text{conv}}=E_{\text{fwd}}+E_{\text{save}}+E_{\text{bwd}}
可逆训练把能耗从“前向+存储+反向”压缩为“前向+反向”,省掉的正是存储中间激活的那一长段“扛石碑”开支。
  1. 前向与反向能量训练必须走完上山和下山两段路,二者不可省略。
    Efwd, EbwdE_{\text{fwd}},\ E_{\text{bwd}}
  2. 保存中间激活的代价传统网络每层输出都临时保存,是额外能耗黑洞。
    EsaveE_{\text{save}}
  3. 可逆训练的节俭账本只保留必要路标,中间值靠逆运算重算。
    Etrain=Efwd+EbwdE_{\text{train}}=E_{\text{fwd}}+E_{\text{bwd}}

硬件实现:从“放热”到“回收”的工程化

软件层面的可逆算法,最终必须落到硬件上才有意义。现代 CMOS 芯片的动态功耗公式是 \(P=\alpha C V^{2} f\),其中 \(\alpha\) 是翻转率,\(C\) 是负载电容,\(V\) 是电压,\(f\) 是时钟频率。传统电路每个时钟周期都把电容充放电,电荷最终在对地放电时变成热量白白耗散——相当于瀑布砸进深潭,势能一去不回。

绝热电路(adiabatic circuit)改变玩法:它用缓慢上升的斜坡电压给逻辑门供电,计算完成后,电荷不是对地放掉,而是被“抽回”电源。这就像给瀑布装上水轮机和回水管,让水能循环利用。电荷的释放和回收都极其缓慢平缓,因此 \(CV^{2}\) 中电压的有效损耗大幅降低,能耗可以逼近可逆的理想值——代价是速度变慢。

更前沿的还有超导器件:利用约瑟夫森结的超导特性,在接近绝对零度的环境里,单次逻辑操作的能耗比 CMOS 低几个数量级。光计算也值得一提:光子传播时几乎不携带热量,利用相位共轭等光学手段可以实现光路的“原路返回”,是可逆计算的天然载体。

登山者视角下,传统芯片在每个台阶上都要把背包里的石头扔掉再捡新石头,而绝热电路则是建了一条“重力储能索道”:石头滑下去产生的能量被收回来,继续用于下一次攀升。硬件层的可逆化,就是在物理世界真刀真枪地建造这条索道。

P=α C V2f\displaystyle P=\alpha\,C\,V^{2}f
传统芯片的功耗大头来自“给电容充一次电、再把电放掉”的擦除式操作,绝热电路则把电荷回收到电源,让同一份能量反复使用。
  1. 翻转率 α每个时钟周期里发生信号翻转的比例,翻转即擦除旧值。
    α\alpha
  2. 电容与电压平方对负载电容充放电所消耗的能量,是动态功耗的主要来源。
    CV2C V^{2}
  3. 时钟频率 f每秒翻转的次数,频率越高,擦除越频繁,功耗越大。
    ff

量子未来:唯一可逆门的极致舞台

如果说可逆计算是登山者手中最精细的山路图,那么量子计算就是一张拥有无数平行世界分岔的“超级地图”。量子力学的基本演化规律由酉矩阵(Unitary Matrix)描述:量子比特的状态通过酉变换演化,而这个变换的共轭转置 \(U^{\dagger}\) 恰好就是它的逆变换。因此,量子计算在数学结构上天然可逆——只要不发生测量坍缩,量子态就永远不会被擦除。

量子计算机的每一个逻辑门都是可逆门(如量子 CNOT 门、Toffoli 门),这与经典可逆计算完美同构。量子 AI(量子机器学习)正是利用这种可逆的酉演化,在叠加态中同时探索大量假设空间。HHL 算法、量子神经网络等前沿工作,都建立在“量子演化不擦除信息”这一根本优势之上。

当然,工程现实依然骨感:量子比特需要极低温环境,量子纠错需要大量冗余物理比特,控制电路仍在消耗大量能量。但从原理上看,量子计算是“可逆计算”理念的终极形态——它把不擦除信息这条原则贯彻到了物理定律的最深处。

从经典可逆计算到量子 AI,人类其实在重复同一个古老智慧:不要扔掉来时的地图。量子未来不是天降神兵,而是可逆计算思想沿着物理规律一路走到黑的结果——沿着这条有路标的山路,计算终将逼近零能耗的极限。

U†U=I\displaystyle U^{\dagger}U=I
酉矩阵与其共轭转置相乘等于单位矩阵,意味着量子演化的每一步都可以“倒带”回去,量子计算在根基上就是可逆的。
  1. 演化算子 U量子态在希尔伯特空间中按酉矩阵旋转。
    UU
  2. 共轭转置 \(U^{\dagger}\)时间反演对应的逆矩阵,把演化后的量子态退回去。
    U†U^{\dagger}
  3. 乘积等于单位矩阵正向演化与反向演化复合后等于什么都没做,可逆性成立。
    U†U=IU^{\dagger}U=I

AI 应用场景

边缘AI推理芯片

阶段:推理部署

解决的问题:传统端侧 AI 芯片在语音唤醒、手势识别等场景中频繁做矩阵乘法和中间激活缓存,信息擦除带来的动态功耗让电池迅速见底。可逆计算从逻辑门层面回收电荷,显著降低推理功耗。

具体案例:一款 TWS 耳机里的语音唤醒芯片,传统方案待机功耗约 3mW,改用可逆逻辑电路后,关键路径上的信息几乎不擦除,功耗降至 0.5mW 以下,续航从 6 小时提升到 15 小时。用户在同样大小电池下获得了接近三倍的续航收益。

大模型训练节能

阶段:模型训练

解决的问题:训练 GPT 级别的大模型时,前向传播中间激活值占用数百 GB 显存,存储和搬运这些数据的能耗极高。可逆残差网络和梯度检查点技术通过“反向时重算”代替“存储激活”,把显存压力转化为少量计算。

具体案例:某实验室训练 130 亿参数的中文大模型,采用 RevNet 风格的可逆 Transformer 层后,训练显存占用从 320GB 降至 180GB,单卡记忆带宽能耗下降约 40%,整体训练电费节省近三成,同时还避免了因显存溢出导致的频繁断点重启。

量子AI与碳中和计算

阶段:前沿算法研究

解决的问题:传统冯·诺依曼架构在处理组合优化、分子模拟等 AI 任务时,信息擦除能量消耗巨大。量子计算天然可逆,理论上能以更低的能耗完成特定线性代数运算,为 AI 提供“可逆加速通道”。

具体案例:制药公司在量子退火机上运行量子机器学习模型,预测蛋白质折叠的候选构象。得益于酉演化的可逆性,每次迭代的能量开销远低于经典模拟退火,单轮筛选能耗降低约 60%,加快了新药研发的“绿色计算”进程。

Python 演示

python42 行
import numpy as np class ReversibleCoupling:    """最小可逆神经网络层: x = [x1, x2] -> y = [x1, y2]    正向和逆向共享同一套参数, 逆向不读任何中间激活"""     def __init__(self, input_dim, out_dim):        self.W1 = np.random.randn(input_dim, out_dim) * 0.01        self.b1 = np.random.randn(out_dim) * 0.01        self.W2 = np.random.randn(out_dim, input_dim) * 0.01        self.b2 = np.random.randn(input_dim) * 0.01     def forward(self, x):        x1, x2 = np.split(x, 2)        f = np.maximum(np.dot(x1, self.W1) + self.b1, 0)        y2 = x2 + np.dot(f, self.W2) + self.b2        return np.concatenate([x1, y2])     def backward(self, y):        x1, y2 = np.split(y, 2)        f = np.maximum(np.dot(x1, self.W1) + self.b1, 0)        x2 = y2 - np.dot(f, self.W2) - self.b2        return np.concatenate([x1, x2])     def apply_inverse(self, y):        return self.backward(y)  def main():    np.random.seed(42)    model = ReversibleCoupling(4, 4)    x = np.array([0.7, -1.2, 0.3, 0.9])    y = model.forward(x)    x_rec = model.apply_inverse(y)    err = np.max(np.abs(x - x_rec))    print("前向输出:", y)    print("最大恢复误差:", err)    print("可逆验证:", "通过" if err < 1e-9 else "失败")  if __name__ == "__main__":    main()
目的:实现一个可逆耦合网络层,演示“正向计算”与“逆向还原”完全无损,这是可逆残差网络和可逆训练的核心积木。
  1. x1, x2 = np.split(x, 2)把输入切成前后两半,构成可逆结构的两个数据流。
  2. f = np.maximum(np.dot(x1, self.W1) + self.b1, 0)用第一半数据生成一个非线性变换,作为“路标”。
  3. y2 = x2 + np.dot(f, self.W2) + self.b2第二半数据加上变换结果,正向走一步。
  4. x2 = y2 - np.dot(f, self.W2) - self.b2逆向时减去同样的变换,精确还原,不需要保存中间激活值。
  5. err = np.max(np.abs(x - x_rec))检验前向与反向的循环误差,理论上应为 0。

常见误区

误区学完可逆计算后,我心想“这不就是把所有中间变量都存下来吗?反正显存大、硬盘多,多存点就能可逆了。”于是我在代码里到处加缓存。

正解可逆计算的本质不是“存储”,而是“存在唯一逆运算”。保存中间结果只是给逆运算提供数据,但如果操作本身是逻辑不可逆的(例如 AND 门、取模运算),就算把中间值全存下来,依然无法从输出还原输入。真正的可逆要求每一步变换都是双射,即输出能唯一决定输入。

为何常见:因为人们容易把“记录”和“可逆”混为一谈,以为信息没丢就是可逆,忽略了映射关系本身是否一一对应。

误区兰道尔极限算出每擦除 1 比特才耗 \(2.87\times10^{-21}\) 焦耳,这么小的数字,说明可逆计算在工程上没意义。

正解单个比特的擦除能耗确实极小,但现代芯片每秒运行数十亿次操作,累积效应非常可观。实际上当前 CMOS 芯片的能耗距离兰道尔极限还有 3~5 个数量级的差距,可逆计算的目标正是填补这个鸿沟。绝热电路、超导数字逻辑等已经在实验室和特种芯片中落地,低功耗 AI 训练也已经在用可逆思想节省显存和电能。

为何常见:人们容易低估“微小数字×海量操作”的量级放大效应,同时高估了理论到工程的距离。

误区Toffoli 门比 AND 门复杂那么多,可逆电路肯定又慢又占面积,得不偿失。

正解单个可逆门确实更复杂,但可逆计算的优势在于整体能耗,而不是单门速度。绝热电路用速度换能量回收,超导器件在低温下可以高速低耗运行。更重要的是,在 AI 训练场景,可逆网络省下的显存带宽能耗远超额外计算的代价。

为何常见:人们习惯用传统电路的“面积+延迟”来评价电路,忽略了能耗维度这一可逆计算的主战场。

误区量子计算的演化是酉矩阵,天然可逆,所以量子 AI 马上就能实现零功耗计算。

正解量子比特的演算确实可逆,但工程系统包含大量不可逆环节:超导量子比特需要稀释制冷机维持 15mK 低温,制冷机本身的功耗高达千瓦级;量子纠错也需要大量冗余比特和控制电路。量子 AI 的低功耗优势必须在“达成纠错阈值、控制电路集成化”之后才能显现。

为何常见:把数学模型的理想性质直接等同于物理系统的实际能耗,忽略了外围设备和工程开销。

误区AI 功耗高,主要靠 3nm、2nm 先进制程去降,可逆计算这种“冷门套路”没必要学。

正解制程微缩正在逼近物理极限,单纯靠缩小晶体管已经很难继续显著降低电压。可逆计算提供了一条与制程无关的节能路径:从算法层用可逆训练减少中间存储,从架构层用绝热电路回收电荷。软硬协同的可逆设计,正是后摩尔时代低功耗 AI 的重要答案。

为何常见:行业长期宣传“制程决定功耗”,让从业者忽略了算法和架构层面的巨大优化空间。

面试题

Q1. 可逆计算最主要的动机是什么?

单选题 · easy

  • A.让代码可读性更好
  • B.从原理上降低能耗← 正确答案
  • C.让模型准确率更高
  • D.减少算法时间复杂度

答案:B。可逆计算通过避免信息擦除来逼近兰道尔极限,核心目标是降低能耗。可读性、准确率、时间复杂度与可逆计算无直接因果关系,故选 B。

Q2. 根据兰道尔原理,擦除 1 比特信息的最小能耗取决于什么?

单选题 · easy

  • A.CPU 频率
  • B.环境温度← 正确答案
  • C.内存大小
  • D.硬盘读写速度

答案:B。兰道尔原理给出公式 \(E=k_{\mathrm{B}}T\ln2\),能耗与环境温度 \(T\) 直接相关。频率、内存、硬盘与信息擦除的物理下限无关,故选 B。

Q3. 以下哪些门属于可逆逻辑门?

多选题 · mid

  • A.Toffoli 门← 正确答案
  • B.Fredkin 门← 正确答案
  • C.AND 门
  • D.OR 门

答案:AB。Toffoli 门和 Fredkin 门都是三输入三输出且映射为双射的可逆门。AND 门和 OR 门都有两个输入一个输出,输出无法唯一反推输入,是典型不可逆门,故选 A、B。

Q4. 一个计算函数可逆的数学必要条件是什么?

单选题 · mid

  • A.函数单调递增
  • B.函数是双射← 正确答案
  • C.函数连续可导
  • D.函数是分段函数

答案:B。双射保证输入与输出一一对应,任何输出都能唯一还原输入。单调、连续、分段都不足以保证可逆性,故选 B。

Q5. 可逆残差网络(RevNet)的主要优势是什么?

单选题 · mid

  • A.不需要激活函数
  • B.反向传播时不保存全部中间激活← 正确答案
  • C.完全替代损失函数
  • D.不需要梯度下降

答案:B。RevNet 用可逆耦合层结构,前向不保存中间激活,反向时重算,大幅降低内存和存储能耗。它仍需激活函数、损失函数和梯度下降,故选 B。

Q6. 以下哪些硬件方向属于可逆计算的实现路径?

多选题 · mid

  • A.绝热电路← 正确答案
  • B.超导约瑟夫森结← 正确答案
  • C.光计算← 正确答案
  • D.开关电源

答案:ABC。绝热电路回收电荷、超导器件降低单次操作能耗、光计算利用光子低耗传播,都是可逆硬件路线。开关电源只是常规供电装置,不涉及可逆逻辑,故排除 D。

Q7. Bennett 的可逆计算方法主要解决什么问题?

单选题 · hard

  • A.把不可逆算法变成单步操作
  • B.可逆计算中空间与时间的折中← 正确答案
  • C.消除所有量子噪声
  • D.提升 GPU 并行度

答案:B。Bennett 方法通过保存少量检查点路标,在回溯时重算中间段,把空间占用从 \(O(n)\) 降到 \(O(\sqrt{n})\),同时保持总时间 \(O(n)\)。这是典型的时空权衡,故选 B。

Q8. 为什么量子计算在原理上天然可逆?

单选题 · hard

  • A.量子比特没有能量
  • B.演化算符是酉矩阵← 正确答案
  • C.量子门不消耗任何功耗
  • D.量子测量不会扰动系统

答案:B。量子态演化由酉矩阵 \(U\) 描述,满足 \(U^{\dagger}U=I\),存在严格逆演化。量子比特本身有能量,量子门有控制功耗,测量会坍缩系统,故选 B。

Q9. 以下哪些手段可以有效降低 AI 计算的能耗?

多选题 · mid

  • A.可逆训练← 正确答案
  • B.模型量化剪枝← 正确答案
  • C.可逆推理芯片← 正确答案
  • D.无限增加模型参数量

答案:ABC。可逆训练省去中间激活存储,量化剪枝减少计算量,可逆推理芯片从电路层回收能量,三者都能降低能耗。无限增加参数量只会推高能耗,故选 A、B、C。

Q10. 传统 CMOS 芯片动态功耗公式 \(P=\alpha C V^{2} f\) 中,哪一项最直接反映了“信息被擦除”的频率?

单选题 · easy

  • A.\(\alpha\)← 正确答案
  • B.\(C\)
  • C.\(V\)
  • D.\(f\)

答案:A。翻转率 \(\alpha\) 表示每个时钟周期内信号发生翻转跳变的比例,翻转意味着旧值被擦除。电容、电压、频率是功耗公式的物理参数,但最直接对应擦除频率的是翻转率,故选 A。