图像描述的注意力可视化

深度学习的模型和训练过程对我们来说如同一个黑匣子,可解释性不强,此时可视化的重要性愈发凸显;同时在我们的实验结果分析里,除了一些冷冰冰的数据支撑之外,可视化的展示也可以更直观地让读者感受到模型的效果。常规的可视化包括:模型结构的可视化、卷积参数的可视化、训练过程的可视化、热图可视化等。今天给大家介绍一种实现注意力可视化的代码(以图像描述为例)

源码链接: visualization

注意力机制实际上就是想将人的感知方式、注意力的行为应用在机器上,让机器学会去感知数据中的重要和不重要的部分。例如当我们看到一幅图像时,在某个时间段眼睛会聚焦在图像的某一区域,此时会重点关注这一部分而忽视其他部分,注意力就是让模型拥有同样的功能。

我们理论上可以解释的通,但注意力在模型的训练过程中到底是怎么作用的呢?

此时就需要进行注意力的可视化展示,图像描述的可视化效果如下图所示,当我们生成或预测某个单词时,注意力就会重点关注图像中相应的区域,可以更直观的让我们感受的注意力到底是什么东西,它在我们模型的训练过程中以一种什么样的作用存在。

图像描述的注意力可视化_第1张图片

那么上面效果图如何实现的呢?下面简单描述一下流程:

  1. 首先给定图像,模型等一些参数
    图像描述的注意力可视化_第2张图片
  2. 然后加载模型、字典,对图像进行预处理等
    图像描述的注意力可视化_第3张图片
  3. 根据图像和模型得到图像的描述句子以及生成描述过程中的注意力权重图像描述的注意力可视化_第4张图片
  4. 最后,根据图像,句子以及注意力权重得到最终的可视化描述效果图像描述的注意力可视化_第5张图片
    上面简单的描述了一下流程,具体的实现代码,大家可以参考源码,链接: visualization

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