通过强化学习生成故事线可视化(PlotThread: Creating Expressive Storyline Visualizations using Reinforcement Learning)

故事线(storyline)是一种常见的表现不同实体之间动态关系的可视化形式,如可视化电影中的人物关系,曲线的合并和分离分别表示电影人物在场景中同时出现、分开。传统的故事线的创作依赖于设计师手绘的方式,具有很好的叙事性,但是手绘的方式费时费力。近年来,研究者通过优化算法的方式,依据优化目标自动生成故事线。自动生成的方式效率高,但是仅依赖指标的方式限制了设计的空间。这篇文章[1]引入强化学习的方法,让机器自动生成不同的故事线可视化形式,然后用户可以在此基础上进行创作,兼顾了故事线可视化生成的效率、表达性和美观性。

这项工作强调人和机器合作的方式来构建故事线可视化。如图1所示,用户首先绘制一个基本的故事线,在此基础上,机器会创作不同的尽可能满足用户需求的故事线形式,用户进一步选择自己满意的故事线进行调整。

图1 系统工作流程

如图2所示,机器在创作故事线时采用了强化学习的方法。在强化学习中,有三个重要的概念,环境(environment),行为(actions),奖励(rewards)。在这个工作中,环境指页面上的故事线。行为指机器对故事线的修改,包括上下调整,弯曲、大小调整。奖励指对机器的行为进行评估,机器修改后的故事线应该和用户调整的保持一致,评估的时候从线的顺序、对齐、位置三个角度进行比较。当机器对故事线进行修改后,系统会对当前结果进行评估,用来指导下一步的操作。经过多次操作后,机器生成的结果会逐渐接近用户调整的结果。

图2 强化学习模型工作模式示意图

不同于一些优化方法只给出一个最优结果,采用强化学习的方式可以生成多个中间结果供用户进行选择,从而扩大的可视化的生成空间。同时,强化学习不需要预先标注的数据,学习的过程可以自主定义,结果具有更好的可解释性。

图3 强化学习生成故事线结果的定性比较

如图3为对于强化学习生成结果的定性比较。第1行为初始的故事线,当用户进行一定的操作后,得到第2行的结果,然而这些结果往往在一些局部处不同美观。第3、4,5行分别为机器进行1、5、15次操作后得到的结果,可以看出随着机器交互的次数越多,生成的结果和用户想要的结果更加接近,同时能够有比较完善的细节。

总的来说,相比深度学习,强化学习不需要被标注的数据。强化学习适合解决一些决策、交互类的问题,适合解决难以直接定义最优目标的可视化问题。如在图布局问题中,用户对于图最优布局可能会进一步调整(如生物、交通网络),可以考虑强化学习来学习用户的这种偏好,既可以得到较好的布局结果,也可以减轻用户的交互负担。

参考文献

  1. Tan Tang, Renzhong Li, Xinke Wu, Shuhan Liu, Johannes Knittel, Steffen Koch, Thomas Ertl, Lingyun Yu, Peiran Ren, and Yingcai Wu. PlotThread: Creating Expressive Storyline Visualizations using Reinforcement Learning. IEEE VIS 2020.

评论关闭。