深度学习中常见的激活函数

前文介绍

我们在前面了解到了线性回归模型,其实我们可以把线性回归看成一个单个的神经元,它实际上就完成了两个步骤
1.对输入的特征的加权求和
2.将结果通过传递函数(或者激活函数)输出

这里我们提到了传递函数(或者激活函数),我们从线性回归的模型中可以看出,在回归问题上,输出并没有做激活,仅仅是直接输出

单个神将元所完成的任务就是对所有输入的特征乘以权重(w)、加上偏置(b)。例如有3个特征,分别为x1,x2,x3,那么线性回归模型所做的就是对这些输入特征乘以权重(w),加上偏置(b),使用激活函数激活后,然后输出
输出=激活函数(w1*x1+w2*x2+w3*x3+b)

激活函数

激活为了模拟生物大脑中神经元的工作原理,大脑中神经元会对接收到的信号进行考察,如果此信号满足一定条件,神经元才会将信号往下输出,繁殖就不往下传递了。激活函数的作用也类似,激活会为网络带来非线性,使得网络可以拟合非线性问题等更多复杂问题,大大增强了网络的拟合能力。

神经网络的作用有哪些呢

引入非线性关系:神经网络中的每一层都是由线性变换和激活函数组成的,激活函数的非线性特性使得神经网络能够学习和表示更为复杂的函数关系。

解决梯度消失问题:在深度神经网络中,梯度消失问题是一个普遍存在的问题。激活函数的非线性特性可以使得梯度在反向传播时更容易传递,从而缓解梯度消失问题。

去除对称性:在神经网络中,如果所有的神经元都使用相同的激活函数,那么神经网络会出现对称性的问题。而使用不同的激活函数可以打破对称性,使得神经网络可以更好地学习和表示不同的特征。

控制输出范围:有些激活函数可以控制输出的范围,例如sigmoid函数可以将输出限制在0到1之间,tanh函数可以将输出限制在-1到1之间。这些函数可以使得神经网络更加稳定和鲁棒。

模块导入

import torch
import numpy as np
import matplotlib.pyplot as plt
from torch import nn

ReLU激活函数

ReLU也叫修正线性单元,是目前应用最多的一个激活函数,在当前大部分模型中,都是用ReLU函数作为激活函数,其公式如下

f(x)=max(x,0)

ReLU激活函数的特点是,如果输入是大于0的,将其往后传递,反之则输出0,ReLU激活函数在实际应用中几乎是当前最受欢迎的激活函数,它是大多数神经网络的默认选择,在PyTorch中有内置的torch.relu()方法用来实现ReLU激活。

input=torch.randn(2)  # 生成随机数input
print(input)
output=torch.relu(input) #对输入激活得到输出
print(output)

绘图展示
x = np.linspace(-5, 5, 100)
y = np.maximum(0, x)

plt.plot(x, y)
plt.title('ReLU Activation Function')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.grid(True)
plt.show()

Sigmoid激活函数

sigmoid函数的输出可以认为是一个是或者否的概率值,常用来解决二分类问题

input=torch.randn(2)
print(input)
output=torch.sigmoid(input)
print(output)
number=-1
for i in output:
    number+=1
    if i>0.5:
        output[number]=1
    else:
        output[number]=0        
print(output)
绘图展示
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

x = np.linspace(-5, 5, 100)
y = sigmoid(x)

plt.plot(x, y)
plt.title('Sigmoid Activation Function')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.grid(True)
plt.show()

Tanh函数

其中心位置是0,其输出为(-1,1)。Tanh激活函数的一个常见的使用场景是对生成模型的输出做激活,从而使得输出规范为(-1,1)。PyTorch的内置函数torch.tanh()用来实现双曲正切激活函数

绘图展示
input=np.linspace(-6, 6,100)
input_tensor=torch.from_numpy(input)
output=torch.tanh(input_tensor)
output_numpy=output.numpy()
plt.plot(input,output_numpy)
plt.title('Tanh')
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.show()

LeakyReLU激活函数

input=np.linspace(-6,6,100)
input_tensor=torch.tensor(input)
m=nn.LeakyReLU(0) # 初始化LeakyReLU,参数表示负轴部分的斜率
output=m(input_tensor)
output_numpy=output.numpy()

plt.plot(input,output_numpy)
plt.title('LeakyReLU')
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/254769.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何本地搭建Zblog网站并通过内网穿透将个人博客发布到公网

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站…

简单搭建一个Python自动化测试框架

1. 安装Python 首先需要安装Python,可以从官网下载对应的版本。安装完成后,可以在终端中输入python来检查是否安装成功。 2. 安装pip pip是Python的包管理工具,用于安装和管理Python模块。可以在终端中输入以下命令来安装pip: …

法大大邀业内大咖剖析汽车名企数智化实战路径

法大大发布中国首部《汽车行业合同数智化白皮书》,聚焦趋势,解读行业数字化转型攻坚战的破局之道;深入内部,剖析名企数字化的探索实践。 长安汽车、蔚来汽车、上汽大通、 东风汽车集团、奥托立夫、长城滨银汽金… 一众名企高层…

LiteClient工具箱:降低成本,减少监管风险

​​发表时间:2023年9月14日 BSV区块链协会的工程团队一直在为即将推出的LiteClient而努力工作,这是一套模块化的组件,可使简易支付验证(SPV)变得更加便利。 借助LiteClient工具箱,交易所可以通过区块头中…

数字化医疗新篇章:构建智能医保支付购药系统

在迎接数字化医疗时代的挑战和机遇中,智能医保支付购药系统的建设显得尤为重要。本文将深入介绍如何通过先进的技术实现,构建一套智能、高效的医保支付购药系统,为全面建设健康中国贡献力量。 1. 引言 随着医疗科技的飞速发展,…

node加密集合(前端加密、后台解密)

文章目录 一、crypto 加解密生成私密钥公钥加密(也可私钥加密)私钥解密(也可公钥解密) 二、node-rsa加解密生成公私秘钥使用公钥加密(也可私钥加密)使用私钥解密(也可公钥解密) 三、…

KSP音频抓包

1. 按照网上其他教程&#xff0c;安装KSP抓音频 Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;38&#xff09;-- KSP in MDE - 大大通(简体站) Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;22&#xff09;--DSP音频链路监听 - 大大通(简体站) <<Biu~笔记&#xff1a;高…

使用java调用python批处理将pdf转为图片

你可以使用Java中的ProcessBuilder来调用Python脚本&#xff0c;并将PDF转换为图片。以下是一个简单的Java代码示例&#xff0c;假设你的Python脚本名为pdf2img.py&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

虚拟展会展览如何搭建,虚拟展会展览有哪些优势

引言&#xff1a; 随着科技的不断进步&#xff0c;虚拟展会展览正逐渐成为企业推广和交流的新方式。那么虚拟展会展览应该如何搭建&#xff0c;虚拟展会展览又能带来哪些好处呢&#xff1f; 一.什么是虚拟展会展览 虚拟展会展览是一种通过网络平台进行的展览&#xff0c;与传…

做PPT必须知道这5个PPT模板网站

做PPT千万不能错过这5个网站&#xff0c;免费下载&#xff0c;各种类型风格很齐全&#xff0c;建议收藏起来。 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYxMjky 菜鸟图库素材非常齐全&#xff0c;设计、办公、图片、视频等素材这里都能找到&#xf…

面试算法58:日程表

题目 请实现一个类型MyCalendar用来记录自己的日程安排&#xff0c;该类型用方法book&#xff08;int start&#xff0c;int end&#xff09;在日程表中添加一个时间区域为[start&#xff0c;end&#xff09;的事项&#xff08;这是一个半开半闭区间&#xff09;。如果[start&…

云原生之深入解析Kubernetes本地持久化存储方案OpenEBS LocalPV的最佳实践

一、K8s 本地存储 K8s 支持多达 20 种类型的持久化存储&#xff0c;如常见的 CephFS 、Glusterfs 等&#xff0c;不过这些大都是分布式存储&#xff0c;随着社区的发展&#xff0c;越来越多的用户期望将 K8s 集群中工作节点上挂载的数据盘利用起来&#xff0c;于是就有了 loca…

Prometheus全面学习教程

一、Prometheus概述 1、Prometheus介绍 Prometheus 是一个开源的服务监控系统和时序数据库&#xff0c;其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据&…

基于单片机的视力保护及身姿矫正器设计(论文+源码)

1. 系统设计 在本次设计中&#xff0c;其系统整个框图如图2-1所示。其主要的核心控制模块由超声波模块&#xff0c;光敏电阻&#xff0c;按键模块&#xff0c;复位电路&#xff0c;红外模块&#xff0c;LCD显示等组成。其包括自动模式&#xff0c;手动模式。自动模式&#xff…

代码随想录第三十四天(一刷C语言)|不同路径不同路径II

创作目的&#xff1a;为了方便自己后续复习重点&#xff0c;以及养成写博客的习惯。 一、不同路径 思路&#xff1a;参考carl文档 机器人每次只能向下或者向右移动一步&#xff0c;机器人走过的路径可以抽象为一棵二叉树&#xff0c;叶子节点就是终点。 1、确定dp数组&#…

SwitchHosts - 管理、切换多个 hosts 方案的工具

一、hosts文件 简单的说&#xff0c;hosts文件是用于本地dns服务的&#xff0c;采用ip 域名的格式写在一个文本文件当中&#xff0c;Hosts是一个没有扩展名的系统文件&#xff0c;可以用记事本等工具打开&#xff0c;其作用就是将一些常用的网址域名与其对应的IP地址建立一个关…

Day63力扣打卡

打卡记录 寻找最近的回文数&#xff08;模拟&#xff09; 链接 class Solution:def nearestPalindromic(self, n: str) -> str:m len(n)candidates [10 ** (m - 1) - 1, 10 ** m 1]selfPrefix int(n[:(m 1) // 2])for x in range(selfPrefix - 1, selfPrefix 2):y …

JVM基础扫盲

什么是JVM JVM是Java设计者用于屏蔽多平台差异&#xff0c;基于操作系统之上的一个"小型虚拟机"&#xff0c;正是因为JVM的存在&#xff0c;使得Java应用程序运行时不需要关注底层操作系统的差异。使得Java程序编译只需编译一次&#xff0c;在任何操作系统都可以以相…

【【深入浅出了解IIC协议】】

深入浅出了解IIC协议 SCL &#xff1a; 传输时钟信号 SDA &#xff1a; 传输数据信号 1.空闲状态 &#xff1a; SDA 与 SCL都处于高电平 2.起始状态 &#xff1a; 在SCL为高的时候 主设备控制 SDA 从1 到 0 在进入起始位之后&#xff0c;我们把SCL翻转 从设备开始等待主机传…

【RTOS学习】源码分析(通用队列 队列 队列集)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《RTOS学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 前面本喵讲解了和任务相关的FreeRTOS源码&#xff0c;进行再来介绍一下用于任务间通信的几种数据结…