当前位置: 首页 > news >正文

可解释AI实战:从LIME、SHAP到反事实解释的技术演进与应用

1. 项目概述:为什么我们需要“看得懂”的AI?

在过去的几年里,AI模型,尤其是深度学习,已经渗透到我们生活的方方面面,从推荐你下一部想看的电影,到辅助医生诊断X光片,再到决定一笔贷款能否获批。这些模型的能力越来越强,但一个核心问题也随之浮出水面:它们是如何做出这些决策的?当模型预测一个病人患有高风险疾病时,医生需要知道是哪些影像特征导致了这一判断;当贷款申请被拒绝时,申请人有权知道是哪些因素拖了后腿。这种对模型决策过程的透明化需求,催生了一个至关重要的研究领域——可解释人工智能。

可解释AI的核心目标,就是让“黑箱”模型变得可理解、可信任。它不仅仅是为了满足好奇心或监管要求,更是为了在实际应用中建立责任、发现偏差、调试模型,并最终实现人机协作的闭环。想象一下,一个准确率高达99%的癌症筛查模型,如果医生完全无法理解其判断依据,他敢完全依赖这个结果吗?答案显然是否定的。因此,可解释性已经从“锦上添花”变成了AI系统落地,特别是在医疗、金融、司法等高风险领域的“准入门槛”。

这个领域的技术演进,大致可以看作一条从“事后局部解释”到“因果与反事实推理”的路径。早期的方法,如LIME和SHAP,像是一个“事后侦探”,在模型做出预测后,通过扰动输入来推测哪些特征起了关键作用。而近年来兴起的反事实解释,则更像一个“规划师”,它不满足于解释“为什么是这样”,而是试图回答“如果要改变结果,需要怎么做”。理解这条演进脉络,不仅能帮助我们选择合适的工具,更能让我们洞察AI可解释性未来的发展方向。

2. 核心思路演进:从“特征重要性”到“最小改变量”

2.1 局部可解释模型(LIME)的奠基性思路

LIME,全称Local Interpretable Model-agnostic Explanations,翻译过来就是“局部可解释的模型无关解释”。这个名字几乎概括了它的全部精髓。它的核心思想非常直观:对于一个复杂的“黑箱”模型(比如一个深度神经网络)在某个特定数据点上的预测,我们不去试图理解整个复杂模型,而是在这个数据点附近,用一个简单、可解释的模型(比如线性回归或决策树)去近似拟合复杂模型的行为

为什么是“局部”的?因为一个复杂的非线性决策边界,在全局范围内可能极其蜿蜒曲折,无法用一个简单模型描述。但在单个数据点附近的一个小邻域内,这个决策边界可以近似看作线性的或简单的。LIME就是利用了这种局部平滑性。

它的工作流程可以这样理解:

  1. 选定一个你想解释的预测:比如,模型判断某张图片是“狼”。
  2. 在原始数据点周围生成大量扰动样本:对这张图片进行各种微小的修改,比如遮挡部分区域、改变像素值等,生成一堆相似的“新图片”。
  3. 用黑箱模型对这些新样本进行预测:得到每张新图片是“狼”的概率。
  4. 训练一个可解释的模型:以这些扰动样本为输入,以其对应的预测概率为输出,训练一个简单的线性模型。这个线性模型的权重,就代表了原始图片中各个“超级像素”(由相似像素组成的块)对于“狼”这个预测的重要性。

LIME的优势与局限:

  • 优势:模型无关,适用于任何黑箱模型;直观易懂,输出是特征权重;开源工具成熟,易于上手。
  • 局限:解释的稳定性可能不足,因为扰动样本的生成具有随机性,多次运行可能得到略有不同的解释;它解释的是“局部近似模型”的行为,而非原始复杂模型的精确机制;对于高维稀疏数据(如文本),定义“邻域”和生成有意义的扰动样本比较困难。

实操心得:使用LIME时,最关键的是扰动样本的生成策略可解释模型的选择。对于图像数据,通常按“超级像素”进行扰动;对于文本,则按单词或n-gram进行删除或替换。可解释模型通常选择线性模型,但也可以尝试决策树。务必多次运行(比如10次),观察解释结果的稳定性。如果每次结果差异很大,说明这个解释的可信度需要打折扣。

2.2 SHAP:基于博弈论的统一理论框架

如果说LIME提供了一种实用的工程化方法,那么SHAP则为其奠定了坚实的理论基础。SHAP全称SHapley Additive exPlanations,其核心思想来源于合作博弈论中的沙普利值。沙普利值用于公平地分配一群合作者共同创造的总收益给每个参与者。

SHAP如何将博弈论用于模型解释?它将模型的预测值视为所有特征“合作”产生的“总收益”。每个特征的“贡献”就是它的沙普利值。计算一个特征的沙普利值,需要考虑该特征在所有可能的特征子集中出现的边际贡献,然后进行加权平均。

具体来说,对于一个预测f(x),其SHAP值解释为:f(x) = 基线预测值 + 特征1的SHAP值 + 特征2的SHAP值 + ... + 特征n的SHAP值这里的基线预测值通常是模型在所有数据上的平均预测值。每个特征的SHAP值可正可负,表示该特征相对于基线是将预测值推高还是拉低。

SHAP的优势:

  • 坚实的理论基础:沙普利值具有唯一性、对称性、可加性等优良数学性质,这使得SHAP解释具有理论上的严谨性和公平性。
  • 全局与局部解释的统一:通过计算每个数据点每个特征的SHAP值,我们可以聚合得到特征的全局重要性(如对所有样本的SHAP绝对值取平均),同时也能获得精细的局部解释。
  • 丰富的可视化:SHAP库提供了力力图、依赖图、汇总图等强大的可视化工具,能直观展示特征影响。

局限与挑战:

  • 计算成本高:精确计算沙普利值需要遍历所有特征子集,复杂度是指数级的。对于有k个特征的问题,需要计算2^k种组合。在实际中,通常采用基于蒙特卡洛采样的近似算法,但这仍可能比较耗时。
  • 特征独立性假设:经典SHAP计算假设特征之间是独立的,这在现实数据中往往不成立。虽然有针对树模型(TreeSHAP)的高效精确算法,且能处理特征依赖,但对于其他模型类型,特征相关性问题仍是一个挑战。

注意事项:当使用SHAP解释线性模型或树模型时,结果非常直观可靠。但对于深度神经网络等复杂模型,计算通常依赖近似方法。务必注意计算时间样本量的权衡。对于大型模型,可以先在数据子集上计算SHAP值以评估可行性。另外,解读SHAP图时,要理解“基线值”的含义,它代表了“没有此样本任何信息时的平均预测”,是解释的参考零点。

2.3 反事实解释:迈向可行动的洞察

LIME和SHAP主要回答的问题是:“为什么模型给出了这个预测?” 它们通过归因于输入特征来提供解释。而反事实解释则提出了一个不同但极其有用的问题:“如果要得到不同的预测结果,最小的改变应该是什么?

一个经典的例子是贷款被拒:

  • 基于特征归因的解释(LIME/SHAP):“您的申请被拒绝,主要是因为您的年收入较低,且信用历史较短。”
  • 反事实解释:“如果您的年收入能增加5万元,或者您的信用历史能再延长6个月,那么您的贷款申请就很可能获得批准。”

可以看到,反事实解释不仅提供了洞察,更提供了指向性的、可操作的反馈。它生成的是一个(或多个)与原始输入相似但预测结果不同的“反事实样本”。

生成反事实解释的核心挑战与思路:

  1. 有效性:生成的样本必须被模型预测为期望的类别(如“批准贷款”)。
  2. 邻近性:生成的样本应该与原始样本尽可能相似,改变要尽可能小。这通常通过最小化两者之间的距离(如L1或L2距离)来量化。
  3. 可行性:改变的特征在现实世界中应该是可行的。例如,建议用户“将年龄减少5岁”就是不可行的。
  4. 多样性:可能存在多条路径达到目标,提供多样化的反事实建议更有帮助。

实现方法通常被构建为一个优化问题:最小化:距离(原始样本, 反事实样本) + 其他约束项约束条件:模型预测(反事实样本) = 期望类别

由于模型通常是不可微的黑箱,解决这个优化问题需要一些技巧,比如使用遗传算法、基于梯度的方法(如果模型可微)或专门设计的搜索算法。

反事实解释的优势与应用场景:

  • 可操作性强:直接告诉用户“该怎么做”,特别适用于决策支持系统,如金融、招聘、教育等领域。
  • 直观易懂:对比“改变前”和“改变后”的样本,普通人很容易理解。
  • 揭示模型决策边界:通过观察哪些特征容易被改变以翻转决策,可以洞察模型的敏感点和潜在偏见。
  • 合规与公平性审计:可以用来检测模型是否存在不合理的依赖,例如,是否仅仅因为邮政编码(关联种族)的微小改变就导致决策反转。

实操心得:生成高质量的反事实解释并非易事。首先,要明确定义“相似性”,对于混合型数据(数值+类别),需要设计合适的距离度量。其次,可行性约束至关重要,需要将领域知识编码到优化过程中,例如,某些特征只能单向变化(收入只能增加),某些特征之间存在逻辑关联(受教育年限与年龄)。最后,建议生成多个反事实样本供用户参考,因为通往目标的路径可能不止一条。工具方面,可以关注alibidice-ml等开源库。

3. 技术选型与实战工具解析

面对LIME、SHAP、反事实解释等多种技术,在实际项目中如何选择?这取决于你的核心问题、模型类型和资源约束。

3.1 如何根据场景选择解释方法?

我们可以通过一个决策矩阵来辅助选择:

解释方法核心问题最佳适用场景模型要求计算成本输出形式
LIME为什么模型对这个特定实例做出了如此预测?需要快速、直观的局部解释,特别是图像、文本分类任务。向业务方或终端用户展示“模型看到了什么”。模型无关,任何黑箱模型均可。中等。需要多次调用模型进行预测。特征权重列表、可视化(图像高亮、文本高亮)。
SHAP每个特征对这个预测(局部)或整体模型(全局)的平均贡献是多少?需要兼具理论严谨性和丰富可视化。用于特征重要性分析、模型调试、发现潜在偏见。深度分析场景。模型无关,但有针对树模型(XGBoost, LightGBM)的高效TreeExplainer中到高。精确计算开销大,通常用近似。SHAP值(数值)、力力图、汇总图、依赖图。
反事实解释需要做出最小的哪些改变才能得到不同的预测结果?需要提供可操作建议的场景,如信贷拒贷解释、个性化推荐改进、算法决策申诉。通常是模型无关的,但需要能对反事实样本进行预测。通常很高。涉及迭代优化或搜索。一个或多个修改后的数据实例(反事实样本)。

选择指南:

  • 第一步,明确目标:你是要向最终用户解释一个具体决策(用LIME或局部SHAP),还是要向数据分析师或审计人员解释模型的整体行为(用全局SHAP),还是要提供改进建议(用反事实)?
  • 第二步,考虑模型:如果你的模型是树集成模型(如XGBoost),TreeSHAP是你的首选,因为它计算高效且能处理特征依赖。对于深度学习模型,LIME和核SHAP是更通用的选择。
  • 第三步,评估资源:对于实时性要求高的应用(如每秒需要解释成千上万个预测),LIME可能比SHAP更轻量。反事实解释通常计算最重,适合离线或异步处理。

3.2 主流工具链与实战代码片段

1. LIME 实践 (以文本分类为例)假设我们有一个训练好的文本情感分类模型text_classifier

import lime from lime.lime_text import LimeTextExplainer # 初始化解释器 explainer = LimeTextExplainer(class_names=['负面', '正面']) # 选择一个待解释的文本实例 text_instance = "这部电影的剧情糟糕透顶,但特效还算震撼。" # 生成解释 # 注意:`predict_proba` 需要返回样本属于各个类别的概率数组 exp = explainer.explain_instance(text_instance, classifier_fn=text_classifier.predict_proba, num_features=6) # 返回最重要的6个特征(词) # 可视化解释 exp.show_in_notebook(text=True) # 输出会高亮显示对“负面”预测贡献最大的词(如“糟糕透顶”)和对“正面”有贡献的词(如“震撼”)

关键参数解析

  • num_features:控制解释的复杂度。太小可能丢失关键信息,太大则解释会变得冗长。通常从5-10开始尝试。
  • num_samples:生成扰动样本的数量。默认是5000。增加样本数会使解释更稳定,但计算更慢。
  • classifier_fn:你的模型预测函数。必须返回概率值,因为LIME需要概率来拟合局部模型。

2. SHAP 实践 (以树模型XGBoost为例)这是SHAP最高效、最常用的场景。

import xgboost import shap # 1. 训练一个XGBoost模型 X, y = ... # 你的训练数据 model = xgboost.XGBClassifier().fit(X, y) # 2. 创建TreeExplainer explainer = shap.TreeExplainer(model) # 3. 计算SHAP值 (可以计算整个数据集,也可以计算单个样本) shap_values = explainer.shap_values(X) # 计算整个训练集的SHAP值 # 4. 可视化 # 全局特征重要性汇总图 shap.summary_plot(shap_values, X, plot_type="bar") # 每个样本的SHAP值蜜蜂图,展示特征值与SHAP值的关系 shap.summary_plot(shap_values, X) # 单个预测的解释力力图 shap.force_plot(explainer.expected_value, shap_values[0,:], X.iloc[0,:], matplotlib=True)

注意事项

  • TreeExplainer是为树模型设计的,计算速度极快。对于非树模型,应使用shap.KernelExplainershap.DeepExplainer(针对深度学习)。
  • shap_values的维度是(n_samples, n_features)。对于分类问题,如果是多分类,shap_values会是一个列表,每个元素对应一个类别的SHAP值矩阵。
  • expected_value是模型的基线输出,即所有样本预测值的平均。

3. 反事实解释实践 (使用alibi库)这里以表格数据分类为例。

from alibi.explainers import Counterfactual import numpy as np # 假设我们有一个训练好的Keras模型 `model` 和训练数据 `X_train` # 定义特征取值范围,这对于生成可行的反事实至关重要 feature_range = [(X_train[:,i].min(), X_train[:,i].max()) for i in range(X_train.shape[1])] # 初始化反事实解释器 cf = Counterfactual(predict_fn=model.predict, shape=(1,) + X_train.shape[1:], # 输入形状 feature_range=feature_range, target_proba=1.0, # 希望反事实样本属于目标类的概率 tol=0.01, # 目标概率容差 max_iter=1000, # 优化最大迭代次数 lam_init=1e-1, # 初始化正则化参数 ) # 生成一个反事实解释 instance = X_test[0:1] # 选择一个测试样本 explanation = cf.explain(instance, target_class=1) # 希望将其解释为类别1 if explanation.cf is not None: print("原始样本预测:", model.predict(instance)) print("反事实样本预测:", model.predict(explanation.cf)) print("反事实样本与原始样本的差异:\n", explanation.cf - instance) # 可以计算哪些特征发生了改变,以及改变的大小 else: print("未找到符合条件的反事实样本。")

关键点

  • feature_range:必须提供,否则生成的改变可能不现实(如年龄变成负数)。
  • target_probatol:控制反事实样本预测的置信度。
  • lam_init:平衡“与原始样本相似度”和“达到目标类别”两项损失权重的参数。可能需要调试。
  • 反事实生成可能失败(返回None),特别是当决策边界非常陡峭或约束太严格时。

4. 高级话题与前沿挑战

4.1 可解释性与隐私、安全的博弈

可解释性在带来透明度的同时,也可能引入新的风险,主要是模型窃取攻击成员推理攻击

  • 模型窃取攻击:攻击者通过反复查询解释接口(例如,输入大量数据并获取对应的SHAP值或LIME解释),可以近似地重建出一个功能相似的替代模型。如果你的模型是商业机密的核心,这将是重大威胁。
  • 成员推理攻击:通过分析模型对某个数据点的预测置信度或解释细节,攻击者有可能推断出该数据点是否曾被用于训练模型。如果训练数据包含敏感信息(如医疗记录),这将导致隐私泄露。

应对策略

  1. 访问控制与频率限制:对解释API进行严格的访问控制和调用频率限制。
  2. 解释模糊化:在返回的解释中加入可控的随机噪声,在保证解释可用性的同时,降低其被用于重建模型的精度。
  3. 区分解释粒度:对内部开发人员提供详细解释,对外部用户提供聚合的、粗粒度的解释(例如,只提供最重要的3个特征,而不是全部特征的精确值)。

4.2 因果可解释性:从关联到因果

LIME、SHAP等方法本质上揭示的是统计关联,而非因果关系。它们告诉我们哪些特征与预测结果共同变化,但不能断言改变这个特征就一定会导致预测结果变化。这是因为特征之间往往存在复杂的相关性和混杂因素。

例子:一个预测房价的模型可能给出“附近有咖啡馆”是一个正权重特征。SHAP会告诉我们,有咖啡馆的房子平均预测价格更高。但这不等于建造一个咖啡馆就能导致房价上涨。可能是“高收入人群聚集区”这个混杂因素同时导致了“咖啡馆多”和“房价高”。

因果可解释性试图超越关联,回答干预性因果问题:“如果干预某个特征(如强制在所有区域建造咖啡馆),预测结果会如何变化?” 这需要结合因果图、do-演算等因果推断工具。虽然目前仍处于研究前沿,与主流可解释工具结合不深,但它是实现真正可靠、可行动解释的必然方向。一些新兴方法开始尝试将反事实解释与因果假设结合,生成在因果上更可信的改变建议。

4.3 评估解释方法本身:我们如何相信一个解释?

这是一个元问题:我们如何知道一个解释方法(比如LIME)给出的解释是“好”的?目前还没有黄金标准,但有一些被广泛讨论的评估维度:

  1. 保真度:解释在多大程度上忠实于原模型?例如,LIME拟合的局部线性模型,在该数据点附近的预测是否与复杂黑箱模型的预测高度一致?可以通过计算局部R²等指标来衡量。
  2. 稳定性:对同一个输入,多次运行解释方法,得到的结果是否一致?如果每次解释的关键特征都不同,那么这个解释就不可信。
  3. 可理解性:解释对人类来说是否容易理解?这比较主观,但可以通过用户研究来评估。
  4. 简洁性:解释是否足够简洁,只包含最重要的因素?奥卡姆剃刀原理在这里适用。
  5. 可行性(针对反事实):生成的建议在现实世界中是否可行?

在实际项目中,建议至少对保真度稳定性进行定量检查。例如,对于LIME,可以计算局部代理模型在扰动样本集上的预测与原模型预测的相关系数;对于SHAP,可以检查多次近似计算下SHAP值的变化。

5. 行业应用案例深度剖析

5.1 金融风控:从拒贷解释到风险洞察

在信贷审批中,监管要求(如欧盟GDPR的“解释权”)强制要求对自动化决策提供解释。可解释AI在这里的应用是刚需。

  • 传统做法:使用逻辑回归等天生可解释的模型。但它们的预测性能往往不如复杂的梯度提升树或神经网络。
  • 现代做法:使用XGBoost/LightGBM等高性能模型,辅以SHAP进行解释。
    • 全局层面:风险建模团队利用SHAP摘要图,识别出驱动整体风险的最核心变量(如“历史逾期次数”、“负债收入比”),这有助于验证模型是否符合业务常识和风控策略。
    • 局部层面:当一份申请被模型拒绝时,系统可以调用shap.force_plot生成一个力力图。这张图可以直观地展示:申请人的“当前逾期次数”特征将其评分拉低了50分,而“稳定的工作年限”特征将其评分拉高了20分,但最终总分仍低于阈值。这份解释可以自动生成并附在拒贷通知中,清晰明了。
    • 反事实应用:更进一步,系统可以提供反事实解释:“如果您的信用卡利用率从80%降低到50%,您的申请评分将超过批准线。” 这为用户提供了明确的改进方向。

踩坑实录:在金融场景中,要特别注意特征的可解释性和稳定性。模型可能学到一些高度相关但业务上难以解释的特征组合,虽然SHAP能给出贡献度,但业务方可能无法理解。此外,模型的输入特征本身必须是合规的,不能使用性别、种族等受保护属性。SHAP可以帮助监控模型是否间接地通过相关变量(如邮政编码)利用了这些敏感信息。

5.2 医疗影像诊断:构建医生与AI的协作桥梁

AI在医学影像的病灶检测、分类上已达到甚至超越人类专家的水平,但医生的采纳瓶颈往往在于“不信任这个黑箱”。

  • 应用场景:一个用于检测糖尿病性视网膜病变的深度学习模型。
  • LIME/SHAP的应用:当模型判断一张眼底照片为“重度病变”时,Grad-CAM(一种基于梯度的、类似LIME的视觉解释方法)可以在原图上高亮显示出模型做出判断所依据的图像区域,比如微动脉瘤、出血点的聚集区域。医生可以快速核对这些区域是否确实是临床关注的病变特征。
  • 价值
    1. 建立信任:医生看到AI关注的区域与医学知识吻合,会增加对AI辅助诊断的信心。
    2. 发现新知:有时AI可能关注到一些人类医生容易忽略的、但具有预测价值的细微模式,这可以反过来启发新的医学研究。
    3. 质量控制:如果解释显示模型是基于图像边缘的伪影或水印做出判断,那就发现了模型的重大缺陷,需要重新训练。
  • 反事实的想象空间:虽然目前较少直接应用,但可以设想一个场景:对于被模型判为“疑似病变”的模糊案例,系统可以生成反事实图像——“如果这些微小斑点再淡化一些,模型就会将其判为正常”。这可以帮助医生更聚焦于最关键的鉴别特征。

实操心得:在医疗领域,解释的准确性可靠性就是生命线。视觉解释方法(如Grad-CAM, LIME for Image)生成的热力图必须精确对应解剖结构。需要与领域专家(放射科医生)紧密合作,对解释结果进行大量的人工验证和评估。此外,要避免“虚假解释”,即热力图看起来合理,但实际上模型是依靠其他无关特征做出的决策,这需要通过严格的消融实验来验证。

5.3 推荐系统:超越“猜你喜欢”的透明化

推荐系统影响着我们获取信息、商品和服务的视野,其可解释性关乎用户体验、商业信任和算法公平。

  • 传统困境:协同过滤模型常说“因为和你相似的用户也喜欢这个”,这实际上没有解释力。
  • 可解释推荐
    • 基于内容的解释:对于基于深度学习的推荐模型,可以使用SHAP或类似技术。例如,在视频推荐中,解释可以是:“推荐这部纪录片给你,主要是因为你对‘历史’、‘战争’标签的兴趣权重很高,而这部片子在这两个标签上得分也很高。” 这比“相似用户喜欢”更有信息量。
    • 反事实解释:用户问:“为什么总是给我推荐这种类型的视频?” 系统可以生成反事实解释:“如果您在过去一周少看一些A类视频,多看一些B类视频,那么您的推荐流中C类视频的比例将会上升20%。” 这赋予了用户一定的控制感和探索引导。
    • 会话式解释:结合自然语言生成技术,将特征重要性转化为一句流畅的话:“为您推荐这款登山鞋,主要是考虑到您最近浏览过户外装备,且这款鞋在防水性和轻量化上评分突出。”

注意事项:在推荐系统中,可解释性可能是一把双刃剑。过于详细的解释可能让用户感到被窥探,或者让竞争对手轻易洞察你的算法逻辑。因此,需要设计解释的粒度呈现方式。通常,提供一个简洁的、基于主要一两个因素的解释,并在设置中提供“了解更多”的选项,是一个平衡的做法。同时,要确保解释本身不会强化“信息茧房”,例如,不应该只说“因为你喜欢X,所以推荐更多X”,而可以尝试“虽然你喜欢X,但尝试一些具有Y特性的内容也可能不错”。

http://www.jsqmd.com/news/783156/

相关文章:

  • 苏州蔷薇吊装搬运:口碑好的苏州设备搬运公司推荐哪几家 - LYL仔仔
  • 自贡房屋装修预算超支?看看这份2026年全屋定制整装对比评测 - 优质企业观察收录
  • CANN/ops-math ReplicationPad3d算子
  • cann/ops-cv非连续Tensor说明
  • CANN/pypto浮点数取模运算API文档
  • CANN/atvoss默认块配置说明
  • 结构型设计模式——桥接模式
  • 公平AI与领域知识融合:构建可解释的酒驾风险预测模型
  • 2026年成都水刀配件市场深度横评:力好机械一站式供应解决方案 - 企业名录优选推荐
  • CANN算子基础框架库
  • cherry Studio中配置openClaw教程
  • C 语言11 函数传参与递归
  • CANN元数据定义FrameworkType
  • 全域旅游打破资源壁垒,巨有科技一机游赋能区域文旅高质量发展
  • 语义通信赋能AIGC:基于ControlNet的高效可控图像生成框架解析
  • AI赋能分支定界算法:机器学习如何优化混合整数规划求解效率
  • 构建XAI与人类决策的统一框架:从证据积累到可解释AI实践
  • 昇腾CANN PTO ISA 概述
  • CANN运行时TDT通道基础传输
  • CANN/asnumpy 基准测试
  • AI+SPU-Net:机器人辅助脊柱手术的自动切面规划技术详解
  • CANN/ops-transformer FFA算子设计
  • 5分钟彻底优化魔兽争霸3:解锁高帧率与宽屏支持的完整指南
  • CANN驱动获取设备PCIe信息v2
  • CANN/PTO-ISA同步算法优化
  • 从停机问题到AI责任:技术不可判定性与法律归责的跨界思考
  • CANN/pyasc向上取整函数
  • SMDA扩散(面向线性复杂度长上下文语言建模的序列流形扩散聚合) 下一代 大模型核心模型,有可能取代Transformer架构的自注意力机制
  • LobeHub 这玩意儿,到底香在哪?
  • AI赋能空间天气预报:深度学习预测太阳耀斑的技术实践