PyText以PyTorch为基础进行语言识别
虽然深度神经网络风靡一时,但主要框架的复杂性已成为新机器学习用户使用的障碍。已经提出了几种用于构建神经网络模型的改进和简化的高级API的建议,所有这些建议从远处看起来看起来相似但在仔细检查时显示出差异。
Keras是领先的高级神经网络API之一。它是用Python编写的,支持多个后端神经网络计算引擎。
鉴于TensorFlow项目已采用Keras作为即将推出的TensorFlow 2.0版本的高级API,Keras看起来是一个赢家,如果不一定是赢家。在本文中,我们将探讨Keras的原理和实现,着眼于理解为什么它是对低级深度学习API的改进。
即使在TensorFlow 1.12中,官方的TensorFlow入门教程也使用了TensorFlow中嵌入的高级Keras API,tf.keras。相比之下,TensorFlow Core API需要使用TensorFlow计算图,张量,操作和会话,当您刚刚开始使用TensorFlow时,其中一些很难理解。使用低级TensorFlow Core API有一些优点,主要是在调试时,但幸运的是,您可以根据需要混合使用高级和低级TensorFlow API。
Keras原则
Keras的创建是为了用户友好,模块化,易于扩展,并与Python一起使用。API是“为人类而不是机器设计的”,并且“遵循减少认知负荷的最佳实践”。
神经层,成本函数,优化器,初始化方案,激活函数和正则化方案都是独立模块,您可以将它们组合在一起以创建新模型。新模块很容易添加,作为新的类和函数。模型在Python代码中定义,而不是单独的模型配置文件。
为什么Keras?
使用Keras的最大原因源于其指导原则,主要是关于用户友好的原则。除了易于学习和简化模型构建之外,Keras还具有广泛采用的优势,支持广泛的生产部署选项,与至少五个后端引擎(TensorFlow,CNTK,Theano,MXNet和PlaidML)集成,并强烈支持多个GPU和分布式培训。此外,Keras还得到了谷歌,微软,亚马逊,苹果,Nvidia,优步等公司的支持。
Keras本身并不进行自己的低级操作,例如张量积和卷积; 它依赖于后端引擎。尽管Keras支持多个后端引擎,但其主要(和默认)后端是TensorFlow,其主要支持者是Google。Keras API打包在TensorFlow中tf.keras,如前所述,它将成为TensorFlow 2.0的主要TensorFlow API。
要更改后端,只需编辑$HOME/.keras/keras.json文件并指定其他后端名称,例如theano或CNTK。或者,您可以KERAS_BACKEND通过在shell中或使用os.environ["KERAS_BACKEND"]属性在Python代码中定义环境变量来覆盖已配置的后端。
Keras型号
该模型是Keras的核心数据结构。Keras中有两种主要的模型类型:Sequential模型,以及Model与功能API一起使用的类。
Keras顺序模型
该Sequential模型是层的线性堆栈,并且可以非常简单地描述层。以下是Keras文档中的一个示例,该文档用于model.add()在Sequential模型中定义两个密集层:
Facebook开源了PyText项目,这是一个用于自然语言处理(NLP)的机器学习库,旨在使实验项目和生产系统更容易组合在一起。
PyText是用Facebook现有的用于机器学习的PyTorch库构建的,并由公司内部使用,旨在解决如何使用神经网络(例如NLP)进行机器学习。他们在一篇文章中说,这些库通常是“在为实验优化的框架和为生产优化的框架之间进行权衡”。
为实验而构建的框架允许快速原型设计,但遭受“生产中延迟和内存使用增加”,Facebook的工程师写道。另一方面,为生产而构建的框架在负载下工作得更好,但更难以快速开发。
PyText的主要区别在于其工作流程,Facebook声称可以针对实验或生产使用进行优化。可以将框架的组件拼接在一起以创建整个NLP管道,或者可以在其他上下文中分解和重用各个部分。
训练新模型可以分布在多个节点上,并且可以同时训练多个模型。PyText还可以使用许多现有模型进行文本分类,完全不需要在这些情况下进行培训。
PyText还通过上下文模型提高了理解能力,这是一种丰富模型对以前输入文本的理解的方法。例如,聊天机器人可以在讨论中重用早期消息中的信息来塑造其答案。
PyText中的一个功能显示了由Python驱动的机器学习系统如何找到避免语言可能出现的性能问题的方法。PyText模型可以以优化的ONNX格式导出,以便使用Caffe2进行快速推理。这样,推理过程不受Python运行时的限制,但Python仍然用于组装管道和编排模型训练。
PyTorch本身最近获得了正式的1.0版本,其自身的功能部分旨在加速训练和推理,而不受Python的限制。其中之一,Torch Script,及时编译Python代码以加速其执行,但它只能用于语言的一个子集。
PyText的近期计划包括“支持多语言建模和其他建模功能,使模型更易于调试,并为分布式培训添加进一步优化”,Facebook的工程师说。
上面代码中的注释值得一读。还有一点值得注意的是,与低级TensorFlow API相比,实际代码中有多少。每个层定义需要一行代码,编译(学习过程定义)需要一行代码,拟合(训练),评估(计算损失和度量),以及预测训练模型的输出每行需要一行代码。
Keras功能API
Keras Sequential模型很简单,但在模型拓扑中受到限制。所述Keras功能API是用于与共享层创建复杂的模型,如多输入/多输出模式,有向非循环图(DAG),和模型是有用的。
功能API使用与Sequential模型相同的层,但在将它们组合在一起时提供了更大的灵活性。在功能API中,首先定义图层,然后创建模型,编译它,然后拟合(训练)它。评估和预测与Sequential模型基本相同,因此在下面的示例代码中已省略。
在前面的例子中,我们只使用了Dense图层。Keras有多种预定义的图层类型,还支持编写自己的图层。
核心层包括Dense(点积加偏差),Activation(传递函数或神经元形状),Dropout(在每次训练更新时随机将输入单位的一部分设置为0以避免过度拟合),Lambda(将任意表达式包装为Layer对象),以及其他几个。卷积层(使用滤波器创建要素图)从1D到3D运行,包括最常见的变体,例如每个维度的裁剪和转置卷积层。2D卷积受到视觉皮层功能的启发,通常用于图像识别。
池(缩减)层从1D到3D运行并包括最常见的变体,例如最大和平均池。局部连接的层就像卷积层一样,除了权重是非共享的。循环层包括简单(完全连接的重复),门控,LSTM等; 这些对于语言处理以及其他应用程序非常有用。噪声层有助于避免过度拟合。
Keras通过keras.datasets课程提供了七个常见的深度学习样本数据集。这包括cifar10和cifar100小彩色图像,IMDB电影评论,路透社新闻专题,MNIST手写数字,MNIST时尚图片和波士顿房价。
Keras还提供十种着名的模型,称为Keras应用程序,预先针对ImageNet:Xception,VGG16,VGG19,ResNet50,InceptionV3,InceptionResNetV2,MobileNet,DenseNet,NASNet,MobileNetV2TK。您可以使用它们来预测图像的分类,从中提取特征,以及在不同的类集上微调模型。
顺便说一句,微调现有模型是加速培训的好方法。例如,您可以根据需要添加图层,冻结基础图层以训练新图层,然后解冻一些基础图层以微调培训。您可以通过设置冻结图层layer.trainable = False。
该Keras实例库包含超过40个样本模型。它们涵盖了视觉模型,文本和序列以及生成模型。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
宝子们,杭州 房子装修完成啦!这次要给大家分享几家设计超赞的装修公司哦。它们各具特色,从空间规划到风格...浏览全文>>
-
欲筑室者,先治其基。在上海,装修房子对于每个业主而言,都是极为关键的一步,然而,如何挑选一家值得信赖的...浏览全文>>
-
2025年以来,联通支付严格贯彻落实国家战略部署,以数字和科技为驱动,做好金融五篇大文章,履行支付为民社会...浏览全文>>
-
良工巧匠,方能筑就华居;精雕细琢,方可打造美家。当我们谈论装修公司时,选择一家靠谱可靠的公司是至关重要...浏览全文>>
-
在当今社会,随着城市化进程的高速推进,建筑垃圾的产生量与日俱增。据权威数据显示,我国每年建筑垃圾产生量超 ...浏览全文>>
-
家人们,在上海要装修,选对公司那可太重要了!古语有云:"安得广厦千万间,大庇天下寒士俱欢颜。"一个温馨的...浏览全文>>
-
近年来,新能源汽车市场发展迅猛,各大品牌纷纷推出各具特色的车型以满足消费者多样化的需求。作为国内新能源...浏览全文>>
-
近年来,随着汽车市场的不断变化和消费者需求的升级,安徽滁州地区的宝来2025新款车型在市场上引起了广泛关注...浏览全文>>
-
随着汽车市场的不断变化,滁州地区的消费者对高尔夫车型的关注度持续上升。作为大众品牌旗下的经典车型,高尔...浏览全文>>
-
在2023年,大众探影以其时尚的设计和出色的性能赢得了众多消费者的青睐。作为一款小型SUV,探影凭借其紧凑的车...浏览全文>>
- 安徽滁州途安L新车报价2022款,最低售价16.68万起,入手正当时
- 小鹏G7试驾,新手必知的详细步骤
- 别克GL8预约试驾,4S店的贴心服务与流程
- 安徽阜阳ID.4 CROZZ落地价全解,买车必看的省钱秘籍
- 淮北探岳多少钱 2025款落地价,最低售价17.69万起现在该入手吗?
- 安徽淮南大众CC新款价格2025款多少钱能落地?
- 淮北长安启源C798价格,最低售价12.98万起现在该入手吗?
- 安徽淮南途锐价格,各配置车型售价全解析
- 蒙迪欧试驾预约,4S店体验全攻略
- 沃尔沃XC40试驾需要注意什么
- 滁州ID.4 X新车报价2025款,各车型售价大公开,性价比爆棚
- 试驾思域,快速操作,轻松体验驾驶乐趣
- 试驾长安CS35PLUS,一键搞定,开启豪华驾驶之旅
- 天津滨海ID.6 X落地价限时特惠,最低售价25.9888万起,错过不再有
- 天津滨海凌渡多少钱?看完这篇购车攻略再做决定
- 安徽池州长安猎手K50落地价,买车前的全方位指南
- 山东济南ID.6 CROZZ 2024新款价格,最低售价19.59万起,现车充足
- 试驾海狮05EV,新手必知的详细步骤
- 生活家PHEV多少钱 2025款落地价走势,近一个月最低售价63.98万起,性价比凸显
- 奇瑞风云A9试驾,新手必知的详细步骤