学习日记-250305

阅读论文:Leveraging Pedagogical Theories to Understand Student Learning
Process with Graph-based Reasonable Knowledge Tracing
ps:代码逻辑最后一点还没理顺,明天继续
4.2 Knowledge Memory & Knowledge Tracing
代码研究:

一般经验值:

  • k_hop = 1~2(默认值 1)适用于大多数知识追踪任务。
  • k_hop > 3 可能会导致模型难以优化,但适用于知识点间关系复杂的情况。
选择 k_hop 需要权衡:
  • 太小(1)→ 只能学习局部信息,捕捉不到远程知识关系。
  • 太大(>3)→ 可能导致信息过度传播,使所有知识点变得相似,影响模型效果。

1. 部分代码拆解(一)

learn_kernel_para = F.softplus(lk_tilde) * self.args.alpha  # [NK, KH]
  • lk_tilde

    • 之前通过 k_hop 传播,整合了知识点的关联、前置、后续信息
    • 它的形状 [NK, KH],表示 NK 个知识点在 KH 维隐藏空间的表示。
  • F.softplus(lk_tilde)

    • Softplus(x) = log(1 + e^x)
    • 这是平滑版的 ReLU,确保 learn_kernel_para 非负
    • 作用:
      • 当 x→−∞x \to -\inftyx→−∞,Softplus 逼近 0(防止负数影响计算)。
      • 当 x→+∞x \to +\inftyx→+∞,Softplus 逼近 xxx(近似线性增长)。
  • self.args.alpha

    • alpha 是超参数,控制学习核参数的影响范围。
    • 调节学习速率,防止 learn_kernel_para 过大或过小,影响梯度更新。

2. learn_kernel_para 的作用

learn_kernel_para 作为学习能力参数,决定:

  1. 学生在不同知识点上的学习速率(较大值表示容易学会,较小值表示难以掌握)。
  2. 如何在时间维度上影响知识状态的更新,即影响后续 h(知识状态)的变化。

forward() 过程中,它用于调整:

learn_exp = (-(learn_count[:, :, None].float() + 1) * delta_time * learn_kernel_para).exp()
  • learn_kernel_para 越大,学习速率越快,知识状态更新更快。
  • learn_kernel_para 越小,学习速率越慢,知识掌握变化较小。

3. 为什么要用 Softplus

  • 保证非负性
    • learn_kernel_para 不能是负数,否则会影响学习状态更新计算。
    • Softplus(x) 始终是正数,防止 lk_tilde 可能的负值影响学习计算。
  • 平滑版 ReLU,防止梯度消失
    • 由于 softplus(x) ≈ x 在大值时近似线性,在小值时不会变成 0,因此可以避免梯度消失问题

4. 直观理解

如果你是一个学生:

  • learn_kernel_para 表示你的学习能力
    • learn_kernel_para → 你对该知识点的学习速度(容易掌握)。
    • learn_kernel_para → 你对该知识点的学习速度(难以掌握)。

softplus(lk_tilde) 确保:

  • 学习能力 learn_kernel_para 始终为正数,避免错误学习率。
  • 通过 alpha 控制学习速率,防止学习能力过大或过小。

5. 结论

计算学习核参数,决定知识点的学习速度。
Softplus 确保非负,避免负学习率问题。
乘以 alpha 进行缩放,防止数值过大或过小。
影响后续知识状态 h 的更新,使得知识点的掌握程度符合学习规律。

训练代码记录:
/home/edurs/anaconda3/bin/conda run -n ma12 --no-capture-output python /home/edurs/GRKT_new/Training.py 
Training start...
Evaluation before training: AUC: 0.5757, ACC: 0.6029, 
train_loss: 0.6036, AUC: 0.7184, ACC: 0.6976,  * 0.7079
train_loss: 0.5705, AUC: 0.7471, ACC: 0.7121,  * 0.7294
train_loss: 0.5488, AUC: 0.7656, ACC: 0.7259,  * 0.7455
train_loss: 0.5316, AUC: 0.7744, ACC: 0.7319,  * 0.7529
train_loss: 0.5191, AUC: 0.7818, ACC: 0.7379,  * 0.7595
train_loss: 0.5105, AUC: 0.7843, ACC: 0.7396,  * 0.7616
train_loss: 0.5022, AUC: 0.7843, ACC: 0.7396,  * 0.7616
train_loss: 0.4948, AUC: 0.7858, ACC: 0.7401,  * 0.7626
train_loss: 0.4881, AUC: 0.7855, ACC: 0.7381,  
train_loss: 0.4831, AUC: 0.7849, ACC: 0.7402,  
train_loss: 0.4775, AUC: 0.7837, ACC: 0.7390,  
train_loss: 0.4729, AUC: 0.7841, ACC: 0.7373,  
train_loss: 0.4661, AUC: 0.7826, ACC: 0.7386,  
train_loss: 0.4608, AUC: 0.7807, ACC: 0.7379,  
train_loss: 0.4557, AUC: 0.7794, ACC: 0.7354,  
train_loss: 0.4520, AUC: 0.7774, ACC: 0.7359,  
train_loss: 0.4476, AUC: 0.7764, ACC: 0.7324,  
train_loss: 0.4460, AUC: 0.7749, ACC: 0.7349,  
train_loss: 0.4399, AUC: 0.7706, ACC: 0.7327,  
train_loss: 0.4387, AUC: 0.7706, ACC: 0.7302,  
train_loss: 0.4358, AUC: 0.7681, ACC: 0.7286,  
train_loss: 0.4308, AUC: 0.7690, ACC: 0.7300,  
train_loss: 0.4282, AUC: 0.7669, ACC: 0.7259,  
train_loss: 0.4251, AUC: 0.7659, ACC: 0.7285,  
train_loss: 0.4241, AUC: 0.7656, ACC: 0.7261,  
train_loss: 0.4236, AUC: 0.7634, ACC: 0.7231,  
train_loss: 0.4208, AUC: 0.7635, ACC: 0.7261,  
train_loss: 0.4226, AUC: 0.7642, ACC: 0.7273,  
Training stopped.
valid:	 AUC: 0.7858, ACC: 0.7401, 
test:	 AUC: 0.7881, ACC: 0.7376, 
Evaluation before training: AUC: 0.5366, ACC: 0.5602, 
train_loss: 0.6052, AUC: 0.7198, ACC: 0.6977,  * 0.7087
train_loss: 0.5703, AUC: 0.7487, ACC: 0.7145,  * 0.7314
train_loss: 0.5475, AUC: 0.7666, ACC: 0.7266,  * 0.7463
train_loss: 0.5308, AUC: 0.7754, ACC: 0.7328,  * 0.7538
train_loss: 0.5185, AUC: 0.7804, ACC: 0.7347,  * 0.7572
train_loss: 0.5090, AUC: 0.7832, ACC: 0.7374,  * 0.7599
train_loss: 0.5016, AUC: 0.7833, ACC: 0.7372,  
train_loss: 0.4947, AUC: 0.7855, ACC: 0.7408,  * 0.7628
train_loss: 0.4885, AUC: 0.7844, ACC: 0.7375,  
train_loss: 0.4822, AUC: 0.7842, ACC: 0.7397,  
train_loss: 0.4761, AUC: 0.7830, ACC: 0.7383,  
train_loss: 0.4693, AUC: 0.7820, ACC: 0.7365,  
train_loss: 0.4657, AUC: 0.7815, ACC: 0.7354,  
train_loss: 0.4616, AUC: 0.7800, ACC: 0.7357,  
train_loss: 0.4558, AUC: 0.7780, ACC: 0.7346,  
train_loss: 0.4526, AUC: 0.7779, ACC: 0.7337,  
train_loss: 0.4470, AUC: 0.7760, ACC: 0.7338,  
train_loss: 0.4444, AUC: 0.7722, ACC: 0.7310,  
train_loss: 0.4405, AUC: 0.7709, ACC: 0.7313,  
train_loss: 0.4380, AUC: 0.7722, ACC: 0.7290,  
train_loss: 0.4349, AUC: 0.7713, ACC: 0.7283,  
train_loss: 0.4299, AUC: 0.7679, ACC: 0.7293,  
train_loss: 0.4296, AUC: 0.7678, ACC: 0.7266,  
train_loss: 0.4280, AUC: 0.7672, ACC: 0.7281,  
train_loss: 0.4243, AUC: 0.7671, ACC: 0.7291,  
train_loss: 0.4211, AUC: 0.7678, ACC: 0.7275,  
train_loss: 0.4169, AUC: 0.7625, ACC: 0.7234,  
train_loss: 0.4130, AUC: 0.7620, ACC: 0.7232,  
Training stopped.
valid:	 AUC: 0.7855, ACC: 0.7408, 
test:	 AUC: 0.7833, ACC: 0.7349, 
Evaluation before training: AUC: 0.5521, ACC: 0.5002, 
train_loss: 0.6095, AUC: 0.7193, ACC: 0.7016,  * 0.7104
train_loss: 0.5721, AUC: 0.7458, ACC: 0.7158,  * 0.7307
train_loss: 0.5501, AUC: 0.7644, ACC: 0.7284,  * 0.7462
train_loss: 0.5339, AUC: 0.7746, ACC: 0.7325,  * 0.7533
train_loss: 0.5218, AUC: 0.7804, ACC: 0.7388,  * 0.7593
train_loss: 0.5121, AUC: 0.7826, ACC: 0.7404,  * 0.7612
train_loss: 0.5046, AUC: 0.7839, ACC: 0.7417,  * 0.7625
train_loss: 0.4974, AUC: 0.7840, ACC: 0.7407,  
train_loss: 0.4908, AUC: 0.7857, ACC: 0.7433,  * 0.7642
train_loss: 0.4847, AUC: 0.7846, ACC: 0.7412,  
train_loss: 0.4796, AUC: 0.7831, ACC: 0.7383,  
train_loss: 0.4739, AUC: 0.7832, ACC: 0.7390,  
train_loss: 0.4689, AUC: 0.7799, ACC: 0.7381,  
train_loss: 0.4647, AUC: 0.7810, ACC: 0.7382,  
train_loss: 0.4595, AUC: 0.7800, ACC: 0.7358,  
train_loss: 0.4555, AUC: 0.7751, ACC: 0.7348,  
train_loss: 0.4504, AUC: 0.7745, ACC: 0.7323,  
train_loss: 0.4462, AUC: 0.7725, ACC: 0.7313,  
train_loss: 0.4417, AUC: 0.7738, ACC: 0.7307,  
train_loss: 0.4392, AUC: 0.7714, ACC: 0.7304,  
train_loss: 0.4345, AUC: 0.7686, ACC: 0.7302,  
train_loss: 0.4325, AUC: 0.7668, ACC: 0.7277,  
train_loss: 0.4290, AUC: 0.7670, ACC: 0.7250,  
train_loss: 0.4246, AUC: 0.7689, ACC: 0.7300,  
train_loss: 0.4245, AUC: 0.7686, ACC: 0.7294,  
train_loss: 0.4236, AUC: 0.7614, ACC: 0.7202,  
train_loss: 0.4191, AUC: 0.7616, ACC: 0.7248,  
train_loss: 0.4169, AUC: 0.7586, ACC: 0.7238,  
train_loss: 0.4185, AUC: 0.7566, ACC: 0.7239,  
Training stopped.
valid:	 AUC: 0.7857, ACC: 0.7433, 
test:	 AUC: 0.7898, ACC: 0.7377, 
Evaluation before training: AUC: 0.5531, ACC: 0.4871, 
train_loss: 0.6087, AUC: 0.7160, ACC: 0.6958,  * 0.7058
train_loss: 0.5707, AUC: 0.7437, ACC: 0.7116,  * 0.7275
train_loss: 0.5492, AUC: 0.7626, ACC: 0.7252,  * 0.7436
train_loss: 0.5327, AUC: 0.7743, ACC: 0.7335,  * 0.7536
train_loss: 0.5202, AUC: 0.7794, ACC: 0.7379,  * 0.7584
train_loss: 0.5098, AUC: 0.7832, ACC: 0.7376,  * 0.7601
train_loss: 0.5018, AUC: 0.7849, ACC: 0.7421,  * 0.7632
train_loss: 0.4944, AUC: 0.7850, ACC: 0.7387,  
train_loss: 0.4873, AUC: 0.7852, ACC: 0.7406,  
train_loss: 0.4814, AUC: 0.7839, ACC: 0.7390,  
train_loss: 0.4760, AUC: 0.7811, ACC: 0.7369,  
train_loss: 0.4698, AUC: 0.7809, ACC: 0.7356,  
train_loss: 0.4633, AUC: 0.7786, ACC: 0.7362,  
train_loss: 0.4585, AUC: 0.7761, ACC: 0.7322,  
train_loss: 0.4527, AUC: 0.7716, ACC: 0.7324,  
train_loss: 0.4491, AUC: 0.7728, ACC: 0.7310,  
train_loss: 0.4448, AUC: 0.7711, ACC: 0.7314,  
train_loss: 0.4418, AUC: 0.7675, ACC: 0.7279,  
train_loss: 0.4386, AUC: 0.7657, ACC: 0.7287,  
train_loss: 0.4351, AUC: 0.7661, ACC: 0.7277,  
train_loss: 0.4299, AUC: 0.7676, ACC: 0.7285,  
train_loss: 0.4267, AUC: 0.7639, ACC: 0.7256,  
train_loss: 0.4275, AUC: 0.7627, ACC: 0.7255,  
train_loss: 0.4257, AUC: 0.7621, ACC: 0.7242,  
train_loss: 0.4228, AUC: 0.7605, ACC: 0.7230,  
train_loss: 0.4185, AUC: 0.7584, ACC: 0.7213,  
train_loss: 0.4204, AUC: 0.7558, ACC: 0.7217,  
Training stopped.
valid:	 AUC: 0.7849, ACC: 0.7421, 
test:	 AUC: 0.7846, ACC: 0.7337, 
Evaluation before training: AUC: 0.5620, ACC: 0.5893, 
train_loss: 0.6024, AUC: 0.7216, ACC: 0.6950,  * 0.7081
train_loss: 0.5709, AUC: 0.7468, ACC: 0.7105,  * 0.7284
train_loss: 0.5480, AUC: 0.7672, ACC: 0.7211,  * 0.7438
train_loss: 0.5309, AUC: 0.7777, ACC: 0.7293,  * 0.7531
train_loss: 0.5190, AUC: 0.7827, ACC: 0.7327,  * 0.7573
train_loss: 0.5088, AUC: 0.7850, ACC: 0.7351,  * 0.7597
train_loss: 0.5013, AUC: 0.7860, ACC: 0.7350,  * 0.7600
train_loss: 0.4950, AUC: 0.7885, ACC: 0.7351,  * 0.7614
train_loss: 0.4875, AUC: 0.7873, ACC: 0.7363,  
train_loss: 0.4816, AUC: 0.7864, ACC: 0.7344,  
train_loss: 0.4755, AUC: 0.7879, ACC: 0.7366,  * 0.7618
train_loss: 0.4702, AUC: 0.7847, ACC: 0.7331,  
train_loss: 0.4658, AUC: 0.7847, ACC: 0.7327,  
train_loss: 0.4599, AUC: 0.7841, ACC: 0.7325,  
train_loss: 0.4559, AUC: 0.7840, ACC: 0.7328,  
train_loss: 0.4513, AUC: 0.7830, ACC: 0.7312,  
train_loss: 0.4479, AUC: 0.7793, ACC: 0.7301,  
train_loss: 0.4456, AUC: 0.7804, ACC: 0.7310,  
train_loss: 0.4404, AUC: 0.7781, ACC: 0.7285,  
train_loss: 0.4398, AUC: 0.7785, ACC: 0.7280,  
train_loss: 0.4377, AUC: 0.7758, ACC: 0.7285,  
train_loss: 0.4323, AUC: 0.7776, ACC: 0.7260,  
train_loss: 0.4294, AUC: 0.7728, ACC: 0.7283,  
train_loss: 0.4264, AUC: 0.7763, ACC: 0.7278,  
train_loss: 0.4243, AUC: 0.7720, ACC: 0.7260,  
train_loss: 0.4242, AUC: 0.7744, ACC: 0.7267,  
train_loss: 0.4271, AUC: 0.7748, ACC: 0.7263,  
train_loss: 0.4237, AUC: 0.7718, ACC: 0.7247,  
train_loss: 0.4210, AUC: 0.7713, ACC: 0.7267,  
train_loss: 0.4149, AUC: 0.7706, ACC: 0.7250,  
train_loss: 0.4127, AUC: 0.7695, ACC: 0.7239,  
Training stopped.
valid:	 AUC: 0.7879, ACC: 0.7366, 
test:	 AUC: 0.7851, ACC: 0.7369, 
Test result of all the experiments.
AUC:
0.7881
0.7833
0.7898
0.7846
0.7851
ACC:
0.7376
0.7349
0.7377
0.7337
0.7369Average results:
valid:	 AUC: 0.7860, ACC: 0.7406, 
test:	 AUC: 0.7862, ACC: 0.7362, Process finished with exit code 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI大模型】DeepSeek + Kimi 高效制作PPT实战详解

目录 一、前言 二、传统 PPT 制作问题 2.1 传统方式制作 PPT 2.2 AI 大模型辅助制作 PPT 2.3 适用场景对比分析 2.4 最佳实践与推荐 三、DeepSeek Kimi 高效制作PPT操作实践 3.1 Kimi 简介 3.2 DeepSeek Kimi 制作PPT优势 3.2.1 DeepSeek 优势 3.2.2 Kimi 制作PPT优…

【ESP-ADF】在 VSCode 安装 ESP-ADF 注意事项

1.检查网络 如果您在中国大陆安装,请使用魔法上网,避免无法 clone ESP-ADF 仓库。 2.VSCode 安装 ESP-ADF 在 VSCode 左侧活动栏选择 ESP-IDF:explorer,展开 advanced 并点击 Install ESP-ADF 然后会出现选择 ESP-ADF 安装目录。 如果出现…

关于2023新版PyCharm的使用

考虑到大家AI编程的需要,建议大家安装新版Python解释器和新版PyCharm,下载地址都可以官网进行: Python:Download Python | Python.org(可以根据需要自行选择,建议选择3.11,保持交流版本一致&am…

轻松部署 Stable Diffusion WebUI 并实现局域网共享访问:解决 Conda Python 版本不为 3.10.6 的难题

这篇博文主要为大家讲解关于sd webui的部署问题,大家有什么不懂的可以随时问我,如果没有及时回复,可联系:1198965922 如果后续大家需要了解怎么用代码调用部署好的webui的接口,可以在评论区留言哦,博主可以…

Leetcode 103: 二叉树的锯齿形层序遍历

Leetcode 103: 二叉树的锯齿形层序遍历 问题描述: 给定一个二叉树,返回其节点值的锯齿形层序遍历(即第一层从左到右,第二层从右到左,第三层从左到右,依此类推)。 适合面试的解法:广…

Linux中的进程间通信的方式及其使用场景

在 Linux 系统中,进程间通信(Inter-Process Communication, IPC)是指不同进程之间传递数据、共享信息的机制。Linux 提供了多种进程间通信的方式,每种方式都有不同的特点和使用场景。以下是常见的几种进程间通信方式及其应用场景&…

springBoot集成emqx 实现mqtt消息的发送订阅

介绍 我们可以想象这么一个场景,我们java应用想要采集到电表a的每小时的用电信息,我们怎么拿到电表的数据?一般我们会想 直接 java 后台发送请求给电表,然后让电表返回数据就可以了,事实上,我们java应用发…

vue Table 表格自适应窗口高度,表头固定

当表格内纵向内容过多时&#xff0c;可选择固定表头。 代码很简单&#xff0c;其实就是在table 里面定一个 height 属性即可。 <template><el-table:data"tableData"height"250"borderstyle"width: 100%"><el-table-columnprop…

多线程-JUC

简介 juc&#xff0c;java.util.concurrent包的简称&#xff0c;java1.5时引入。juc中提供了一系列的工具&#xff0c;可以更好地支持高并发任务 juc中提供的工具 可重入锁 ReentrantLock 可重入锁&#xff1a;ReentrantLock&#xff0c;可重入是指当一个线程获取到锁之后&…

【每日学点HarmonyOS Next知识】Web Header更新、状态变量嵌套问题、自定义弹窗、stack圆角、Flex换行问题

【每日学点HarmonyOS Next知识】Web Header更新、状态变量嵌套问题、自定义弹窗、stack圆角、Flex换行问题 1、HarmonyOS 有关webview Header无法更新的问题&#xff1f; 业务A页面 打开 webivew B页面&#xff0c;第一次打开带了header请求&#xff0c;然后退出webview B页面…

【ATXServer2】Android无法正确显示手机屏幕

文章目录 现象原因分析与解决排查手机内部minicap 解决minicap问题查看移动端Android SDK版本查看minicap支持版本单次方案多次方案 最后问题-如何支持Android SDK 32 现象 原因分析与解决 由于atxserver2在与Android动终端的链接过程中使用了agent&#xff1a;atxserver2-and…

【前端跨域】CORS:跨域资源共享的机制与实现

在现代Web开发中&#xff0c;跨域资源共享&#xff08;Cross-Origin Resource Sharing&#xff0c;简称CORS&#xff09;是一种非常重要的技术&#xff0c;用于解决浏览器跨域请求的限制 CORS允许服务器明确指定哪些外部源可以访问其资源&#xff0c;从而在保证安全的前提下实…

【设计模式】单例模式|饿汉模式|懒汉模式|指令重排序

目录 1.什么是单例模式&#xff1f; 2.如何保证单例&#xff1f; 3.两种写法 &#xff08;1&#xff09;饿汉模式&#xff08;早创建&#xff09; &#xff08;2&#xff09;懒汉模式&#xff08;缓执行&#xff0c;可能不执行&#xff09; 4.应用场景 &#x1f525;5.多…

RocketMQ顺序消费机制

RocketMQ的顺序消费机制通过生产端和消费端的协同设计实现&#xff0c;其核心在于局部顺序性&#xff0c;即保证同一队列&#xff08;MessageQueue&#xff09;内的消息严格按发送顺序消费。以下是详细机制解析及关键源码实现&#xff1a; 一、顺序消费的核心机制 1. 生产端路…

【JavaEE】-- 多线程(初阶)4

文章目录 8.多线程案例8.1 单例模式8.1.1 饿汉模式8.1.2 懒汉模式 8.2 阻塞队列8.2.1 什么是阻塞队列8.2.2 生产者消费者模型8.2.3 标准库中的阻塞队列8.2.4 阻塞队列的应用场景8.2.4.1 消息队列 8.2.5 异步操作8.2.5 自定义实现阻塞队列8.2.6 阻塞队列--生产者消费者模型 8.3 …

【C++设计模式】第四篇:建造者模式(Builder)

注意&#xff1a;复现代码时&#xff0c;确保 VS2022 使用 C17/20 标准以支持现代特性。 分步骤构造复杂对象&#xff0c;实现灵活装配 1. 模式定义与用途 核心目标&#xff1a;将复杂对象的构建过程分离&#xff0c;使得同样的构建步骤可以创建不同的表示形式。 常见场景&am…

vuex中的state是响应式的吗?

在 Vue.js 中&#xff0c;Vuex 的 state 是响应式的。这意味着当你更改 state 中的数据时&#xff0c;依赖于这些数据的 Vue 组件会自动更新。这是通过 Vue 的响应式系统实现的&#xff0c;该系统使用了 ES6 的 Proxy 对象来监听数据的变化。 当你在 Vuex 中定义了一个 state …

若依框架中的岗位与角色详解

若依框架中的岗位与角色详解 一、核心概念与定位 岗位&#xff08;Post&#xff09; 业务职能导向&#xff1a;岗位是用户在组织架构中的职务标识&#xff08;如“开发人员”“项目经理”&#xff09;&#xff0c;用于描述工作职责而非直接控制权限。岗位与部门关联&#xff…

SQL经典常用查询语句

1. 基础查询语句 1.1 查询表中所有数据 在SQL中&#xff0c;查询表中所有数据是最基本的操作之一。通过使用SELECT * FROM table_name;语句&#xff0c;可以获取指定表中的所有记录和列。例如&#xff0c;假设有一个名为employees的表&#xff0c;包含员工的基本信息&#xf…

EP 架构:未来主流方向还是特定场景最优解?

DeepSeek MoE架构采用跨节点专家并行&#xff08;EP&#xff09;架构&#xff0c;在提升推理系统性能方面展现出巨大潜力。这一架构在发展进程中也面临诸多挑战&#xff0c;其未来究竟是会成为行业的主流方向&#xff0c;还是仅适用于特定场景&#xff0c;成为特定领域的最优解…