聊一聊深度学习--包括计算前馈网络的反向传播和卷积的反向传播(一)

简介: 聊一聊深度学习--包括计算前馈网络的反向传播和卷积的反向传播

引言


人工智能领域的流派


1.符号主义:逻辑主义,心理学派(推理期,心理期)

2.连接主义:仿生学派或生理学派

(殊途同归,各有所长)


机器学习流程(了解)


将输入信息处理,让计算机从数据(经验)中发现规律,构建一个映射函数,根据规律做出相应预测,完成某方面特定任务。

下面的都是非结构化数据;

1.png

例如西瓜书–>西瓜机器学习任务:

 随机选取西瓜样本,列出所有特征(颜色,根蒂、产地……)以及确定甜度(回归问题)

 那就需要一个学习算法:(机器学习一般流程)

 原始数据 --> 特征处理(数据预处理(缺失值填充或删掉,文本特征数据化,独热编码)–> 特征提取 --> 特征转换)–>预测 -->结果

 由于特征工程往往占工程的80%,并且会被工程师的个人偏好影响,我们希望能自动地学习有效特征,所以我们出现了表示学习。


表示学习


2.png

花书的引言中就提到了这四个过程:


基于规则:输入 — 手工制定程序 —输出(人工实现)

一般化机器学习:输入 — 手工制定程序 —由特征通过模型映射—获得输出预测

表示学习:输入 — 特征提取— 由特征通过模型映射— 获得输出预测

优化:输入 — 简单的特征提取— 更深一层特征提取抽象特征(多层) — 由特征通过模型映射— 获得输出预测(Deep Learing)


语义鸿沟


 对于文本、图像中提取信息 或从字符串或图像底部提取特征(计算机很难理解)

 图像是一个三或四通道的图像矩阵,仅仅是数字不能被理解。


好的数据表示


有很强的表示能力 (能够表达语义信息)

使后续的学习任务变简单 (接上后边进行映射的模型,我们希望获得更有用的特征使后续简单)

具有一般性或者说通用性,是任务或领域独立的 (不仅仅针对于西瓜二分类:甜与不甜,对于手写数字识别也能通用,便于迁移)


语义表示


局部表示


(离散表示、符号表示)

one-hot向量 映射投入嵌入空间坐标系(如图是一个二维的嵌入空间 即从三维压缩到二维)

3.png

 新的数值表达就是一个压缩的、低维的、稠密向量的表达也就是下面的分布式表达,而之前的one-hot向量就是一个局部表示。

特点::

优点:


1.这种离散的表示方式具有很好的解释性,有利于人工归纳和总结特征,并通过特征组合进行高效的特征工程;(与下面的相似度为0对应)

2.通过多种特征组合得到的往往是稀疏的二值向量,使线性模型计算效率很高。


缺点:

**维数很高,不能扩展,**往往新增一个数据就要增加维度。

对于不同特征,**相似度为0,**无法得到两两特征间的相似度。(对于智能推荐的相似度很明显)


分布式表示


嵌入:压缩、低维、稠密向量


 从局部到分布式节省空间,例如

局部 : A B C D表示为 0001 0010 0100 1000

分布式 : A B C D表示为[0.3,0.5] [0.4,0.45][0.45,0.6][0.62,0.56]

 同样更省空间可以保存新的值 例如加入E则要用5个数表示ABCDE,而分布式只是在加一个小数数组。E[0.8,0.34]

嵌入的概念:嵌入通常指将一个度量空间中的一些对象映射到另一个低维的度量

空间中,并尽可能保持不同对象之间的拓扑关系。


学习过程


监督学习:有反馈


根据误差更新学习系统。


无监督学习:无反馈


自己总结数据中的规律,没有类别标签 例如 聚类问题


强化学习:多步之后反馈


学习和强化过程,与环境交互有关系

例如:自动驾驶 没有标签


神经网络的性质和能力


1.非线性:

  ⼈⼯神经元可以是线性的,也可以是⾮线性的。

 ** ⾮线性是⼀个⾮常重要的特性,特别是当产⽣输⼊信号的内部物理机制是天⽣⾮线性的时候**

激活函数

2.输⼊输出映射:

  即可进⾏监督学习 同样的神经网络模型得到相同的结果

3.⾃适应性:

  ** 神经⽹络具有调整⾃身突触权值以适应外界环境变化的固有能⼒。**

4.证据响应:

  在模式分类问题中,神经⽹络可以设计成不仅提供选择哪⼀个特定模型的息,还提供关于决策的置信度信息。后者可以⽤来拒判那些可能出现的过于模糊的模式,从⽽进⼀步改善⽹络的分类性能。

5.上下⽂信息:

  神经⽹络的特定结构和激发状态代表知识。⽹络中每⼀个神经元都受⽹络中所有其他神经元全局活动的潜在影响。因此,神经⽹络很⾃然地能够处理上下⽂信息。

6.容错性:

  神经⽹络在不利的运⾏条件下的性能是逐步下降的。⽐如⼀个神经元或其连接坏了,存储模式的记忆性在质量上会被削弱。但由于⽹络信息存储的分布特性,部分神经元的损坏不会造成灾难性的后果。

7. 超⼤规模集成实现:

  神经⽹络的⼤规模并⾏性使它具有快速处理某些任务的潜在能⼒。

8.分析和设计的⼀致性:

  神经⽹络作为信息处理器具有通⽤性。神经元,不管形式如何,在所有的神经⽹络中都代表⼀种相同成分。这种共性使得在不同应⽤中的神经⽹络共享相同的理论和学习算法成为可能。模块化⽹络可以⽤模块的⽆缝集成来实现。


前馈神经网络


 深度前馈网络,也叫作前馈神经网络或者多层感知机,是典型的深度学习模型。

 前馈网络是近似一个函数F,对于分类器:y = F(x) 将输入值映射到一个类别y,  前馈网络是定义一个映射y=f(x,α),并且学习参数α的值,使它与最佳函数近似。

 这样被称为前向的,因为信息流过x函数,流经用于定义f的中间计算过程,最终到达输出y。在输入和模型本身没有反馈连接,若扩展为包含反馈连接,则称为循环神经网络。


线性&非线性


4.png

对于数据的分布确定线性可分与线性不可分。

简单地栗子,可以是我们的AND OR XOR计算

5.png

 前两个操作,都可以找到一条分割线将数据分开,而XOR运算并不能通过线性进行分隔,下面会详细介绍分隔方法。

6.png

7.png

线性变换和线性映射:

线性映射:从一个向量空间V到另一个向量空间W的映射并且保持加法运算和数量乘法运算;

线性变换:线性空间V到其自身的线性映射

线性变换:

变换前是直线的变换后仍然是直线

直线比例保持不变

变换前是原点的,变换后依然是原点


 之前的数字图像处理中的仿射变换是一个非线性变换(因为原点位置发生了变化)

我们有三个函数f(1); f(2)和f(3)连接在一个链上以形成f(x) =f(3)(f(2)(f(1)(x)))。这些链式结构是神经网络中最常用的结构。在这种情况下,f(1)被称为网络的第一层,f(2)被称为第二层,以此类推。链的全长称为模型的深度。

对于前馈网络最后一层是输出层,它产生接近y的值。而中间,训练数据没有给出每一层所需的输出,那这些层就是隐藏层。

每个隐藏层都是向量值的,而这些隐藏层维数就决定的是模型宽度。


以一个XOR进行前馈网络学习:

8.png

对于输入为 4行2列的x值

9.png

10.png

当进行上述网络计算后,过程如下

20210504114746613.png


此时我们得到的所有样本仍在斜率为1的直线上,不能线性可分,所以我们引入了rule线性变换,

12.png

使[0,-1]过滤为[0,0],变为折线,不在一条直线上,可以用线性模型解决了。

13.png

14.png

15.png

再乘以权重向量w

即对每一个样本都给出了正确结果。

16.png

该神经网络拓扑图为


激活函数的性质


1.连续并可导的(允许少数点上不可导)的非线性函数

不可导:比如relu取0的时候

2.激活函数及其导函数要尽可能简单

提高网络计算效率

3.激活函数的导函数值域要在合适的区间内


相关文章
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深入神经网络:从感知机到深度学习
【7月更文第17天】当我们谈论人工智能时,神经网络常常是那个闪亮的明星。从最初的简单模型——感知机,到当今复杂而强大的深度学习系统,这场技术革命正以前所未有的方式改变着我们的世界。今天,咱们就用通俗易懂的语言,搭配一些简单的代码示例,来一场《深入神经网络:从感知机到深度学习》的探索之旅。
26 8
|
5天前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进- Backbone主干】YOLOv8更换主干网络之ConvNexts,纯卷积神经网络,更快更准,,降低参数量!
YOLOv8专栏探讨了针对目标检测的ConvNet创新,提出ConvNeXt模型,它挑战Transformer在视觉任务中的主导地位。ConvNeXt通过增大卷积核、使用GeLU激活、切换到LayerNorm和改进下采样层,提升了纯ConvNet性能,达到与Transformer相当的准确率和效率。论文和代码已公开。
|
5天前
|
计算机视觉 网络架构
【YOLOv8改进 - 卷积Conv】DWRSeg:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
YOLO目标检测专栏探讨了YOLO的创新改进,如多尺度特征提取的DWRSeg网络。该网络通过区域残差化和语义残差化提升效率,使用DWR和SIR模块优化高层和低层特征。DWRSeg在Cityscapes和CamVid数据集上表现优秀,速度与准确性兼备。论文和代码已公开。核心代码展示了一个包含DWR模块的卷积层。更多配置详情见相关链接。
|
5天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之 PP-LCNet,轻量级CPU卷积神经网络,降低参数量
YOLO目标检测专栏介绍了PP-LCNet,一种基于MKLDNN加速的轻量级CPU网络,提升了模型在多任务中的性能。PP-LCNet利用H-Swish、大核卷积、SE模块和全局平均池化后的全连接层,实现低延迟下的高准确性。代码和预训练模型可在PaddlePaddle的PaddleClas找到。文章提供了网络结构、核心代码及性能提升的详细信息。更多实战案例和YOLO改进见相关链接。
|
10天前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
5天前
|
机器学习/深度学习 编解码 TensorFlow
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之EfficientNet,高效的卷积神经网络,降低参数量
YOLOv8专栏探讨了目标检测的创新改进,包括模型扩展和神经架构搜索。提出的新方法使用复合系数平衡网络的深度、宽度和分辨率,产生了EfficientNets系列,其在准确性和效率上超越了先前的ConvNets。EfficientNet-B7在ImageNet上达到84.3%的顶级准确率,同时保持较小的模型大小和更快的推理速度。文章提供了论文和代码链接,以及核心的EfficientNet模型构建Python代码。
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的未来:深度学习与神经网络的融合
【7月更文挑战第11天】随着科技的不断进步,人工智能(AI)领域正迎来前所未有的发展机遇。本文将深入探讨深度学习和神经网络这两大技术如何相互融合,共同推动AI的未来走向。我们将从基础概念出发,逐步解析它们在实际应用中的协同效应,并预测未来可能的发展趋势。
|
2天前
|
机器学习/深度学习 算法 BI
基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
**摘要:** 本文介绍了使用MATLAB2022a实现的基于GoogLeNet的USB摄像头手势识别系统。系统通过摄像头捕获视频,利用深度学习的卷积神经网络进行手势检测与识别。GoogLeNet网络的Inception模块优化了计算效率,避免过拟合。手势检测涉及RPN生成候选框,送入网络进行分类。系统架构包括视频采集、手势检测与识别、以及决策反馈。通过GPU加速和模型优化保证实时性能,应用于智能家居等场景。
|
6天前
|
机器学习/深度学习 算法
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:漏洞、加密技术与安全意识的深度剖析
在数字化时代,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文将深入探讨网络安全中常见的漏洞类型,介绍加密技术如何保护信息免受未授权访问,并强调培养安全意识的重要性。我们将通过具体案例和统计数据来展示网络攻击的实际影响,分析加密技术的工作原理及其面临的挑战,并提供实用的建议来提高个人和组织的安全意识。文章旨在为读者提供全面的网络安全知识,帮助他们在日益复杂的网络环境中保护自己的信息资产。