自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1621)
  • 收藏
  • 关注

原创 AdEMAMix: 一种创新的神经网络优化器

这是9月发布的一篇论文,Pagliardini等人在其论文中提出了一种新的优化算法——AdEMAMix。这种算法旨在解决当前广泛使用的Adam及其变体(如AdamW)在利用长期梯度信息方面的局限性。研究者们通过巧妙地结合两个不同衰减率的指数移动平均(EMA),设计出了这种新的优化器,以更有效地利用历史梯度信息。

2024-09-24 09:28:26 3378

原创 PyTorch 模型调试与故障排除指南

本文详细探讨了 PyTorch 模型开发和调试过程中的关键方面,从基础概念到高级技术,再到实际案例研究。随着深度学习技术的不断发展,调试和优化技能将继续成为每个 PyTorch 开发者的核心竞争力。我们鼓励读者将本文中的知识应用到实际项目中,不断实践和积累经验。同时,保持对新技术和方法的关注,将有助于在这个快速发展的领域中保持竞争优势。最后希望本指文够成为你在 PyTorch 开发之旅中的有力工具,帮助你构建更高效、更强大的深度学习模型。

2024-09-23 09:46:43 4498 2

原创 使用GPU 加速 Polars:高效解决大规模数据问题

GPU 加速 Polars 的引入为数据处理领域带来了令人兴奋的新可能性。这项技术不仅提供了显著的性能提升,还保持了 Polars 易用和灵活的特性。尽管对于一些简单的数据处理任务,传统工具如 Pandas 可能仍然足够,但在面对大型数据集和复杂查询时,GPU 加速的 Polars 显示出了巨大的优势。其提供的性能提升可能会影响许多数据科学家和工程师的工作流程,使得previously耗时的操作变得更加高效。随着这项技术的进一步发展和完善,我们可以期待看到更多创新的数据处理应用场景。

2024-09-22 11:00:21 4333

原创 GraphRAG 与 RAG 的比较分析

检索增强生成(Retrieval-Augmented Generation,简称 RAG)是一种旨在提升大型语言模型(Large Language Models,LLMs)性能的技术方法。其核心思想是通过整合外部可靠知识库的信息来增强模型的输出质量。RAG 的工作原理可以概括如下:当 LLM 接收到查询时,它不仅依赖于自身的预训练知识,还会主动从指定的知识源检索相关信息。这种方法确保了生成的输出能够参考大量上下文丰富的数据,并得到最新、最相关可用信息的支持。

2024-09-21 09:43:24 4331

原创 让模型评估模型:构建双代理RAG评估系统的步骤解析

本文展示了如何构建一个基于双代理的RAG(检索增强生成)评估系统,该系统使用两个大语言模型(LLM):一个用于生成响应,另一个用于提供反馈。通过采用四种不同的提示工程技术——思维链、ReAct、角色提示和自一致性,我们能够全面评估AI生成响应的准确性和质量。ReAct和思维链技术在性能上表现相似,这可能是因为它们都强调了结构化思考过程。自一致性技术经常产生与其他方法相反的结果,这突显了在评估过程中考虑多个角度的重要性。角色提示技术被证明是最不可靠的,这可能是由于其在不同上下文中的不一致性。

2024-09-20 09:53:01 3386

原创 机器学习模型中特征贡献度分析:预测贡献与错误贡献

初始化特征集使用当前特征集训练模型评估各特征的重要性或贡献度移除"最差"特征重复步骤2-4,直到达到预定的特征数量或性能标准本研究深入探讨了机器学习模型中特征重要性的概念,并提出了区分特征重要性和特征有效性的新方法。引入了预测贡献度和错误贡献度两个概念,为特征评估提供了新的视角。详细阐述了基于SHAP值计算这两种贡献度的方法,为实践应用提供了可操作的指导。通过金融数据集的案例分析,展示了错误贡献度在特征选择中的实际应用价值。

2024-09-19 09:52:40 4241

原创 CAS-ViT:用于高效移动应用的卷积加法自注意力视觉Transformer

CAS-ViT通过创新的卷积加法自注意力机制,在保持高性能的同时大大降低了计算复杂度。这使得它非常适合部署在资源受限的移动设备上,为高效移动视觉应用开辟了新的可能性。未来的工作可以探索在更大规模的数据集和模型上应用CAS-ViT,以及进一步优化其在移动设备上的部署效率。

2024-09-18 09:46:12 3643

原创 概率分布深度解析:PMF、PDF和CDF的技术指南

本文将深入探讨概率分布,详细阐述概率质量函数(PMF)、概率密度函数(PDF)和累积分布函数(CDF)这些核心概念,并通过实际示例进行说明。在深入探讨PMF、PDF和CDF之前,有必要先简要介绍两种常用的概率分布:正态分布和均匀分布。也称为高斯分布或钟形曲线,正态分布以其均值为中心对称。它广泛应用于描述自然界中的许多现象。诸如人口身高、标准化考试成绩、测量误差等多种实际数据集都呈现正态分布特征。在均匀分布中,给定范围内的每个结果具有相等的概率。

2024-09-17 16:29:03 1553

原创 数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例

本文展示了在处理噪声时间序列数据时,获得可靠导数估计的几种方法。我们从最基本的有限差分法开始,然后探讨了Savitzky-Golay滤波与有限差分相结合的方法,最后介绍了符号回归这一较为先进的技术。研究结果表明,在数据点较少且存在显著噪声的情况下,符号回归方法能够提供最可靠的导数估计。这种方法的优势在于它能够找到一个封闭形式的函数表达式来描述数据,从而允许进行解析微分。值得注意的是,没有一种方法是万能的。选择合适的方法应该基于具体问题的特征,如数据的复杂性、噪声水平、可用的计算资源等。

2024-09-16 09:31:11 4435 1

原创 利用未标记数据的半监督学习在模型训练中的效果评估

半监督学习是一种利用标记和未标记数据来训练模型的机器学习方法。标记数据是指具有已知输出或目标变量的样本,例如分类任务中的类别标签或回归任务中的数值。未标记数据则是没有已知输出或目标变量的样本。半监督学习的优势在于它可以利用现实问题中通常大量存在的未标记数据,同时也充分利用通常较少且获取成本较高的标记数据。利用未标记数据训练监督学习模型的核心思想是通过监督或无监督学习方法为这些数据生成标签。

2024-09-15 17:49:19 1000

原创 MemLong: 基于记忆增强检索的长文本LLM生成方法

MemLong的核心架构如图2所示:图2:MemLong架构示例输入处理:将输入文本分割成块(ci),每个块对应原始文本ti。底层处理:在冻结的底层中应用标准因果注意力机制。记忆层操作:在最后一个底层(记忆层)后执行两个关键操作:- 检索:利用ti获取最相关的K-V对。- 缓存:存储获得的K-V对及其相关的块表示。上层处理:在可训练的上层中,整合检索到的K-V对与当前输入上下文,并调整模型参数以优化检索过程。这种设计允许模型有效地利用历史信息,同时保持计算效率和模型的适应性。

2024-09-14 09:23:56 3570

原创 KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验

本实验采用的ETT数据集是记录了中国某省两个地区的电力变压器油温数据。数据集包含四个子集,分别以每小时和每15分钟的频率采样。我们的实验专注于使用两个15分钟采样频率的数据集(ETTm1和ETTm2)。本研究深入探讨了可逆KAN混合(RMoK)模型,这是一种将不同KAN专家层巧妙结合的创新模型,专门用于时间序列预测任务。利用Wav-KAN提取频率和位置信息通过JacobiKAN捕捉长期变化趋势使用TaylorKAN精确建模局部短期变化。

2024-09-13 09:32:59 4774

原创 使用ClassificationThresholdTuner进行二元和多类分类问题阈值调整,提高模型性能增强结果可解释性

虽然调整用于分类项目的阈值并不总是能提高模型的质量,但它通常会而且通常是显著的。这很容易实现,但使用 ClassificationThresholdTuner 使这变得更加简便,对于多类分类,它可能特别有用。它还提供了解释阈值选择的可视化,这可能有助于理解和接受它发现的阈值,或者选择其他阈值以更好地匹配项目的目标。对于多类分类,理解移动阈值的效果可能仍然需要一些努力,但使用这样的工具比不使用要容易得多,在许多情况下,简单地调整阈值并测试结果在任何情况下都足够了。github地址。

2024-09-12 11:58:17 4165 3

原创 RAG系统的7个检索指标:信息检索任务准确性评估指南

信息检索任务中使用的检索指标(本文的讨论重点)专注于评估生成内容流畅性、相关性和语义相似性的指标,如BLEU、ROUGE、METEOR等随RAG应用发展而演变的特定指标RAG的检索组件可以独立评估确定检索器满足用户查询的能力。我们将详细介绍七个广泛应用于RAG、搜索引擎、推荐系统等信息检索任务的重要指标。注:在RAG中,知识库是一个核心概念。它是一个非参数记忆存储,用于存储RAG系统将处理的所有文档。

2024-09-11 10:06:03 4044 4

原创 Monte Carlo方法解决强化学习问题

MC方法的独特之处在于它们仅从经验中学习,不需要环境模型 - 这为解决复杂问题提供了令人兴奋的可能性。我们首先介绍了一个基于探索性启动(ES)假设的MC控制算法 - 即每个状态-动作对都以非零概率被无限探索。之后,我们尝试移除ES假设 - 最后,我们还提供了一个非增量off-policy MC控制算法的实现 - 这可能有助于更深入地理解算法的工作原理,并展示了如何以直观的方式实现off-policy MC控制,而不需要任何优化技巧。参考文献。

2024-09-10 10:43:59 3569

原创 Transformer、RNN和SSM的相似性探究:揭示看似不相关的LLM架构之间的联系

本文深入探讨了Transformer、循环神经网络(RNN)和状态空间模型(SSM)之间的潜在联系。文章首先回顾了传统的掩码自注意力机制,然后引入了线性化注意力的概念,解释了其计算效率优势。接着探讨了注意力掩码的优化,引入了半可分离矩阵的概念,并阐述了其与状态空间模型的关系。最后介绍了状态空间对偶性,揭示了特定状态空间模型与掩码注意力之间的对应关系。通过这些分析,展示了看似不同的模型架构之间存在深层联系,为未来模型设计和跨架构思想交流提供了新的视角和可能性。作者:Stanislav Fedotov。

2024-09-09 10:15:28 1117

原创 时间序列结构变化分析:Python实现时间序列变化点检测

时间序列常常受到结构变化的影响,这些变化会显著改变序列的统计分布特性。结构变化可能发生在均值或方差上,并且可能是永久性的或暂时性的。准确识别变化的性质对于选择适当的处理方法至关重要。现代统计和机器学习提供了多种变化点检测方法,如CUSUM和PELT算法。这些方法在kats和ruptures等Python库中都有实现,为实践应用提供了便利。对于检测到的变化点,可以采用多种处理策略。差分法和引入虚拟变量是处理均值变化的常用方法,而对于更复杂的情况,可以考虑使用区制转换模型。

2024-09-08 09:09:08 4438 4

原创 图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取

基于节点的特征:这些特征提供了网络中个体实体的信息。基于边的特征:这些特征捕捉了关系和连接模式的重要信息。基于图的特征:这些特征提供了整体网络拓扑的更高层次视角。通过综合利用这些不同类型的特征,可以够获得对网络结构的全面理解,识别关键参与者,分析信息流动模式,并发现潜在的隐藏模式。以Zachary的网络数据集为例,我们展示了如何应用这些特征来揭示俱乐部内的潜在角色和联系。值得注意的是,这些特征提取和分析方法不仅限于社交网络,还可以广泛应用于其他领域,如交通网络分析和生物系统研究。

2024-09-07 10:39:52 3621

原创 Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著

Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。自2018年首次亮相以来,Optuna不断发展,现已成为机器学习领域的重要工具。

2024-09-06 09:50:49 4378 1

原创 优化采样参数提升大语言模型响应质量:深入分析温度、top_p、top_k和min_p的随机解码策略

通过深入理解采样参数的作用机制,我们可以更有针对性地为特定的LLM应用场景优化参数设置。最关键的参数是温度和top_p。温度参数调节模型输出概率分布的形状。需要注意的是,无论如何调整,总是存在采样到语义或语法上不合适标记的可能性。在给定概率分布的情况下,我们仍在进行概率性采样。top_k参数通过截断概率分布来限制可能的候选标记集。但这种方法也存在风险:可能会过度剔除有价值的候选项,或者保留过多不适当的选项。如果使用的LLM框架支持min-p采样,建议进行实验性尝试,评估其在特定任务中的表现。

2024-09-05 10:20:11 3775

原创 使用PyTorch从零构建Llama 3

我们已经成功地从零开始构建了自己的Llama 3模型。我们不仅实现了模型的架构,还成功地进行了训练,并能够执行推理以生成新的文本。值得注意的是,我们在相对有限的计算资源(Google Colab Notebook提供的免费GPU和RAM)下,在较短的时间内完成了这个过程。本文中的代码和方法主要用于教育和研究目的。在实际应用中,可能需要进行更多的优化和调整,以达到生产级别的性能和效果。作者:Milan Tamang。

2024-09-04 10:55:24 4916 1

原创 一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析

蒙特卡洛方法源于一个简单的概率问题,已经发展成为解决复杂计算和优化问题的强大工具。在机器学习领域,特别是在超参数调优方面,蒙特卡洛方法展现出了其独特的优势。通过本文的分析和实验,我们看到蒙特卡洛方法在估算π值和优化机器学习模型超参数等任务中的应用。这种方法的强大之处在于其能够有效地处理高维度、非线性的问题空间,为我们提供了一种在复杂系统中做出决策的有力工具。然而,值得注意的是,蒙特卡洛方法并非万能的。在某些情况下,其他方法如网格搜索或贝叶斯优化可能更为适合。

2024-09-03 09:55:28 5032

原创 CNN中的注意力机制综合指南:从理论到Pytorch代码实现

注意力机制在CNN中的应用受到了人类视觉系统的启发。在人类视觉系统中,大脑能够选择性地关注视野中的特定区域,同时抑制其他不太相关的信息。类似地,CNN中的注意力机制允许模型在处理图像时,优先考虑某些特征或区域,从而提高模型提取关键信息和做出准确预测的能力。例如在人脸识别任务中,模型可以学会主要关注面部区域,因为这里包含了比背景或衣着更具辨识度的特征。这种选择性注意力确保了模型能够更有效地利用图像中最相关的信息,从而提高整体性能。传统的CNN在处理图像时,往往对图像的所有部分赋予相同的重要性。

2024-09-02 09:56:05 4930

原创 压缩大型语言模型(LLMs):缩小10倍、性能保持不变

尽管现代大型语言模型(LLMs)在各种任务上展现出卓越的性能,但它们的规模在实际部署中带来了诸多挑战。近期模型压缩技术的创新有助于通过降低LLM解决方案的计算成本来缓解这些挑战。本文讨论了三大类压缩技术(量化、剪枝和知识蒸馏),并通过Python实例演示了它们的实际应用。作者: Shaw Talebi。

2024-09-01 09:39:45 4760 2

原创 6种有效的时间序列数据特征工程技术(使用Python)

在深入特征工程技术之前,让我们先回顾一些基本的时间序列概念。这些概念将贯穿全文,因此提前熟悉它们很有帮助。是什么使时间序列项目区别于传统机器学习问题呢?在时间序列中,数据以等间隔捕获,且序列中的每个连续数据点都依赖于其先前的值。让我们通过一个简单的例子来理解这一点。如果想预测某公司今天的股票价格,了解昨天的收盘价会有帮助,这是肯定的,如果我们有过去几个月或几年的数据,预测网站的流量会容易得多。我们还需要考虑另一个因素 - 时间序列数据可能存在某些趋势或季节性。

2024-08-31 10:05:56 4977 1

原创 PyTorch数据处理:torch.utils.data模块的7个核心函数详解

PyTorch的模块提供了这些强大而灵活的工具,使得数据处理变得简单高效。通过熟练运用这些工具,可以更好地管理数据流程,从而构建更加强大和高效的机器学习模型。

2024-08-30 09:07:58 4256

原创 使用 Python TorchRL 进行多代理强化学习

本文提供了使用 TorchRL 和 PPO 实现 MARL 解决方案的全面指南。通过这些步骤,可以在多代理环境中训练代理以导航复杂任务,同时利用 GPU 加速模拟和并行计算的力量。无论选择集中式还是分散式评论家,TorchRL 都提供了设计和实验不同 MARL 架构,可以帮助你解决多代理强化学习的复杂性。作者:Abish Pius。

2024-08-28 10:34:43 403

原创 深入理解GPU内存分配:机器学习工程师的实用指南与实验

可训练参数:固定的模型大小内存块:它只以512字节的块出现Cublas内存:前向传播一个块,反向传播一个块梯度:与模型大小相同中间张量:最麻烦的部分,取决于代码如何编写优化器:至少分配一倍的模型大小最后一个问题就是,我们只处理了前馈层,那么CNN、Transformers、RNN等呢?首先CNN是类似前馈层的操作,所以我们可以根据他的计算规则进行计算,而Transformers、RNN都基础操作的组合,我们计算了一个前馈层可以根据他们的架构进行组合计算。

2024-08-27 10:45:32 1321

原创 时间序列特征提取:从理论到Python代码实践

是一种特殊的存在。这意味着你对表格数据或图像进行的许多转换/操作/处理技术对于时间序列来说可能根本不起作用。"的想法是对我们拥有的数据进行"”,确保我们提取所有有意义的特征,以便下一步(通常是机器学习应用)可以从中受益。也就是说它是一种通过提供重要特征并过滤掉所有不太重要的特征来"帮助"机器学习步骤的方法。这是完整的特征提取过程:对于数据和,他们的特征根本就不同,比如说和的概念,或的想法,以及**独立分量分析(ICA)**的概念只有在处理信号时才真正有意义。

2024-08-26 20:42:24 812

原创 高效的时间序列可视化:减少认知负荷获得更清晰的洞察

可视化时间序列数据是具有挑战性,尤其是涉及多个数据集时。精心设计的可视化不仅能清晰地传达信息,还能观察者的,使其更容易提取有意义的洞察。在本文中,我们将探讨使真实世界的来可视化单个时间序列和多个时间序列。

2024-08-25 16:03:56 1436 1

原创 XGBoost中正则化的9个超参数

正则化是一种强大的技术,通过防止过拟合来提高模型性能。本文将探索各种XGBoost中的正则化方法及其优势。

2024-08-24 16:41:58 984

原创 基于重要性加权的LLM自我改进:考虑分布偏移的新框架

这篇论文研究了样本DSE对LLM自我改进的影响,受重要性加权方法的启发,提出DS权重来近似DSE,并提出一个新的框架IWSI,其过滤策略全面考虑了DSE和答案正确性。实验结果表明,纳入DS权重显著提高了LLM自我改进的有效性作者:SACHIN KUMAR。

2024-08-23 10:39:53 4098 4

原创 基于距离度量学习的异常检测:一种通过相关距离度量的异常检测方法

距离度量学习可以用于异常检测之外的许多目的,即使在异常检测中,也可以以多种方式使用。比如说可以使用如上所述的随机森林来计算数据集中的成对距离传递给另一个算法。例如,DBSCAN提供了一个"precomputed"选项,允许传递预先计算的成对距离矩阵;然后可以使用DBSCAN(或类似的聚类方法,如HDBSCAN)进行几种可能的基于聚类的异常检测算法。或者以更直接的方式使用,因为这本身就是一种出色的异常检测方法。在许多情况下,它可能比基于欧几里得、曼哈顿、Gower或其他此类距离度量的方法更有利于检测异常。

2024-08-22 11:32:28 3921

原创 泊松自助法(Poisson Bootstrap Sampling):大型数据集上的自助抽样

经典自助抽样是一种非常有效的技术,可以用于从收集的样本中学习统计量的分布。而对于非常大的数据集,它可能会非常昂贵。泊松自助法的每次抽样可以独立进行,非常适合在分布式系统中并行化处理。在分布式环境中,不同的计算节点可以独立地生成泊松抽样,从而加快处理速度。泊松自助法避免了传统自助法中可能出现的冗余问题(即部分数据点在所有重采样中都出现,导致缺乏多样性),因为泊松抽样允许某些数据点完全不被选中,从而保留了数据的多样性。

2024-08-21 09:58:40 4713 1

原创 深入理解双变量(二元)正态投影:理论基础、直观解释与应用实例

线性投影是统计学中一个强大的工具。它的应用非常广泛,从数据降维到回归分析,再到信号处理,线性投影都发挥着重要作用。在数据分析中,线性投影可以帮助我们将高维数据映射到低维空间,从而简化问题的复杂性,使得模型更易于解释。线性投影在回归模型中用于预测和估计目标变量的值。通过这些应用,线性投影不仅提高了数据处理的效率,还增强了我们对数据背后规律的理解。参考文献作者:Luigi Battistoni。

2024-08-20 11:40:18 3966

原创 三元组损失Triplet loss 详解

本文介绍了三元组损失,这是一种用于训练深度神经网络的技术,主要应用于图像识别任务。三元组损失通过学习高维嵌入空间中的相似度度量,使相似图像的表示彼此接近,不相似图像的表示相距较远。三元组损失的核心概念是使用由锚点、正样本和负样本组成的三元组进行训练。网络学习将锚点与正样本的距离最小化,同时最大化与负样本的距离。而批量三元组损失,这是一种在单个批次中处理多个三元组的变体,提高了计算效率。作者:Jyoti Dabass, Ph.D。

2024-08-19 10:18:50 4322 1

原创 深度学习实战:手把手教你构建多任务、多标签模型

我们将定义一个基本的 PyTorch 模型,处理两个任务:预测评分(回归)和用户是否喜欢这部电影(二元分类)。模型使用稀疏嵌入来表示用户和电影,并有共享层,这些共享层会输入到两个单独的输出层。通过在任务之间共享一些层,并为每个特定任务的输出设置单独的层,该模型利用了共享表示,同时仍然针对每个任务定制其预测。**输入 (x输入x预期是一个 2D 张量,其中每行包含一个用户 ID 和一个电影 ID。用户和电影嵌入: 从第一列提取用户 ID。: 从第二列提取电影 ID。user_embed和。

2024-08-18 12:39:23 816

原创 将VAE用于时间序列:生成时间序列的合成数据

变分自编码器将输入数据的维度降低到一个更小的子空间。VAE定义了一个编码器,将观察到的输入转换成一种压缩形式,称为潜在变量。然后一个独特的镜像解码器尝试重建原始数据。编码器和解码器被共同优化,创建一个尽可能少损失信息的模型。重建损失: 测量经过往返转换的数据与原始输入的匹配程度正则化项: 测量潜在变量的编码分布与先验分布的匹配程度这两个损失项是通过变分推断得出的,目标是最大化观测数据的证据下界(ELBO)。VAE对训练数据进行特征提取,使得最重要的特征(由潜在变量表示)遵循定义的先验分布。

2024-08-17 10:03:49 4112

原创 LongWriter: 基于LLM代理可以将输出窗口大小扩展到10,000+个单词

这篇论文确定了当前LLM的2,000词生成限制,并提出通过在对齐过程中添加长输出数据来增加它们的输出窗口大小。为自动构建长输出数据,开发了AgentWrite,这是一个基于代理的流程,使用现成的LLM创建扩展的、连贯的输出。使用论文构建的LongWriter-6k成功地将当前LLM的输出窗口大小扩展到10,000+词。

2024-08-16 09:59:07 4066

原创 60行代码就可以训练/微调 Segment Anything 2 (SAM 2)

本文演示了如何在仅60行代码内(不包括标注和导入)对SAM2进行微调。

2024-08-15 10:10:22 5401

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除