小白Bert系列-albert

ALBERT是一种轻量级的BERT变体,通过矩阵分解、参数共享、SOP任务和移除dropout来减少参数量并提高性能。矩阵分解降低了词嵌入的参数量,参数共享增强了模型的鲁棒性,SOP任务改进了句子顺序的学习,移除dropout并增加数据源有助于模型的训练和泛化能力。实验证明,这些优化策略在降低模型复杂性的同时,仅轻微影响准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

albert https://arxiv.org/pdf/1909.11942.pdf

主要几点:

1.词嵌入部分进行矩阵分解减少参数量

2.block参数共享较少参数,更好鲁棒性

3.改用sop学习句子顺序关系

4.去掉dropout,增加数据源

还有一点 ngram masking 意思就是之前任务中都是masking单个字,ngram相当于是短语,任务更难了。

1.矩阵分解

在bert模型中,词嵌入向量部分通过全连接方式学习, 设词汇量为V,词向量维度和隐藏层维度H是一样。那词嵌入矩阵大小为VH。例如bert中的场景下就是30522768=2400万参数,如果引入中间矩阵E进行因式分解。

那么由原来的 O(V * H) -> O(VE + EH)

假设中间矩阵大小为128 参数量就会变成,30522128 + 128768=400万,可见参数减少了6倍。

为啥这样操作呢?

下图原始词输入网络中是one-hot输入,如果当前词汇大小是30552,那个某一个字输入的就是一个30552长度,当前字index值为1,其他都是0。那么输入第一步是会去找当前字投影矩阵,更新也是一样,只会更新当前字index所在向量,因为其他位置都是0,学习更新的过程是离散的。并且可以看到下图左侧投影过程中其实字与字之间的关系是无法捕获的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值