训练深层的网络,整个训练过程中,两万次迭代跟两千次迭代感觉没什么变化,听说需要很多trick,麻烦推荐一些trick。谢谢

训练NIN VGG网络的时候发现的问题
已邀请:

YJango - 在日研究生,人工智能专业

赞同来自: xinmiao 十点睡七点起 ZhangXu yiboin jckzzu GongGP 调参小白 fujianhai OpenAI lxwahu 天衣先生更多 »

深层学习更像是烹饪。确定哪里发生了问题很关键。你说的没变化是你只看最后的识别率或者误差没变化。
识别率和误差随着你的训练是如何变化的也很重要。画成曲线你可以从中得到有用信息。
你可以把你的误差随训练次数的变化画成图发出来。只有在你知道了你的问题后才可以给你相应的trick。
 
数据的预处理
activation function的选择
有没有shuffle数据
batch size的大小
learning rate的高低
hidden layer的层数,是powful还是weak
是否有overfiting问题决定是否加regularization,是否用dropout
还有很多。但都是针对性很强的trick
 
一般来说,你有了数据你先要把你的数据处理成适合深层学习的样子。0 mean, 1 std
你数据的范围还要跟activation function对应。
然后一点点增加层数,直到发生overfit问题。再开始调节其他参数。
为的是得到一个powful的深层学习模型,但要聪明的使用
 
最后回到的你问题。2000次和20000次没区别。如果是误差都是一直下降到某个数值的话,基本上你的层数少了。模型比较weak。 下降又上升的话,overfiting了
 

要回复问题请先登录注册