TensorFlow2.0深度学习(一)人工智能绪论

本文概述了人工智能中的深度学习,包括其与机器学习、神经网络的关系,浅层神经网络和深度学习的发展历史,以及深度学习的特点和在计算机视觉、自然语言处理和强化学习中的应用。重点介绍了TensorFlow和PyTorch框架,并讨论了深度学习开发环境的安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 人工智能

        人工智能,机器学习,神经网络和深度学习相互之间的关系如下图所示。

        机器学习可以分为有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning)。如下图所示。

  • 有监督学习 有监督学习的数据集包含了样本x与样本的标签y,算法模型需要学习到映射f_{\theta}:x\rightarrow y,其中f_{\theta}代表模型函数,\theta为模型的参数。在训练的时候,通过计算模型的预测值f_{\theta}(x)与真实标签y之间的误差来优化网络参数\theta,使得网络下一次能够预测更精准。常见的有监督学习有线性回归,逻辑回归,支持向量机,随机森林等。

  • 无监督学习 收集带标签的数据往往代价较为昂贵,对于只有样本x的数据集,算法需要自行发现数据的模态,这种方式叫做无监督学习。无监督学习中有一类算法将自身作为监督信号,即模型需要学习的映射为f_{\theta}:x\rightarrow x,称为自监督学习(Self-supervised Learning)。在训练时,通过计算模型的预测值f_{\theta}(x)与自身x之间的误差来优化网络参数\theta。常见的无监督学习算法由自编码器,生成对抗网络等。

  • 强化学习 也称为增强学习,通过与环境进行交互来学习解决问题的策略的一类算法。与有监督、无监督学习不同,强化学习问题并没有明确的“正确的”动作监督信号,算法需要与环境进行交互,获取环境反馈的滞后的奖励信号,因此并不能通过计算动作与“正确动作”之间的误差来优化网络。常见的强化学习算法有DQN, PPO等。

        深度学习算法与其他算法比较如下图所示。

2. 神经网络发展简史

        神经网络的发展历程可以大致分为浅层神经网络阶段和深度学习阶段。以2006年为分割点。2006年以前,深度学习以神经网络和连接主义名义发展,经历了2次兴盛和2次寒冬;2006年,Geoffrey Hinton首次将深层神经网络命名为深度学习,开启了深度学的第3次复兴之路。

2.1 浅层神经网络

        浅层神经网络的发展时间线如下图所示。

2.2 深度学习

        深度学习的发展时间线如下图所示。

3. 深度学习特点
  • 数据量
  • 计算力
  • 网络规模
  • 通用智能
4. 深度学习应用
4.1 计算机视觉
  • 图片识别(Image Classification):常见的分类问题。神经网络的输入为图片数据,输出值为当前样本属于每个类别的概率,通常选取概率值最大的类别作为样本的预测类别。经典的网络模型有VGG系列、Inception系列、ResNet系列。
  • 目标检测(Object Detection):通过算法自动检测出图片中常见物体的大致位置,通常用边界框(Bounding box)表示,并分类出边界框中物体的类别信息。常见的目标检测算法有RCNN, Fast RCNN, Faster RCNN, Mask RCNN, SSD, YOLO系列等。

  • 语义分割(Semantic Segmentation):通过算法自动分割并识别出图片中的内容,可以将语义分割理解为每个像素点的分类问题,分析每个像素点属于物体的类别。常见的语义分割模型有FCN, U-net, SegNet, DeepLab系列等。

  • 视频理解(Video Understanding):常见的视频理解任务有视频分类,行为检测,视频主体抽取等。常见的模型有C3D, TSN, DOVF, TS_LSTM等。
  • 图片生成(Image Generation):通过学习真实图片的分布,并从学习到的分布中采样而获得逼真度较高的生成图片。目前主要的生成模型有VAE系列,GAN系列等。
        除了上述应用,深度学习还在其他方向上取得了不俗的效果,比如艺术风格迁移,超分辨率,图片去燥 / 去雾,灰度图片着色等等一系列非常实用酷炫的任务。
4.2 自然语言处理
  • 机器翻译(Machine Translation)
  • 聊天机器人(Chatbot)
4.3 强化学习
  • 虚拟游戏
  • 机器人
  • 自动驾驶
5. 深度学习框架
5.1 主流框架

        目前来看,TensorFlow和PyTorch框架是业界使用最为广泛的两个深度学习框架,TensorFlow在工业界拥有完备的解决方案和用户基础,PyTorch得益于其精简灵活的接口设计,可以快速设计调试网络模型。

        注:TensorFlow与Keras之间的联系与区别。Keras可以理解为一套高层API的设计规范,Keras本身对这套规范有官方的实现,在TensorFlow中也实现了这套规范,称为tf.keras模块,并挨饿tf.keras将作为TensorFlow2版本的唯一高层接口,避免出现接口重复冗余的问题。

5.2 TensorFlow 2与1.x

        TensorFlow 2是一个与TensorFlow 1.x使用体验完全不同的框架,TensorFlow 2不兼容TensorFlow 1.x的代码,同时在编程风格、函数接口设计等上也大相径庭,TensorFlow 1.x的代码需要依赖人工的方式迁移,自动化迁移方法并不靠谱。

        TensorFlow 2支持动态图优先模式,在计算时可以同时获得计算图与数值结果,可以代码中调试实时打印数据,搭建网络也像搭积木一样,层层堆叠,非常符合软件开发四维。

        TensorFlow深度学习框架3大核心功能:

  1. 加速计算
  2. 自动梯度
  3. 常用神经网络接口
6. 开发环境安装

        4大步骤

  • 安装Python解释器Anaconda
  • 安装CUDA加速器
  • 安装TensorFlow框架
  • 安装常用编辑器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值