每年,世界产生的数据都比前一年更多。根据国际数据公司(International Data Corporation)的数据,仅在2020年,估计就会有59 ZB的数据被“创建、捕获、复制和消费”-足以装满大约1万亿个64G的硬盘。
但是,仅仅因为数据激增并不意味着每个人都能真正使用它们。公司和机构出于对用户隐私的理所当然的关注,经常限制对数据集的访问-有时是在他们自己的团队内。而现在,新冠肺炎疫情已经关闭了实验室和办公室,人们无法访问集中的数据存储,安全地共享信息变得更加困难。
如果不访问数据,就很难制造出真正起作用的工具。输入合成数据:开发人员和工程师可以使用人工信息作为真实数据的替身。
合成数据有点像无糖汽水。要想有效,它必须在某些方面与“真实的东西”相似。无糖苏打水的外观、味道和气泡都应该和普通苏打水一样。同样,合成数据集必须与它所代表的真实数据集具有相同的数学和统计属性。人工智能(DAI)实验室首席研究员、麻省理工学院信息与决策系统实验室首席研究科学家Kalyan Veeramachaneni说:“它看起来很像,格式也很像。”如果它在模型中运行,或者用于构建或测试应用程序,它的性能与真实世界的数据一样。
但是,就像无糖汽水的卡路里含量应该比普通汽水低一样,合成数据集也必须在关键方面与真正的数据集有所不同。例如,如果它基于真实的数据集,则它不应包含甚至不应提示该数据集中的任何信息。
穿这根针很棘手。经过多年的工作,Veeramachaneni和他的合作者最近推出了一套开源数据生成工具-一站式商店,用户可以在其中获得从表格到时间序列的格式的项目所需的尽可能多的数据。他们称它为合成数据保险库。
Veeramachaneni和他的团队在2013年首次尝试创建合成数据。他们的任务是分析在线学习程序edX的大量信息,并希望引入一些麻省理工学院的学生来帮助他们。Veeramachaneni说,这些数据很敏感,不能与这些新员工共享,所以团队决定创建学生可以使用的人工数据--计算出“一旦他们编写了处理软件,我们就可以在真实数据上使用它。”
这是一种常见的情况。想象一下,你是一名与医院签约的软件开发人员。您被要求建立一个仪表板,让患者访问他们的测试结果、处方和其他健康信息。但是你不能看到任何真实的病人数据,因为它是私人的。
DAI实验室的研究员卡莱斯·萨拉(Carles Sala)表示,在这种情况下,大多数开发人员会“为他们需要的数据制作一个非常简单化的版本,并尽最大努力”。但当仪表盘上线时,“一切都很有可能会崩溃,”他说,“因为有些边缘情况他们没有考虑到。”
高质量的合成数据-就像它想要取代的东西一样复杂-将有助于解决这个问题。公司和机构可以自由共享,使团队能够更协作、更高效地工作。开发人员甚至可以将其随身携带在笔记本电脑上,因为他们知道他们不会将任何敏感信息置于危险之中。
早在2013年,Veeramachaneni的团队就给了自己两周的时间来创建一个可以用于edX项目的数据池。Veeramachaneni说,时间线“看起来真的很合理”。“但我们彻底失败了。”他们很快意识到,如果他们建造一系列合成数据生成器,他们可以让其他所有人的过程更快。
2016年,该团队完成了一种算法,该算法可以准确捕捉真实数据集中不同字段之间的相关性--比如患者的年龄、血压和心率--并创建一个没有任何识别信息的合成数据集,保留这些关系。当数据科学家被要求使用这些合成数据来解决问题时,他们的解决方案在70%的时间里与使用真实数据的解决方案一样有效。该团队在2016年IEEE数据科学和高级分析国际会议上展示了这项研究。
在下一轮行动中,团队深入机器学习工具箱。2019年,博士生徐雷在温哥华举行的第33届神经信息处理系统会议上介绍了他的新算法CTGAN。CTGAN(用于条件表格生成性对抗网络)使用GANS来建立和完善合成数据表。徐说,GAN是一对“相互竞争”的神经网络。第一个网络称为生成器,它创建一些东西--在本例中是一行合成数据--而第二个网络称为鉴别器,它试图辨别它是否是真实的。
“最终,生成器可以生成完美的[数据],而鉴别器无法区分,”徐说。GAN更多地用于人工图像生成,但它们在合成数据方面也很有效:在徐的研究中测试的案例中,CTGAN在85%的情况下表现优于经典的合成数据创建技术。
统计相似性至关重要。但是,根据它们所代表的内容,数据集也有它们自己的重要上下文和约束,这些必须保存在合成数据中。戴实验室研究员萨拉给出了一个酒店账簿的例子:客人总是在登记入住后退房。合成酒店预订数据集中的日期也必须遵循这条规则:“它们的顺序必须是正确的,”他说。
大型数据集可能包含许多这样的不同关系,每个关系都是严格定义的。Veeramachaneni说:“模型无法学习约束,因为它们非常依赖于上下文。”因此,该团队最近最终确定了一个界面,允许人们告诉合成数据生成器这些界限在哪里。“数据是在这些约束下产生的,”Veeramachaneni说。
如此精确的数据可以帮助许多不同行业的公司和组织。荷兰国际集团金融服务公司(ING Financial Services)的团队负责人维姆·布鲁马特(Wim Blommaert)表示,银行业就是一个例子,数字化程度的提高,加上新的数据隐私规则,“引发了人们对生成合成数据的日益浓厚的兴趣”。他说,目前的解决方案,比如数据屏蔽,往往会破坏银行本来可以用来做出决策的有价值的信息。像SDV这样的工具有可能避开数据的敏感方面,同时保留这些重要的约束和关系。
Veeramachaneni说,合成数据库将该组织到目前为止建立的所有东西整合成了“一个完整的生态系统”。这样做的想法是,利益相关者--从学生到专业软件开发人员--可以来到金库,得到他们需要的东西,无论是大型表格、少量的时间序列数据,还是多种不同数据类型的混合。
这个保险库是开源的,并且是可扩展的。“我们意识到合成数据也可以在很多不同的领域使用,”萨拉说。例如,如果某个特定群体在样本数据集中的代表性不足,则可以使用合成数据来填补这些空白-这是一项需要大量技巧的敏感工作。或者,公司也可能想要使用合成数据来计划他们还没有经历过的情景,比如用户流量的大幅增加。
Veeramachaneni说,随着用例的不断出现,将开发更多的工具并将其添加到保险库中。这可能会让球队至少再呆上7年,但他们已经准备好了:“我们才刚刚触及冰山一角。”