TensorFlow Estimators: Managing Simplicity vs. Flexibility in High-Level Machine Learning Frameworks

来源:互联网 发布:ps mac触摸板无法缩放 编辑:程序博客网 时间:2024/06/09 14:15

TensorFlow Estimators: Managing Simplicity vs. Flexibility in High-Level Machine Learning Frameworks–阅读笔记

论文来源:2017 KDD
论文链接

  • ABSTRACT
  • INTRODUCTION
  • 知识点补充
    • DSL

ABSTRACT

本文提出一个指定、培训、评估和部署机器学习模型的框架。提供抽象概念指导,允许用户编写代码来定义模型;提供统一的Estimator接口,可实现独立于模型编写下流操作,如分布式培训,超参数调整等。

  • 通过提供不同抽象级别的API来平衡竞争对于灵活性和简单性的要求,使得通用模型体系结构立即可用。
  • 提供一个用于加速模型体系结构实验的实用程序库。
  • Estimators的参数可为传统超参数,特征列,声明性规范等。

INTRODUCTION

深度学习模型涉及训练的大量数据,以及高效运行高效计算的异构和分布式系统的复杂性,阻碍了最先进的方法被广泛应用于生产。

灵活性与简单性和鲁棒性呈紧张(负相关)关系。

  • 广义的简单性:假设已知模型架构,实现模型不应该需要根本的新技能。对模型特征进行实验应该是透明的,不应该要求对用于实现模型的框架的内部工作有深入了解。

框架具有鲁棒性:容易编写正确和高质量的软件,但很难写出破坏或性能不佳的软件。

许多深度学习框架将灵活性置于一切之上。他们通过提供相对较低级别的基本操作来实现这种灵活性,并要求用户以常规编程语言编写代码以指定其模型。低级别工作也会导致大量的代码重复,也给软件维护带来的麻烦。

基于DSL的系统更可能适合特定的生产用例,可优化,也具有鲁棒性,但对性的体系结构缺少灵活性。

TensorFlow是一个用于机器学习,尤其是深度学习的开源软件库。它将计算表示为一个广义的数据流图。该图首先被构建,然后与图构建分开执行。

知识点补充

DSL

DSL(domain-specific language),指的是针对特定应用领域而设计使用的计算机语言。与之相对的是GPL(general-purpose language),GPL指的是针对跨应用领域而设计使用的计算机语言。

  • 常见的DSL有:HTML,Shell,make语言,ant语言,maven语言,rpm语言,dpkg语言,awk语言,正则表达式,dc计算机语言等,有些DSL语言又被称为微型语言;
  • 常见的GPL有:Java,C等