之前在几篇博客中说到了权重共享,但都觉得不够全面,这里做个专题,以后有新的理解都在此更新。
1. 减少运算只是锦上添花
之前说到权重共享可以减少运算,是的,但这样说好像是可有可无,只是运算量大小的问题,其实不是可有可无的。
2. 权重共享的本质是特征提取
之前说到权重就是模板,我们按照一定的模板来与样本进行比对,看看有没有与模板一致的外在表现(特征)
3. 权重共享使得模型泛化
普通的神经网络输入是固定的,而权重共享可以使得输入不固定。
比如很多张图像,每张图像上有个人脸,但是人脸在图像的不同位置,或者图像的大小也不相同,此时权重共享可以全图扫描,搜索人脸,进而把特征提取出来。
再如RNN做语义分析,两句话:我去年去了北京;去年我和父母去了北京,这其实意思差不多,但文字位置不同,句子长度也不同。
权重共享使得模型能够处理一个连续序列的特征,而不管输入的序列总长度是多少。
当这个连续序列在样本的不同位置时,依然能够识别,而不是学习每个位置的规则,这不仅抓住了不同特征之间的连续性,也减少了学习规则
所以权重共享是必须的。