Epoxy使用弱监督和预先训练的嵌入来创建模型,该模型可以以编程交互速度(小于1/2秒)进行训练,但可以保持训练深度网络的性能。该存储库为Epoxy提供了一个简单的概念验证实现(我们的实现大约是100LOC,包括文档字符串)。
在弱监管下,用户编写为数据生成标签的噪声标签函数。从历史上看,我们观察到这些标签函数通常精度高但覆盖率低(每个标签函数只对点的子集投票)。弥补过去的差距的唯一方法是编写更多标签函数(当您开始处理长尾时,这可能会变得困难),或者使用标签函数来训练最终模型(例如,参见FlyingSquid以了解更多细节)。在过去,只有编写更多的标签函数(当您开始处理长尾时,这可能会变得困难),或者使用标签函数来训练最终模型(例如,参见FlyingSquid以了解更多详细信息)。
在Epoxy中,我们使用预先训练的嵌入来获得训练终端模型的一些好处--而不必训练终端模型。我们使用嵌入通过最近邻搜索(提高覆盖范围)来创建扩展标注函数,然后使用FlyingSquid聚合扩展标注函数。这有助于获得训练深层网络的一些好处,但代价是不相称的。如果您确实有时间训练深层网络,Epoxy可以用来生成训练下游网络的标签。
查看示例教程,获取一个简单的Jupyter笔记本,其中显示了此repo中的概念证明。
此存储库依赖于FlyingSquid。我们建议您使用Conda安装FlyingSquid,然后即可安装Epoxy:
git克隆https://github.com/HazyResearch/flyingsquid.gitcd flyingsquidconda env create-f环境.ymlconda激活flyingsquidpip install-e.cd..git克隆https://github.com/HazyResearch/epoxy.gitcd epxypip install-e。
如果您使用我们的工作或觉得有用,请暂时引用我们的arxiv论文:
@文章{chen20Train,作者={Mayee F.Chen,Daniel Y.Fu,Frederic Sala and Frederic Sala,Sen Wu,Ravi Teja Mulrapudi,Fit Pom,Kayvon Fatahalian,Christopher Re},标题={列车和您将错过它:弱监督和预培训嵌入的交互模型迭代},期刊={arxiv preprint arxiv:2006.15168},年份={2020年},}