多标签分类问题,输入是蛋白质特征,输出是蛋白质的功能(即,一个由标签组成的DAG)
motivation:输入是一个有multi-hot向量组成的张量,multi-hot的每一位代表着某一种特征。
考虑到不同特征之间可能存在交互作用,进而影响到最后的结果,首先用一个权重矩阵将输入嵌入之后,使用transformer的encoder进行特征的提取(特征之间没有先后关系,因而没有加入位置信息)。
然后问题出现了:不管输入是什么,输出的结果都是一样的,或者十分接近。
将transformer改成mlp,效果反倒好了不少,而且也不存在输出一样的问题。
一个假设是,transformer的层数过多导致了过拟合,使得模型错误地拟合到了根据出现频率进行预测。然后减小了encoder layer的层数,结果很奇怪:一层的时候基本不存在这个问题,一旦层数到了2,输出一致的问题就很严重。。。感觉这个假设很牵强啊
暂时没有其他想法了,只能先放下了。希望大佬解答。