深度学习之神经网络算法介绍

Posted 浙大统计学人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习之神经网络算法介绍相关的知识,希望对你有一定的参考价值。



01 深度学习与神经网络算法



提到深度学习,大家的印象可能是这样的?



抑或是这样?


深度学习之神经网络算法介绍


这些大部头的著作很容易给人艰深难懂的印象,使人望而却步。实际上,深度学习的入门还是很轻松简单的,今天,我就从深层神经网络(DNN)带你进入深度学习的海洋!



02 深度学习的应用


作为实现机器学习的一种技术,深度学习当然可以完成机器学习的各种任务,比如

→推荐系统(深层神经网络DNN的应用)

→图像识别(卷积神经网络CNN的应用)

→文字语义识别与机器翻译(循环神经网络RNN的应用)


当然,深度学习的应用如浩瀚星空,以上只是其中的小小一隅。而归结到底,DNN处理的还是分类任务。


分类任务指的是输入一个样本,其包含n个特性x1,x2,…xn,输出结果y。一个经典的例子是周志华老师的西瓜论,x1,x2,…xn代表西瓜的一些特性如颜色,瓜蒂,熟度等等,而 y代表这个西瓜是好瓜还是坏瓜。深度学习的任务就是用很多的样本训练之后,输入一个瓜的特性,判断这个瓜的好坏。


深度学习之神经网络算法介绍


03 Logistic回归与多层神经网络


那么,要想了解神经网络是如何运作,而通过训练来作出判断的,我们就要从Logistic 回归,又称单层神经网络开始说起。


我们记一个训练样本x=[x1,x2,…xn] ,设置一个参数序列w=[w1,w2,…wn] , 采用线形回归函数 

深度学习之神经网络算法介绍

来输出结果, 但明显这个结果的值域很大,不符合我们分类问题的0或1的期望结果,我们就再采用sigmoid函数

深度学习之神经网络算法介绍

对其做进一步处理,如下图所示


深度学习之神经网络算法介绍


可以看到,这样y的估计值的值域就在[0,1]之间啦。


得到y的估计值后,我们再用下一节所介绍的梯度下降法将它与y的真实值比较,再在每一次训练中进行参数的调整,使得最终的参数符合最优的标准,即分类的结果与真实结果相差最小。


介绍完Logistic回归后,我们继续看多层向前神经网络。简而言之,多层神经网络就是多个Logistic回归的叠加:


深度学习之神经网络算法介绍


以上为两层神经网络,此时的W1(第一层参数)的size就不再是 n✖1了,而是n✖k, k为第二层神经元的个数。所以一个样本经过第一层神经网络之后为

深度学习之神经网络算法介绍

其size为

深度学习之神经网络算法介绍

个,对于这k个神经元我们再采用类似于sigmoid的激活函数

深度学习之神经网络算法介绍

而后继续对a[1]进行相类似于第一层的处理就可以得到结果啦。


而多层神经网络与两层神经网络完全一致,只不过是层数增加,每层的参数会增加,其理解复杂度不会变化。



04 梯度下降法


了解了神经网络的前向传播之后,我们要学习的就是如何训练我们的参数W和b了。


此时我们定义一个损失函数(Loss Function): 

深度学习之神经网络算法介绍

其中m为样本的个数,两个y相关的参数分别是y的估计值和真实值,且有

深度学习之神经网络算法介绍

我们解释一下这个函数,当y=1时,y的估计值越接近于0,函数值整体越大;y=0时同理。


定义好损失函数之后,我们训练的目的就是使得损失函数最小,这当然是沿着梯度方向下降最好了。


深度学习之神经网络算法介绍


如上图所示,最快使得损失函数到达最低点的情况就是参数沿导数方向走,即

深度学习之神经网络算法介绍


当样本足够多的时候,L 会下降到一个很低的值,这样我们的训练就完成了。



深度学习之神经网络算法介绍

在文章的最后,小统想给大家带来一个思考题:一般来说大家提到损失,第一个蹦入脑海的应该是平方损失

深度学习之神经网络算法介绍

那么在神经网络与梯度下降法中为什么不用这个函数呢?






最后的最后,再给看到这里的大噶带来一个好消息——清华计算机学院自研的深度学习框架“计图”已经于近日开源啦!

其多项任务性能超过目前主流深度学习框架PyTorch,在机器视觉任务上性能甚至提高10%-50%,大家也可以去尝鲜啦!





深度学习之神经网络算法介绍

浙大统计学人


文案:孙张诚

排版:林子跃

以上是关于深度学习之神经网络算法介绍的主要内容,如果未能解决你的问题,请参考以下文章

深度学习 | 简析深度学习和神经网络算法的基本思路

深度学习中的优化算法之Adadelta

深度学习神经网络介绍

深度学习中的优化算法之RMSProp

机器学习与网络安全书籍5神经网络与深度学习

深度学习中的优化算法之Nadam