【深度学习】第六阶段

news2024/9/23 13:31:04

1、超参数调试

在深度学习中,有各种各样的超参数,其中包括:学习率 α \alpha α、动量超参数 β \beta β、Adam中的超参数 β 1 \beta_1 β1 β 2 \beta_2 β2 ε \varepsilon ε、神经网络层数、每层的结点数量、 小样本数据集大小、学习率衰减的参数等等。

其中,学习率 α \alpha α最为重要

调试超参数,在不知道哪个超参数最为重要时,建议使用随机值进行探测。当给超参数取值时,也可以采用由粗糙到精细的策略:
在这里插入图片描述
若发现有一点的参数效果较好,那么可以在它的附近范围内进行尝试,看是否能找到效果更好的参数点。

2、为超参数选择合适的范围

随机选取超参数值能够提升搜索效率,但随机取值并不是在有效值范围内进行随机均匀取值

在一个较大的范围内,可以用对数标尺搜索超参数
在这里插入图片描述
每个均匀范围内进行随机选取,代码:
r = -4 * np.random.rand()
learning_rate = np.power(learning_rate, r)

将r设为[-4,0],那么学习率的搜索范围将为设置为0.0001到1.

其次,需要对 β \beta β进行取值,操作方式与上述类似。

3、超参数训练的实践

在这里插入图片描述
两种不同的超参数训练方式,左边的为只关注一个模型的参数对训练的影响,而右边的为同时关注多个模型的影响。
若具有足够的计算能力去平行试验许多模型,可以选择右边的。

每个超参数如果设置得不好,都会对训练产生巨大的负面影响,因此所有的超参数都要调整好,请问这是正确的吗?

【★】 错误
【 】 正确
We’ve seen in lecture that some hyperparameters, such as the learning rate, are more critical than others.

我们在视频中讲到的比如学习率这个超参数比其他的超参数更加重要

4、正则化网络的激活函数

Batch归一化:在神经网络中已知一些中间值 z 1 , . . . , z n z^{1},...,z^{n} z1,...,zn,来自隐藏层。

计算第 i i i个隐藏层数值的平均值:
μ = 1 m ∑ i z i \mu=\frac{1}{m}\sum_{i}z^{i} μ=m1izi
方差:
σ 2 = 1 m ∑ i ( z i − μ ) 2 \sigma^2=\frac{1}{m}\sum_i(z_i-\mu)^2 σ2=m1i(ziμ)2
标准差:
z n o r m i = z i − μ σ 2 + ε z_{norm}^i=\frac{z^i-\mu}{\sqrt{\sigma^2+\varepsilon}} znormi=σ2+ε ziμ
z ~ i = γ z n o r m i + β \tilde{z} ^i=\gamma z_{norm}^i+\beta z~i=γznormi+β
在这里插入图片描述

在这里插入图片描述
参数则在原来的基础上加上了正则化参数 γ \gamma γ β \beta β

Batch归一化通常与mini-batch一起使用,

5、softmax回归

在这里插入图片描述
在这里插入图片描述

计算得到第 L L L层的输出值 z [ L ] = w [ L ] a [ L − 1 ] + b [ L ] z^{[L]}=w^{[L]}a^{[L-1]}+b^{[L]} z[L]=w[L]a[L1]+b[L],通过激活函数 t = e z [ L ] t=e^{z^{[L]}} t=ez[L]放大每个节点的值,再通过 a i [ L ] = t i ∑ j = 1 4 t i a_{i}^{[L]}=\frac{t_i}{\sum_{j=1}^{4}t_{i}} ai[L]=j=14titi计算每个节点的占比,得到预测的概率。

假如输入的是一张图片,那么输出的向量就代表该图片类别的预测概率。

判断Softmax函数的训练效果主要通过计算其损失函数:
L ( y ^ , y ) = − ∑ j = 1 4 y j log ⁡ y ^ j L(\hat{y},y)=-\sum_{j=1}^4y_{j}\log \hat{y}_j L(y^,y)=j=14yjlogy^j
y = [ 0 , 1 , 0 , 0 ] T y=[0,1,0,0]^T y=[0,1,0,0]T,而 y ^ = [ 0.3 , 0.2 , 0.1 , 0.4 ] T \hat{y}=[0.3,0.2,0.1,0.4]^T y^=[0.3,0.2,0.1,0.4]T,该样本的训练效果就较差。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mlq color transfer: Color Transfer Using Probabilistic Moving Least Squares

文章目录 Color Transfer Using Probabilistic Moving Least Squares1. 颜色转换2. 如何计算匹配点的概率3. 核心思想和具体操作:4. 特征点覆盖不到的颜色4.1这里介绍一下引文7:4.2. 分析 5. Probabilistic Moving Least Squares with Spatial Constrain…

智能学习 | MATLAB实现ANT-BP多变量时间序列预测(蚁群算法优化BP神经网络)

智能学习 | MATLAB实现ANT-BP多变量时间序列预测(蚁群算法优化BP神经网络) 目录 智能学习 | MATLAB实现ANT-BP多变量时间序列预测(蚁群算法优化BP神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现ANT-BP多变量时间序列预测(蚁群算法优化BP神经网络…

如何通过Bug跟踪管理,有效减少软件缺陷Bug?

1、Bug生命周期 Bug的生命周期是指从Bug被发现到被关闭的过程。一般的缺陷状态是:新建--指派--已解决--待验--关闭。如果待验的Bug没有解决,我们需要重新激活--指派--已解决,循环这个过程,中间还包括拒绝、延期等。 Bug跟踪管理 减…

设计模式:创建者模式 - 代理模式

文章目录 1.概述2.结构3.静态代理4.JDK动态代理5.CGLIB动态代理6.三种代理的对比7.优缺点8.使用场景 1.概述 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象…

VUE3 学习笔记(八)引入 EasyUI for Vue

目录 一、什么是 EasyUI? 二、安装EasyUI for Vue3 1. 使用NPM安装 2. 导入EasyUI 三、安装完成出现问题解决 一、什么是 EasyUI? easyui是一个基于jQuery、Angular、Vue和React的用户界面组件的集合。easyui为构建现代的、交互式的、javascript应用程序提供了基本功能…

【历史上的今天】4 月 20 日:中国接入国际互联网;戴尔登顶 PC 市场;计算机先驱诞生日

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 4 月 20 日,在 2005 年的今天,CNET 网络公司宣布以 1100 万美元现金收购 PCHome 公司。根据当时的协议,PCHome 创始人将保留…

ManageEngine AD360:简化AD管理过程,提高组织安全性

Active Directory(AD)是微软提供的一种广泛使用的域管理工具,可以用于组织内部用户、计算机和其他资源的管理。尽管AD是一个强大的工具,但是它的管理不总是容易的,尤其是当需要处理大量的用户和计算机时,会…

linux下hive远程数据库模式安装

文章目录 前言1.安装mysql1)使用yum安装2) 安装好启动服务3) 开启开机自动启动4) 修改权限4) 登录 2.Hive安装 Local/Embedded Metastore Database (Derby)1) 下载稳定版本解压即可2)配置环境变量3) 配置远程连接mysql数据库4)需要将mysql驱动…

Flink时间属性

1.概述 Flink支持三种与流数据处理相关的时间概念:Processing Time、Event Time和Ingestion Time。具体如下图所示: 当前Flink仅支持Processing Time和Event Time EventTime:您提供的事件时间(通常是数据的最原始的创建时间&…

MongoDB 之 updateMany

MongoDB 之 updateMany 使用 https://www.mongodb.com/docs/v6.0/reference/operator/update/#update-operators db.collection.updateMany(<filter>,<update>,{upsert: <boolean>,writeConcern: <document>,collation: <document>,arrayFilters…

NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038

之前使用querydatabasetable处理器来获取mysql中的数据,我们只能写死一个sql的查询语句,但是 实际引用环境中,我们的一张mysql的表,可能有上千万的数据,那么,不可能,我们把sql查询语句写死,这样一次性如果获取所有数据,那么压力太大了,我们怎么弄呢?找了很久没有找到相关教程…

基于卷积神经网络的分类算法

基于卷积神经网络的分类算法 基于卷积神经网络的分类算法运行环境Python环境PyTorch环境Django环境数据预处理 基于卷积神经网络的分类算法 应用机器学习模型采用卷积神经网络&#xff0c;部署在Web环境中&#xff0c;通过Fashion-MNIST数据集进行模型训练和改进&#xff0c;实…

Scrum敏捷研发和项目管理

Scrum是全球运用最广泛的敏捷管理框架&#xff0c;Leangoo基于Scrum框架提供了一系列的流程和模板&#xff0c;可以帮助敏捷团队快速启动Scrum敏捷开发。 Leangoo完美支持Scrum敏捷框架&#xff0c;它提供了灵活的敏捷模板和极致的协作体验&#xff0c;可以让团队快速上手&am…

勒索病毒-特洛伊木马变种

​一、病毒简介 文件名称&#xff1a; 457d9e4773f45954449ee5913d068fdbb3d8e5689019688e7bce901467e5473a 文件类型(Magic)&#xff1a; PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed 文件大小&#xff1a; 410.00KB SHA256&#xff1a; 457d9e4773f…

从界面设计谈系统的贯穿性

系统的贯穿性&#xff1f; 在日常的开发中。单个模块之间的编码和设计起来相对比较简单。但是作为“软件工程”中的一个环节&#xff0c;系统的贯穿性往往被忽视。 现在系统关于贯穿性存在的问题 开发过程往往按照模块划分&#xff0c;分为不同的人开发。针对开发的者来说&…

【UE】将存档的值显示在控件蓝图上

上一篇博客&#xff08;【UE】保存游戏的demo&#xff09;已经实现了存档功能&#xff0c;本篇博客介绍的是如何将存档的值显示在控件蓝图上。 效果 可以看到我们存档的值显示在文本控件上 步骤 1. 新建一个蓝图类&#xff0c;父类为“HUD” 命名为“NewHudClassBP” 2. 在世…

Linux设备驱动开发 - 虚拟时钟Clock驱动示例

By: fulinux E-mail: fulinuxsina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅&#xff01; 你的喜欢就是我写作的动力&#xff01; 目录 1. 概述2. virtual clock设计3. 虚拟时钟驱动3.1. provider驱动3.1.1. provider platform device部分3.1.2. prov…

645. 错误的集合|||697. 数组的度|||448. 找到所有数组中消失的数字

645. 错误的集合 题目 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的…

JVM系列(七) JVM 垃圾收集器

我们知道JVM会回收垃圾,但是每种垃圾收集器的收集机制和收集的方法都不一样,今天我们讨论下几种垃圾回收机制 1.按照垃圾区域划分垃圾收集器 我们可以按照垃圾存在的区域来划分垃圾收集器,垃圾在堆内的区域分为 新生代垃圾老年代垃圾新生代老年代混合垃圾 按照这三种区域类…

一个Linux驱动工程师必知的内核模块知识

最简单的驱动 #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h>static int __init my_init(void) {printk("my_init\n");return 0; }static void __exit my_exit(void) {printk("my_exit\n"); }module_in…