本文主要是介绍Francois Chollet:Keras与Tensorflow,下一个5年计划(NVIDIA GTC 21演讲),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在GTC 21上,Keras的创建者Francois Chollet推出了了Keras和Tensorflow的下一个5年计划。 我们观看了演讲,将其中的要点摘录如下。
进度循环(Loop of Progress)
AI模型的改善遵循一个循环进步的模型,如下图所示。 加速技术进步的最有效方式,是消除循环中的瓶颈。
我们仔细考虑一下这个循环中的细节。从构想阶段开始,研究人员需要阅读文献,使用示例代码或自行复现结果,根据现有结果去提出新的假设,选择和调整模型。当模型部署在生产环境中,需要数据工程师版本化代码和模型,检测模型漂移,维护DevOps流水线,实现推理和监视性能。此阶段生成的高速数据,必须存储在实时数据库中,并使用Tensorboard等工具进行可视化,根据结果去修订之前的假设。这个过程不仅非常繁琐,而且还需要多领域的专业知识,对于较小的团队而言,这可能是不现实的。
Keras
Keras是旨在使深度学习框架更易于访问的一个前端工具。 它最初是为Tensorflow编写的,但今天也可以兼容Pytorch,Theano等。 与软件业中常见的,以牺牲访问较低级别的API的自由为代价的封装方式不同,Keras应用了Chollet的“渐进的复杂性披露(Progressive Disclosure of Complexity)”哲学:逐渐提高的抽象层级服务不同角色和专业水平的用户。 机器学习工作流程的不同阶段也可以分别定制不同的复杂度,例如,数据科学家可以选择使用自定义运算符来在较低级别上构建模型,但是只需调用model.fit()方法即可对其进行训练。
Chollet将从事机器学习工作的用户大致分为三类:基本用户,工程师,研究人员;传统上他们仍然在各自的孤岛中工作,不便于思想的交流。Keras这个渐进的复杂性模式,为不同技能水平的用户提供了相对平滑的学习曲线。
可重用性(Reusability)
为了促进跨学科合作。 Keras将领域知识提炼成可重用的模块,例如用于计算机视觉的KerasCV和用于自然语言处理的KerasNLP。 终端用户也没有被忘记,Keras Applications,一个具有权重的预训练模型库将来也将被扩充。
自动化
自动化程度的提高同样遵循“复杂性的逐步披露”的座右铭,按复杂度由低到高顺序,Keras将会提供以下自动功能:
- 超参数优化(KerasTuner)
- 神经网络架构搜索
- 功能库和终身学习
- AutoML(AutoKeras)
KerasTuner
作为Keras超参数优化工具,KerasTuner是机器学习专家智慧的一个结晶,从一定程度上可以代替专家团队的不足:
- 运行时自定义(define-by-run)动态搜索空间
- 内置搜索策略:超频带(Hyperband),贝叶斯,随机搜索
- 自定义搜索策略
- 大规模分布式搜索
- 内置“可调模型”:应用程序模板,只需要添加用户数据就可以自动实现超参数调优。
AutoKeras
上述的改进的升华产物,是一个叫做AutoKeras的AutoML工具,使得端到端机器学习工作流程像运行单个Python脚本一样便捷。
生产化方面的改善
Keras Preprocessing Layers(Keras 预处理层)
在现实环境中,常常会遇见生产数据与训练数据存在偏差,但是可以通过预处理的方式矫正的情形。这种预处理会引入训练/处理偏斜(training/serving skew),Keras对这个问题的回答是Keras Preprocessing Layers,这个处理层将预处理操作变成了模型的一部分,提高了模型的集成度。业界已经存在专业的图像预处理服务Roboflow,Keras除了图像处理之外,还引入了:
- 文字向量化
- 字符串的标准化(standardization)/清理
- 标记化(Tokenization)
- 索引(Indexing)
- ngrams,TF-IDF(词频-反文档频率)
- 图像预处理和增强
- 结构化数据预处理
- 索引
- 哈希(Hashing)
- 离散化(Discretization)
TensorFlow云
理想情况下,深度学习专业知识和基础架构等资源应该被包装成便于重用的形式。为了使Tensorflow更加接近这个理想,Chollet和团队开发了Tensorflow Cloud(TFC)。 TFC提供了一个方便的run方法,无需用户干预即可执行以下操作:将脚本或笔记本转换为可用于生产和发布的代码;构建具有所需依赖项的容器,并将容器映像存储在容器注册表中;部署容器,使用Tensorflow分发策略运行培训工作;使用Tensorboard传输日志并监控性能。
TensorFlow Tuner
TensorFlow Tuner是基于前述KerasTuner的一个优化工具,无缝集成了GCP上的Vizier。 Vizier是一个托管在GCP基础设施上的超参数优化服务,它是一个黑盒技术,所以采纳前需要考虑这个特点的影响。
睿极智能
睿极智能是专业的移动视频与融合通信解决方案提供商,以视频为核心,以技术创新为持续驱动,致力于无线视频通信技术研究,面向全球提供领先的可视化管理云平台、高度集成的无线图传核心模组、多样化的无线智能视频终端产品以及专业的行业应用解决方案。
作为国内移动视频领域的先行者之一,睿极智能一直在关注AI技术的最新动向,并积极的将最新算法和技术运用于我们的产品和服务中。我们将会在这里与大家分享我们的算法工程师在AI落地工作中的心得体会和对新技术的理解。欢迎读者在文末留言或私信,提供您的宝贵意见和观点!
这篇关于Francois Chollet:Keras与Tensorflow,下一个5年计划(NVIDIA GTC 21演讲)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!