sigmoid

深度学习笔记(一)

瘦欲@ 提交于 2020-01-05 22:11:46
一、R-CNN 增加了候选区域选择,先选择几个候选区,然后在候选区中做检测。 二、mini-batch&Batch Normalization 我们已知在梯度下降中需要对所有样本进行处理过后然后走一步,那么如果我们的样本规模的特别大的话效率就会比较低。假如有500万,甚至5000万个样本(在我们的业务场景中,一般有几千万行,有些大数据有10亿行)的话走一轮迭代就会非常的耗时。这个时候的梯度下降叫做full batch。 所以为了提高效率,我们可以把样本分成等量的子集。 例如我们把100万样本分成1000份, 每份1000个样本, 这些子集就称为mini batch。然后我们分别用一个for循环遍历这1000个子集。 针对每一个子集做一次梯度下降。 然后更新参数w和b的值。接着到下一个子集中继续进行梯度下降。 这样在遍历完所有的mini batch之后我们相当于在梯度下降中做了1000次迭代。 我们将遍历一次所有样本的行为叫做一个 epoch,也就是一个世代。 在mini batch下的梯度下降中做的事情其实跟full batch一样,只不过我们训练的数据不再是所有的样本,而是一个个的子集。 这样在mini batch我们在一个epoch中就能进行1000次的梯度下降,而在full batch中只有一次。 这样就大大的提高了我们算法的运行速度。 如上图,左边是full

(译)理解 LSTM 网络 (Understanding LSTM Networks by colah)

天涯浪子 提交于 2020-01-05 01:58:24
@翻译:huangyongye 原文链接: Understanding LSTM Networks 前言 :其实之前就已经用过 LSTM 了,是在深度学习框架 keras 上直接用的,但是到现在对LSTM详细的网络结构还是不了解,心里牵挂着难受呀!今天看了 tensorflow 文档上面推荐的这篇博文,看完这后,焕然大悟,对 LSTM 的结构理解基本上没有太大问题。此博文写得真真真好!!!为了帮助大家理解,也是怕日后自己对这些有遗忘的话可以迅速回想起来,所以打算对原文写个翻译。首先声明,由于本人水平有限,如有翻译不好或理解有误的多多指出!此外,本译文也不是和原文一字一句对应的,为了方便理解可能会做一些调整和修改。另外本文是作为我自己的学习笔记,没有经过原作者本人的授权,所以请勿转载) 1. 循环神经网络(RNNs) 人们思考问题往往不是从零开始的。就好像你现在阅读这篇文章一样,你对每个词的理解都会依赖于你前面看到的一些词,而不是把你前面看的内容全部抛弃了,忘记了,再去理解这个单词。也就是说,人们的思维总是会有延续性的。 传统的神经网络是做不到这样的延续性(它们没办法保留对前文的理解),这似乎成了它们一个巨大的缺陷。举个例子,在观看影片中,你想办法去对每一帧画面上正在发生的事情做一个分类理解。目前还没有明确的办法利用传统的网络把对影片中前面发生的事件添加进来帮助理解后面的画面。 但是

神经网络基础知识

被刻印的时光 ゝ 提交于 2020-01-04 21:22:58
神经网络出现了很多年了,它曾经沉寂,但如今他又火热起来,尤其是卷积神经网络(CNN)在图像识别领域具有广泛应用和不可替代的优势。 首先从简单的神经网络说起: M-P模型: 它是首个通过模仿神经元而形成的模型。在模型中,多个输入xi(i=1,…,n),对应一个输出y。让每个输入xi乘以对应的权重wi,然后相加求和得到y结果之和如果大于阈值h,则输出1,否则就输出0。 上述的f(x)就是激活函数,就是看输入x能不能激活f,使其输出对应的值。 上面对应的是多输入单输出,当然也有单输入单输出,但是用处相对较小。 但是这种简单的输入输出并不能解决我们遇到的问题,我们需要他自己有学习功能,自己调整参数wi。为什么要调整参数wi呢?因为常常输出的y并不是我们想要得到的准确值。为此我们需要修改参数wi,使其输出我们想要的值。因此我们想要的值(设为target),与输出的值之间就会有一个误差E,E=target-y。这就是实际输出和期望输出之间的误差。而我们可以通过误差修正学习,修改参数wi,h。 wi=wi+α(target-y)xi h=h-α(target-y)。 α是学习率,后边会讲。α越大,学习速度越快,修改参数wi的速度越快。α越小,学习速度越慢,修改参数wi的速度越慢 多层感知器 上面的例子已经具有了初步的功能,但是要是解决更加复杂的问题,还是不行。多层感知器应运而生。 如图

深度学习笔记------神经网络

梦想的初衷 提交于 2020-01-01 22:38:35
深度学习笔记------神经网络 神经网络 层级结构 多层模型 激活函数 ReLU函数 Sigmoid函数 Tanh函数 模型计算 正向传播 反向传播 衰减与爆炸 参数初始化 小结 神经网络 与生物学中的神经网络相似,其是一个网状的结构,其组成的基本单元是一个个的神经元模型,这些小的单元模型可以处理传入的部分数据,并根据相应的结果来产生相应数据与信号,配合其它的神经元模型协同工作。 层级结构 除此之外,这里的神经网络是一个层级结构,整体分为输入层,输出层与隐藏层。 输入层 :输入层是数据传入的入口,这一层不包含计算只用于传入数据。 输出层 :输出层是数据输出的出口,但是这一层包含计算,只含有输入层与输出层便可构成可用的模型了。 隐藏层 :夹在输出层与输入层之间有若干的隐藏层,隐藏这个词给人以一种黑箱的感觉,其中实现了相关的运算,层数与相关实现是比较灵活的可以自定义。 相邻的层中除输出层与输入层外,前一层的输出是下一层的输入。各层的神经元数量可能不同,特别是在隐藏层中相关的实现可以非常灵活。 多层模型 在神经网络中我们重点在于多层模型上,这里的多层是指至少要有隐藏层。 而模型的重点在于各神经元间连线的权值上,这些权值实际定义了相关层级数据到下一层级的线性运算,是这个模型要"学习"的重点。除了权值之外还有阈值,也可以叫偏置,在线性回归 y = w 1 x 1 + . . . + w n

Pytorch框架应用系列 之 BPNet 4-2:全连接层到矩阵计算!FC近在眼前!

核能气质少年 提交于 2020-01-01 17:05:27
专题介绍及文章命名 2020年第一更!!祝愿大家新年快乐!撸起袖子加油干!越是艰险越向前!! 专题介绍在此!希望各位读者对这个专题的各篇博客定位有全局性质的把握~~ 再次提醒:该系列专题不涉及网络细节讲解,仅限于 工程实现 与 框架学习 。想更多了解该专题内容请点击上文专题介绍链接。 该专题中,文章命名方式为: Pytorch框架应用系列 之 《项目名称》 《总章节-当前章节》:《当前章节项目名称》 BP网络专题综述在此!想了解BP网络章节的文章构成?点击此处! 目录 一. 任务模型展示 二. 函数讲解   2.1 全连接层扛把子:torch.nn.Linear    2.1.1 函数的定义及参数功能    2.1.2 函数的数学表达与数据格式 《子任务章节》    2.1.3 函数的调用实例   2.2 激活函数:torch.nn.Sigmoid    2.2.1 函数的定义及参数功能    2.2.2 函数的调用实例   2.3 网络结构容器:torch.nn.Sequential    2.3.1 函数的定义及参数功能    2.3.2 函数的调用实例 三. 专题及章节位置信息查询 一. 任务模型展示 二. 函数讲解 2.1 全连接层扛把子:torch.nn.Linear; 注:明星函数 2.1.1 函数的定义及参数功能 首先我们先来看看官方的完整定义:

Sigmoid

跟風遠走 提交于 2019-12-29 19:18:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。Sigmoid作为激活函数有以下优缺点: 优点:平滑、易于求导。 缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练。 Sigmoid函数由下列公式定义 其对x的导数可以用自身表示: 来源: oschina 链接: https://my.oschina.net/kaiyuancao/blog/3149268

深度学习 —— 深度前馈网络

青春壹個敷衍的年華 提交于 2019-12-28 05:03:20
6.1 XOR例子 对于如图所示的异或问题,简单的单层线性函数 f ( x , w , b ) = x T w + b f(x,w,b)=x^Tw+b f ( x , w , b ) = x T w + b 无法解决异或问题; 解决办法是增加深度,即加入隐层单元h; h = f ( 1 ) ( x , W , c ) , y = f ( 2 ) ( h , w , b ) h=f^{(1)}(x,W,c),y=f^{(2)}(h,w,b) h = f ( 1 ) ( x , W , c ) , y = f ( 2 ) ( h , w , b ) ,完整版的模型是 f ( x , W , c , w , b ) = f ( 2 ) ( f ( 1 ) ( x ) ) f(x,W,c,w,b)=f^{(2)}(f^{(1)}(x)) f ( x , W , c , w , b ) = f ( 2 ) ( f ( 1 ) ( x ) ) 。 f ( 1 ) f^{(1)} f ( 1 ) 应该是哪种函数?线性模型到目前为止都表现不错,让 f ( 1 ) f^{(1)} f ( 1 ) 也是线性的似乎很有诱惑力。可惜的是,如果 f ( 1 ) f^{(1)} f ( 1 ) 是线性的。那么前馈网络作为一个整体对于输入仍然是线性的。暂时忽略截距项,假设 f ( 1 ) ( x ) = W T

激活函数

寵の児 提交于 2019-12-27 18:19:19
为什么要引入激活函数? 为神经网络引入非线性属性,也就是说,我们希望神经网络既能计算线形函数,也能计算非线性函数。 1.sigmoid 优点: 输出在0-1之间,单调连续,输出范围有限 容易求导: f ( x ) ′ = f ( x ) ( 1 − f ( x ) ) f{\left( x \right)^\prime } = f\left( x \right)\left( {1 - f\left( x \right)} \right) f ( x ) ′ = f ( x ) ( 1 − f ( x ) ) 缺点: 导致模型的梯度消失 误差反向传播时会有: ∂ E ∂ y ( x ) ∂ y ( x ) ∂ θ \frac{{\partial E}}{{\partial y\left( x \right)}}\frac{{\partial y\left( x \right)}}{{\partial \theta }} ∂ y ( x ) ∂ E ​ ∂ θ ∂ y ( x ) ​ ,而一次反向传播,对激活函数有: ∂ σ ( x ) ∂ θ = σ ( 1 − σ ) < 1 \frac{{\partial \sigma \left( x \right)}}{{\partial \theta }} = \sigma (1 - \sigma ) < 1 ∂ θ ∂ σ ( x ) ​

卷积神经网络详解

假装没事ソ 提交于 2019-12-27 17:33:48
1 前言 在dl中,有一个很重要的概念,就是卷积神经网络CNN,基本是入门dl必须搞懂的东西。本文基本根据斯坦福的机器学习公开课、cs231n、与七月在线寒老师讲的5月dl班第4次课CNN与常用框架视频所写,是一篇课程笔记。本只是想把重点放在其卷积计算具体是怎么计算怎么操作的,但后面不断补充,故写成了关于卷积神经网络的通俗导论性的文章。有何问题,欢迎不吝指正。 2 人工神经网络 2.1 神经元 神经网络由大量的节点(或称“神经元”、“单元”)和相互连接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个输出神经元被激活。从而识别当前数字是什么字。 神经网络的每个神经元/单元如下 类似wx + b的形式,其中 a1~an为输入向量,当然,也常用x1~x n表示输入 w1~wn为权重 b为偏置 bias f 为激活函数 t 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了

卷积神经网络--CNN

◇◆丶佛笑我妖孽 提交于 2019-12-27 17:33:24
1.人工神经网络 神经网络由大量的节点(或称“神经元”、“单元”)和相互连接而成。每个神经元接受输入的线性组合,进行非线性变换(亦称激活函数activation function)后输出。每两个节点之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。 举个手写识别的例子,给定一个未知数字,让神经网络识别是什么数字。此时的神经网络的输入由一组被输入图像的像素所激活的输入神经元所定义。在通过激活函数进行非线性变换后,神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个 输出神经元 被 激活 。从而识别当前数字是什么字。 神经网络的每个神经元/单元如下 类似wx + b的形式,其中 a1~an为输入向量,当然,也常用x1~xn表示输入 w1~wn为权重 b为偏置bias f 为激活函数 t 为输出 如果只是上面这样一说,估计以前没接触过的十有八九又必定迷糊了。事实上,在20世纪50/60年代,上述简单神经元被称之为感知机,可以把感知机理解为一个根据不同因素、以及各个因素的重要性程度而做决策的模型。 举个例子,这周末北京有一草莓音乐节,那去不去呢?决定你是否去有3个因素,这三个因素可以对应三个输入,分别用x1、x2、x3表示,此外,这三个因素对做决策的影响程度不一样,各自的影响程度用权重w1、w2、w3表示。一般来说