hiyoung123 / SoftMaskedBert

Soft-Masked Bert 复现论文:https://arxiv.org/pdf/2005.07421.pdf
255 stars 47 forks source link

头条数据集上的false positive rates很高 #10

Open wanghia opened 4 years ago

wanghia commented 4 years ago

请问一下头条的数据集,句子的FPR测试结果是0.93,这个会是什么原因导致的呢? 跟论文中的结果差很多。 训练过程中avg_acc 最高也是95.5%左右 image

w5688414 commented 4 years ago

可能别人论文里面是500万头条数据,跟你不是一个数量级

litaozijin commented 4 years ago

可能别人论文里面是500万头条数据,跟你不是一个数量级

请问一下头条的数据集,句子的FPR测试结果是0.93,这个会是什么原因导致的呢? 跟论文中的结果差很多。 训练过程中avg_acc 最高也是95.5%左右 image

你的头条的训练数据集在哪里获取到的啊?

litaozijin commented 4 years ago

请问一下头条的数据集,句子的FPR测试结果是0.93,这个会是什么原因导致的呢? 跟论文中的结果差很多。 训练过程中avg_acc 最高也是95.5%左右 image

请问一下你的头条的训练数据集在哪里获取到的呢?

w5688414 commented 4 years ago

可能别人论文里面是500万头条数据,跟你不是一个数量级

请问一下头条的数据集,句子的FPR测试结果是0.93,这个会是什么原因导致的呢? 跟论文中的结果差很多。 训练过程中avg_acc 最高也是95.5%左右 image

你的头条的训练数据集在哪里获取到的啊?

我没有头条数据集哦,我的结果也很差,要哭瞎了 @litaozijin

pmouren commented 4 years ago

感觉作者的代码还是有些问题的吧,比如bigru没有屏蔽掉pad,计算loss的时候也是。。我想请问下是这个结果是在gpu上跑的么,因为我在gpu上跑的时候会报显存溢出的错。。

wanghia commented 4 years ago

我试过算loss的时候屏蔽PAD,以及gru和bert的learning_rate单独设置等等,效果都不行,给作者发邮件也没回。。。。。不过bert跑这些数据已经可以很高了,还不如直接bert+大量训练数据

pmouren notifications@github.com 于2020年8月6日周四 上午9:25写道:

感觉作者的代码还是有些问题的吧,比如bigru没有屏蔽掉pad,计算loss的时候也是。。我想请问下是这个结果是在gpu上跑的么,因为我在gpu上跑的时候会报显存溢出的错。。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/hiyoung123/SoftMaskedBert/issues/10#issuecomment-669628888, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG7RUWE4SRRIGTR5LY4LOLDR7IBCDANCNFSM4OKOVHYQ .

ghost commented 4 years ago

谢谢作者开源的代码。

我也试了下,可能数据量不够、设备受限、或者还有些tricks没使用,训练了3天,效果如下:

 ...
{'epoch': 17, 'iter': 5900, 'avg_loss': 0.29528164758285896, 'd_acc': 0.14577190306727672, 'c_acc': 0.012336892052194542}
{'epoch': 17, 'iter': 6000, 'avg_loss': 0.29525608164263734, 'd_acc': 0.14567572071321447, 'c_acc': 0.012331278120313281}
{'epoch': 17, 'iter': 6100, 'avg_loss': 0.29511872361115093, 'd_acc': 0.1462055400753975, 'c_acc': 0.012325848221603016}
{'epoch': 17, 'iter': 6200, 'avg_loss': 0.29501893519490135, 'd_acc': 0.14600870827285922, 'c_acc': 0.012288340590227383}
{'epoch': 17, 'iter': 6300, 'avg_loss': 0.29490817681491766, 'd_acc': 0.14581812410728456, 'c_acc': 0.012315505475321377}
{'epoch': 17, 'iter': 6400, 'avg_loss': 0.29480830786601026, 'd_acc': 0.14563349476644274, 'c_acc': 0.012248086236525542}
{'epoch': 17, 'iter': 6500, 'avg_loss': 0.2948228896622327, 'd_acc': 0.1457621904322412, 'c_acc': 0.012244270112290416}
{'epoch': 17, 'iter': 6600, 'avg_loss': 0.29478087242472045, 'd_acc': 0.1454931071049841, 'c_acc': 0.012179972731404332}

inference:

[PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][CLS]王者荣耀必金步位,该怎么打?[SEP]

[PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][CLS]一要版快已经从底部涨了20%,现在还能进吗?[SEP]
...
[PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][PAD][CLS][UNK]911[UNK]空布戏击事件时,美国为什么没有击落飞机?[SEP]
pmouren commented 4 years ago

应该是复现上有些问题,我看detection的loss也和原论文不一样,论文是交叉墒这代码是mse导致整个detection训练到后面错字召回率就是0,建议用https://github.com/ACL2020SpellGCN/SpellGCN吧,我试了试感觉还可以。

lscm2019 commented 4 years ago

@Judonlee 你好 想问一下 你inference时 是用的 train.py里面的 def inference(self, data_loader)?

ghost commented 4 years ago

@Judonlee 你好 想问一下 你inference时 是用的 train.py里面的 def inference(self, data_loader)?

你好,抱歉现在才看到,是的。

qq596588073 commented 4 years ago

@Judonlee 您好,根据您的这个inference结果来看这个纠正效果是不是不是很好呀

TanYufei commented 4 years ago

我训练了一天,结果和 @Judonlee 差不多,loss已经不再下降了

...
{'epoch': 4, 'iter': 16400, 'avg_loss': 0.27511172997090927, 'd_acc': 0.14029632339491493, 'c_acc': 0.02086458142796171}
{'epoch': 4, 'iter': 16500, 'avg_loss': 0.2750977703252927, 'd_acc': 0.14029452760438763, 'c_acc': 0.0209320647233501}
{'epoch': 4, 'iter': 16600, 'avg_loss': 0.2750750376945748, 'd_acc': 0.1402204686464671, 'c_acc': 0.020902355279802422}
{'epoch': 4, 'iter': 16700, 'avg_loss': 0.27506714015280115, 'd_acc': 0.14036285252380096, 'c_acc': 0.020884976947488174}
{'epoch': 4, 'iter': 16800, 'avg_loss': 0.27507778224005075, 'd_acc': 0.1403368847092435, 'c_acc': 0.020891613594428902}
{'epoch': 4, 'iter': 16900, 'avg_loss': 0.2750568946272542, 'd_acc': 0.14035855866516775, 'c_acc': 0.020898171705816225}
{'epoch': 4, 'iter': 17000, 'avg_loss': 0.2750734030441371, 'd_acc': 0.14046232574554438, 'c_acc': 0.020881124639727074}
{'epoch': 4, 'iter': 17100, 'avg_loss': 0.27499115216380693, 'd_acc': 0.1405999649143325, 'c_acc': 0.020946143500380095}
{'epoch': 4, 'iter': 17200, 'avg_loss': 0.27498868600545, 'd_acc': 0.1407360037207139, 'c_acc': 0.020963897447822802}
puppyapple commented 4 years ago

@wanghia 楼主图里是你用自己的数据训练的结果么?acc能到这么高啊。。我的结果和 @Judonlee @TanYufei 类似,非常低。你是有做过什么改造么,方不方便分享一下。

HaoRenkk123 commented 3 years ago

@wanghia 楼主图里是你用自己的数据训练的结果么?acc能到这么高啊。。我的结果和 @Judonlee @TanYufei 类似,非常低。你是有做过什么改造么,方不方便分享一下。

我跑出来的也很低,用了400w条语料,用作者提供的process_data处理的数据,跑出来的acc也才不到30

hujun-GitHub commented 3 years ago

请问一下头条的数据集,句子的FPR测试结果是0.93,这个会是什么原因导致的呢? 跟论文中的结果差很多。 训练过程中avg_acc 最高也是95.5%左右 image

请问下,我用你的代码可以跑出模型,但是验证的时候很差,基本都改错了,这是代码的问题吗?

SonofGod-lucky commented 3 years ago

https://github.com/SonofGod-lucky/Pytorch_SoftMaskBert_SonofGod.git 可以跑下这个复现代码 ,训练集:字的准确率99%,句子准确率90%