基于TensorFlow 2.0 的神经网络图像识别技术学习笔记(基础概念篇)

模式识别即模式分类,这里将识别分类过程运用术语进行总结概括,可以先一睹为快!

神经网络识别术语总结

网络结构
层数(layer) 增加权重的次数
激活函数(activation) 输入到输出的表现形式
权值(weight) 斜率
阈值(bias) 截距
学习训练过程
训练样本对(train) 有监督学习,含输入输出构成一个样本对
损失函数(loss) 评价找到的权值和阈值是否合适
优化器(optimizer) 根据求损失函数的最小值,来计算权值和阈值的寻优计算方法,例如梯度下降法
轮数(epoch) 对数量有限的全部样本进行多轮训练
批次(batch) 为减少权值调节的震荡,每加一批样本求输出权值的平均值,来计算一次误差和权值更新
更新次数(iteration) =全部样本数/batch_size

下面是对神经网络的模式识别技术进行较为详细的描述。

  •          神经元的工作原理:

         由图1,神经元树突接收来自其他神经元传来的刺激,这些刺激都加到细胞核上,等刺激达到了一定的阈值后,该神经元细胞核产生输出,输出经过轴突发到神经末梢,也就是突触,再通过突触发到其他神经元的树突,完成工作,图2动图可更清晰理解。

图1 神经元模型示意图       

图2 “放电”示意图(来源:gfycat.com/action potential)

         所以模仿着神经元创建人工神经元,1963年心理学家McCulloch和数学家W.Pitts在分析总结神经元基本特性的基础上首先提出的M-P模型如图3,即人工神经元模型。x为输入,各输入加权求和,与阈值比较(和神经元一样),若超过阈值将比较结果输出。

图3 M-P模型(来源:www.cnblogs.com/rongguohao/p/10996488.html)

           由图3可以将人工神经元的输入、输出关系描述为:

            1. 输出形式

                输出有很多种形式,其中最简单的就是阶跃响应,当输入大于零,即加权求和大于阈值时,会产生输出‘1’,否则输出‘0’。如果用在图像识别上就是两类,‘1’是一类,‘0’是一类。更多输出函数及图像具体内容如图4。

                从加权求和再跟阈值比较之后,再到输出有很多种形式,这种从输入到输出的很多种形式,就叫做激活函数。在Tensorflow 2.0的Keras神经网络模型中的激活函数常用的有tanh、relu、sigmoid、softmax等,详细运用可见Keras layers API

 图4 人工神经元输出形式函数及图像

            2. 感知器

                最早的单个神经元构成的神经网络模型就叫感知器(Perceptron)。

                单层感知器:单个神经元输入,加权求和,与阈值比较,经过阶跃响应,产生输出。

                多层感知器:由多个神经元连接构成。这时输入输出的关系不一定是线性关系。如果激活函数不是阶跃响应也不是斜坡响应,而是sigmoid函数,sigmoid函数本身就是非线性,所以最后神经元连接起来后的表现肯定不是线性关系,而是某种非线性关系。

                所以神经网络是多层感知器,可以描绘某种非线性关系,单层感知器或单个神经元可以描绘某个线性关系。

                                       画图可得当线性方程x1>0时,直线上方是一类,当线性方程x1<0时,直线下方是一类。

                                       所以要找线性分类器,就是找一个线性方程(如上),能够将这两类分开,就是找权值阈值。也就是说一类数据找合适的权值和阈值,使得神经网络能够描绘出这样一种形状,恰好可以把两边分开。

                                       虽然很多时候是非线性分类器,但不管是找线性分类器还是非线性分类器,实际上就是找权值阈值。

                 综上所述,学习神经网络,就是去找合适的权值和阈值。

             3. 代价函数

                 合适的权值和阈值也有可能找不到,即训练不成功。为了找到合适的,定义了准则函数,也可以叫做代价函数(loss)

                 定义代价函数,用的是当前模型的计算输出和样本的实际输出,即有监督训练,即往神经网络里加样本(训练样本,带输入输出),会有个输出,即当前神经网络的计算输出,将此与训练样本的实际输出比较,会产生一个误差——代价函数,也叫损失函数。判断是否“合适”,误差越小,说明计算输出和实际输出越接近,建立的神经网络越合适,得到的权值和阈值就越合适。

             4. 优化器

                 优化器(Optimizer):找一个合适的神经网络的问题就变成了求误差最小值问题,这是个数学问题,即为当误差最小的情况下权值和阈值的值为多少的寻优过程。寻优过程有很多种计算方法,最常见的是梯度下降法。

持续更新中....... 

                最后一句,所谓调参就是试凑!

运用神经网络模型实现采用Tensorflow2.0中Keras程序,有关详细内容请参见➡

        使用Keras构建神经网络图像识别模型 - 哦呦aholic - 博客园 (cnblogs.com)

posted @ 2021-10-31 17:37  哦呦aholic  阅读(538)  评论(0编辑  收藏  举报