【机器学习300问】69、为什么深层神经网络比浅层要好用?

news2024/11/23 22:32:53

        要回答这个问题,首先得知道神经网络都在计算些什么东西?之前我在迁移学习的文章中稍有提到,跳转链接在下面:

为什么其他任务预训练的模型参数,可以在我这个任务上起作用?icon-default.png?t=N7T8http://t.csdnimg.cn/FVAV8        本文我不光从机器视觉,还举例自然语言处理和语音识别来更为全面的解答这个问题。当你知晓了神经网络在学什么东西后,你就会明白为什么深层的往往比浅层的好用,但这也并不是说深层的就一定好。

一、深层神经网络在计算些什么?

(1)先用个例子来感性解释一下

① 浅层神经网络 

        假设你在教一个小朋友认识不同的动物,最开始孩子可能通过直观的特征来区分,比如:“有毛的是动物,有翅膀的是鸟”。这时候孩子还只能用这种非常简单且低级的特征来进行分类。这就好比浅层神经网络,它智能捕捉到数据中最基本、最表面的特征。

② 深层神经网络

        随着孩子的成长和学习的深入,开始理解更复杂的概念。比如:“鸟是脊椎动物,有羽毛,能飞行”。这种对动物本质属性的认知,相当于构建了一个更复杂,更抽象,更深层次的理解框架。这就像深层神经网络,每一层可以学习到更抽象、更高级的特征表示。

(2)以机器视觉为例

        以机器视觉识别人脸为例,浅层、中层和深层神经网络各层在学习过程中承担的任务和所关注的特征可以形象地描述如下:

① 浅层

  • 学习内容:浅层神经网络主要负责捕捉和学习图像的基本特征,这些特征通常是局部的、直观的且易于从原始像素中提取得到的。
  • 具体特征举例:边缘(如人类的轮廓、眉毛的边缘等等)、纹理(如皮肤的质感、头发的纹理、胡须的分布等等)、色彩分布(如肤色区域、口红颜色等等)、简单几何形状(如眼睛和鼻孔这些圆形形状、嘴巴和眉毛等弧度曲线等等)

        浅层就像一个初学绘画的学生,刚开始的时候只是绘画对象的基本线条和色彩,如画出人脸的大致轮廓、眉毛的位置、眼睛的形状等。

② 中层

  • 学习内容:中层神经网络在浅层特征的基础上进行更复杂的组合和抽象,学习到局部结构部件特征
  • 具体特征举例:部件(识别出构成人脸的关键部位,如眼睛、鼻子、嘴巴、耳朵等)、局部特征组合(如眼眉组合、鼻唇沟、面部对称性等,这些特征反映了人脸特定区域的相互作用和整体布局)、初步的不变性(对光照、表情、角度等变化有一定的鲁棒性,能够识别在一定变化下的相同人脸特征)

        中层就像已经有一定绘画功底的学生,开始注重描绘对象的细节和各部分的相互关系,如细致刻画眼睛的形状、睫毛的长短,以及鼻子与嘴唇的比例协调等。

③ 深层

  • 学习内容:深层神经网络致力于学习全局和高层次的抽象特征,这些特征代表了人脸的整体结构、身份特性和类别的本质属性。
  • 具体特征举例:全局布局(人脸各部件间的全局空间关系,如三庭五眼的比例、脸型特征、五官的整体朝向等)、独特特征(与个体身份紧密相关的独特特征,如额头形状、下巴轮廓、眉骨突出程度等,这些特征有助于区分不同个体)、类内变异性(同一人不同表情、姿态、光照条件下的不变特征,即尽管表情或角度发生变化,仍能识别出这是同一个人)、类间差异性(不同个体间的关键区分特征,使得模型能够准确地区分大量不同的人脸)

        深层就像是经验丰富的画家,不仅能精确描绘对象的所有细节,还能把握其精神气质和个性特征,使画作超越表象,传达出人物的身份特性和内在神韵。

(3)以自然语言处理为例

        在自然语言处理(NLP)中的文本分类任务,特别是情感分析,浅层、中层和深层神经网络各层同样承担着不同的学习任务,逐步构建起对文本特征的多层次理解。

① 浅层

  • 学习内容:主要关注文本的局部词汇特征基本语言结构
  • 具体特征举例:词汇(学习单个词汇的出现频率、词形及其在词汇表中的索引等基本信息)、语法(捕捉词汇的词性如名词、动词、形容词等等,以及一些简单形态变化如复数、过去式等)、短语(对于基于词的模型,可能学习相邻词语的组合,初步捕捉短语级别的信息)

        浅层如同初次阅读文本的学生,重点关注词汇的字面含义和基本语法结构,理解单个词汇和简单短语的意义。

② 中层

  • 学习内容:在浅层特征基础上,进一步学习局部语义上下文关联
  • 具体特征举例:局部语义(通过学习词汇在特定上下文中的含义,捕捉一词多义现象,如根据上下文识别出某个词的特定情感色彩或专业术语含义)、句法结构(理解更复杂的句法关系,如主谓宾结构、修饰关系、并列结构等,这有助于模型理解文本的逻辑层次)、上下文依赖(捕捉词汇之间的长期依赖关系,如动词与其宾语、形容词与其修饰对象之间的语义关联,以及词汇在句子中的情感连贯性)

        中层如同具有一定阅读理解能力的学生,不仅能理解词汇和短语,还能把握它们在句子中的确切意义和相互关系,理解句子的局部语义结构。

③ 深层

  • 学习内容:学习全局语义主题概念文本意图,并能够对整个文本进行抽象概括。
  • 具体特征举例:全局感情线索(整合整个文本的情感线索,识别出文本总体的情感极性如正面、负面、中性,和强度)、主题建模(提炼出文本的核心话题或主题,这有助于理解文本讨论的主要内容及其情感关联)、篇章结构(理解和捕捉文本内部段落之间的逻辑关系,以及整个文本的起承转合,这对于长文本的情感分析尤为重要。)、文本类型(识别文本所属的文体类别,如新闻报道、评论、对话等,和写作风格,这些因素可能影响情感表达的方式和强度)

        深层如同深度阅读并进行文本分析的专家,能够全面理解文本的主旨、情感基调、论述结构和整体风格,不仅知其言,更能解其意,把握文本的深层情感内涵和表达意图。

(4)以语音识别为例

        在语音识别任务中,浅层、中层和深层神经网络各层负责学习不同级别的声音特征和语音模式。以下是对各层学习内容的具体描述:

① 浅层

  • 学习内容:浅层神经网络主要关注基本声学特征短暂的声学事件
  • 具体特征举例:声谱特征(学习从语音信号中提取的基本声学参数,如梅尔频率倒谱系数、线性预测编码系数等,这些特征反映了声音的频谱分布和能量变化)短时模式(识别短暂的声学事件,如特定频率的共振峰、清浊音的区分、辅音的爆发特征、元音的持续特性等)局部时序关系(捕捉相邻帧之间声学特征的微小变化,如音调的细微波动、连续辅音的过渡等)

        浅层就像一位听觉敏锐的音乐家,专注于聆听音符的高低、强弱、长短,以及它们在短时间内如何交织成基本旋律片段。

② 中层

  • 学习内容:中层神经网络关注局部语音单元短期时序结构
  • 具体特征举例:音素特征(识别并区分构成语言的各个音素,如元音、辅音,以及它们在特定语言环境下的变体,如同音异义词的区分)音节与词边界(学习识别音节的起止位置和边界特征,以及词与词之间的间隔,这对于正确分割连续语音流至关重要)短语内部结构(理解短语内部的韵律特征,如重音、停顿、语速变化,这些特征有助于区分语义相关的词汇群组)

        中层就像一位语言学者,不仅能听出单个音素,还能辨析它们如何组成有意义的音节和词,以及这些词如何按照语言规则组合成短语。

③ 深层

  • 学习内容:于学习全局语言结构语义信息说话风格
  • 具体特征举例:语法结构(捕捉并理解语音中的句法信息,如主谓宾关系、从句嵌套、修饰成分等,这对于准确识别复杂的长句至关重要)、语义概念(通过学习词汇和短语在特定上下文中的含义,理解整句话的语义内容,这有助于减少多义词引起的歧义)、话语模式(识别并适应不同的话语类型,如陈述、疑问、命令。以及相应的语调模式,同时考虑说话人的语气、情绪和语境因素对语音识别的影响)、说话人及环境特征(学习说话人的个体特征,如性别、年龄、方言。以及录音环境因素,如背景噪声、回声、信道失真。以提高在各种实际场景下的识别性能)

        深层如同精通多国语言的翻译官,不仅能听懂每个单词和短语,还能解析复杂的句子结构,理解其深层语义,并适应不同的说话风格和环境背景,最终准确还原出完整的口头表达。

二、为什么要使用深层表示?

        深层的网络隐藏单元数量相对较少,隐藏层数目较多,如果浅层的网络想要达到同样的计算结果则需要指数级增长的单元数量才能达到。

        深层的网络这种由低级到高级、由局部到整体的多层次理解。使得模型能够有效捕捉多样性和复杂性。

三、不是所有神经网络任务都需要很深的层次

(1)任务本身就不复杂

        不同的机器学习任务对模型的复杂度需求各异。对于简单、线性可分或者特征与标签之间关系较为直接的问题,浅层神经网络或甚至传统的线性模型就足以胜任。

(2)过拟合风险

         随着网络深度的增加,模型的参数数量通常会显著增长,这可能导致模型对训练数据过度敏感,学习到过于复杂的模式,尤其是在数据量有限的情况下。过拟合时,模型在训练集上表现良好,但在未见过的新数据上性能急剧下降。对于数据规模较小或特征维度较低的任务,增加网络深度可能会引入不必要的复杂性,增加过拟合风险,而浅层或适度深度的网络反而能提供更稳健的泛化能力。

(3)浪费计算资源

         深度神经网络在训练和推断过程中通常需要更多的计算资源(如GPU时间、内存)和更长的训练时间。对响应速度和有严格要求的任务或者计算资源受限的场景,浅层或轻量级模型可能是更合适的选择。

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

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

相关文章

go work模块与go mod包管理是的注意事项

如下图所示目录结构 cmd中是服务的包,显然auth,dbtables,pkg都是为cmd服务的。 首先需要需要将auth,dbtables,pkg定义到go.work中,如下: 在这样在各个单独的go mod管理的模块就可以互相调用了。一般情况下这些都是IDE自动进行的,…

js纯前端实现语音播报,朗读功能(2024-04-15)

实现语音播报要有两个原生API 分别是【window.speechSynthesis】【SpeechSynthesisUtterance】 项目代码 // 执行函数 initVoice({text: 项目介绍,vol: 1,rate: 1 })// 函数 export function initVoice(config) {window.speechSynthesis.cancel();//播报前建议调用取消的函数…

CSS使用自己的字体

在项目的根目录下的static文件夹中放置字体文件。在项目中使用这个字体,需要2个步骤。 一. 你需要在全局样式文件中引入它。 假设你的全局样式文件是App.vue或者App.vue中引入的App.scss文件,你可以像这样引入字体文件: font-face {font-fa…

自然语言控制机械臂:ChatGPT与机器人技术的融合创新(下)

引言 在我们的上一篇文章中,我们探索了如何将ChatGPT集成到myCobot 280机械臂中,实现了一个通过自然语言控制机械臂的系统。我们详细介绍了项目的动机、使用的关键技术如ChatGPT和Google的Speech-to-text服务,以及我们是如何通过pymycobot模块…

C++面向对象程序设计 - 类和对象进一步讨论

在C中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。 一、习题一(构造函数默认参数) 示例代码: #includ…

主流App UI设计,7个在线平台供您选择!

在数字时代,用户界面(UI)设计变得非常重要,因为良好的UI设计可以改善用户体验,增强产品吸引力。随着技术的发展,越来越多的应用程序 ui在线设计网站的出现为设计师和团队提供了一种全新的创作方式。本文将盘…

关于Wordpress的操作问题1:如何点击菜单跳转新窗口

1.如果打开,外观-菜单-菜单结构内,没有打开新窗口属性,如图: 2.在页面的最上部,点开【显示选项】,没有这一步,不会出现新跳转窗口属性 3.回到菜单结构部分,就出现了

Mysql嵌套查询太简单了

1、子查询的分类 不相关查询: 子查询能独立执行 相关查询: 子查询不能独立运行 相关查询的执行顺序: 首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询, 若WHERE子句返回值为真,则取此元组放入结果…

CSS基础:margin属性4种值类型,4个写法规则详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集 268篇…

PaddleOCR训练自己模型(1)----数据准备

一、下载地址: PaddleOCR开源代码(下载的是2.6RC版本的,可以根据自己需求下载) 具体环境安装就不详细介绍了, 挺简单的,也挺多教程的。 二、数据集准备及制作 (1)下载完代码及配置…

Navicat for MySQL 使用基础与 SQL 语言的DDL

一、目的: Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发 工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大 部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、 管理用户等。…

软件工程及开发模型

根据希赛相关视频课程汇总整理而成,个人笔记,仅供参考。 软件工程的基本要素包括方法、工具和(过程) 方法:完成软件开发的各项任务的技术方法; 工具:运用方法而提供的软件工程支撑环境&#xff…

数据结构 -- 二分查找

本文主要梳理了二分查找算法的几种实现思路,基本概念参考 顺序、二分、哈希查找的区别及联系_生成一个大小为10万的有序数组,随机查找一个元素,分别采用顺序查找和二分查找方式-CSDN博客 1、基本概念 (1)前提条件:待查找数据必须…

Leetcode二叉树刷题

给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true public boolean isSymmetric(TreeNode root) {if(rootnull)return true;return compare(root.left,root.right);}public boole…

【Unity】游戏场景添加后处理特效PostProcessing

添加后处理特效PostProcessing 添加雾效果后处理何为后处理?添加后处理特效 添加雾效果 依次点击Window -> Rendering -> Lighting添加Lighting面板。 点击Lighting里面的Environment,找到Other Setting 将Fog选项勾选 更改下方的颜色 调整雾的浓…

自然语言处理: 第二十七章LLM训练超参数

前言: LLM微调的超参大致有如下内容,在本文中,我们针对这些参数进行解释 training_arguments TrainingArguments(output_dir"./results",per_device_train_batch_size4,per_device_eval_batch_size4,gradient_accumulation_steps2,optim"adamw_8bi…

JavaSE图书管理系统

JavaSE图书管理系统 思路一.Main方法二.User包1.User类2.NormaUser类3.AdminUser类三.book包1.BookList类2.Book类四.operation包1.IOPeration接口2.AddOperation类新增图书3.BorrowOperation类借阅图书4.DelOperation类删除图书5.FindOperation类查找图书6.ReturnOperation类归…

Unity解决:导出安卓apk 安装时报错:应用未安装:软件包似乎无效

Unity2018.4.36 导出安卓apk 安装时报错:应用未安装:软件包似乎无效 解决办法:因为安装到安卓12 需要添加添加过滤规则 在AS工程AndroidManifest.xml 添加过滤规则即可。 android:exported"true"

初识ansible服务剧本playbook及剧本编写实例

目录 1、playbook剧本文件概念 1.1 剧本文件的结构由4部分组成 2、配置实例 实例1-编写一个实现批量安装mariadb数据库的剧本 实例2-编写一个创建一个目录/backup,并在目录喜爱创建01.txt文件的剧本 实例3-编写一个添加定时同步时间的定时任务剧本 错误反思 1、playbook剧…

MDK-ARM Keil5.38 下载安装环境搭建

一、keil软件介绍 KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Keil由ARM公司收购,成为ARM的公司之一。 MDK(Microcontroller Development Kit) 也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For…