【机器学习】工程实践问题概述

机器学习实际应用时的工程问题与面临的挑战

276e22c9af185f6564deaf032bd8f012.png

ed9fa6f39bd3b7b9a372999bb823f715.png

一、实现细节问题

1.1 训练样本

训练样本与标注对各类机器学习算法和模型的精度影响

abe4772b85bdfab1ebc07e6c3c4b46e0.png

训练样本的选择对各类机器学习算法和模型的影响

be493d018d621db8b1aeab1fcbf40050.png

训练样本的优化

7241d852107c712ecf1d122cfeecbd86.png

如何进行数据增强?

fd5b4d1544d18827f85aada4c99bf39a.png

如何进行数据清洗?

8f4639d429fac265809054d6af3613a9.png

样本的标注对各类机器学习算法精度的影响

b1d2f26f63c1b06a4af9ba09d414ed1a.png

样本的对齐

b431b58ba4ce2e76e868eb6cb8a3bbd8.png

各个类的训练样本不均衡问题怎么解决

dee6975a273ee88fced520f81da8714e.png

1.2 特征预处理

如果特征向量各分量的取值范围相差很大,会影响算法的精度与训练时的收敛

7c049c8f950b5348a1b31f753ae634f7.png

特征预处理方法

adea00c0896edd3b6daeaccc4f93dd04.png

将特征向量归一化到单位长度

3ecfd21b89bfff55a49c2605348f3dcc.png

归一化可以通过学习实现

3cca0815ac4f21bd2000701f91fc1629.png

ac7ac45da987c92a8e908f5e69b47559.png

1.3  模型选择

没有免费的午餐定理

8550ab14817bb8d86f8e65f4f5c3c9fe.png

如何选择合适的算法和参数?

577822664c2dde1e5277317043a97110.png

剃刀原理

e794c197f61fad65c811846a8c1b7a87.png

剃刀原理在机器学习中的应用

ee81a28ab951a9910bcf624eb3dee334.png

1.4 过拟合问题

7d38df42bb516381a356d74a4d2a0f08.png

二、安全性问题

aada41e1551cbbe38b625631436ee2b9.png

2.1 对抗样本

0d507a0441dadfcedfe18771670e625b.png

神经网络拟合出的目标函数不连续

31916eee3322ccb68005763b4ebdc534.png

eca2ec9aed18fae4487098b8333ca550.png

如何找到扰动图像(如何找到一些能够使得机器学习模型产生错误的输出或行为的扰动图像)

b9004cb493f6992518da9eced6a64c80.png

什么是对抗样本攻击?

对抗样本攻击是一种在机器学习中的一种安全性问题,它是指利用一些经过特殊设计或修改的数据,来使得机器学习模型产生错误的输出或行为,从而达到攻击或干扰的目的。对抗样本攻击的原因是机器学习模型的泛化能力有限,对于一些看似微小的数据变化,可能会导致模型的输出发生巨大的变化。对抗样本攻击的影响是很严重的,它可能会威胁到机器学习模型的安全性和可靠性,甚至危害到人类的利益和社会的稳定。对抗样本攻击的应用领域很广泛,例如图像识别、自然语言处理、语音识别、生物识别、自动驾驶等。

人工生成对抗样本的方法

9b197f57e84c7f8e3f185ec16a98d44e.png

ffc58dcf2cdb7c16f19e1e41a6674bda.png

2.2 形成原因分析

线性模型拟合数据时哪些情况容易出现对抗样本问题

f64e73161251fbac69132fa55c3e3fd7.png

数据维度过高导致线性模型对抗样本问题

6fb1da75fdf566f4b41da117437a839a.png

激活函数与对抗样本问题

激活函数是神经网络中的一个重要的组成部分,它决定了神经元的输出和非线性特性。激活函数的选择会影响神经网络的性能和效果,例如准确性、收敛速度、泛化能力等。一些常用的激活函数有线性函数、Sigmoid函数、双曲正切函数、整流线性单元(ReLU)、Leaky ReLU、参数化整流线性单元(PReLU)、指数线性单元(ELU)、斜坡函数(Ramp)等。其中,一些激活函数是不连续的,例如ReLU、Leaky ReLU、PReLU、Ramp等,它们在某些点上的导数为0或无穷大,导致神经网络的输出也不连续。

激活函数与对抗样本问题的关系有以下几个方面:

  • 激活函数的非线性程度:激活函数的非线性程度是指激活函数的输出与输入的非线性关系的强度,它可以用激活函数的导数的变化率来衡量。激活函数的非线性程度会影响神经网络的对抗样本的抵抗能力,一般来说,激活函数的非线性程度越高,神经网络的对抗样本的抵抗能力越强,反之亦然。这是因为,激活函数的非线性程度越高,意味着神经网络的输出对输入的微小变化越不敏感,从而使得对抗样本的生成更困难。例如,Sigmoid函数的非线性程度较高,它的导数在中间区域变化较快,在两端区域变化较慢,这使得Sigmoid函数对输入的微小变化不太敏感,从而使得神经网络的对抗样本的抵抗能力较强。相反,线性函数的非线性程度较低,它的导数在任何区域都是恒定的,这使得线性函数对输入的微小变化非常敏感,从而使得神经网络的对抗样本的抵抗能力较弱。

  • 激活函数的连续性:激活函数的连续性是指激活函数的输出是否在整个输入域内都是连续的,即是否存在任何断点或跳跃。激活函数的连续性会影响神经网络的对抗样本的抵抗能力,一般来说,激活函数的连续性越高,神经网络的对抗样本的抵抗能力越强,反之亦然。这是因为,激活函数的连续性越高,意味着神经网络的输出对输入的微小变化越平滑,从而使得对抗样本的生成更困难。例如,Sigmoid函数和双曲正切函数的连续性较高,它们的输出在整个输入域内都是连续的,没有任何断点或跳跃,这使得Sigmoid函数和双曲正切函数对输入的微小变化比较平滑,从而使得神经网络的对抗样本的抵抗能力较强。相反,ReLU函数和Ramp函数的连续性较低,它们的输出在某些点上存在断点或跳跃,这使得ReLU函数和Ramp函数对输入的微小变化比较突变,从而使得神经网络的对抗样本的抵抗能力较弱。

  • 激活函数的饱和性:激活函数的饱和性是指激活函数的输出是否在某些区域内趋于恒定,即是否存在任何饱和区域。激活函数的饱和性会影响神经网络的对抗样本的抵抗能力,一般来说,激活函数的饱和性越低,神经网络的对抗样本的抵抗能力越强,反之亦然。这是因为,激活函数的饱和性越低,意味着神经网络的输出对输入的变化越敏感,从而使得对抗样本的生成更困难。例如,ReLU函数和Ramp函数的饱和性较低,它们的输出在任何区域都是线性增长的,没有任何饱和区域,这使得ReLU函数和Ramp函数对输入的变化比较敏感,从而使得神经网络的对抗样本的抵抗能力较强。相反,Sigmoid函数和双曲正切函数的饱和性较高,它们的输出在两端区域都趋于恒定,存在饱和区域,这使得Sigmoid函数和双曲正切函数对输入的变化比较不敏感,从而使得神经网络的对抗样本的抵抗能力较弱。

28faeb333d2fd4074d5da80e078aa045.png

通过哪种方式生成的样本导致大量的神经网络模型出现错分类

01cd91d7b63fa5b15583a0211099ec65.png

b98724656b3c1ca38efbab6e578f763d.png

三、实现成本问题

165cef5526399060224de4ddd541ced2.png

3.1 训练样本量

样本的收集和标注问题

e6bbe871e8674ccfcd71657443b95b74.png

小样本深度学习技术

c4b3901e576e9b1dca31aafc7909c107.png

4e025837738e75e8e5f8f5f48e7402fa.png

哪些情况适用于半监督学习

c36e66a5ec3b3419d0d849cbe4b52d00.png

3.2 计算与存储成本

16fd18363d7e5d9707f5c984176ac699.png

四、深度模型优化

深度模型优化的方法

1ccde0e02030b1a277154dbb4d81584c.png

减少存储空间和计算量的方法是对神经网络的模型进行压缩。有哪些实现手段?

4dd4c0ab77deec09ed26d6cb01be3d06.png

剪枝与编码 二值化网络  卷积核分离简述:

86a35e6c79310e497c916b3361e2a6e3.png

4.1 剪枝与编码

剪枝与编码是一种对神经网络模型进行压缩的方法,它包括以下两个步骤:

  • 剪枝:剪枝是指通过删除一些不重要或冗余的模型参数,例如权重、偏置、节点、层等,以减少模型的结构和规模。剪枝的目的是去除模型中的无用或有害的信息,提高模型的性能和精度。剪枝的方法有很多,例如最小化损失函数、最大化信息量、最小化梯度等。剪枝的结果是一个稀疏的模型,即模型中有很多的零值或接近零的值。

  • 编码:编码是指对剪枝后的模型参数进行编码,以减少模型的存储空间和计算量。编码的目的是利用模型的稀疏性,压缩模型的大小和复杂度。编码的方法有很多,例如哈夫曼编码、熵编码、矩阵分解、张量分解等。编码的结果是一个紧凑的模型,即模型中的参数用更少的位数或更简单的形式来表示。

剪枝与编码的优点是可以显著地减少模型的存储空间和计算量,而不影响模型的性能和精度。剪枝与编码的缺点是可能导致模型的不稳定和不可逆。

1b0d87d231f23f185348e0adde8b9f4d.png

Deep Compression深度模型压缩技术

8709ed8e40ef05683601ccb945786b2c.png

7dfe86bbd1972940a625171ddf4b42e0.png

稀疏矩阵存储方式 CSR  CSC

ff94e2cb23ab28d5b0ba26282d13f40c.png

k 均值算法类中心的初始化三种策略

3c1a327a86e2445451fd3f2c01cd688a.png

4.2 二值化网络

9c8a553408297538cf84dfd010b85b28.png

1e6d91af99af155368e73e82daab161f.png

72095ee3880602cd9de238ffaef7c599.png

二值神经网络的训练算法

0828cba7af27db84afe87bd28318117d.png

二值权重网络

99fe956667e9aef73b7f3f19f5483dbb.png

6bfe05d01debea1ab929a599b5a7383b.png

XNOR网络

fd701003ff3292afd529aff50f5163f5.png

b8b52f480d348da53d4865b66f72bc11.png

012c1dd260b3f8d9f9613535375035a0.png

4.3 卷积核分离

ae623814298a29c567c3d191d634e8b1.png

3b72f321da3d98d4d6238b9b74a037f1.png

919868187df8080cba6c816291b71a62.png

5660c531eaffe27fa77619e1f323e423.png

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值