首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >微调的正确方法--把一个完全连接的层训练成一个单独的步骤

微调的正确方法--把一个完全连接的层训练成一个单独的步骤
EN

Data Science用户
提问于 2017-03-20 19:58:03
回答 1查看 2.1K关注 0票数 2

我在caffenet中使用微调,它工作得很好,但是我在Keras 关于微调的博客中读到了这篇文章(他们使用经过训练的VGG16模型):

“为了进行微调,所有层都应该从经过适当训练的权重开始:例如,你不应该把一个随机初始化的完全连接的网络放在一个预先训练过的卷积基础上。这是因为随机初始化的权值引发的大梯度更新会破坏卷积基中的学习权重。在我们的情况下,这就是为什么我们首先训练顶级分类器,然后才开始与它并排微调卷积权。”

因此,作为微调的另一步,它们在全连通层(“瓶颈特征”)之前保存最后一层的输出,然后对这些特征进行“小的全连通模型”的训练,然后将新训练的全连通层置于整个网络的顶部,并训练“最后的卷积块”。

这一直是做微调的正确方式吗?

谢谢

EN

回答 1

Data Science用户

发布于 2017-03-21 01:50:36

首先,您可以通过将层设置为可训练或不可训练的方式自动完成此操作。通过选择这个超调参数为false,您可以自由选择图层。我们知道,前几层是特征提取,以及在执行微调时假设原始问题与问题是相关的,因此这些特性也应该是相同的。怎么做才是对的呢?很难找到一个直接和绝对的答案,它主要取决于原来的问题和新的问题。事实上,我更喜欢用不同的学习率来微调整个网络。对于卷积层,可以使用较小的学习速率,对于完全连接的层,可以使用更大的学习速率。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/17719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档