You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义训练Mol2vec后词向量数值过小的问题排查求助

自定义训练Mol2vec后词向量数值过小的问题排查求助

我最近在用Mol2vec结合Gensim 4.3.3版本的Word2Vec做分子嵌入训练,结果发现保存的wv.vectors.npy里所有词向量的数值都特别小——整个数组的最小值是-0.003,最大值才0.003,这和预期完全不符。

我想请教大家,这到底是我的语料库本身不适合Word2Vec模型,还是训练参数设置出了问题?

下面是我的具体情况:

  • 我用Mol2vec将分子转换成向量,这次计划用自己的分子列表重新训练模型。这里的词其实是Morgan指纹生成的哈希ID(并非自然语言中的真实词汇),每个分子对应一条由这些ID组成的句子,语料库的示例格式如下:

2246997334 3696389118 2246699815 2259502203 977461771 2245384272 1506993418 UNK 2245273601 1736287034 387666683 864662311 1542633699 2245277810 954800030 3006711714 864674487 1979311206 264864308 2246699815 3537119515 2246728737 3537119515
864942730 10565946 3217380708 328936174 3237386214 2132511834 2297887526 808456108 3218693969 584893129 864662311 2192318254

  • 我的语料库包含2000万条句子,共有30万个唯一词。
  • 训练参数基本沿用了Mol2vec原项目的默认设置,仅因Gensim版本更新(原项目使用旧版)做了少量代码适配,理论上不会影响性能:
corpus = word2vec.LineSentence('smiles.cp.unk')
model = word2vec.Word2Vec(corpus, vector_size=300, window=10, min_count=4, workers=-1, sg=1)

Mol2vec官方提供的预训练模型中,向量数值范围大概在-2到2之间,但我尝试调整窗口大小和向量维度后,结果始终一致——所有向量的数值都集中在-0.003到0.003之间,实在找不到问题所在,恳请各位帮忙分析排查!

备注:内容来源于stack exchange,提问作者Jiyuan Weng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:05:29