谷歌意识到标签数据是机器学习的一个重要瓶颈,所以最近采用了开源框架Snorkel来解决这个问题。谷歌与斯坦福和布朗大学合作研究这个问题。他们在 AI 博客上记录了研究结果,并发表了一篇名为“Snorkel Drybell:在行业规模部署弱监督的案例研究”的论文。
Snorkel 通过软件算法为训练数据打标签,而不是通过手动的方式。这项技术被称为弱监督。该算法可以使用任何可用的知识,包括知识图谱、规则和统计信息。有多种算法可用来给同样的数据打标签。每种算法可以提供一个或多个标签,也可以去掉标签。然后 Snorkel 会自动基于对标签准确性的估计来分配权重。Snorkel 通过比较标签的准确性来做出估计,并基于算法权重和相关标签为每个数据点创建一个单独的概率性标签。
谷歌基于 Snorkel 构建了 Snorkel Drybell,旨在处理 Web 规模的数据。它将 Snorkel 与 TensorFlow 进行了集成,加入了共享内存计算,增强了原先的单节点设计。谷歌并没有强制用于表示训练数据的数据模型采用严格的上下文层级结构。它还移除了对使用数据库保存数据的依赖,取而代之的是分布式文件系统。最后,谷歌将标签功能作为单独的可执行文件,可以在文件系统上共享数据。这些变化让 Snorkel 可以使用大量的知识,并基于弱监督算法对数据打标签。
谷歌使用 Snorkel Drybell 分别对两组模型(一个是 12,000 个数据点,一个是 80,000 数据点)进行了测试,并与手动打标签的数据进行了比较,结果得出了相近的预测准确性。另外,基准测试结果显示,使用 Snorkel Drybell 的性能平均提升了 52%。
Snorkel 最初由斯坦福DAWN项目创建。DAWN 主页上写道:“DAWN 是一个为期 5 年的研究项目,旨在通过简化构建 AI 应用程序来展示 AI 的力量。Snorkel 是这个项目组合中的子项目之一”。与 DAWN 的愿景和在软件 2.0 中使用弱监督的信息分别可以在“一个有用的机器学习基础设施:斯坦福DAWN项目”和“多任务和弱监督在软件2.0中所扮演的角色”中找到。
查看英文原文:Google Scales Weak Supervision to Overcome Labeled Dataset Problem
评论