2021/7/16 学习散射网络第一步-神经网络入门
Posted ViviranZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021/7/16 学习散射网络第一步-神经网络入门相关的知识,希望对你有一定的参考价值。
一个典型的神经网路-网络组成要素概述
首先来一个最basic也是最原始的网络结构,此处表示的是一个全连接网络。
红色框:input输入层,(卷积神经网络是三维的,包括正常图像的二维坐标和一个深度维度(目前理解为表示颜色,之后学习到再更新知识点)
绿色框:表示隐藏层,实际运算中计算的中间参数(不输出,是不是就是可解释人工智能focus的 、不知道有什么实际意义的“黑盒”?)(一般来说神经网路实际应用中有多层的隐藏层)
黄色线:表示输入层到隐藏层的线性函数,表示为
蓝色线:表示隐藏层到输出层的线性函数,表示为
绿色框中绿色圈圈到ReLU的运算:激活层
因为线性函数是最简单的、也是实际应用中最适合通过增高层数增加复杂度的工具,但是实际应用中无论加入多少层线性函数,实际上都可以以一个线性函数表示,因此只用线性函数的网络层数也就失去了意义,因此我们在每一个隐藏层计算线性函数之后增加一个激活层(ReLU层)
常见的激活层函数有:
0-1阶梯函数:;
sigmoid函数:;
ReLU函数:.
其中sigmoid因为计算复杂+当x的绝对值较大的时候会出现梯度消失现象,因此用的少,ReLU用的多
紫色框:输出层……
softmax:把输出的向量转化为概率(归一化/正规化):
交叉熵:这个单独讲。量化在训练过程中生成实际值与网络输出值的差距,也是训练网络过程中尽量减小的目标函数。具体公式为:
总结:
一句话复习一下:神经网络的传播都是形如Y=WX+b的矩阵运算;为了给矩阵运算加入非线性,需要在隐藏层中加入激活层;输出层结果需要经过Softmax层处理为概率值,并通过交叉熵损失来量化当前网络的优劣。
算出交叉熵损失后,就要开始反向传播了。其实反向传播就是一个参数优化的过程,优化对象就是网络中的所有W和b(因为其他所有参数都是确定的)。
交叉熵的前世今生
1.香农熵:
信息论上需要量化一组数据里的信息量,直观来看有这样几个条件:
a.“信息量”:对于随机变量而言,其取值是不确定的。在做随机试验之前,我们只了解各取值的概率分布,而做完随机试验后,我们就确切地知道了取值,不确定性完全消失。这样,通过随机试验我们获得了信息,且该信息的数量恰好等于随机变量的熵。在这个意义上,我们可以把熵作为信息的量度。
b. 通常我们认为一个事件发生概率越低,当它最终发生的时候得到的信息量就越大。就像“1+1=2”是极大概率发生的,即使真的出现也是司空见惯,俗话来说就是“物以稀为贵”。
在这两个条件的基础上,香农(Shannon)给出了一种量化数据的信息量的公式,针对随机变量X,其包含的信息量可表示为:
满足:一个事件发生概率越大其香农熵越小。这个公式表示的量被叫做香农熵。
Note:热力学、生物上常见的熵:表示系统的混乱程度,这个是有量纲的。香农熵表示系统的“未知程度”,公式形式和热力熵一样,但是香农熵是没量纲的。
2.KL-散度
从香农熵的基础上发展而来的KL-散度,用于刻画两种分布的差异;其表达式为:
可以看出,KL-散度不是对称的,也就是说
给一个实例:我们有一组关于得病和年龄的分布,我们想知道这个分布更符合均匀分布还是正态分布?我们用q(x)表示实际分布,p(x)表示我们假设的分布,计算其KL-散度,值更小的说明更符合。
3.交叉熵
由KL-散度的公式我们可以推得:
我们的交叉熵(cross entropy)就表示为:
也就是说,我们有:KL-散度=香农熵-交叉熵。实际上,交叉熵和KL-散度可以视为等价。
Note:常用的最小二乘法也可以用于优化使得分布和我们的数据尽量相似,但是实际上最小二乘法应用过程中开始收敛特别慢,因此不常用。
网络参数的训练(反向传播+参数优化)
网络的运行有两种,一是训练网络-通过已知对应输出的输入调整网络内部的参数,二是使用网络-运用带着训练好参数的网络计算未知输出的输入用于实际应用(很多时候实际上人类知道并用于检测网络的优劣)。我们首先研究训练网络——正向传播得到loss值,再反向传播优化参数的过程重复进行。
实际上,神经网络中需要优化(也最方便优化的)是线性函数中的和,应用的方法是梯度下降法,通俗来说就是尝试:参数增大点-交叉熵减小-再增大点-交叉熵增大-(证明走过了)回来点,所以熟悉的走到local最优的问题又来了= =
扯远了,这里我们先不考虑local和global的问题。
我们很自然想到梯度下降法……
关于变量的和、积、矩阵乘法、向量加法等的求导问题以及链式法则等不多加赘述……
正常来说,我们想到可以用的公式,(上升最快的方向的反方向走提前预设好的步长(官方叫做学习率,此处熟悉不赘述),优化还有一个思路:
其一,需要引入正则化惩罚项。这是为了避免最后求出的W过于集中所设置的项,比如[1/3,1/3,1/3]和[1,0,0],这两个结果明显前一个结果更为分散,也是我们更想要的。设正则化惩罚项的系数值为reg,那么修正后的dW可以写为:
接下来去看看CNN希望能看懂= =
参考:
神经网络15分钟入门!足够通俗易懂了吧https://zhuanlan.zhihu.com/p/65472471
神经网络15分钟入门!——反向传播到底是怎么传播的?https://zhuanlan.zhihu.com/p/66534632
交叉熵损失函数原理详解https://www.jianshu.com/p/43318a3dc715?isappinstalled=0
以上是关于2021/7/16 学习散射网络第一步-神经网络入门的主要内容,如果未能解决你的问题,请参考以下文章