PyTorch学习笔记(8)–神经网络:非线性激活
本博文是PyTorch的学习笔记,第8次内容记录,主要介绍神经网络非线性激活函数的基本使用。
目录
1.非线性激活
1.1什么是非线性激活
如果神经元的输出是输入的线性函数,而线性函数之间的嵌套任然会得到线性函数。如果不加非线性函数处理,那么最终得到的仍然是线性函数。所以需要在神经网络中引入非线性激活函数。
1.2常见的非线性激活函数
常见的非线性激活函数主要包括Sigmoid函数、tanh函数、ReLU函数、Leaky ReLU函数,这几种非线性激活函数的介绍在博客神经网络中重要的概念(超参数、激活函数、损失函数、学习率等)中有详细说明。在PyTorch官网中有关于非线性激活函数的说明,入下所示:
2.非线性激活
2.1非线性激活函数相关参数
在PyTorch官网中,详细介绍了常见的非线性激活函数,以ReLU函数为例,有一个参数inplace,该参数作用在于是否将输入数据进行替换,inplace的取值是True或者False,当inplace=True时,将输入数据进行替换,当inplace=False时,输入数据不进行替换。如下图所示:
2.2非线性激活函数应用实例1–ReLU处理矩阵
现以ReLU函数处理矩阵内容为例,介绍非线性激活函数的使用方法。
ReLU函数的表达式如下所示: f ( x ) = { 0 x < = 0 x x > 0 f(x)=\left\{\begin{matrix} 0 & x<=0\\ x & x>0 \end{matrix}\right. f(x)={
<