它与Sigmoid函数相似,唯一的不同是softmax函数输出结果是归一化的。sigmoid函数能够在双输出的时候奏效,但当面对多种类分类问题的时候,softmax函数可以方便地直接将各个分类出现的概率算出。 (5) 神经网络 神经网络是构成深度学习系统的框架。神经网络的任务是找到一个未知函数的近似表达方式,它是由彼此相连的神经元所组成,这些神经元会在训练网络的过程中根据误差来更改它们的权重和偏置。激活函数将非线性变化用线性变化的组合来表示,最终产生输出。 关于神经网络最好的定义是由Matthew Mayo给出的: 神经网络是由大量彼此相连、概念化的人造神经元组成的,这些神经元彼此之间传递着数据,相应的权重也会随着神经网络的经历而进行调整。神经元们有着激活的阈值,当它们遇到相应的数据以及权重时会被激活,这些被激活的神经元组合起来导致了“学习”行为的产生。 (6) 输入层/输出层/隐藏层 从名字中就能看出,输入层代表接受输入数据的一层,基本上是网络的第一层;输出层是产生输出的一层,或者是网络的最后一层,而网络中间的处理层叫做隐藏层。 这些隐藏层对输入的数据进行特定的处理,再将其输入到下一层。输入层和输出层是可见的,而中间层通常是被隐藏起来的。 △来源:cs231n (7) 多层感知器(MLP-Multi Layer Perceptron) 一个单一的神经元不能够完成复杂的任务,因此需要将它们堆叠起来工作进而产生有用的输出。 最简单的神经网络包括一个输入层、一个隐藏层和一个输出层。每一层都由多个神经元组成,每一层的每个神经元都与下一层中的所有神经元相连。这样的网络可以被称为是全连接网络。 (8) 正向传播(forward propagation) 正向传播是指信号从输入层经过隐藏层到输出层的传输过程。在正向传播中,信号是沿着单一方向进行传播,即输入层给隐藏层提供输入,进而最终产生相应的输出。 (9) 成本函数(cost function) 在神经网络的建造过程中,建造者们希望输出的结果能够尽可能地接近实际值,因此使用成本函数来描述网络的这种准确性。 神经网络的目标是增加预测的准确性从而减少误差,即最小化成本函数。通常情况下,最优化的输出结果往往对应着成本函数的最小值。 如果采用均方误差作为成本误差,即表示为C= 1/m ∑(y – a)2,其中m是训练过程中输入数据的个数,a是相应的预测值,y代表实际值。 模型学习的过程就是围绕着最小化成本而进行的。 (10) 梯度下降(gradient descent) 梯度下降是一种最小化成本函数的优化算法。 在梯度下降中,从起始点x开始,一次移动一点,比如说移动delta h,然后将位置信息更换为x-delta h,如此重复下去,直到达到局部的极小值,此时认为极小值就是成本最小的地方。 数学上说,沿着函数的负梯度运动就能得到函数的局域最小值。 (11) 学习速率(learning rate) 学习速率定义为在每次迭代过程中对成本函数的最小化次数。简单来说,学习速率就是指朝着成本函数最小值的下降速率。选择学习速率需要很谨慎,过大会导致可能越过最优解,过小会导致收敛花费太多的时间。 (12) 反向传播(back propagation) 在定义一个神经网络的过程中, 每个节点会被随机地分配权重和偏置。一次迭代后,我们可以根据产生的结果计算出整个网络的偏差,然后用偏差结合成本函数的梯度,对权重因子进行相应的调整,使得下次迭代的过程中偏差变小。这样一个结合成本函数的梯度来调整权重因子的过程就叫做反向传播。 在反向传播中,信号的传递方向是朝后的,误差连同成本函数的梯度从输出层沿着隐藏层传播,同时伴随着对权重因子的调整。 (13) 分批(Batches) (责任编辑:本港台直播) |