尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

机器学习驱动的自适应量子纠错:动态级联策略与资源优化

机器学习驱动的自适应量子纠错:动态级联策略与资源优化
📅 发布时间:2026/6/21 2:22:38

1. 项目概述:当量子计算遇见机器学习

量子计算这玩意儿,听起来高大上,但真干起来,全是“坑”。最核心的“坑”之一,就是量子比特太娇贵了——环境噪声、操控误差,随便一点干扰就能让计算结果变得毫无意义。这就好比你想用一堆特别容易受潮的精密仪器在露天做实验,必须得给它们套上层层保护罩。量子纠错码,就是这个“保护罩”。传统的纠错方案,比如表面码,思路很直接:用很多个物理量子比特编码成一个逻辑量子比特,通过多数表决来纠正错误。但这带来一个巨大的问题:资源消耗呈指数级增长。为了达到可用的容错阈值,动辄需要成千上万个物理比特,这对当前几十到几百个比特的嘈杂中型量子设备来说,简直是天方夜谭。

于是,“级联”的想法应运而生。简单说,就是把不同纠错能力的纠错码像俄罗斯套娃一样一层层套起来。底层码快速纠正高频小错误,高层码负责兜底,纠正那些漏网之鱼和更复杂的关联错误。这个思路很好,但实操中又遇到了新麻烦:噪声不是一成不变的。设备状态会漂移,不同量子比特的出错率天生不同,执行不同门操作时的噪声特性也可能不一样。用一个固定的、为“平均”或“最坏”情况设计的级联方案,就像给所有士兵发同一尺码的靴子,必然有人不合脚,造成资源浪费或保护不足。

这就是我们这次要深入探讨的核心:基于机器学习的量子纠错码级联。它的目标很明确——让纠错策略“活”起来,能感知并适应实时变化的噪声环境,动态调整级联的结构和资源分配,用最小的“保护罩”代价,换取最可靠的逻辑量子比特。这不仅仅是把两个热门领域(机器学习和量子纠错)简单拼接,而是试图解决NISQ时代量子计算迈向实用化道路上最关键的工程与科学问题之一。无论你是量子算法的研究者,还是负责操控真实量子硬件的工程师,理解这套自适应策略的内在逻辑和实现路径,都至关重要。

2. 核心思路拆解:为什么是机器学习+级联?

要理解这个组合的威力,我们得先拆解传统方法面临的几个具体困境,以及机器学习能带来哪些根本性的改变。

2.1 传统静态级联方案的瓶颈

传统的量子纠错码级联设计,通常基于对噪声模型的先验假设,比如假设噪声是局部的、马尔可夫的、同质的。基于这些假设,理论学家可以计算出每种码的纠错阈值,并设计出理论上最优的级联方案。然而,真实硬件完全不符合这些理想假设:

  1. 噪声的非均匀性:芯片上不同位置的量子比特,由于制造工艺、耦合强度、散热条件的微小差异,其弛豫时间、退相干时间、门保真度可能相差数倍。一个静态方案无法区别对待“好比特”和“坏比特”。
  2. 噪声的非平稳性:随着设备持续运行,温度波动、电磁干扰增大,量子比特的性能会逐渐退化。早上校准好的方案,到了下午可能就不再最优。
  3. 错误的相关性:在超导量子比特中,一个控制线上的串扰可能导致多个比特同时发生错误;在离子阱中,公共振动模式也会引入关联错误。这些空间相关的错误是许多纠错码的“天敌”。
  4. 资源分配的僵化:静态方案往往为最坏情况预留资源。例如,在所有链路都分配最高的编码冗余度,这导致大量资源(额外的量子比特、测量操作、电路深度)被低效占用,限制了可执行算法的复杂度。

2.2 机器学习作为“噪声侦探”与“策略管家”

机器学习,特别是强化学习和神经网络,在这里扮演了两个关键角色:

  • 角色一:高维噪声特征提取器(侦探)。真实设备的噪声是一个高维、复杂的动态系统。机器学习模型,尤其是深度学习模型,擅长从海量的、看似杂乱的中期测量结果(如随机基准测试、层析数据)中,提取出有效的低维噪声特征。这些特征可能比物理学家手工定义的参数(如T1, T2,门保真度)更能表征当前错误模式的本质。
  • 角色二:自适应策略优化器(管家)。基于提取的噪声特征,模型需要实时决策:当前应该采用哪一层级的纠错码?码距(决定纠错能力)应该设为多大?在非均匀噪声下,是否应该对出错率高的物理比特簇施加更强的保护(比如局部增加码距),而对安静区域采用较轻量级的编码?这本质上是一个动态资源优化问题,强化学习的智能体可以通过与模拟环境(或谨慎地在真实设备上)交互,学习到一套最优的策略映射函数。

2.3 级联架构的灵活性优势

为什么选择“级联”作为适配的框架?因为它本身具有模块化和层次化的特点,非常适合做动态调整。

  • 可插拔的层级:你可以将级联的每一层看作一个功能模块。机器学习模型可以根据需要,决定今天启用哪几个模块(比如,只在噪声大时启用高层的Bacon-Shor码,平时只用底层的重复码)。
  • 粒度可控:调整资源可以非常精细,既可以整体切换不同码型,也可以微调同一码型的参数(如码距、测量周期)。
  • 容错阈值接力:底层码先将错误率降低一个数量级,使得高层码可以在一个更“干净”的输入环境下工作,从而更容易达到其容错阈值。机器学习可以优化这个“接力”过程,决定何时将责任移交给上一层。

这个组合的核心思想,是从基于模型的、静态的、一刀切的纠错,转向数据驱动的、动态的、按需分配的纠错。

3. 系统设计与关键组件

要实现一个噪声自适应的级联纠错系统,我们需要设计几个核心组件,它们共同构成了一个完整的感知-决策-执行闭环。

3.1 噪声表征与监控模块

这是系统的“感官”。它的任务是持续、低开销地获取设备噪声信息。

  • 数据源:
    • 间接诊断电路:插入在计算任务间隙的、短小的基准测试电路,如随机基准测试、零噪声外推电路。它们开销小,但提供的是平均、聚合的误差信息。
    • 实时校验子测量:在纠错过程本身中,通过测量校验子(稳定子)获取的错误症状图。这是最直接、最相关的噪声信息,包含了错误的时空关联性。
    • 硬件监控数据:温度、微波功率、线宽等经典控制参数,可以作为噪声特征的辅助输入。
  • 特征工程:原始数据需要被转化为机器学习的特征。这包括:
    • 统计特征:错误率均值、方差、空间自相关性、时间自相关性。
    • 拓扑特征:在芯片拓扑结构上,错误簇的大小、形状、出现频率。
    • 学习到的表征:使用自编码器或图神经网络直接从错误症状图中学习压缩后的特征表示,这往往比手工特征更有效。

3.2 机器学习模型选型与训练

这是系统的“大脑”。模型的选择取决于我们要解决的具体决策问题。

  • 场景一:噪声分类与码型选择。将当前的噪声特征映射到预设的几类噪声“模式”(如“均匀弱噪声”、“强相关噪声”、“单个热点噪声”),每类模式对应一个预设计算好的最优级联方案。这可以看作一个**监督学习(分类)**问题。
    • 模型选择:卷积神经网络(处理网格状错误图)、图神经网络(处理任意拓扑的错误关联)、或简单的梯度提升决策树。
    • 训练数据生成:在包含各种噪声模型的量子纠错模拟器中,进行大量仿真,为每种噪声场景标记其最优的级联方案(可通过穷举搜索或专家知识定义)。
  • 场景二:动态参数优化。在选定一个级联框架(如重复码+表面码)后,实时优化码距、测量频率等连续参数。这更接近一个强化学习问题。
    • 状态:当前的噪声特征向量 + 当前逻辑错误率估计。
    • 动作:调整各级码的码距(离散或连续)、测量周期。
    • 奖励:负的逻辑错误率(目标是最小化错误)减去资源使用惩罚项(如增加的物理比特数、电路深度)。奖励函数的设计是核心,需要在保真度和开销之间取得平衡。
    • 算法:由于量子模拟成本高,适合采用样本效率高的算法,如基于模型的强化学习、离线强化学习,或先在模拟器中预训练,再在真实设备上微调。

3.3 可重构的纠错编解码电路

这是系统的“手脚”。决策最终要落实到量子电路上。

  • 电路模板库:需要预先编译好一系列不同码型、不同参数的纠错码编码、解码和测量电路模板。这些模板需要针对目标硬件进行优化,考虑实际的量子门集和拓扑约束。
  • 实时电路合成与加载:根据机器学习模型的输出,从模板库中选择或微调电路,并加载到量子控制系统中执行。这要求控制软件栈具备一定的动态重构能力。
  • 低开销解码器:自适应策略可能会产生非标准的错误症状图,需要配套的解码算法(如基于最小权重完美匹配的变形)能够快速处理这些情况。机器学习也可以用于加速解码本身。

注意:整个系统的延迟是关键。从测量噪声到更新策略再到执行新电路,这个闭环的时间必须远小于噪声特征发生变化的时间尺度。否则,自适应就失去了意义。因此,模型推断和电路生成必须高度优化,甚至考虑将轻量级模型部署在FPGA等边缘设备上。

4. 实操流程与核心环节实现

假设我们要为一个拥有50个物理量子比特的超导芯片实现一个原型系统。以下是分步实现流程。

4.1 第一步:基准数据采集与仿真环境构建

在扰动真实设备之前,我们首先在经典计算机上建立一个高保真的仿真环境。

  1. 设备噪声刻画:对目标量子芯片进行全面的基准测试,获取每个量子比特的T1、T2、单/双门保真度、测量误差、以及串扰矩阵。这些数据用于参数化我们的噪声模型。
  2. 构建模拟器:使用如Qiskit、Cirq或专门的开源量子纠错模拟器(如Stim、PyMatching)构建仿真平台。噪声模型应包含:
    • 弛豫和退相位:每个比特独立的振幅阻尼和相位阻尼通道。
    • 门错误:用 depolarizing noise 或更复杂的克劳斯算符模型。
    • 测量错误:独立的误报和漏报概率。
    • 空间相关错误:在相邻比特的双门操作中引入一定概率的关联错误。
  3. 生成训练数据:在模拟器中,我们系统地改变噪声参数(例如,逐渐增大某个区域的错误率,或引入关联强度),对每一种噪声配置,运行多种候选级联方案(例如:方案A:[距离3的重复码] -> [距离3的表面码];方案B:[距离5的重复码] -> [距离2的表面码])。记录每种方案的逻辑错误率和资源消耗(物理比特数、门数量、电路深度)。这个数据集将用于训练我们的初始机器学习模型。

4.2 第二步:监督学习模型训练与部署

我们先从相对简单的噪声分类和方案选择开始。

  1. 特征提取:对于每次仿真,我们从错误症状图中提取特征。例如,计算校验子激发点的密度、最大连通簇的大小、激发点在芯片拓扑上的分布矩等。也可以将症状图直接作为图像输入。
  2. 标注:对于每种噪声配置,我们将逻辑错误率最低且资源开销可接受的方案标记为“最优方案”。这里需要一个权衡:如果两个方案逻辑错误率相差小于10%,但一个方案节省20%的资源,我们选择更省资源的那个。
  3. 模型训练:我们选择一个图卷积网络。输入是芯片拓扑(邻接矩阵)和错误症状图(节点特征),输出是几个预设方案的概率分布。在仿真生成的数据集上训练该模型。
  4. 验证与集成:在另一组独立的仿真数据上测试模型分类的准确率。更重要的是,验证当模型选择某个方案时,实际达到的逻辑错误率是否接近该方案在测试条件下的理论值。可以将多个模型(如GNN、随机森林)集成起来,提升鲁棒性。

4.3 第三步:闭环自适应系统集成

将训练好的模型与真实量子设备控制系统集成。

  1. 在线诊断循环:在主要的量子计算任务间隙,插入简短的标准诊断电路序列。收集产生的错误症状数据。
  2. 模型推理:将症状数据转化为特征向量,输入到已部署的机器学习模型中。模型在毫秒级时间内输出推荐的级联方案编号。
  3. 电路重构:控制软件根据方案编号,从预存的电路模板库中调用对应的纠错码编码、稳定子测量和解码电路,将其编织到接下来的计算任务中。
  4. 执行与监控:执行新的计算任务(包含自适应纠错)。同时,持续监控逻辑错误率的间接指标(如通过隐形传态基准测试)。这个监控结果可以作为反馈信号,用于未来对模型进行微调。

4.4 一个简化的代码示例片段

以下是一个高度简化的伪代码,展示了核心决策循环的概念:

import numpy as np from qiskit import QuantumCircuit, execute from my_ml_model import NoiseClassifier # 假设我们训练好的分类器 class AdaptiveQECSystem: def __init__(self, backend, circuit_templates, ml_model): self.backend = backend self.templates = circuit_templates # 字典, key:方案ID, value:电路模板 self.model = ml_model self.current_scheme_id = None def run_diagnostic(self): """运行一个简短的诊断电路,返回错误症状图""" diag_circuit = self._create_diagnostic_circuit() job = execute(diag_circuit, self.backend, shots=1024) result = job.result() syndrome_data = self._extract_syndrome(result) return syndrome_data def adapt_scheme(self, syndrome_data): """根据症状数据,自适应选择纠错方案""" # 1. 提取特征(这里简化处理) features = self._extract_features(syndrome_data) # 2. 机器学习模型预测 predicted_scheme_id = self.model.predict(features) # 3. 如果方案发生变化,则更新 if predicted_scheme_id != self.current_scheme_id: print(f"Switching QEC scheme from {self.current_scheme_id} to {predicted_scheme_id}") self.current_scheme_id = predicted_scheme_id return self.current_scheme_id def run_computation_with_adaptive_qec(self, logical_circuit): """执行一个逻辑计算电路,使用自适应的纠错""" # 步骤A:诊断并适应 syndrome = self.run_diagnostic() scheme_id = self.adapt_scheme(syndrome) # 步骤B:获取当前方案对应的纠错电路模板 qec_template = self.templates[scheme_id] # 步骤C:将逻辑电路与纠错电路编织在一起(这里需要复杂的编译器功能) protected_circuit = self._weave_qec(logical_circuit, qec_template) # 步骤D:执行受保护的电路 job = execute(protected_circuit, self.backend, shots=8192) final_result = job.result() return self._decode_logical_output(final_result, scheme_id) # 初始化系统 backend = get_quantum_hardware_backend() templates = load_qec_templates() ml_model = NoiseClassifier.load('trained_model.pkl') adaptive_system = AdaptiveQECSystem(backend, templates, ml_model) # 运行一个自适应纠错的计算任务 logical_algo = create_quantum_algorithm() result = adaptive_system.run_computation_with_adaptive_qec(logical_algo)

5. 资源优化的具体策略与权衡

“资源优化”是这个项目的核心目标之一。它不仅仅是省几个量子比特,而是涉及时间、空间和经典计算开销的多目标优化。

5.1 空间资源优化:非均匀编码与比特复用

  • 热点感知的码距分配:如果机器学习模型识别出芯片上存在一个错误率特别高的“热点”区域,传统的均匀表面码会为了这个热点而整体增加码距,浪费其他区域的资源。自适应策略可以改为:在热点区域局部使用更高码距的子码,或在该区域周围部署更密集的测量辅助比特,而其他区域保持较低码距。这类似于图像编码中的“感兴趣区域”编码。
  • 动态逻辑比特布局:对于多逻辑比特的任务,可以根据任务图中逻辑比特之间的交互强度,以及底层物理比特的质量,动态地将逻辑比特映射到物理位置。交互频繁的逻辑比特对,应被映射到物理连接性好、错误率低的区域。
  • 辅助比特的时分复用:一些测量辅助比特在不进行测量操作时,可以临时用作低保护等级的逻辑比特存储,或用于执行经典控制逻辑,提高物理比特的利用率。

5.2 时间资源优化:自适应测量频率

纠错码需要周期性地测量校验子来诊断错误。测量越频繁,错误被及时纠正的概率越高,但同时也引入了更多的测量错误和电路延迟。

  • 策略:机器学习模型可以根据实时估计的逻辑错误率增长速度和测量本身的保真度,动态调整测量周期。当噪声变大时,提高测量频率;当系统相对稳定时,降低频率以节省时间和减少测量引入的误差。
  • 挑战:测量周期的调整会影响错误传播的动力学,需要模型能够预测这种影响。这通常需要在强化学习框架中,将测量间隔作为一个可调动作来学习。

5.3 经典计算资源优化:智能解码与策略缓存

  • 解码器加速:ML可以用于预筛选或加速解码过程。例如,训练一个神经网络来快速判断当前症状图是否属于某个常见错误模式,如果是,则直接调用对应的快速解码路径,绕过复杂的通用解码算法。
  • 策略缓存与预热:对于周期性或可预测的噪声变化(如设备随运行时间升温),系统可以学习并缓存一个“策略时间表”。在预测到噪声将加剧前,提前切换到更强的纠错方案,避免性能断崖式下降。

5.4 多目标权衡的帕累托前沿

资源优化永远是在逻辑错误率、物理资源消耗、执行时间和经典控制复杂度之间做权衡。我们需要寻找的是帕累托最优解集:即在不使任何一个目标变差的情况下,无法再改进其他目标。 机器学习,特别是多目标优化算法,可以帮助我们自动探索这个前沿。我们可以训练一个模型,输入是噪声特征和任务要求(如可容忍的最大逻辑错误率),输出是达到该要求下,在资源-时间平面上近似最优的级联方案参数。

6. 挑战、局限性与未来方向

尽管前景诱人,但将机器学习应用于量子纠错级联仍面临巨大挑战。

6.1 数据稀缺与模拟-现实差距

这是最大的障碍。在真实量子设备上收集包含各种噪声场景、且带有“最优方案”标签的数据成本极高。我们严重依赖仿真数据训练模型,但仿真中的噪声模型再复杂,也与现实有差距。这会导致模型在仿真中表现良好,部署到真机后性能下降(模拟-现实差距)。

  • 缓解策略:采用迁移学习、领域自适应技术。先在丰富的仿真数据上预训练模型,然后用少量珍贵的真机数据进行微调。也可以利用元学习,让模型学会如何快速适应一个新设备的噪声特性。

6.2 模型的可解释性与可靠性

在量子计算这种对错误零容忍的领域,使用“黑箱”机器学习模型做决策令人担忧。如果模型因为一个异常数据点而做出了灾难性的错误决策(例如,在强噪声下选择了过弱的纠错码),后果是毁灭性的。

  • 缓解策略:
    1. 使用可解释性更强的模型:如决策树、基于规则的系统,或为神经网络添加注意力机制,让我们知道模型是依据哪些症状做出判断的。
    2. 设置安全边界:模型输出不应是直接执行,而是提供一个“建议”。最终决策由一个保守的、基于最坏情况估计的规则系统来审核或混合。
    3. 持续监控与回滚:系统需要持续监控逻辑性能的间接指标。一旦检测到性能异常下降,立即回滚到上一个已知有效的保守方案。

6.3 延迟与开销的平衡

运行诊断电路、执行模型推断、重构量子电路,所有这些都会引入额外的延迟和经典计算开销。如果这个开销太大,可能抵消掉自适应纠错带来的收益。

  • 优化方向:设计极简的诊断电路;使用轻量级神经网络模型(如经过剪枝、量化的模型);将推断任务下放到靠近量子控制器的边缘计算单元(如FPGA);采用“懒惰适应”策略,仅在检测到噪声统计特性发生显著变化时才触发重新决策。

6.4 理论保障的缺失

目前,这类方法缺乏严格的理论性能保证。我们无法像分析表面码阈值那样,给出一个基于ML的自适应方案在何种条件下必然有效的数学证明。

  • 未来工作:需要理论计算机科学家和量子信息理论学家的介入,探索在何种假设下可以给出概率性的性能保证,或者至少证明其不会比静态最优方案差。

6.5 系统集成的复杂性

将机器学习模块、动态电路编译、实时控制系统、解码器等多个复杂组件无缝集成,是一个巨大的软件工程挑战。它需要量子软件栈提供前所未有的灵活性和API支持。

7. 实操心得与避坑指南

基于现有的研究和实验尝试,分享一些从实践中获得的教训。

  1. 起步从“分类”开始,而非“强化学习”:对于首次尝试,不要一上来就搞复杂的强化学习。先从监督学习的分类问题入手,比如区分“今天设备状态好”和“状态差”,并对应两种预置的纠错方案。这更容易实现、调试和验证,并能快速看到收益,建立信心。

  2. 仿真数据要加入足够的“脏”噪声:在生成训练数据时,不要只使用理想的 depolarizing noise。务必加入你从真实设备上观察到的非理想特性,如:

    • 不均匀的错误率。
    • 1/f噪声(低频漂移)。
    • 串扰和关联错误。
    • 测量反馈延迟。 模型只有在“脏”数据中学会识别模式,才能在真实世界中发挥作用。
  3. 特征工程比模型结构更重要:在数据有限的情况下,一个基于物理直觉精心设计的手工特征(如“错误簇的周长与面积比”),可能比一个复杂的深度学习模型用原始数据训练的效果更好。尝试将物理先验知识融入特征设计。

  4. 定义清晰的“收益”指标:优化前,必须明确你要什么。是单纯追求最低的逻辑错误率?还是在错误率低于某个阈值时,最小化物理比特的使用?定义一个单一的综合指标(如代价 = 逻辑错误率 + α * 物理比特数),并用于模型训练和评估。这个α系数需要根据实际需求仔细调整。

  5. 在真机上从小规模开始,设置安全网:首次在真实设备上部署时,选择一个小系统(例如7个比特的重复码)。同时,并行运行一个传统的、保守的纠错方案作为基线对比。设置一个监控程序,如果自适应方案的逻辑信号比基线方案差出一定范围,自动报警并切换回基线方案。安全第一。

  6. 解码器必须跟上:你费尽心思自适应了纠错码,但如果解码器还是静态的、针对均匀噪声优化的,那么性能瓶颈就会卡在解码器上。确保你的解码器(无论是最小权重完美匹配还是基于神经网络的解码器)能够处理自适应方案产生的非标准错误症状。

这个领域正处于从理论构想走向实验验证的关键阶段。最大的乐趣和挑战在于,它要求你同时理解量子硬件的物理特性、纠错码的数学原理、机器学习算法的能力与局限,以及软件系统的工程实现。每一次尝试,无论成功与否,都是在为未来实用化容错量子计算机的“自适应免疫系统”添砖加瓦。

相关新闻

  • 【深度解析】GLM 5.2开源大模型能力拆解:长上下文、前端生成与Python评测实战
  • 生成式AI如何革新统计推断:从数据生成到小样本问题解决
  • ncmdumpGUI:解密网易云NCM音频格式的终极指南

最新新闻

  • Kimi API开源能力解析与工程化接入实战指南
  • 【JAVA毕设源码分享】springboot基于敏捷开发的项目管理系统(程序+文档+代码讲解+一条龙定制)
  • 2026年靠谱的矿用圆环链用开口式连接环/山东矿用高强度圆环链/圆环链弧齿环/山东圆环链锯齿环多家厂家对比分析 - 行业平台推荐
  • TRK-MPC5604P开发板硬件配置与调试实战指南
  • 嵌入式GUI开发利器:emWin仿真工具从入门到精通实战指南
  • 谱截断归一化MMD:高效分布比较的核方法优化

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号