首先介绍一些专业名词
FC 全连接 也就是前面全部神经元输出的作为后面每一个神经元的所有输入
DNN 深度神经网络 是最基本的网络
CNN 卷积神经网络 普遍用于视觉方面的
RNN 循环神经网络 普遍用于标签有顺序 标签顺序有关系的 比如翻译 语义等等
SGD 梯度下降的一种算法
神经网络里面最小单元是神经元 每一个神经元相当于是将前面传来的信息进行处理然后传输给下一个神经元
在DNN中 一个基础神经元是这样的
包含几个部分 一个是线性运算 还有一个是非线性运算,如果只是线性运算是没办法去收敛一个非线性的模型,所以需要一个非线性运算,这个非线性运算又称做是激活函数
以下是常用的激活函数:后面会详细解说。
这一个就是由多个神经元组成的神经网络,输入层不作为神经元,不参与运算,所以下图是一个四层的全连接网络。
输入层是输入特征,假如波士顿房价:
那个input layer中,每一个输入就是 当前房子的面积 当前房子的户型 当前房子的楼层等等,可以有多个输入。
outputlayer就是输出一个,房价。
DNN是怎么工作的?分为三个步骤
首次先任意确定每一个神经元的w、b参数,进行一次正向传播,最后输出一个预测值,当前预测值和我们做好的标签值进行比对,得出一个loss函数,这个loss函数就是用来修改w、b参数的。
其次用这个loss函数来反向逆推,得出每一个神经元的偏导数,这个是用来计算到达最优进行收敛的方向
最后 根据学习率的大小和上一步的偏导数,修改权重和参数,然后继续重复整个步骤,直到找到最优的模型。
CNN的思路是和DNN差不多的,只不过是神经元的计算方式不一样,CNN是卷积神经网络,所以它的神经元是卷积核。
之前一直不理解为什么CNN可以做到将特征识别出来做图像处理,后来学习了一下才明白其中的道道。
CNN的过程就是卷积 激励 池化,为了提高速度,采用局部连接和权值共享
首先说一下:
卷积:卷积就是通过一个卷积核在图像不断滑动,