深度学习入门(四):激活函数与LSTM

激活函数

激活函数在神经网络中扮演着至关重要的角色。它们的主要功能是引入非线性因素,这使得神经网络能够学习和近似任何非线性函数,从而处理复杂的数据模式和决策边界。如果没有激活函数,即使网络拥有很多层,其表达能力仍然只限于线性函数,这大大限制了神经网络处理各种数据的能力。

激活函数的作用

  1. 引入非线性:激活函数使得神经网络可以处理非线性问题。在没有激活函数(或者说使用线性激活函数)的情况下,无论网络有多少层,输出仍是输入的线性组合。
  2. 帮助反向传播:在神经网络的训练过程中,激活函数的导数用于在反向传播算法中计算权重更新。如果没有可微的激活函数,这个优化过程将无法进行。

常见激活函数

  • Sigmoid:将输入压缩至0和1之间。它非常适合用作输出层在二分类问题中,表示概率或是是否。但它有明显的缺点,包括梯度消失问题和输出非零中心化问题。
  • ReLU (Rectified Linear Unit):提供了一个简单的非线性变换。如果输入为正则输出该值,否则输出0。ReLU 由于计算效率高且在正区间内梯度恒定,使其在实践中非常流行。然而,它也有缺点,比如“死亡ReLU”问题,即一些神经元可能永远不会激活,因为它们的输出总是0。
  • Tanh (Hyperbolic Tangent):输出范围从-1到1,比sigmoid函数的形状更平滑,也是零中心的,这使得数据在模型的每一层中保持稳定。然而,它也会遇到梯度消失的问题。

激活对于非线性模型的函数生成

激活函数是生成非线性模型函数的关键组成部分。通过堆叠包含非线性激活函数的层,神经网络能够构建复杂的函数映射,这些映射可以捕获输入数据中的高度非线性关系。这使得神经网络可以在各种任务中,如图像识别、语音处理或任何其他需要非线性决策边界的领域,表现出色。


LSTM与激活函数

LSTM(长短期记忆网络)的工作机制包含了内部的激活函数,这些激活函数在门控机制中起到了关键作用,而全连接层(Dense layer)通常需要额外的激活函数来引入非线性,使得网络可以学习更复杂的函数。

LSTM层的激活函数

LSTM单元的设计包括三个主要的门控机制:遗忘门、输入门和输出门。每个门控机制的计算都涉及到激活函数:

  1. 遗忘门(Forget Gate):决定了哪些信息应该被遗忘或保留。这通常通过一个sigmoid函数实现,sigmoid函数输出一个0到1之间的数值,表示保留信息的比例

  2. 输入门(Input Gate):确定新输入数据中的哪些信息是值得保留的。它同样使用sigmoid函数来决定保留哪些信息,以及一个tanh函数来创建一个候选值向量,这个向量会被加入到细胞状态

  3. 输出门(Output Gate):决定下一个隐藏状态应该包含哪些信息。这个门控同样依赖于sigmoid函数来决定输出哪些信息,以及一个tanh函数来处理细胞状态,使其能够影响输出。

Dense层的激活函数

与LSTM层不同,Dense层或全连接层通常只是执行线性变换(即 Wx+bWx + bWx+b 形式的变换),并不自带如LSTM中那样的复杂结构和门控机制。因此,为了引入必要的非线性并使网络能够学习更复杂的模式,我们需要在Dense层后添加激活函数。

为什么需要这些激活函数?

  • 在LSTM中:激活函数是内置在门控机制中的,它们帮助模型决定信息的流动(保留或忘记哪些信息),这对于捕捉时间序列数据中的长期依赖至关重要。
  • 在Dense层中:激活函数使得层可以进行非线性变换,增强了网络的表示能力,使其可以适用于各种复杂的任务,如分类、回归等。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

write_sdc和write_script区别

文章目录 一、set_disable_clock_gating_check二、write_sdc和write_script区别1. write_sdc2. write_script 一、set_disable_clock_gating_check set_disable_clock_gating_check对指定的cell/pin/lib_cell/lib_pin设置是否进行clock gating的时序检查。 对于工具插入或者…

多模态大语言模型的免训练视觉提示学习 ControlMLLM

ControlMLLM: Training-Free Visual Prompt Learning for Multimodal Large Language Models github paper 在本研究中,提出了一种无需进行训练的方法,通过可学习的潜变量优化将视觉提示注入到多模态大型语言模型(MLLMs)中。 在…

本地Linux服务器创建我的世界MC私服并实现与好友异地远程联机游戏

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 前言 本…

ttwid、x-bogus、a-bogus、msToken、byted_acrawler等直播参数说明和获取方式

可以参考开源项目:https://github.com/Sjj1024/douyin-live 桌面端的直播间项目:https://github.com/Sjj1024/LiveBox ttwid参数 ttwid类似客户端id,即便是游客模式,也可以对页面数据进行埋点统计,通过收集ttwid下的…

java10-集合框架

1. 集合的简介 1.1什么是集合 集合Collection,也是一个数据容器,类似于数组,但是和数组是不一样的。集合是一个可变的容器,可以随时向集合中添加元素,也可以随时从集合中删除元素。另外,集合还提供了若干个…

Java设计模式(桥接模式)

定义 将抽象部分与它的实现部分解耦,使得两者都能够独立变化。 角色 抽象类(Abstraction):定义抽象类,并包含一个对实现化对象的引用。 扩充抽象类(RefinedAbstraction):是抽象化角…

搭建基于树莓派的Linux学习环境(TODO)

主要是想学一下Linux内核,所以搭一套环境,其实有几个选择,好几个都是我买了板子的。 首先是正点原子的RK3568,最早是想弄安卓,但是SDK的大小真的把我劝退了,动不动几百个G的空间,还有就是保底1…

Mac OS平台,利用 gifify 制作gif教程

一、前言 在很多时候都会用到视频的方式才能直观的表达想表达的东西, 但是视频的文件太大了,所以gif是一个很不错的选择,在网上找了很多免费的都不好用, 最理想的还是直接快捷键唤起,然后选择录制区域,保存…

第128天:内网安全-横向移动IPCATSC 命令Impacket 套件CS 插件全自动

环境部署 案例一: 域横向移动-IPC-命令版-at&schtasks 首先是通过外网web访问到win2008,获得了win2008的权限,这一步不做演示 因为里面的主机都不出网,所以只能利用win2008进行正向或者反向连接 信息收集 域内用户信息&…

【Qt】图形化和纯代码实现Hello world的比较

本篇文章使用俩种方式实现Qt上的Hello world: 通过图形化的方式,在界面上创建出一个控件,显式Hello world通过纯代码的方式,通过编写代码,在界面上创建控件,显示Hello world 图形化方式 双击Forms文件中的…

修改SpringBoot启动图标banner

方式一: 将图标文件命名为banner放在resources目录下 文本文件banner 图片banner 方式二:通过配置文件指定图标路径 指定文本图标:spring.banner.locationclasspath:相对于resources下的位置 ("classpath:"可以省略) 指定图片作为图标: sprin…

同态加密和SEAL库的介绍(一)简介

写在前面: 最近在做同态相关的内容,这里记录下相关的知识点和所踩过的坑,希望对大家有帮助。预计分几篇来详细介绍,从概念简介到不同模式介绍,具体包括了每种模式的编解码和加解密以及他们性能的比对。 虽然同…

win11启动IIS服务配置成web服务器·

为什么要将本地配置为 Web 服务器? 在 Web 开发过程中,将本地配置为 Web 服务器有诸多好处: 实时预览: 修改代码后,无需每次都上传到远程服务器,即可在本地浏览器中实时查看效果。 离线开发: 无需依赖网络连接&#x…

R9000P 双系统安装 win11 和 ubuntu

网上了解到一堆关于 r9000p 安装较老的ubuntu系统,会有一堆问题 可能是电脑硬件比较新,较老的系统相关方面不兼容 那么干脆直接装新一点的系统 我安装了 Ubuntu 22.04 1 根据相关教程利用u盘制作系统盘 ultraISO 推荐使用清华源 速度快一点 https://…

AI资本泡沫要来了么?——Coatue EMW 2024会议摘要

引言 随着生成式人工智能的快速发展,科技领域正经历着一场前所未有的变革。然而,伴随这一热潮而来的,是关于AI资本泡沫的激烈讨论。历史上,每一次技术革命都带来了巨大机遇,同时也伴随着泡沫和风险。本文将通过Coatue…

企业级敏捷框架:业务驱动型敏捷与产品需求团队

本文介绍了一种新的企业级敏捷框架——业务驱动型敏捷(Business-driven Agile)与 PRT(Product Requirement Team),旨在解决传统敏捷方法中需求定义的瓶颈,从而提升产品价值并提高开发效率。原文: A new ent…

2024年史上最好用的10款项目管理软件有哪些?

项目管理行业发展趋势 随着信息技术的不断进步,项目管理也呈现出愈加智能化、自动化的发展趋势。无论是大型企业还是中小型公司,都亟需借助先进的项目管理工具,来实现对项目进度、资源、风险等各个环节的精细化管控。 然而在实际应用中&…

Git合并多笔提交为一笔

Git合并多笔提交为一笔 1. 背景 在实际项目开发中,我们会基于生产分支拉出很多需求分支,在需求分支开发完成后再将代码合到生产分支,但随着提交次数越来越多,我们在合到生产分支的时候就得一笔一笔的入库,特别麻烦&a…

Nacos-配置中心

1.为什么要使用配置中心&#xff1f; 2.常用的配置中心组件&#xff1f; 3.如何使用&#xff1f; 在配置中心创建配置文件 启动一个单列的nacos服务 点击发布 在微服务中使用 添加依赖 <!--nacso配置中心的依赖--><dependency><groupId>com.alibaba.cloud&l…

安卓Termux系统设备安装内网穿透工具实现远程使用SFTP传输文件

文章目录 前言1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 前言 本教程主要介绍如何在安卓 Termux 系统中使用 SFTP 文件传输&#xff0c;并结合cpolar内网穿透工具生成公网地址&#xff0c;轻松实现无公网IP环境远程传输&#xf…