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

学习transformer模型-Dropout的简明介绍

Dropout的定义和目的:

Dropout 是一种神经网络正则化技术,它在训练时以指定的概率丢弃一个单元(以及连接)p。

这个想法是为了防止神经网络变得过于依赖特定连接的共同适应,因为这可能是过度拟合的症状。直观上,dropout 可以被认为是创建一个隐式的神经网络集合。

PyTorch 的nn.Dropout实现

根据这个定义,PyTorch 的nn.Dropout “使用伯努利分布的样本以概率p将输入张量的一些元素随机归零。每个通道将在每次前向呼叫时独立清零。”

Dropout — PyTorch 2.2 documentationicon-default.png?t=N7T8https://pytorch.org/docs/stable/generated/torch.nn.Dropout.html

Dropout 可以被认为是根据给定的概率p随机将输入张量中的一些元素归零。当这种情况发生时,一部分输出将丢失。为了解决这个问题,输出也按因子1⁄₍₁_ₚ₎进行缩放。

由此推断,这意味着不必计算 dropout。正如杨章所解释的,“因为 dropout 仅在训练期间有效,而在推理期间不有效,如果没有缩放,则在推理期间预期输出会更大,因为元素不再被随机丢弃(设置为 0)。”

缩放使输入平均值和输出平均值大致相等。

示例演示 dropout 及其缩放如何影响输入。


当 dropout 率为p = 0.1时,大约 10 个值应为 0。比例率如下所示;这是每个输出应该的值。


结果显示,其中 10 个值被完全清零,并对结果进行缩放以确保输入和输出具有相同的平均值 - 或尽可能接近它。


在本例中,输入和输出的平均值均为 1.0。


​原文链接:https://medium.com/@hunter-j-phillips/a-simple-introduction-to-dropout-3fd41916aaea

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

相关文章:

  • 游戏引擎中的大气和云的渲染
  • 华为鲲鹏云认证考试内容有哪些?华为鲲鹏云认证考试报名条件
  • v3-admin-vite 改造自动路由,view页面自解释Meta
  • FIFO存储器选型参数,结构原理,工艺与注意问题总结
  • jvm高级面试题-2024
  • DeepL Pro3.1 下载地址及安装教程
  • 第十一届 “MathorCup“- B题:基于机器学习的团簇能量预测及结构全局寻优方法
  • 云计算探索-如何在服务器上配置RAID(附模拟器)
  • LeetCode226:反转二叉树
  • 特征融合篇 | 利用RT-DETR的AIFI去替换YOLOv8中的SPPF(附2种改进方法)
  • MVCC多版本并发控制
  • 图片转换成base64如何在html文件中使用呢
  • 【MATLAB源码-第24期】基于matlab的水声通信中海洋噪声的建模仿真,对比不同风速的影响。
  • 七、函数的使用方法
  • 数据分析之Tebleau 简介、安装及数据导入
  • 分享一下设计模式的学习
  • 【JavaEE初阶系列】——CAS
  • webGIS 之 智慧校园案例
  • CVAE——生成0-9数字图像(Pytorch+mnist)
  • 【Linux】TCP网络套接字编程+守护进程
  • 【Qt 学习笔记】Day2 | 认识QtSDK中的重要工具
  • adc123456
  • YOLOV5训练自己的数据集教程(万字整理,实现0-1)
  • 精通Go语言文件上传:深入探讨r.FormFile函数的应用与优化
  • 【C语言】字符串
  • 云计算探索-DAS、NAS与SAN存储技术演进及其应用比较
  • 手机有线投屏到直播姬pc端教程
  • SOA、分布式、微服务之间的关系?
  • Java多线程学习(概念笔记)
  • 【C++】set和map