《深度学习》深度学习 框架、流程解析、动态展示及推导

目录

一、深度学习

1、什么是深度学习

2、特点

3、神经网络构造

1)单层神经元

• 推导

• 示例

2)多层神经网络

3)小结

4、感知器

神经网络的本质

5、多层感知器

6、动态图像示例

1)一个神经元

相当于下列状态: 

2)两个神经元

相当于下列所示:

3)三个神经元

相当于下图所示:

7、多层感知器--偏置

8、神经网络构造

1)重点

2)如何构造中间层

二、损失函数

1、作用

2、模型训练目的

3、常用损失函数

4、具体做法

5、多分类情况下计算损失值

6、正则化惩罚

1)正则化惩罚的功能

2)L1正则化

公式为:

3)L2正则化        

公式为:

4)示例


一、深度学习

1、什么是深度学习

        深度学习是一种人工智能的子领域,它基于人工神经网络的概念和结构,通过模拟人脑的工作方式来进行机器学习

2、特点

        深度学习的主要特点是使用多层次的神经网络来提取和学习数据中的特征,并通过反向传播算法来优化网络参数,从而实现对复杂数据的建模与分类。深度学习在图像识别、语音识别、自然语言处理等领域取得了显著的成果,并被广泛应用于各种领域。

3、神经网络构造

        神经网络是一种由多个神经元(或称为节点)组成的计算模型,它模拟生物神经系统中神经元之间的连接方式。神经网络有输入层、隐藏层和输出层组成,其中输入层用于接收外界的输入信号,输出层用于输出预测结果,隐藏层则用于处理输入信号并产生中间结果。

1)单层神经元

例如下图所示:

        神经元1为输入层,而外部传入的x1、x2、x3、x4、x5、……全部都是外界即将传入神经元的电信号,这些电信号在传入途中可能会有所损耗,而损耗完剩下的才会传入神经元,这些传入的实际信号就用w1x1、w2x2、w3x3、w4x4、w5x5、……来表示,w叫做权重

        • 推导

                有下列一堆数据,存在一条直线将他们分开成两类,而这条线叫线的表达式可以表示为y=kx+b

        将这个线性回归模型的表达式改变一下就得到了我们的神经网络模型计算方式

        y=kx+b -> 0=kx+b-y -> k1x+k2y+b=0 -> w1x1+w2x2+b=0 -> w1x1+w2x2+1*w0=0

        这里的1为人为设定的偏执项       

  

        • 示例

        如图传入信号为x1,x2,x3,他们分别通过权重w改变以后得到w1x1+w2x2+w3x3,然后再将这个结果映射到非线性函数上,这个非线性函数大多数用的都是sigmoid函数,从而得到最终结果,用sigmoid函数的原因是为了完成逻辑回归,因为 上图的模型为线性模型,他不能进行逻辑回归,所以只能将其映射到sigmoid函数中使其转变为逻辑回归

        sigmoid函数图像:

2)多层神经网络

        如图所示,第一列的五个圆圈叫输入层,最后一列的三个圆圈叫输出层,神经元则在中间三列,每一个神经元的运行方式和上述单层网络一样,如下图所示,上图的5个信号乘以权重的结果求和,然后再对求和的值映射到sigmoid函数,然后第一个神经元接收到这样的信息,然后第一列的每一个神经元都需要得到所有信号的处理,最后再将这通过映射得到的五个值当做信号x再次计算权重求和映射传给下一个神经元,传送到最后到输出层得到结果。(这里的为初期的神经网络构架)

3)小结

        神经网络:是由大量的节点(或称“神经元”)和之间相互的联接构成。
        每个节点代表一种特定的输出函数,称为激励函数、激活函数(activation function)。就相当于下图的红框内的函数:


        

        每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。相当于下列红框内的线条及其上所对应的w:

4、感知器

        由两层神经元组成的神经网络 -- “感知器”(Perceptron), 感知器只能线性划分数据。

        因为上述公式是线性代数方程组,因此可以用矩阵乘法来表达这两个公式:

        输出公式表达:

        输出的结果与训练集标签进行损失函数计算,与逻辑回归基本一致。

神经网络的本质

        通过参数激活函数拟合特征与目标之间的真实函数关系。但在一个神经网络的程序中,不需要神经元和线,本质上是矩阵的运算,实现一个神经网络最需要的是线性代数库。

5、多层感知器

         相对于上述感知器,多层感知器则增加了一个中间层,即隐含层,神经网络可以做非线性分类的关键--隐含层。

而矩阵的相乘也略微做了增加,如下所示:

6、动态图像示例

1)一个神经元

        图中的线型为模型,动态表示正在训练

        相当于下列状态: 

                一个输入层,一个输出层,一个神经元

2)两个神经元

        同样是一条线的形态去分类

        相当于下列所示:

                一个输入层,一个输出层,两个神经元

3)三个神经元

        相当于下图所示:

                一个输入层,一个输出层,三个神经元

        如需增加一个结果,则只需在输出层增加一个神经元即可。

7、多层感知器--偏置

        在神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。

        它本质上是一个只含有存储功能,且存储值永远为1的单元

        在神经网络的每个层次中除了输出层以外,都会含有这样一个偏置单元。

        偏置节点没有输入(前一层中没有箭头指向它)。 一般情况下,我们都不会明确画出偏置节点。

8、神经网络构造

        1)重点

                • 设计一个神经网络时,输入层与输出层的节点数往往是固定的中间层则可以自由指定

                • 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别

                 • 结构图里的关键不是圆圈(代表“神经元”)而是连接线(代表“神经元”之间的连接)每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

       
        2)如何构造中间层

               • 输入层的节点数:与特征的维度匹配

                输出层的节点数:与目标的维度匹配。

                中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。

二、损失函数

1、作用

        它用于量化模型预测值与真实标签之间的差异,并指导模型的优化过程。

2、模型训练目的

        使得参数尽可能的与真实的模型逼近。

3、常用损失函数

        0-1损失函数、均方差损失、平均绝对差损失、交叉熵损失、合页损失

4、具体做法

        1)首先给所有参数w赋上随机值。我们使用这些随机生成的参数值,来预测训练数据中的样本,当预测结果与真实值差距大,则需要去调整w的值来使其接近真实值

        2)计算预测值为yi,真实值为y。那么,定义一个损失值loss,损失值用于判断预测的结果和真实值的误差,误差越小越好。

        例如,有下列一堆数据,其中包含训练集和测试集,训练集和测试集又被分为训练特征集和训练标签,以及测试特征集和测试标签,而这里的标签集则表示真实值,将特征集作为输入信号,放入输入层对其进行训练,最后得到训练结果 ,训练结果叫预测值,然后再将预测值与真实值作比较。

        使用均方差损失函数计算损失值

        有上述得到预测值后,对真实值与预测值作差然后做平方,计算每一条数据的差值平方加起来,然后再除以数据的条数即可得到损失值。

        对于均方差损失函数,当标签是连续型的值,或者回归类型的值时很适用,但是当数据是离散型的那么使用它将效果差。

5、多分类情况下计算损失值

        分类的情况下一般使用softmax交叉熵损失函数

        公式:

完整流程:

        例如输出端输入的是猫、狗、羊,分别代号为0,1,2,输入端为一张图片,利用模型来判断这张图片中的动物是这三种动物的哪一种,输入一张图后得到三条数据,分别表示猫、狗、羊的值,然后将这三个值使用e的次方进行放大,以此来拉开差距,然后对放大后的数据进行归一化得到各个结果的概率,然后此时如果图片真实为猫的照片,那么第一行所表示的则为猫的概率,然后对这三个概率求负对数的值,这个负对数的值就是交叉熵损失值。

        log与-log图像如下图所示

        

        如果传入照片,猫的神经元输出数值相比其他越大, 计算的损失值会越小,也表明越靠近真实结果。 如果训练时,类别分错了,则会出现大的损失值。

6、正则化惩罚

        正则化惩罚用于避免模型过拟合到训练数据,从而提高模型的泛化能力。正则化惩罚通过在目标函数中引入一个正则化项,以限制模型参数的大小或复杂度。

1)正则化惩罚的功能

        主要用于惩罚权重参数w,一般有L1和L2正则化。

2)L1正则化

        L1正则化通过在目标函数中加入参数的L1范数(绝对值之和),使得模型更倾向于产生稀疏的权重矩阵,即将一部分参数置为0,从而减少模型的复杂度。这可以帮助筛选出对模型影响较大的特征,提高模型的鲁棒性和可解释性。

        公式为:

                L1 = ∑ |w|    w为权重参数

3)L2正则化        

        L2正则化通过在目标函数中加入参数的L2范数(平方和的开方),使得模型更倾向于产生较小的权重值。这可以有效地控制模型参数的大小,避免出现过大的参数值,从而减少模型对训练数据的过拟合。

        公式为:

                L2 = 1/2 *w**2   w为权重参数

4)示例

        有如下模型:

        当输入为 x = [ 1,1,1,1 ] ,现有两种不同权重值,如下所示

        w1 = [ 1,0,0,0 ]

        w2 = [ 0.25,0.25,0.25,0.25 ]

        w1和w2与输入的乘积都为1,但w2 与每一个输入数据进行计算后都有数据,使得w2会学习到每一个特征信息。而w1只和第1个输入信息有关系,容易出现过拟合现象,因此w2的效果会比w1 好。

        此时就使用均方差损失函数来计算损失值更合适,因为它适用于连续型的值

此时的公式与上述略有不同,即增加了一个正则化惩罚项

        当使用L1正则化时即增加一个λ*L1

        当使用L2正则化时即增加一个λ*L2

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

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

相关文章

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器&#xf…

通过nginx代理转发实现共用80和443端口

目录 项目场景: 问题:怎么实现端口共用? 一、域名解析到nginx服务器 二、创建vhost解析到实际的服务器 三、防火墙的配置 项目场景: 公司自建服务器,有一条专线带有公网IP,如何满足不同的域名解析共用…

go-map系统学习

map底层结构 Goland的map的底层结构使用hash实现,一个hash表里有多个hash表节点,即bucket,每个bucket保存了map中的一个或者一组键值对。 map结构定义: runtime/map.go:hmap type hmap struct {// Note: the format of the hma…

win10 安装多个版本的python

1,安装python3.9 和python3.10 2, 安装完之后分别打开两个版本的Python的安装目录(第一层目录),把pythonw.exe分别重命名为pythonw_39.exe和pythonw_310.exe,把python.exe复制一份,并分别重命名为python_…

【C++】_stack和_queue容器适配器、_deque

当别人都在关注你飞的有多高的时候,只有父母在关心你飞的累不累。💓💓💓 目录 ✨说在前面 🍋知识点一:stack •🌰1.stack介绍 •🌰2.stack的基本操作 🍋知识点二&…

怎么利用XML发送物流快递通知短信

现如今短信平台越来越普遍了,而短信通知也分很多种,例如服务通知、订单通知、交易短信通知、会议通知等。而短信平台在物流行业通知这一块作用也很大。在家时:我们平时快递到了,如果电话联系不到本人,就会放到代收点,然…

力扣之1777.每家商店的产品价格

文章目录 1. 1777.每家商店的产品价格1.1 题干1.2 建表1.3 题解1.4 结果截图 1. 1777.每家商店的产品价格 1.1 题干 表:Products -------------------- | Column Name | Type | -------------------- | product_id | int | | store | enum | | price | int | ---…

分布式调度方案:Elastic-Job

文章目录 一、什么是分布式调度二、Elastic-Job 介绍三、Elastic-Job 实战3.1 环境搭建3.1.1 本地部署3.1.2 服务器部署3.1.3 Zookeeper 管控台界面 3.2 入门案例3.3 SpringBoot 集成 Elastic-Job3.4 任务分片(★)3.5 Dataflow 类型调度任务 一、什么是分…

提升LLM能力表现的四种AI代理策略

欢迎来到AI产品经理从0到1研习之旅。 “AI Agent”系列的第二篇,它来了!我说过,AI Agent才是我最看好的(大模型落地应用)未来,嘿嘿,目测有很多大佬与我有相似的看法。 本文从吴恩达&#xff0…

Python | Leetcode Python题解之第401题二进制手表

题目&#xff1a; 题解&#xff1a; class Solution:def readBinaryWatch(self, turnedOn: int) -> List[str]:ans list()for i in range(1024):h, m i >> 6, i & 0x3f # 用位运算取出高 4 位和低 6 位if h < 12 and m < 60 and bin(i).count("1&…

浙大数据结构:03-树2 List Leaves

这道题我借用了一点上一题的代码思路&#xff0c;这题考察的主要是层序遍历&#xff0c;即用队列来实现&#xff0c;当然此处我依然采用数组模拟队列来实现。 机翻 1、条件准备 map的键存下标&#xff0c;后面值分别存左右子树的下标&#xff0c;没有子树就存-1. head数组只…

产业园服务体系建设,是否已全面覆盖企业成长的每一个阶段?

在当今竞争激烈的商业环境中&#xff0c;产业园作为企业发展的重要载体&#xff0c;其服务体系的完善程度至关重要。那么&#xff0c;产业园服务体系建设&#xff0c;是否已全面覆盖企业成长的每一个阶段呢&#xff1f; 从企业的初创期来看&#xff0c;产业园可以提供办公场地的…

数据结构与算法学习day21-二叉树

一、从中序与后序遍历序列构造二叉树 1.题目 106. 从中序与后序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09; 2.思路 以后序&#xff08;左右中&#xff09;数组的最后一个元素为切割点&#xff08;根节点&#xff09;&#xff0c;切割的节点切中序&#xf…

初学者指南:MyBatis 入门教程

主要介绍了Mybatis的基本使用、JDBC、数据库连接池、lombok注解&#xff01; 文章目录 前言 什么是Mybatis? 快速入门 使用Mybatis查询所有的用户信息 配置SQL提示 JDBC介绍 Mybatis 数据库连接池 lombok 总结 前言 主要介绍了Mybatis的基本使用、JDBC、数据库连接…

Tableau学习日记

Day1&#xff1a;Tableau简介、条形图与直方图 1.Tableau绘制条形图 1.1 条形图1&#xff1a;各地区酒店数量 1.2 条形图2&#xff1a;各地区酒店均价 1.3 堆积图&#xff1a;价格等级堆积图 2.Tableau绘制直方图 2.1创建评分直方图 Day2&#xff1a;Tableau简介、条形图与直…

Flutter类

Dart中的对象都继承自 Object 类&#xff0c;单继承&#xff08;extend关键字&#xff09;。Dart与Java、kotlin不同的是其无public、private、protected修饰符&#xff0c;默认public &#xff0c;通过在属性名、方法名前加 _下划线 来定义是否私有。 实现一个简单的类 class…

pod被驱逐追溯根因

背景 收到pod报警&#xff0c;看到其状态是error&#xff0c;新的pod又在另外一台机器上起来了。 原因分析 describe pod看到pod被驱逐 Status: Failed Reason: Evicted Message: The node was low on resource: ephemeral-storage. Containe…

数据结构之红黑树的 “奥秘“

目录&#xff1a; 一.红黑树概念 二. 红黑树的性质 三.红黑树的实现 四.红黑树验证 五.AVL树和红黑树的比较 一.红黑树概念 1.红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何 一条从根…

YOLO配合 PYQT做自定义虚拟电子围-自定义绘制多边形虚拟电子围栏

电子围栏标注以及显示 1、目标检测&#xff1a; YOLO可以识别检测物体&#xff0c;这是众所周知的。使用YOLO来做目标检测&#xff0c;并获取坐标信息。 2、电子围栏 比如在监控中&#xff0c;指定一块区域&#xff0c;如果有目标进入&#xff0c;则发出警报&#xff0c;并提…

《基于深度半监督学习的目标检测综述》泛读

基于深度半监督学习的目标检测方法分为 1、生成式方法 2、一致性正则化方法 3、基于图的方法 4、伪标记方法和混合方法 然后基于常用数据集 对典型方法进行了性能对比&#xff0c;最后分析了其挑战和发展趋势&#xff0c;旨在为相关研究提供参考 收获就是&#xff1a; 1…