激励函数的种类实在很多,应用的场景也各不相同,比较常见的除了上面提到的Sigmoid函数外,还有多用于RNN(循环神经网络)的Tanh函数,大部分用于CNN(卷积神经网络)的ReLU函数,以及Linear函数等。 在这里就不一一列举他们的公式和函数图像了,总之每个激励函数都有自己的“个性”(特性),根据不同的算法模型和应用场景,会搭配使用不同的激励函数,当然最终的目的只有一个,就是让算法模型收敛的越快,拟合的越好 二、神经网络 1.神经网络的构成 神经网络,其实就是多个神经元横向与纵向的堆叠,最为简单和基础的神经网络可以用下图来表示 通常分为以下三层: 输入层:负责直接接受输入的向量,通常情况下不对数据做处理,也不计入神经网络的层数。 隐含层:是整个神经网络最为重要的部分,它可以是一层,也可是N层,隐含层的每个神经元都会对数据进行处理。 输出层:用来输出整个网络处理的值,这个值可能是一个分类向量值,也可能是一个类似线性回归那样产生的连续的值。 2.神经网络工作流程 初步的理解,神经元就是通过图中首尾相连的方式进行连接并实现数据传递,上一个神经元的输出,会成为下一层神经元的输入。对于一个x向量中的任意一个维度的分量,都会在整个神经网络进行一层一层地处理。 神经网络的厉害之处就在于,我们可以调节神经网络的层数,网络的拓扑结构以及神经元的参数,去改变对一个输入向量x的不同数学维度上的处理方式,进而达成不同的训练目的。这也是后来像DNN、RNN、CNN成为当下人工智能炙手可热的一大原因。(其实DNN,但从结构上来说,可以简单理解为层数的增加,进而带来对特征的提取和抽象能力的增强) 当然,随着网络层数的增加,拓扑结构的复杂,随之而来也会带来整个神经网络的副作用和难题,比如容易陷入局部最优解,梯度消失严重等问题。这也是后续需要探讨和深化了解的东西。 (责任编辑:admin) |