毫米波雷达深度学习技术-1.7训练一个神经网络

1.7 训练一个神经网络

       对于训练神经网络,有两个步骤,即前向传递和误差反向传播。

1.7.1 前向传播和反向传播

       在前向传递中,输入被馈送到模型并与权重向量相乘,并为每一层添加偏差以计算模型的输出。密集层或全连接层第l层的输入、 激活函数和输出表示如下:

(1.57)

       其中N表示第l层的神经元数量,是第l层任务需要学习的权重,σ()是激活函数

       反向传播如下所述。考虑一个样本,其输入和预期输出和实际输出,因此一个样本的误差为 ,其中是权重的函数。使用梯度下降算法更新权重以最小化误差,可以表示如下:

(1.58)

       在式(1.58),可计算如下:

(1.59)

       其中,

       由于的函数,因此可以推导出

(1.60)

(1.61)

       这是在前馈步骤中计算的。

       因此,把它们放在一起给了我们:

(1.62)

       神经网络训练过程中的一些重要方面如下:

       1.学习率:每次权重更新都由参数 λ 控制,称为学习率参数。如果学习率太小,那么可能会导致学习速度非常慢,很容易被困在局部最小值中,并且可以持续运行多次迭代。另一方面,如果学习率很大,那么它可能会越过最小值,可能无法收敛,并可能发散。因此,根据架构、数据集、传递函数等选择良好的学习率非常重要。图1.18说明了选择小学习率和大学习率对梯度下降的影响。

图1.18 (a)学习率小和(b)学习率大时梯度下降的图示。

       2. 权重初始化:在初始化过程中随机化权重很重要;否则,权重的对称性会阻止网络学习。通常,使用小的随机值,这在层中的神经元数量增长时非常重要,因为加权和可能会使优化函数饱和。

       3. 过拟合和欠拟合:在机器学习中,目标不仅是最小化样本内数据(即可用或可见的数据)的成本函数,而且还要对样本外数据(即训练期间不可用或不可见的数据)进行泛化。在训练过程中,可用的数据集分为训练集、验证集和测试集。训练数据集用于训练模型,验证数据集用于设置模型的超参数,测试数据集用于估计样本外或泛化精度。

       当训练数据的性能较差时,可以将其视为欠拟合,通常是由于学习率选择不当或神经网络维度不足。此错误称为“偏差”。图1.19的左列说明了欠拟合问题。当训练数据的性能良好(即近似精度好),但测试或验证数据性能差(即泛化精度差)时,就会出现过拟合问题。这种现象也称为“方差”,如图1.19的右栏所示。如果训练集大小不足或模型复杂度对于数据来说太高,则模型可以很好地记住或近似训练数据,但不能很好地泛化测试数据,即过度拟合。训练机器学习模型的目的是找到一个如图 1.19 中间列所示的模型,其中训练误差(偏差)和泛化误差(方差)最小化。通常,训练会找到一个模型,以便在偏差和方差之间实现平衡,通常被称为“偏差-方差”权衡。在深度学习的情况下,“偏差-方差”权衡不适用,因为有单独的机制来减少偏差和方差,因此权衡不容易适用。

图1.19 模型欠拟合和过拟合的图示。

       4. 维度的诅咒:机器学习的另一个关键方面是维度的诅咒。维度的诅咒与过拟合密切相关。在高维空间中,大多数训练数据都位于定义特征空间的超立方体的角落。特征空间角落中的实例比超活跃球体质心周围的实例更难分类。因此,随着特征或维度数量的增加,我们需要准确泛化的数据量也呈指数级增长。

1.7.2 优化器

       优化器是帮助改变模型的权重和偏差的方法,以便将损失函数最小化。对标准随机梯度下降 (SGD) 算法提出了一些修改,即,其中) 分别表示损失函数及其导数。表示更新步骤后和之前的权重,λ表示学习率。以下是改进标准 SGD 的优化器列表:

       1. 动量:它加速SGD朝向相关方向,同时减少振荡。它基本上是将先前权重更新的一部分添加到当前更新向量中,从而确保在一定程度上保留先前更新的方向,同时使用当前更新梯度来微调最终更新方向。动量引入了另一个变量,可以表示如下

(1.63)

       2. Nesterov 加速梯度 [45]:虽然动量有助于降低噪声并加速收敛,但它也会引入误差。在Nesterov加速梯度中,通过将先前的权重更新的一部分包含在当前更新向量中以执行权重更新来解决此问题,其表示如下:

(1.64)

       γ的典型值 = 0.9。

       3. Adagrad [46]:Adagrad 的动机是每个参数都有一个自适应学习率;然而,早期的方法具有固定的学习率。Adagrad 确保依赖于迭代的隐藏层的不同神经元具有不同的学习率。其背后的直觉是,对于不频繁的参数,应该进行较大的更新,而对于频繁的参数,应该进行较小的更新。对于每次权重更新,学习率调整如下:

(1.65)

       由于梯度的平方和不断增长,因此自适应地会导致较小的学习率。参数ε有助于避免除以零的问题。

       4. RMSprop [47]:Adagrad 的一个问题是,在DNN中经过几次迭代后,学习速率变得非常小,从而导致死神经元问题,并导致这些神经元没有更新。RMSprop 修复了此问题,即使在多次参数更新后,学习也可以继续。在RMSprop 中,学习率是梯度的指数平均值,而不是像 Adagrad 中那样的梯度平方和的累积和。通过将梯度累积限制在某个过去来计算每个权重的平方梯度的移动平均值,可以表示如下:

 (1.66)

       5. Adadelta [48]:Adadelta 是对 Adagrad 的另一项改进,可在多次参数更新后继续学习。但 Adadelta 的计算成本很高。在这里,梯度累积仅限于某个过去的更新,方法是计算每个权重参数的平方梯度和参数更新的移动平均值,如下所示:

(1.67)

       6. 自适应矩估计(ADAM)[49]:Adam 优化器是当今最流行和使用最广泛的优化器之一。它既存储类似于动量的过去梯度的衰减平均值,也存储过去平方梯度的衰减平均值,类似于 RMSprop和Adadelta。ADAM可以表示为以下等式,其中动量通过使用第一和第二矩添加到RMSprop中,即梯度的平均值和方差

(1.68)

       其中β1和β2是梯度均值和方差的移动平均实现中的遗忘因子。Adam易于实现且计算效率高,并且由于移动平均实现,需要的内存更少

1.7.3 损失函数

       神经网络被表述为一个优化问题。候选解,即网络的权重,应最小化或最大化给定目标函数的分数。

       在回归问题的情况下,目标是预测一个实值量。在这种情况下,在输出层使用线性激活单元,并使用 MSE 作为损失函数。回归的均方损失如下:

(1.69)

       其中y和ŷ分别是神经网络的真实值和预测值。

       对于分类问题建模,其思路是将输入变量映射到类标签,这意味着目标是预测示例属于特定类的概率。在最大似然估计下,网络的训练试图找到一组模型权重,以最小化模型给定数据集的预测概率分布与训练数据集中概率分布之间的差异。这称为CE损失,在二元分类的情况下,在输出端配置为sigmoid激活,而对于多类分类,在输出端使用 softmax 激活。在这两种情况下,问题都表述为预测属于特定类的给定输入的最大可能性

       二元分类的二元CE损失如下:

(1.70)

       其中p是类1的概率,1−p 是类0的概率,ŷ是神经网络的预测概率。

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

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

相关文章

网络基础-RIP协议

RIP(Routing Information Protocol)是一个基于距离矢量的动态路由协议,常用于小型到中型网络。RIP是较早的路由协议之一,具有简单易用的特点。以下是关于RIP协议的详细介绍: RIP的主要特点 ①使用跳数(ho…

非标设备行业的数智化项目管理

近年来,中国制造快速发展,企业迫切需要加快转型升级。与传统制造业相比,高端制造业具有明显的优势:高技术、高附加值、低污染、低排放、竞争优势强。一方面,企业对于生产效率和自动化水平的要求不断提高,期…

武汉星起航:成功挂牌上股交,领航亚马逊跨境电商,共创未来辉煌

在全球电商的竞争格局中,亚马逊凭借其卓越的服务、丰富的商品种类和高效的物流体系,始终稳坐全球电商市场的头把交椅。而在这股不可阻挡的电商浪潮中,武汉星起航电子商务有限公司凭借其前瞻性的战略布局和强大的运营能力,成功在20…

名企面试必问30题(十二)——简单介绍一下你的家庭情况

1.思路 对于面试官来说,他提出这个问题,只是为了深挖您的性格、稳定性、行事风格,包括未来定居规划、生育规划等基础信息,这是正常情况。您不要过多围绕其他家庭成员来讲,否则面试官无法获取他想要的,您也难…

【单片机毕业设计选题24040】-基于STM32的蓝牙防丢器设计

系统功能: 系统上电后显示“欢迎使用蓝牙防丢系统请稍后”两秒钟显示正常界面,如果蓝牙正常连接OLED显示Connected, 蓝牙未连接则显示DisConnected同时蜂鸣器报警 蓝牙正常连接后在APP上每隔三秒显示一个Connected 系统功能框图: 主要功能模块原理图: 电源时钟…

大数据之Zookeeper部署

文章目录 集群规划环境准备集群部署参考资料 集群规划 确定使用Hadoop101、hadoop102和hadoop103三台服务器来构建Zookeeper集群。 hadoop101hadoop102hadoop103zookeeperzookeeperzookeeper 环境准备 安装zookeeper前需要确保下面的环境配置成功,具体可以参考大…

AI智能剪辑发展到哪种地步?来看看云微客就知道了!

不是短视频团队招不起,而是矩阵账号更有性价比。企业做短视频有反思过为什么干不过同行吗?我们来看看大佬是怎么做的。云微客AI智能剪辑系统用几百个账号做矩阵布局,系统每天自动进行批量剪视频、写文案、一键自动化发布视频,一个…

[漏洞复现] MetInfo5.0.4文件包含漏洞

[漏洞复现] MetInfo5.0.4文件包含漏洞 MetInfo5.0.4 漏洞代码审计 漏洞出现在about/index.php中,因为利用了动态地址,所以存在漏洞。 漏洞检查语句(!192.168.109.100是我的服务器ip,需要换成自己的)&…

华为仓颉语言体验:一个简单的socket服务端实现

前言 由于仓颉目前是内测状态, 不能展示仓颉的详细信息,但是华为仓颉官网的公共文档的内容是可以公开的。 我相信有不少喜欢编程的朋友都申请了内测,但是一些编程初学者应该和我一样,处于摸索阶段。所以,我这里把我测…

中电金信:金Gien乐道 | 6月热门新闻盘点 回顾这一月的焦点事件

“以检之力 e企守护”——上海市检一分院与中电金信开展联学联建 6月24日,上海市人民检察院第一分院与中电金信数字科技集团股份有限公司联合开展“以检之力 e企守护”联学联建活动。双方共同参观了全国检察机关证券期货犯罪办案基地和重大职务犯罪案件办理&#xf…

python(6)numpy的使用详细讲解

在numpy中,最基本的数据结构是数组,因此我们首先需要了解如何创建一个数组。numpy提供了多种数组创建方法,包括从列表或元组创建、从文件中读取数据、使用特定函数创建等。下面是一些常用的创建方法: 一、创建数组 1. 从列表或元…

【MySQL备份】Percona XtraBackup基础篇

目录 1.关于Percona XtraBackup 2. Percona XtraBackup有哪些特点? 3.安装Percona XtraBackup 3.1.环境信息 3.2.安装步骤 4. xtrabackup内部流程图 5.Percona XtraBackup基础语法 5.1.全量备份 5.2.增量备份 5.2.1.基于全量备份的增量备份 5.2.2.基于前…

[leetcode]max-consecutive-ones 最大连续1的个数

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int findMaxConsecutiveOnes(vector<int>& nums) {int maxCount 0, count 0;int n nums.size();for (int i 0; i < n; i) {if (nums[i] 1) {count;maxCount max(maxCount, count);} else…

安装和微调大模型(基于LLaMA-Factory)

打开终端&#xff08;在Unix或macOS上&#xff09;或命令提示符/Anaconda Prompt&#xff08;在Windows上&#xff09;。 创建一个名为lora的虚拟环境并指定Python版本为3.9。 conda create --name lora python3.9激活新创建的虚拟环境。 conda activate lora克隆项目。 git …

详解COB显示屏的技术特点

COB&#xff08;Chip on Board&#xff09;显示屏作为一种采用倒装COB封装技术的LED显示屏&#xff0c;在显示效果以及使用稳定性跟防护性方面&#xff0c;拥有更大优势&#xff0c;今天跟随COB显示屏厂家中品瑞科技一起来看看&#xff0c;COB显示屏的技术特点&#xff1a; 1、…

如何在OpenEuler 上快速部署一套Zabbix7.0监控系统

如何在OpenEuler 上快速部署一套Zabbix监控系统 一、环境信息 用途机器IP操作系统备注zabbix-server172.22.33.180openeuler 22.03 LTS SP37.0 LTS 版本&#xff0c;容器部署zabbix-agent172.16.10.182openeuler 22.03 LTS SP37.0 源码编译部署 二、Docker 部署 2.1 二进制…

Anti-Canine Heartworm Antibody (Chicken) - HRP Conjugated

犬心丝虫&#xff08;学名Dirofilaria immitis&#xff09;是一种寄生丝虫&#xff0c;通过蚊子叮咬而传播。感染犬在早期阶段&#xff0c;大多不会出现症状。随着病情发展&#xff0c;将出现咳嗽、呼吸困难等症状&#xff0c;并伴有右心功能衰竭&#xff0c;最终全身衰弱或虚脱…

检索增强生成RAG系列3--RAG优化之文档处理

在上一章中罗列了对RAG准确度的几个重要关键点&#xff0c;主要包括2方面&#xff0c;这一章就针对其中一方面&#xff0c;来做详细的讲解以及其解决方案。 目录 1 文档解析1.1 文档解析工具1.2 实战经验1.3 代码演示 2 文档分块2.1 分块算法2.2 实战经验2.3 代码演示 3 文档e…

python自动化办公之shutil

目录 1复制文件&#xff0c;此时存在2份相同文件 2移动文件&#xff0c;此时仅有1份文件 3删除文件&#xff0c;此时0份文件 用到的库&#xff1a;shutil&#xff0c;os 实现的效果&#xff1a;复制文件&#xff0c;移动文件&#xff0c;删除文件 代码&#xff1a; 1复制…

使用Colly库进行高效的网络爬虫开发

引言 随着互联网技术的飞速发展&#xff0c;网络数据已成为信息获取的重要来源。网络爬虫作为自动获取网页内容的工具&#xff0c;在数据分析、市场研究、信息聚合等领域发挥着重要作用。本文将介绍如何使用Go语言中的Colly库来开发高效的网络爬虫。 什么是Colly库&#xff1…