如何训练和解释你的图片分类深度卷积模型?

如何训练和解释你的图片分类深度卷积模型?_第1张图片

技术的快速发展,总会带来一些迷思。

例如说,你可以调用两三行代码,就构造一个深度迁移学习分类器,用很少的标注图片做训练后,机器就能把新见到的图片准确分类。

这种状况好不好?当然好。这位很多领域的研究带来了更高的效率,甚至是启发。

但是,人们往往揶揄这样的研究者,叫做「调包侠」。他所学会的,可能并不是灵活运用一种方法,来理解问题。而是炫耀手里简单而强大的工具。

工具简单而强大,并不是坏处。

例如热兵器(手枪)之于冷兵器。显然前者更容易培训和掌握,而且实战效果比后者更有效。这就是技术进步带来的不对称。

但是研究不是一场简单的战斗。你知其然固然好,可还得知其所以然。

特别是,你得让别人相信,你知其所以然。不然,你的研究很难被主流学界认可。

曾有这样一个丑闻。话说某个研究者做医学图像分类,准确率极高。但是后来人们发现,模型所真正关注和识别的,并不是医学影像本身,而是图片背景的信息。这样一来,不仅该模型的有效性被大家质疑,而且人们也把怀疑的目光投向更多的同类研究。

所以,如果你希望自己的研究能够发表,深度神经网络模型的可解释性变得愈发重要。

可解释性的研究成果不少,但是想将它们直接迁移到你的研究,实践中并不容易。尤其是当你缺乏编程技能时。例如至今我还没有见到有详细的教程,把图片分类的深度学习模型构建、训练、测试和解释只用一个样例完整系统讲解和演示。

这样一来,尽管你有出色的创意和想法,却只能望洋兴叹,眼睁睁看着其他更熟练掌握工具的人一步步赶上来,超越你,把研究成果发表出去。

既然没找到这样的教程,我干脆自己给你做了一个。

上周组会,我把这个样例,连同图片分类模型的原理,给我的研究生们进行了讲解和展示。他们看完之后,眼睛都亮了,表示很有收获。

如何训练和解释你的图片分类深度卷积模型?_第2张图片

特别是,他们说能更清楚看懂师兄师姐们和我去年做的这篇文章了。

如何训练和解释你的图片分类深度卷积模型?_第3张图片

学生张晋帮我采集和标注了猎豹和美洲豹的图片各150张。我每类拿出105张做训练,30张做验证,15张测试。

模型训练只用了不到一分钟。测试的结果,是准确率、精准率、召回率和F1分数,全都是100%

如何训练和解释你的图片分类深度卷积模型?_第4张图片

我们查看了模型对于每一张图片分类的信心情况。

如何训练和解释你的图片分类深度卷积模型?_第5张图片

然后,利用叠加热力图,演示了模型在进行分类的时候,实际关注的焦点。

如何训练和解释你的图片分类深度卷积模型?_第6张图片

这样,就把研究的可解释性展现了出来。说明模型确实是依照动物本身的特征,而非背景来加以区别的。

如何训练和解释你的图片分类深度卷积模型?_第7张图片

我把讲解的过程录制了下来。相比于图文,你可以在视频观看中,更原汁原味体会其中的隐性知识。

如何训练和解释你的图片分类深度卷积模型?_第8张图片

你还可以获得配套的全部代码。因为这里面对于每一个步骤(包括自定义函数的内容),都有完整的设置。所以只需要对数据目录稍加改动,你就可以把这个流程应用在自己的数据集上。

你可能感兴趣的:(人工智能,机器学习,深度学习,计算机视觉,python)