-
Notifications
You must be signed in to change notification settings - Fork 153
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
glorot初始化 #10
Comments
建议先训练FM,用FM的feature embeddings去初始化AFM. 一般效果会有提升。
2018-02-15 14:57 GMT+08:00 KevinKune <[email protected]>:
… 我认为直接使用Xavier初始化网络参数会有一点问题,因为网络的真实输入输出并不是[2*embed_size, 1],而是[n^2*embed_size,
n^2/2],从这个角度来看,为了保证输出与梯度的分布接近标准正态,应该采用3维的xavier [n^2/2, 2*embed_size,
1]来进行初始化。当然,从网络的角度来说,输入输出还是[2*embed_size, 1],因此glorot的方法可能并不完全适用,
更加合理的初始化可能介于2*embed_size, 1]与[n^2/2, 2*embed_size, 1]之间,
目前的初始化方法容易nan可能是因为方差过大导致的,这一点可以通过调节问题粗暴控制,但是如果在最开始的几个step就产生梯度爆炸的话,
调节温度也救不回来
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#10>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABGxjm0YBzw60tpQL9C1tn_JAff6CjP0ks5tU9VigaJpZM4SGaO_>
.
--
Best Regards,
Xiangnan He
|
FM同样面临稀疏数据初始化的问题,据我所知另一种主流的FM初始化方法是采用方差为根号1/k的随机分布,k为embedding size,而且由于采用了adaptive optimizer,FM不能保证在不同的初始化条件下收敛到相同的解 |
FM用standard SGD就可以优化到很好的解,不需要用adaptive optimizer.
2018-02-26 11:06 GMT+08:00 KevinKune <[email protected]>:
… FM同样面临稀疏数据初始化的问题,据我所知另一种主流的FM初始化方法是采用方差为根号1/k的随机分布,k为embedding
size,而且由于采用了adaptive optimizer,FM不能保证在不同的初始化条件下收敛到相同的解
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#10 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABGxjqYffAbxKsT7nITdUlDGPWg6-4qWks5tYh-ngaJpZM4SGaO_>
.
--
Best Regards,
Xiangnan He
|
SGD很慢,实验室环境中,数据量上亿之后很难做到上百轮的训练,用adaptive算法能显著加快收敛。 |
感谢您耐心的回答 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
我认为直接使用Xavier初始化网络参数会有一点问题,因为网络的真实输入输出并不是[2embed_size, 1],而是[n^2embed_size, n^2/2],从这个角度来看,为了保证输出与梯度的分布接近标准正态,应该采用3维的xavier [n^2/2, 2embed_size, 1]来进行初始化。当然,从网络的角度来说,输入输出还是[2embed_size, 1],因此glorot的方法可能并不完全适用,更加合理的初始化可能介于2embed_size, 1]与[n^2/2, 2embed_size, 1]之间,目前的初始化方法容易nan可能是因为方差过大导致的,这一点可以通过调节问题粗暴控制,但是如果在最开始的几个step就产生梯度爆炸的话,调节温度也救不回来
The text was updated successfully, but these errors were encountered: