【发布时间】:2019-09-24 01:07:51
【问题描述】:
什么是深度学习中的多头模型?
到目前为止我发现的唯一解释是:每个模型都可能被认为是一个主干加上一个头,如果你预先训练主干并放置一个随机头,你可以对其进行微调,它是好主意
谁能提供更详细的解释。
【问题讨论】:
标签: machine-learning neural-network deep-learning
什么是深度学习中的多头模型?
到目前为止我发现的唯一解释是:每个模型都可能被认为是一个主干加上一个头,如果你预先训练主干并放置一个随机头,你可以对其进行微调,它是好主意
谁能提供更详细的解释。
【问题讨论】:
标签: machine-learning neural-network deep-learning
【讨论】:
头是网络的顶部。例如,在底部(数据进入的地方)你采用一些模型的卷积层,比如 resnet。如果您调用 ConvLearner.pretrained,CovnetBuilder 将为您在 Fast.ai 中的数据构建一个具有适当头部的网络(如果您正在处理分类问题,它将创建一个带有交叉熵损失的头部,如果您正在处理回归问题,它会创建一个适合的头部)。
但是您可以构建一个具有多个头的模型。该模型可以从基础网络(resnet conv 层)获取输入并将激活信息提供给某个模型,例如 head1,然后将相同的数据提供给 head2。或者您可以在 resnet 之上构建一些共享层,并且只有这些层馈送到 head1 和 head2。
您甚至可以将不同的图层提供给不同的头部!这有一些细微差别(例如,关于 fastai 库,如果您不指定 custom_head 参数,ConvnetBuilder 将在基础网络顶部添加一个 AdaptivePooling 层,如果您不指定)但这是总体情况。
【讨论】: