原标题:T2F:所述即所见,用于深度自学,文本一键分解人脸雷锋网按:本文为雷锋字幕组编译器的技术博客,原标题T2F:TexttoFacegenerationusingDeepLearning,作者为AnimeshKarnewar。翻译成|赵朋飞整理|凡江由T2F基于适当的叙述分解的示例图像项目的代码可以在我的版本库取得:https://github.com/akanimax/T2F概述读者小说时,我常常奇怪小说中叙述的角色在现实中会是怎样的。从整体想象任务角色是不切实际的,但要将叙述变成更加深刻印象的细节是非常有挑战的,而且常常有所不同的人有有所不同的说明。
很多时候,我不能想象到一个十分模糊不清的面孔,直到故事的结尾。只有书本被翻译成电影时,模糊不清的面孔才不会被细节所填充。例如,我无法想象《列车上的女孩》中Rachel的明确相貌。但当这部电影播映时,我可以将EmilyBlunt的脸和Rachel联系一起。
演员们认同代价了很多希望才能从剧本中精确取得角色。图片来源:http://www.finalreel.co.uk/the-girl-on-the-train-release-date-2016/这个问题唤起了我的启发,鼓舞我去找寻解决问题的办法。之后,我们开始通过研究深度自学文献找寻类似于的东西。
幸运地的是,有大量的从文本中制备图像的研究可供参考。下面是我参照的一些资料。通过研究文献资料,我明确提出了一种比StackGAN++更加非常简单的架构,并且很更容易解决问题。
在随后的章节,我将说明所做到的工作并共享到目前为止取得的可行性结果。我也将提及一些代码和训练细节,这些花费了我很多时间才弄清楚。数据分析用作创立深度自学模型的数据毫无疑问是最完整的人工制品:正如吴恩达教授在他的deeplearning.aicourses上所说「在机器学习领域顺利的人并不是哪些享有杰出算法的人,而是享有杰出数据的人」。因此,我开始找寻一组有可爱、非常丰富和多样的文本叙述的脸部数据集。
我无意间找到了大量的数据集要么意味着只有人脸,要么是人脸和ID(用作辨识),要么是所含其他信息的人脸数据,比如眼睛颜色:蓝,脸型:椭圆,头发:金色,等。但这都不是我所必须的。我最后的自由选择是用于一个早期的项目(从结构化数据中分解自然语言叙述),在这个早期的项目中构建了从结构化数据分解自然语言概要。但这不会对早已充满著噪声的数据集再行减少噪声信息。
随着时间的推移和研究的进展,明确提出了Face2Text:搜集一个带上注解的图像叙述语料库,用作分解非常丰富的面部叙述:这就是我想的。特别感谢AlbertGattandMarcTanti获取了Face2Text数据集的v1.0版本。
Face2Textv1.0版本数据集包括400个随机从LFW(自然环境下已标记的人脸数据)自由选择的图像的自然语言叙述。这些叙述被清扫整洁,去除了那些对图片中人物的不相关的解释。其中一些叙述不只叙述了脸部特征,也获取了一些图片的隐蔽信息。例如,其中一个脸部叙述:「照片中的人有可能是一个罪犯」。
基于这些因素,以及数据集比较较小,我要求用于它证明我的架构。最后,我们可以拓展这个模型,并灌输更大、更加多样的数据集。架构从文字描述中分解人脸的T2F架构T2F架构融合了2个stackGAN架构(之前已提及),用于条件强化的文本编码和ProGAN(派生自GAN),用作制备面部图像。
完整的stackgan++架构在有所不同的空间分辨率下用于了多个GAN,我找到对于任何等价的分布式给定问题,都是有点过分了。而ProGAN仅有用于一个GAN,通过大大减少分辨率来逐步训练。
所以我要求将这两部分融合一起。为了更佳说明网络中的数据流,这里有一些要点:通过LSTM网络映射(psy_t)将文本叙述编码成概要向量,如框图右图。映射被起源于条件强化模块(分开线性层)以提供隐向量的文本部分(用于类似于新的参数化技术的VAE)作为GAN输出。
隐向量的第二部分是随机高斯噪声。隐向量输出GAN的分解模块,而映射被输出到鉴别器最后一层用作条件强化给定。
对GAN的训练正如ProGAN论文中提及的一样;即一层一层地减少空间分辨率。新层是用于fade-in技术引进的,以防止毁坏以前的自学。
构建和其他细节该架构是用于PyTorch框架在python中构建的。我之前用于tensorflow和keras,所以这次我想要尝试一下PyTorch。
我十分讨厌用于python本地调试器来调试网络架构;这是eagerexecution策略的优势。TensorFlow目前也包括一个eagerexecution模式。不管怎样,这不是一个关于哪个框架更佳的辩论,我只是想要特别强调一下这个体系结构的代码是用PyTorch写出的。你可以在我的githubrepo上寻找代码构建和如何继续执行的笔记,https://github.com/akanimax/T2F。
我找到这个架构的很多部分是可以器重的。尤其是ProGAN(有条件或无条件的)。
因此,我将他们作为PyTorch模块拓展分开撰写,也可以用作其他数据集。您只必须登录GAN的深度和近期/特性大小,模型就不会产生必要的架构。
对于任何您有可能想的数据集,GAN都可以逐步拒绝接受训练。训练细节我用于有所不同的超强参数训练了相当多的版本。如前一节所述,与训练有关的细节如下:下面的gif表明了生成器的训练时间延迟。
该gif是用于GAN在有所不同空间分辨率下训练过程中产生的图像创立的。T2F训练时间延迟结论从可行性结果中,我可以断言T2F是一个不切实际的项目,有一些十分有意思的应用于。
例如,T2F可以协助从叙述中辨识出有罪犯/受害者。基本上,我们必须一些领先的方面来唤起想象力的应用于。我将致力于拓展这个项目,并在Flicker8K数据集、Coco标题数据集等方面对其展开基准测试。
青睐明确提出建议。GAN的逐步快速增长是一种非凡的技术,可以更加慢、更加平稳地训练GAN。这可以与其他论文的精致的贡献结合。
应用于约束GAN训练的技巧,我们还可以在许多领域用于GAN。原文链接:https://medium.。
本文关键词:T2F,所述,即,所见,使用,深度,学习,文本,一键,完美体育官网
本文来源:完美体育官网-www.seabreezegarden.com