深度学习的应用及主流框架

目录

深度学习的应用
一、计算机视觉
二、自然语言处理
三、强化学习
主流框架

深度学习的应用

一、计算机视觉

1、图片识别(Image Classification) 是常见的分类问题。神经网络的输入为图片数据,输出值为当前样本属于每个类别的概率,通常选取概率值最大的类别作为样本的预测类别。图片识别是最早成功应用深度学习的任务之一,经典的网络模型有 VGG 系列、Inception 系列、ResNet 系列等。
2、目标检测(Object Detection) 是指通过算法自动检测出图片中常见物体的大致位置,通常用边界框(Bounding box)表示,并分类出边界框中物体的类别信息,如图 下图所示。常见的目标检测算法有 RCNN,Fast RCNN,Faster RCNN,Mask RCNN,SSD,YOLO 系列等。
在这里插入图片描述
3、语义分割(Semantic Segmentation) 是通过算法自动分割并识别出图片中的内容,可以将语义分割理解为每个像素点的分类问题,分析每个像素点属于物体的类别,如图 下图 所 示。常见的语义分割模型有 FCN,U-net,SegNet,DeepLab 系列等。
在这里插入图片描述
4、视频理解(Video Understanding) 随着深度学习在 2D 图片的相关任务上取得较好的效果,具有时间维度信息的 3D 视频理解任务受到越来越多的关注。常见的视频理解任务有视频分类,行为检测,视频主体抽取等。常用的模型有 C3D,TSN,DOVF,TS_LSTM等。
5、图片生成(Image Generation) 通过学习真实图片的分布,并从学习到的分布中采样而获 得逼真度较高的生成图片。目前主要的生成模型有 VAE 系列,GAN 系列等。其中 GAN 系 列算法近年来取得了巨大的进展,最新 GAN 模型产生的图片样本达到了肉眼难辨真伪的效果,如下图为 GAN 模型的生成图片。
在这里插入图片描述

二、自然语言处理

1、机器翻译(Machine Translation) 过去的机器翻译算法通常是基于统计机器翻译模型,这也是 2016 年前 Google 翻译系统采用的技术。2016 年 11 月,Google 基于 Seq2Seq 模型上线了 Google 神经机器翻译系统(GNMT),首次实现了源语言到目标语言的直译技术,在多项任务上实现了 50~90%的效果提升。常用的机器翻译模型有 Seq2Seq,BERT,GPT,GPT-2 等,其中 OpenAI 提出的 GPT-2 模型参数量高达 15 亿个,甚至发布之初以技术安全考虑为由拒绝开源 GPT-2 模型。
2、聊天机器人(Chatbot) 聊天机器人也是自然语言处理的一项主流任务,通过机器自动与人类对话,对于人类的简单诉求提供满意的自动回复,提高客户的服务效率和服务质量。常应用在咨询系统、娱乐系统,智能家居等中。

三、强化学习

1、虚拟游戏相对于真实环境,虚拟游戏平台既可以训练、测试强化学习算法,有可以避免无关干扰,同时也能将实验代价降到最低。目前常用的虚拟游戏平台有 OpenAI Gym,OpenAI Universe,OpenAIRoboschool,DeepMind OpenSpiel,MuJoCo 等,常用的强化学习算法有 DQN,A3C,A2C,PPO等。在围棋领域,DeepMind AlaphGo 程序已经超越人类围棋专家;在 Dota2 和星际争霸游戏上,OpenAI 和 DeepMind 开发的智能程序也在限制规则下战胜了职业队伍。
2、机器人(Robotics) 在真实环境中,机器人的控制也取得了一定的进展。如 UC Berkeley在机器人的 Imitation Learning,Meta Learning,Few-shot Learning 等方向取得了不少进展。美国波士顿动力公司在人工智能应用中取得喜人的成就,其制造的机器人在复杂地形行走,多智能体协作等任务上表现良好(如图)。
在这里插入图片描述
3、自动驾驶(Autonomous Driving) 被认为是强化学习短期内能技术落地的一个应用方向,很多公司投入大量资源在自动驾驶上,如百度、Uber,Google 无人车等,其中百度的无人巴士“阿波龙”已经在北京、雄安、武汉等地展开试运营,下图为百度的自动驾驶汽车。
在这里插入图片描述

主流框架

1、PyTorch:PyTorch 是 Facebook 基于原有的 Torch 框架推出的采用 Python 作为主要开发语言的深度学习框架。PyTorch 借鉴了 Chainer 的设计风格,采用命令式编程,使得搭建网络和调试网络非常方便。尽管PyTorch 在 2017 年才发布,但是由于精良紧凑的接口设计,PyTorch 在学术界获得了广泛好评。在 PyTorch 1.0 版本后,原来的 PyTorch 与 Caffe2进行了合并,弥补了 PyTorch 在工业部署方面的不足。总的来说,PyTorch 是一个非常优秀的深度学习框架。
2、TensorFlow:TensorFlow 是 Google 于 2015 年发布的深度学习框架,最初版本只支持符号式编程。得益于发布时间较早,以及 Google 在深度学习领域的影响力,TensorFlow 很快成为最流行的深度学习框架。但是由于 TensorFlow 接口设计频繁变动,功能设计重复冗余,符号式编程开发和调试非常困难等问题,TensorFlow 1.x 版本一度被业界诟病。2019年,Google 推出 TensorFlow 2 正式版本,将以动态图优先模式运行,从而能够避免TensorFlow 1.x 版本的诸多缺陷,已获得业界的广泛认可。

小结:目前来看,TensorFlow 和 PyTorch 框架是业界使用最为广泛的两个深度学习框架,TensorFlow 在工业界拥有完备的解决方案和用户基础,PyTorch 得益于其精简灵活的接口设计,可以快速设计调试网络模型,在学术界获得好评如潮。TensorFlow 2 发布后,弥补了 TensorFlow 在上手难度方面的不足,使得用户可以既能轻松上手 TensorFlow 框架,又能无缝部署网络模型至工业系统。本书以 TensorFlow 2.0 版本作为主要框架,实战各种深度学习算法。

发布了38 篇原创文章 · 获赞 194 · 访问量 4735

猜你喜欢

转载自blog.csdn.net/weixin_37763870/article/details/103114167