两个问题:
1)有没有人知道我是否可以在预先训练的“盗梦空间-v3”模型中添加新的图像类?例如,我想在许多国旗上训练TensorFlow,但我需要确保我仍然能够识别来自ImageNet层次结构的图像。我意识到有一种方法可以清除盗梦空间的顶层,并在我的类中完全重新训练模型,但这非常限制和耗时。
2)此外,是否有一种方法可以输出包含图像接收到的标记的整个层次结构?我希望不仅能够具体地看到“盗梦空间”将图像标记为什么,而且希望看到来自ImageNet的所有更广泛的“同步”。例如,我不只是看到输出的“玩具狮子狗”,我对“动物/驯化的动物/狗/狗/玩具狮子狗”感兴趣。
如有任何答复,将不胜感激。
发布于 2016-07-07 14:05:03
1)输出层是softmax,这意味着它有预定义的神经元数目,每个神经元都是为一个特定的类定义的。从技术上讲,您可以执行网络外科学,以便它在输出层中有多一个神经元,这将代表您的新类。但是你必须对你的网络进行额外的训练,这样它才能更新它的所有权重,以便对新的类进行解释。坏消息-这可能需要一段时间,因为更新将影响整个网络和网络是巨大的。好消息--在预先训练过的现有网络中,这种改变将比从头开始学习更快。
2)你凭什么认为这种等级制度是存在的?您不可能确切地知道数据的内部表示形式。当然,你可以观察神经元在每一个功能中的活动,甚至可以将它们可视化.但是你必须试着去理解这些激活本身意味着什么。你可能找不到任何你希望看到的等级。因此,总之,了解ANN如何在内部表示数据不是一件容易的事情。实际上-非常困难的一个。
建议进一步阅读:https://github.com/tensorflow/models/tree/master/inception
注意文档的这部分 --它与您的#1密切相关。
发布于 2017-12-24 15:38:10
以下是一些解释:https://github.com/tensorflow/models/issues/2510。
因此,如果有模型检查点,就有可能以某种方式建立模型。下面是带有finetuning示例的回购链接:https://github.com/tensorflow/models/tree/master/research/slim/
发布于 2017-12-24 15:48:44
是的,你可以,我最近做了一件非常相似的事情,在我的例子中,那是生片植物的叶子和健康的植物叶。v3的初始阶段已经训练好了,你要做的就是转移学习。转移学习是一种技术,它通过对一组类别(如ImageNet )采用经过充分训练的模型,并从现有的权重中为新类进行再训练,从而简化了许多工作。
视频来源:YouTube视频教程,Hvass实验室有一些很好的视频资源来纠正你的问题。
https://stackoverflow.com/questions/38246725
复制相似问题