NLP Trick 篇
来自:AiGC面试宝典
宁静致远 2024年01月27日 19:14
一、怎么处理类别不平衡?
类别不平衡问题可以通过过采样、欠采样、生成新样本、集成学习等方法来解决。
常用方法
- 过采样:增加少数类样本数量
- 随机过采样:随机复制少数类样本
- SMOTE:通过插值生成新样本
- 欠采样:减少多数类样本数量
- 随机欠采样:随机删除部分多数类样本
- Tomek Links:删除边界附近的多数类样本
- 生成新样本:利用生成模型创建新样本
- GAN(生成对抗网络)
- VAE(变分自编码器)
- 集成学习:通过组合多个模型来平衡预测
- Bagging
- Boosting(如AdaBoost、GBDT)
📝通俗解释:就像一个班级里学生身高差异很大,如果直接算平均值会被少数极高或极矮的学生主导。过采样就像把矮个子"垫高"(复制样本),欠采样就像把高个子"拉低"(减少样本),生成新样本就像找相似的同学替代,集成学习就像让多个评委综合打分,结果更公平。
二、有了解其他模型去尝试解决长度限制的方案吗?
Bert模型的长度限制主要是由于Transformer结构中的**自注意力机制(self-attention)和位置嵌入(position embeddings)**所导致。这些机制使得Bert对于较长的序列处理非常耗时,并且占用大量内存,从而限制了Bert在处理长序列任务上的性能。
📝通俗解释:可以把Transformer的注意力机制理解成"每个人都必须和所有人聊天"。当句子很长时,10个词的句子需要聊100次,100个词的句子就需要聊10000次,计算量爆炸式增长,这就是长度限制的根本原因。
解决方案模型
为了解决这个问题,研究人员提出了多种改进型模型:
| 模型 | 核心改进 | 特点 |
|---|---|---|
| Longformer | Sliding Window Attention(滑动窗口注意力) | 使用局部窗口限制注意力范围,降低计算复杂度 |
| Reformer | Hashing Attention(哈希注意力) | 使用局部敏感哈希将相似的词聚类,减少计算量 |
| Performer | FAVOR+ Attention(基于随机特征) | 使用正交随机投影近似注意力机制,支持线性复杂度 |
| Sparse Transformer | Sparse Attention(稀疏注意力) | 只计算部分位置的注意力,忽略不重要的连接 |
📝通俗解释:这些改进模型就像公司组织架构的优化。传统方式像"所有人互相直接沟通"(全连接),改进后像"基层员工只和直属上级及同事沟通"(局部连接),领导层只和各部门负责人沟通(稀疏连接)。这样沟通成本大幅降低,自然能处理更长的"对话"了。
知识星球
https://articles.zsxq.com/id_bnzcc5w57w7ox.html
1/1