Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hi tripletloss finetune的时候 怎样判断已经finetune好了? #15

Closed
yzk0281 opened this issue May 26, 2016 · 17 comments
Closed

Comments

@yzk0281
Copy link

yzk0281 commented May 26, 2016

是不是输出的ap小而an大即可?
有没有一个具体的指导值呢?

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

同问,最近做了finetune发现效果由逐渐变好到逐渐变差,一开始ap是小于an的并且差距逐渐变大,后来ap和an就变得接近了。

@yzk0281
Copy link
Author

yzk0281 commented May 27, 2016

Hi
我用triplet finetune的时候呢 学习率取的0.005
看起来收敛还可以的样子 ap和an的差距越来越大 不过现在还没跑完
就是不知道差距到什么样子可以停止训练
还是后面会保持不变?

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

保险的话可以每隔几段iterations就存一下model,这个还真不好说,因为我跑到最后是变差的。每个人情况不同吧~对了我做的不是人脸,是印刷体汉字~

@luhaofang
Copy link
Owner

@thu-zxs 请通过最近的propsal进行finetune。
之前给的工程会出现所述的问题,个人感觉是因为梯度并没有回传,原先的model已经把距离分开来,但是由于参数的decay,造成最终参数会变0,在这个过程中会产生你所述的情况,最后变差是所有的样本输出都是0了,所以loss会为0.1

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

@pinguo-luhaofang 好的,我会继续尝试,谢谢!

@luhaofang
Copy link
Owner

@yzk0281 loss就是模型的训练收敛程度的指标啊。

@yzk0281
Copy link
Author

yzk0281 commented May 27, 2016

阿。。。不会吧
我怎么看到loss值在triplet finetune的时候变化很小
但是ap和an的差距倒是逐渐增大的

@luhaofang
Copy link
Owner

@yzk0281 ap和an距离拉大了,loss不可能不会降低的

@yzk0281
Copy link
Author

yzk0281 commented May 27, 2016

额。。也就是说看ap和an的差距变化也是可以的么

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

@pinguo-luhaofang
我再仔细读了一下您的代码,发现tripletselect中的backward是对不满足 aps[i][1] >= ans[i][1]的triplet反传梯度,这应该不对吧?
如理解有误,还请明示~

@luhaofang
Copy link
Owner

@thu-zxs 是的,就是对不满足aps[i][1] >= ans[i][1]的triplet反传梯度,回传满足aps[i][1] < ans[i][1]的triplet梯度。

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

嗯,方便问问其中的道理?我直观上看,不反传aps[i][1] >= ans[i][1]的样本对的梯度的话,那这个样本对不就得不到训练了?

@luhaofang
Copy link
Owner

产生梯度的是 0 < an - ap < margin 的样本对,详情请参见论文。

@thu-zxs
Copy link

thu-zxs commented May 27, 2016

好的谢谢@pinguo-luhaofang

@yzk0281
Copy link
Author

yzk0281 commented May 27, 2016

如果ap 〉 an的话 ,就是说正样本的距离比负样本还大,那样不是更应该训练么 ?

@tanyuan1992
Copy link

@yzk0281 如果aps[i][1] > ans[i][1],那么其实选出来的这个三元组是没有意义的,所以不能回传。我是这么理解的 不知道对不对

@yzk0281
Copy link
Author

yzk0281 commented Jun 6, 2016

@tanyuan1992 为何没有意义?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants