Datawhale AI夏令营 NLP方向Task2 从baseline代码详解入门深度学习

1.Task1的学习成果

(1)关于赛题

Key word:术语的一致性

可以使用数据增强 就是可以用翻译软件翻译成其他语言再翻译回英语

(2)机器学习

数据集包括训练集(Training set)、开发集/验证集(development/validation set)、测试集(test set)。训练集是模型映射的主要学习集,通过训练集进行主要参数调整和最小化损失函数。开发集调整超参数,防止过拟合。测试集用于最终评估模型的性能。

2.Baseline代码运行过程主要的Q&A

按照教程一步步走,比较丝滑

(1)命令pip install ../dataset/en_core_web_trf-3.7.3-py3-none-any.whl

这个位置试了一会,发现在我的终端里应该少一个点 文件路径的不同

(2)数据行不匹配问题

跑出结果仅有31行,在大赛提交后显示无法评分。助教说更改超参数BATCH_SIZE = 32为BATCH_SIZE = 1。

更改后再运行得到数据行匹配,但训练效果不佳。

BATCH_SIZE指定了每次梯度更新时所使用的样本数量。当你设置 BATCH_SIZE = 1 时,这意味着模型在每次更新其权重时仅使用单个样本来计算梯度。这种训练方式通常被称为随机梯度下降(Stochastic Gradient Descent, SGD)的极端形式,或者更准确地说是在线学习(Online Learning)。然而,在实践中,当提到 SGD 时,人们通常指的是小批量梯度下降(Mini-batch Gradient Descent),其中BATCH_SIZE是一个大于1但远小于整个数据集大小的数。

将BATCH_SIZE设置为 1,计算效率高:由于每次只处理一个样本,内存和计算资源的消耗通常较低,特别是对于非常大的数据集。然而,这并不一定意味着总的训练时间会更短,因为模型需要更多的迭代次数来收敛。同时,梯度是基于单个样本来计算的,因此梯度估计的噪声会很大。这可能导致训练过程更加不稳定,并且可能使模型更难收敛到一个好的解。

在某些情况下,使用较小的BATCH_SIZE可能会导致模型具有更好的泛化能力,因为它迫使模型在每次更新时都适应不同的数据分布。然而,这并不是一个普遍成立的规则,泛化能力还受到许多其他因素的影响。对于小型数据集或计算资源有限的情况,使用BATCH_SIZE= 1可能是一个合理的选择,因为它允许模型在不需要太多内存和计算资源的情况下进行训练。然而,对于大型数据集和强大的计算资源,使用更大的BATCH_SIZE可能会更有效率,因为它可以减少总的迭代次数并加速训练过程。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值