精华内容
下载资源
问答
  • What is machine learning? Machine learning is to find functions automatically.For example, speech recognition, image recognition, playing go, dialogue system… 1.regression prediction 2.binary ...

    Machine learning is to find functions automatically.For example, speech recognition, image recognition, playing go, dialogue system…

    Regression

    Prediction.

    Binary Classification

    Output is yes or no.

    Multiclass Classification

    Let the machine do multiple choice questions.The machine selects the correct one in the options.

    Generation

    Produce structured complex things.Like images,sentences created like a human.How to tell the machine what kind of function to look for?

    Supervised Learning

    Labeled data.Need to give the machine some labeled data for training.

    Function Loss
    Judge whether the function is good or bad. The basic idea is as follows: First, the image is given to the function for output, and the output result is compared with the label. The proportion of the correct answer is related to the quality of the function.The smaller the LOSS, the closer to the function we need to find. Next, the machine will automatically select the function with the lowest LOSS value.

    Reinforcement Learning

    The result will allow the machine to evaluate previous decisions.And alpha go both use supervised learning and reinforcement learning.

    Unsupervised Learning

    Unlabeled data.What can machine learn from unlabeled data.

    Function Search Range

    Linear,Network Architecture,like RNN and CNN.

    Function Search Method

    Gradient descent.PyTorch.

    Other Application

    Explainable AI

    Tell us why this result is output.

    Adversarial Attack

    Deliberately modify the input data to confuse the machine, resulting in an error in its selection function.

    Network Compression

    Compress the data input and put it on the phone.

    Anomaly Detection

    Enter something completely different,Can you let the machine know that ‘i don’t know’?

    Transfer Learning

    Training data AND testing data.learn by analogy.BUT when testing data totally different with the training data, what tragety will machine choose.

    Meta Learning

    Let machine can learn by itself! learning algorithmn.Can you make the machine smarter?create learning algorithmn.

    Life-long Learning

    Machine life-long learning.Continuous learning.

    展开全文
  • 什么是机器学习__What_is_machine_learning_
  • 什么是过拟合_(深度学习)__What_is_overfitting_(deep_learning)_
  • The term deep learning refers to ... So what is exactly a neural network? Figure-1Let's start with a housing price prediction example. Say you have a data set with six houses. You know the size o

    Notes of Neural Networks & Deep Learning by Andrew Ng, Introduction to Deep Learning, what is neural network.


    The term deep learning refers to training neural networks, sometimes very large neural networks. So what is exactly a neural network?

    Figure-1

    Let's start with a housing price prediction example. Say you have a data set with six houses. You know the size of the houses in square feet or square meters, and you know the price of the houses. You want to fit a function to predict the price of the house as a function of the size. Well, we can fit the data with linear regression. But we know the prices cannot be negative, so to to be a bit fancier, let's bend the curve here so it ends up zero here. So this thick blue line ends up being your function for predicting the price of a house as a function of its size. You can think of this function that you've just fit to housing prices as a very simple neural network as figure-2.

    Figure-2

    We have, as the input to the neural network, the size of the house called x. It goes into this node/circle. And then it outputs the price we call y. This little circle is called a neuron. Then your neural network implements this function we draw in figure-1. And what the neuron does is it inputs the size, computes the linear function, and then outputs the estimated price. By the way, in the neural network literature, you see this function a lot. This function is called a ReLU function which stands for Rectified Linear Unit. And rectify just means take a max of zero. This is a tiny neural network and a large neural network is formed by taking many of these single neurons and stack them together.

    Figure-3

    For example, instead of predicting the price of the house from its size, you now have other features about the house:

    • We may know the number of bedrooms (#bedrooms) besides the size. One of the things that really affects the price of a house is family size that the house can support. And actually the size of the house and #bedrooms determine whether or not a house can fit your family size.
    • Maybe you know the zip code / postal code. It maybe as a feature tells you walkability. It means whether its neighborhood highly walkable? Can you just walk to the grocery store? Do you need drive?
    • And the wealth, plus the zip code tell you how good is the school quality.

    Each of those little circles in figure-3 can be one of those ReLU or some other slightly nonlinear function. So based on the size and #bedrooms, you can estimate the family size that can be supported. With zip code, you can estimate walkability. Based on zip code and wealth you can estimate the school quality. Finally, the way people decide how much they're willing to pay for a house is they look at the things that really matter to them. In this case, family size, walkability and school quality. And these help you predict the price. In this example, x is the four inputs and y is the price tying to predict. So by stacking together a few of the single neurons or the simple predictors, we now have a slightly larger neuro network. Part of the magic of a neural network is that when you implement it, you need to give it just the input x, and the output y. All of these things in the middle (hidden layer), it will figure out by itself.

    Figure-4

    So, what you actually implemented is as figure-4. It's a neural network with four inputs and one output. And it has one hiddle layer with three hidden units. Note that each of the hidden unit takes its inputs of all four features. So, rather than saying this first hidden unit represents 'family size' which depends only on the features of features x_{1} and x_{2}. Instead, we'll say, well, neural network, you decide whatever you want this first hiddenn unit to be and we'll give you all four features to compute whatever you want. The remarkable thing about neural networks is that given enough training examples (x,y), neural networks are remarkably good at figuring out functions that accurately map from x to y.

    So, that's a basic neural network. It turns out that as you build out your own neural networks, you probably find them to be most useful, most powerful in supervised learning settings. Meaning that you're trying to take an input x and map it to some output y.

    <end>

    展开全文
  • 什么是神经网络_(机器学习)_what_is_neural_network_in_machine_learning
  • What is Learning to Rank? Learning to Rank(LTR) applies machine learning to search relevance ranking. How does relevance ranking differ from other machine learning problems? Regression is one classic...

    What is Learning to Rank?

    Learning to Rank (LTR) applies machine learning to search relevance ranking. How does relevance ranking differ from other machine learning problems? Regression is one classic machine learning problem. In regression, you’re attempting to predict a variable (such as a stock price) as a function of known information (such as number of company employees, the company’s revenue, etc). In these cases, you’re building a function, say f, that can take what’s known (numEmployees, revenue), and have f output an approximate stock price.

    排序学习 (LTR) 将机器学习应用于搜索相关性排名。相关性排名与其他机器学习问题有何不同?回归是一种经典的机器学习问题。在回归中,您试图根据已知信息(例如公司员工人数、公司收入等)预测变量(例如股票价格)。在这些情况下,你正在构建一个函数,比如 f,它可以采用已知的(员工数,收入),并让 f 输出一个近似的股票价格。

    Classification is another machine learning problem. With classification, our function f, would classify our company into several categories. For example, profitable or not profitable. Or perhaps whether or not the company is evading taxes.

    In Learning to Rank, the function f we want to learn does not make a direct prediction. Rather it’s used for ranking documents. We want a function f that comes as close as possible to our user’s sense of the ideal ordering of documents dependent on a query. The value output by f itself has no meaning (it’s not a stock price or a category). It’s more a prediction of a users’ sense of the relative usefulnes of a document given a query.

    Here, we’ll briefly walk through the 10,000 meter view of Learning to Rank. For more information, we recommend blog articles How is Search Different From Other Machine Learning Problems? and What is Learning to Rank?.

    Judgments: expression of the ideal ordering

    Judgment lists, sometimes referred to as “golden sets” grade individual search results for a keyword search. For example, our demo uses TheMovieDB. When users search for “Rambo” we can indicate which movies ought to come back for “Rambo” based on our user’s expectations of search.

    For example, we know these movies are very relevant:

    • First Blood
    • Rambo

    We know these sequels are fairly relevant, but not exactly relevant:

    • Rambo III
    • Rambo First Blood, Part II

    Some movies that star Sylvester Stallone are only tangentially relevant:

    • Rocky
    • Cobra

    And of course many movies are not even close:

    • Bambi
    • First Daughter

    Judgment lists apply “grades” to documents for a keyword, this helps establish the ideal ordering for a given keyword. For example, if we grade documents from 0-4, where 4 is exactly relevant. The above would turn into the judgment list:

    展开全文
  • What is T abby? Interpretable Model Decisions by Learning Attribute-based Classification Criteria翻译 图表和公式见原文 文中类别和范畴一个意思 原文链接:https://ieeexplore.ieee.org/document/8907459 #...

    What is T abby? Interpretable Model Decisions by Learning Attribute-based Classification Criteria翻译
    图表和公式见原文
    文中类别和范畴一个意思
    原文链接:https://ieeexplore.ieee.org/document/8907459
    #摘要:最先进的分类模型通常被认为是黑盒,因为它们的决策过程对人类来说是隐含的。相反,人类专家根据一组明确的分层标准对对象进行分类。例如,“猫是一种带有条纹、圆点或线条的家猫”,其中猫的定义是将其上级类别(家猫)和某些特定属性(例如,有条纹)相结合来定义的。在此机制的启发下,我们提出了一个可解释的分层准则网络(HCN),通过额外学习这些准则。为了实现这一目标,图像和语义实体(例如分类和属性)被嵌入到公共空间中,其中每个类别可以由其上级类别和一组学习的区别性属性的线性组合来表示。具体地说,设计了一种双流卷积神经网络(CNN),将图像和分类法分别嵌入到这两个流中。通过最小化两个流上层次标签的预测误差来训练模型。在两个被广泛研究的数据集(CIFAR-100和ILSVRC)上的大量实验表明,HCN可以学习有意义的属性以及合理和可解释的分类标准。因此,作为一个额外的好处,所提出的方法能够为模型校正提供进一步的人工反馈。
    1.介绍
    虽然最新的分类/分类模型[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8]、[9]、[10]在给定的对象集上取得了很好的准确率,但它们中的大多数纯粹是为了处理封闭世界而训练的。因此,这种模型的分类过程对人类来说是隐含的,将先验知识(无论是来自已知对象还是来自人类)融入到模型中仍然是一个开放的研究问题。此外,以前的模型的一个主要缺点是它们很容易被欺骗,例如DeepFool[11]。因此,在自动驾驶汽车和医疗等重要任务上很难得到信任。
    相反,人类可以用一种可解释的方式解释他们关于复杂对象识别的决策背后的原理,即使决策过程是在无意识中发生的。例如,对于一些分类任务,特别是那些简单而熟悉的任务,如识别人脸,人类可以很容易地做出决定,而不需要明确的标准。然而,正如文献[12]所示,“标准”(即面孔的不同特征以及它们构成整个面孔的方式)已经被编码到人类大脑(神经元)中,因此,由于这种隐含的标准,人类可以“不假思索地”识别面孔。对于更一般的感知任务,以对象识别任务为例,最常用的标准系统将每个类别定义为其上级类别和一组视觉属性的组合(如图1所示,它被维基百科和许多其他百科全书采用)。例如,猫猫是“一种有着独特条纹、圆点、线条或漩涡图案的家猫”,而一只家猫则是“一种小型、典型的毛茸茸的食肉哺乳动物,是猫科动物中唯一被驯养的物种(即猫科动物)”(图1(B))。将家猫的定义代入猫猫的定义中,猫猫也可以被定义为“一种驯养的、体型较小、毛茸茸的、有条纹、有斑点等的食肉哺乳动物”。或者相当于“一只被驯养的、有条纹、圆点等的小猫科动物”。此外,通过如上所述递归地追溯到层次的根,每个类别可以被表示为恰好属性的特定组合,这被称为相应类别的原型[13]。上面的例子表明,属性可以很好地描述每个单独类别的性质以及类别之间的联系。更重要的是,属性不仅是人类可理解的,而且是机器可学习的,这使得学习与专家定义的标准相同形式的可解释分类模型成为可能。此外,与“范畴”类似,“属性”也是一种用于聚类/分类的语义特征。
    近年来,研究人员越来越重视提高分类模型[14]、[15]、[16]、[17]、[18]、[19]的可解释性。虽然这些方法确实取得了一些成功,但这些方法得到的大多数解释都不像上述专家定义的标准那样明确,这在一定程度上限制了它们的解释力。一个例外是[14]中提出的方法。[14]将每个类别分解为其上级类别和一系列手动定义的属性的线性组合。虽然这提供了一种嵌入预定义属性的方法,但随着类别数量的增加,必须开发一些新的属性来处理新的类别,这不可避免地限制了其可伸缩性。
    为了解决人工定义属性的可扩展性问题,我们提出了自动学习只有图像级类别标签和类层次的属性,而不是依赖于手动定义的属性。这对于开放世界的认可来说是无价的。为此,提出了一种方法来查找与每个已知类别相关的可视属性,以及这些属性是如何描述类别的,如图2所示。这对于开放世界的认可来说是无价的。为此,如图2所示,提出了寻找与每个已知类别相关的视觉属性以及这些属性如何描述该类别的方法。具体地说,视觉属性是从图像中学习的,并且图像由学习的属性来表示。此外,学习的属性还被用来连接层次组织类别的原型,这样我们就可以获得与专家定义的分类标准相似的分类标准(例如老虎是一种有条纹的猫科动物)。请注意,由于在所提出的方法中,属性纯粹是从图像中挖掘的,因此我们不期望它们与手动定义的属性具有确切的一对一对应关系。例如,图2中所示的“felineness”属性几乎不是由人类定义的,但对于定义猫科动物这一类别可能是至关重要的。
    受心理学中识别/分类的启发,以及CNN模型在物体识别和属性相关任务[16],[18],[20],[21]中的成功经验,我们提出了一种名为层次标准网络(HCN)的双流网络,如图3所示。受心理学中的识别/分类和CNN模型在物体识别和属性相关任务[16]、[18]、[20]、[21]等方面的成功经验的启发,我们提出了一个如图3所示的两流网络–分层标准网络(HCN)。具体地说,这两个流将图像和类别原型嵌入到一个公共空间中,该空间的基础是在图像上学习的视觉属性。更具体地说,网络的上游将图像作为输入,提取图像特征作为输出,其中特征的每个维度都被视为一个属性。另一方面,下游的设计是为了学习每个类别的原型。为此,原型被嵌入到与图像特征相同的空间中,这样原型也可以用学习到的属性来表示。直观地说,每个范畴都是其上级范畴的特例,因此它具有其上级范畴的所有属性。基于这一直觉,对原型施加了一组一致性约束,以确保每个类别继承其上级类别的所有属性,并具有一些附加的特性。为了训练模型,图像特征和类别原型都被输入到共享分类器中,以准确地预测它们对应的层次标签。在这样的框架下,通过考察一个范畴和它的上级范畴原型之间的差异,我们可以看出哪些属性是这两个范畴之间最显著的差异,从而可以很容易地得出分类标准。更重要的是,这样的标准不仅可以用来解释模型预测,还可以为模型修正提供进一步的人类反馈。在两个被广泛研究的数据集(CIFAR-100和ILSVRC)上进行了实验,实验结果验证了HCN提高了模型的可解释性,并学习了合理的分类标准。
    2 相关工作
    在HCN中,训练CNN模型来学习属性,以便进行分层分类和解释决策准则。因此,网络认知主要涉及属性学习、分层正则化分类和网络解释。
    属性学习:视觉属性作为一种人类可理解的语义描述符[22],也是机器可学习的,因此在分类任务[23]、[24]、[25]、[26]、[27]中被广泛采用。这些方法要么直接使用属性来推断类别,要么仅使用属性作为附加辅助信息。由于属性的使用,上述方法可以在一定程度上解释它们的预测。然而,所有这些方法都只使用手动定义的属性,这严重限制了它们的可伸缩性。最近的一些工作表明,训练用于分类任务的CNN模型可以自然地学习视觉属性作为它们的中间表示[20]、[21]、[28],这为显著提高基于属性的分类方法的可扩展性提供了另一种途径。然而,这些方法没有利用类层次结构中丰富的监督信息。因此,学习到的解释很可能违反了第1节中讨论的层级约束,从而降低了解释的意义和可靠性。因此,在本文中,我们建议合并类层次结构,以学习与第1节中描述的层次结构标准形式相同的更有意义的标准。
    分层正则化分类:在用于加速识别[29]、[30]、确定适当的模型输出[31]、[32]、利用粗标记图像[33]、[34]、以及作为附加监督[14]、[35]、[36]、[37]、[38]、[39]来提高识别精度的对象分类任务中,已经探索了语义层次。虽然这些方法通过利用类别层次达到了它们的目标,但只有[14]关注了本文研究的任务,即学习分类标准。然而,[14]使用了少量手动定义的类别级别属性,这严重限制了他们方法的可扩展性。为了解决这一问题,我们提出了只使用图像级分类标签和类别层次结构来联合学习属性和分类标准,这比类别级属性标签更容易获得。
    网络解释:自从AlexNet[1]在ImageNet视觉识别竞赛[40]上取得突破以来,人们提出了各种解释CNN模型的著作。这种方法试图揭示激活每个卷积滤波器[15]、[18]、[41]、[42]、[43]、[44]的视觉图案,或者定位图像中负责预测[19]、[38]、[45]、[46]、[47]的区域。这些方法在解释CNN模型方面取得了一定程度的成功,但它们只能解释模型已经学到的知识,而不能提高模型的可解释性。
    为了解决上述问题,最近的一些工作提出了直接学习用于分类的可解释表示。例如,[17]建议显式约束高级CNN过滤器来表示对象部分。[48]学习与训练输入类似的中层表示(原型),并可解码为图像以获得每个类别的典型视觉外观。49通过强制可解释神经模块网络从关注的图像区域提取特征来实现视觉问答任务中的可解释神经模块网络。[16]明确地将神经激活与人类可命名属性对准,以获得用于零射击学习任务的可解释分类器。然而,这些方法都忽略了范畴丰富的层次结构,无法学习人类专家定义的层次解释,从而限制了它们解释的自然性。此外,如果没有类层次结构的限制,这样的方法有可能学习相互矛盾的解释。为了解决这些问题,HCN利用自然存在的类层次结构来学习更友好、更有意义的解释。
    三方法
    1.正如第1节所讨论的,属性可以固有地表征对象类别的性质以及它们之间的联系。这项工作的目标是学习这种基于属性的分类标准,即定义类别的视觉属性以及这些属性如何定义类别。为了实现这一目标,我们借鉴了人类专家的分类机制,以数据驱动的方式学习属性和基于这些属性的分层标准,如图2所示。为此,我们精心设计了一个名为分层标准网络的双流CNN体系结构,其中两个流分别将图像和类别原型嵌入到一个公共空间中,如图3所示。具体而言,上游以图像为输入,并学习属性(即卷积滤波器)作为嵌入空间的基础。另一方面,下游被设计为学习同一空间中分层组织的类别的原型,使得每个类别可以由其上级类别和与该学习空间中所考虑的类别相关联的一些特定属性的线性组合来表示。为了确保学习标准的意义(如第1节所讨论的),对原型施加了一组约束,以确保范畴-上级范畴对之间的一致性。为了训练模型,来自两个流的输出然后被输入到到共享分类器以预测相应样本的层次结构。
    2.从形式上讲,HCN的目标是学习一个可解释的图像分类模型,该模型产生的解释应该与人类专家定义的分层标准类似。假设给我们一组Q图像X={xq|q∈1,2,…,q},它们属于N个分层组织的类别C={ci|i∈1,2,…,N},我们想要学习两个不同的映射函数f:X→[0,∞)D和g:C→[0,∞)D,以将图像和类别原型嵌入到图3所示的公共D维空间中,其中图像与其对应的原型对齐。在下文中,我们使用粗体大写字母(例如A)来表示矩阵,其中Ai·、A·j和Ai,j分别表示A的第i行、第j列、第(i,j)个元素。两个映射函数的指定以及如何训练模型将在以下小节中详细介绍。
    3.1图像属性
    HCN中的上游(映射函数f)用于两个目的,即学习特征空间的基础和将图像嵌入到该空间中。具体地说,该流由标准的CNN模型组成,该模型以图像为输入,在一系列卷积、池化和非线性激活操作之后产生大小为w×h的D个特征图(每个特征图对应一个属性),其中w和h分别是输出特征图的宽度和高度,每个特征图中的值表示特定位置的属性强度,这将在实验部分(第4.3节)中说明。由于特征代表属性强度,我们强制它们具有非负值,这可以通过RELU激活函数[50]轻松实现。然后,通过对D个特征映射进行全局最大池化 ,得到训练集中第Q个图像的D个属性,其中零个条目表示对应的属性在整篇论文中没有出现在图像中。这里我们采用全局最大值池化,而不是更普遍采用的平均池化[2]、[51],以便故意只集中在图像的区分区域,并避免来自其他区域的干扰。请注意,在我们的定义中,属性可以是“具有某个属性”,也可以是“没有某个属性”,因此可以很自然地处理“没有某个属性”是对象的关键属性的情况。
    3.2 分类原型这一部分中,我们在图3中解释了下游(映射函数g)的细节,它是使1.HCN与现有方法不同的关键组件。尽管同一类别的不同对象,甚至同一对象的不同视图可能有很大的外观差异,但确实有一些共同的属性将它们组合在一起。属性的特定组合(也称为原型)可以被视为分类的标准。假设类别层次可以表示为有向无环图G={C,E},其中节点Ci∈C表示如上所述的第i个类别,边Ej,i∈E表示Cj是Ci的上级类别(直接或间接)。假设总共有N个类别,则所有类别H∈{0,1}N×N的层次表示可以定义如下:hj,i=(1,ej,i∈E或i=j 0,否则,(1)其中H·i表示对应类别ci的层次结构。此外,设P∈[0,∞)N×D为所有类别的原型,其中D为上述视觉属性的个数,P中的每一行对应于层次中的一个类别。有了这个定义,P中的每个条目都表示某个类别上属性的强度。请注意,一行中的零项表示对应的类别没有某些属性。类别的行包含其上级类别的所有非零条目,但有更多的非零条目,这是该类别的特定属性。训练目标是学习P中的值,以便它们能够真实地反映不同属性在分级组织的类别上的强弱。
    2.正如在第1节中所讨论的,我们的基本直觉是,每个类别都继承了其上级类别的所有属性,并且还具有将它们与其上级类别区分开来的附加特定属性。因此,P中的值应满足以下限制:
    3.公式(2)中的约束可以确保学习的原型是有意义的,即任何可能的范畴-上级范畴对之间没有矛盾。虽然由于复杂的约束条件,直接优化原型P是相当困难的,但我们借助于层次表示H来优化备选嵌入矩阵M,并将P重写如下:
    4.为了更好地理解上面的定义,让我们更仔细地看一下图3左下角的简化类别层次结构。如图所示,我们以分别对应红色(左)和绿色(右)的“猫科动物”和“虎斑猫”的两列H为例(其他列可以类似地获得)。分级类别表示的每个维度指示对应的类别是否在从分级的根节点(即,动物)到类别“猫科动物”和“猫”的路径上。根据公式(1)中H的定义,公式(3)相当于在H的指令下选择并求和M行,如图3的中下部所示。因此,M的每一行都可以解释为一个类别与其直接上级类别之间的差异。有了这样的框架,HCN能够推导出与专家定义的分类标准相似的分类标准。具体地说,通过计算差向量d=Pi·−Pj·,Ej,i∈E,我们可以明确地说,第i个类别是具有d中最重要属性的第j个类别的特例。
    3.3优化
    1.鉴于上述为我们的标准学习任务设计的网络结构,在本小节中,我们将描述如何优化模型,以对齐学习层次分类标准的两个流。
    2.为了训练模型,来自上游的图像样本和来自下游的类别原型都被用作共享分类器的输入,如图3最右侧所示。请注意,与仅学习预测叶节点类别的传统CNN模型不同,我们的分类器被设计为预测每个样本的类别层次中的整个路径,因为我们正在寻找的解释也是分层的。具体地说,我们的分类器的一个可能版本由两部分组成,其中第一部分用于叶节点类别,第二部分用于内部节点类别,如图3最右边部分所示。设Cl⊂C表示所有叶节点类别的子集,|Cl|表示叶节点类别的数量。W∈RD×N表示两个流共享的分类器权重,其中W的每一列对应于类层次中的一个类别。在不损失一般性的情况下,为了简单起见,忽略了偏向项,并且我们假设对于i∈{1,2,…,N−|Cl|}和i>N−|Cl|,Ci分别对应于一个内部/一个叶节点类别。
    3.对于叶子节点,由于它们是互斥的,所以可以采用Softmax分类损失(例如Softmax),其被表示为LLeaf。此部分的输入包括所有图像样本和叶节点类别的原型(请注意,其他原型没有叶类别标签,因此不会在此部分中使用)。以第q个图像样本XQ为例,根据其属性表示AQ定义对应的叶级损失如下:其中yq∈{N−|Cl|+1,…,N}表示XQ的叶类别索引。
    4.对于另一部分,由于内部节点是非互斥的,所以可以利用一组独立的损失函数(例如,S型交叉熵损失),这被表示为Linner。对于这一部分,所有的图像样本和原型都被用作输入来预测它们所属的内部节点。AQ的内部节点损耗定义为:其中S(·)是Sigmoid函数。
    5.类似地,通过将aq和yq分别替换为Pi·和i,我们可以得到Laf(Pi·)和Linner(Pi·),如下所示:
    6.总而言之,总损失函数可以写成:
    其中α,β,γ,δ是总损失的不同部分的加权参数。注意,通过设置α=1,β=γ=δ=0,hcn降低到标准分类模型。虽然这里我们采用相对简单的损失函数形式,但其他更复杂的分层损失函数(例如[33]中的图模型)也与HCN兼容。
    7.在对嵌入矩阵M的非负约束条件下进行优化时,将Eqn.(3)放宽如下:其中,Mu是M的无约束版本,r(·)是具有非负输出(例如RELU)的可导函数,并且按元素应用。根据上述定义,可以用标准的反向传播算法对模型参数(上游卷积滤波器参数、下游MU参数和分类器权重W)进行优化。
    3.4模型修正的人工反馈
    1.由于HCN学习的标准与专家定义的标准具有相同的形式,它有利地使整合人类反馈来进一步修正模型成为可能。具体地说,给定一个已经训练好的模型,通过比较模型学习的标准和专家定义的标准,我们可以找出当前模型中缺少哪些属性,以及哪些属性无意中被模型认为是重要的。通过忽略不相关的属性和引入缺失的相关属性,模型可以根据外部人类知识进行调整。
    2.对于第一种情况,这里我们描述了一种简单但可行的方法来为每个类别选择要忽略的属性,而其他选择方案也是可能的。具体地说,在叶级分类器中,我们使用v=pti·⊗W·i来表示第i个类别原型和第i个分类器权重的元素乘积,其中v∈RD和⊗表示两个向量的元素乘积。V中的值表示属性对第i个类别的贡献,即Vk越大,第k个属性对第i个类别越重要。因此,一种简单的方案是首先对v中的值进行排序,然后选择要删除的一些最不重要的属性,然后将W·i中相应的值设置为零。之后,W的未选值被微调,而上游的卷积核和下游的嵌入矩阵M保持不变,以避免改变属性的含义。
    3.对于第二种情况,一种可能的反馈方案是将那些遗漏的重要属性添加到模型中(例如,添加救护车的“红十字”属性),这可以通过向属性层添加新的过滤器并在新合并的过滤器上利用额外的“红十字”预测损失来微调模型来实现。这样的方案当然需要一些专家知识和额外的标记工作量,但与以前纯粹基于人工标记的属性分类方法相比[22]、[24],HCN只需要标记模型未捕获的一小部分属性,而大部分属性已经被自动学习。我们将在第4.7节对上述方案以及一些备选方案进行详细评估,以验证在HCN中手动删除不相关属性或添加缺失属性的可行性。
    四 实验
    1.在这一部分中,我们将在两个广泛研究的数据集上广泛评估HCN。我们首先通过改变不同的模块来评估HCN。然后进行了一系列定性和定量的实验,证明了HCN的有效性。最后,我们与以前的方法进行了比较,证明了HCN的优越性。
    4.1 实验环境
    1.数据集:我们的实验考虑了两个层次组织的数据集:(1)CIFAR-100[52]由60,000幅32×32幅图像组成,分别属于100个互斥类别(每个类别600幅图像),这100个类别被统一划分为20个超类。考虑到所有这些超类都属于CATEGORY实体,我们向层次结构中添加了一个根节点,从而得到一个包含121个节点的层次结构。(2)ILSVRC[40]是具有1000个叶节点类别的ImageNet数据集的子集,整个类别层次结构由1860个节点组成。请注意,与CIFAR-100数据集不同,在此层次结构中,某些类别具有多个直接上级类别,这使得此数据集更具挑战性。在这两个数据集上,我们都遵循标准的数据分区协议来训练和测试HCN。
    2.实现细节:HCN使用开源工具箱Caffe1实现[53]。HCN的上游由几个卷积激活层、汇聚激活层和非线性激活层组成。表1和表2详细说明了两个数据集的上游结构。另一方面,下游由单个内积层实现,如图4所示。对于CIFAR-100数据集,输入图像的分辨率为32×32。考虑到图像分辨率较小,在全局最大池化操作之前,我们使用了一个由四个卷积层组成的简单网络,该网络具有批归一化(BN)[54]和REU激活。对于ILSVRC,将图像大小调整为256×256,并随机裁剪224×224块作为输入。由于这是一个复杂得多的数据集,我们采用略微修改的网络中网络(Network in Network,NIN)结构[51]来权衡速度和精度,其中我们更改了全局池化的顺序,以更好地适应手头的问题。注意,HCN不限于上述网络结构,更高级的结构(例如ResNet[5])也与HCN兼容。然而,训练这样的深层架构需要更多的时间,因此很难进行彻底的评估。在我们的实验中,使用[55]中的方法随机初始化模型参数,使用动量为0.9的SGD算法从零开始训练。
    3.作为一种被广泛使用的激活函数,RELU可以在两个流中施加非负约束(在上游进行全局最大池化操作和在下游进行r(·)操作之后)。然而,在实践中,我们发现使用RELU激活会导致大约1/3的“死”属性,也就是说,对于所有图像,属性向量的某些维度总是为零。为了解决这个问题,我们求助于具有小负斜率的leaky RELU[56]作为替代方案。虽然使用这样的激活函数可以保持所有属性都是活动的,但它不可避免地会违反对图像属性特征a和原型P的非负约束。然而,在我们的实验中,我们注意到,与正值相比,负值可以忽略不计(例如,即使f(Mu)中最负的值也只有−4.5×10−4)。因此,使用Leaky relu利大于弊,我们将在接下来的实验中使用此替代方案。
    4.2 模块分析
    4.2.1 权重参数
    1.对于CIFAR-100数据集,我们试探性地设置属性数D=128。对于ILSVRC数据集,遵循NIN的标准网络体系结构,我们在这些实验中使用D=1024个属性。表3显示了不同加权参数设置下HCN的叶级分类精度,其中γ,δ采用网格搜索设置,以确保HCN能够达到满意的分类精度,α,β采用启发式设置。表3中的顶部和底部面板分别显示了CIFAR-100和ILSVRC上不同权重参数的结果。可以观察到:首先,在大多数情况下,引入内部节点损失(γ,δ>0)会降低叶级分类的准确率,这可能是由于训练目标的难度增加所致,即模型不仅需要学习叶级概念,还需要学习一些更抽象的概念(内部节点概念)。事实上,正如将在下面的第4.2.2节中演示的那样,当D=6,144(在ILSVRC数据集上)时,HCN超过基线模型,甚至超过标准NIN模型。一种可能的解释是,添加的任务需要更多模型容量。当属性个数量较少时,模型的容量不足以联合处理多个任务,因此模型必须平衡不同的任务,导致叶级分类任务的性能下降。随着属性数目的增加,模型的容量也随之增加,因此模型能够很好地同时处理多个任务,叶级分类任务的性能也相应提高,其中预测层次内部节点的损失可以作为叶级分类任务的正则化。请注意,基线模型纯粹是为了精确度而优化的,不能学习类别原型和分层分类标准,因为下游没有监督信号。这种比较表明,HCN可以在很小或不降低性能的情况下提高模型的可解释性。其次,在训练两个流时,最好对上游使用较大的权重(每个面板中的第4行与第5行)。这种现象可以用以下事实来解释:下游的原型数量远远少于上游的训练图像数量。因此,将较大的权重指定给下游可能会导致过度拟合,从而降低精度。
    2.考虑到比较模型的分类性能,在后续的实验中,我们将在CIFAR-100上设置α=0.69,β=0.29,γ=δ=0.01,在ILSVRC上设置α=0.699,β=0.299,γ=δ=0.001,除非另有说明,否则我们将参考加权参数α=1,β=γ=δ=0的模型作为基准模型。
    4.2.2 属性数量
    1.利用上述加权参数,我们评估了不同属性数量下HCN的叶级分类准确率。图5显示了具有不同属性数量的HCN的TOP-1分类准确率(%)。我们可以看到,这两个数据集的最佳属性数l量(Top-1/5准确率分别为55.50%/84.23%和59.35%/81.32%)分别为512和6144。作为对比,D=6,144的基线模型在ILSVRC验证集上的TOP-1/5准确率为58.71%/80.65%,而在Caffe3模型动物园发布的标准NIN模型的TOP-1/5准确率为59.11%/81.32%。这些结果表明,当模型容量足够大时,HCN能够获得与基准模型和标准分类模型相当甚至更好的性能,验证了HCN的优势。
    2.在ILSVRC数据集上,当属性数量大于6,144时,模型性能开始下降。相反,增加CIFAR-100上的属性数量时,性能没有显著下降。一个可能的解释是,随着属性数量的增加,模型的参数越多,越容易过拟合(ILSVRC数据集就是这种情况),而CIFAR100模型中的批归一化操作可以缓解这个问题(我们在ILSVRC上采用的主干模型不使用批归一化)。基于上述结果,除非另有说明,否则在后续的实验中,我们最终将CIFAR-100和ILSVRC上的属性数分别设置为D=512和D=6,144。
    3.在这里,我们尝试粗略估计对1,000个ILSVRC类别进行分类所需的属性数量。作为参考,我们来看看一些研究广泛的带有属性标签的对象分类数据集。加州大学伯克利分校鸟类数据集[57]旨在对200种鸟类进行分类,在该数据集中手动标注了312个视觉属性。具有属性的动物(AWA)数据集[24]和APY数据集[22]被广泛采用于零射击学习任务中,它们分别具有50/32个类别和85/64个属性。COCO属性[58]是最大的对象属性数据集之一,它包含29个对象类别和196个属性。也有一些其他属性数据集,例如CelebA[59]和SUN Attribute[60],然而,它们专注于其他任务(即人脸识别和场景识别),而不是一般的对象识别。因此,我们不使用它们作为参考。
    4.从上面的统计数据可以很容易看出,人工标注的属性数量通常至少是类别数量的1.5倍。因此,我们可以有把握地假设,至少需要1500个人类定义的属性才能很好地区分1000个ILSVRC类别。更重要的是,由于ILSVRC中有许多细粒度的类别(例如大约100个品种的狗),因此很大一部分这样的属性需要由人类专家而不是普通人来定义和标记。因此,为大规模对象识别任务标记如此大量的属性可能是非常昂贵的。相反,HCN能够自动学习这些属性,因此比手动定义属性更具可伸缩性。
    4.2.3 上游架构
    1.在这一部分中,我们展示了通过使用更先进的ResNet-18[5]作为上游的骨干架构(由于计算资源有限,我们无法在我们的机器上训练更深层次的网络,如ResNet-50)。通过在最后的残差块和全局池化层之间添加另一个卷积层,对CNN架构进行了轻微的修改。体来说,添加的层包含大小为1 × 1的6144个卷积核,可以产生6144个属性,因为HCN在之前的实验中有6144个属性,性能最好。
    2.我们比较了三种模型:(1)文献[5]中提出的标准ResNet-18模型。由于[5]的官方ResNet-18模型没有向公众发布,并且原始出版物不会在与我们相同的测试设置下报告结果(即单一作物测试,图像的双面大小调整为256)。为了进行公平的比较,在本实验中,标准ResNet-18模型的结果是在与我们的实验相同的测试设置下通过非官方实现获得的,其性能与文献[5]中报告的结果相当。该模型是一种具有代表性的最先进的分类方法;(2)采用ResNet-18架构的基线模型。该模型对应于表3底部的第一行,用于显示修改后的网络结构在单纯针对1,000路分类任务进行训练时的性能;(3)上游采用ResNet-18架构的HCN,对应于表3的最后一行。
    3.表4显示了比较模型在ILSVRC验证集上的分类精度。结果表明,HCN无疑可以通过更先进的主干架构实现最先进的性能。此外,我们可以有信心地假设,使用更深入、更先进的体系结构,例如DenseNet[7],分类准确率可以进一步提高。但是,由于这些模型的计算开销很大,在接下来的实验中,我们仍将使用NIN作为HCN的主干架构。
    4.2.4 选择非负约束函数
    1.在上述实验中,采用leaky RELU对M施加非负约束,一方面,leaky RELU可能会违反非负约束,另一方面,标准REU会导致4.1节所讨论的死属性。在这一部分中,我们试图通过用Sigmoid激活代替leaky RELU激活函数(用批归一化来确保收敛)来评估用另一个广泛采用的非线性函数施加非负约束的可能性。在仔细调整学习速率方案后,这种模型仍然取得了很差的性能。具体地说,Sigmoid模型在具有1,024个属性的ILSVRC验证集上达到了49.22%/73.77%的TOP-1/5准确率,比表3中的leaky RELU模型低了约6%。一个可能的解释是,Sigmoid函数的输出范围仅限于(0,1),而leaky ReLU的输出范围理论上是(−∞,∞)(在我们的实验中,范围通常是(−0.001,∞)),因此SIgmoid输出的L2范数都小于leaky ReLU函数的输出,从而导致性能下降[61]。更准确地说,文[61]的作者认为,范数较小的特征位于表面积较小的超球面上,这样有限的表面积不足以将来自同一类的特征嵌入在一起,或者将来自不同类的特征嵌入到彼此相距较远的超球面上。然而,可能还有一些更合适的函数来施加非负约束,这超出了本文的范围。
    2.综上所述,以上结果验证了leaky RELU函数作为非负约束函数的选择利大于弊,因此我们将在后续的实验中使用leaky RELU函数。
    4.3 学习属性
    1.HCN的最后一层卷积核充当属性提取器。为了使学习到的属性可视化,我们使用[62]的工具箱来找到在每D个卷积核上具有最大激活值的9个图像块来表示属性。具体地说,由于CIFAR-100上的图像非常小,并且与自然图像有很大的不同,我们计算了CIFAR-100训练集上的顶部激活,以根据我们的理解给出属性的含义。另一方面,由于ILSVRC数据集对狗有偏向性(即ILSVRC数据集中1000种类别中约有100种狗),我们使用偏差较小的Broden数据集[18]来计算顶级激活。Broden是一个在63,305幅图像上有1,262个注释良好概念(6种一般类型)的像素级注释的数据集,[18]中计算每个卷积核与标记的概念之间的对应关系,以量化单个卷积核的可解释性,即在HCN中学习的属性,并给出每个属性的含义。具体地说,如果卷积核的顶部激活与概念强相关,则相应的卷积核被认为是该概念的检测器,其指示相应属性的名称。
    2.图6显示了两个数据集中随机选择的一些属性及其含义(请注意,仅在此图中,ILSVRC上的属性含义由[18]给出)。我们可以观察到,在CIFAR-100上学习的属性主要是描述物体的形状,而在ILSVRC上学习的属性更加多样化,包括纹理、物体部分,甚至包括高级语义属性(如水和山)。这符合我们的预期,因为与ILSVRC中的图像相比,CIFAR100中的图像的分辨率要小得多,因此很难从该数据集中获取详细的视觉信息,如纹理。此外,由于ILSVRC上的类别层次结构要复杂得多,因此该数据集上的模型必须学习不同抽象级别的属性才能很好地区分这些类别。
    3.为了定量评估学习属性的可解释性,我们使用[18]公布的公开源代码和数据集来计算检测器(可解释属性)的数量和唯一检测器的数量。我们比较了基线模型和提出的具有D=6,144个属性的HCN模型。结果如图7所示,括号中给出了每种一般类型的概念总数,它们的总和为1,262。我们可以看到,与基线模型相比,HCN学习了更多的可解释属性(检测器)和更多的唯一检测器,验证了HCN在可解释性方面的优势。此外,图8显示了一些被[18]认为无法解释的属性。然而,它们可能分别被解读为“鸟”和“白底黑点”。上述结果似乎表明,即使是当前最先进的方法在某些情况下也可能无法找到卷积核和概念之间的对应关系(例如,图8中的第一个属性),需要更多的概念来评估CNN模型的可解释性(例如,图8中的第二个属性)。此外,如[44]所示,一个属性可能由多个卷积核联合编码,因此需要更合适的方法来客观地评估可解释性程度。因此,定量评价CNN模型的可解释性仍然是一个悬而未决的问题。
    4.为了进一步验证所学的属性是否在类别之间共享,对于每个属性,我们在ILSVRC中找到该属性贡献最大的叶节点类别。为了进一步验证学习到的属性在类别之间是共享的,对于每个属性,我们在ILSVRC中找到该属性对其贡献最大的叶节点类别。具体地说,由于叶节点类别在层次中具有不同的深度,并且对应的原型在整个路径上求和,所以原型向量中的绝对值受深度的影响,并且可能不是所有类别中属性的实际强度的适当指示器。为了解决这个问题,我们定义了一个规范化的指示器。对于第k个属性,我们找到了最大的五个类别(Pi,k.wk,i)/(Pi·W.i),∀i,这是所选属性对第i个类别的相对贡献,其中一些结果如图9所示。如图9所示,图9最左边所示的属性在非常不同的类别之间共享,而不是仅仅适合于单个类别,从而验证了学习属性的一般性。此外,图10显示了实际图像上两个选定属性的一些热图,进一步验证了该属性与图像中尖锐/斑点部分的对应关系。
    4.4 基于属性的分类方法的比较
    1.在这一部分中,我们将学习属性的分类性能与现有的基于属性的分类方法进行了比较。存在几个具有属性注释[22]、[24]、[57]、[58]、[59]、[60]、[64]、[65]的现有数据集。在这些数据集中,[64]和[65]分别基于ImageNet数据集和ILSVRC数据集,这两个数据集与我们实验中使用的数据集相似。但是,ImageNet的官方网站目前正在进行维护,因此无法从ImageNet网站下载[64]的原始图像。因此,在本实验中,我们选择使用[65]中的ImageNet-150K数据集。此数据集包含1,000个ILSVRC类别的150,000个图像,150,000个图像中的50,000个图像使用25个属性进行标记,包括颜色、形状、纹理、材质和对象部分,这些属性与[64]中的25个属性非常相似。由于本实验的目的是与基于属性的分类方法进行比较,因此在本实验中我们只使用了5万幅带有属性标注的图像。具体地,我们使用官方训练图像(4.8万幅图像)来训练多类线性支持向量机分类器,其余2000幅图像用于测试分类器的性能。
    2.为了训练支持向量机分类器,在这一部分中,我们比较了从每幅图像中提取的四种输入特征:(F1)25维人工标记的属性,其中每个维度的取值范围为1,0,-1,表示对应的属性在对应的图像中是否存在(1)、未知(0)或不存在(-1)。此功能旨在评估具有手动标记的属性的分类效果,此处训练图像和测试图像都使用手动标记属性值;(F2)使用HCN在ImageNet-150K数据集的学习的25维属性。具体地说,我们在具有D=25个属性的ILSVRC数据集上训练HCN模型(在ILSVRC验证集上分别达到38.91%/64.55%的top-1/5准确率),并提取25维属性作为特征;(f1-p)25维预测属性。我们在ImageNet150K的训练集上训练了25个独立的属性分类器来预测人工标记的属性,其中每幅图像都由CNN模型(即F2的模型)中25个学习属性的前一层的输出表示。需要注意的是,为了降低特征维数,我们使用了1024维的平均池化CNN输出,而不是原来的36864维,即102466。这25个属性分类器在ImageNet-150K的验证集上达到了96.17%的平均准确率,并使用整个ImageNet-150K数据集上的预测属性作为特征。此功能旨在评估更真实的设置,即基于预测属性的分类,而不是手动标记所有图像;(F3)通过使用与F1-p相同的特征输入的判别式二进制码(DBC)[63]学习的25维属性。该特征被设计用来验证所提出的方法相对于以前的属性学习方法的优势。
    3.表5显示了这四种输入的分类精度。很容易发现,该方法在所有特征(F1、F2、F1-p和F3)中表现最好,这表明HCN学习的属性比人工定义的属性和先前方法学习的属性(即DBC[63])更适合于目标识别任务。对实验结果的进一步解释如下:HCN通过利用类别关系共同学习分层分类任务的D个属性,从而可以学习区分性特征(属性)。相比之下,F1的属性是手动定义的,主要是为了描述对象而不是区分对象,因此很可能定义的属性的区分能力不足以区分1000个类别。另一方面,DBC独立地学习D个属性,这不可避免地会导致属性之间的冗余。因此,DBC的性能不如HCN。此外,F1和F3都忽略了自然存在的类别层次结构,这或多或少降低了它们属性的效率。
    4.5 两个流之间的一致性
    1.在HCN中,虽然这两个流是针对同一任务进行训练的,但实际上并没有对它们的表示之间的一致性施加显式限制。因此,人们可能会自然而然地怀疑原型和图像样本彼此对齐得有多好。
    2.为此,我们在ILSVRC上随机选择10个叶节点类别,在训练集中每个类别选择300个图像。由于我们对Lleaf分类器使用softmax损失,如第3节所述,同一类别的样本(图像或相应的类别原型)应分布在特征空间的相似方向,如[66]所示。我们计算样本(10个叶类别的3,000个图像样本和所有1,000个叶级类别原型)之间的余弦距离(即相对方向,定义为1余弦相似度),以定量评估两个流的对齐程度,结果列于表6。我们可以看到:第一,即使模型达到了59.35%的top-1精度,但是图像样本之间的类内(同类,SC)余弦距离在高维嵌入空间中仍然相当大(Image-SC,0.7300),图像样本与其对应的类原型(Proto-SC,0.7530)之间的距离与图像的类内距离相当,表明图像样本与其对应的原型方向相似。第二,图像样本与对应原型的距离比与无关原型的距离(Proto-SC vs. Proto-all)要近得多,图像样本到对应原型的距离比到第5个最近原型的距离(Proto-SC vs. Proto5NN)要小得多,这进一步证实了图像样本和对应原型在嵌入空间中分布在相似的方向上。
    3.为了获得原始空间中方向的直观感觉,我们进一步提出在二维平面中可视化样本。虽然广泛采用的可视化技术t-SNE [67]能够在原始空间中保持余弦距离(即方向),而在嵌入空间中保持欧几里德距离,但由于两种距离之间的差异,这是次优的。为了解决这个问题,我们提出了一种简单而新颖的可视化技术来保持高维空间中的方向和低维空间中的方向。为此,我们首先对所选图像样本及其相应类别原型的三维表示进行归一化,以具有单位范数,从而使它们的内积等于它们的余弦相似性。然后,通过主成分分析将归一化后的矢量样本投影到二维空间,这样可以保留原始空间中样本之间的内积。为了清楚起见,来自不同类别的二维向量被分别缩放以具有不同的范数,使得它们落在一组具有不同半径的同心圆上,并且它们在低维空间中的方向被保留。结果如图11所示,其中每种颜色对应一个类别,点表示图像样本,星号表示类别原型。请注意,由于将特征维数从6144减少到2时的巨大信息损失,图11中的方向只是原始方向的粗略近似值,不应将其视为原始方向的精确表示。该图显示,在大多数情况下,图像样本和相应的类别原型分布在相似的方向上,这进一步验证了HCN的两个流彼此很好地对齐。
    4.此外,我们还测试了添加一个损失项来增强ILSVRC数据集上两个流之间的一致性。具体来说,我们在归一化的图像属性向量和相应的类别原型向量之间添加欧几里德损失,如下所示:其中下标“cons”表示一致性,其他符号与第3节中的含义相同。
    5.通过将上述损失项加到总损失方程(8)中、整体损失与一致性损失如下:其中µ为控制一致性损失相对重要性的加权参数。我们在{0.01,0.1,1.0,10}范围内对µ进行了仔细的调优,在µ= 1.0时获得了最佳的叶级精度。表7(使用[18]计算的分类精度和检测器数量)列出了原HCN和修改后的模型(有6144个属性)的性能。虽然一致性损失可以略微提高叶级精度和检测器数量,但它会显著减少唯一检测器的数量。一种可能的解释是,一致性损失的行为类似于广泛研究的中心损失[68],这可以减少类内变化,从而提高分类性能。然而,较小的类内变化的副作用是一些变化被压缩,因此模型只能到学习较少的唯一检测器。由于HCN的主要目的是提高模型的可解释性,因此最好不要在HCN框架中增加这一损失项。
    4.6 学习准则
    1.上述实验已经证实,HCN可以从图像中学习可解释和可辨别的属性。在这一部分中,我们评估了HCN在两个数据集上发现的分类标准。
    2.首先,我们评价HCN是否正确地学会了区分一个类别和它的上级类别的标准。为此,我们计算原型之间的三维差异向量,如第3.2节所述。然后,差值向量d中的值按降序排序,图12显示了一些选定类别对的最大差值对应的属性(即区分两个类别的最重要属性)。和上面的结果一样,我们用前9个激活的图像来表示每个属性。我们从结果中进行了三个观察:第一,尽管一些学习标准中的属性没有多大意义(例如救护车案例中的第三个属性,HCN学习的大多数标准似乎是合理的。例如,时钟是“圆形”和“放射状”的家用电器;猎豹是一种“斑点猫科动物”;救护车是一种“浅色(第1和第2属性)、三角形(第4属性)和轮式车”;足球是“白色背景上有黑点的球”。这些结果验证了HCN能够成功地根据需要学习合理的标准。其次,一些学习到的属性似乎描述了相同/类似的概念,例如猎豹案例中的“斑点”(第二行)。这些结果表明,一个单一的属性(卷积核)可能不足以捕捉这个概念的复杂变化,HCN可以自适应地学习多个属性来更好地描述这种模式多样性。第三,值得注意的是,人造对象的类内变化要比自然对象大,这是因为人造对象主要根据其功能而不是视觉外观进行分类。因此,HCN学习的人造对象的标准似乎比自然对象的更多样化,例如救护车(第四行)的属性比猎豹和猫科动物的属性更多样化。尽管最近提出的一些方法[18] [44]能够评估模型的可解释性程度,但是它们无法评估模型是否以正确的方式利用了可解释的CNN,即模型是否基于正确的标准做出决策或基于数据集中的偏差(例如,并发对象)。定量评估学习的标准不可避免地需要专业知识,例如了解ILSVRC中100多个犬种之间的视觉差异。我们认为,此类知识对于客观评估所有可解释的分类方法(包括HCN)至关重要。但是,由于此类注释的标记成本很高,并且当前在现有数据集中不可用,因此我们只能进行定性评估。将来,我们计划在训练和评估可解释模型方面探索这种专家知识。
    3.此外,我们表明学习的标准可以向非专家提供如何区分类似类别的指示。如第3节所述,P中的所有元素都是非负的,因此,Wk,i> 0表示第k个属性对第i个类别的预测有正向贡献,反之亦然。基于此观察,我们可视化了ILSVRC中对两个非常相似的类别(即tiger和cheetah,即Wk,tiger·Wk,cheetah< 0)做出不同贡献的一些属性,如图13所示。左边属性(不同条纹)的存在增加了老虎的可能性,减少了猎豹的可能性(即Wk,tiger> 0和Wk,cheetah< 0),右边属性(不同斑纹)的作用相反。上面的结果表明,与以前只能从手动标记数据中学习的先前分类模型,HCN也可以向人类提供知识反馈。更重要的是,知识反馈可能有助于非专家学会区分细粒度的类别,这对于大多数普通人来说是一个极具挑战性的任务。
    4.7 校正模型的反馈
    1.在这一部分中,我们对ILSVRC进行了一系列初步实验,以评估将人类反馈纳入HCN的可行性。基于第3.4节中描述的方法,我们测试了三种选择要删除的属性的方案:1)bottom-3k:与指标向量v中的3,000个最小值相对应的属性(即,对于该类别最没有用的属性); 2)top-3k:对应于3,000个最大值的属性(即对该类别最有用的属性); 3)rand-3k:3,000个随机选择的属性 。我们在两种类别(即救护车和猎豹)上进行实验,并且一次仅修改W的一列(即,在每个实验中,仅修改W的一列)。表8列出了在删除选定的分类器权重之前,删除之后以及微调之后相应类别的召回率(正确分类的样本的比率)(表8中给出了这三种方案在整个验证集合上的总体top-1准确性,在方括号中)。对于这两个类别,我们可以看到:首先,删除最不重要的属性(底部3k)后,相应类别的模型性能提高到非常高的水平,但总体性能显著下降,说明在这种情况下,模型倾向于预测其他类别的样本作为所选类别。另一方面,删除其他属性(top-3k和rand-3k)仅影响所选类别的性能。其次,微调可以使模型性能恢复到正常水平。但是,在相应类别上top-3k和rand-3k的性能要比bottom-3k差,这表明某些已删除属性所携带的信息无法由其余属性来补偿。这些结果进一步验证了HCN在区分不同类别定义属性方面的有效性。请注意,本实验旨在展示HCN的潜力,而其他方案(如专家选择)也与HCN兼容,但可能会更耗时。
    2.另一方面,我们还测试了向现有模型添加缺失属性的可能性。实验是在ImageNet-150K数据集[65]上进行的。在第4.4节的实验之后,我们还对分类器的两种输入特征进行了比较:(F4) F1和F2的串联属性(50-D)。这相当于用额外的手工标记的属性来扩充所学的属性,这是为了验证用额外的缺失属性来扩充所学的属性的可能性;F5) F1-p和F2的连接属性(也就是50-D)。这个特性也有与F4相同的目的,但是在一个更真实的环境中(即预测属性而不是手动标记它们)。从表5中的结果可以看出:首先,将学习的属性与人工标注的属性相结合可以提高分类准确率(F2比F4,从59.60%到61.55%),这表明人工标注的属性与学习的属性是互补的。这些结果也验证了通过用人工标记的属性扩充现有的CNN模型来提高模型性能是可能的。其次,通过用预测属性标签(F4 vs.F5)替换基本事实属性标签,分类准确率从61.55%显著下降到26.35%。这一结果表明,虽然分类任务可以从人工标注的属性中受益,但准确预测这些属性是提高准确率的关键。
    4.8 先前方法的比较
    1.在这一部分中,我们将HCN与以前的方法进行了比较,以显示HCN在学习分类标准方面的优缺点。为此,我们在ILSVRC数据集上比较了两种方法:1)统一语义嵌入(USE)[14]。据我们所知,USE是目前唯一尝试学习分类标准的方法。但是,USE需要类级别的属性标签,这在实际应用程序中并不总是可用的。具体地说,ILSVRC上的现有属性标签要么包含太少(只有25个)的属性来区分一千个类别[64]、[65],要么太稀疏,因此不能被用于USE[69]。因此,我们直接引用[14]的结果进行比较。2)两阶段学习选择。该方案是为了模拟在分类任务中学习到的现成图像表征上的学习准则的情况,即在该方案中将属性学习阶段和准则学习阶段分开。具体地说,在第一阶段,我们用α=1,β=γ=δ=0,D=6,144来训练HCN的上游。在第二阶段,固定全局最大池化层前的模型参数,用α = 0.699, β = 0.299, γ = 0.001, δ = 0.001训练分类器权值W和整个下游。
    2.表9显示了[14]中报告的与ILSVRC重叠的两个类别(臭鼬和水獭)以及[14]中没有的类别(猎豹)的结果。由于我们没有基本事实标签作为分类标准,因此很难进行定量比较。因此,我们只对结果进行定性比较。由于篇幅的限制,我们使用前4个激活的补丁来表示CNN模型学习到的两个最重要的属性。我们可以看到:首先,与[14]相比,HCN更具一般性,即即使我们没有基本的类级属性标签(猎豹情况),HCN仍然可以学习合理的标准。另一方面,在类级属性标签可用的情况下(臭鼬和水獭的情况),尽管HCN学习的属性的语义弱于手动定义的属性,但我们仍然可以很好地发现标准。例如,臭鼬的特殊“黑白条纹”图案,水獭的“水”(第一属性)和“毛茸茸”(第二属性)属性。第二,两阶段替代方案未能学习到标准(注意,通过基线方法学习到的三个类别的标准几乎是相同的)。这一结果表明,层次结构没有编码在这种现成的“分类表示”中,因此不能从这些表示方法中学习层次分类标准。因此,端到端的学习,或者至少使用HCN对现成模型的模型权值进行细微调整,对于学习层次分类标准是非常必要的。
    5结论与未来方向
    1.在本文中,我们提出了一种称为HCN的自动学习分类标准的方法,它提高了模型的可解释性,并使模型校正的人工反馈成为可能。通过精心设计的网络结构,HCN可以学习合理的标准,甚至有可能教人们如何区分相似的类别。虽然目前HCN学到的一些属性和标准并不完全反映人类的理解,但我们仍然相信这项研究是朝着可解释和可操作的CNN模式迈出的有希望的一步。在未来,我们希望通过探索人类可命名属性与HCN学习到的属性之间的联系来进一步提高属性的可解释性。
    2.在目前的实验中,即使使用最先进的模型解释方法和数据集,CNN模型学习到的一些可解释属性和分类标准仍然缺失,从而揭示了可解释性的主观性。此外,由于一些类别是根据一些非视觉或不可命名的属性来区分的,例如救护车与其他汽车的区别只是因为它的视觉外观,而主要是因为它的使用,以及美洲豹和美洲豹之间的差异很难由普通人用自然语言来描述,这表明现有模型产生的解释可能很难评估。然而,客观地评价解释的可解释程度和解释的正确性是解释学方法的关键,但这仍然是该领域的一个开放的研究问题。在本文中,我们尽最大努力设计定性和定量的评估来比较不同模型的可解释性程度,我们认为这是朝着公平比较可解释性模型迈出的正确一步。在未来,具有客观和专业标记的属性或标准的数据集可能是更公平地评估可解释模型的一种有前途的手段,但这样的数据集需要大量的专业知识,这超出了本文的范围。

    展开全文
  • one is to learn by yourself, and the other one is learning by lecturers if we think learning as an approach to eat things from the cook that is an interesting approach to see basically, if you learn ...
  • 问题定义 背景:希望模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习 做法:每一次训练,训练集(支撑集)是一个meta-task,一个meta-task...小样本学习(Few-shot Learning)综述 ...
  • The ability to build up view-invariant representations is central to a rich body of research on multiview learning. Given v1, v2 两个随机变量,本文阐述contrastive learning 就是 学习一个参数函数,鉴别 ...
  • What is zero-shot learning?

    千次阅读 2016-07-13 14:38:38
    Zero-shot learning is being able to solve a task despite not having received any training examples of that task. For a concrete example, imagine recognizing a category of object in photos without ever
  • 斯坦福课程Knowledge Graphs-What is a Knowledge Graph?1. Introduction2. Knowledge Graph Definition3. Recent Applications of Knowledge Graphs3.1 Knowledge Graphs for organizing Knowledge over the ...
  • 传统的编码逻辑,写股票价格/营收的实现 传统的游戏逻辑 传统编码逻辑 和 机器学习逻辑 传统编码模式去识别运动类型:速度判断 机器学习识别运动模式:图片识别 入参X,计算出参Y,传统的方法是,先找到规律 Y ...
  • 论文笔记:What makes instance discrimination good for transfer learning? 这是一篇很有意思的论文,站在监督/无监督/迁移学习的角度讨论的,不过在这篇论文的阅读之前需要一部分迁移学习的基础来帮助更好的理解...
  • Preface Machine learning algorithms dominate applied machine learning....This book is your tour of machine learning algorithms and I’m excited and honored to be your tour guide. Let’s dive in.
  • What is linear regression?

    2021-05-05 03:37:27
    Describe mathematical relationships and make predictions from experimental dataLinear regression is a statistical modeling technique used to describe a continuous response variable as a function of on...
  • What's Wrong with Deep Learning? Yann LeCun

    千次阅读 2015-05-26 15:06:57
    author: Yann LeCun Facebook AI Research & New York University ...Deep learning methods have had a profound impact on a number of areas in recent years, including natural image understanding and speech
  • What Makes for Good Views for Contrastive Learning ?
  • 深度学习比较全面的入门教程 We’ll be learning what Deep Learning is, and how it came to be. We’ll look at some confusion and misconceptions regarding Deep Learning, and how to unravel the confusion. ...
  • A brief survey of deep learning architectures is also included. Deep Learning with Python also introduces you to key concepts of automatic differentiation and GPU computation which, while not ...
  • With exercises in each chapter to help you apply what you’ve learned, all you need is programming experience to get started. * Explore the machine learning landscape, particularly neural nets * Use...
  • This book is for data scientists, machine learning developers as well as deep learning practitioners, who want to build interesting deep learning projects that leverage the power of Tensorflow....
  • So, you now know what the hypothesis representation is for logistic regression and we're seeing what the mathematical formula is, defining the hypothesis for logistic regression. 3. ...
  • The second module, Advanced Machine Learning with Python, is designed to take you on a guided tour of the most relevant and powerful machine learning techniques and you’ll acquire a broad set of ...
  • If the basic technical idea behind deep learning and neural networks have been around for decades, why are they only just now taking off? In this class, let's go over some of the main drivers behind ...
  • Factual Probing Is [MASK]: Learning vs. Learning to Recall NAACL 2021 2021.4.12 motivation: 将 AutoPrompt 离散搜索 prompt 的方式用于连续 tuning 的初始化,同时发现比随机初始化效果好,选择 label 词较...
  • What is Reinforcement Learning? 为了理解什么是强化学习,我们先从大处着眼。 强化学习背后的理念是,一个代理(agent,an AI)将通过与环境互动(通过试错)并接受奖励(消极或积极)作为执行行动的反馈,从环境...
  • What is the learning rate? What is it’s signibcance? How does one systematically arrive at a good learning rate? Why do we change the learning rate during training? How do we deal with learning rates...
  • pick up Python Machine Learning whether you want to get started from scratch or want to extend your data science knowledge, this is an essential and unmissable resource. What You Will Learn Explore ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,193
精华内容 19,677
关键字:

islearningwhat