自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 如何简单生成生成对抗网络 ?

近年来,在人工智能领域深度学习取得了令人瞩目的成就,在计算机视觉、自然语言处理等各种领域都取得了突破性的进展。深度学习现今主要是依靠神经网络模型来进行学习的,可大致分为三种基础模型,首先的就是卷积神经网络(Convolutional Neural Networks, CNNs,1998)、循环神经网络(RecurrentNeural Networks, RNNs,2014)、和生成对抗网络(Generative Adversarial Nets, GANs,2014)等。但由于传统的深度学习方法需要大量的

2020-08-12 16:21:48 578

原创 用户级多线程的切换原理| 何为用户级线程以及用户级线程的底层原理

前言线程分为用户级线程和内核级线程,这节我们先来讨论一下何为用户级线程以及用户级线程的底层原理。用户级线程和内核级线程说到用户级多线程,我们有必要先来简单对比一下用户级线程和内核级线程之间的区别。内核级线程,顾名思义,它的调度是依赖于操作系统的,即操作系统控制着内核级线程的切换,比如有A和B两个内核级线程,我们用户是不知道先执行哪个线程的代码和不知道什么时候切换到另一个线程执行代码的,这件事只有操作系统知道,我们无法干预。用户级线程,顾名思义,它的调度是依赖于用户的想法的,比如有C和D两个用户级线

2020-08-11 13:26:08 588

原创 注意力机制的分类 | Soft Attention和Hard Attention

在前面两节的内容中我们已经介绍了注意力机制的实现原理,在这节内容中我们讲一讲有关于注意力机制的几个变种:Soft Attention和Hard Attention我们常用的Attention即为Soft Attention,每个权重取值范围为[0,1]对于Hard Attention来说,每个key的注意力只会取0或者1,也就是说我们只会令某几个特定的key有注意力,且权重均为1。Global Attention和Local Attention一般不特殊说明的话,我们采用的Attention都是G

2020-08-10 16:39:51 9111

原创 注意力机制的基本思想和实现原理(二)

前面介绍的Encoder-Decoder模型是没有体现出注意力模型的,为什么说没有体现出注意力呢?可以观察下面句子中每个单词的生成过程:f是decoder的非线性变换函数,在这里可以看出,生成目标单词时,无论单词生成的先后顺序是什么,他们使用的句子X的语义编码C都是一样的,没有区别。而语义编码C是由句子X的每个单词经过Encoder编码产生的,这样就意味着无论是生成y1,y2,y3,句子X中任意单词对生成目标单词的影响力都是相同的,没有任何区别。理论上而言,如果Encoder是RNN的话,后输入的单词的

2020-08-09 15:32:18 481

原创 注意力机制的基本思想和实现原理(一)

最近几年注意力模型在深度学习各个领域被广泛使用,无论是做图像处理、语音识别还是自然语言处理的任务中,都需要用到注意力模型。所以在今天的内容中,我们先了解下注意力机制的工作原理。什么是注意力机制?当我们在看一件东西的时候,不难发现我们的关注点一定是我们当前看的这件东西的某一个地方/部位,这意味着人们注意某个目标或某个场景时,人类会利用有限的注意力资源从大量信息中快速筛选出高价值信息,使用视觉注意力机制可以极大地提高视觉信息处理的效率和准确性。注意力机制的分类从Attention的时空角度出发,我们可以

2020-08-07 09:12:00 2490

原创 并行训练的原理 | Tensor Flow 支持使用多个GPU 或者机器实现深度学习模型的并行训练

Tensor Flow 支持使用多个GPU 或者机器实现深度学习模型的并行训练,但在此之前需要了解并行训 练的原理以及如何并行化地训练深度学习模型才更加合理。大体上,实现深度学习模型的并行化训练、可以分为两种不同的方式一一数据并行的方式和模型并行的方式,在本节将对这两种方式进行介绍并比较二者间的优劣。首先看一下不使用并行的方式训练深度学习模型的过程,整个过程如下图所示。在每一轮法代训练 中,当前参数的取值和 batch 数据传入到模型中,并经过模型的前向传播过程得到计算的结果,随后反向传播算法会根据损失函数

2020-08-06 21:57:12 583

原创 用户级线程以及用户级线程的底层原理

前言线程分为用户级线程和内核级线程,这节我们先来讨论一下何为用户级线程以及用户级线程的底层原理。用户级线程和内核级线程说到用户级多线程,我们有必要先来简单对比一下用户级线程和内核级线程之间的区别。内核级线程,顾名思义,它的调度是依赖于操作系统的,即操作系统控制着内核级线程的切换,比如有A和B两个内核级线程,我们用户是不知道先执行哪个线程的代码和不知道什么时候切换到另一个线程执行代码的,这件事只有操作系统知道,我们无法干预。用户级线程,顾名思义,它的调度是依赖于用户的想法的,比如有C和D两个用户级线

2020-07-26 11:06:04 1090

原创 分布式 TensorFlow代码实现

通过多 GPU 并行的方式可以获得较好的加速计算的效果,但一台机器上能够安装的 GPU 是有限的,如果需要进一步提升深度学习模型的训练 速度,可以采用分布式运行TensorFlow 的方式将模型放在多台机器上进行 训练。TensorFlow 的分布式并行基于 gRPC通信框架。在一个分布式的运行环 境下,有一个 Master 负责创建和维护 Session,还有多个 Worker 负责执行计 算图中的运算,如下图。TensorFlow 集群将 TensorFlow 计算图中的运算描述为一系列的任务 (Tas

2020-07-13 21:39:16 301

原创 单机多 GPU 加速 TensorFlow 程序

模型并行意味着需要根据不同模型设计不同的并行方式,并将模型中不同计算节点放在不同硬件资源上运算。相比模型并行而言,数据并行比较通用,并且能简便地实现大规模并行。数据并行的通用性表现在它几乎适用于所有深度学习模型。我们可以 利用多块 GPU 同时进行模型训练,运行在每块 GPU上的模型会获得属于自 己的一份 batch 数据,并且这些模型都是同一个神经网络,它们共享一份模型参数。首先导入一些相关的库以及定义一些变量。由于我们的重点不是为了 训练网络,所以训练迭代的轮数可以相应取小一点。为了能可视化计算图,

2020-07-12 15:51:02 295

原创 TensorFlow单机与分布式总结

单机多GPU训练先简单介绍下单机的多GPU训练,然后再介绍分布式的多机多GPU训练。单机的多GPU训练, tensorflow的官方已经给了一个cifar的例子,已经有比较详细的代码和文档介绍,这里大致说下多GPU的过程,以便方便引入到多机多GPU的介绍。单机多GPU的训练过程:通俗解释:老师给小明和小华布置了10000张纸的乘法题并且把所有的乘法的结果加起来,每张纸上有128道乘法题。这里一张纸就是一个batch, batch_size就是128. 小明算加法比较快,小华算乘法比较快,于是小华就

2020-06-27 17:21:26 201

原创 Tensorflow分布式

当单机多卡也无法满足训练的速度需求的话,那就需要上分布式,搞多台机器一起训练了,也可以说是多机多卡吧。谈到分布式,必不可少的一个概念就是集群,先来看下TensorFlow官方对集群的定义:翻译一下就是,Tensorflow 集群是一系列分布式执行计算图的tasks, 每一个 task 与一个server 相对应,一个server 包含 master service和 worker service。Master service负责创建 session,worker 负责执行图中的计算操作。一个集群也可以被

2020-06-11 16:43:56 246

原创 TensorFlow单机实现

在一台机器只有一个运算设备(只有一个 CPU 而不含 GPU)的情况下, 计算图的每个节点在执行时都不涉及设备的选择,所以计算图会按照依赖 关系被顺序执行。当机器中含有多个运算设备(同时含有 CPU 和 GPU)时,每个计算节点的执行就涉及了设备的选择。Tensor Flow 支持查看执行每一个节点运算的设备,下面我们将会介绍查看这些信息是怎么做到的。TensorFlow 也支持自行设置执行某些操作 所使用的设备。在生成会话时,可以通过设置参数 log_device _placemen t=True来打

2020-06-10 08:30:51 248

原创 Tensorflow支持的设备

神经网络的训练过程中涉及了大量的计算过程,这是天生的,和使用哪种框架没有关系 。性能卓越的运算设备一般比较昂贵,但是能够带来计算速度上的提升。除此之外,在使用 TensorFlow 实现神经网络算法时可以选择使用多个运算设备来加速程序的计算过程。加速计算是本幸的主要内容,为了设计出合理的并行训练的模型,首先需要对并行训练的原理进行了解,这些理论方面的内容放到了下一讲。在以后,我们将学习如何利用单机上的多个设备加速计算的过程,其中就用到了并行训练的原理。同时将介绍如何使用 TensorFlow 完成分布式 的

2020-06-09 15:11:18 358

原创 Tensorboard其它监控指标可视化

继续 上节介绍的 MNIST手写数字识别的例子,本节将对 DISTRIBUTIONS(数据分布)和 HISTOGRAMS(直方图〉这两个选项卡(两个监控指标)进行介绍,实际上它们也没有什么过于复杂的地方。对于 DISTRIBUTIONS 选项卡, TensorFlow 并没有在 summar.py 中 提供 distribution()函数来汇总分布数据,该选项卡中的数据来源于 summar. histogram()函数汇总的结果:也就是说, DISTRIBUTIONS 选项卡和 HISTOGRAMS 选项

2020-06-06 08:31:16 360

原创 Tensorboard计算图可视化结果是怎么样的

AUDIO 选项卡的右侧是GRAPHS 选项卡,也就是展示计算图可视化效果的地方。我们选择 GRAPHS 选项卡作为重点介绍的对象,实际上它也正是整个 TensorBoard 的灵魂所在 。在 GRAPHS 选项卡中可以看到整个 Tensor Flow 计算图的结构,如下图所示。从上图可以看出,一些主要的部分己经用命名空间的名称表示出来,例如 layer_1 和 layer_y,以及 cross_entropy、 accuracy 和 train,这也正 是我们在程序中使用命名空间划分各部分的原因。通过

2020-06-05 10:56:06 471

原创 tensorboard标量数据可视化结果

上一节中,我们讲述了tensorboard的一个整体架构——以MNIST数据集数字分类问题为例,这一节,我们将探寻一下tensorboard的细节,从标量数据可视化的结果说起。执行完命令后就可以在浏览器中打开 TensorBoard 界面了 。打开的 Tensor Board 界面会默认进入 SCALARS 选项卡,我们对可视化内容的介绍也先从标量开始。如图 13-6 所示,在 SCALARS 选项卡中显示了 accuracy、 cross_ entropy、 layer_1和 layer__y 4 个折

2020-06-04 16:37:43 376

原创 以mnist为例探究tensorboard

Tensorboard的数据形式Tensorboard可以记录与展示以下数据形式:(1)标量Scalars(2)图片Images(3)音频Audio(4)计算图Graph(5)数据分布Distribution(6)直方图Histograms(7)嵌入向量EmbeddingsTensorboard的可视化过程(1)建立一个graph,你想从这个graph中获取某些数据的信息(2)确定要在graph中的哪些节点放置summary operations以记录信息使用tf.summary.s

2020-06-01 09:21:10 271

原创 MNIST 手写字识别的可视化

本节将通过一个简单的 MNIST 手写数字识别的例子,讲解各种类型的数据汇总和展示的方法。这个例子中为了简单和凸显较偏重于 TensorBoard的使用,所以没有使用各种复杂的优化,比如滑动平均等。首先,还是和之前一样导入一些需要用到的库,并设置一些需要用到的量。存放日志文件的路径为 log dir。为了在 TensorBoard 中可视化计算图时更好地组织图中的计算节点,也为了在 TensorBoard中可视化其他汇总为图表类型的数据(如 SCALARS、HISTORGRAMS 等)时将这些数据按照

2020-05-29 08:47:09 708

原创 TensorBoard 简要介绍

在使用 TensorFlow训练大型深度学习神经网络时,中间的计算过程可能非常复杂。出于理解、调试和优化我们设计的网络的目的,模型训练过程中各种汇总数据都可以通过 TensorBoard 展示出来,包括标量(Scalars)、图片(images)、音频(Audio)、计算图(Graphs)、数据分布(Distributions)、直方图(Histograms)和嵌入向量(Embeddings)。TensorBoard 是 TensorFlow官方推出的可视化工具,并不需要额外的安装过程,在 TensorF

2020-05-27 10:15:02 441

原创 ResNet的skip connection 残差网络的学习

今天我们介绍一下残差网络,学习完前面的知识我们会知道网络的深度对于模型的性能是至关重要的,所以理论上而言模型更深可以取得更好的结果。但是事实真的是这样的吗?实现发现深度网络会出现退化的问题:网络深度增加时,网络准确度出现饱和,甚至会出现下降。这不是过拟合问题,而是由于深层网络中存在梯度消失和梯度爆炸的问题,这使得深度学习模型很难训练, ResNet的skip connection就是为了解决梯度消失这个问题,skip connection则能在后传过程中更好地把梯度传到更浅的层次中。梯度消失问题:在反向传播

2020-05-26 10:29:30 3536

原创 持久化的MNIST手写字识别,实现的那个MLP网络模型可以在MNIST数据集上得到98%的正确率

在前面的内容中我们写过一个完整的Tensorflow程序去解决MNSIT手写字识别问题,实现的那个MLP网络模型可以在MNIST数据集上得到98%的正确率,虽然准确率是很高但是也出现了一个问题,那就是每一次使用网络就需要重新训练一次,这样就造成了时间的浪费。尤其是在大型的神经网络中,模型训练的时间会变得更长,甚至会花上几天几周的时间。每次重新训练这样的大型神经网络显然是不行的,因此在训练的时候保存模型是非常有必要的。结合Tensorlfow模型持久化和前面所介绍的变量空间的知识,在本小节我们会重构MLP来实

2020-05-25 08:37:19 909

原创 模型持久化原理,对 4 个文件进行详细的介绍

在上一节中,我们保存了一个向量相加的模型并得到了总共 4 个文件,然而并没有对这 4 个文件进行详细的介绍。接下来阐述模型持久化原理的同时也会对这些文件的具体内容加以介绍,理解文件的内容有助于我们理解模型持久化的原理。除了 checkpoint 文件之外,剩余的 3 个文件都是模型保存的核心文件(二进制文件形式〉。对于这些二进制文件,我们无法直接打开。此时可以通过一些 函数将这些二进制文件转换为我们容易打开的文件形式,进而揭开这些文件的真正面貌。model.ckpt.mate 文件中存储的是 TensorF

2020-05-24 08:49:13 425

原创 模型持久化,实现模型持久化可以使得模型训练后的结果重复使用

前面几节已经讲了有关于队列和多线程的内容,内容不多但是却很实用。接下来我们讲一章新的内容:模型持久化。模型持久化的特点:实现模型持久化可以使得模型训练后的结果重复使用,这样既可以节省重复训练模型的时间,又可以提高编程工作的效率,因为遇到稍大的神经网络一般都要训练很多天。通过代码实现train.Saver类是Tensorflow提供的用于保存和还原一个神经网络模型的API,使用起来很简单,比如说要持久化一个向量项加,我们可以写成这样的代码:上面的代码就实现了一个简单的Tensorflow模型持久化的功

2020-05-22 09:10:29 983

原创 使用多线程处理输入的数据

TensorFlow 的 Session 对象是支持多线程的,因此多个线程可以很方便地在同一个会话下对同一个队列并行地执行操作。Python 本身也提供了创建线程的threading.py,这个文件提供了Thread 类来创建线程,Thread 类的 start()函数可以用于启动线程。但是使用Python程序实现这样的并行运算没有那么简单,因为所有的线程需要能同步终止,同时需要正确察觉每个线程触发的异常。在会话终止的时候,操作队列的多个线程必须能被正确关闭。Tensorflow提供了两个类来实现多线程—t

2020-05-19 09:01:49 416

原创 数据读取之队列

在前面的内容中我们介绍了使用Tensorflow提供的一些函数来处理图像数据,比如旋转、增亮、锐化等等。尽管使用这些图像数据预处理方法可以在一定程度上减少无关因素对图像识别模型效果的影响,这些复杂的预处理过程仍会影响整个训练过程。 为了对大而多的图像数据做预处理,Tensorflow提供了队列加多线程处理输入数据的解决方案。在这之前我们先来学习一下Tensorflow中的队列。数据队列大家所熟悉的是队列(Queue)是一种先进先出的线性表数据结构,队列只允许在前端(Front)进行删除操作,在后端(Re

2020-05-18 08:58:34 1082

原创 Tensorflow之数据读取

今天我们介绍全新的内容:使用Tensorflow来读取数据。Tensorflow读取数据一共三种方法:(1) 预加载数据:这种方法适合用于数据量较小的时候,通过在程序中定义常量或者变量的方式来保存所有数据,这种方法较为简单。(2) 供给数据(Feeding):关于这种方法,我们在前面的会话(Session)内容中也有所提及,供给数据是通过run()函数输入feed_dict参数的方式把数据注入到placeholder后再启动程序。由于之前的内容里我们已经进行了详细介绍,所以这里就不再赘述。(3) 从文

2020-05-17 19:54:25 801

原创 强化学习的常用方法

上一节我们讲述了马尔可夫过程, 这一节我们要讲的是强化学习中常用的方法。Model-free和Model-based我们可以将所有强化学习的方法分为理不理解所处环境,如果我们不尝试去理解环境, 环境给了我们什么就是什么. 我们就把这种方法叫做 model-free, 这里的 model 就是用模型来表示环境, 那理解了环境也就是学会了用一个模型来代表环境, 所以这种就是 model-based 方法. 我们假设有一个机器人,在Model-free方法中, 机器人只能按部就班, 一步一步等待真实世界的反馈

2020-05-13 11:47:23 2137

原创 强化学习之马尔可夫决策

大家学过机器学习的话应该对隐马尔可夫模型(HMM)有所了解,它具有的马尔可夫特性就是指系统的下个状态只和当前状态信息有关,而与更早之前的状态无关,即:马尔科夫决策过程(Markov Decision Process, MDP)以马尔可夫随机过程为理论基础,马尔科夫决策过程也可以用一个元组(S,A,P,R,γ)(S,A,P,R,γ)来表示。SS是决策过程中的状态集合;AA是决策过程中的动作集合;...

2020-05-08 09:04:54 917

原创 强化学习(Reinforcement Learning)

本章节开始讲述一些新的东西—强化学习(Reinforcement Learning)内容,这一小节将是对强化学习做一个简单的介绍以及讲述大概的思路。 强化学习是一个非常广泛的话题,强化学习(Reinforcement Learning)也属于机器学习的一个拓展分支,强化学习能够在负责不确定的环境中解决问题。强化学习主要包含3个概念:环境状态、动作、奖惩制度。强化学习的目标是在回报奖惩制度中获得更多...

2020-05-06 10:12:53 991

原创 词向量

词表示在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常,有两种表示方式:one-hotrepresentation(离散表示)和distributionrepresentation(分布式表示)分布式表示:即通过共现矩阵的方式来进行词的表示,词的意义来源于其在语料中的分布。离散式表示:即将语言表示为稠密、低维、连续的向量,每个词被表示为“a patternof activation...

2020-05-02 17:55:54 797

原创 自然语言处理模型

前面几个小节已经介绍了RNN和LSTM模型等等,在最先谈到RNN模型的时候我们就说过,RNN模型应用最广的领域就是自然语言处理(NLP)领域。从今天开始我们简单介绍语言模型。语言模型语言模型,即针对某种语言给定句子们分配概率值的任务,或者针对一串单词后跟一个词或者词串的可能性分配概率值的任务,实际这两个任务是等价的,可转换。语言模型在机器翻译和自动语音识别中具有重要作用,即对系统产生的多个翻译...

2020-04-27 11:12:30 568

原创 循环神经网络的变种

循环神经网络除了有不同的设计方法之外,还能够造出一些比较实用的 “变种”,用于提高循环神经网络解决一些特定问题的能力。常用的循环神经网络变种就是双向循环神经网络和深层循环神经网络,本节将会对这两个网络变种进行简要的介绍。双向循环神经网络到目前为止,我们讨论的循环神经网络只能将状态按照从前向后的方 向传递,这意味着循环体在时刻 t 的状态只能从过去的输入序列 x(t=0) ,…, x(t-1)以...

2020-04-26 11:42:18 579

原创 循环神经网络的 Dropout

循环神经网络(RNNs)是基于序列的模型,对自然语言理解、语言生成、视频处理和其他许多任务至关重要。模型的输入是一个符号序列,在每个时间点一个简单的神经网络(RNN单元)应用于一个符号,以及此前时间点的网络输出。RNNs是强大的模型,在许多任务中表现出色,但会快速过拟合。RNN模型中缺少正则化使他难以处理小规模数据,为避免这种情况研究者经常使用提早停止,或者小规模的或未充分定义的模型。Dropo...

2020-04-23 11:04:54 771

原创 长短期记忆网络LSTM

上两小节我们主要讲述了循环神经网络RNN,但是尽管 RNN 被设计成可以利用历史的信息来预测当前的决策,例如使用之前出现的单词来加强对当前单词的理解,但是预测RNN决策的主要还是最后输入的一些信号,更早之前的信号会随着时间的推迟而变得强度越来越低,它对后续的影响越来越弱。这样就会给RNN带来了新的技术挑战一一长期依赖(Long-Term Dependencies) 问题。当遇到一些上下文信息场景...

2020-04-21 09:36:09 663

原创 RNN的前向传播和反向传播

在上一节当中,我们讲到了RNN的其中一个特点是参数共享,在这一节当中,我们用具体代码来展示RNN的前向传播。首先是给出每一个参数具体的值:W指的是相邻时刻隐藏单元间的权重矩阵,U指的是从X(t)计算得到的对应隐藏单元时用到的权重矩阵;V是由h(t)计算得到o(t)时用到的权重矩阵;b_o是由h(t)计算得到o(t)时用到的偏置值。这就是一个简单循环神经网络的前向传播计算过程,输出的O(t...

2020-04-20 16:01:43 1908 1

原创 使用TensorFlow实现Inception-V3神经网络

上一讲我们讲述了Inception-V3卷积神经网络的基本模型及其实现原理,这一节我们将使用TensorFlow去实现Inception-V3这个卷积神经网络。使用TensorFlow实现Inception-V3卷积神经网络,InceptionModule将不同的卷积层通过并行连接的方式结合在一起。同时使用所有不同尺寸的过滤器,然后再将得到的矩阵拼接起来。如下图,Inception V3 模型总共...

2020-04-19 16:26:53 719

原创 使用残差网络实现MNIST手写数字识别

在上一节的内容中我们已经介绍了残差网络的相关知识,并使用数学知识进行了原理解释,我们知道深度网络随着层数的增加,很容易造成“退化”和“梯度消失”的问题,训练数据的过拟合,ResNet中给出了一种解决方案:增加一个identity mapping,今天的内容主要是使用残差网络处理MNIST手写数字识别数据集。实现的流程主要如下所示:1导入相关模块2 定义Block类3 定义相关函数4 求解损失函数第...

2020-04-18 09:24:11 1523 1

原创 循环神经网络RNN

神经网络的结构分为很多种,比如有之前介绍的全连接神经网络,有卷积神经网络等。在这一章节当中,我们会介绍一种新的神经神经网络——循环神经网络(Recurrent Neural Network,RNN)。RNN是一种特殊的神经网络结构, 它是根据"人的认知是基于过往的经验和记忆"这一观点提出的. 它与CNN不同的是: 它不仅考虑前一时刻的输入,而且赋予了网络对前面的内容的一种’记忆’功能。 RNN是一...

2020-04-17 09:17:59 275

原创 如何在Tensorflow实现ResNet网络

实现ResNet使用的也是先搭建网络,然后评价迭代耗时的方法,在这里我们把 代码分成了ResNet_struct.py和ResNet_run.py,其中ResNet_struct.py用来搭建网络,ResNet_run.py用来评测网络,今天主要介绍ResNet_struct.py,我们先从搭建网络开始,导入一些需要用到的库:接下来创建一个Block类,这个类用来配置残差学习模型的大小。初始化...

2020-04-16 11:19:00 975

原创 经典卷积神经网络之InceptionNet-V3

ResNet (Residual Neural Network)由微软研究院的何情明等4名华人提出,它的深度达到了惊人的 152 层,而且以 top-5 错误率3.57%的好成绩在ILSVRC 2015比赛中获得了冠军。尽管ResNet的深度远远高于VGGNet,但是参数量却比VGGNet 低,效果相较之下更为突出。ResNet中最具创新的一点就是残差学习单元(ResidualUnit)的引入,而...

2020-04-15 20:31:34 603

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除