深度学习 --- stanford cs231学习笔记八(训练神经网络之dropout)
6,dropout
6,1 线性分类器中的正则化
在线性分类器中,我们提到过正则化,其目的就是为了防止过度拟合。例如,当我们要用一条curve去拟合一些散点的数据时,常常是不希望训练出来的curve过所有的点,因为这些点里面可能包含噪声。如果,拟合出来的函数曲线真的能过所有的点,包括噪点,往往不是人们期望中的那条最佳curve。

对于深度学习而言,过度拟合还好带来另一个问题,就是弱化泛化能力。说白了就是训练好的模型只在部分数据上表现良好,在其他的一些数据上的表现就没那么好。比如说,在下图的左图中随着迭代次数的增加,损失函数的值越来越低,说明训练的模型准确率越来越高。但把这个训练好的模型放在测试集上,随着迭代次数的增加,训练集的准确率越来越高,但验证集的准确率一直没变。


在线性分类器中,为了避免这一问题,通过在损失函数中加入了正则化项达到目的。

6,2 神经网络中的正则化---drop out
除了上面提到的L1,L2正则化,在神经网络中还有一种更为强大且常用的正则化方法---dropout他们都是为了防止过拟合。
Dropout 的原理:
dropout通过在训练过程中以一定概率“丢弃”神经元,即,选择性的令一部分神经元的输出为0。神经元的丢弃概率通常选择在0.2到0.5之间,具体值需要根据具体的任务和数据集进行调优。 在不同层应用不同的丢弃概率。

他打破了每层神经网络中的co-adapting(协同适应性),即,神经元之间的相互依赖。co-adapting会引起模型在训练数据上表现很好,但在新数据上表现不佳。且增加了不同神经元所学习到的特征的相似性。

具体实现:
1,在训练阶段,每个神经元以概率p被随机丢弃,丢弃的神经元在当前迭代中不参与计算。这样,每次迭代都使用一个不同的“子网络”。
2,在测试阶段:所有神经元都参与计算,但为了保持输出的预期值一致,需要将每个神经元的输出按丢弃概率p进行缩放(乘以1-p)。

引起co-adapting的原因:
在训练的过程中,每层神经网络中的全部神经元是通过一同更新来缩小损失函数的。换句话说就是所有的神经元协同作用并肩作战,而不是单打独斗。这就是说,对于每个隐含层而言,是整层神经元反映/学习了一个feature,而不是一层中的单个神经元反映/学习了一个feature。

dropout通过随机丢弃神经元,迫使模型在训练的时候不能靠整层神经元去学习,而是需要每个神经元独立地处理输入数据。
这能增加了不同神经元所学习特征的多样性。下面是使用dropout技术前后神经元学习到的feature的差异。

过拟合的原因:
由于深层神经网络的学习功能十分强大,因此,在训练数据集的学习过程中,除了学习我们期望的部分,还会学习到噪声。这就会引起过度拟合,使得模型在训练数据上表现良好,但在新数据上表现不佳。
局限性:
Dropout并不是解决所有过拟合问题的万能方法,有时也需要结合其他正则化方法(如L1、L2正则化)或者数据增强等技术。
使用dropout会增加训练时间,因为每次训练迭代都要随机丢弃神经元并重新计算网络的前向和反向传播。
(全文完)
--- 作者,松下J27
参考文献(鸣谢):
1,Stanford University CS231n: Deep Learning for Computer Vision
2,训练神经网络(第二部分)_哔哩哔哩_bilibili
3,10 Training Neural Networks I_哔哩哔哩_bilibili
4,Schedule | EECS 498-007 / 598-005: Deep Learning for Computer Vision
5,《Dropout: A Simple Way to Prevent Neural Networks from Overfitting》
版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27
相关文章:
深度学习 --- stanford cs231学习笔记八(训练神经网络之dropout)
6,dropout 6,1 线性分类器中的正则化 在线性分类器中,我们提到过正则化,其目的就是为了防止过度拟合。例如,当我们要用一条curve去拟合一些散点的数据时,常常是不希望训练出来的curve过所有的点,…...
【C++】 解决 C++ 语言报错:Undefined Reference
文章目录 引言 未定义引用(Undefined Reference)是 C 编程中常见的错误之一,通常在链接阶段出现。当编译器无法找到函数或变量的定义时,就会引发未定义引用错误。这种错误会阻止生成可执行文件,影响程序的正常构建。本…...
【博士每天一篇文献-算法】Adult neurogenesis acts as a neural regularizer
阅读时间:2023-12-20 1 介绍 年份:2022 作者:Lina M. Tran,Adam Santoro,谷歌DeepMind 期刊: Proceedings of the National Academy of Sciences 引用量:13 代码:https://github.c…...
在Spring Boot项目中引入本地JAR包的步骤和配置
在Spring Boot项目中,有时需要引入本地JAR包以便重用已有的代码库或者第三方库。本文将详细介绍如何在Spring Boot项目中引入本地JAR包的步骤和配置,并提供相应的代码示例。 1. 为什么需要本地JAR包 在开发过程中,可能会遇到以下情况需要使…...
Android Studio中使用命令行gradle查看签名信息
Android Studio中使用命令行gradle查看签名信息: 使用 Gradle 插件生成签名报告 打开 Android Studio 的 Terminal。 运行以下命令:./gradlew signingReport 将生成一个签名报告,其中包含 MD5、SHA1 和 SHA-256 的信息。 如果失败…...
昇思25天学习打卡营第5天 | 神经网络构建
1. 神经网络构建 神经网络模型是由神经网络层和Tensor操作构成的,mindspore.nn提供了常见神经网络层的实现,在MindSpore中,Cell类是构建所有网络的基类,也是网络的基本单元。一个神经网络模型表示为一个Cell,它由不同…...
Web缓存—Nginx和CDN应用
目录 一、代理的工作机制 二、概念 三、作用 四、常用的代理服务器 二.Nginx缓存代理服务器部署 1.在三台服务器上部署nginx 此处yum安装 2.准备测试界面 三、CDN概念及作用 1.CDN的工作过程 一、代理的工作机制 (1)代替客户机向网站请求数据…...
Linux 端口
什么是虚拟端口 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。 IP地址相当于小区地址,在小区内可以有许多用户(程序)&…...
菜鸡的原地踏步史02(◐‿◑)
每日一念 改掉自己想到哪写哪的坏习惯 二叉树 二叉树的中序遍历 class Solution {/**中序遍历左 - 中 - 右*/private List<Integer> res new ArrayList<>();public List<Integer> inorderTraversal(TreeNode root) {if(root null) {return res;}tranve…...
实现Java应用的数据加密与解密技术
实现Java应用的数据加密与解密技术 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 数据加密与解密的重要性 数据安全是当今互联网应用开发中的重要问题之…...
赛博解压板
目录 开头程序程序的流程图程序的解压效果(暂无,但可以运行一下上面的代码)结尾 开头 大家好,我叫这是我58。今天,我们要看关于赛博解压板的一些东西。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #define ROW 6//ROW表示行数,可…...
微信小程序常用的事件
1.点击事件 WXML 中绑定点击事件: <!-- index.wxml --> <button bindtap"handleTap">点击我</button> 对应的 JS 文件中编写点击事件处理函数: // index.js Page({handleTap: function() {console.log(按钮被点击了);} }…...
js时间转成xx前
// 时间戳转多少分钟之前 export default function getDateDiff(dateTimeStamp) {// console.log(dateTimeStamp,dateTimeStamp)// 时间字符串转时间戳var timestamp new Date(dateTimeStamp).getTime();var minute 1000 * 60;var hour minute * 60;var day hour * 24;var …...
iOS 锁总结(cc)
iOS中atomic和synchrosize锁的本质是什么? 在iOS中,atomic和@synchronized锁的本质涉及底层的多线程同步机制。以下是关于这两者本质的详细解释: atomic 定义与用途: atomic是Objective-C属性修饰符的一种,用于指示属性的存取方法是线程安全的。当一个属性被声明为ato…...
【CSAPP】-binarybomb实验
目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果(可贴图) 操作异常问题与解决方案 实验总结 实验目的与要求 1. 增强学生对于程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 2. 掌握使用gdb调试器…...
SpringBoot实战:轻松实现XSS攻击防御(注解和过滤器)
文章目录 引言一、XSS攻击概述1.1 XSS攻击的定义1.2 XSS攻击的类型1.3 XSS攻击的攻击原理及示例 二、Spring Boot中的XSS防御手段2.1 使用注解进行XSS防御2.1.1 引入相关依赖2.1.2 使用XSS注解进行参数校验2.1.3 实现自定义注解处理器2.1.4 使用注解 2.2 使用过滤器进行XSS防御…...
如何改善提示词,让 GPT-4 更高效准确地把视频内容整体转换成文章?
(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 让我们来讨论一下大语言模型应用中的一个重要原则 ——「欲速则不达」。 作为一个自认为懒惰的人,我一直有一个愿望:完成视频制作…...
TensorBoard进阶
文章目录 TensorBoard进阶1.设置TensorBoard2.图像数据在TensorBoard中可视化3.模型结构在TensorBoard中可视化(重点✅)4.高维数据在TensorBoard中低维可视化5.利用TensorBoard跟踪模型的训练过程(重点✅)6.利用TensorBoard给每个…...
使用AES加密数据传输的iOS客户端实现方案
在现代应用开发中,确保数据传输的安全性是至关重要的。本文将介绍如何在iOS客户端中使用AES加密数据传输,并与服务器端保持加密解密的一致性。本文不会包含服务器端代码,但会解释其实现原理。 加密与解密的基本原理 AES(Advance…...
vue3【实战】语义化首页布局
技术要点,详见注释 <script setup></script><template><div class"page"><header>页头</header><nav>导航</nav><!-- 主体内容 --><main class"row"><aside>左侧边栏<s…...
FoldingNet实战:用Python复现CVPR‘18点云自编码器(附PyTorch代码)
FoldingNet实战:从理论到PyTorch实现的全流程拆解 在三维视觉领域,点云数据处理一直是计算机视觉研究的核心挑战之一。2018年CVPR会议上提出的FoldingNet,以其独特的"纸张折叠"思想为点云自编码器设计开辟了新路径。不同于传统方法…...
提升51%运行速度:Win11Debloat系统优化工具全方位应用指南
提升51%运行速度:Win11Debloat系统优化工具全方位应用指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…...
2026知识付费SaaS平台实测对比:创客匠人综合首选,断层领跑行业榜单
随着知识付费市场规模突破千亿大关(数据来源:艾瑞咨询2026年报告),越来越多内容创作者、教培机构和企业涌入这一赛道。但在选择SaaS平台时,用户却面临诸多痛点:功能卡顿影响用户体验、获客成本高企、私域运…...
基于springboot的论坛网站设计与实现.7z(源码+论文+开题报告)
[点击下载链接》》》] 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了论坛网站的开发全过程。通过分析论坛网站管理的不足,创建了一个计算机管理论坛网站的方案。文章介绍了论坛网站的系统分析部分&…...
SAP EWM RF手持设备开发实战:从SPRO配置到屏幕绘制的完整流程
SAP EWM RF手持设备开发实战:从SPRO配置到屏幕绘制的完整流程 在仓储物流领域,SAP EWM(Extended Warehouse Management)系统的RF(Radio Frequency)手持设备开发一直是技术难点与业务痛点的交汇处。不同于传…...
Modules 模块化:头文件地狱真的要终结了吗?我持怀疑态度
各位来宾,各位技术同仁,大家好!今天我们齐聚一堂,探讨一个在C社区引发广泛讨论、充满期待又饱含争议的话题:C模块化。特别是关于“头文件地狱真的要终结了吗?”这个问题,我深知在座的许多人&…...
128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析
128K上下文开源代码模型:DeepSeek-Coder-V2赋能开发者的技术解析 【免费下载链接】DeepSeek-Coder-V2 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Coder-V2 在软件开发效率日益成为竞争力核心指标的今天,开发者面临着代码生成质…...
当电力系统遇上MATLAB:手把手玩转SVC设计
基于MATLAB的静止无功补偿系统设计 本设计包括设计报告,仿真工程。 静止无功补偿系统(Static Var Compensator,简称SVC)是一种用于电力系统中动态调节无功功率的装置,主要由以下几个核心组件构成:晶闸管控制…...
Cowabunga Lite:iOS系统个性化定制的免越狱解决方案
Cowabunga Lite:iOS系统个性化定制的免越狱解决方案 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 在iOS生态系统中,用户对系统个性化的需求与日俱增,但传…...
从零开始:在VMware虚拟机中部署Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF进行开发测试
从零开始:在VMware虚拟机中部署Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF进行开发测试 1. 准备工作与环境搭建 在开始之前,我们需要准备好必要的软件和资源。首先确保你的主机系统满足以下要求: 至少16GB内存(推荐…...
