本月累计签到次数:

今天获取 积分

BP图模型算法

BP图模型算法

241 浏览

我所理解的深度学习(一)

机械自动化类 喷漆李 2016-12-05 14:22 发表了文章 来自相关话题

前言:本来是想写写《我所理解的机器学习》系列,后来发现这种文章在微信上已经写得很多了,为了坚持原创,我准备把重心放在我对深度学习的理解,预计这一系列将会写很多篇,将会覆盖深度学习的基本原理、前沿研究和最新应用,希望对大家有所帮助。
 
 

深度学习的应用已经很广泛了,例如微信的语音转文字功能、垃圾邮件的筛选、人脸识别功能、智能客服、智能玩具、百度的语音搜索、图像搜索、无人车技术、AlphaGo,为什么深度学习突然火起来了?我想原因可能是两方面:第一是得益于计算机运算性能的快速发展,深度学习需要耗费大量的运算资源,尤其是基于GPU的矩阵运算;第二是得益于大数据的发展,目前深度学习的商业应用主要还是基于有监督学习,有监督学习需要大量的数据样本。
 
 

深度学习是机器学习的一个分支,运用神经网络对数据进行建模,然后给出合理的分类或预测。在深度学习领域,神经网络的种类五花八门,各式各样的都有,因不同问题的处理需要,例如简单的前向神经网络、深度置信网络、循环神经网络、长短期可记忆网络、动态网络等等,虽然网络结构大相径庭,但是它们的处理过程中都会遵循一个可微的原则,可微意味着损失函数可以对网络的所有参数进行求解梯度,那么训练就可以遵循梯度下降算法来进行。
 
 

梯度下降算法基于链式求导法则,如果按照解析方法来求导,那么操作起来会十分麻烦,而计算机使用的是一个基于图模型来对多参数进行自动求导。
 
 

这种图模型类似于一种电路图,我们可以把这种电路图看做由很多运算门组成,在神经网络中,最常见的三种运算门是加法、乘法、比较,在梯度后向传播中,可以借助这三种门来计算任意参数的梯度。
 
 

加法门。如果一个梯度后向传播到加法门,那么这个加法门对它的所有输入进行求导还是等于这个梯度,即传过来的梯度会原模原样均等地分配给各个输入变量。这是因为两个变量相加,x+y=z,那么z对x求导所得到的值为1,由误差函数传递给z的梯度若即为g,那么通过这个加法门传递到x的梯度为g*1=g,同理,传递到y的梯度为g*1=g。
 
 

乘法门。当一个梯度后向传播到乘法门,就会稍微复杂一点,这个乘法门对它的所有输入进行求导等于这个梯度乘以所有其他输入量的乘积。例如若有一个乘法门是由两个变量组成,即x*y=z,那么我们知道,z对x的求导等于y,也就是说假如误差函数传递给z的梯度为g,那么通过这个乘法门传递到x的梯度为g*y,同理,通过这个乘法门传递到y的梯度为g*x。
 
 

比较门。当一个梯度后向传播到比较门,比较门对所有输入求导是按照追踪原则的,即比较门只会将对此门有共享的变量计算梯度,而其他变量的贡献为0,梯度也为0。例如假设一个比较门满足z=max(x,y),即z的值是取x和y中的最大值,那么,这个时候求导并非一成不变的公式,而是追踪具体值了。如果x>y,这个时候对比较门有贡献的是变量x,那么z对x求导即为1,而z对y求导为0;反过来,如果x<y,这个时候对比较门有贡献的是变量y,那么z对x求导即为0,而z对y求导为1。因此,假设x>y,那么如果误差函数传递给z的梯度为g,那么通过这个比较门传递到x的梯度为g*1,但是,通过这个比较门传递给y的梯度为g*0=0。
 
 

神经网络梯度后向传播算法中最主要的就是这三种运算门,其他的基本函数的求导比较简单,例如exp、log、sigmoid等等,这里就不再详细说明了。最后附送一张BP算法图模型例子,回顾一下上面所讲的内容验证一下结果。(绿色代表输入值,红色代表后向传播梯度)





 
 
 
 
来源: 张泽旺 深度学习每日摘要
智造家
  查看全部
1.1_.jpg


前言:本来是想写写《我所理解的机器学习》系列,后来发现这种文章在微信上已经写得很多了,为了坚持原创,我准备把重心放在我对深度学习的理解,预计这一系列将会写很多篇,将会覆盖深度学习的基本原理、前沿研究和最新应用,希望对大家有所帮助。
 
 

深度学习的应用已经很广泛了,例如微信的语音转文字功能、垃圾邮件的筛选、人脸识别功能、智能客服、智能玩具、百度的语音搜索、图像搜索、无人车技术、AlphaGo,为什么深度学习突然火起来了?我想原因可能是两方面:第一是得益于计算机运算性能的快速发展,深度学习需要耗费大量的运算资源,尤其是基于GPU的矩阵运算;第二是得益于大数据的发展,目前深度学习的商业应用主要还是基于有监督学习,有监督学习需要大量的数据样本。
 
 

深度学习是机器学习的一个分支,运用神经网络对数据进行建模,然后给出合理的分类或预测。在深度学习领域,神经网络的种类五花八门,各式各样的都有,因不同问题的处理需要,例如简单的前向神经网络、深度置信网络、循环神经网络、长短期可记忆网络、动态网络等等,虽然网络结构大相径庭,但是它们的处理过程中都会遵循一个可微的原则,可微意味着损失函数可以对网络的所有参数进行求解梯度,那么训练就可以遵循梯度下降算法来进行。
 
 

梯度下降算法基于链式求导法则,如果按照解析方法来求导,那么操作起来会十分麻烦,而计算机使用的是一个基于图模型来对多参数进行自动求导。
 
 

这种图模型类似于一种电路图,我们可以把这种电路图看做由很多运算门组成,在神经网络中,最常见的三种运算门是加法乘法比较,在梯度后向传播中,可以借助这三种门来计算任意参数的梯度。
 
 

加法门。如果一个梯度后向传播到加法门,那么这个加法门对它的所有输入进行求导还是等于这个梯度,即传过来的梯度会原模原样均等地分配给各个输入变量。这是因为两个变量相加,x+y=z,那么z对x求导所得到的值为1,由误差函数传递给z的梯度若即为g,那么通过这个加法门传递到x的梯度为g*1=g,同理,传递到y的梯度为g*1=g。
 
 

乘法门。当一个梯度后向传播到乘法门,就会稍微复杂一点,这个乘法门对它的所有输入进行求导等于这个梯度乘以所有其他输入量的乘积。例如若有一个乘法门是由两个变量组成,即x*y=z,那么我们知道,z对x的求导等于y,也就是说假如误差函数传递给z的梯度为g,那么通过这个乘法门传递到x的梯度为g*y,同理,通过这个乘法门传递到y的梯度为g*x。
 
 

比较门。当一个梯度后向传播到比较门,比较门对所有输入求导是按照追踪原则的,即比较门只会将对此门有共享的变量计算梯度,而其他变量的贡献为0,梯度也为0。例如假设一个比较门满足z=max(x,y),即z的值是取x和y中的最大值,那么,这个时候求导并非一成不变的公式,而是追踪具体值了。如果x>y,这个时候对比较门有贡献的是变量x,那么z对x求导即为1,而z对y求导为0;反过来,如果x<y,这个时候对比较门有贡献的是变量y,那么z对x求导即为0,而z对y求导为1。因此,假设x>y,那么如果误差函数传递给z的梯度为g,那么通过这个比较门传递到x的梯度为g*1,但是,通过这个比较门传递给y的梯度为g*0=0。
 
 

神经网络梯度后向传播算法中最主要的就是这三种运算门,其他的基本函数的求导比较简单,例如exp、log、sigmoid等等,这里就不再详细说明了。最后附送一张BP算法图模型例子,回顾一下上面所讲的内容验证一下结果。(绿色代表输入值,红色代表后向传播梯度

1.2_.jpg

 
 
 
 
来源: 张泽旺 深度学习每日摘要
智造家
 
241 浏览

我所理解的深度学习(一)

机械自动化类 喷漆李 2016-12-05 14:22 发表了文章 来自相关话题

前言:本来是想写写《我所理解的机器学习》系列,后来发现这种文章在微信上已经写得很多了,为了坚持原创,我准备把重心放在我对深度学习的理解,预计这一系列将会写很多篇,将会覆盖深度学习的基本原理、前沿研究和最新应用,希望对大家有所帮助。
 
 

深度学习的应用已经很广泛了,例如微信的语音转文字功能、垃圾邮件的筛选、人脸识别功能、智能客服、智能玩具、百度的语音搜索、图像搜索、无人车技术、AlphaGo,为什么深度学习突然火起来了?我想原因可能是两方面:第一是得益于计算机运算性能的快速发展,深度学习需要耗费大量的运算资源,尤其是基于GPU的矩阵运算;第二是得益于大数据的发展,目前深度学习的商业应用主要还是基于有监督学习,有监督学习需要大量的数据样本。
 
 

深度学习是机器学习的一个分支,运用神经网络对数据进行建模,然后给出合理的分类或预测。在深度学习领域,神经网络的种类五花八门,各式各样的都有,因不同问题的处理需要,例如简单的前向神经网络、深度置信网络、循环神经网络、长短期可记忆网络、动态网络等等,虽然网络结构大相径庭,但是它们的处理过程中都会遵循一个可微的原则,可微意味着损失函数可以对网络的所有参数进行求解梯度,那么训练就可以遵循梯度下降算法来进行。
 
 

梯度下降算法基于链式求导法则,如果按照解析方法来求导,那么操作起来会十分麻烦,而计算机使用的是一个基于图模型来对多参数进行自动求导。
 
 

这种图模型类似于一种电路图,我们可以把这种电路图看做由很多运算门组成,在神经网络中,最常见的三种运算门是加法、乘法、比较,在梯度后向传播中,可以借助这三种门来计算任意参数的梯度。
 
 

加法门。如果一个梯度后向传播到加法门,那么这个加法门对它的所有输入进行求导还是等于这个梯度,即传过来的梯度会原模原样均等地分配给各个输入变量。这是因为两个变量相加,x+y=z,那么z对x求导所得到的值为1,由误差函数传递给z的梯度若即为g,那么通过这个加法门传递到x的梯度为g*1=g,同理,传递到y的梯度为g*1=g。
 
 

乘法门。当一个梯度后向传播到乘法门,就会稍微复杂一点,这个乘法门对它的所有输入进行求导等于这个梯度乘以所有其他输入量的乘积。例如若有一个乘法门是由两个变量组成,即x*y=z,那么我们知道,z对x的求导等于y,也就是说假如误差函数传递给z的梯度为g,那么通过这个乘法门传递到x的梯度为g*y,同理,通过这个乘法门传递到y的梯度为g*x。
 
 

比较门。当一个梯度后向传播到比较门,比较门对所有输入求导是按照追踪原则的,即比较门只会将对此门有共享的变量计算梯度,而其他变量的贡献为0,梯度也为0。例如假设一个比较门满足z=max(x,y),即z的值是取x和y中的最大值,那么,这个时候求导并非一成不变的公式,而是追踪具体值了。如果x>y,这个时候对比较门有贡献的是变量x,那么z对x求导即为1,而z对y求导为0;反过来,如果x<y,这个时候对比较门有贡献的是变量y,那么z对x求导即为0,而z对y求导为1。因此,假设x>y,那么如果误差函数传递给z的梯度为g,那么通过这个比较门传递到x的梯度为g*1,但是,通过这个比较门传递给y的梯度为g*0=0。
 
 

神经网络梯度后向传播算法中最主要的就是这三种运算门,其他的基本函数的求导比较简单,例如exp、log、sigmoid等等,这里就不再详细说明了。最后附送一张BP算法图模型例子,回顾一下上面所讲的内容验证一下结果。(绿色代表输入值,红色代表后向传播梯度)





 
 
 
 
来源: 张泽旺 深度学习每日摘要
智造家
  查看全部
1.1_.jpg


前言:本来是想写写《我所理解的机器学习》系列,后来发现这种文章在微信上已经写得很多了,为了坚持原创,我准备把重心放在我对深度学习的理解,预计这一系列将会写很多篇,将会覆盖深度学习的基本原理、前沿研究和最新应用,希望对大家有所帮助。
 
 

深度学习的应用已经很广泛了,例如微信的语音转文字功能、垃圾邮件的筛选、人脸识别功能、智能客服、智能玩具、百度的语音搜索、图像搜索、无人车技术、AlphaGo,为什么深度学习突然火起来了?我想原因可能是两方面:第一是得益于计算机运算性能的快速发展,深度学习需要耗费大量的运算资源,尤其是基于GPU的矩阵运算;第二是得益于大数据的发展,目前深度学习的商业应用主要还是基于有监督学习,有监督学习需要大量的数据样本。
 
 

深度学习是机器学习的一个分支,运用神经网络对数据进行建模,然后给出合理的分类或预测。在深度学习领域,神经网络的种类五花八门,各式各样的都有,因不同问题的处理需要,例如简单的前向神经网络、深度置信网络、循环神经网络、长短期可记忆网络、动态网络等等,虽然网络结构大相径庭,但是它们的处理过程中都会遵循一个可微的原则,可微意味着损失函数可以对网络的所有参数进行求解梯度,那么训练就可以遵循梯度下降算法来进行。
 
 

梯度下降算法基于链式求导法则,如果按照解析方法来求导,那么操作起来会十分麻烦,而计算机使用的是一个基于图模型来对多参数进行自动求导。
 
 

这种图模型类似于一种电路图,我们可以把这种电路图看做由很多运算门组成,在神经网络中,最常见的三种运算门是加法乘法比较,在梯度后向传播中,可以借助这三种门来计算任意参数的梯度。
 
 

加法门。如果一个梯度后向传播到加法门,那么这个加法门对它的所有输入进行求导还是等于这个梯度,即传过来的梯度会原模原样均等地分配给各个输入变量。这是因为两个变量相加,x+y=z,那么z对x求导所得到的值为1,由误差函数传递给z的梯度若即为g,那么通过这个加法门传递到x的梯度为g*1=g,同理,传递到y的梯度为g*1=g。
 
 

乘法门。当一个梯度后向传播到乘法门,就会稍微复杂一点,这个乘法门对它的所有输入进行求导等于这个梯度乘以所有其他输入量的乘积。例如若有一个乘法门是由两个变量组成,即x*y=z,那么我们知道,z对x的求导等于y,也就是说假如误差函数传递给z的梯度为g,那么通过这个乘法门传递到x的梯度为g*y,同理,通过这个乘法门传递到y的梯度为g*x。
 
 

比较门。当一个梯度后向传播到比较门,比较门对所有输入求导是按照追踪原则的,即比较门只会将对此门有共享的变量计算梯度,而其他变量的贡献为0,梯度也为0。例如假设一个比较门满足z=max(x,y),即z的值是取x和y中的最大值,那么,这个时候求导并非一成不变的公式,而是追踪具体值了。如果x>y,这个时候对比较门有贡献的是变量x,那么z对x求导即为1,而z对y求导为0;反过来,如果x<y,这个时候对比较门有贡献的是变量y,那么z对x求导即为0,而z对y求导为1。因此,假设x>y,那么如果误差函数传递给z的梯度为g,那么通过这个比较门传递到x的梯度为g*1,但是,通过这个比较门传递给y的梯度为g*0=0。
 
 

神经网络梯度后向传播算法中最主要的就是这三种运算门,其他的基本函数的求导比较简单,例如exp、log、sigmoid等等,这里就不再详细说明了。最后附送一张BP算法图模型例子,回顾一下上面所讲的内容验证一下结果。(绿色代表输入值,红色代表后向传播梯度

1.2_.jpg

 
 
 
 
来源: 张泽旺 深度学习每日摘要
智造家