Inception V3

Inception V3 Abstract 对许多任务而言,卷积网络是目前最新的计算机视觉解决方案的核心。从2014年开始,深度卷积网络开始变成主流,在各种基准数据集上都取得了实质性成果。对于大多数任务而言,虽然增加的模型大小和计算成本都趋向于转化为直接的质量收益(只要提供足够的标注数据去训练),但计算效率和低参数计数仍是各种应用场景的限制因素,例如移动视觉和大数据场景。目前,我们正在探索增大网络的方法,目标是通过适当的分解卷积和积极的正则化来尽可能地有效利用增加的计算。我们在ILSVRC 2012分类挑战赛的验证集上评估了我们的方法,结果证明我们的方法超过了目前最先进的方法并取得了实质性收益:对于单一框架评估错误率为:21.2% top-1和5.6% top-5,使用的网络计算代价为每次推断需要进行50亿次乘加运算并使用不到2500万的参数。通过四个模型组合和多次评估,我们报告了3.5% top-5和17.3% top-1的错误率。 1. Introduction 从2012年Krizhevsky等人[9]赢得了ImageNet竞赛[16]起,他们的网络“AlexNet”已经成功了应用到了许多计算机视觉任务中,例如目标检测[5],分割[12],行人姿势评估[22],视频分类[8],目标跟踪[23]和超分辨率[3]。 这些成功推动了一个新研究领域,这个领域主要专注于寻找更高效运行的卷积神经网络。从2014年开始,通过利用更深更宽的网络,网络架构的质量得到了明显改善。VGGNet[18]和GoogLeNet[20]在2014 ILSVRC [16]分类挑战上取得了类似的高性能。一个有趣的发现是在分类性能上的收益趋向于转换成各种应用领域上的显著质量收益。这意味着深度卷积架构上的架构改进可以用来改善大多数越来越多地依赖于高质量、可学习视觉特征的其它计算机视觉任务的性能。网络质量的改善也导致了卷积网络在新领域的应用,在AlexNet特征不能与手工精心设计的解决方案竞争的情况下,例如,检测时的候选区域生成[4]。 尽管VGGNet[18]具有架构简洁的强有力特性,但它的成本很高:评估网络需要大量的计算。另一方面,GoogLeNet[20]的Inception架构也被设计为在内存和计算预算严格限制的情况下也能表现良好。例如,GoogleNet只使用了500万参数,与其前身AlexNet相比减少了12倍,AlexNet使用了6000万参数。此外,VGGNet使用了比AlexNet大约多3倍的参数。 Inception的计算成本也远低于VGGNet或其更高性能的后继者[6]。这使得可以在大数据场景中[17],[13],在大量数据需要以合理成本处理的情况下或在内存或计算能力固有地受限情况下,利用Inception网络变得可行,例如在移动视觉设定中。通过应用针对内存使用的专门解决方案[2],[15]或通过计算技巧优化某些操作的执行[10],可以减轻部分这些问题。但是这些方法增加了额外的复杂性。此外,这些方法也可以应用于优化Inception架构,再次扩大效率差距。 然而,Inception架构的复杂性使得更难以对网络进行更改。如果单纯地放大架构,大部分的计算收益可能会立即丢失。此外,[20]并没有提供关于导致GoogLeNet架构的各种设计决策的贡献因素的明确描述。这使得它更难以在适应新用例的同时保持其效率。例如,如果认为有必要增加一些Inception模型的能力,将滤波器组大小的数量加倍的简单变换将导致计算成本和参数数量增加4倍。这在许多实际情况下可能会被证明是禁止或不合理的,尤其是在相关收益适中的情况下。在本文中,我们从描述一些一般原则和优化思想开始,对于以有效的方式扩展卷积网络来说,这被证实是有用的。虽然我们的原则不局限于Inception类型的网络,但是在这种情况下,它们更容易观察,因为Inception类型构建块的通用结构足够灵活,可以自然地合并这些约束。这通过大量使用降维和Inception模块的并行结构来实现,这允许减轻结构变化对邻近组件的影响。但是,对于这样做需要谨慎,因为应该遵守一些指导原则来保持模型的高质量。 2. General Design Principles 这里我们将介绍一些具有卷积网络的、具有各种架构选择的、基于大规模实验的设计原则。在这一点上,以下原则的效用是推测性的,另外将来的实验证据将对于评估其准确性和有效领域是必要的。然而,严重偏移这些原则往往会导致网络质量的恶化,修正检测到的这些偏差状况通常会导致改进的架构。 避免表征瓶颈,尤其是在网络的前面。前馈网络可以由从输入层到分类器或回归器的非循环图表示。这为信息流定义了一个明确的方向,对于分离输入输出的任何切口,可以访问通过切口的信息量。应该避免极端压缩的瓶颈。一般来说,在达到用于着手任务的最终表示之前,表示大小应该从输入到输出缓慢减小。理论上,信息内容不能仅通过表示的维度来评估,因为它丢弃了诸如相关结构的重要因素,而维度仅提供信息内容的粗略估计。 更高维度的表示在网络中更容易局部处理。在卷积网络中增加每个图块的激活允许更多解耦的特征,所产生的网络将训练更快。 空间聚合可以在较低维度嵌入上完成,而不会在表示能力上造成许多或任何损失。例如,在执行更多展开(例如3×3)卷积之前,可以在空间聚合之前减小输入表示的维度,没有预期的严重不利影响。我们假设,如果在空间聚合上下文中使用输出,则相邻单元之间的强相关性会导致维度缩减期间的信息损失少得多。鉴于这些信号应该易于压缩,因此尺寸减小甚至会促进更快的学习。 平衡网络的宽度和深度。通过平衡每个阶段的滤波器数量和网络的深度可以达到网络的最佳性能,增加网络的宽度和深度可以有助于更高质量的网络。然而,如果两者并行增加,则可以达到恒定计算量的最佳改进。因此,计算预算应该在网络的深度和宽度之间以平衡方式进行分配。 虽然这些原则可能是有意义的,但并不是开箱即用的直接使用它们来提高网络质量。我们的想法是仅在不明确的情况下才明智地使用它们。 3. Factorizing Convolutions with Large Filter Size GoogLeNet网络[20]的大部分初始收益来源于大量地使用降维。这可以被视为以计算有效的方式分解卷积的特例。考虑例如1×1卷积层之后接一个3×3卷积层的情况。在视觉网络中,预期相近激活的输出是高度相关的。因此,我们可以预期,它们的激活可以在聚合之前被减少,并且这应该会导致类似的富有表现力的局部表示。 图1。 Mini网络替换5×5卷积。 在这里,我们将在各种设定中探索卷积分解的其它方法,特别是为了提高解决方案的计算效率。由于Inception网络是全卷积的,每个权重对应每个激活的一次乘法。因此,任何计算成本的降低会导致参数数量减少。这意味着,通过适当的分解,我们可以得到更多的解耦参数,从而加快训练。此外,我们可以使用计算和内存节省来增加我们网络的滤波器组的大小,同时保持我们在单个计算机上训练每个模型副本的能力。 3.1. Factorization into smaller convolutions 具有较大空间滤波器(例如5×5或7×7)的卷积在计算方面往往不成比例地昂贵。例如,具有n个滤波器的5×5卷积在具有m个滤波器的网格上比具有相同数量的滤波器的3×3卷积的计算量高25/9=2.78倍。当然,5×5滤波器在更前面的层可以捕获更远的单元激活之间、信号之间的依赖关系,因此滤波器几何尺寸的减小带来了很大的表现力。然而,我们可以询问5×5卷积是否可以被具有相同输入尺寸和输出深度的参数较小的多层网络所取代。如果我们放大5×5卷积的计算图,我们看到每个输出看起来像一个小的完全连接的网络,在其输入上滑过5×5的块(见图1)。由于我们正在构建视觉网络,所以通过两层的卷积结构再次利用平移不变性来代替全连接的组件似乎是很自然的:第一层是3×3卷积,第二层是在第一层的3×3输出网格之上的一个全连接层(见图1)。通过在输入激活网格上滑动这个小网络,用两层3×3卷积来替换5×5卷积(比较图4和5)。 该设定通过相邻块之间共享权重明显减少了参数数量。为了分析预期的计算成本节省,我们将对典型的情况进行一些简单的假设:我们可以假设$n=αm$,也就是我们想通过常数$α$因子来改变激活/单元的数量。由于5×5卷积是聚合的,$α$通常比1略大(在GoogLeNet中大约是1.5)。用两个层替换5×5层,似乎可以通过两个步骤来实现扩展:在两个步骤中通过$\sqrtα$增加滤波器数量。为了简化我们的估计,通过选择$α=1$(无扩展),如果我们单纯地滑动网络而不重新使用相邻网格图块之间的计算,我们将增加计算成本。滑动该网络可以由两个3×3的卷积层表示,其重用相邻图块之间的激活。这样,我们最终得到一个计算量减少到$\frac{9+9}{25}×$的网络,通过这种分解导致了28%的相对增益。每个参数在每个单元的激活计算中只使用一次,所以参数计数具有完全相同的节约。不过,这个设置提出了两个一般性的问题:这种替换是否会导致任何表征力的丧失?如果我们的主要目标是对计算的线性部分进行分解,是不是建议在第一层保持线性激活?我们已经进行了几个控制实验(例如参见图2),并且在分解的所有阶段中使用线性激活总是逊于使用修正线性单元。我们将这个收益归因于网络可以学习的增强的空间变化,特别是如果我们对输出激活进行批标准化[7]。当对维度减小组件使用线性激活时,可以看到类似的效果。 图2。 两个Inception模型间几个控制实验中的一个,其中一个分解为线性层+ ReLU层,另一个使用两个ReLU层。在三亿八千六百万次运算后,在验证集上前者达到了76.2% top-1准确率,后者达到了77.2% top-1的准确率。 3.2. Spatial Factorization into Asymmetric Convolutions 上述结果表明,大于3×3的卷积滤波器可能不是通常有用的,因为它们总是可以简化为3×3卷积层序列。我们仍然可以问这个问题,是否应该把它们分解成更小的,例如2×2的卷积。然而,通过使用非对称卷积,可以做出甚至比2×2更好的效果,即n×1。例如使用3×1卷积后接一个1×3卷积,相当于以与3×3卷积相同的感受野滑动两层网络(参见图3)。如果输入和输出滤波器的数量相等,那么对于相同数量的输出滤波器,两层解决方案便宜33%。相比之下,将3×3卷积分解为两个2×2卷积表示仅节省了11%的计算量。 图3。 替换3×3卷积的Mini网络。网络的更低层由带有3个输出单元的3×1构成。 在理论上,我们可以进一步论证,可以通过1×n卷积和后面接一个n×1卷积替换任何n×n卷积,并且随着n增长,计算成本节省显著增加(见图6)。实际上,我们发现,采用这种分解在前面的层次上不能很好地工作,但是对于中等网格尺寸(在m×m特征图上,其中m范围在12到20之间),其给出了非常好的结果。在这个水平上,通过使用1×7卷积,然后是7×1卷积可以获得非常好的结果。 图4。 [20]中描述的最初的Inception模块. 图5。 Inception模块中每个5×5卷积由两个3×3卷积替换,正如第2小节中原则3建议的那样。 图6。 n×n卷积分解后的Inception模块。在我们提出的架构中,对17×17的网格我们选择n=7。(滤波器尺寸可以通过原则3选择) 4. Utility of Auxiliary Classifiers (这一部分内容已过时,好像只在GAN中使用)...

June 26, 2024 · 189 words · Kurong

neo4j常用命令

neo4j启动与访问 启动neo4j 1 2 docker start test_neo4j docker exec -it test_neo4j /bin/bash 访问browser 1 http://localhost:7474/browser/ 访问database 1 2 3 neo4j://localhost:7687 auth: neo4j pw: 5225400599 CQL语法 create 创建节点 1 2 3 4 5 6 7 8 CREATE ( <node-name>:<label-name> { <Property1-name>:<Property1-Value> ........ <Propertyn-name>:<Propertyn-Value> } ) match 查询节点或属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 查询Dept下的内容 MATCH (dept:Dept) return dept # 查询Employee标签下 id=123,name="Lokesh"的节点 MATCH (p:Employee {id:123,name:"Lokesh"}) RETURN p ## 查询Employee标签下name="Lokesh"的节点,使用(where命令) MATCH (p:Employee) WHERE p....

June 26, 2024 · 572 words · Kurong

NIN

NIN Abstract 本文提出了一种新的网络结构,称为 “网络中的网络”(NIN),以提高模型对感受野内局部图块的可辨别性。传统的卷积层使用线性滤波器和非线性激活函数来扫描输入。相反,本文建立了结构更复杂的微神经网络,以抽象出感受野内的数据。本文用MLP来实例化微神经网络,MLP是一个有效的函数近似器。通过类似CNN的方式在输入上滑动微网络来提取特征图,然后将它们送入下一层。深度NIN可以通过堆叠多个上述结构来实现。通过微网络加强局部建模,能够在分类层中利用全局平均池化的特征图,这比传统的全连接层更容易解释,也更不容易过拟合。本文在CIFAR-10和CIFAR-100上用NIN取得了最先进的分类性能,其在SVHN和MNIST数据集上也有合理的表现。 1 Introduction 卷积神经网络[1]由交替的卷积层和池化层组成。卷积层采取线性滤波器和底层感受野的内积,然后在输入的每个局部使用非线性激活函数,由此产生的输出称为特征图。 CNN中的卷积滤波器是基础数据块的广义线性模型(GLM),本文认为GLM的抽象程度很低。这里所说的抽象性是指特征对同一概念的变体是不变的[2]。用一个更有力的非线性函数近似器代替GLM可以提高局部模型的抽象能力。当潜在概念的样本是线性可分离的,即概念的变体都在GLM定义的分离平面的一侧时,GLM可以实现良好的抽象程度。因此,传统的CNN隐含了潜在概念是线性可分离的假设。然而,同一概念的数据往往存在于一个非线性流形上,因此捕捉这些概念的表征通常是输入的高度非线性函数。在NIN中,GLM被一个 “微网络 “结构所取代,它是一个通用的非线性函数近似器。在这项工作中,本文选择MLP[3]作为微网络的实例,它是一个通用的函数逼近器并可通过反向传播训练的神经网络。 图1:线性卷积层和mlpconv层的比较。线性卷积层包括一个线性滤波器,而mlpconv层包括一个微型网络(本文选择mlp)。这两个层都将局部感受野映射为潜伏概念的置信度值。 由此产生的结构,本文称之为mlpconv层,与图1中的CNN进行比较。线性卷积层和mlpconv层都将局部感受野映射到输出的特征向量上。mlpconv用MLP将输入的局部图块映射到输出特征向量,MLP由多个具有非线性激活函数的全连接层组成,它的权重在所有的局部感受区之间共享。通过在输入上滑动MLP获得特征图,其方式与CNN类似,然后被送入下一层。NIN的整体结构是多个mlpconv层的堆叠。 在CNN中,本文没有采用传统的全连接层进行分类,而是通过全局平均池化层直接输出最后一个mlpconv层的特征图的空间平均值作为类别的置信度,然后将所得向量送入softmax层。在传统的CNN中,由于全连接层作为中间的黑匣子,很难解释来自目标成本层的类别级信息是如何传递回前一个卷积层的。相比之下,全局平均集合更有意义,也更容易解释,因为它强化了特征图和类别之间的对应关系,而这是通过使用微网络进行更强的局部建模实现的。此外,全连接层容易出现过拟合,并严重依赖dropout正则化[4] [5],而全局平均池化本身就是一个结构正则化器,它天生就能防止整体结构的过拟合。 作者认为传统的GLM在特征提取的过程中根本不能区分这些中间过程里所形成的特征元素,除非这些特征元素是线性可分的。所以,在作者的眼里,传统CNN有效的一个假设就是这些特征元素能够线性可分。 例如在一个用于识别汽车图片的卷积网络模型中,靠前的卷积层会被用于提取一些粗糙的原始的特征(如:线段、棱角等);而靠后的卷积层则会以前面的为基础提取到更为高级一些的特征(如:轮胎、车门等)。同时,在每个阶段里所形的这些特征原始都被称之为 “latent concept”,因为事实上还有很多抽像的特征我们人类是无法辨认的(它可能是有用的特征,也可能不是),所以被称为“latent”。作者认为,传统的GLM在进行每一阶段的特征提取中,根本不足以区分这些特征元素——例如某个卷积层可能提取得到了很多“轮胎”这一类的same concept,但是GLM区分不了这些非线性的特征(到底是哪一类汽车的轮胎)——所以导致最终的任务精度不那么的尽如人意。 2 Convolutional Neural Networks 经典的卷积神经元网络[1]由交替堆叠的卷积层和空间汇集层组成。卷积层通过线性卷积滤波器再加上非线性激活函数(rectifier, sigmoid, tanh等)生成特征图。以ReLU为例,特征图可以计算如下: $$ f_{i,j,k}=max(w_k^Tx_{i,j},0). $$ 是特征图中每个像素的索引, $x_{ij}$ 表示输入patch$(i, j)$, $k$ 用于索引特征图的通道。 当潜在概念的实例是线性可分离时,这种线性卷积足以实现抽象化。然而,实现良好抽象的表征通常是输入数据的高度非线性函数。在传统的CNN中,这一点可以通过利用一套过度完整的滤波器[6]来弥补,以覆盖潜概念的所有变化。也就是说,可以学习单个线性滤波器来检测同一概念的不同变化。然而,对一个概念有太多的过滤器会给下一层带来额外的负担,它需要考虑上一层的所有变化的组合[7]。如同在CNN中,来自高层的过滤器映射到原始输入中的更大区域。它通过结合下面一层的低级概念来生成一个更高级的概念。因此,本文认为,在将它们组合成更高层次的概念之前,对每个局部图块做一个更好的抽象是有益的。 在最近的maxout网络[8]中,通过对仿生特征图(仿生特征图是不应用激活函数的线性卷积的直接结果)的最大集合来减少特征图的数量。对线性函数的最大化使得一个分片线性逼近器能够逼近任何凸函数。与进行线性分离的传统卷积层相比,maxout网络更有效力,因为它可以分离位于凸集内的概念。这一改进使maxout网络在几个基准数据集上具有最佳性能。 然而,maxout网络强加了一个先验,即潜在概念的实例位于输入空间的凸集内,这并不一定成立。当潜在概念的分布更加复杂时,有必要采用一个更通用的函数近似器。所以本文试图通过引入新颖的 “网中网 “结构来实现这一点,在每个卷积层中引入一个微型网络来计算局部斑块的更抽象的特征。 在以前的一些工作中已经提出在输入上滑动微网络。例如,结构化多层感知器(SMLP)[9]在输入图像的不同斑块上应用共享多层感知器;在另一项工作中,基于神经网络的过滤器被训练用于人脸检测[10]。然而,它们都是为特定的问题而设计的,并且都只包含滑动网络结构中的一个层。NIN是从一个更普遍的角度提出的,微网络被整合到CNN结构中,以寻求对各级特征的更好的抽象。 可以先利用浅层的网络来对各个阶段里所形成的非线性特征元素进行特征表示,然后再通过卷积层来完成分类类别间线性不可分的抽象表示,以此来提高模型最后的任务精度。 3 Network In Network 本文首先强调了提出的 “网中网 “结构的关键部分:MLP卷积层和全局平均池层,分别在第3.1和第3.2节。然后,在第3.3节中详细介绍整个NIN。 3.1 MLP Convolution Layers 鉴于没有关于潜在概念分布的先验,最好使用通用函数近似器对局部斑块进行特征提取,因为它能够对潜在概念的更抽象的表示进行近似。径向基网络和MLP是两个著名的通用函数近似器。本文在这项工作中选择MLP有两个原因。首先,MLP与卷积神经网络的结构兼容,它是用反向传播法训练的。第二,MLP本身可以是一个深度模型,这与特征重用的精神是一致的[2]。这种新型的层在本文中被称为mlpconv,其中MLP取代了GLM对输入进行卷积。图1说明了线性卷积层和mlpconv层的区别。mlpconv层所进行的计算如下所示: 这里$n$是MLP中的层数。MLP中使用ReLU作为激活函数。 从跨通道(跨特征图)池化的角度来看,式2相当于在正常卷积层上的级联跨通道参数池化。每个池化层对输入的特征图进行加权线性重组,然后经过一个ReLU。跨通道池化后的特征图在下一层中再次进行跨通道池化。这种级联式跨渠道参数池结构允许跨渠道信息的复杂和可学习的相互作用。 跨信道参数池层也相当于一个具有1x1卷积核的卷积层,这种解释可以直接理解NIN的结构。 图2:Network In Network的整体结构。在本文中,NINs包括三个mlpconv层和一个全局平均池层的堆叠. 与maxout层的比较:maxout网络中的maxout层在多个仿生特征图上进行max pooling[8]。maxout层的特征图的计算方法如下: $$ f_{i,j,k}=max(w_{k_m}^{T}x_{i,j}). $$ 线性函数的Maxout形成了一个片状线性函数,能够对任何凸函数进行建模。对于一个凸函数,函数值低于特定阈值的样本形成一个凸集。因此,通过近似局部补丁的凸函数,maxout有能力为样本在凸集内的概念形成分离超平面(即$l_2$球、凸锥)。Mlpconv层与maxout层的不同之处在于,凸函数近似器被一个通用函数近似器所取代,它在模拟各种潜在概念的分布方面具有更大的能力。 3.2 Global Average Pooling 传统的卷积神经网络在网络的低层进行卷积。对于分类来说,最后一个卷积层的特征图矢量化,并送入全连接层,然后是softmax逻辑回归层[4] [8] [11]。这种结构是卷积结构与传统神经网络分类器的桥梁。...

June 26, 2024 · 132 words · Kurong

ResNet

ResNet Abstract 更深的神经网络更难训练。我们提出了一种残差学习框架来减轻网络训练,这些网络比以前使用的网络更深。我们明确地将层变为学习关于层输入的残差函数,而不是学习未参考的函数。我们提供了全面的经验证据说明这些残差网络很容易优化,并可以显著增加深度来提高准确性。在ImageNet数据集上我们评估了深度高达152层的残差网络——比VGG[40]深8倍但仍具有较低的复杂度。这些残差网络的集合在ImageNet测试集上取得了3.57%的错误率。这个结果在ILSVRC 2015分类任务上赢得了第一名。我们也在CIFAR-10上分析了100层和1000层的残差网络。 对于许多视觉识别任务而言,表示的深度是至关重要的。仅由于我们非常深度的表示,我们便在COCO目标检测数据集上得到了28%的相对提高。深度残差网络是我们向ILSVRC和COCO 2015竞赛提交的基础,我们也赢得了ImageNet检测任务,ImageNet定位任务,COCO检测和COCO分割任务的第一名。 1. Introduction 深度卷积神经网络[22, 21]导致了图像分类[21, 49, 39]的一系列突破。深度网络自然地将低/中/高级特征[49]和分类器以端到端多层方式进行集成,特征的“级别”可以通过堆叠层的数量(深度)来丰富。最近的证据[40, 43]显示网络深度至关重要,在具有挑战性的ImageNet数据集上领先的结果都采用了“非常深”[40]的模型,深度从16 [40]到30 [16]之间。许多其它重要的视觉识别任务[7, 11, 6, 32, 27]也从非常深的模型中得到了极大受益。 在深度重要性的推动下,出现了一个问题:学些更好的网络是否像堆叠更多的层一样容易?回答这个问题的一个障碍是梯度消失/爆炸[14, 1, 8]这个众所周知的问题,它从一开始就阻碍了收敛。然而,这个问题通过标准初始化[23, 8, 36, 12]和中间标准化层[16]在很大程度上已经解决,这使得数十层的网络能通过具有反向传播的随机梯度下降(SGD)开始收敛。 当更深的网络能够开始收敛时,暴露了一个退化问题:随着网络深度的增加,准确率达到饱和(这可能并不奇怪)然后迅速下降。意外的是,这种下降不是由过拟合引起的,并且在适当的深度模型上添加更多的层会导致更高的训练误差,正如[10, 41]中报告的那样,并且由我们的实验完全证实。图1显示了一个典型的例子。 图1:20层和56层的“简单”网络在CIFAR-10上的训练误差(左)和测试误差(右)。更深的网络有更高的训练误差和测试误差。ImageNet上的类似现象如图4所示。 退化(训练准确率)表明不是所有的系统都很容易优化。让我们考虑一个较浅的架构及其更深层次的对象,为其添加更多的层。存在通过构建得到更深层模型的解决方案:添加的层是恒等映射,其他层是从学习到的较浅模型的拷贝。 这种构造解决方案的存在表明,较深的模型不应该产生比其对应的较浅模型更高的训练误差。但是实验表明,我们目前现有的解决方案无法找到与构建的解决方案相比相对不错或更好的解决方案(或在合理的时间内无法实现)。 在本文中,我们通过引入深度残差学习框架解决了退化问题。我们明确地让这些层拟合残差映射,而不是希望每几个堆叠的层直接拟合期望的基础映射。形式上,将期望的基础映射表示为$H(x)$,我们将堆叠的非线性层拟合另一个映射$F(x):=H(x)−x$。原始的映射重写为$F(x)+x$。我们假设残差映射比原始的、未参考的映射更容易优化。在极端情况下,如果一个恒等映射是最优的,那么将残差置为零比通过一堆非线性层来拟合恒等映射更容易。 公式$F(x)+x$可以通过带有“快捷连接”的前向神经网络(图2)来实现。快捷连接[2, 33, 48]是那些跳过一层或更多层的连接。在我们的案例中,快捷连接简单地执行恒等映射,并将其输出添加到堆叠层的输出(图2)。恒等快捷连接既不增加额外的参数也不增加计算复杂度。整个网络仍然可以由带有反向传播的SGD进行端到端的训练,并且可以使用公共库(例如,Caffe [19])轻松实现,而无需修改求解器。 图2:残差学习的构建块 我们在ImageNet[35]上进行了综合实验来显示退化问题并评估我们的方法。我们发现:1)我们极深的残差网络易于优化,但当深度增加时,对应的“简单”网络(简单堆叠层)表现出更高的训练误差;2)我们的深度残差网络可以从大大增加的深度中轻松获得准确性收益,生成的结果实质上比以前的网络更好。 CIFAR-10数据集上[20]也显示出类似的现象,这表明了优化的困难以及我们的方法的影响不仅仅是针对一个特定的数据集。我们在这个数据集上展示了成功训练的超过100层的模型,并探索了超过1000层的模型。 在ImageNet分类数据集[35]中,我们通过非常深的残差网络获得了很好的结果。我们的152层残差网络是ImageNet上最深的网络,同时还具有比VGG网络[40]更低的复杂性。我们的模型集合在ImageNet测试集上有3.57% top-5的错误率,并在ILSVRC 2015分类比赛中获得了第一名。极深的表示在其它识别任务中也有极好的泛化性能,并带领我们在进一步赢得了第一名:包括ILSVRC & COCO 2015竞赛中的ImageNet检测,ImageNet定位,COCO检测和COCO分割。坚实的证据表明残差学习准则是通用的,并且我们期望它适用于其它的视觉和非视觉问题。 2. Related Work 残差表示。在图像识别中,VLAD[18]是一种通过关于字典的残差向量进行编码的表示形式,Fisher矢量[30]可以表示为VLAD的概率版本[18]。它们都是图像检索和图像分类[4,47]中强大的浅层表示。对于矢量量化,编码残差矢量[17]被证明比编码原始矢量更有效。 在低级视觉和计算机图形学中,为了求解偏微分方程(PDE),广泛使用的Multigrid方法[3]将系统重构为在多个尺度上的子问题,其中每个子问题负责较粗尺度和较细尺度的残差解。Multigrid的替代方法是层次化基础预处理[44,45],它依赖于表示两个尺度之间残差向量的变量。已经被证明[3,44,45]这些求解器比不知道解的残差性质的标准求解器收敛得更快。这些方法表明,良好的重构或预处理可以简化优化。 快捷连接。导致快捷连接[2,33,48]的实践和理论已经被研究了很长时间。训练多层感知机(MLP)的早期实践是添加一个线性层来连接网络的输入和输出[33,48]。在[43,24]中,一些中间层直接连接到辅助分类器,用于解决梯度消失/爆炸。论文[38,37,31,46]提出了通过快捷连接实现层间响应,梯度和传播误差的方法。在[43]中,一个“inception”层由一个快捷分支和一些更深的分支组成。 和我们同时进行的工作,“highway networks” [41, 42]提出了门功能[15]的快捷连接。这些门是数据相关且有参数的,与我们不具有参数的恒等快捷连接相反。当门控快捷连接“关闭”(接近零)时,高速网络中的层表示非残差函数。相反,我们的公式总是学习残差函数;我们的恒等快捷连接永远不会关闭,所有的信息总是通过,还有额外的残差函数要学习。此外,高速网络还没有证实极度增加的深度(例如,超过100个层)带来的准确性收益。 3. Deep Residual Learning 3.1. Residual Learning 我们考虑$H(x)$作为几个堆叠层(不必是整个网络)要拟合的基础映射,xx表示这些层中第一层的输入。假设多个非线性层可以渐近地近似复杂函数,它等价于假设它们可以渐近地近似残差函数,即$H(x)−x$(假设输入输出是相同维度)。因此,我们明确让这些层近似参数函数 $F(x):=H(x)−x$,而不是期望堆叠层近似$H(x)$。因此原始函数变为$F(x)+x$。尽管两种形式应该都能渐近地近似要求的函数(如假设),但学习的难易程度可能是不同的。 关于退化问题的反直觉现象激发了这种重构(图1左)。正如我们在引言中讨论的那样,如果添加的层可以被构建为恒等映射,更深模型的训练误差应该不大于它对应的更浅版本。退化问题表明求解器通过多个非线性层来近似恒等映射可能有困难。通过残差学习的重构,如果恒等映射是最优的,求解器可能简单地将多个非线性连接的权重推向零来接近恒等映射。 在实际情况下,恒等映射不太可能是最优的,但是我们的重构可能有助于对问题进行预处理。如果最优函数比零映射更接近于恒等映射,则求解器应该更容易找到关于恒等映射的抖动,而不是将该函数作为新函数来学习。我们通过实验(图7)显示学习的残差函数通常有更小的响应,表明恒等映射提供了合理的预处理。 图7:层响应在CIFAR-10上的标准差(std)。这些响应是每个3×3层的输出,在BN之后非线性之前。上面:以原始顺序显示层。下面:响应按降序排列。 3.2. Identity Mapping by Shortcuts 我们每隔几个堆叠层采用残差学习。构建块如图2所示。在本文中我们考虑构建块正式定义为: $$ y=F(x,W_i)+x $$ $x$和$y$是考虑的层的输入和输出向量。函数$F(x,Wi)$表示要学习的残差映射。图2中的例子有两层,$F=W_2σ(W_1x)$中$σ$表示ReLU[29],为了简化写法忽略偏置项。$F+x$操作通过快捷连接和各个元素相加来执行。在相加之后我们采纳了第二种非线性(即$σ(y)$,看图2)。...

June 26, 2024 · 170 words · Kurong

SQL

第一章:数据库基础 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库软件(DBMS):MySql,Oracle,MongoDB之类。人们通常用数据库来代替数据库软件的名称 表(table):某种特定类型数据的结构化清单 模式:关于数据库和表的布局及特性的信息 列(column):表中的一个字段(该列由字段来唯一标识),所有表都是由一个或多个列组成的,每一列都有自己的数据类型 行(row):表中的一条数据是由行来存储的 主键(primary key):唯一标识表中每行的这个列就是主键,应该总是定义主键 关于主键: 任意两行都不具有相同的主键值 每个行都必须有一个主键值 SQL:结构化查询语言 第二章:MySQL简介 略 第三章:使用MySQL 登录数据库 默认主机名:localhost 默认端口:3306 1 2 mysql -u root -p # 然后输入密码 选择数据库 1 USE database_name; 了解数据库和表 查看所有数据库 1 SHOW DATABASES; 查看一个数据库中的所有表 1 SHOW TABLES; 查看一个表的所有字段 1 SHOW COLUMNS FROM table; 还有一种快捷写法 1 DESCRIBE table; 在返回的列表中可以看到一些建表信息,如字段名,数据类型,键类型,是否为NULL,默认值,其他类型。 其他的show语句 1 2 3 4 5 SHOW GRANTS; # 显示授予用户的安全权限 SHOW ERRORS; # 显示服务器错误 SHOW WARNINGS; # 显示服务器警告信息 SHOW STATUS; # 显示服务器的状态信息 HELP SHOW; # 显示mysql允许的show语句 有一个书写规则:select这样的关键词要大写,表名、列名、数据库名要小写...

June 26, 2024 · 2531 words · Kurong

VGG

VGG ABSTRACT 本文研究了卷积网络深度在大规模的图像识别环境下对准确性的影响。主要贡献是使用非常小的(3×3)卷积滤波器架构对网络深度的增加进行了全面评估,这表明通过将深度推到16-19加权层可以实现对现有技术配置的显著改进。这些发现是ImageNet Challenge 2014提交的基础,本文作者团队在定位和分类过程中分别获得了第一名和第二名。 1 INTRODUCTION 随着ConvNets在计算机视觉领域越来越商品化,为了达到更好的准确性,已经进行了许多尝试来改进Krizhevsky等人(2012)最初的架构。例如,ILSVRC-2013(Zeiler&Fergus,2013;Sermanet等,2014)表现最佳的提交使用了更小的感受窗口尺寸和更小的第一卷积层步长。另一条改进措施在整个图像和多个尺度上对网络进行密集地训练和测试(Sermanet等,2014;Howard,2014)。在本文中,解决了ConvNet架构设计的另一个重要方面——其深度。为此修正了架构的其它参数,并通过添加更多的卷积层来稳定地增加网络的深度,这是可行的,因为在所有层中使用非常小的(3×3)卷积滤波器。 本文的其余部分组织如下。在第2节,描述了ConvNet配置。图像分类训练和评估的细节在第3节,并在第4节中在ILSVRC分类任务上对配置进行了比较。第5节总结了论文。 2 CONVNET CONFIGURATIONS 为了衡量ConvNet深度在公平环境中所带来的改进,所有的ConvNet层配置都使用相同的规则,灵感来自Ciresan等(2011);Krizhevsky等人(2012年)。在本节中,首先描述ConvNet配置的通用设计(第2.1节),然后详细说明评估中使用的具体配置(第2.2节)。最后,网络的设计选择将在2.3节进行讨论并与现有技术进行比较。 2.1 ARCHITECTURE 在训练期间,ConvNet的输入是固定大小的224×224 RGB图像。唯一的预处理是从每个像素中减去在训练集上计算的RGB均值。图像通过若干卷积(conv.)层,选择使用感受野很小的滤波器:3×3(这是捕获图像左/右,上/下,中心特征的最小尺寸)。在其中一种配置中还使用了1×1卷积滤波器,1×1卷积可以看作输入通道的线性变换(后面是非线性)。卷积步长固定为1个像素;卷积层输入的空间填充要满足卷积之后保留空间分辨率,即3×3卷积层的填充为1个像素。空间池化由五个最大池化层进行,这些层在一些卷积层之后(不是所有的卷积层之后都是最大池化)。在2×2像素窗口上进行最大池化,步长为2。 一堆卷积层(在不同架构中具有不同深度)之后是三个全连接(FC)层:前两个每个都有4096个通道,第三个执行1000维ILSVRC分类,因此包含1000个通道(一个通道对应一个类别)。最后一层是soft-max层。所有网络中全连接层的配置是相同的。 所有隐藏层都配备了ReLU。可以注意到,所有网络(除了一个)都不包含LRN(Krizhevsky等,2012):将在第4节看到,这种规范化并不能提高在ILSVRC数据集上的性能,但增加了内存消耗和计算时间。在应用的地方,LRN层的参数是(Krizhevsky等,2012)的参数。 2.2 CONFIGURATIONS 本文中评估的ConvNet配置在表1中列出,每列为一个网络。接下来将按A-E顺序来提及网络。所有配置都遵循2.1节提出的通用设计,并且仅是深度不同:从网络A中的11个加权层(8个卷积层和3个FC层)到网络E中的19个加权层(16个卷积层和3个FC层)。卷积层的宽度(通道数)相当小,从第一层中的64开始,然后在每个最大池化层之后增加2倍,直到达到512。 ConvNet配置(以列显示)。随着更多的层被添加,配置的深度从左(A)增加到右(E)(添加的层以粗体显示)。卷积层参数表示为“conv⟨感受野大小⟩-通道数⟩”。为了简洁起见,不显示ReLU激活功能。 在表2中,包含了每个配置的参数数量。尽管深度很大,但网络中权重数量并不大于具有更大卷积层宽度和感受野的较浅网络中的权重数量(144M的权重在(Sermanet等人,2014)中)。 表2:参数数量(百万级别) 2.3 DISCUSSION 本文的ConvNet配置与ILSVRC-2012(Krizhevsky等,2012)和ILSVRC-2013比赛(Zeiler&Fergus,2013;Sermanet等,2014)表现最佳的参赛提交中使用的ConvNet配置有很大不同。本文在整个网络使用非常小的3×3感受野,与输入的每个像素(步长为1)进行卷积。很容易看到两个3×3卷积层堆叠(没有空间池化)有5×5的有效感受野;三个这样的层具有7×7的有效感受野。 那么我们获得了什么?例如通过使用三个3×3卷积层的堆叠来替换单个7×7层。首先,结合了三个非线性修正层,而不是单一的,这使得决策函数更具判别性。其次,减少了参数的数量:假设三层3×3卷积堆叠的输入和输出有$C$个通道,堆叠卷积层的参数为$3(3^2C^2)=27C^2$个权重;同时,单个7×7卷积层将需要$7^2C^2=49C^2$个参数,即参数多81%。这可以看作是对7×7卷积滤波器进行正则化,迫使它们通过3×3滤波器(在它们之间注入非线性)进行分解。 3 CLASSIFICATION FRAMEWORK 在本节中,将介绍分类ConvNet训练和评估的细节。 3.1 TRAINING ConvNet训练过程通常遵循Krizhevsky等人(2012)(除了从多尺度训练图像中对输入裁剪图像进行采样外,如下文所述)。也就是说,通过使用具有动量的小批量梯度下降(基于反向传播(LeCun等人,1989))优化多项式逻辑回归目标函数来进行训练。批量大小设为256,动量为0.9。训练通过权重衰减(L2惩罚乘子设定为$5\times10^{-4}$)进行正则化,前两个全连接层执行丢弃正则化(丢弃率设定为0.5)。学习率初始设定为$10^{-2}$,然后当验证集准确率停止改善时,减少10倍。学习率总共降低3次,学习在37万次迭代后停止(74个epochs)。经过推测,尽管与(Krizhevsky等,2012)相比本文网络参数更多,网络的深度更大,但网络需要更小的epoch就可以收敛,这是由于(a)由更大的深度和更小的卷积滤波器尺寸引起的隐式正则化,(b)某些层的预初始化。 网络权重的初始化是重要的,因为由于深度网络中梯度的不稳定,不好的初始化可能会阻碍学习。为了规避这个问题,开始训练配置A(表1),其足够浅能够以随机初始化进行训练。然后,当训练更深的架构时,用网络A的层初始化前四个卷积层和最后三个全连接层(中间层被随机初始化)。没有减少预初始化层的学习率,允许他们在学习过程中改变。对于随机初始化(如果应用),选择从均值为0和方差为$10^{-2}$的正态分布中采样权重。偏置初始化为零。 为了获得固定大小的224×224 ConvNet输入图像,它们从归一化的训练图像中被随机裁剪(每个图像每次SGD迭代进行一次裁剪)。为了进一步增强训练集,裁剪图像经过了随机水平翻转和随机RGB颜色偏移(Krizhevsky等,2012)。下面解释训练图像归一化。 训练图像大小。令$S$是等轴归一化的训练图像的最小边,ConvNet输入从$S$中裁剪(我们也将S称为训练尺度)。虽然裁剪尺寸固定为224×224,但原则上S可以是不小于224的任何值:对于$S=224$,裁剪图像将捕获整个图像的统计数据,完全扩展训练图像的最小边;对于$S»224$,裁剪图像将对应于图像的一小部分,包含小对象或对象的一部分。 考虑两种方法来设置训练尺度$S$。第一种是修正对应单尺度训练的S(注意,采样裁剪图像中的图像内容仍然可以表示多尺度图像统计)。在本文的实验中评估了以两个固定尺度训练的模型:(已经在现有技术中广泛使用(Krizhevsky等人,2012;Zeiler&Fergus,2013;Sermanet等,2014))和$S=384$。给定ConvNet配置,首先使用$S=256$来训练网络。为了加速$S=384$网络的训练,用$S=256$预训练的权重来进行初始化,使用较小的初始学习率$10^{-3}$。 设置S的第二种方法是多尺度训练,其中每个训练图像通过从一定范围$S_{min}$,$S_{max}$(我们使用$S_{min}=256$和$S_{max}=512$)随机采样$S$来单独进行归一化。由于图像中的目标可能具有不同的大小,因此在训练期间考虑到这一点是有益的。这也可以看作是通过尺度抖动进行训练集增强,其中单个模型被训练在一定尺度范围内识别对象。为了速度,通过对具有相同配置的单尺度模型的所有层进行微调,训练了多尺度模型,并用固定的$S=384$进行预训练。 3.2 TESTING 在测试时,给出训练的ConvNet和输入图像,它按以下方式分类。首先,将其等轴地归一化到预定义的最小图像边,表示为Q(我们也将其称为测试尺度)。我们注意到,Q不一定等于训练尺度S(正如我们在第4节中所示,每个S使用Q的几个值会导致性能改进)。然后,网络以类似于(Sermanet等人,2014)的方式密集地应用于归一化的测试图像上。即,全连接层首先被转换成卷积层(第一FC层转换到7×7卷积层,最后两个FC层转换到1×1卷积层)。然后将所得到的全卷积网络应用于整个(未裁剪)图像上。结果是类得分图的通道数等于类别的数量,以及取决于输入图像大小的可变空间分辨率。最后,为了获得图像的类别分数的固定大小的向量,类得分图在空间上平均(和池化)。我们还通过水平翻转图像来增强测试集;将原始图像和翻转图像的soft-max类后验进行平均,以获得图像的最终分数。 由于全卷积网络被应用在整个图像上,所以不需要在测试时对采样多个裁剪图像(Krizhevsky等,2012),因为它需要网络重新计算每个裁剪图像,这样效率较低。同时,如Szegedy等人(2014)所做的那样,使用大量的裁剪图像可以提高准确度,因为与全卷积网络相比,它使输入图像的采样更精细。此外,由于不同的卷积边界条件,多裁剪图像评估是密集评估的补充:当将ConvNet应用于裁剪图像时,卷积特征图用零填充,而在密集评估的情况下,相同裁剪图像的填充自然会来自于图像的相邻部分(由于卷积和空间池化),这大大增加了整个网络的感受野,因此捕获了更多的上下文。虽然我们认为在实践中,多裁剪图像的计算时间增加并不足以证明准确性的潜在收益,但作为参考,我们还在每个尺度使用50个裁剪图像(5×5规则网格,2次翻转)评估了我们的网络,在3个尺度上总共150个裁剪图像,与Szegedy等人(2014)在4个尺度上使用的144个裁剪图像。 3.3 IMPLEMENTATION DETAILS 略(GPU上的实现细节,模型实现细节,已过时) 4 CLASSIFICATION EXPERIMENTS 在本节中,介绍了描述的ConvNet架构(用于ILSVRC 2012-2014挑战)在ILSVRC-2012数据集上实现的图像分类结果。数据集包括1000个类别的图像,并分为三组:训练(130万张图像),验证(5万张图像)和测试(留有类标签的10万张图像)。使用两个措施评估分类性能:top-1和top-5错误率。前者是多类分类误差,即不正确分类图像的比例;后者是ILSVRC中使用的主要评估标准,并且计算为图像真实类别在前5个预测类别之外的图像比例。 4.1 SINGLE SCALE EVALUATION 首先评估单个ConvNet模型在单尺度上的性能,其层结构配置如2.2节中描述。测试图像大小设置如下:对于固定$S$的$Q=S$,对于抖动$S∈[S_{min},S_{max}],Q=0.5(S_{min}+S_{max})$.结果如表3所示。 表3:在单测试尺度的ConvNet性能 首先注意到,使用局部响应归一化(A-LRN网络)在没有任何归一化层的情况下,对模型A没有改善。因此,在较深的架构(B-E)中不采用归一化。 第二,可以观察到分类误差随着ConvNet深度的增加而减小:从A中的11层到E中的19层。值得注意的是,尽管深度相同,配置C(包含三个1×1卷积层)比在整个网络层中使用3×3卷积的配置D更差。这表明,虽然额外的非线性确实有帮助(C优于B),但也可以通过使用具有非平凡感受野(D比C好)的卷积滤波器来捕获空间上下文。当深度达到19层时,架构的错误率饱和,但更深的模型可能有益于较大的数据集。同时还将网络B与具有5×5卷积层的浅层网络进行了比较,浅层网络可以通过用单个5×5卷积层替换B中每对3×3卷积层得到(其具有相同的感受野如第2.3节所述)。测量的浅层网络top-1错误率比网络B的top-1错误率(在中心裁剪图像上)高7%,这证实了具有小滤波器的深层网络优于具有较大滤波器的浅层网络。 最后,训练时的尺度抖动($S∈[256;512]$)得到了与固定最小边($S=256$或$S=384$)的图像训练相比更好的结果,即使在测试时使用单尺度。这证实了通过尺度抖动进行的训练集增强确实有助于捕获多尺度图像统计。 4.2 MULTI-SCALE EVALUATION 在单尺度上评估ConvNet模型后,现在评估测试时尺度抖动的影响。它包括在一张测试图像的几个归一化版本上运行模型(对应于不同的Q值),然后对所得到的类别后验进行平均。考虑到训练和测试尺度之间的巨大差异会导致性能下降,用固定S训练的模型在三个测试图像尺度上进行了评估,接近于训练一次: $Q=S−32,S,S+32$。同时,训练时的尺度抖动允许网络在测试时应用于更广的尺度范围,所以用变量$S∈[S_{min};S_{max}]$训练的模型在更大的尺寸范围$Q = S_{min}, 0....

June 26, 2024 · 106 words · Kurong

正则表达式

第二章. 匹配单个字符 ’ . ’ 用来匹配任意单一字符, 元字符的一种 ’ \ ‘为转义字符, 属于元字符的一种, 元字符: 有特殊含义的字符 正则表达式被称为模式(pattern) 第三章. 匹配一组字符 ’ [ ] ‘为元字符, 表示一个字符集合, 必须匹配其中的一个或多个字符, 也可以全部匹配. ’ [ ] ‘可以用来匹配大小写, 如[Aa].*就匹配任意以A或a或Aa开头的字符串. 还有几种常见的用法, 如[a-z] [A-Z] [0-9], 这几种很常用, 还有一个用法[A-Za-z0-9] 这个字符集可以匹配以上三种用法的合集 ’ - ‘表示连字符, 是一种较为特殊的元字符, 只有在’ [ ] ’ 里才是元字符, 在其他地方就是一个普通的字符’ - ‘, 也因此在这种情况下它不需要转义 ’ ^ ’ 表示排除, 也是元字符. 在上面的几种用法中, 在集合的最前面加上’ ^ ‘, 就表示匹配除了该集合以外的字符, 而且需要注意的是, ’ ^ ‘的作用域是整个字符集合, 而不是紧跟在其身后的单个字符什么的 第四章. 使用元字符 如果要匹配元字符本身, 可以用 ’ \ . 如: 匹配[ ], 用\ [ \ ]...

June 26, 2024 · 376 words · Kurong

KnowledgeGraph Abstract

本文是对封面论文《A Survey on Knowledge Graphs: Representation, Acquisition and Applications》的提炼,目的是获取对该领域的一个大致认识。 Abstract 人类知识为我们对世界的形式化理解提供了基础。知识图谱作为表示实体之间结构关系的工具,已成为越来越受欢迎的研究方向,旨在实现认知和人类级别的智能。在这份综述中,我们全面回顾了知识图谱的研究主题,包括:1)知识图谱表示学习,2)知识获取与补全,3)时间知识图谱,以及4)知识感知应用,并总结了近期的突破和未来研究的展望方向。我们提出了一个全面的分类和新的分类法。知识图谱嵌入从四个方面进行组织:表示空间、评分函数、编码模型和辅助信息。对于知识获取,特别是知识图谱的补全,我们回顾了嵌入方法、路径推断和逻辑规则推理。此外,我们还探讨了几个新兴的主题,包括元关系学习、常识推理和时间知识图谱。为了促进知识图谱的未来研究,我们还提供了一份精选的不同任务的数据集和开源库。最后,我们对几个有前景的研究方向进行了详细的展望。 通过该论文的摘要可以非常清晰的看出本文主要内容是关于知识图谱领域的综述。 1. Introduction 知识图谱是一种结构化的事实表示,包括实体、关系和语义描述。实体可以是现实世界的对象和抽象概念,关系表示实体之间的关联,实体及其关系的语义描述包含具有明确定义含义的类型和属性。属性图或带属性的图广泛应用,其中节点和关系具有属性或特性。 知识图谱与知识库这两个术语在某种程度上是同义的,但存在一些细微差异。当考虑到图形结构时,知识图谱可以被视为一个图。而当涉及到形式化语义时,它可以被视为用于解释和推理事实的知识库。图1中展示了知识库和知识图谱的示例。知识可以用事实三元组的形式来表达,例如(头部,关系,尾部)或(主题,谓词,对象),在资源描述框架(RDF)下,例如(阿尔伯特·爱因斯坦,获奖者,诺贝尔奖)。它还可以表示为一个有向图,其中节点表示实体,边表示关系。为了简化,本文将知识图谱和知识库这两个术语视为可以互换使用。 资源描述框架(RDF)是用于描述网络资源的 W3C 标准,比如网页的标题、作者、修改日期、内容以及版权信息。RDF 被设计为提供一种描述信息的通用方法,这样就可以被计算机应用程序读取并理解。具体内容参考RDF 教程 (w3school.com.cn) 知识图谱的最新研究进展(2021年)聚焦于知识表示学习(KRL)或知识图嵌入(KGE),通过将实体和关系映射到低维向量中,同时捕捉它们的语义含义 。具体的知识获取任务包括知识图谱补全(KGC)、三元组分类、实体识别和关系抽取。知识感知模型受益于异构信息、丰富的本体和语义以及多语言知识的整合。因此,许多现实世界的应用,如推荐系统和问答系统,都因其具备常识理解和推理能力而繁荣发展。 本文的剩余部分中,在第二部分提供了知识图谱的概述,包括历史、符号、定义和分类;然后,在第三部分中,从四个角度讨论了KRL;接下来,在第四部分和第五部分详细探讨了知识获取和时间知识图谱的任务;在第六部分介绍了下游应用;最后讨论了未来的研究方向,并在结尾处总结。 2. Overview A. A Brief History of Knowledge Bases 图形化知识表示的概念最早可以追溯到1956年,当时Richens提出了“语义网”的概念。而符号逻辑知识则可以追溯到1959年的“通用问题求解器”。知识库首次用于基于知识的推理和问题求解系统。MYCIN是最著名的基于规则的专家系统之一,用于医学诊断,其知识库包含约600条规则。随后,人类知识表示领域出现了基于框架、基于规则和混合表示的发展。大约在这一时期末,Cyc项目开始,旨在整合人类知识。Resource Description Framework(RDF)和Web Ontology Language(OWL)相继发布,并成为语义Web的重要标准。此后,许多开放的知识库或本体被发布,例如WordNet、DBpedia、YAGO和Freebase。1988年,Stokman和Vries提出了一种现代的基于图形的结构化知识的理念。然而,直到2012年,知识图谱的概念才因Google搜索引擎的首次推出而广受欢迎,其中提出了名为“知识金库”的大规模知识图谱融合框架。 B. Definitions and Notations 知识图谱定义为 $G = \{E, R, F\}$ ,其中 $E$、$R$ 和 $F$ 分别是实体、关系和事实的集合。事实被三元组 $(h,r,t) \in F$ 表示,其中 $h$ 、 $r$ 和 $t$ 分别是 head、relation、tail。 C. Categorization of Research on Knowledge Graph 知识表示学习(Knowledge Representation Learning,简称KRL) 是知识图谱领域的关键研究问题,为许多知识获取任务和下游应用铺平了道路。可以将KRL分为四个方面:表示空间、评分函数、编码模型和辅助信息,为开发KRL模型提供了清晰的工作流程。具体要素包括:...

June 25, 2024 · 127 words · Kurong

AlexNet

AlexNet Abstract 本文模型在2010的ImageNet LSVRC比赛数据集上取得了第一,top-1:37.5%,top-5:15.3%,远远超过第二名的top-5:26.2%。 AlexNet由5个卷积模块(包含了池化)、3个全连接、1个1000-way Softmax组成,使用非饱和神经元并在GPU上训练,同时为了减少过拟合,还采用了一种当时刚出现的正则化方法dropout。 1 Introduction 当时的目标识别为提高性能,常采用增大数据集、更好的model、更好的正则化技术阻止过拟合。 为了从ImageNet的数百万张高分辨的图像中学习到几千个对象,提出了CNNs(Convolutional nerual networks),其具有统计上的稳定性,并且对像素有局部性的依赖(卷积直接导致)。与相同层次的前馈相比,CNNs具有更少的连接和参数,更易于训练,但是理论最优性能稍差于前馈。 论文几个贡献: 在ILSVRC-2010和ILSVRC-2012[2]的ImageNet子集上训练了到目前为止最大的神经网络之一,并取得了迄今为止在这些数据集上报道过的最好结果; 编写了高度优化的2D卷积GPU实现以及训练卷积神经网络内部的所有其它操作; 使用了一些有效的技术来防止过拟合; CNNs的深度很重要,移除任何卷积层(每个卷积层包含的参数不超过模型参数的1%)都会导致更差的性能。 网络尺寸主要受限于目前GPU的内存容量和能忍受的训练时间。CNNs在两个GTX 580 3GB GPU上训练五六天。所有实验表明结果可以简单地通过等待更快的GPU和更大的可用数据集来提高。 2 The Dataset ImageNet数据集有超过1500万的标注高分辨率图像,这些图像属于大约22000个类别。这些图像是从网上收集的,使用了Amazon’s Mechanical Turk的众包工具通过人工标注的。从2010年起,作为Pascal视觉对象挑战赛的一部分,每年都会举办ImageNet大规模视觉识别挑战赛(ILSVRC)。ILSVRC使用ImageNet的一个子集,1000个类别每个类别大约1000张图像。总计,大约120万训练图像,50000张验证图像和15万测试图像。 ILSVRC-2010是ILSVRC竞赛中唯一可以获得测试集标签的版本,因此大多数实验都是在这个版本上运行的。由于模型参加了ILSVRC-2012竞赛,因此在之后包含模型在这个版本的数据集上的结果,这个版本的测试标签是不可获得的。在ImageNet上,按照惯例报告两个错误率:top-1和top-5,top-5错误率是指测试图像的正确标签不在模型认为的五个最可能的便签之中。 mageNet包含各种分辨率的图像,而CNNs要求输入固定维度。因此将图像进行下采样到固定的256×256分辨率。除了在训练集上对像素减去平均活跃度外,不对图像做任何其它的预处理。因此将在原始的RGB像素值上训练网络。 下采样步骤:给定一个矩形图像,首先缩放图像短边长度为256,然后从结果图像中裁剪中心的256×256大小的图像块。 3 The Architecture 下面内容是按照重要性排序的,3.1最重要。 3.1 ReLU Nonlinearity 下面的实验证明:使用饱和的激活函数(如Tanh)慢于非饱和的激活函数(如ReLU),且ReLU能较明显的加快训练速度。 右饱和: 当x趋向于正无穷时,函数的导数趋近于0,此时称为右饱和。 左饱和: 当x趋向于负无穷时,函数的导数趋近于0,此时称为左饱和。 饱和函数和非饱和函数: 当一个函数既满足右饱和,又满足左饱和,则称为饱和函数,否则称为非饱和函数。 常用的饱和激活函数和非饱和激活函数: 饱和激活函数有如Sigmoid和tanh,非饱和激活函数有ReLU;相较于饱和激活函数,非饱和激活函数可以解决“梯度消失”的问题,加快收敛。 采用ReLU的深度卷积神经网络训练时间比等价的Tanh单元要快几倍,对于一个特定的四层卷积网络,在CIFAR-10数据集上达到25%的训练误差所需要的迭代次数可以证实这一点。 使用ReLU的四层卷积神经网络在CIFAR-10数据集上达到25%的训练误差比使用tanh神经元的等价网络(虚线)快六倍。为了使训练尽可能快,每个网络的学习率是单独选择的,且没有采用任何类型的正则化。这里展示的效果的大小随网络结构的变化而变化,但使用ReLU的网络都比等价的饱和神经元快几倍。 3.2 Training on Multiple GPUs (该部分就是在说怎样用GPU训练的,略) CNN架构图解,明确描述了两个GPU之间的责任。在图的顶部,一个GPU运行在部分层上,而在图的底部,另一个GPU运行在部分层上。GPU只在特定的层进行通信。网络的输入是150,528维,网络剩下层的神经元数目分别是253,440–186,624–64,896–64,896–43,264–4096–4096–1000(8层)。 3.3 Local Response Normalization 局部响应归一化有助于泛化。$a^i_{x,y}$表示激活的神经元,通过在$(x,y)$位置应用核$i$,然后应用ReLU计算。响应归一化激活$b^i_{x,y}$通过下式定义: $$ b^i_{x,y}=a^i_{x,y}/(k+α\sum_{j=max(0,i−n/2)}^{min(N−1,i+n/2)}(a^i_{x,y})^2)^β $$ 求和运算在$n$个“毗邻的”核映射的同一位置上执行,$N$是本层的卷积核数目。核映射的顺序当然是任意的,在训练开始前确定。响应归一化的顺序实现了一种侧抑制形式,灵感来自于真实神经元中发现的类型,为使用不同核进行神经元输出计算的较大活动创造了竞争。常量$k$,$n$,$α$,$β$是超参数,它们的值通过验证集确定。在本文中,设$k=2$,$n=5$,$α=0.0001$,$β=0.75$。在特定的层使用的ReLU非线性之后应用了这种归一化。 这个方案与Jarrett等人[11]的局部对比度归一化方案有一定的相似性,但更恰当的称其为“亮度归一化”,因此没有减去均值。响应归一化分别减少了top-1:1.4%,top-5:1.2%的错误率。之后在CIFAR-10数据集上验证了这个方案的有效性:一个四层CNN取得了13%的错误率,而使用归一化取得了11%的错误率。 Local Response Normalization(LRN),局部响应归一化层。 首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。归一化(normaliazation)的目的就是“抑制”,LRN就是借鉴这种侧抑制来实现局部抑制,尤其是我们使用RELU的时候,这种“侧抑制”很有效 ,因而在alexnet里使用有较好的效果。...

June 24, 2024 · 81 words · Kurong

记一次博客搭建

My Blog Construction 前言 这是第二次用 Hugo 搭建静态博客了,之前的那个博客不论是主题、工作流、文件结构都很不合理,用起来效率低下。遂决定在研一之前重新搞一次。 完整过程 hugo 安装 在官方的 Releases · gohugoio/hugo (github.com) 下载对应版本即可,然后设置环境变量。 环境配置 网站选用 Github Pages 搭建,因为静态网站可以满足我的所有写作需求。域名就是仓库名705248010.github.io. 将仓库拉取到本地后就要开始配置了。先用 1 hugo new site <your site name> 生成一个对应文件夹,然后我将选择的主题 adityatelange/hugo-PaperMod: A fast, clean, responsive Hugo theme. (github.com) 放到 themes 文件夹内。 可以通过 1 hugo server 查看效果。 写Markdown 根据官方文档配置完成后就可以本地写文章了,用以下命令生成 1 hugo new --kind post ./xxxx/xxxx.md KaTex PaperMod 本身没有对数学公式的支持,但在 Hugo 官网能找到相关文档:Mathematics in Markdown | Hugo (gohugo.io) 。 这里选用 KaTex ,不用Mathjax的原因在于其对于内联公式符号 $ 的不支持。...

June 24, 2024 · 97 words · Kurong