欢迎来到学术参考网
当前位置:发表论文>论文发表

稀疏编码毕业论文

发布时间:2023-03-12 23:36

稀疏编码毕业论文

出自AndrewNg教授的UnsupervisedFeatureLearningandDeepLearning教程。
稀疏自编码器(SparseAutoencoder)可以自动从无标注数据中学习特征,可以给出比原始数据更好的特征描述。在实际运用时可以用稀疏编码器发现的特征取代原始数据,这样往往能带来更好的结果。本文将给出稀疏自编码器的算法描述,并演示说明稀疏编码器自动提取边缘特征。
稀疏性可以被简单地解释如下。如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。这里我们假设的神经元的激活函数是sigmoid函数。

稀疏编码的研究历史

1959年,David Hubel和Toresten Wiesel通过对猫的视觉条纹皮层简单细胞感受野的研究得出一个结论:主视皮层V1区神经元的感受野能对视觉感知信息产生一种“稀疏表示”。1961年,[5]基于这一知识提出了“利用感知数据的冗余”进行编码的理论.1969年,aw和n等人提出了基于Hebbian 学习的局部学习规则的稀疏表示模型.这种稀疏表示可以使模型之间有更少的冲突,从而使记忆能力最大化.Willshaw模型的提出表明了稀疏表示非常有利于学习神经网络中的联想.1972年,Barlow推论出在稀疏性(Sparsity)和自然环境的统计特性之间必然存在某种联系.随后,有许多计算方法被提出来论证这个推论,这些方法都成功地表明了稀疏表示可以体现出在大脑中出现的自然环境的统计特性.1987年,Field提出主视皮层V1区简单细胞的感受野非常适于学习视网膜成像的图像结构,因为它们可以产生图像的稀疏表示.基于这个结论,1988年,Michison明确提出了神经稀疏编码的概念,然后由牛津大学的 等人正式引用.随后对灵长目动物视觉皮层和猫视觉皮层的电生理的实验报告,也进一步证实了视觉皮层复杂刺激的表达是采用稀疏编码原则的.1989年,Field提出了稀疏分布式编码(Sparse Distributed Coding)方法.这种编码方法并不减少输入数据的维数,而是使响应于任一特殊输入信息的神经细胞数目被减少,信号的稀疏编码存在于细胞响应分布的四阶矩(即峭度Kurtosis)中.1996年,Olshausen和Field在Nature杂志上发表了一篇重要论文指出,自然图像经过稀疏编码后得到的基函数类似于V1区简单细胞感受野的反应特性.这种稀疏编码模型提取的基函数首次成功地模拟了V1区简单细胞感受野的三个响应特性:空间域的局部性、时域和频域的方向性和选择性.考虑到基函数的超完备性(基函数维数大于输出神经元的个数),Olshausen 和Field在1997年又提出了一种超完备基的稀疏编码算法,利用基函数和系数的概率密度模型成功地建模了V1区简单细胞感受野.1997年,Bell和Sejnowski 等人把多维独立分量分析(Independent Component Analysis, ICA)用于自然图像数据分析,并且得出一个重要结论:ICA实际上就是一种特殊的稀疏编码方法.2014年,21世纪以来,国外从事稀疏编码研究的人员又提出了许多新的稀疏编码算法,涌现出了大量的稀疏编码方面的论文,国内研究者在稀疏编码算法和应用方面也作了一些工作],但远远落后于国外研究者所取得的成果.

信息论--相关论文阅读

We propose a new learning paradigm, Local to Global Learning (LGL), for Deep Neural Networks (DNNs) to improve the performance of classification problems. The core of LGL is to learn a DNN model from fewer categories (local) to more categories (global) gradually within the entire training set. LGL is most related to the Self-Paced Learning (SPL) algorithm but its formulation is different from trains its data from simple to complex, while LGL from local to global. In this paper, we incorporate the idea of LGL into the learning objective of DNNs and explain why LGL works better from an information-theoretic perspective. Experiments on the toy data, CIFAR-10, CIFAR-100,and ImageNet dataset show that LGL outperforms the baseline and SPL-based algorithms.

我们为深度神经网络(DNN)提出了一种新的学习范式,即从局部到全局学习(LGL),以提高分类问题的性能。LGL的核心是在整个培训集中逐步从更少的类别(本地)学习更多的类别(全局)DNN模型。LGL与自定进度学习(SPL)算法最相关,但其形式与SPL不同。SPL将数据从简单训练到复杂,而将LGL从本地训练到全局。在本文中,我们将LGL的思想纳入了DNN的学习目标,并从信息论的角度解释了LGL为什么表现更好。对玩具数据,CIFAR-10,CIFAR-100和ImageNet数据集的实验表明,LGL优于基线和基于SPL的算法。

Researchers have spent decades to develop the theory and techniques of Deep Neural Networks (DNNs). Now DNNs are very popular in many areas including speech recognition [9], computer vision [16, 20], natural language processing [30] etc. Some techniques have been proved to be effective, such as data augmentation [32, 29] and identity mapping between layers [10, 11]. Recently, some researchers have focused on how to improve the performance of DNNs by selecting training data in a certain order, such as curriculum learning [3] and self-paced learning [17].

Curriculum learning (CL) was first introduced in 2009 by Bengio et al [3]. CL is inspired by human and animal learning which suggests that a model should learn samples gradually from a simple level to a complex level. However, the curriculum often involves prior man-made knowledge that is independent of the subsequent learning process. To alleviate the issues of CL, Self-Paced Learning (SPL) [17] was proposed to automatically generate the curriculum during the training process. SPL assigns a binary weight to each training sample. Whether or not to choose a sample is decided based on the sample’s loss at each iteration of training. Since [17], many modifications of the basic SPL algorithm have emerged. Moreover, [13] introduces a new regularization term incorporating both easiness and diversity in learning. [12] designs soft weighting (instead of binary weight) methods such as linear soft weighting and logarithmic soft weighting. [14] proposes a framework called self-paced curriculum learning (SPCL) which can exploit both prior knowledge before the training and information extracted dynamically during the training.

研究人员花费了数十年的时间来开发深度神经网络(DNN)的理论和技术。现在,DNN在很多领域都非常流行,包括语音识别[9],计算机视觉[16、20],自然语言处理[30]等。一些技术已被证明是有效的,例如数据增强[32、29]和层之间的身份映射[10,11]。近来,一些研究人员致力于通过按特定顺序选择训练数据来提高DNN的性能,例如课程学习[3]和自定进度学习[17]。课程学习(CL)由Bengio等人于2009年首次提出[3]。CL受人类和动物学习的启发,这表明模型应该从简单的层次逐步学习到复杂的层次。但是,课程通常涉及先前的人造知识,而这些知识与后续的学习过程无关,为了缓解CL的问题,提出了自定进度学习(SPL)[17]在培训过程中自动生成课程表。SPL将二进制权重分配给每个训练样本。是否选择样本取决于每次训练迭代时样本的损失。自[17]以来,已经出现了对基本SPL算法的许多修改。此外,[13]引入了一个新的正规化术语,在学习中兼顾了易用性和多样性。[12]设计了软加权(而不是二进制加权)方法,例如线性软加权和对数软加权。[14]提出了一种称为自定进度课程学习(SPCL)的框架,该框架可以利用训练之前的先验知识和训练期间动态提取的信息。

However, some SPL-based challenges still remain: 1) It is hard to define simple and complex levels. CL defines these levels according to prior knowledge, which needs to be annotated by human. This process is extremely complicated and time consuming, especially when the number of categories is large. Another solution is to choose simple samples according to the loss like SPL. However, the samples’ losses are related to the choice of different models and hyper-parameters, since it is likely that the loss of a sample is large for one model but small for another; 2) SPL4748 based algorithms always bring additional hyper-parameters. One must tune hyper-parameters very carefully to generate a good curriculum, which increases the difficulty of training the model.

但是,仍然存在一些基于SPL的挑战:1)很难定义简单和复杂的级别。CL根据需要由人类注释的先验知识定义这些级别。此过程极其复杂且耗时,尤其是类别数量很大时。另一种解决方案是根据损耗(如SPL)选择简单样本。但是,样本损失与选择不同的模型和超参数有关,因为一个模型的样本损失可能很大,而另一模型的损失却很小。2)基于SPL4748的算法总是带来附加的超参数。必须非常仔细地调整超参数以生成好的课程表,这增加了训练模型的难度。

To address the above two problems, we propose a new
learning paradigm called Local to Global Learning (LGL).
LGL learns the neural network model from fewer categories
(local) to more categories (global) gradually within the entire training set, which brings only one hyper-parameter (
inverse proportional to how many classes to add at each
time) to DNN. This new hyper-parameter is also easy to be
tuned. Generally, we can improve the performance of DNN
by increasing the value of the new hyper-parameter.
The intuition behind LGL is that the network is usually
better to memorize fewer categories1
and then gradually
learns from more categories, which is consistent with the
way people learn. The formulation of LGL can be better
understood by comparing it with transfer learning shown in
Figure 1. In transfer learning, the initial weights of DNNs
are transferred from another dataset. But in LGL, the initial weights of DNNs are transferred from the self-domain
without knowledge of other datasets. The traditional methods randomly initialize the weights, which do not consider
the distributions of the training data and may end up with
a bad local minimum; whereas LGL initializes the weights
which capture the distributions of the trained data. So LGL
can be also seen as an initialization strategy of DNNs. In
this paper, we explain the methodology of LGL from the
mathematical formulation in detail. Instead of concentrating on sample loss (as in SPL), we pay attention to training
DNN effectively by continually adding a new class to DNN.
There are three main contributions from this paper:

为了解决上述两个问题,我们提出了一种新的学习范式,称为本地到全球学习(LGL)。LGL在整个训练集中逐渐从较少的类别(局部)到更多的类别(全局)学习神经网络模型,这仅给DNN带来一个超参数(与每次添加多少个类成反比)。这个新的超参数也很容易调整。通常,我们可以通过增加新的超参数的值来提高DNN的性能。LGL的直觉是,网络通常可以更好地记住较少的类别1,然后逐渐从更多的类别中学习,这与人们的学习方式是一致的。通过将LGL的公式与图1所示的转移学习进行比较,可以更好地理解LGL的公式。在转移学习中,DNN的初始权重是从另一个数据集中转移的。但是在LGL中,DNN的初始权重是在不了解其他数据集的情况下从自域传递的。传统方法是随机初始化权重,这些权重不考虑训练数据的分布,最终可能会导致不良的局部最小值。而LGL会初始化权重,以捕获训练数据的分布。因此,LGL也可以视为DNN的初始化策略。在本文中,我们将从数学公式详细解释LGL的方法。我们不专注于样本丢失(如SPL),而是通过不断向DNN添加新类来关注有效地训练DNN。本文主要有三点贡献:

We propose a new learning paradigm called Local to
Global Learning (LGL) and incorporate the idea of
LGL into the learning objective of DNN. Unlike SPL,
LGL guides DNN to learn from fewer categories (local) to more categories (global) gradually within the
entire training set.
• From an information-theoretic perspective (conditional entropy), we confirm that LGL can make DNN
more stable to train from the beginning.
• We perform the LGL algorithm on the toy data,
CIFAR-10, CIFAR-100, and ImageNet dataset. The
experiments on toy data show that the loss curve of
LGL is more stable and the algorithm converges faster
than the SPL algorithm when the model or data distributions vary. The experiments on CIFAR-10, CIFAR100 and ImageNet show that the classification accuracy of LGL outperforms the baseline and SPL-based
algorithms.
我们提出了一种新的学习范式,称为本地到全球学习(LGL),并将LGL的思想纳入DNN的学习目标。与SPL不同,LGL指导DNN在整个培训集中逐步从较少的类别(本地)学习到更多的类别(全局)。•从信息理论的角度(条件熵),我们确认LGL可以使DNN从一开始就更稳定地进行训练。•我们对玩具数据,CIFAR-10,CIFAR-100和ImageNet数据集执行LGL算法。对玩具数据的实验表明,当模型或数据分布变化时,LGL的损失曲线更稳定,并且收敛速度比SPL算法快。在CIFAR-10,CIFAR100和ImageNet上进行的实验表明,LGL的分类精度优于基线和基于SPL的算法。

SPL has been applied to many research fields. [24] uses SPL for long-term tracking problems to automatically select right frames for the model to learn. [28] integrates the SPL method into multiple instances learning framework for selecting efficient training samples. [27] proposes multi-view SPL for clustering which overcomes the drawback of stuck in bad local minima during the optimization. [31] introduces a new matrix factorization framework by incorporating SPL methodology with traditional factorization methods. [8] proposes a framework named self-paced sparse coding by incorporating self-paced learning methodology with sparse coding as well as manifold regularization. The proposed method can effectively relieve the effect of nonconvexity. [21] designs a new co-training algorithm called self-paced co-training. The proposed algorithm differs from the standard co-training algorithm that does not remove false labelled instances from training. [18] brings the ideaof SPL into multi-task learning and proposes a frameworkthat learns the tasks by simultaneously taking into consideration the complexity of both tasks and instances per task.

Recently, some researchers have combined SPL withmodern DNNs. [19] proposes self-paced convolutional network (SPCN) which improves CNNs with SPL for enhancing the learning robustness. In SPCN, each sample is assigned a weight to reflect the easiness of the sample. A dynamic self-paced function is incorporated into the learning objective of CNNs to jointly learn the parameters ofCNNs and latent weight variable. However, SPCN seemsto only work well on simple dataset like MNIST. [2] showsthat CNNs with the SPL strategy do not show actual improvement on the CIFAR dataset. [15] shows that whenthere are fewer layers in the CNN, an SPL-based algorithmmay work better on CIFAR. But when the number of layers increases, like for VGG [23], the SPL algorithm performs almost equal to that of traditional CNN training. [25]proposes a variant form of self-paced learning to improvethe performance of neural networks. However, the methodis complicated and can not be applied to large dataset likeImageNet. Based on the above analysis of SPL’s limitations, we develop a new data selection method for CNNscalled Local to Global Learning (LGL). LGL brings onlyone hyper-parameter (easy to be tuned) to the CNN and performs better than the SPL-based algorithms.

SPL已应用于许多研究领域。[24]使用SPL解决长期跟踪问题,以自动选择合适的框架供模型学习。[28]将SPL方法集成到多个实例学习框架中,以选择有效的训练样本。[27]提出了一种用于聚类的多视图SPL,它克服了优化过程中卡在不良局部极小值中的缺点。[31]通过将SPL方法与传统因式分解方法相结合,引入了新的矩阵因式分解框架。文献[8]提出了一种框架,该框架通过将自定进度的学习方法与稀疏编码以及流形正则化相结合,提出了自定进度的稀疏编码。所提出的方法可以有效地缓解不凸性的影响。[21]设计了一种新的协同训练算法,称为自定步距协同训练。提出的算法与标准的协同训练算法不同,后者不会从训练中删除错误标记的实例。[18]将SPL的思想带入了多任务学习,并提出了一个通过同时考虑任务和每个任务实例的复杂性来学习任务的框架。
最近,一些研究人员将SPL与现代DNN相结合。文献[19]提出了一种自定速度的卷积网络(SPCN),它利用SPL改进了CNN,从而增强了学习的鲁棒性。在SPCN中,为每个样本分配了权重以反映样本的难易程度。动态自定步函数被纳入CNN的学习目标,以共同学习CNN的参数和潜在权重变量。但是,SPCN似乎只能在像MNIST这样的简单数据集上很好地工作。[2]显示,采用SPL策略的CNN在CIFAR数据集上并未显示出实际的改进。[15]表明,当CNN中的层数较少时,基于SPL的算法在CIFAR上可能会更好地工作。但是,当层数增加时,例如对于VGG [23],SPL算法的性能几乎与传统CNN训练的性能相同。[25]提出了一种自定进度学习的变体形式,以提高神经网络的性能。但是,该方法很复杂,不能应用于像ImageNet这样的大型数据集。基于以上对SPL局限性的分析,我们为CNN开发了一种新的数据选择方法,称为本地到全球学习(LGL)。LGL仅给CNN带来一个超参数(易于调整),并且比基于SPL的算法性能更好。

There are still two learning regimes similar to our workcalled Active Learning [6] and Co-training [4] which also select the data according to some strategies. But in active learning, the labels of all the samples are not known when the samples are chosen. Co-training deals with semisupervised learning in which some labels are missing. Thus,these two learning regimes differ in our setting where the labels of all the training data are known.

仍然有两种与我们的工作类似的学习方式称为主动学习[6]和联合训练[4],它们也根据某些策略选择数据。但是在主动学习中,选择样本时不知道所有样本的标签。联合培训涉及缺少某些标签的半监督学习。因此,这两种学习方式在我们设置所有训练数据的标签的环境中是不同的。

-Paces Learning
Let us first briefly review SPL before introducing LGL.
Let L(yi, g(xi, w)) denote the loss of the ground truth label yi and estimated label g(xi, w), where w represents theparameters of the model. The goal of SPL is to jointlylearn the model parameters w and latent variable v =[vi, . . . , vn]T by minimizing:

在介绍LGL之前,让我们首先简要回顾一下SPL。令L(yi,g(xi,w))表示地面真值标签yi和估计标签g(xi,w)的损失,其中w表示模型的参数。SPL的目标是共同学习模型参数w和潜在变量v = [vi,...,vn] T通过最小化:

In the above, v denotes the weight variables reflecting the samples’ importance; λ is a parameter for controlling the learning pace; f is called the self-paced function which controls the learning scheme. SPL-based algorithms are about to modify f to automatically generate a good curriculum during the learning the original SPL algorithm [17], v ∈ {0, 1}^n, and fis chosen as:

Another popular algorithm is called SPLD (self-paced
learning with diversity) [13] which considers both ||v||1 and
the sum of group-wise ||v||2. In SPLD, f is chosen as:

In general, iterative methods like Alternate Convex Search (ACS) are used to solve (1), where w and v are optimized alternately. When v is fixed, we can use existing supervised learning methods to minimize the first term in (1) to obtain the optimal w∗. Then when w is fixed,and suppose f is adopted from (2), the global optimum v∗= [vi∗, . . . , vn*]T can be explicitly calculated as:
通常,使用迭代方法(如交替凸搜索(ACS))求解(1),其中w和v交替优化。当v固定时,我们可以使用现有的有监督学习方法来最小化(1)中的第一项,以获得最佳w ∗。然后,当w固定时,假设从(2)中采用f,则全局最优v ∗ = [v ∗ i,。。。,v ∗ n] T可以明确地计算为:

From (4), λ is a parameter that determines the difficulty of sampling the training data: When λ is small, ‘easy’ samples with small losses are sent into the model to train; When we gradually increase λ, the ‘complex’ samples will be provided to the model until the entire training set is the above analysis, the key step in an SPL algorithm is to adjust the hyper-parameter λ at each iteration of training. In reality, however, we do not know the loss of each sample before training. Therefore sometimes one needs to run a baseline (a training algorithm without SPL)
first to observe the average loss at each iteration and then set an empirical value for λ to increase. For more complex algorithms like SPLD from (3), researchers must control two parameters λ and γ, which makes the training difficult. To avoid the difficulty of tuning parameters in the SPL-based algorithms, we introduce our easy-to-train LGL algorithm.
从(4)中,λ是一个参数,它确定对训练数据进行采样的难度:当λ较小时,将损失较小的“简单”样本发送到模型中进行训练;当我们逐渐增加λ时,将向模型提供“复杂”样本,直到处理完整个训练集为止。根据以上分析,SPL算法中的关键步骤是在每次训练迭代时调整超参数λ。但是,实际上,我们不知道训练前每个样本的损失。因此,有时需要先运行基线(无SPL的训练算法)以观察每次迭代的平均损耗,然后为λ设置一个经验值以增加。对于(3)中的SPLD等更复杂的算法,研究人员必须控制两个参数λ和γ,这使训练变得困难。为了避免在基于SPL的算法中调整参数的困难,我们引入了易于训练的LGL算法。

上一篇:论文相关研究概况

下一篇:论文发布cn期刊