TensorFlow官宣新功能 攻克语言AI模型预处理偏差

来源:快报
责任编辑:王亮
字体:

新智元报道

来源:Venturebeat等

编辑:大明

【新智元导读】谷歌发布TensorFlow优化新功能TF.Text库,可对语言文本AI模型进行周期性预处理,大大节约了AI开发者对文本模型的训练时间,简化训练流程。

TensorFlow再填新功能!

谷歌宣布推出TensorFlow.Text,这是一个利用TensorFlow对语言文本模型进行预处理的库。TF官博第一时间发布了更新消息,并对TF.Text的新功能和特性进行了简要介绍。

TensorFlow一直以来致力于为用户提供更广泛的选择,帮助用户利用图像和视频数据构建模型。但是,许多模型是以文本开头的,从这些模型构建的语言模型需要进行一些预处理,才能将文本输入到模型中。比如关于使用IMDB数据集的文本分类教程,就是从已经转换为整数ID的文本数据开始入手的。

如果模型训练和推理的时间不一样,在训练过程以外完成的预处理可能会和模型产生偏差,这就需要额外投入更多的时间和精力对预处理的过程进行协调。

TensorFlow本次推出的TF.Text就是为了解决这个问题,TF.Text是一个TensorFlow 2.0库,可以使用PIP命令轻松安装。它可以在基于文本的模型中定期执行这些预处理过程,并提供TensorFlow核心组件中并未提供的、关于语言建模的更多功能和操作。

其中最常见的功能就是文本的词条化(tokenization)。词条化是将字符串分解为token的过程。这些token可能是单词、数字和标点符号,或是上述几种元素的组合。

TF.Text的Tokenizer使用RaggedTensors,这是一种用于识别文本的新型张量。

下面是来自TensorFlow官方的一段视频介绍,一起来看看:

三个新的Tokenizer,系统解决文本AI模型预训练问题

TF.Text提供了三个新的tokenizer。其中最基本的是空白tokenizer,可以在ICU定义的空白字符(例如空格,制表符,换行符)上拆分UTF-8字符串。

此次发布的初始版本还包括一个面向unicode脚本的tokenizer,可以根据Unicode脚本边界拆分UTF-8字符串。值得注意的是,它和空白tokenizer很类似,最明显的区别在于后者可以从标准文本(如USCRIPT_LATIN,USCRIPT_CYRILLIC等)中分割出标点符号。

TF.Text中提供的最后一个tokenizer是一个Wordpiece tokenizer。这是一个无监督的tokenizer,需要一个预先确定的词汇表,进一步将token分成子词(前缀和后缀)。Wordpiece常用于谷歌的BERT模型。

每个Tokenizer都在UTF-8编码的字符串上进行标记,并提供了将字节偏移量转换为原始字符串的选项。调用者可以了解创建的token的原始字符串中的字节对齐。

此外,TF.Text库还包括归一化、n-gram和标记序列约束等功能。

新功能组件密集发布,TensorFlow大家庭日益完善

有关更深入的实例,可以查看Colab notebook内容,其中包含许多本文中未讨论的新的可用操作的各种代码段。未来计划继续提供更多新工具,让使用TensorFlow构建语言模型变得更加方便。

今年上半年,谷歌陆续发布了多个基于TensorFlow的新功能和新组件。5月,谷歌发布TensorFlow Graphics,让机器学习与图形和3D模型的关系更加密切。今年3月,谷歌发布旨在增强隐私保护的终端设备机器学习方法TensorFlow Federated。此外,TensorFlow框架面向JavaScript和iOS开发者的版本TensorFlow.js和TensorFlow Swift也于今年春天发布。

参考链接:

https://venturebeat.com/2019/06/10/google-launches-tensorflow-text-library-for-language-ai-models/

https://medium.com/tensorflow/introducing-tf-text-438c8552bd5e

请注意:本文转载自QQ快报,并不代表本网赞同其观点,版权归原作者所有,本网不承担任何责任,特此声明。

根据您访问的内容,您可能还对以下内容感兴趣,希望对您有帮助:

tensorflow 怎么更换不同的测试数据测试模型

nbsp;如何更换不同的测试数据测试模型? ㈠TensorFlow常规模型加载方法:①che... in range(128):imgs.append(img)print(sess.run(tf.get_default_graph().get_tensor_...

tensorflow如何使用训练好的模型做测试

可以通过tf.train.Saver来保存模型,然后通过import_meta_graph来读取。 具体可以参考一下:飞升之路 TensorFlow — 模型保存与读

ttensorflow深度学习怎么基于训练好的模型继续训练

从第一个模型里里面找训练的

CPU环境下调用tensorflow的slim包中的模型inception V3出现的...

原因:没有GPU 解决: 把指定device为GPU:0的语句改成CPU:0,如果你没有GPU,就安装tensorflow而不是tensorflow-gpu,更不要指定device

谷歌开源的TensorFlow可以如何应用,用什么语言可以修改

界面显示的语言没法修改,这是系统环境决定的。 网页显示语言可以到选项》中级用户选项》字体和语言来修改网页显示语言 系统内核肯定是用C写成的,有一些架构相关的部分...

tensorflow训练好的模型怎么调用

sess: 用于保存变量操作的会话。save_path: String类型,用于指定训练结果的保存路径。global_step: 如果提供的话,这个数字会添加到save_path后面,用于构建checkpoint文件...

怎么把tensorflow训练好的模型转化为c++

我利用 TensorFlow 提供 tf.train.AdamOptimizer 控制习速度AdamOptimizer 通使用量(参数移平均数)改善传统梯度降促进超参数态调整我

tensorflow 保存好训练的模型,restore 后验证集的正确率很低

没用过tensorflow,我从数据的角度想想 1、导入后随机看几个节点的权重参数,看看网络是不是正常保存了 2、是不是在数据归一化的时候第一次你归一化用的是test+train数据而...

tensorflow程序里面预测为什么写在训练模型之前

基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 tensor 表示数据. 通过 变量 (...

tensorflow训练好的模型,怎么调用?

如果用Tensorflow去实现神经网络,所要保存的就是神经网络中的各项权重值。建议可以使用Saver类保存和加载模型的结果。 1、使用tf.train.Saver.save()方法保存模型tf.train.S...

声明:以上内容由用户提供,并不代表本网赞同其观点。如有任何不妥,请与不良与违法信息举报中心联系:513175919@qq.com

www.book1234.com true http://www.book1234.com/q/20190612/20190612A05OMM.html report 21314
娱乐时尚
科技资讯
历史文化
真视界