神经网络和深度学习(一)
——深度学习概述
(原创内容,转载请注明来源,谢谢)
一、监督学习与神经网络
监督学习可以在一些地方应用,包括房价预测、广告精准定位、图像识别、声音识别、翻译、图像定位等。当需求更复杂时,可以考虑用神经网络来使用,包括标准神经网络(standard neural network)、卷积神经网络(CNN,ConvolutionalNeural Network)、循环神经网络(RNN,Recurrent Neural Networks )、复合神经网络等。
二、各类NN
1、神经网络
神经网络包含输入层、输出层、隐藏层等,通过隐藏层的处理,得到输出的结果。其主要运用到BP算法来调优,即反向传播算法,不断的前向迭代得到结果,再反向传播纠正结果。
2、卷积神经网络
卷积神经网络是在BP神经网络的改进,与BP类似,都采用了前向传播计算输出值,反向传播调整权重和偏置。
CNN与标准的BP最大的不同是:CNN中相邻层之间的神经单元并不是全连接,而是部分连接,也就是某个神经单元的感知区域来自于上层的部分神经单元,而不是像BP那样与所有的神经单元相连接。
CNN的有三个重要的思想架构:局部区域感知;权重共享;空间或时间上的采样。
局部区域感知能够发现数据的一些局部特征,比如图片上的一个角,一段弧,这些基本特征是构成动物视觉的基础;而BP中,所有的像素点是一堆混乱的点,相互之间的关系没有被挖掘。
CNN的另一种图示方式:
3、循环神经网络
RNN是包含循环的网络,允许信息的持久化。循环可以使得信息可以从当前步传递到下一步,RNN可以被看做是同一神经网络的多次赋值,每个神经网络模块会把消息传递给下一个。链式的特征揭示了RNN本质上是与序列和列表相关的。他们是对于这类数据的最自然的神经网络架构。
关于RNN,还有更进一步的思想,叫做LSTM(long-shortterm memory)——长短期记忆网络,其是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。
三、深度学习优势
监督学习中,主要处理的数据类型有两种:结构化数据和非结构化数据。
结构化数据,就是类似数据库表的形式,指定一些特征值和一些结果。计算机一直以来都很擅长与处理这类内容。
非结构化数据,例如声音、图像、文字等,这些人类比较擅长识别,但是对于机器来说处理过程比较复杂。
复杂的过程意味着大量复杂的计算,深度学习相比普通的机器学习,有效解决此类问题。
四、深度学习兴起的原因
深度学习,并不是近期才有的概念,但是最近才开始火起来。主要原因有两个方面:一是数据量越来越大,导致原有的算法处理大量数据问题较多;二是大型神经网络的构建,使得有更好的算法来快速处理问题。
但是,对于数据量不大的情况,深度学习未必会比普通的机器学习算法快,反而有可能诸如SVM等算法效果更好。
五、神经网络与RELU
对于机器学习,无论是logistic回归、SVM还是浅层神经网络的BP算法等,很经常提到一个激活函数——sigmoid函数,y=1/(1+e-z),用于控制输出的值在0~1之间。另外还有类似tanh函数,可以控制输出的值在-1~1之间,其性质是一样的。如下图所示:
但是,这两个激活函数有个问题。例如sigmoid,在函数值趋于或者趋于1时,变换率非常小,则偏导数很小,优化起来速度会非常慢,不利于优化。
深度学习中,大量的神经元,需要大量的这种计算,因此用了一个改进的函数来作为激活函数,称为ReLU(rectified linear union),修正的先行单元,其小于某个值时都是,大于时会是线性增长,如下图所示:
多层神经网络,则分为输出层、隐藏层1、隐藏层2、输出层等,如下图所示:
六、总结
这是深度学习微专业的第一课,算是一个概述类的课程,对神经网络有个非常初步的了解,后面要开始深入的学习了。
——written by linhxx 2018.01.28
领取专属 10元无门槛券
私享最新 技术干货