<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>深度学习 on YSY的博客</title><link>https://ysy.fan/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/</link><description>Recent content in 深度学习 on YSY的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 13 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ysy.fan/tags/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/index.xml" rel="self" type="application/rss+xml"/><item><title>联邦遗忘学习基础知识</title><link>https://ysy.fan/p/federated-unlearning-fundamentals/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://ysy.fan/p/federated-unlearning-fundamentals/</guid><description>&lt;h2 id="1-联邦遗忘学习"&gt;1. 联邦遗忘学习
&lt;/h2&gt;&lt;h3 id="11-机器遗忘的本质"&gt;1.1 机器遗忘的本质
&lt;/h3&gt;&lt;p&gt;在机器遗忘学习（Machine Unlearning）的语境下，所谓&amp;quot;遗忘数据&amp;quot;，并非指在物理存储介质上删除原始数据文件，而是指&lt;strong&gt;对模型的权重参数进行定向修改，使模型的行为表现等价于从未在该数据上进行过训练&lt;/strong&gt;。这一过程的核心目标是消除特定样本对模型参数分布的影响，同时尽可能保留模型在剩余数据上的泛化能力。&lt;/p&gt;
&lt;h3 id="12-主流遗忘范式"&gt;1.2 主流遗忘范式
&lt;/h3&gt;&lt;p&gt;学术界目前主流的遗忘方法大致可归纳为以下三类范式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;精确遗忘 / 重训练（Exact Unlearning / Retraining）&lt;/strong&gt;：将待遗忘样本从原始训练集中物理移除后，对模型从零开始重新训练。该方法遗忘效果最为彻底，理论上不存在任何残留影响，但在联邦学习场景下代价极高——每次遗忘请求都需要所有参与节点同步进行完整重训，通信开销与算力开销均难以承受。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;近似遗忘（Approximate Unlearning）&lt;/strong&gt;：当前论文中最常见的方法路线，核心思想是&amp;quot;逆向消除梯度贡献&amp;quot;。模型训练阶段通过梯度下降记忆数据特征，遗忘阶段则对应地施加&lt;strong&gt;梯度上升（Gradient Ascent）&lt;strong&gt;或注入特定噪声，以反向抵消目标样本当初对模型参数造成的更新量。在公平性场景下，该范式还可通过构造针对敏感属性（如性别、种族）的&lt;/strong&gt;公平性损失函数&lt;/strong&gt;，向模型注入反向梯度，冲刷偏置权重，实现对敏感特征的脱敏处理。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;分片隔离（Sharding / SISA）&lt;/strong&gt;：联邦学习场景下的专属优化方案。其核心思路是将训练数据与模型参数按一定策略切分为若干独立的&amp;quot;碎片（Shard）&amp;quot;，避免所有数据混合训练。当某客户端发起遗忘请求时，服务端仅需对涉及该数据的特定碎片执行重训，其余碎片保持不变，从而在保证遗忘效果的同时大幅降低计算与通信开销。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-主动学习"&gt;2. 主动学习
&lt;/h2&gt;&lt;h3 id="21-主动学习的动机"&gt;2.1 主动学习的动机
&lt;/h3&gt;&lt;p&gt;在传统监督学习中，模型训练依赖大量已标注数据的一次性输入。然而在现实场景中，未标注数据（如互联网上的海量图片、文本）获取成本极低，而人工标注（如由医学专家逐一标注影像中的病灶位置）却代价高昂、耗时极长。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主动学习（Active Learning）&lt;/strong&gt; 正是为了解决这一&amp;quot;标注成本&amp;quot;瓶颈而提出的学习范式：通过让模型主动挑选最有价值的样本交由专家标注，在有限的标注预算内最大化模型性能的提升。&lt;/p&gt;
&lt;h3 id="22-主动学习的核心流程"&gt;2.2 主动学习的核心流程
&lt;/h3&gt;&lt;p&gt;主动学习可以类比为**&amp;ldquo;学生主动向老师提问&amp;rdquo;**的过程——模型不是被动地接受所有数据，而是主动挑出自己最困惑的问题寻求解答。其标准流程如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;初始化&lt;/strong&gt;：使用少量人工标注数据训练一个初始基础模型；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主动查询（Query Strategy）&lt;/strong&gt;：基础模型扫描海量未标注数据，依据特定策略（如熵值最大、置信度最低）挑选出&lt;strong&gt;信息量最大&lt;/strong&gt;、对当前模型&lt;strong&gt;最具挑战性&lt;/strong&gt;的少数样本；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;专家标注（Oracle）&lt;/strong&gt;：将挑选出的样本交由人类专家（论文中称为 Oracle）打上真实标签；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型更新&lt;/strong&gt;：将新标注的高价值样本加入训练集，重新训练或微调模型；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;循环迭代&lt;/strong&gt;：重复步骤 2–4，直至模型性能达标或标注预算耗尽。&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;主动学习的核心假设是：&lt;strong&gt;并非所有数据对模型的贡献是等价的&lt;/strong&gt;。少数关键样本所携带的信息量，可能远超大量普通样本。因此，有策略地选择标注对象，能够以远低于全量标注的成本达到相近甚至更优的模型效果。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>论文阅读：FedEditor - Efficient and Effective Federated Unlearning</title><link>https://ysy.fan/p/fededitor-paper-reading/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://ysy.fan/p/fededitor-paper-reading/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;学术声明 / Academic Statement&lt;/strong&gt;
本文是个人学习笔记，仅用于学术交流和知识分享，非商业用途。
文中观点为作者个人理解和分析，不代表原论文作者立场。
如需引用原论文，请查阅官方出版版本。
版权归原论文作者和 IEEE 所有。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="1-论文基本信息"&gt;1. 论文基本信息
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;标题&lt;/strong&gt;：FedEditor: Efficient and Effective Federated Unlearning in Cooperative Intelligent Transportation Systems&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;作者&lt;/strong&gt;：Xiaohan Yuan, Jiqiang Liu, Bin Wang, Guorong Chen, Xiangrui Xu, Junyong Wang, Tao Li, Wei Wang&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;单位&lt;/strong&gt;：Beijing Jiaotong University, Haihe Lab of ITAI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发表期刊&lt;/strong&gt;：IEEE Transactions on Information Forensics and Security, Vol. 20, 2025&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;页码&lt;/strong&gt;：6560-6575&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DOI&lt;/strong&gt;：&lt;a class="link" href="https://doi.org/10.1109/TIFS.2025.3583231" target="_blank" rel="noopener"
&gt;10.1109/TIFS.2025.3583231&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;：&lt;a class="link" href="https://github.com/XXiaoY/Fededitor" target="_blank" rel="noopener"
&gt;https://github.com/XXiaoY/Fededitor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;论文作者如下 Xiaohan Yuan, Jiqiang Liu(北京交通大学网络空间安全学院院长), Bin Wang, Guorong Chen, Xiangrui Xu, Junyong Wang, Tao Li(海河实验室副主任), Wei Wang(北京交通大学计算机科学与技术学院的正教授)&lt;/p&gt;
&lt;p&gt;其中除了刘吉强是北京交通大学网络空间安全学院院长，王伟是北京交通大学计算机科学与技术学院的正教授，李涛是海河实验室副主任，其他人都是背景交通大学的学生以及海河实验室的工作人员，在致谢中作者感谢了海河实验室，所以大体是 Xiaohan Yuan 承担了大部分工作，王伟和刘吉强提供指导，海河实验室提供资源&lt;/p&gt;
&lt;p&gt;Xiaohan Yuan 是论文一作，北京交通大学博士在读，在智能交通安全与隐私北京重点实验室，可以看到几乎每篇论文都有王伟的身影，王伟应该是她的导师，他的方向和王伟大体一致，然后这些论文实验室的学生轮流一作&lt;/p&gt;
&lt;p&gt;王伟教授 主要方向是联邦学习与车联网，智能交通安全和 AI 对抗&lt;/p&gt;
&lt;h2 id="2-背景与痛点"&gt;2. 背景与痛点
&lt;/h2&gt;&lt;p&gt;&lt;a href="images/2026-02-13-19-14-20.png" target="_blank"&gt; &lt;img src="images/2026-02-13-19-14-20.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在车联网时代，AI 模型极其依赖海量数据的训练。但随之而来的是严峻的隐私挑战。
随着 GDPR 等法规的出台，‘被遗忘权’成了硬性指标。无论是用户要求删除隐私数据，还是我们发现某批数据被恶意投毒，系统都必须具备一种能力：从训练好的模型中，干净彻底地剥离掉特定数据的影响。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-15-10-28-39.png" target="_blank"&gt; &lt;img src="images/2026-02-15-10-28-39.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;左边展示了联邦忘却学习在车联网中的标准流程，目标车辆在发起遗忘请求后，服务器将全局模型分发给所有客户端，目标车辆对模型进行修改，剩余车辆则继续进行本地训练，最后所有车辆把修改后的模型传回服务器，服务器对所有客户端的模型进行聚合后得到遗忘后的全局模型。&lt;/p&gt;
&lt;p&gt;虽然流程已经定型，但是细节上却出现了各种问题，首先对于被动遗忘算法来说，他需要服务器带着所有客户端回退模型版本同时依靠剩余数据进行多轮重训，虽然他确实能达到较好的遗忘效果以及保持剩余数据预测的精确度，但是他需要所有客户端在线且耗时间很长，这对于车联网的应用场景是不可接受的，首先路况瞬息万变，长时间的训练会导致客户端无法及时获取最新的数据，不能及时应对变化的路况，其次车辆与服务器间的带宽无法支撑如此大规模的数据传输，最后，服务器无法确保能联系到所有车辆，如果车辆开上高速或开进山村，这都会导致服务器和车辆失联，所以被动联邦遗忘学习无法适用协作智能交通系统的场景。&lt;/p&gt;
&lt;p&gt;而主动联邦遗忘算法，因为缺乏明确的优化目标，只能笼统的进行优化，这就可能会导致模型为达到遗忘的目标大幅修改参数，最终导致数据遗忘不彻底，或者是剩余数据灾难性遗忘的结果。为此有人提出对参数的修改范围进行界定，通过预设阈值的方法尝试使遗忘模型和原始模型对剩余数据的表现一致，但由于缺乏先验知识，没人清楚删除待遗忘数据后的模型参数长什么样，所以这个阈值难以设定。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-23-04.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-23-04.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-18-51.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-18-51.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;为此，我们提出了 FedEditor 算法，首先在定位上他是一个高效的主动遗忘算法，与被动重训不同，它允许车辆在本地主动进行修改，其次在方法上 FedEditor 创新性的提出了表征层面的局部遗忘策略
他包含两个核心部件，一个是目标导向遗忘，他通过引入错误质心来作为目标，解决了我们刚才提到的缺乏目标的问题，另一个是模型性能修复，他利用剩余数据和正则化约束保护模型的关键知识，防止灾难性遗忘
接下来我们将详细讲解算法细节&lt;/p&gt;
&lt;h2 id="3-算法核心思路"&gt;3. 算法核心思路
&lt;/h2&gt;&lt;p&gt;&lt;a href="images/2026-03-21-21-24-27.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-24-27.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;论文首先回顾了集中式场景下的传统机器遗忘方法。尽管这些方法均面向拥有完整数据的单体服务器设计，但其核心思路为联邦遗忘提供了重要参考，大致可分为两类：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;精确遗忘&lt;/strong&gt;的代表是 SISA 框架，其核心策略是&lt;strong&gt;数据分片&lt;/strong&gt;：将训练数据预先切分为若干独立子集，当遗忘请求到来时，仅需对包含目标数据的子模型进行重训，而无需重训整个模型，从而显著降低了时间开销。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;近似遗忘&lt;/strong&gt;则放弃完全重训的追求，转而通过直接修改模型参数来近似达到遗忘效果。典型方法包括：&lt;strong&gt;决策边界收缩与扩展&lt;/strong&gt;，针对分类器进行微调，通过调整决策边界来消除目标数据的影响；以及&lt;strong&gt;参数分布对齐&lt;/strong&gt;，通过调整当前模型的参数分布，使其尽量逼近一个从未见过遗忘数据的理想模型。&lt;/p&gt;
&lt;p&gt;然而，上述方法均基于集中式数据假设，无法直接迁移到数据分散、通信受限的车联网联邦学习场景，这也正是本文需要解决的核心问题。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-27-29.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-27-29.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;当前联邦遗忘算法可分为&lt;strong&gt;被动联邦遗忘&lt;/strong&gt;与&lt;strong&gt;主动联邦遗忘&lt;/strong&gt;两大类。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;被动联邦遗忘&lt;/strong&gt;依赖服务器协调所有客户端共同执行遗忘操作，主要方法有两种：其一是 &lt;strong&gt;FedEraser&lt;/strong&gt;，它不再对模型进行完全重训，而是利用历史梯度更新记录进行参数回溯，再引导剩余客户端在当前基础上进行多轮校准训练，从而间接消除目标数据在历史更新中留下的影响；其二是文献 [17] 提出的贡献回滚方案，服务器持续记录每个客户端的参数贡献量，遗忘时直接撤销目标客户端的历史贡献，再对全局模型进行修复。然而，被动联邦遗忘对服务器的持续在线和大量通信开销有较强依赖，难以适应车联网的动态连接环境。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主动联邦遗忘&lt;/strong&gt;则由客户端在本地独立完成遗忘操作，无需服务器深度介入。最直接的思路是&lt;strong&gt;梯度上升（Gradient Ascent）&lt;/strong&gt;：既然模型通过梯度下降&amp;quot;记住&amp;quot;了训练数据，反向施加梯度上升便能让模型&amp;quot;忘记&amp;quot;目标数据。但纯粹的梯度上升副作用显著，容易在消除目标数据影响的同时破坏模型在剩余数据上的知识，因此后续工作引入了 &lt;strong&gt;EWC（Elastic Weight Consolidation）&lt;/strong&gt; 正则化约束，对参数修改幅度加以限制，以保护关键权重不被过度扰动。此外，文献 [27] 提出的方法与本文的 FedEditor 有异曲同工之妙：该方法通过 &lt;strong&gt;KL 散度&lt;/strong&gt;约束遗忘数据的输出分布，使当前模型的行为趋近于一个从未见过目标数据的理想模型。两者的关键区别在于作用层次——文献 [27] 的约束作用于&lt;strong&gt;分类器的输出层&lt;/strong&gt;，而 FedEditor 则直接干预更底层的&lt;strong&gt;特征提取器&lt;/strong&gt;，实现表征层面的精准遗忘。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-31-42.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-31-42.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;通过对上述方法的系统梳理，FedEditor 的设计目标逐渐清晰：&lt;strong&gt;遗忘要彻底&lt;/strong&gt;（目标数据的影响须被完全消除）、&lt;strong&gt;知识要保留&lt;/strong&gt;（模型在剩余数据上的性能不能出现灾难性下降）、&lt;strong&gt;效率要高&lt;/strong&gt;（在车联网这种实时性要求极高的场景下，遗忘过程必须足够轻量和快速）。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-32-22.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-32-22.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;具体来说，我们需要通过高效的遗忘算法生成一个遗忘模型，使其在性能和行为上尽可能接近理想的“理想模型”（即完全移除目标数据后重新训练得到的模型）。其核心思想是通过特定手段，使遗忘后的模型在待遗忘数据上的表现与对非成员数据类似。从评估角度来看，是否成功遗忘的标准通常采用成员推理攻击：训练一个判别模型来区分数据是否为成员。如果新模型能够有效误导该判别器，使其将待遗忘数据识别为非成员，则视为遗忘成功。同时，新的模型还需确保对其他数据的准确性不受影响，也就是说，其特征提取结果需与原模型高度一致，实现知识的完整保留。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-35-20.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-35-20.png" alt="image" style="max-width: 100%; width: 500px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;然而，传统的被动联邦遗忘算法由于耗时过长难以满足实际需求，而梯度上升方法效果也有限——在模型过拟合时难以彻底遗忘目标数据，正常情况下又容易经过多轮训练后导致剩余知识的灾难性遗忘。面对这些局限，作者选择突破常规，创新性地提出了全新的解决思路。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-36-06.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-36-06.png" alt="image" style="max-width: 100%; width: 500px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;前面提到，为了让训练后的模型对遗忘数据的“看法”与非成员数据一致，我们需要找到合适的衡量指标。作者通过定量分析发现，在原始模型中，待遗忘（成员）数据的交叉熵一般较小且波动较小，说明模型对这些数据有高度自信；而对于非成员数据，交叉熵则普遍较大且波动很大，反映出模型缺乏信心。在“理想模型”——即已经完全移除目标数据并重新训练得到的模型——中，待遗忘数据表现出与非成员数据一致的高交叉熵和不稳定性，表明这些数据已被模型“遗忘”。因此，如果希望模型把待遗忘数据当做“陌生人”，核心目标就是显著提升其交叉熵，使其表现接近非成员数据。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-36-13.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-36-13.png" alt="image" style="max-width: 100%; width: 500px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;除了定量指标之外，表征分布的可视化（如图 4）也进一步揭示了特征层的变化：原始模型下，成员数据的特征分布紧密且边界清晰，显示出模型强烈的区分能力；而在理想模型中，遗忘数据的特征分布变得分散模糊，完全融入背景，与成员数据融为一体，标志着模型已不再识别这些数据。从本质上讲，让待遗忘数据变成“陌生人”的关键，就是打破其原本紧密的聚类结构，使其在特征空间内变得杂乱、无序。&lt;/p&gt;
&lt;p&gt;那么，如何高效且精确地打散这些特征，使遗忘彻底生效？接下来我们将详细介绍 FedEditor 的核心算法设计。&lt;/p&gt;
&lt;h2 id="4-核心方法详解"&gt;4. 核心方法详解
&lt;/h2&gt;&lt;p&gt;&lt;a href="images/2026-03-21-21-37-28.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-37-28.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在论文中，FedEditor 的算法流程如图所示：当某个客户端发起遗忘请求后，先从服务器获取全局模型，随后仅针对特征提取器进行精细、局部的修改，实现主动遗忘。这一创新点区别于传统的联邦遗忘方法。与以往依赖梯度上升直接调整全局参数（如文献 11）或修改输出层（如文献 27）的做法不同，FedEditor 选择“手术式”地干预特征提取器，将遗忘作用精确聚焦于表征层。通过调整特征提取器的参数，打破原本紧密聚类的成员特征分布，使其变得分散、无序，从而逼近“理想模型”的特性。&lt;/p&gt;
&lt;p&gt;可以类比为：特征提取器如同“眼睛”，分类器如同“大脑”。当眼睛准确地将“5”对应的特征传给大脑时，大脑很容易识别为数字 5。但如果改变了“眼睛”的参数，使其输出的特征与原标签弱相关，大脑也难以做出准确判断。这就是 FedEditor 遗忘的基本思想。&lt;/p&gt;
&lt;p&gt;具体操作流程如下：首先利用非成员数据，通过原始模型的特征提取器计算每个错误类别的特征中心（绿色圆圈和星星，星星代表各类别均值中心）；再用待遗忘数据，通过同样的特征提取层获得其初始特征向量（左侧红点）。对于每一个待遗忘样本，都会选择其最近的错误类别中心作为目标，通过优化使该样本经过修改后的特征提取器输出从原始位置逐步“推离”并朝该错误类别中心“靠拢”。在这一过程中，原始特征位置提供动力，目标位置产生牵引，参数变化通过权重正则化加以约束，分类损失保障剩余数据的预测准确性。最终，原本聚集的待遗忘样本的特征会因为各自最近的错误类别中心不同而被拉扯到不同方向，特征分布整体被打散，原标签与特征不再高度对应，分类器对它们的预测置信度降低、交叉熵显著升高，实现模型对其“陌生化”——使成员推理攻击也难以分辨，达到真正的遗忘效果。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注：为什么要用非成员数据来计算错误类别中心，而不是直接用训练数据呢？以“遗忘数字 5 的图片”为例，如果我们用训练集中“7”这一类别来作为错误类别中心，看似无害，但实际上，成员数据（即参与过训练的数据）与模型的拟合高度相关。如果用成员数据计算错误类别中心，待遗忘样本在特征空间被引导靠近这些点时，会不可避免地染上成员数据的特征分布。由于模型对成员数据本就具有高置信度，此时即便模型从“高置信度的 5”识别为“高置信度的 7”，置信度依然很高，反而让攻击者依旧容易通过成员推理攻击判断该样本参与过训练——即使预测标签错了，只要置信度高异常就仍有泄漏风险。因此，选取非成员数据（未被模型训练过的数据）计算错误类别中心，可以最大化减少遗忘过程中成员特征的“染色”，避免模型对这些点形成异常自信，从而实现更彻底的遗忘和更强的抗推理攻击能力。
至于“非成员数据”具体该如何选择，其实通常直接采用训练集对应的测试集即可——即便没有严格对应的测试集，选择其他相似分布的测试数据也完全可行。实验证明，只要数据未被模型训练过，都可以作为合格的非成员数据用于错误类别中心的计算。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-00-14.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-00-14.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;前文提到，原始特征向量为推力，错误类别中心为拉力，这种说法容易流于抽象。那么，FedEditor 的遗忘机制究竟是如何在算法层面实现的呢？这里，作者提出了基于模型的对比学习（contrastive learning）的创新思路。与传统对比学习仅对不同增强版本的同类样本进行“拉近正样本、推远负样本”不同，MOON 算法的突破在于将对比对象从数据维度扩展到了模型维度，通过让本地模型与全局模型间的特征距离拉近，提升联邦训练的稳定性。&lt;/p&gt;
&lt;p&gt;FedEditor 则在此基础上进一步创新，对正负样本对的定义做了巧妙翻转：正样本对设定为“错误类别中心”，负样本对则为“原始正确类别的特征中心”。在优化过程中，每一个待遗忘样本被有意拉近至与其标签错误的类别中心，同时远离其原本所属类别中心。这一机制促使成员数据在特征空间内失去原有紧密聚类的结构，分布变得分散、模糊，从而达到遗忘目标并有效削弱成员推理攻击的能力。&lt;/p&gt;
&lt;p&gt;相关的计算流程如下：首先，遍历所有非成员数据，计算得到各类别的错误类别中心。然后，对于每一个待遗忘样本，选择其最近的错误类别中心作为“正样本对”，并将原始正确类别的特征中心作为“负样本对”。在定义损失函数时，采用对比学习的经典结构：优化目标是增强锚点（待遗忘样本特征）与新目标（最近错误类别中心）之间的相似度，同时削弱与原类别中心的相似度。具体而言，分子部分衡量锚点与新目标的相似性，分母部分则综合了与新目标和旧目标的相似性。通过最小化该损失函数，可以推动特征提取器更好地将待遗忘数据的特征远离原类别，同时向错误类别靠拢，有效打散原有的聚类特征，从而实现遗忘目的。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-07-39.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-07-39.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;与此同时，模型修复模块中的两个关键损失函数在持续发挥作用：其一，记忆保留损失（即交叉熵损失）确保模型对剩余数据的预测准确性不受遗忘过程影响；其二，偏差抵抗损失（即权重正则化）则限制参数变化幅度，防止模型结构发生较大偏移。这三项损失（加上遗忘损失）通过加权求和，共同组成算法的全局损失函数，有效引导模型实现精准、可控的参数调整。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-21-37-28.png" target="_blank"&gt; &lt;img src="images/2026-03-21-21-37-28.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;回到整体流程，在完成局部模型修改后，客户端将新模型上传到服务器，由服务器进行聚合。随后，为评估遗忘效果，会基于原始模型输出，用成员数据和非成员数据训练一个二分类器（成员推理攻击器），再利用该分类器检测新模型对待遗忘数据的判别效果。如果分类器在新模型上难以分辨成员与非成员数据，则判定遗忘成功。&lt;/p&gt;
&lt;h2 id="5-实验设计与结果"&gt;5. 实验设计与结果
&lt;/h2&gt;&lt;p&gt;&lt;a href="images/2026-03-21-22-10-37.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-10-37.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;算法设计完成后，进入实验评估阶段，以全面验证所提方法的有效性与优越性。为此，作者围绕算法性能提出了四个核心问题，后续将结合具体实验数据一一解答。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-11-08.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-11-08.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;实验部分，作者选用了五个经典图像数据集（FMNIST、CIFAR10、SVHN、CIFAR100、GTSRB）和两个表格数据集（LOAN 和 BAIOT）来全面验证方法的有效性。其中，FMNIST（Fashion-MNIST）用于服饰图像分类，CIFAR10 和 CIFAR100 用于通用物体识别，SVHN 主要针对街景数字识别，GTSRB 则用于交通标志分类；LOAN 和 BAIOT 数据集分别涉及贷款欺诈检测和物联网设备异常检测。实验评价指标包括遗忘效率、遗忘质量和预测性能三大类标准。在遗忘质量评估方面，作者同时采用了后门检测、基于指标的分析和基于模型的评测三种方法以确保结论的客观全面。对比方案则涵盖了基于 FedAvg 训练的原始模型、彻底重训练得到的理想模型，以及多个主流被动和主动联邦遗忘算法。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-14-40.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-14-40.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在训练效率方面，被动遗忘算法虽然通常能够获得更高的准确率，但其训练过程十分耗时。比如 Eraser 的整体流程复杂，Rap_train 需要计算二阶导数矩阵，Con_train 则需用剩余数据重新训练多轮，因此耗费的时间成本较高。相比之下，主动遗忘算法在效率上有显著优势。虽然 FedEditor 并不是所有主动算法中最快的方案（如 Ram_lab 通过随机标签处理在速度上更有优势，而 FedEditor 需计算质心并构造正负样本对，耗时略长），但 FedEditor 作为主动遗忘方法，兼顾了效率与准确性：其训练速度远超被动遗忘算法，同时在剩余数据上的准确率不仅明显高于其他主动算法，还几乎与被动遗忘算法持平甚至略有超越。尤其在车联网等对安全性要求极高的场景下，为提升剩余数据的识别精度、哪怕多花费几秒训练时间也是完全值得的。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-17-22.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-17-22.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;针对问题 2，即遗忘的有效性，从实验结果可以看出，FedEditor 在遗忘任务上表现十分出色。尽管与部分对比方法相比，遗忘识别率未必最低，但已经显著降低了模型对待遗忘数据的记忆，充分实现了预期的遗忘目标。同时，值得注意的是，遗忘识别率并非越低越好。例如，完全重训练的模型遗忘识别率也无法降到 0，而有些算法虽然实现了极低的遗忘识别率，却以牺牲剩余数据的准确性为代价，整体表现反而不佳。&lt;/p&gt;
&lt;p&gt;这里需要重点解释一下论文中用来衡量“遗忘干净程度”的两个核心指标：JSD to Re_train↓ 和 AD to Re_train↓。这两个指标的关键点在于后缀的“to Re_train” —— 即和彻底删数据、从头完整重训（Retrain）的“黄金标准”模型进行对比。“↓”代表数值越小越好，也就是遗忘模型和重训模型的差距越小越好。&lt;/p&gt;
&lt;p&gt;具体来说：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;JSD (Jensen-Shannon Divergence，詹森 - 香农散度)：这个指标用来衡量概率分布之间的相似度。在本场景下，就是比较你的遗忘模型与重训模型，在同一个测试样本上输出的预测概率分布有多相像。JSD 值越接近 0，说明你的遗忘模型在输出层上已经非常接近于“完美遗忘”的重训模型，没有残留异常行为，遗忘够“干净”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;AD (Activation Distance / Absolute Distance，激活距离/绝对距离)：这个指标反映两个模型在处理相同输入时，其内部特征表示或输出向量之间的空间距离。如果说 JSD 比的是“猜的结果”，AD 看的则是底层“思考过程”上的接近程度。AD 越低，表示遗忘模型在神经元、特征层参数等深层面也已和重训模型非常接近，遗忘的效果非常彻底。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;论文实验展示，FedEditor 在这两个核心指标（JSD to Re_train↓ 和 AD to Re_train↓）上的表现整体优于基准模型，说明其遗忘算法不仅实现了高效“删除”，而且最小化了与重训的差距，在不影响剩余数据性能的前提下，遗忘结果足够彻底和“纯净”。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-20-16.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-20-16.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;从熵分布图可以直观地看出，FedEditor 有效地模拟了重训练效果：蓝色表示原始模型，其熵分布集中且数值较低，而重训练模型和遗忘模型的熵分布整体更高、更分散，并且二者在分布区域上高度重叠，显示出遗忘模型成功逼近了理想的重训练状态。进一步，通过特征表示的可视化结果也能明显看出模型调整后的作用：图 a 展示的是基准模型，不同类别的数据在特征空间中聚成明显的团块，类别间区分清晰；图 c 则表明在彻底重训练后，待遗忘数据的原本聚类被有效打散，分布渗透到其他类别的团块之中，模型已无法准确区分这些待遗忘样本的原始类别。图 d 进一步展示了特征分布的动态变化：蓝色为成员数据，绿色为非成员数据，粉色代表待遗忘数据的初始状态，黄色为遗忘后状态。可见，遗忘后待遗忘数据的特征向量由原先的高度聚集状态被有意识地驱散，分布到非成员数据周围，与作者提出的设计目标高度一致。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-28-31.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-28-31.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;关于第三个问题预测能力的准确性，可以看到图中 FedEditor 的数据非常亮眼，在各个算法中都名列前茅，这因为 FedEditor 有明确的对齐目标，而且专注于表示层的修改，相比之下，Rap_train 等被动方法虽然准确但太慢，而 GA 等主动方法虽然快但会严重破坏模型性能。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-29-44.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-29-44.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;全局损失函数由三部分组成，通过消融实验证明三部分缺一不可，且 FedEditor 精心选择 a 和 r 最后取得了平衡点
为什么不涉及β，在多目标优化中，通常需要选定一个基准。由于 lr 代表的是“保持正常功能”这个最基础的目标，作者把它设为 1（基准单位）。默认 a 是 10,r 是 0.1&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-31-30.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-31-30.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;不同分布的非成员数据对模型训练的影响：图中从左到右，所选非成员数据集的质量依次降低，但实验结果显示，无论非成员数据质量如何，模型的遗忘效果与剩余数据的准确率基本保持稳定。这表明，甚至随意选取一些无关图片作为非成员数据，也能够有效支撑算法实现遗忘目标。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-32-17.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-32-17.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FedEditor 带来的额外计算和通信开销极小。实验还表明，即使显著降低非成员数据的比例，对最终模型性能和遗忘效果的影响也非常有限，算法鲁棒性较强，无需高比例非成员数据即可达到理想表现。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-34-41.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-34-41.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;作者还进一步通过实验探究了能否实现对整类对象的遗忘（如遗忘所有猫或所有狗）。结果显示，在原始模型中，模型的注意力主要集中在动物的眼睛、鼻子等关键区域，以辅助类别判别；而理想模型则不再关注这些区域。经过 FedEditor 算法处理后，模型的注意力分布与理想重训练模型高度一致，充分证明了该方法在整类遗忘场景下同样具备良好效果和可行性。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-03-21-22-37-21.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-37-21.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最后，作者还在多种车联网现实复杂场景下对 FedEditor 的稳定性进行了深入验证。实验涵盖了不同类别和任务设置，即使在各种极端或高难度的环境中，FedEditor 依然展现出显著的稳健性。尽管任务复杂度提升会带来模型性能的轻微下降，但整体表现依然优异，各项指标变化均处于可接受范围之内，充分证明了算法的通用性与稳定性。&lt;/p&gt;
&lt;h2 id="6-总结与思考"&gt;6. 总结与思考
&lt;/h2&gt;&lt;p&gt;&lt;a href="images/2026-03-21-22-40-51.png" target="_blank"&gt; &lt;img src="images/2026-03-21-22-40-51.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FedEditor 创新性地将轻量级本地遗忘机制集成到联邦学习流程中。针对待遗忘车辆的数据，FedEditor 精确构建了目标对齐方案，并结合表征空间净化技术，有效消除了遗忘数据对全局模型的影响。同时，FedEditor 利用目标车辆的剩余数据优化模型输出分布，通过引入正则化项抑制模型漂移，确保在遗忘过程中全局模型的预测能力稳定。大量实验结果进一步验证，FedEditor 能以高效率完成有效遗忘，同时几乎不影响全局模型对遗忘数据以外样本的预测性能。&lt;/p&gt;
&lt;h2 id="7-参考文献"&gt;7. 参考文献
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;原文引用格式（IEEE 格式）：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;X. Yuan, J. Liu, B. Wang, G. Chen, X. Xu, J. Wang, T. Li, and W. Wang,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#34;FedEditor: Efficient and Effective Federated Unlearning in Cooperative
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Intelligent Transportation Systems,&amp;#34; IEEE Transactions on Information
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Forensics and Security, vol. 20, pp. 6560-6575, 2025.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DOI: 10.1109/TIFS.2025.3583231
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;相关链接：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;论文 DOI: &lt;a class="link" href="https://doi.org/10.1109/TIFS.2025.3583231" target="_blank" rel="noopener"
&gt;https://doi.org/10.1109/TIFS.2025.3583231&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;代码仓库：&lt;a class="link" href="https://github.com/XXiaoY/Fededitor" target="_blank" rel="noopener"
&gt;https://github.com/XXiaoY/Fededitor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;</description></item><item><title>PyTorch 基础入门</title><link>https://ysy.fan/p/pytorch-basics/</link><pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate><guid>https://ysy.fan/p/pytorch-basics/</guid><description>&lt;h2 id="1-前言"&gt;1. 前言
&lt;/h2&gt;&lt;p&gt;开始学习 PyTorch，记录基础知识和学习心得。&lt;/p&gt;
&lt;h2 id="2-pytorch-简介"&gt;2. PyTorch 简介
&lt;/h2&gt;&lt;p&gt;PyTorch 是一个基于 Python 的科学计算包，主要用于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;替代 NumPy，利用 GPU 加速&lt;/li&gt;
&lt;li&gt;提供灵活的深度学习研究平台&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-环境配置"&gt;3. 环境配置
&lt;/h2&gt;&lt;h3 id="31-配置-anaconda"&gt;3.1. 配置 Anaconda
&lt;/h3&gt;&lt;p&gt;在开始 PyTorch 学习前，使用 Anaconda 进行环境隔离是最佳选项，避免不同项目的依赖冲突。&lt;/p&gt;
&lt;p&gt;操作步骤：&lt;/p&gt;
&lt;p&gt;点击底部的 Create 按钮。&lt;/p&gt;
&lt;p&gt;Name (名称)：设置为 pytorch（清晰明了，便于识别）。&lt;/p&gt;
&lt;p&gt;Packages (版本选择)：勾选 Python，并选择 3.12 版本。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-21-30-21.png" target="_blank"&gt; &lt;img src="images/2026-02-10-21-30-21.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;💡 版本选择思路 (2026 Q1)：推荐选择 Python 3.12。相比于旧版本，它拥有更好的性能；相比于最新的 3.13+ 版本，它在 PyTorch 生态圈（包括 NumPy, Pandas 等依赖库）中的兼容性最为成熟稳定。&lt;/p&gt;
&lt;h3 id="32-安装-pytorch"&gt;3.2. 安装 PyTorch
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;确认显卡驱动与 CUDA 版本&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在安装 GPU 版本的 PyTorch 前，必须确认显卡驱动支持的最高 CUDA 版本。&lt;/p&gt;
&lt;p&gt;操作：Win + R 打开运行 -&amp;gt; 输入 cmd -&amp;gt; 输入指令 nvidia-smi。&lt;/p&gt;
&lt;p&gt;关键信息：查看右上角的 CUDA Version（例如：13.1）。&lt;/p&gt;
&lt;p&gt;⚠️ 重要原则：官网下载时选择的 CUDA 版本（Runtime）必须 &amp;lt;= 电脑显示的 CUDA 版本（Driver）。&lt;/p&gt;
&lt;p&gt;win+r，输入 cmd 回车打开终端，在终端输入 nvidia-smi 回车，第一行最右边就是适合你选择的 CUDA 版本&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-21-53-17.png" target="_blank"&gt; &lt;img src="images/2026-02-10-21-53-17.png" alt="image" style="max-width: 50%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-21-53-50.png" target="_blank"&gt; &lt;img src="images/2026-02-10-21-53-50.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;ol start="2"&gt;
&lt;li&gt;获取安装指令&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;前往 &lt;a class="link" href="https://pytorch.org/get-started/locally/" target="_blank" rel="noopener"
&gt;PyTorch 官网&lt;/a&gt;，根据机器配置选择：&lt;/p&gt;
&lt;p&gt;PyTorch Build: Stable&lt;/p&gt;
&lt;p&gt;Your OS: Windows&lt;/p&gt;
&lt;p&gt;Package: Pip&lt;/p&gt;
&lt;p&gt;Language: Python&lt;/p&gt;
&lt;p&gt;Compute Platform: CUDA 13.0 (根据上一步确认的版本选择，这里选 13.0 是安全的，因为 13.0 &amp;lt; 13.1)&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-21-55-27.png" target="_blank"&gt; &lt;img src="images/2026-02-10-21-55-27.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;执行安装&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;打开 Anaconda Navigator，找到 pytorch 环境。&lt;/p&gt;
&lt;p&gt;点击播放键 ▶️ -&amp;gt; 选择 Open Terminal（这一步确保了命令是在虚拟环境中运行）。&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-22-00-24.png" target="_blank"&gt; &lt;img src="images/2026-02-10-22-00-24.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;粘贴并运行官网生成的指令：&lt;/p&gt;
&lt;p&gt;(注：下载文件较大，约 2GB+，请耐心等待)&lt;/p&gt;
&lt;p&gt;&lt;a href="images/2026-02-10-22-02-31.png" target="_blank"&gt; &lt;img src="images/2026-02-10-22-02-31.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;验证安装 (Verification)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;安装完成后，必须验证 PyTorch 能否正确调用 GPU。在当前终端输入 python 进入交互模式：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;import torch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 检查 CUDA 是否可用，返回 True 即为成功
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;torch.cuda.is_available()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;br/&gt;
&lt;a href="images/2026-02-10-22-08-48.png" target="_blank"&gt; &lt;img src="images/2026-02-10-22-08-48.png" alt="image" style="max-width: 100%; width: 1000px;"/&gt; &lt;/a&gt;
&lt;h2 id="5-参考资料"&gt;5. 参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://pytorch.org/docs/stable/index.html" target="_blank" rel="noopener"
&gt;PyTorch 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://pytorch.org/tutorials/" target="_blank" rel="noopener"
&gt;PyTorch 官方教程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>