关于机器学习/深度学习的一些事-答知乎问(一)

如何将领域知识融入到深度学习模型中?

在早期的研究阶段,大多基于经验和对问题的一些理解, 启发式地设计网络, 并通过端到端学习的方式得到解决具体问题的深度模型。这类方法在很多问题如图像识别中取得了巨大的成功, 但随着相关研究的逐渐深入, 发现完全启发式设计的深度网络并不能在所有的问题中取得令人满意的果。一些依赖低层知识的视觉问题中, 如图像盲去模糊问题, 这种直接使用端到端策略和经验设计的网络就不能达到很好的性能。针对这类问题,一种最直接的方法就是:在端到端学习方法之前, 利用具有某种知识的模型驱动方法对数据进行预处理。

在机器学习模型的输入端对数据进行预处理是将知识融合到机器学习模型中一类重要的方法, 大致可以被归入两种方式:通过具有某种知识的模型驱动方法将原始数据转换为特征向量、对原始数据进行某种变换使得其与某种知识相关的特征如旋转不变性更加明显。第一种方式本质为特征工程, 在传统机器学习算法如决策树以及SVM中广为出现, 如:利用Haralick纹理特征模型、Canny滤波器提取具有纹理知识的特征向量作为SVM的输入的方法等。这类方法的优点在于能够获得与某些知识相关的特征输入, 缺点在于转换的过程中可能出现信息的丢失。第二种方式是一种类似预处理的形式, 在神经网络中出现更多, 如:通过与人眼成像相近的具有形状不变性的Gabor变换后的图像作为卷积神经网络的输入;通过获取信号信息的稀疏滤波器组变换后作为卷积神经网络的输入 ;通过统计梯度信息而来的HOG或Fishier向量变换后的图像作为卷积神经网络的输入;通过保稀疏性的小波变换后的图像作为卷积神经网络的输入。这些方法的优点在于加强了与某种知识如形状相关的特征, 从而使得在输入端更加具有区分性, 但存在着过于依赖人为选定的超参数、无法跟随目标函数更新参数的问题。

如何将领域知识融入网络结构?

随着深度学习的发展,当面对复杂问题的时候,在深度神经网络提取特征的过程中完全抛弃知识是非常不明智的策略。虽然有很多研究者在深度网络处理数据之前, 利用具有某种知识的模型驱动方法对数据进行预处理, 但是这种方法没有进行实质性地改造深度网络, 且这种两阶段方法从端到端学习策略来看很难达到最优。另一方面, 具有某种知识的模型驱动方法如Schmid滤波器能够保持旋转不变性, 这类知识很符合深度网络中浅层网络结构所需要的特征。因此, 很多研究者利用具有某种知识的模型驱动方法来改进深度网络的网络结构, 用这种方法在深度网络中融入知识能够提高模型的性能。

这方面的研究主要分为三个大方向:通过知识对输入进行编码并添加到神经网络的输入端构建第一层网络、利用知识改变神经网络的部分结构、利用知识改变神经网络的整体结构。

第一种方式是通过编码知识作为神经网络的辅助输入构建第一层网络的方式实现的,比如利用文本信息作为辅助输入的算法。

第二种方式是通过改变神经网络的部分结构(如:卷积神经网络中的卷积核)实现的:为保持深度网络往边缘以及纹理信息的方向进行端到端学习,利用Gabor 滤波器改进深度网络的网络结构, 如使用固定参数Gabor滤波器作为第一卷积层的卷积核方法,使用Gabor 滤波器初始化卷积核的方法;使用Gabor滤波器和普通卷积核相乘的方法。这一类方法的优点在于适当调整网络的部分结构, 从而将知识嵌入到整个深度网络学习的过程中, 缺点在于大部分方法对于初始化或参数的选择要求都很高, 且这些参数难以更新。

第三种方式是通过对整个神经网络的结构作出调整实现的,比如为了保全局信息和边缘信息将多尺度全卷积残差网络和病变指数计算单元结合组成的框架结合以同时处理病变分割和病变分类,这类利用具有某种知识的模型驱动方法改进深度网络框架的方法, 虽然有效地将知识和数据融合改进深度网络, 但是仍然需要更多的数据去训练深层网络。

如何将模型驱动方法和深度学习方法结合?

所谓的unrolling方法。

在深度学习的发展过程中,很多研究者发现这种纯端到端学习策略并不能完全替代具有某种知识的模型驱动算法, 很难处理一些复杂问题如图像去噪, 为了更好地将知识和数据融合改进深度学习方法, deep unrolling技术被提出,deep unrolling技术是一种具有某种知识的模型驱动方法和深度学习方法的迭代交融学习方法, 以弥补将知识和数据融合进行一次简单串行的缺陷。这类技术指的是通过知识建立原始模型并给出基础迭代格式, 然后在此基础上通过引入可学习模型( 深度网络) , 进而从给定的训练数据中学习该问题的潜在规律和数据分类, 最后通过unrolling实现知识和数据的有效融合。

unrolling是指将求解一个给定连续模型的迭代优化看成一个动态系统, 进而通过若千个可学习模块(深度网络) 来离散化这一系统,得到数据驱动的演化过程的方法。主要包括的三个核心步骤, 即设计迭代格式、嵌入可学习模块和理论分析;现有的很多工作都是集中在前面两个步骤中,而由于使用可学习模块对迭代格式进行非精确的展开和计算, 原有的数值算法的理论性质如收敛性不在保持。现有的工作缺乏对这方面的一些研究, 另外unrolling技术仍然是将知识的模型驱动方法和深度学习方法进行简单的串行。

小样本学习的主要挑战是什么?

小样本学习一般包含两个阶段:第一阶段是利用一个大规模的基类数据集训练一个基础模型,这一阶段可以类比于人类已经学会的知识,第二阶段是将基础模型泛化到小样本新类的训练中,这一阶段则可以类比人类对于新知识的学习。可以从分类层,表征层和输入层三个角度说明传统的深度学习在训练样本数量不足的情况下表现不佳的原因,并作相应的改进。

从分类层的角度,传统深度学习模型没有对新类别和基础类别的关系进行建模。传统深度学习模型在第二阶段一般采用的方式是微调机制,即在基础模型上使用新类别训练数据进一步训练。在训练数据较多时,深度神经网络的强拟合能力保证了微调机制的有效性,然而在训练数据较少的情况下,一方面严重的过拟合现象会导致深度神经网络在测试集上的识别能力下降,另一方面缺少将已经学会的有关基础类别的知识迁移到新类别的机制,导致深度神经网络不能有效的进行小样本新类的学习。因此如何能够在分类层上对新类别和基础类别的关系进行建模,从而提高小样本学习能力是一个非常重要的问题。

从表征层的角度,传统深度学习模型的表征层往往不适合小样本学习。一方面在传统的深度神经网络的学习中,一般在训练过程中不会对表征层的数据分布施加限制。在训练数据和测试数据是同分布的场景下,表征层的数据分布也趋向于一致。然而在数据分布不一致的情况下,使用基类数据集训练的基础模型不能很好的刻画新类别的数据分布,尤其在新类别样本数较少的情况下,更增加了将基础模型泛化到新类别上的难度。另一方面从统计学的角度,对于训练样本数较少的参数估计一般要求是最小方差无偏的,而在传统神经网络的表征层上的参数推断往往做不到这一点。

从输入层的角度,传统深度学习模型的基类数据集一般是固定的,其类别的选取往往是基于简单随机策略或是人类经验。事实上,在第一阶段中,不同的基类数据集训练出的基础模型具有不同的泛化能力。这一点在人类的学习中也有所体现,例如在学习“狼”这个新概念之前,如果学会了“狗”这个概念,基础模型的泛化能力要强于学习了“汽车”等概念。传统深度学习模型的训练过程是基于大规模训练数据的,因此基类数据集的构造方式对新类别的学习的影响不大,而小样本学习则非常依赖基类数据集知识的迁移和泛化,因此如何选择基类也是小样本学习的重要问题之一。

事后解释的神经网络解释算法是什么?

基于网络的解释方法

针对网络自身单元的属性进行解释, 不依赖于特定的输入输出

(1) 理想样本: 特定的网络单元自发生成最感兴趣的输入样本。

(2) 真实样例: 网络单元从输入样本中寻找感兴趣样本的代表。

基于输入的解释方法

针对指定输入样本, 对网络给出的输出结果进行解释

(1) 单一输入的解释: 对特定输入样本与输出结果的关系进行解释。

(2) 多个输入的解释: 为一类相似的输入样本的输出结果提供统一的解释。

机器学习的内在可解释性指的是什么?

机器学习的内在可解释性的概念与黑盒概念相反,其强调模型的透明度,具有三个不同的层面的属性:一是可仿真性,评判人类能否在合理的时间内完成模型决策的所有步骤,如相对较浅的决策树模型,维度较低的线性回归模型以及基于简单规则的模型都被认为具有良好的可仿真性,而计算参数庞大的深度神经网络则在此方面表现较差;二是模型的可分解性,即模型的每个参数和模块都能被分别直观地解释,如线性模型中的系数表示特征的重要性,决策树的每一个节点都可用文字描述其意义;三是训练算法透明度,即算法的难易理解程度,相对于神经网络反向传播训练算法,线性回归模型的训练算法更简单,更具透明度。

机器学习模型的内在可解释性的研究旨在通过改进或构建模型内部的单元或模块对复杂模型的决策机理作解释,大致可分为三大类,即模型结构稀疏化,模型模块功能化以及模型机理知识融合。模型机理知识融入的研究发展与其余两种的内在可解释性研究多起源不同领域,前两类大多在计算机及医学等领域发展,仅依托于数据、模型;后者则为新兴方向,多在物理系统如流场、温度场等,在从数据、模型入手研究可解释性的同时,往往与系统的物理数学紧密结合,甚至指导模型构建公式,这样的研究方向也被认为是对可解释模型的探讨。

(1)模型结构稀疏化

一个稀疏模型往往只保留与模型预测相关度较高的特征,而将其他冗余特征去除,如线性稀疏模型会出现大量的0值权重,树模型被修剪至仅有少量的分支。模型的稀疏化可以减轻高维问题中模型的过拟合现象,通过获取更稀疏的模型结构以获得更高的测试精度,如线性模型中的Lasso回归和Ridge回归、庞大树模型的修剪策略以及稀疏编码。

基于更简单的模型具有更好解释性这一假设,众多学者开始采用结构稀疏化的方法提升模型的可解释性。模型结构稀疏化的方式实际上并未直接对模型进行解释,本质上是间接地通过降低模型结构和参数的复杂度提高模型的可理解程度。因此,这种方法常应用于缓解过拟合,尽管也应用在对复杂深度模型的可解释性研究中,但是解释并不直观。

(2)模型模块功能化

模块功能化旨在赋予模型中的模块对决策过程中某部分进行独立解释的能力,要求设计者在网络设计或训练过程中添加特殊机制或约束来赋予模型分模块学习能力,常被应用于复杂深度网络解释中。典型的方法为注意力机制,其对深度网络中的不同模块赋予权重,希望各个模块学习不同范畴的表征。注意力机制最初被应用于机器翻译中,设计者对RNN解码器的隐藏状态向量赋予注意力权重,调整不同位置输入量对输出结果的贡献,约束机器在翻译过程中参考上下文信息的范围。模型模块功能化直接对模型的各个部分嵌入功能意义,常用于复杂的深度学习网络,解释效果明确、清晰。同时,模块功能化深度网络的研究也催促着更多新颖的神经学习单元、更多训练方式的产生。

(3)模型机理知识融入

模型机理知识融入主要旨在利用对象物理系统的机理知识导向构建深度模型,如一般物理系统内部的能量、质量守恒,牛顿定律等,甚至基于系统的微分方程,如计算流体力学中的对流扩散微分方程,此处认为这样的深度模型背部融合了系统中的机理知识,模型不再是黑盒系统,被赋予了可解释性。此处,模型机理知识融入分为两种方式,其一为基于神经网络的数学算子近似,其二为神经网络求解框架构建,即构建能够表征机理方程的深度模型.

目前,模型机理知识融入方面的研究如火如荼,实际上是以深度网络可学习结构代替传统的数值求解和系统辨识方法,与物理机理结合,得到可解释的深度模型,是非常有潜力的研究方向。

图片

知乎学术咨询:

https://www.zhihu.com/consult/people/792359672131756032

工学博士,担任《Mechanical System and Signal Processing》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

图片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot统一功能处理(一)

本篇主要介绍Spring Boot的统一功能处理中的拦截器。 目录 一、拦截器的基本使用 二、拦截器实操 三、浅尝源码 初始化DispatcherServerlet 处理请求(doDispatch) 四、适配器模式 一、拦截器的基本使用 在一般的学校或者社区门口,通常会安排几个…

前后端分离vue.js+nodejs新闻文章发布论坛网站系统44x94

Vue: Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及…

网络篇01 | 入门篇

网络篇01 | 入门篇 01 各层协议目录[网络篇02 | 应用层 kcp(王者荣耀)](https://blog.csdn.net/qiushily2030/article/details/135835946)[网络篇03 | 应用层 quic](https://blog.csdn.net/qiushily2030/article/details/136192481)网络篇04 | 应用层 mq…

网络篇05 | 应用层 http/https

网络篇05 | 应用层 http/https 01 HTTP请求报文协议(Request)1)Request简述2)请求行(首行)3)请求头(Request Headers)4)空行5)正文(Re…

CCS中实时显示ADC采样波形

CCS软件中带有波形显示工具,在调试代码的过程中可以比较方便的将代码中待观测的变量直接用曲线的方式显示出来。   下面就演示一下如何在CCS中使用波形显示。这里使用28335芯片,用一个简单的工程来测试。 显示单个变量 #include "DSP2833x_Devi…

element-ui中el-radio-group组件绑定点击事件触发多次的解决办法

1、需求 电商首页需求,需要做个单选框,然后点击选中切换图标方向及更换价格升倒序,如下图: 从官网文档看,单选框支持change event,使用click加载按钮处不会触发选中 但是使用 click.native 事件不做处理…

【JVM】面试题汇总

JVM1. 什么是JVM?2. 了解过字节码文件的组成吗?3. 什么是运行时数据区4. 哪些区域会出现内存溢出5. JVM在JDK6-8之间在内存区域上有什么不同 6. 类的生命周期 7. 什么是类加载器?类加载器有哪几种 8. 什么是双亲委派机制?有什么好…

React脚手架的搭建与使用

React脚手架是开发现代Web应用的必备,其充分利用Webpack、Babel、ESlint等工具辅助项目的开发,当然这些工具也无需手动配置即可使用,脚手架的意义更多的是关注的是业务而不是工具的配置;项目的整体技术架构为:react w…

OJ在线编程常见输入输出练习

文章目录 整型输入输出12345 字符串类型输入输出123 整型输入输出 1 #include <stdio.h>int main() {int a, b;while (scanf("%d %d", &a, &b) ! EOF) { if(a0 && b0)break;printf("%d\n", a b);}return 0; }2 #include <stdio…

服装连锁管理系统如何拓展会员?

在服装连锁店的经营管理中&#xff0c;会员制度是提升客户忠诚度、促进销售增长的重要手段之一。拓展会员对于连锁店来说至关重要&#xff0c;可以通过多种方式来吸引新会员并提升会员的活跃度。本文将探讨如何通过拓展会员来提升服装连锁店的经营效益&#xff0c;并提出四点建…

CSS 实现无限波浪边框卡片

CSS 实现无限波浪边框卡片 效果展示 鼠标悬停效果&#xff0c;底部色块的边框是无限滚动的波浪 鼠标没有悬停效果 CSS 知识点 CSS 基础知识回顾使用 radial-gradient 实现波浪边框使用 anumate 属性实现波浪边框动画和控制动画运动 波浪实现原理 波浪边框的实现思路其…

Axure RP中的相关概念及高保真原型构建方法

1 Axure RP中概念介绍 对于构建高保真原型来说&#xff0c;需要知道事件&#xff08;Event&#xff09;、Case、Action等概念。Axure RP中给出这些概念&#xff0c;是为了方便原型的构建&#xff0c;尤其是高保真原型的构建。 事件&#xff08;Event&#xff09;是附着于控件…

如何下载pycharm历史版本

地址&#xff1a;https://www.jetbrains.com/pycharm/download/other.html

GitHub repository - Pulse - Contributors - Network

GitHub repository - Pulse - Contributors - Network 1. Pulse2. Contributors3. NetworkReferences 1. Pulse 显示该仓库最近的活动信息。该仓库中的软件是无人问津&#xff0c;还是在火热地开发之中&#xff0c;从这里可以一目了然。 2. Contributors 显示对该仓库进行过…

蓝桥杯备赛:考前注意事项

考前注意事项 1、DevCpp添加c11支持 点击 工具 - 编译选项 中添加&#xff1a; -stdc112、万能头文件 #include <bits/stdc.h>万能头文件的缺陷&#xff1a;y1 变量 在<cmath>中用过了y1变量。 #include <bits/stdc.h> using namespace std;// 错误示例 …

基于java+springboot+vue实现的智能停车计费系统(文末源码+Lw+ppt)23-30

摘 要 随着人们生活水平的高速发展&#xff0c;智能停车计费信息管理方面在近年来呈直线上升&#xff0c;人们也了解到智能停车计费的实用性&#xff0c;因此智能停车计费的管理也逐年递增&#xff0c;智能停车计费信息的增加加大了在管理上的工作难度。为了能更好的维护智能…

智慧农业引领乡村全面振兴:数字乡村建设推动农业现代化、农村治理现代化与农民生活品质新提升

文章摘要&#xff1a; 随着信息技术的迅猛发展&#xff0c;智慧农业正成为引领乡村全面振兴的重要力量。数字乡村建设以智慧农业为核心&#xff0c;推动农业现代化、农村治理现代化和农民生活品质新提升。本文将从智慧农业的内涵出发&#xff0c;探讨数字乡村建设如何推动农业现…

机器学习周报第37周

目录 一、文献阅读&#xff1a;You Only Look Once: Unified, Real-Time Object Detection1.1 摘要1.2 背景1.3 论文模型1.4 网络设计1.5 YOLO的局限性1.6 实现代码 一、文献阅读&#xff1a;You Only Look Once: Unified, Real-Time Object Detection 1.1 摘要 YOLO是一种新…

3D Showroom Level Kit Vol 1

3D Showroom Level Kit Vol 1是一个预制PBR模块化套件,可帮助您创建任何大小、类型的展厅/关卡! 你想推广新产品吗?制作严肃游戏?展示你的艺术?照片?VR应用程序?你需要这个。。。 该工具包非常易于使用和定制!更改颜色和道具位置。 使用移动设备和VR设备,低多边形建…

Mapmost Alpha:开启三维城市场景创作新纪元

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…