深度网络学习笔记

这里拿CIFAR-10数据集中的数据为例子(一共10个标签:猫 狗 飞机等等)
在这里插入图片描述

PS :新学者须知 : 在计算机眼里,我们的图片传进去是以一个个像素点大小的矩阵形式

矩阵某处的数值越大,表示该像素点颜色越深
在这里插入图片描述

一、得分函数

1、线性函数(从输出 --> 输出的映射)

线性函数:得分函数

意思就是当我把这张32 X 32 X 3 的照片 输入此函数 它的输出值就是这张图对于每个类别(标签)的相应得分(比如:在猫类别得分 500 在狗类别得分400 在飞机类别得分200)

在这里插入图片描述
x :表示这张图片的像素点构成的矩阵(32 X 32 X 3 = 3072个)
w :表示每个像素点对应的权重参数矩阵。因为每个像素点对应每个标签时它的权重又不同(比如:猫标签此处像素点权重大,狗标签此处像素点权重低)所有一共就会有10个(对应10个标签)权重参数矩阵.(32 X 32 X 3 X 10 = 30720个)

w1 w2 。。。。不同标签的权重参数矩阵
在这里插入图片描述

xw 两矩阵相乘 在把所以值相加返回出一个值,就是输出图在当前标签下的得分(要10个值 对应 10个标签)

但是实际的函数会有偏置项 偏置参数(b) y = kx + b

权重参数起决定性作用, b起微调的作用

在这里插入图片描述

就是:每次xw相乘值相加算出来后 + 上每个标签特有的微调b 就 = 最后输入图片对应当前标签的值。
在这里插入图片描述

二、损失函数

如图:假设当前图 只有4个像素点 表示为如下图【56 231 24 2】的矩阵

标签参数权重矩阵:w1,w2,w3对应3个标签,各自行有4个值对应4个像素点

求和(当前权重 x 当前像素值 )+ b = 对应标签的值

在这里插入图片描述
PS:参数矩阵值大小表明当前标签在当前像素点的重要程度

如图:狗标签中(绿色) 2.1 最大,表示狗标签的当前像素点很重要
在这里插入图片描述
我们传入的是个在这里插入图片描述
图,但是很明显结果训练出来狗标签的评分高,被识别成了在这里插入图片描述

在这里插入图片描述
我们要怎么样来优化这个结果???
很明显在x 不能变的情况下, w参数矩阵是能变得
在这里插入图片描述
深度学习其实就是不断训练,寻找一个合理合适的w权重参数矩阵的过程!!!

在初始随意定义w矩阵,在深度学习过程中慢慢调w的值,使得训练结果越来越好

现在问题是:如何衡量分类的结果好坏,我们需要明确的指导模型的当前效果,有多好,有多坏。

这就是损失函数的意义!

这里列一个简单的损失函数(sj表示输入在当前标签下的返回值,sy表示输入对应正确标签的返回值) 1 相当于容忍范围
在这里插入图片描述
如图:第一个在这里插入图片描述图将结果带入损失函数算出来2.9 。
在这里插入图片描述图的损失值为0,表面基本已经能正确分类。
最后蜥蜴图为负数,效果更不好,错误越离谱。

这里就表明损失函数 对应的 损失值越小,证明当前效果越好.

总结:损失函数就是衡量当前深度学习得出的这组w权重参数的好坏程度
在这里插入图片描述

三、前向传播

说白了:就是有了x w 到 得到输出损失的过程

回归任务:得分值计算损失

分类任务:概率值计算损失

在这里插入图片描述

因为我们得出的是一个得分,在分类任务中我们想把它变成概率,应该怎么做?

这就是sigmoid函数的用处
在这里插入图片描述
这里我们看细化一下将一下真实算损失的过程,实际需要做归一化处理,再来计算损失值,大部分自己写的损失函数都是-log(x)形式,如下图:
在这里插入图片描述

放大结果差异,让结果的不同更明显,对应公式的
在这里插入图片描述

在这里插入图片描述
再将得分转换为概率形式,如0.13 = 24.5 / 24.5 + 164 + 0.18 的出当前值 在所有标签中的概率
在这里插入图片描述

在这里插入图片描述
最后我们拿对应真实的概率得分,去算当前模型的损失值
在这里插入图片描述

在这里插入图片描述

四、反向传播

前面说过:神经网络就是不断更新权重参数w的过程。
在这里插入图片描述
举个简单例子:反向传播的意义就是求每个w权重参数,对模型的意义。因为我们要让损失值,尽可能的小,表示模型效果越好,所有要让损失值下降的越多,就是向损失值下降越快的方向更新,这就是梯度下降方法。(具体怎么是求,就是求各个参数偏导数,如下图:分别求x y z的偏导,就能就算出x y z对模型梯度下降的贡献)
在这里插入图片描述
而实际的神经网络中,我们会定义不止一个w,就例如:[(x w1)w2 ] w3 = f
在这里插入图片描述
比如这里我们求x y 的偏导时,不是一步到位的,而是要先求q的偏导
在这里插入图片描述
这就表明我们在深度学习中,在存在w1,w2,w3多层多个权重参数时,我们是往回一层一层的求导,才能得出我们想要w的偏导,才能得出我们想要计算的梯度。梯度时一步一步传播的。
在这里插入图片描述
这就是反向传播,一直从后逐层求解各个w参数权重的梯度值。

五、神经网络

A B C 为输入的特征值,其中在整个神经网络中各个层次存在的值都能说为神经元(如下图的圆圈)

经过W1 参数矩阵的加权等等算法变成了计算机能读懂,能评估的值(这就是为什么3个变成了4个,因为要让计算机更好理解直接特征的具体意义,所以它是黑盒子,我们程序员其实是看不到的,这是计算机自己计算的结果),再通过w2,w3有几个参数权重就有几层,最后输出。
在这里插入图片描述

六、常用深度学习神经网络

1、CNN(卷积神经网络):

卷积神经网络是一种专门用于处理图像和图像数据的深度学习模型。它通过卷积层和池化层来提取图像中的特征,然后通过全连接层进行分类或回归任务。CNN在计算机视觉中广泛应用,用于图像分类、物体检测和图像分割等任务。
在这里插入图片描述

2、RNN(循环神经网络):

循环神经网络是一种用于处理序列数据的神经网络模型。它通过循环结构来处理序列数据,可以捕捉时间依赖性。RNN常用于自然语言处理(NLP)和时间序列分析,但存在梯度消失问题,使其难以处理长期依赖。
在这里插入图片描述
循环神经网络(RNN)有两个强大的属性可以计算任何计算机计算出来的东西:(1)允许存储大量有效信息的分布式隐藏状态(2)用复杂的方式允许更新隐藏状态的非线性动态。RNN强大的计算能力和梯度消失(或爆炸)使其很难训练。通过多层反向传播时,若权重很小,则梯度呈指数缩小;若权重很大,则梯度呈指数增长。典型的前馈神经网络的一些隐藏层可以应对指数效应,另一方面,在长序列RNN中,梯度容易消失(或爆照),即使有好的初始权重,也很难检测出当前依赖于多个时间输入的目标输出因此很难处理远程依赖性

3、GAN(生成对抗网络):

生成对抗网络包括生成器和判别器两部分,通过对抗训练生成高质量的合成数据。生成器试图生成与真实数据相似的数据,而判别器则尝试区分真实数据和生成数据。GAN广泛用于生成图像、音频和文本等任务。
在这里插入图片描述

4、LSTM(长短时记忆网络):

长短时记忆网络是一种改进的循环神经网络,专门设计用于捕捉长期依赖关系。LSTM具有内部存储单元,能够更好地处理长序列,如机器翻译和语音识别。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、DQN(深度 Q 网络):

深度 Q 网络是一种用于强化学习的模型,用于解决决策问题。它学习一个值函数(Q值函数),以指导智能体在环境中选择行动以最大化累积奖励。DQN广泛用于游戏玩法和机器人控制等领域。(游戏动作捕捉)
在这里插入图片描述

6、GNN(图神经网络):

图神经网络是专门用于处理图数据的深度学习模型。它们能够捕捉节点和边之间的复杂关系,广泛用于社交网络分析、推荐系统、生物信息学和物理模拟等领域。通过在图上执行节点聚合操作来传播信息。(3D视觉)

与传统NN的区别(GNN优点)

1.节点
CNN和RNN等都需要节点的特征按照一定的顺序进行排列
但对于图结构,并没有天然的顺序。所以,GNN采用*在每个节点上分别传播(propagate)*的方式进行学习,由此忽略了节点的顺序,相当于GNN的输出会随着输入的不同而不同。

2.边(图结构的边表示节点之间的依存关系)
传统的神经网络不是显式地表达中这种依存关系,而是通过不同节点特征来间接地表达节点之间的关系,这些依赖信息只是作为节点的特征。
GNN 可以通过图形结构进行传播,而不是将其作为节点特征的一部分,通过邻居节点的加权求和来更新节点的隐藏状态

3.推理
推理是高级人工智能的一个非常重要的研究课题,人脑中的推理过程几乎都是基于从日常经验中提取的图形。标准神经网络已经显示出通过学习数据分布来生成合成图像和文档的能力,同时它们仍然无法从大型实验数据中学习推理图。然而,GNN 探索从场景图片和故事文档等非结构性数据生成图形,这可以成为进一步高级 AI 的强大神经模型。

7、Transformer(变换器):

变换器是一种创新性的深度学习模型,最初用于自然语言处理任务。它采用了自注意力机制,允许模型同时考虑输入序列中不同位置的信息。Transformer模型已经成为NLP任务的主流架构,如BERT、GPT和T5。(自然语言处理)
在这里插入图片描述

8、DBN(深度置信网络):

深度置信网络(Deep Belief Networks)DBN算法是机器学习之神经网络的一种,既可以用于非监督学习,也可以用于监督学习。DBN是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布。通过训练其神经元间的权重,可以让整个神经网络按照最大概率来生成训练数据。
不仅可以使用DBN来识别特征、分类数据,还可以用它来生成数据。DBN算法是一种非常实用的学习算法,应用范围较广,扩展性也强,可应用于机器学习之手写字识别、语音识别和图像处理等领域。
在这里插入图片描述

这些模型在不同领域和任务中都具有广泛的应用,选择适当的模型取决于您的数据和问题类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值