热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周计算机视觉卷积神经网络卷积(Convolution)池化(Pooling)ReLU**函数批

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周

  • 计算机视觉
  • 卷积神经网络
    • 卷积(Convolution)
    • 池化(Pooling)
    • ReLU**函数
    • 批归一化(Batch Normalization)
    • 丢弃法(Dropout)

本周的主要内容是卷积神经网络——目前计算机视觉中使用最普遍的模型结构。

计算机视觉

识别图片中的物体,对人类来讲是十分简单的事情,但是,对于计算机来说就没那么简单了。由于拍摄角度等其他一系列不确定因素,人想直接对计算机编程来识别图片中的物体是非常困难的。可是我们可以将识别图片这个大任务分为几个小任务。
百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周

  • (a) Image Classification: 图像分类,用于识别图像中物体的类别(如:bottle、cup、cube)。
  • (b) Object Localization: 目标检测,用于检测图像中每个物体的类别,并准确标出它们的位置。
  • © Semantic Segmentation: 图像语义分割,用于标出图像中每个像素点所属的类别,属于同一类别的像素点用一个颜色标识。
  • (d) Instance Segmentation: 实例分割,值得注意的是,(b)中的目标检测任务只需要标注出物体位置,而(d)中的实例分割任务不仅要标注出物体位置,还需要标注出物体的外形轮廓。

卷积神经网络

图片不同于其他类型的数据,其位置信息是十分重要的。卷积神经网络进行特征提取,既能提取到相邻像素点之间的特征模式,又能保证参数的个数不随图片尺寸变化。
卷积神经网络基础模块

  • 卷积(Convolution)
  • 池化(Pooling)
  • ReLU**函数
  • 批归一化(Batch Normalization)
  • 丢弃法(Dropout)

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周
典型的卷积神经网络结构,多层卷积和池化层组合作用在输入图片上,在网络的最后通常会加入一系列全连接层,ReLU**函数一般加在卷积或者全连接层的输出上,网络中通常还会加入Dropout来防止过拟合。

卷积(Convolution)

飞桨卷积算子对应的API是paddle.fluid.dygraph.Conv2D,用户可以直接调用API进行计算,也可以在此基础上修改。常用的参数如下:

  • num_channels (int) - 输入图像的通道数。
  • num_fliters (int) - 卷积核的个数,和输出特征图通道数相同。
  • filter_size(int|tuple) - 卷积核大小,可以是整数,比如3,表示卷积核的高和宽均为3 ;或者是两个整数的list,例如[3,2],表示卷积核的高为3,宽为2。
  • stride(int|tuple) - 步幅,可以是整数,默认值为1,表示垂直和水平滑动步幅均为1;或者是两个整数的list,例如[3,2],表示垂直滑动步幅为3,水平滑动步幅为2。
  • padding(int|tuple) - 填充大小,可以是整数,比如1,表示竖直和水平边界填充大小均为1;或者是两个整数的list,例如[2,1],表示竖直边界填充大小为2,水平边界填充大小为1。
  • act(str)- 应用于输出上的**函数,如Tanh、Softmax、Sigmoid,Relu等,默认值为None。

池化(Pooling)

池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出。
好处:

  1. 当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。
  2. 由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。

池化通常有两种方法,平均池化和最大池化。
百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周

ReLU**函数

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周
ReLU函数与Sigmoid函数相比,虽然在x<0的地方,ReLU函数的导数为0。但是在x≥0的地方,ReLU函数的导数为1,能够将y的梯度完整的传递给x,而不会引起梯度消失。

批归一化(Batch Normalization)

为了算法的稳定和收敛,我们通常会对神经网络的数据进行标准化处理,使得样本数据集满足均值为0,方差为1的统计分布。但是对于参数不断更新的深度神经网络来说,这是不够的,比较靠后的那些层,其接收到的输入仍然是剧烈变化的,通常会导致数值不稳定,模型很难收敛。BatchNorm能够使神经网络中间层的输出变得更加稳定,并有如下三个优点:

  • 使学习快速进行(能够使用较大的学习率)
  • 降低模型对初始值的敏感性
  • 从一定程度上抑制过拟合
    BatchNorm主要思路是在训练时按mini-batch为单位,对神经元的数值进行归一化,使数据的分布满足均值为0,方差为1。

丢弃法(Dropout)

百度飞桨架构师手把手带你零基础实践深度学习——打卡计划(PaddlePaddle)第二周

丢弃法就是在神经网络学习过程中,随机删除一部分神经元。训练时,随机选出一部分神经元,将其输出设置为0,这些神经元将不对外传递信号。其在一定程度上能抑制过拟合。但是训练时由于部分神经元被随机丢弃了,输出数据的总大小会变小,预测时却没有丢弃神经元,这将导致训练和预测时数据的分布不一样。
解决办法:

  • downgrade_in_infer
    训练时以比例rrr随机丢弃一部分神经元,不向后传递它们的信号;预测时向后传递所有神经元的信号,但是将每个神经元上的数值乘以 (1−r)。
  • upscale_in_train
    训练时以比例r随机丢弃一部分神经元,不向后传递它们的信号,但是将那些被保留的神经元上的数值除以 (1−r);预测时向后传递所有神经元的信号,不做任何处理。

推荐阅读
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 浪潮AI服务器NF5488A5在MLPerf基准测试中刷新多项纪录
    近日,国际权威AI基准测试平台MLPerf发布了最新的推理测试结果,浪潮AI服务器NF5488A5在此次测试中创造了18项性能纪录,显著提升了数据中心AI推理性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 多智能体深度强化学习中的分布式奖励估计
    本文探讨了在多智能体系统中应用分布式奖励估计技术,以解决由于环境和代理互动引起的奖励不确定性问题。通过设计多动作分支奖励估计和策略加权奖励聚合方法,本研究旨在提高多智能体强化学习(MARL)的有效性和稳定性。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 图像分类算法的优化策略与实践
    本文探讨了《Bag of Tricks for Image Classification with Convolutional Neural Networks》论文中的多项技术,旨在通过具体实例和实验验证,提高卷积神经网络在图像分类任务中的性能。文章详细介绍了从模型训练加速、网络结构调整到训练参数优化等多个方面的改进方法。 ... [详细]
  • 随着5G、云计算、人工智能、大数据等新技术的广泛应用,人们的生活生产方式发生了深刻变化。从人际互联到万物互联,数据存储与处理需求激增,推动了数据与算力设施的发展。 ... [详细]
author-avatar
国民男神-权志龙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有