[6]深度学习和Keras---- 深度学习中的一些难理解的基础概念:softmax, batch,min-batch,iterations,epoch,SGD

原创 2017年06月27日 20:40:12

在进行深度学习的过程中,我们经常会遇到一些自己不懂的概念和术语,比如,softmax, batch,min-batch,iterations,epoch,那么如何快速和容易的理解这些术语呢? 因为笔者也是深度学习的初学者,所以笔者在学习和浏览文章的过程中,把一些自己不太容易和理解的一些概率记录了下来。希望对其他初学者也有所帮助。


@softmax 函数

softmax是一个函数,其主要用于输出节点的分类,它有一个特点,所以的值相加会等于1. 从李宏毅老师的PPT里面找到了一张图,感觉解释的非常形象。先借花献福分享给大家。



具体例子,可以举图像识别,比如图像识别数字,0~9, 线设置图像识别的输出数字为10个输出节点,然后通过softmax算法,算出对于一张图像的输入,其经过神经网络的计算,会输出10个值,那当前输出的值就是0~9的可能性,但是总和是1.那个数字的输出的概率最大,则这次手写数字的识别结果就是那个数字。



@ batch VS min_batch VS Iteration

在学习深度学习或者使用Keras框架的时候,我们经常会遇到比如,设置batch和min-batch的值,让其来训练输入样本。 为了更好的理解这个概念,我们可以举一个例子,

比如,我们有1050个样本,如果我们设置 batch_size等于100(这个时候100就是min_batch),算法则会首先从训练集取前100(1~100)个输入数据去训练网络;下一次取(101~200),我们一直这样循环,

知道我们把所有的训练样本都取到了。但是问题经常会发生在最后一个训练样本。比如1050不能被100整除,这个时候,我们对于后面的50个样本可以单独拿出来训练;所以总共是11次训练其网络参数的Iteration(迭代)。如果设置我们设置了batch等于1050,也就是全集(这个时候1050就是全集),同时也训练11次(Iteration)。

  • min_batch的优点:

             只需要更少的内存

              训练速度快

  • min_batch的缺点:

              精度低


具体请见下面一张图。


@ Epoch

Epoch就是把训练数组全部训练完成的一个正向和反向计算的过程。比如,我们有1000个样本,batch size是500,其将会有2个Iterations。这两个Iteration完成一个

Epoch。太拗口了。。。。。。。。。。


后面遇到,将会继续待续。。。。。。。


@ SGD

SGD就是Stochastic gradient descent的缩写,翻译成中文就是随机梯度下降。在Keras中,可以作为一种优化器使用,通过SGD算法可以让我们快速找到神经网络模型参数的最优化的值。


参考文献:

https://stats.stackexchange.com/questions/153531/what-is-batch-size-in-neural-network

http://sebastianruder.com/optimizing-gradient-descent/

版权声明:本文为博主原创文章,未经博主允许不得转载。

谈谈深度学习中的 Batch_Size

谈谈深度学习中的 Batch_SizeBatch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开。首先,为什么需要有 Batch_Size 这个参数?Batch 的选择,首先决...
  • u012428391
  • u012428391
  • 2015年11月12日 19:59
  • 39104

#深度学习#关于训练中的batch, epoch 以及online training

深度学习第一篇,撒花花~~~ 接触机器学习将近一年,接触深度学习三四个月吧,感觉每次训练代码只是无脑训练,这次先整理一下关于episode和batch的相关知识。...
  • Mr48694869
  • Mr48694869
  • 2017年04月19日 15:28
  • 871

深度学习(二十九)Batch Normalization 学习笔记

近年来深度学习捷报连连,声名鹊起,随机梯度下架成了训练深度网络的主流方法。尽管随机梯度下降法,将对于训练深度网络,简单高效,但是它有个毛病,就是需要我们人为的去选择参数,比如学习率、参数初始化等,这些...
  • hjimce
  • hjimce
  • 2016年03月12日 17:00
  • 72122

Keras一些基本概念

符号计算 Keras的底层库使用Theano或TensorFlow,这两个库也称为Keras的后端,无论事Theano还是TensorFlow,都是一个符号主义的库。 关于符号主义,可以一般...
  • u011437229
  • u011437229
  • 2016年12月05日 12:45
  • 3745

深度学习框架Keras使用心得

最近几个月为了写小论文,题目是关于用深度学习做人脸检索的,所以需要选择一款合适的深度学习框架,caffe我学完以后感觉使用不是很方便,之后有人向我推荐了Keras,其简单的风格吸引了我,之后的四个月我...
  • xjcvip007
  • xjcvip007
  • 2016年10月12日 22:04
  • 11685

深度学习中的batch、batch size与epoch

batch: batch是批。我们可以把数据全扔进去当作一批(Full Batch Learning), 也可以把数据分为好几批,分别扔进去Learning Model。...
  • menc15
  • menc15
  • 2017年05月11日 14:07
  • 604

神经网络中epoch, iteration, batchsize相关理解和说明

batchsize:中文翻译为批大小(批尺寸)。 简单点说,批量大小将决定我们一次训练的样本数目。 batch_size将影响到模型的优化程度和速度。 为什么需要有 Batch_Size : ...
  • anshiquanshu
  • anshiquanshu
  • 2017年05月22日 20:55
  • 1995

深入浅出——深度学习中的Batch Normalization使用

《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shi
  • u010402786
  • u010402786
  • 2016年04月24日 15:33
  • 7008

机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值。(本文会不断补充)学习速率(learning rate,...
  • u012162613
  • u012162613
  • 2015年03月14日 23:49
  • 25778

并行sgd算法和min-batch gd算法

sgd算法全称随机梯度下降法,有着比批梯度下降法更快收敛的优势,该算法名称中的“随机”二字是改算法的中心精神所在。 sgd算法是一种天生的串行的算法,当数据量大的时候们希望通过使用多个机器并行计算的...
  • u014791046
  • u014791046
  • 2016年04月13日 17:51
  • 1588
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[6]深度学习和Keras---- 深度学习中的一些难理解的基础概念:softmax, batch,min-batch,iterations,epoch,SGD
举报原因:
原因补充:

(最多只允许输入30个字)