前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习框架

深度学习框架

作者头像
老齐
发布2022-12-09 20:41:07
7170
发布2022-12-09 20:41:07
举报
文章被收录于专栏:老齐教室老齐教室

深度学习(deep learning)是机器学习的分支,已经在工业生产、科学研究等领域有广泛应用。图 1-1-1 显示了深度学习、机器学习和人工智能之间的相对关系。

图 1-1-1

在日常生活中,能够遇到诸多基于深度学习的产品和服务,比如进入高铁站或者检票时,过闸机的人脸识别;做核酸检测时对身份证拍照后自动识别(即 OCR 技术);能够将大段的外文翻译为中文的机器翻译;对老照片、老电影的修复;各类电动汽车的自动驾驶系统;电商平台向用途推荐商品的推荐系统;媒体连篇累牍报道的战胜人类棋手的 AlphaGo;还有被不断“玩坏”的 AI 绘画;等等。这些“高科技”的背后,都有深度学习的影子。

如果考察人工智能的发展,通常会以图 1-1-2 所示的三个阶段给予说明,即推理期、知识期和学习期。深度学习就肇始于“学习期”的 2006 年,由多伦多大学 Geoffrey Hinton 教授首先使用此术语。到如今,时间并不很长,但发展迅猛,业已称为人工智能中炽手可热的研究方向了,而且前途不可限量。

图 1-1-2

之所以深度学习能蓬勃发展,可以用“时势造英雄”解释:

  • 互联网和物联网的发展,提供了海量的数据,为深度学习奠定了数据基础和先决条件。如果用烹饪打比方,数据之于深度学习就相当于“肉、菜”之于烹饪。
  • 计算机硬件特别是 GPU 等为深度学习提供了强大的运算能力,这就如同为烹饪提供了好锅和火力十足的灶。
  • 万事俱备只欠东风,供烹饪的物质准备就绪,就烹饪方法了。于是 Google 的 Tensorflow、Facebook 的 PyTorch、百度的飞桨(PaddlePaddle)应运而生,这些深度学习框架为众多开发者提供了生产力工具,使得开发、训练、部署深度学习模型成为了“照方抓药”的规范操作。

在软件开发中,框架(framework)是对某种开发业务的抽象,提取了相关领域的软件的共性,它为开发者提供了一种构建和部署程序的标准方法,它是一种通用的、可重用的应用程序和软件环境。因此在做相应业务的开发时,开发者不必从头开始编写代码,而是在框架的基础上进行开发,这样不仅可以降低成本、缩短开发时间,还能提高软件程序的质量。与此类似,深度学习框架也有这样的作用,只是针对深度学习领域而言。

目前,已有多家机构推出了深度学习框架,有的是通用型的,有的是专注某个领域的。本书讲解的飞桨,是一款既具有通用性,也包含各专门领域模型和工具组件的深度学习框架。

飞桨提供了通用的开发和训练框架,开发者可以基于这些框架进行深度学习任务的开发和训练,并生成相应模型。到本书编写之时,除了有“Paddle 核心框架”之外,飞桨还为开发者提供了:

  • FleetAPI:用于分布式训练的高阶 API。
  • PALM:实现快速开发 NLP 模型多任务学习框架
  • Paddlee Quantum:支持量子神经网络的框架
  • PaddleCloud:云上编排和部署工具

此外,为了便于开发使用,飞桨向开发者提供了预训练模型 PaddleHub,其中包含了针对某些专门领域模型,例如:

  • PaddleCV:视觉模型库,支持图像分类、目标检测、图像分割、图像生成、文字识别、3D 视觉和视频等任务类型。其中包括多种开发套件,例如:
    • PaddleClas:专门用于图像识别和图像分类的工具集。
    • PaddleDetection:专门用于目标检测的开发套件,包括目标检测、实例分割、跟踪、关键点检测等。
    • PaddleSeg:实现端到端的图像分割,能实现语义分割、交互式分割、Matting和全景分割。
    • PaddleGAN:生成对抗网络开发套件,提供图像生成、风格迁移、超分辨率、影像上色、人脸属性编辑、人脸融合、动作迁移等算法,覆盖影像修复、图像生成、动作迁移等多种应用场景。
    • PaddleOCR:实现 OCR(Optical Character Recognition,光学字符识别)的工具库,包含诸如表单识别、票据识别、电表度数识别、公式识别、化验单识别等多种场景的识别工具,并支持数据生产、模型训练、压缩和预测部署。
    • PaddleVideo:视频模型工具库,支持多种视频场景应用,比如视频质量评估、异常行为检测、花样滑冰动作识别等。
    • Paddle3D:端到端深度学习 3D 感知套件,涵盖了许多前沿和经典的3D感知模型,支持多种模态和多种任务。
  • PaddleNLP:自然语言处理核心开发库,其中包含多种模型,可用于情感分析、文本分类、词法分析、信息抽取、问答系统、机器翻译等多种场景。其中的开发套件包括:
    • PaddleSpeech:语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,例如语音识别、语音翻译、语音合成、声纹提取、声音分类等。
    • ERNIE:飞桨语义理解套件,能实现中英文的情感分析、命名实体识别、自动问答、自然语言推断等任务。
  • PaddleRec:推荐系统,其中包括常用的经典模型,也包括工业界验证过的使用模型,并且跟踪学术前言研究,及时在 PaddleRec 中实现对理论研究的支持。
  • 文心大模型:大模型(Foundation Model)通常指参数的数量突破 1 亿的深度学习模型,这类模型旨在提高其通用性。飞桨推出的文习大模型亦志在于此,目前已经有 NLP 大模型、CV 大模型、跨模态大模型、生物计算大模型,并且致力于通过各个行业的协作,发展行业大模型。
  • ElasticCTR:点击率(click-through rate, CTR)预估套件,能实现分布式训练 CTR 预估任务,以及二次开发。
  • PLSC:飞桨海量类别分类套件(Paddle Large Scale Classification Tools,),实现大规模分类任务的训练和部署,并有简单易用的高层 API 。
  • PGL:基于飞桨的图学习框架(Paddle Graph Learning ,PGL)。
  • PARL:飞桨强化学习框架。
  • PaddleHelix:基于飞桨深度学习框架开发的生物计算工具和平台。
  • PaddleSpatial:基于飞桨深度学习框架开发的时空大数据计算工具和平台。
  • PaddleTS:深度时序算法库。
  • PaddleSlim:模型压缩工具库。

以上这些开发套件中的模型,既可以通过配置文件直接使用,也可以通过修改模型源码实现二次开发,从而加快了深度学习项目的开发进度。

任何深度学习模型,最终的目标都是在学得模型之后,将模型部署到相应的设备上,为此飞桨针对不同的部署环境和硬件设备,提供了多种部署方案。

  • Paddle Inference:飞桨的原生推理库,作用于服务器端和云端,提供高性能的推理能力。支持所有用飞桨训练所得的模型。
  • Paddle Serving:飞桨的服务化部署框架,提供在线推理服务,支持 RESTful、gRPC、bRPC 等多种协议,能部署到多种硬件和各类常用操作系统。
  • Paddle Lite:飞桨基于 Paddle Mobile 推出的端侧推理引擎。
  • Paddle.js:以 JavaScript 实现 Web 端推理引擎,并提供深度学习开发工具,能在浏览器、小程序等环境实现深度学习应用。
  • FastDeploy:推理部署开发套件。

飞桨所包含的各类开发工具,会随着研发的进展不断增加,特别是针对各个行业和产业的模型。此外,也有可能会对已有的工具进行重新组合或升级,以利于开发者使用。关于这方面的最新内容,请读者参考官方网站的最新内容:https://www.paddlepaddle.org.cn/ 。

飞桨除了提供模型之外,还针对某些专门任务提供了一些辅助工具,例如全流程开发工具 PaddleX、自动化深度学习框架 AutoDL、可视化分析工具 VisualDL、弹性计算框架 EDL、联邦学习框架 PaddleFL 等。

总之,飞桨不仅仅是一个开发框架,它还是一个“大家族”,不断地结合实际问题,推出更适合于开发者需要的各种好用的工具。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老齐教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档