当我们训练神经网络时,我们将确定嵌入大小以将分类(例如在 NLP 中)或连续(在计算机视觉或语音中)信息转换为隐藏向量(或嵌入),但我想知道是否存在有一些规则来设置它的大小吗?
如何确定嵌入大小?
人工智能
深度学习
超参数优化
超参数
嵌入
2021-10-19 03:59:52
2个回答
在大多数情况下,似乎嵌入 dim 是通过反复试验根据经验选择的。
NLP 中的旧论文通常使用 300 个https://petuum.medium.com/embeddings-a-matrix-of-meaning-4de877c9aa27。最近的论文使用了 512、768、1024。
影响嵌入选择的因素之一是您希望不同向量相互关联的方式。在概率为 1 的高维空间中,随机选择的向量将近似相互正交。而在低维和许多不同类别的情况下,许多向量将具有点积,与 0 显着不同。
我认为,如果人们期望许多向量必须相关,那么维度不应该很高。否则,如果预计嵌入中的每个可能的键都会产生不同的、不相关的向量,则预计维数会很大。
我从这本书中得到了答案:机器学习设计模式:数据准备、模型构建和 MLOps 中常见挑战的解决方案。
如果我们赶时间,一个经验法则是使用唯一分类元素总数的第四个根,而另一个是嵌入维度应该是该类别中唯一元素数量的平方根的大约 1.6 倍, 且不少于 600。
其它你可能感兴趣的问题