近段时间以来,机器学习领域内的进展已经催生出了很多激动人心的结果,其应用已经延展到了图像识别、语言翻译、医学诊断等许多领域。对研究科学家来说,随着机器学习系统的广泛应用,理解模型解读数据的方式正变得越来越重要。但是,探索数据的一大主要难题是数据往往具有数百个乃至数千个维度,这需要我们使用特别的工具才能研究调查清楚数据空间。
为了实现一种更为直观的探索过程,谷歌今日布开源了一款用于交互式可视化和高维数据分析的网页工具 Embedding Projector,其作为 TensorFlow 的一部分,能带来类似 A.I. Experiment 的效果(参阅:业界 | 谷歌推出 A.I. Experiments:让任何人都可以轻松实验人工智能)。同时,谷歌也在 projector.tensorflow.org 放出了一个可以单独使用的版本,让用户无需安装和运行 TensorFlow 即可进行高维数据的可视化
探索嵌入(embeddings)
训练机器学习系统所需的数据一开始的形式是计算机无法直接理解的。为了将这些我们人类能够自然而然理解的东西(如:话语、声音或视频)翻译成算法能够处理的形式,我们会使用到嵌入(embeddings)——一种获取了数据的不同方面(即:维度 dimension)的数学向量表征。比如说,在一个语言嵌入中,相似的词会被映射到彼此相近的点。
降维的方法
Embedding Projector 提供了三种常用的数据降维(data dimensionality reduction)方法,这让我们可以更轻松地实现复杂数据的可视化,这三种方法分别是 PCA、t-SNE 和自定义线性投影(custom linear projections):
PCA 通常可以有效地探索嵌入的内在结构,揭示出数据中最具影响力的维度。
t-SNE 可用于探索局部近邻值(local neighborhoods)和寻找聚类(cluster),可以让开发者确保一个嵌入保留了数据中的所有含义(比如在 MNIST 数据集中,可以看到同样的数字聚类在一起)。
自定义线性投影可以帮助发现数据集中有意义的「方向(direction)」,比如一个语言生成模型中一种正式的语调和随意的语调之间的区别——这让我们可以设计出更具适应性的机器学习系统。
在一个拥有 3.5 万个电子邮件常用短语的语料库中,「see attachment」的 100 个最近的点到「yes」-「yeah」向量上(yes 在右,yeah 在左)的自定义线性投影
谷歌的博客写道:
Embedding Projector 网站包括一些可供试玩的数据组。我们也让用户更容易使用它并与其他人共享他们的嵌入(仅需点击左边的 publish 按钮)。我们希望 Embedding Projector 能有效帮助研究社区探索并调节他们的机器学习应用,也让所有人更好地理解机器学习算法如何解读数据。如果对 Embedding Projector 细节有兴趣,请阅读我们的论文。祝你在嵌入的世界里玩得开心!
以下是论文摘要:
摘要:嵌入在机器学习领域,比如推荐系统、NLP 以及许多其他应用领域中很常见。研究人员和开发者常常需要探索某个具体嵌入的属性,并找到分析嵌入的方法以将它们视觉化。我们为交互式可视化和嵌入的诠释工作推出了 Embedding Projector 这款工具。