1. Deep CNN 学习笔记 2.dropout学习

时间:2024-04-03 16:52:07
  1. Deep Convolutional Neural Networks On Multichannel Time
    Series

For Human Activity Recognition

2.dropout

问题:模型的参数太多,而训练样本又太少——容易出现过拟合

1.dropout

大规模神经网络通病:1.费时 2.过拟合

为了解决过拟合问题,一般会采用ensemble方法,即训练多个模型做组合,此时,费时就成为一个大问题,不仅训练起来费时,测试起来多个模型也很费时。
1. Deep CNN 学习笔记 2.dropout学习

因而,对于一个有N个节点的神经网络,有了dropout后,就可以看做是2n个模型的集合了,但此时要训练的参数数目却是不变的,这就解脱了费时的问题。

为什么dropout能解决过拟合问题:

1.动机论

dropout它能强迫一个神经单元,和随机挑选出来的其他神经单元共同工作,达到好的效果。消除减弱了神经元节点间的联合适应性,增强了泛化能力(类比基因的*组合和无性繁殖)

那就是植物和微生物大多采用无性繁殖,因为他们的生存环境的变化很小,因而不需要太强的适应新环境的能力,所以保留大段大段优秀的基因适应当前环境就足够了。而高等动物却不一样,要准备随时适应新的环境,因而将基因之间的联合适应性变成一个一个小的,更能提高生存的概率
1. Deep CNN 学习笔记 2.dropout学习
1. Deep CNN 学习笔记 2.dropout学习
1. Deep CNN 学习笔记 2.dropout学习

                   输出缩减0<p<1

dropout率的选择:

经过交叉验证,隐含节点dropout率等于0.5(P)的时候效果最好,原因是0.5的时候dropout随机生成的网络结构最多。

dropout也可以被用作一种添加噪声的方法,直接对input进行操作。输入层设为更接近1的数。使得输入变化不会太大(0.8)

训练过程:

对参数w的训练进行球形限制(max-normalization),对dropout的训练非常有用。

球形半径c是一个需要调整的参数。可以使用验证集进行参数调优

dropout自己虽然也很牛,但是dropout、max-normalization、large decaying learning rates and high momentum组合起来效果更好,比如max-norm regularization就可以防止大的learning rate导致的参数blow up。

使用pretraining方法也可以帮助dropout训练参数,在使用dropout时,要将所有参数都乘以1/p。

最天真的做法,把2n个模型都拿来做测试,然后采用某个voting机制平均一下2n个模型的测试结果,得到最终结果,但这种方法在现实中不可行。

能够通过一次测试得到逼近于原2^n个网络组合起来的预测能力

最后需要得到的模型是完整的,没有随机丢弃的测试模型

目的:为了使得dropout layer 下一层的输入和训练时具有相同的“意义”和“数量级”

虽然训练的时候我们使用了dropout, 但是在测试时,我们不使用dropout。然后,把测试时dropout layer的输出乘以训练时使用的retaining probability p。

意义在哪里: 事实上,由于我们在测试时不做任何的参数丢弃,如上面所说,dropout layer 把进来的东西原样输出,导致在统计意义下,测试时 每层 dropout layer的输出比训练时的输出多加了【(1 - p)100】% units 的输出。 即 【p100】% 个units 的和是同训练时随机采样得到的子网络的输出一致,另【(1 - p)*100】% 的units的和 是本来应该扔掉但是又在测试阶段被保留下来的。所以,为了使得dropout layer 下一层的输入和训练时具有相同的“意义”和“数量级”,我们要对测试时的伪dropout layer的输出(即下层的输入)做 rescale: 乘以一个p,表示最后的sum中只有这么大的概率,或者这么多的部分被保留。这样以来,只要一次测试,将原2^n个子网络的参数全部考虑进来了,并且最后的 rescale 保证了后面一层的输入仍然符合相应的物理意义和数量级。

Dropout层既可以加在输入层(参数以P的概率置0),也可以加在输出层(输出以P的概率置0)即只有1-P概率的节点在正常训练,在测试的时候,去掉dropout层,要将相应的结果对应性缩小(输出*(1-P))。

比如一个神经元的输出是x,那么在训练的时候它有p的概率keep,(1-0)的概率丢弃,那么它输出的期望是p x+(1-p) 0=px。因此测试的时候把这个神经元乘以p可以得到同样的期望
1. Deep CNN 学习笔记 2.dropout学习

2- DropConnect

1. Deep CNN 学习笔记 2.dropout学习

1. Deep CNN 学习笔记 2.dropout学习

CNN:把输入层到隐藏层的映射叫做特征映射(feature map)。我们把定义特征映射的权重叫做共享的权重(shared weights),bias叫做共享的bias(shared bais)。这组weights和bias定义了一个kernel或者filter,一个filter识别一个特征

池化方法:MAX-POOLING
MEAN-POOLING L2-pooling(平方和再开根)

Deep Convolutional Neural
Networks On Multichannel Time Series

For Human Activity
Recognition

对于HAR来说,由ON-BODY传感器获得的信号可以说是对视频摄像机所获得的信号有利的信号,原因如下:

  1. on-body传感器缓解了环境限制和相机经常遭受的固定设置的限制

2.多体传感器能更准确、更有效地在人体上进行信号采集;

3.on-body传感器在信息隐私方面具有优势,因为它们获取的信号是特定于目标的,而摄像机采集的信号可能是al-so包含了场景中其他非目标对象的信息

启发式和依赖式

  1. 在HAR的广泛使用的特征包括基础的反式编码(例如,小波变换和傅里叶变换的信号)原始的s- nals (e)的统计。时间序列的均值和方差和符号表示。虽然这些特性在许多时间序列问题中得到了广泛的应用,但它们是启发式的,而不是任务依赖的。值得注意的是,HAR的任务也有其自身的挑战,例如:内部的可变性,类间的相似性,空级的优势,以及物理活动的复杂性和多样性。所有这些挑战都使得开发一种系统的特征表示ap-proach来有效地描述相对于活动识别任务的信号的性质是非常可取的。

3为HAR开发一种系统和任务依赖特征提取方法。虽然可穿戴传感器采集的信号是时间序列,但它们与其他时间序列(如语音信号和金融信号)不同。具体地说,在HAR连续信号流中只有少数几个部分与最内部(即人类活动)的概念有关,而占主导地位的不相关部分主要对应于零活动。此外,我们了解到人类活动是如何在现实中进行的,我们知道每个活动都是几个基本的连续运动的组合。通常情况下,人类的活动可以持续几秒钟,在一秒钟内就会涉及到一些基本动作。从传感器信号的角度来看,基本的连续运动更有可能对应平滑的信号,而不同的基本连续运动之间的过渡可能会引起信号值的显著变化。HAR的这些信号特征要求特征提取方法能够有效地捕捉基本连续运动的性质,以及基本动作组合的显著性。

  1. 构建一系列的信号处理单元的深层架构来进行特征提取。深层体系结构由多个浅层架构组成,每一个浅层架构都由一组在局部平稳信号上的线性/非线性处理单元组成。当所有浅层建筑都被级联时,不同尺度下的信号的显著性被捕获。这种深层架构不仅是将一个大而复杂的问题分解成一系列小问题,更重要的是在不同尺度上对信号的特定“方差”进行处理。这里,信号的“方差”反映了信号的显著模式。

  2. 采用滑动窗口策略将时间序列信号分割为一系列短信号

图1:基于多传感器的人类活动识别问题的CNN架构图
1. Deep CNN 学习笔记 2.dropout学习

“c”、“s”、“u”、“o”在层标记的括号中分别表示卷积、子采样、归一化和输出操作。“@”前后的数字是指这一层的feature map和feature map的尺寸。注意,由于空间的限制,池、ReLU和规范化层没有显示出来。

图二
归一化层:

1. Deep CNN 学习笔记 2.dropout学习

1. Deep CNN 学习笔记 2.dropout学习
输出由softmax控制

1。传统的CNN在图像/视频案例中没有出现图2所示的统一层,因为图像/视频信号被认为来自一个单一的传感器通道。因此,CNN所建议的架构是传统CNN的一个概括,它通过对多个数据通道进行分析。在CNN中,所有处理单元的参数和连接权值通过一个全局目标函数(即熵值函数)共同学习,这是一个依赖于所有未知变量的函数。通过所谓的反向传播算法(LeCun et al., 1998),可以有效地优化这个全局目标函数。

2。全局目标函数与基于ground truth标签的训练错误以及在CNN最后一层的softmax函数的输出相关。该函数的变量控制信号的各种特征映射。因此,通过优化模型,对特征学习和分类的两个任务进行了相互增强,而美国有线电视新闻网(CNN)的学者们对这两项任务的辨别力更强。

以上论文提出了一种新的人活动识别任务的特征提取方法。该方法为CNN建立了一个新的深度架构,用于研究多通道时间序列数据。这种深层架构主要利用卷积和汇聚操作来捕获不同时间尺度下的传感器信号的显著模式。所有已识别的显著模式在多个通道之间系统地统一,最终映射到人类活动的不同类别。提出的方法的关键问题是:

1.特征提取是在任务依赖和非手工制作的方式下形成的;

2.提取特征具有更强的辨别力,即人类活动的类别;

3.特征提取和分类统一在一个模型中,使其性能相互增强。

在实验中,我们证明了所提出的CNN方法优于其他最先进的方法,因此我们认为所提出的方法可以作为一种具有竞争力的工具,对HAR问题进行特征学习和分类。