图像是否有等效的word2vec?



我想知道是否可以为图像创建密集的矢量表示,类似于使用 Word2Vec 等算法创建单词嵌入的方式?

我知道文本和图像数据之间存在一些很大的差异 - 特别是word2vec使用单词的上下文进行训练的事实 - 但我希望为图像找到类似的对应物。

如果w2v的一个简单例子(来自Allison Parrish的GitHub Gist(是:

| cuteness (0-100) | size (0-100) |
|–––––––––––|––––––––––––––––––|––––––––––––––|
| kitten    |        95        |     15       |
| tarantula |         8        |      3       |
| panda     |        75        |     40       |
| mosquito  |         1        |      1       |
| elephant  |        65        |     90       |

另一个例子是king - man + woman = queen

是否有一些模拟(或创建某种类型的模拟的方法(用于图像,您可能会大致得到以下内容(带有一些虚构的数字(:

| amount of people | abstract-ness |
| in image (0-100) |    (0-100)    |
|––––––––––––––––––––––––––––|––––––––––––––––––|–––––––––––––––|
| Starry Night               |         0        |       75      |
| Mona Lisa                  |         1        |        9      |
| American Gothic            |         2        |        7      |
| Garden of Earthly Delights |        80        |       50      |
| Les Demoiselles d'Avignon  |         5        |       87      |

(澄清一下,知道像Word2Vec这样的算法创建的实际向量不会完全适合人类可解释的类别,但我只是想给Word2Vec的例子做一个类比。

(starry night) - (landscape) + (man) = (van Gogh self portrait)= (abstract self portrait)或通常沿着这些思路的东西。

这些可能不是最好的例子,但回顾一下,我正在寻找某种算法来为图像创建抽象的 n 维学习表示,该表示可以分组或与代表其他图像的向量进行比较。

感谢您的帮助!

当然!但。。。

这样的模型往往需要更大的神经网络来学习表征。

Word2vec使用一个非常浅的网络,并对相邻单词进行简单的预测,通常来自严格限制的词汇表,作为训练目标(作为一个有益的副作用(为每个单词抛出紧凑的向量。

相反,以图像为中心的算法尝试解决标记/分类任务,或在压缩表示(或对抗分类器(约束下重新生成原始图像。他们使用"卷积"或其他多层结构来理解可能的像素值的更大空间,并且一些临时神经网络层可以解释为输入图像的紧凑向量。

请注意,即使在文本word2vec中,以无监督方式学习的单个"密集嵌入"维度也没有整洁的人类可解释性(如"大","可爱"等(。通常,高维空间的某些方向/邻域是模糊可解释的,但它们并不精确,也不与主要维轴完全对齐。

类似地,来自深度神经网络图像建模的任何紧凑表示本质上都不会具有具有明确含义的单个维度(除非设计了这些目标的特定额外约束(——但同样,高维空间的某些方向/邻里往往是有意义的("人群"、"汽车"、"微笑"等(。

我刚刚发现的基于深度学习的图像分析中的一些关键论文的概述 - 抛出紧凑而有意义的图像矢量摘要的算法 - 在:

https://adeshpande3.github.io/The-9-Deep-Learning-Papers-You-Need-To-Know-About.html

最新更新