当前位置 : 主页 > 网络编程 > 其它编程 >

P13PyTorch激活函数1

来源:互联网 收集:自由互联 发布时间:2023-07-02
前言1959年生物学家对青蛙神经元synapse)机制的研究发现了基本结构,当多个输入的时候,输出并不是线性的,而是通过激活函数非线 前言 1959年生物学家对青蛙神经元synapse)机制的研究发现了
前言1959年生物学家对青蛙神经元synapse)机制的研究发现了基本结构,当多个输入的时候,输出并不是线性的,而是通过激活函数非线

前言

1959年生物学家对青蛙神经元synapse)机制的研究发现了基本结构,

当多个输入的时候,输出并不是线性的,而是通过激活函数非线性输出.这里

重点研究一些常见的激活函数.

目录

1 sigmod

2: tanh

3: relu


一 sigmod

该激活函数在机器学习classfication 里面应用比较多

定义

导数

( x 为标量

问题

1 当x 特别大,或者特别小的时候,梯度接近为0,导致梯度弥散现象参数无法更新

2 梯度较小m,当网络层次叫声的时候,会导致梯度消失.

当x 为向量时候

梯度

是一个对角矩阵

其中 代表逐元素求导为向量.

在反向传播算法中,乘以一个向量通常表示成内哈马达乘积


二 tanh 函数

该激活函数在RNN 里面应用比较多

定义

导数


三 RLU 函数

在深度学习中应用最广的激活函数之一.

定义

导数

# -*- coding: utf-8 -*-"""Created on Wed Jan 11 17:18:22 2023author: chengxf2"""import torchimport matplotlib.pyplot as pltfrom torch.nn import function as Fdef tanh():a torch.linspace(-1, 1,10)b torch.tanh(a)plt.plot(a,b,go--)plt.show()神经元synapsedef sigmoid():a torch.linspace(-100, 100,100)b torch.sigmoid(a)plt.plot(a,b,go--)plt.show()def relc():a torch.linspace(-1, 1,10)b torch.relu(a)plt.plot(a,b,go--)plt.show()if __name__ "__main__":sigmoid()

网友评论