当前位置: 首页 > news >正文

【淘汰9成NLP面试者的高频面题】LSTM中的tanh和sigmoid分别用在什么地方?为什么?

博客主页: [青松]

本文专栏: NLP 大模型百面百过


【淘汰9成NLP面试者的高频面题】LSTM中的tanh和sigmoid分别用在什么地方?为什么?

重要性:★★★ 💯

本题主要考察面试者对以下问题的理解:

  • ① 数据特征和模型权重的区别

  • ② 门控机制的软性特征筛选特点

这是我常用的一个面试题。看似简单的基础题,但在面试中能准确回答的不足10% ,常识题的错误反而会让人印象深刻。


【NLP 大模型百面百过】系列文章:

  • 【淘汰9成NLP工程师的常识题】BPE 分词器是如何训练的?

  • 【淘汰9成NLP工程师的常识题】LSTM 如何缓解 RNN 梯度消失的问题?

  • 【淘汰9成NLP工程师的常识题】LSTM的前向计算如何进行加速?

  • 【淘汰9成NLP工程师的常识题】多头注意力相对于单头注意力有什么优势?

  • ......


LSTM 单元的计算图

在大多数情况下,门使用sigmoid函数作为激活函数,而包含实质信息的数据则使用tanh函数作为激活函数。

  • 因为tanh的输出是−1.0 ~ 1.0的实数。我们可以认为这个−1.0 ~ 1.0的数值表示某种被编码的“信息”的强弱(程度)。

  • 而sigmoid 函数的输出是0.0~1.0的实数,表示数据流出的比例。


举一反三

拔高(举一反三):深刻理解门控机制,并且知晓门控机制在LSTM、IA3、SwiGLU等中都有应用。

门机制:控制水闸的门就能阻止或者释放水流。类似的,门机制的作用是控制数据的流动。

如上图所示,门的开合程度由 0.0 ~1.0 的实数表示,通过这个数值控制流出的水量,sigmoid 函数用于求门的开合程度(sigmoid 函数的输出范围在 0.0 ~ 1.0)。

① LSTM 中门控机制的应用:

② PEFT 的 IA3 方法中门控机制的应用:

IA3的思想:抑制和放大内部激活,通过可学习的向量对激活值进行抑制或放大。具体来说,会对K、V、FFN三部分的值进行调整,训练过程中同样冻结原始模型的权重,只更新可学习的部分向量部分。训练完成后,与Lora类似,也可以将学习部分的参数与原始权重合并,没有额外推理开销。

③ LLM 的 SwiGLU 激活函数中门控机制的应用:

SwiGLU在计算中引入了门控机制,门控机制可以使用更软性的权重筛选有用的信息,并且梯度更平滑。ReLU和SwiGLU的可视化对比:


NLP Github 项目:

  • NLP 项目实践:fasterai/nlp-project-practice

    介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用,分享大模型算法工程师的日常工作和实战经验

  • AI 藏经阁:https://gitee.com/fasterai/ai-e-book

    介绍:该仓库主要分享了数百本 AI 领域电子书

  • AI 算法面经:fasterai/nlp-interview-handbook#面经

    介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器

  • NLP 剑指Offer:https://gitee.com/fasterai/nlp-interview-handbook

    介绍:该仓库汇总了 NLP 算法工程师高频面题

http://www.lryc.cn/news/492299.html

相关文章:

  • gocv调用opencv添加中文乱码的解决方案
  • org.apache.log4j的日志记录级别和基础使用Demo
  • IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
  • java centos 离线使用sherpa-onnx文字转语音TTS
  • Android 11 三方应用监听关机广播ACTION_SHUTDOWN
  • OpenHarmony-3.驱动HDF
  • 《白帽子讲Web安全》13-14章
  • CSS - CSS One-Line
  • gitlab ssh-key 绑定
  • wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅
  • 从零开始学GeoServer源码(二)添加支持arcgis切片功能
  • WPF异步UI交互功能的实现方法
  • 网络基础 - 地址篇
  • # [Unity] 【游戏开发】Unity开发基础2-Unity脚本编程基础详解
  • Milvus实操
  • 35 基于单片机的精确电压表DA-AD转换
  • JDBC 设置 PostgreSQL 查询中 any(?) 的参数
  • 【11-20期】Java面试进阶:深入解析核心问题与实战案例
  • C++——内存池_2
  • 如何使用PHP爬虫获取店铺详情:一篇详尽指南
  • HTML5和CSS3新增特性
  • linux运行vue编译后的项目
  • 论文阅读:A Software Platform for Manipulating theCamera Imaging Pipeline
  • 【MySQL篇】持久化和非持久化统计信息的深度剖析(第一篇,总共六篇)
  • Ubuntu下安装Qt
  • 丹摩征文活动 | AI创新之路,DAMODEL助你一臂之力GPU
  • 数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undo log、redo log、binlog 作用、MySQL和Redis的区别
  • Docker容器运行CentOS镜像,执行yum命令提示“Failed to set locale, defaulting to C.UTF-8”
  • OpenCV基本图像处理操作(六)——直方图与模版匹配
  • 【LLM学习笔记】第四篇:模型压缩方法——量化、剪枝、蒸馏、分解