机器学习是一个使用统计学和计算机科学原理来创建统计模型的研究领域,用于执行诸如预测和推理之类的主要任务。这些模型是给定系统的输入和输出之间的数学关系集。学习过程是估计模型参数的过程,以便模型可以执行指定的任务。学习过程会尝试使机器具有学习能力,而无需进行显式编程。这是ANN的作用。
什么是人工神经网络?
典型的人工神经网络(ANN)是受人脑工作启发而设计的受生物启发的计算机程序。这些ANN称为网络,因为它们由不同的功能组成,这些功能通过使用过去称为训练示例的经验来检测数据中的关系和模式来收集知识。数据中的学习模式通过适当的激活函数进行修改,并作为神经元的输出呈现,如下图所示:
典型的受生物启发的神经元
什么是激活函数?在神经网络模型中怎么使用?
激活函数是神经网络中用于计算输入和偏差的加权和的函数,用于确定神经元是否可以释放。它通常通过梯度下降法的某种梯度处理来操纵数据,然后产生神经网络的输出,该输出包含数据中的参数。有时这些激活函数通常称为传递函数。
激活函数具有改善数据学习模式的能力,从而实现了特征检测过程的自动化,并证明它们在神经网络的隐藏层中的使用合理性,并且对于跨领域进行分类很有用。
激活函数可以是线性的,也可以是非线性的,具体取决于它所代表的功能,并用于控制我们的神经网络的输出,其范围从对象识别和分类到语音识别,分段等更多领域。
激活函数如何修改线性模型使用的学习模式?
对于线性模型,在大多数情况下,通过隐式变换可以给出输入函数到输出的线性映射,如在每个标签的最终评分最终预测之前在隐藏层中执行的那样。输入向量x转换由下式给出:
其中x =输入,w =权重,b =偏差。
此外,神经网络从等式1.1的映射生成线性结果,因此需要激活函数,首先将这些线性输出转换为非线性输出以进行进一步计算,尤其是学习模式。这些模型的输出如下:
每层的这些输出都将导入多层网络(如深度神经网络)的下一个后续层,直到获得最终输出为止,但默认情况下它们是线性的。预期的输出确定要在给定网络中部署的激活功能的类型。但是,由于输出本质上是线性的,因此需要非线性激活函数才能将这些线性输入转换为非线性输出。这些激活函数是传递函数,可应用于线性模型的输出以生成转换后的非线性输出,以备进一步处理。应用AF后的非线性输出如下:
其中α是激活函数
那么激活函数有什么需求?
对这些激活函数的需求包括将线性输入转换为非线性输出,这有助于更深层网络学习高阶多项式。非线性激活函数的一个特殊属性是它们是可微的,否则它们在深度神经网络的反向传播期间将无法工作。深度神经网络是具有多个隐藏层和一个输出层的神经网络。了解多个隐藏层和输出层的构成是我们的目标。下方显示了深度学习模型的框图,该框图显示了构成基于DL的系统的三层,其中有些标出了激活函数的位置,这些函数由各个模块中的深色阴影区域表示。
基于DL的系统模型的框图,显示了激活功能
输入层接受用于训练神经网络的数据,该数据有来自图像,视频,文本,语音,声音或数字数据的各种格式,而隐藏层则主要由卷积和池化层组成,其中卷积层从图像中以阵列状形式处理前一层数据中的模式和特征,而池化层将相似特征合并为一个。输出层显示网络结果,这些结果通常由激活函数控制,尤其是分类或预测的相关的概率。
激活函数在网络结构中发挥的功能取决于其在网络中的位置,因此,将激活函数放置在隐藏层之后时,它将学习到的线性映射转换为非线性形式以便传播,而在输出层中则执行预测功能。
只是永远记住要做:
“输入乘以权重,添加偏差并激活”
激活函数的类型及其分析
本节重点介绍了激活函数的不同类型及其分析:
- Sigmoid函数
Sigmoid有时被称为逻辑函数。Sigmoid是非线性激活函数,主要用于前馈神经网络。它是一个有界的可微分实函数,为实数输入值定义,到处都有正导数,并具有一定程度的平滑度。
Sigmoid函数由以下关系给出:
Sigmoid出现在深度学习架构的输出层中,它们可用于预测基于概率的输出,并已成功应用于二分类问题,建模逻辑回归任务以及其他神经网络领域。
Sigmoid激活函数的主要缺点包括反向传播期间从较深的隐藏层到输入层的尖锐阻尼梯度,梯度饱和,收敛缓慢和非零的中心输出,从而导致梯度更新沿不同方向传播。