要了解多次感知器,需要先了解以下几个概念
一、神经元
神经元是基本的信息操作和处理单位。它接收一组输入,将这组输入加权求和后,由激活函数计算该神经元的输出。
二、输入
一个神经元可以接收一组张量作为输入 x = {x₁,x₂,x₃,xn}ᵀ。
三、连续权值
连续权值向量为一组张量 W = {w₁,w₂,...,wn},其中 wi 对应输入 xi 的连续权值;
神经元将输入进行加权求和: ;
写成向量形式: s = Wx
四、偏置
有时候加权求和会加上一项常数项 b 作为偏置,其中张量 b 的形状要与Wx的形状保持一致:
s = Wx + b
五、激活函数
激活函数 f(·) 被施加到输入加权和 s 上,产生神经元的输出;
这里,若 s 大于 1 阶的张量,则 f(·) 被施加到 s 的每一个元素上: o = f(s)
常用的激活函数如下:
1、softmax
(1)softmax适用于多元分类问题,作用是将分别代表n个类的n个标量归一化,得到这n个类的概率分布:
(2)sigmoid通常为logistic函数,适用于二元分类问题,是softmax的二元版本:
2、tanh
tanh为logistic函数的变体:
3、ReLU
即修正线性单元(Rectified Linear Unit)。根据公式可知,ReLU具备引导适度稀疏的能力。
因为随机初始化的网络只有一半处于激活状态,并且不会像sigmoid那样出现梯度消失的问题。
六、输出
激活函数的输出 o 即神经元的输出。
一个神经元可以有多个输出 o₁,o₂,...,om,对应于不同的激活函数 f₁,f₂,...,fm。
七、神经网络
神经网络是一个有向图,
以神经元为顶点,
神经元的输入为顶点的入边,
神经元的输出为顶点的出边。
因此神经网络实际上是一个计算图,可直观地展示一系列对数据进行计算操作的过程。
神经网络是一个端到端(end-to-end)的系统。
这个系统接收一定形式的数据作为输入,经过系统内的一系列计算操作后,给出一定形式的数据作为输出;
由于神经网络的内部进行的各种操作与中间计算结果的意义通常难以直观地解释,因此系统内的运算可以被视为一个黑箱子,这与人类的认知在一定程度是具有相似性:人类总是可以接收外界的信息(视、听),并向外界输出一些信息(言、行),而医学界对信息输入大脑之后是如何处理的则知之甚少。
通常地,直观起见,人们对神经网络中的各顶点进行了层次划分,如图:
1、输入层
接收来自神经网络外部的数据的顶点,组成输入层。
2、输出层
向神经网络外部输出数据的顶点,组成输入层。
3、隐藏层
除了输入层和输出层的其他层,均为隐藏层。
八、训练
神经网络被预定义的部分是计算操作,而要使得输入数据通过这些操作之后得到预期的输出,则需要根据一些实际的例子,对神经网络内部的参数进行调整与修正。
这个调整与修正内部参数的过程称为训练,训练中使用的实际的例子称为训练样例。
九、监督训练
在监督训练中,训练样本包含神经网络的输入与预期输出,对于一个训练样本<X,Y>,将 X 输入神经网络,得到输出 Y '。
我们通过一定的标准,计算Y '与Y之间的训练误差,并将这种误差反馈给神经网络,以便神经网络调整连接权重及偏置。
十、非监督训练
在非监督训练中,训练样本仅包含神经网络的输入。
(非监督学习的知识点http://t.csdnimg.cn/D6xV8)