ai的教学片段(给 AI 讲故事,如何教它脑补画面?)

阿里导读:视觉想象力是与生俱来的。AI能有类似的能力吗?比如,给定一个故事,机器如何展开想象力,让画面“脑补”?看看阿里AI Labs感知实验室的同学们是怎么解决这个问题的。
1.背景3354视觉想象)1.1什么是视觉想象?
视觉想象是人脑的一个重要功能,可以将一些抽象的概念形象化,然后用这些视觉想象进行思考。如图最左栏所示,当我们想到:一只长着棕白色翅膀、尖尖喙的黄色小鸟时,我们脑海中可能会想象出一幅黄色小鸟的画面。这就是视觉想象。我们的目标是让AI逐渐具备这种能力。
图1:第一行文字描述的,艾“想象”的画面[1]。
1.2 AI拥有视觉想象力后的影响?
如果AI有视觉想象力,会更好的理解人的需求,对一些传统行业有颠覆性的影响。这里有两个例子。
图2显示了语义图像搜索领域中的一个案例。我们在谷歌搜索白船上拿着鱼戴着帽子的男人,结果质量可能是(A)。引擎只是偶尔理解我们的搜索意图。当机器具有一定的视觉想象力时,它的搜索结果可能是(B),这将大大提高我们的信息检索效率,而这些信息是承载在图像中的。
图2:具有视觉想象力的AI将对语义图像搜索产生重要影响[2]。
另一个例子是在语义图像生成领域。想象一下:当我们用语言描述一个场景时,机器利用其庞大的经验数据自动生成这个场景。如图3所示,如果我们描述一个不同体貌特征的人,机器会自动想象这个人的长相,这将颠覆刑侦等领域(比如受害者描述罪犯的长相)。
图3:具有视觉想象力的AI将对语义图像生成产生重要影响[3]。
2.话题3354站在巨人的肩膀上2.1领域的痛点在哪里?
我们将焦点转移到文本到图像的合成领域。在这一领域,基于甘思想的一系列算法,对于简单单个主体的图像生成,如鸟、花、人脸等,已经取得了一些可喜的成果,如图1所示。但当文字包含多个相互关联的对象时,产生的效果会大打折扣,如下左图所示。这主要是因为文本过于灵活和无结构造成的。
图4:当前的生成算法很难生成包含多重交互的对象,比如左边的StackGan算法[4]。右边的Sg2im算法有可能在一定程度上解决这个问题[5]。
因此,Johnson等人在斯坦福大学CV group的CVPR2018中提出了将文本到图像的生成拆分成几个更可控的子问题的思想[5]。这使用了一种新的场景表达,——场景图和语义布局,他们之前在CVPR2015中提出过[2]。
图5:场景图和语义合成示意图[6]。
场景是一种有向图,包含实体、属性和关系三个要素,可以看作是语义模式下的结构化表达。
场景图中的每个实体在图像中都有相应的bbox。不看图像本身,只看图像中所有的bbox,一个图像的语义构成就形成了。因此,语义组合可以被视为一个具有普遍意义的图像的结构表达。
表1:结构名称和模式对照表。
2.2如何解决?3354我们眼中的大框架
站在大牛的肩膀上,我们眼中从文字到图像的生成大致分为以下几个子任务:
表2:从文本生成图像的任务中分离出来的子任务列表。
为了达到可控生成和逐步增加信息维度的目的,整个过程可以大致分为上述子任务。每个子任务都有一些对应的工作,这里就不详细进行了。
2.3论文的重点
本文重点解决子任务3:如何从场景图生成场景构图?
这个任务很重要,因为从这个任务中,结构化的语义信息可以被“想象”为图像的结构化表达,这是赋予机器视觉想象力的关键。
3.3.1论文的动机和贡献当前存在的问题
| 3.1.1功与组合爆炸最接近的问题
图6: SG2IM使用图rollup网络,以整个场景图为输入,生成语义合成整体[5]。
最接近的工作来自斯坦福约翰逊等人在CVPR2018 [5]发表的sg2im算法(图6)。首先,他们使用图体网络来嵌入每个实体的特征,然后通过对象布局网络使用这些特征来生成语义组合。他们的生成方法是从全场景图到全语义构图。整个场景图包含几个实体和关系,这些实体和关系的组合使得场景图变化很大,模型很难有效表达这么多的变化,最终导致语义合成的学习效果不理想。我们称之为组合爆炸问题。
| 3.1.2缺乏语义成分的评价指标
另一个挑战是:如何直接自动评估语义组合生成的质量?
在过去,大部分工作是通过间接自动评估来完成的,这种评估使用初始得分或图像字幕得分来对语义合成生成的图像进行评分。这样根本无法评价语义构成的生成。很大程度上,我们只是评价最终的GAN网络是否有效。大量的工作都是人工评分,虽然给出了评分结果,但几乎不可能完全重现,极大的阻碍了该领域的发展。
3.2 SEQ-SG2SL的动机
Seq-SG2SL是我们为解决组合爆炸问题而提出的一个从场景图生成语义组合的框架。本节不说框架本身,先讲一个故事。
故事背景:老师需要通过看建筑图纸来教学生如何建造建筑物。如图7所示。
图7:上图为建筑图纸示意图,下图为已完工房间示意图(图片来自互联网)。
一个老师教速成班。他指着一叠厚厚的图纸对学生们说:“你们看,这是以前的图纸,上面有按照图纸修建的建筑物的地址。你可以拿着这些图纸去看看那些建筑,你应该能意识到这些建筑是如何建造的。以后我给你一张新图纸,你就可以建楼了。”学生已经按照A老师的方法去学了。当A老师在测试中发现几乎没有学生能按照图纸搭建大楼时,A老师生气地说:“该上课了。这群学生太无知了,不能举一反三。”
b老师教慢班。他对学生们说:“我给你们一些画。今天,我将教你如何建造客厅,明天,我将教你如何建造厨房。我们的目标是先学习每个房间的搭建套路,然后教你如何串起来搭建一个整体的房间。最后,我来教你怎么盖楼。看这些图纸,别急,我会告诉你每个部分对应实际建筑的哪个部分。虽然整个建筑看起来不一样,但这些部分都很有套路,你们掌握了它们并保留下来后,就会把建筑全部建成。”果然,在B老师的悉心指导下,所有同学都很快通过了考试,就连笨源也学会了怎么看图纸盖楼。
故事中,A老师的学生虽然动作快,聪明,但建筑千变万化,学生很难通过这些图纸学到共性。而B老师的学生,虽然整体学习比较慢,记忆力也不好,但是通过教一些盖楼需要的基础知识,教给学生一些共同点,结果笨鸟先飞。
场景如建筑图,语义构图如建筑。A老师的教学方法其实遇到了组合爆炸的问题。B老师通过教授最基本的建筑操作,避免了组合爆炸的问题。
受此启发,我们提出了一个全新的视角来看待从场景图生成语义合成的问题。语义合成是一个结果。我们应该学习的不是直接的结果,而是产生结果的过程。通过学习更多的基本单位来解决组合爆炸的问题。
3.
为了解决缺乏直接自动评价指标的问题,我们提出了一个新的指标:学习中语义布局评价(SLEU)。这个指标的灵感来源于著名的机器翻译指标BLEU。
这背后的逻辑是这样的:
1)为了完成自动评估,必须要求真值。2)2)SLEU的设计目的是衡量生成的语义组合与真值之间的差异。
因此,遵循上述逻辑,我们类比了机器翻译索引BLEU的设计,将BLEU的基本概念从1D扩展到2D,提出了SLEU。
3.4论文的贡献
1)提出了一个新的框架Seq-SG2SL,它把语义组合看作是一系列过程的结果。与以前的方法不同,AI研究的是生成过程,而不是结果。这种序列到序列的学习方法可以解决组合爆炸的问题。
2)提出了一种直接自动评估语义组合生成的指标SLEU,解决了该领域的结果重现问题,为直接比较不同组合生成方法提供了基础。
4.方法4.1 Seq-SG2SL框架要点简介
图8: Seq-SG2SL框架。
语义构成是由什么决定的?这是一种关系。因此,场景图中的关系三元组(主语-谓语-宾语)决定了语义成分中主语和宾语对应的两个bbox的形成。与主体和客体相对应的bbox分别称为视觉主体和视觉客体。
因此,语义组合的过程可以分解为一系列基本动作片段,而每个基本动作片段称为一个砖块——动作代码片段(BACS)。每个BACS执行的操作是将视觉主体和视觉对象放置在语义组合中,并分别调整它们的类别、位置和大小。并且每个BACS由其在场景图中的对应关系三元组来确定。一个关系三元组连接主谓宾,三个短语成为一个基本的语义片段,我们称之为语义片段(SF)。如图8,tree by sidewalk是一个SF,其对应图中显示的10个代码(c0002 … h14)是BACS,这10个代码执行的结果是两个bbox,tree和sidewalk,在最右边的布局图中。
一系列SF串联连接,形成一个SF序列。该SF序列对应于通过连接每个相应的BAC形成的序列(BACS序列)。这两个序列,就像两种语言一样,我们需要做的就是把机器学习从SF语言“翻译”成BACS语言。当然,为了保留场景图中的有向图信息,我们维护了一个额外的节点序列,主要是确定序列中的哪些实体属于同一个实体,可以通过节点序列直接将场景图中的实体属性传递到语义组成中的bbox。这样,整个Seq-SG2SL框架就具有了灵活性和通用性。
回想一下,这个过程是不是就像我们之前讲的那个老师教学生从设计图上盖楼的故事?我们在设计图(场景图)中看到了一个零件(SF),然后我们去学习语义布局中对应的零件是如何搭建的(学习一个BACS),最后我们进行合成,教学生搭建整个建筑。这样直观,符合客观规律吗?我们不要求我们所有的学生(模特)都有天赋,但我们需要我们的老师教得好,才能最终取得好成绩。
框架的主要思想已经完成。如果你对细节感兴趣,你可以看看报纸。
4.2 SLEU指标
在介绍SLEU之前,我们希望读者先熟悉什么是机器翻译中的BLEU指标。
BLEU基于n-gram。N-gram是指在文本中连续出现的n个单词,是一种基于(n-1)阶马尔可夫链的概率语言模型。简单来说,就是假设当前第n个词出现的概率只取决于它的前(n-1)个词,而与前面的词无关。在机器翻译中,BLEU评价的基本单位是单词,一个unigram代表一个单词来评价翻译的充分性,一个较长的n-gram代表一个单词序列来评价翻译的流畅性。BLEU的思路是将句子拆分成n个grams,评估局部相似度,然后对整体翻译效果打分。
对于机器翻译来说,最小的可拆分单元是单词,那么语义成分生成的最小可拆分单元是什么呢?这是一种关系。所以对于语义组合生成,我们的unigram就变成了关系。评估充分性是评估单个关系是否匹配;评价流畅性就是评价n个关系会不会同时匹配。我们还做了N阶马尔可夫链的假设,即一个关系的出现只取决于不超过(n-1)个其他关系,而与更多的关系无关。因为场景图中的对象和语义构成是一一对应的,所以不存在精度和召回率的概念。我们把对单个关系的评估称为unigram准确度,而对多个关系的评估称为n-gram准确度。
这里就不赘述设计细节了。我们的核心理念是把关系看成是一元的。我们的工作只是设计这个概念,并把BLEU的概念从1D扩展到2D。有兴趣的读者可以参考论文,指标的实现会开源。
5.实验结果预览图9:由Seq-SG2SL框架在测试集上的一些结果显示。
上图是使用Seq-SG2SL在测试集上生成的一些结果,其中第一行行为输入,第二行行为生成语义组合,第三行是参考语义组合及其对应的图像。可以看出,我们的结果可以用于生成具有多种关系的复杂场景。
这里只是一个介绍,更多的定量分析在文中阐述,主要包括与基线算法的比较,以及一些必要的具体设计实验等。因为只是引言,结论和以后的工作等。这里就不赘述了。有兴趣的读者可以直接看报纸。
本文是对ICCV 2019就业论文《Seq-SG2SL:基于序列到序列学习的由场景图生成语义构图的算法》的介绍,并不涵盖论文的全部内容,仅集中于我们对一些问题的思考。虽然是以论文为基础,但尝试以更科普的形式逐步展现给读者,希望对后续的研究和应用场景有所启发。
作者:来源
本文为云起社区原创内容,未经允许不得转载。

其他教程

难得一见!下雨天,平流雾奇观出现,襄阳古城秒变海市蜃楼。

2022-8-17 12:51:24

其他教程

奇妙的撕纸免费ppt(ppt怎么有揉纸的效果)

2022-8-17 12:53:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索