image-processing - 是否有相当于 word2vec 的图像?

标签 image-processing deep-learning word2vec word-embedding

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

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

如果 w2v ( from Allison Parrish's 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

关于image-processing - 是否有相当于 word2vec 的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58401016/

相关文章:

machine-learning - 为什么在 tensorflow 中的 tf.nn.dropout 中对输入进行缩放?

machine-learning - Keras EarlyStopping 耐心参数

gensim - 有什么方法可以从doc2vec模型中获取词汇量吗?

matlab - 使用 matlab 识别实时视频源中的白框

c++ - 使用 mac os 在 OpenCv 中迭代大量图像的问题

python - 有没有办法让这个 numpy 操作更快?

c# - 是否有任何库可以将小图像与屏幕抓取进行比较并返回其所在位置的 x、y 坐标列表?

python - 为什么我需要在Keras中编译和拟合预训练模型?

python - 如何将word2vec转为glove格式

nlp - 如何将词嵌入和 pos 嵌入结合在一起来构建分类器