-
关于CNN模型的可解释问题,很早就有人开始研究了,姑且称之为CNN可视化吧。比较经典的有两个方法,反卷积(Deconvolution)和导向反向传播(Guided-backpropagation),通过它们,我们能够一定程度上“看到”CNN模型中较深的卷积层所学习到的一些特征。当然这两个方法也衍生出了其他很多用途,以反卷积为例,它在图像语义分割中有着非常重要的作用。(ps:目前网上有一些关于反卷积的文章,我感觉没有说的特别到位的,当然也有可能是大家理解的角度不同,但是另外一些解读那就是完全错误的了,包括某乎。不得不说,真正要深入理解反卷积还是要去啃论文,很多人嫌麻烦总是看些二手的资料,得到的认识自然是有问题的。当然这些都是题外话,我也有写一篇关于反卷积的文章的计划。看以后的时间安排)从本质上说,反卷积和导向反向传播的基础都是反向传播,其实说白了就是对输入进行求导,三者唯一的区别在于反向传播过程中经过ReLU层时对梯度的不同处理策略。
-
OpenCV在TEXT扩展模块中支持场景文字识别,最早的场景文字检测是基于级联检测器实现,OpenCV中早期的场景文字检测是基于极值区域文本定位与识别、最新的OpenCV3.4.x之后的版本添加了卷积神经网络实现场景文字检测,后者的准确性与稳定性比前者有了很大的改观,不再是鸡肋算法,是可以应用到实际场景中的。值得一提的是基于CNN实现场景文字检测算法OpenCV中采用了是华中科技大学贡献的模型,模型结构如下:代码演示 基于极值区域文本定位的方法实现场景文字检测演示如下:def cascade_classfier_text_detect(): img = cv.imread("D:/images/cover_01.jpg") vis = img.copy() # Extract channels to be processed individually channels = cv.text.computeNMChannels(img) cn = len(channels)-1 for c in range(0,cn): channels.append((255-channels[c])) # Apply the default cascade classifier to each independent channel (could be done in parallel) print("Extracting Class Specific Extremal Regions from "+str(len(channels))+" channels ...") print(" (...) this may take a while (...)") for channel in channels: erc1 = cv.text.loadClassifierNM1('trained_classifierNM1.xml') er1 = cv.text.createERFilterNM1(erc1,16,0.00015,0.13,0.2,True,0.1) erc2 = cv.text.loadClassifierNM2('trained_classifierNM2.xml') er2 = cv.text.createERFilterNM2(erc2,0.5) regions = cv.text.detectRegions(channel,er1,er2) rects = cv.text.erGrouping(img,channel,[r.tolist() for r in regions]) #Visualization for r in range(0,np.shape(rects)[0]): rect = rects[r] cv.rectangle(vis, (rect[0],rect[1]), (rect[0]+rect[2],rect[1]+rect[3]), (255, 0, 0), 2) cv.rectangle(vis, (rect[0],rect[1]), (rect[0]+rect[2],rect[1]+rect[3]), (0, 0, 255), 1) #Visualization cv.imshow("Text detection result", vis) cv.imwrite("D:/test_detection_demo_02.png", vis) cv.waitKey(0)基于卷积神经网络模型实现场景文字检测演示如下:def cnn_text_detect(): image = cv.imread("D:/images/cover_01.jpg") cv.imshow("input", image) result = image.copy() detector = cv.text.TextDetectorCNN_create("textbox.prototxt", "TextBoxes_icdar13.caffemodel") boxes, scores = detector.detect(image); threshold = 0.5 for r in range(np.shape(boxes)[0]): if scores[r] > threshold: rect = boxes[r] cv.rectangle(result, (rect[0], rect[1]), (rect[0] + rect[2], rect[1] + rect[3]), (255, 0, 0), 2) cv.imshow("Text detection result", result) cv.waitKey() cv.waitKey(0) cv.destroyAllWindows()运行结果 基于极值区域文本定位
-
1.概念 经典的目标检测如Faster R-CNN, YOLOv3等都用到了Anchor, 怎么设计Anchor每个目标检测方法各不相同。Faster R-CNN中的Anchor有三种形状,三种长宽比,比如形状有[128, 256, 512]三个,长宽比有[1:1, 1:2, 2:1]三种,这样组合就是9个anchor。YOLOv3中的Anchor是通过K-Means聚类得到的。这些基于anchor的方法的目的是学习一个从Anchor到GT Box的转换函数,下边我们了解一下理论感受野、Anchor、实际感受野三者之间的关系。先看一张图:图源Medium一个kernel size=3的卷积核,通过在原feature map上划窗,然后计算得到的是一个值,这个值是通过计算原来feature map上3×3面积上的值得到的结果,那就说经过这个3×3卷积以后,这一层feature map的感受野就是3×3。如果是两个kernel size=3的卷积核堆叠起来,那么上图黄色的feature map每个值对应最下面的5×5的感受野。**理论感受野:**某一层feature map中的某一个位置,是由前面某一层固定区域输入计算出来的,那这个固定区域就是这个位置的感受野。实际感受野: 实际感受野要小于理论感受野,是在NIPS2016中的Understanding the Effective Receptive Field in Deep Convolutional Neural Networks提出的。文章主要贡献有以下几点:并不是感受野内所有像素对输出向量的贡献相同,实际感受野是一个高斯分布,有效感受野仅占理论感受野的一部以上就是不同层下的不同的感受野。使用不同的激活函数与不同的卷积采样方法,产生的实际感受野也不尽相同。其中ReLU的高斯分布没有另外两个平滑,创建了一个较少的高斯分布,ReLU导致很大一部分梯度归零。另外就是非常关心的问题,实际感受野是如何变化的?实际感受野和理论感受野的关系是什么样的?文章中也给出了答案,见上图,随着网络层数的加深,实际有效的感受野是程级别增长。而右图展示了随着网络层数的加深,有效感受野占理论感受野的比例是按照级别进行缩减的。其中需要注意的是实际感受野的计算方式:若像素值大于(1-96.45%)的中心像素值,就认为该像素处于实际感受野中。训练的过程中,感受野也会发生变化可以看出分类和分割任务经过训练后的感受野都有提升,不过提升幅度不太一样。这也说明了神经网络通过学习,扩大了感受也,能够自适应把越来越大的权重放在感受野之外的像素上。也在一定程度上说明更大感受野的必要性。
-
CR的主要特征就是能够通过对操作环境的感知而改变发射机参数,侦听频谱中是否有空间容纳非授权用户进行通信,而不干扰该频段执牌用户的正常通信。从广义上讲,“认知无线电”这个术语可以是指实现这一技术口标的各种解决方案.这些解决方案试图以尽可能不影响频谱主用户的方式,将次要用户的信号与主要用户的信号交织(Interweave) ,覆盖(underlay)、重叠(Overlay)在一起,CR设备可以是在以上3种工况下运行。在交织模式下,次用户通过频谱感知寻找空穴进行信号传输。而在谱覆盖模式中,允许非授权用户与执牌用户传输同时同频进行,就像超宽带(Ultra Wide Band,UWB)系统一样。次级无线电通过足够大的带宽传播信号,以确保对主要用户造成的干扰量在可容忍的范围内。因此,引人了干扰温度的概念来确定主接收机的可容忍干扰水平同。如果采用有效的频谱管理和资源分配技术,这种模式可以显著提高频谱利用率。
-
优化通常是一个极其困难的任务。传统的机器学习会小心设计目标函数和约束,以确保优化问题是凸的,从而避免一般优化问题的复杂度。在训练神经网络时,我们肯定会遇到一般的非凸情况。即使是凸优化,也并非没有任何问题。在这一节中,我们会总结几个训练深度模型时会涉及到的主要挑战。在优化凸函数时,会遇到一些挑战。这其中最突出的是 Hessian 矩阵 H 的病态。这是数值优化、凸优化或其他形式的优化中普遍存在的问题病态问题一般被认为存在于神经网络训练过程中。病态体现在随机梯度下降会卡在某些情况,此时即使很小的更新步长也会增加代价函数。回顾式,代价函数的二阶泰勒级数展开预测梯度下降中的 −ϵg 会增加神经网络训练任务,我们可以监测平方梯度范数 g⊤g 和 g⊤Hg。在很多情况中,梯度范数不会在训练过程中显著缩小,但是 g⊤Hg 的增长会超过一个数量级。其结果是尽管梯度很强,学习会变得非常缓慢,因为学习率必须收缩以弥补更强的曲率。如图 8.1所示,成功训练的神经网络中,梯度显著增加。
-
ResRep: Lossless CNN Pruning via Decoupling Remembering and Forgetting论文:https://arxiv.org/abs/2007.03260代码:https://github.com/DingXiaoH/ResRepResRep这个名字包括两部分:Res指的是Gradient Resetting,本文提出的一种魔改SGD更新规则;Rep指的是Convolutional Re-parameterization,也就是本文的核心。所以,这一方法也是“重参数化宇宙”的一部分,可以看成重参数化方法论在剪枝领域的成功应用。我想到这个idea主要是是因为我想用结构重参数化来做剪枝,拓展重参数化的应用领域,觉得这样做很有意思。顺便再提一下结构重参数化代表作,一叠3x3卷积堆起来的RepVGG,GitHub 2000star,最新版达到84.16% ImageNet top-1,反超若干Transformer!RepVGGplus的工作正在进展中!清华&旷视提出RepVGG:让你的CNN一卷到底!重参宇宙的简要介绍:https://zhuanlan.zhihu.com/p/361090497Motivation:解耦“记忆”和“遗忘”这一方法多多少少跟神经科学研究有关:动物脑中的记忆和遗忘是两个相对独立的过程,由不同的机制和化学物质控制,并不是说我们记住了什么东西就会自然而然地“覆盖”掉什么记忆。这似乎意味着,如果我们把CNN类比于动物脑,CNN的结构类比于脑结构,CNN的训练(让一些参数变大,一些变小)类比于脑的记忆(一些突触变强,一些变弱),CNN的剪枝(去掉一些结构,如链接、kernel、通道)类比于脑的遗忘(一些神经元和突触的失活),我们就会想到:让CNN中的不同结构负责“记忆”和“遗忘”应该是有好处的。但是在大多数现有的剪枝方法中,“记忆”和“遗忘”是耦合的。例如,一些方法在卷积层的kernel上加一个惩罚项,如L1/L2/Lasso,然后先通过训练使一些通道变小(也就是说,使其对应的参数张量接近0)再剪枝。这样的解决方案是自然的,因为剪掉小的通道造成的精度损失自然就小。问题是,在这一训练过程中,每一个通道的参数既参与了“记忆”(计算原目标函数,导出与目标函数相关的梯度,用这部分梯度更新参数)又参与了“遗忘”(计算惩罚项,导出与惩罚项相关的梯度,用这部分梯度更新参数)。这就造成了一个左右为难的困境:模型既“记不好”(该变小的通道变小了,不该变小的也变小了,精度降低)又“忘不掉”(该变小的也没变得足够小,剪的时候依然有性能损失)。(如下图A)ResRep提出的解决方案是:将原CNN等价拆分成负责“记忆”(保持精度不降低)的部分和负责“遗忘”(去掉某些通道)的部分,前者进行“记忆训练”(不改变原目标函数、不改变训练超参、不改变更新规则),后者进行“遗忘训练”(一种基于SGD的魔改更新规则,即Res),应该能取得更好的效果(更高压缩率、更少精度损失)。然后,如果我们能将“记忆”和“遗忘”部分等价合并成一个更小的模型,不就能实现剪枝了吗?(如下图B)
-
机器学习的概念:机器学习是一种统计学方法,计算机利用已有数据得出某种模型,再利用此模型预测结果。特点:随经验的增加,效果会变好。简单模型举例:决策树模型预测班车到达时间的问题描述: 每天早上七点半,班车从 A 地发往 B 地,到达 B 地的时间如何准确预测?如果你第一次乘坐班车,你的预测通常不太准。一周之后,你大概能预测出班车 8:00 左右到达 B 地;一个月之后,随着经验的增加,你还会知道,周一常堵车, 会晚 10 分钟,下雨常堵车,会晚 20 分钟。于是你画出了如下的一张树状图,如 果是周一,还下了雨,班车会 8:30 到达;如果不是周一,也没有下雨,班车会 8:00 到达。机器学习和传统计算机运算的区别:传统计算机是基于冯诺依曼结构,指令预先 存储。运行时,CPU 从存储器里逐行读取指令,按部就班逐行执行预先安排好的 指令。其特点是,输出结果确定,因为先干什么,后干什么都已经提前写在指令 里了。机器学习三要素:数据、算法、算力 深度学习的概念:深层次神经网络,源于对生物脑神经元结构的研究。人脑神经网络:随着人的成长,脑神经网络是在渐渐变粗变壮。生物学中的神经元:下图左侧有许多支流汇总在一起,生物学中称这些支流叫做 树突。树突具有接受刺激并将冲动传入细胞体的功能,是神经元的输入。这些树突汇总于细胞核又沿着一条轴突输出。轴突的主要功能是将神经冲动由胞体传至 其他神经元,是神经元的输出。人脑便是由 860 亿个这样的神经元组成,所有的 思维意识,都以它为基本单元,连接成网络实现的。计算机中的神经元模型:1943 年,心理学家 McCulloch 和数学家 Pitts 参考了 生物神经元的结构,发表了抽象的神经元模型 MP。神经元模型是一个包含输入, 输出与计算功能的模型。输入可以类比为神经元的树突,输出可以类比为神经元 的轴突,计算可以类比为细胞核。人工智能 Vs 机器学习 Vs 深度学习 的对比:人工智能,就是用机器模拟人的意识和思维。机器学习,则是实现人工智能的一种方法,是人工智能的子集。深度学习就是深层次神经网络,是机器学习的一种实现方法,是机器学习的子集。 机器学习的典型应用1、应用领域 计算机视觉、语音识别、自然语言处理2、主流应用:(1) 预测(对连续数据进行预测) 如,预测某小区 100 平米的房价卖多少钱。 根据以往数据(红色●),拟合出一条线,让它“穿过”所有的点,并且与各个点 的距离尽可能的小。我们可以把以前的数据,输入神经网络,让他训练出一个模型,比如这张图中红 色点表示了以往的数据,虚线表示了预测出的模型 Y = ax + b ,大量历史数据 也就是面积 x 和房价 y 作为输入,训练出了模型的参数 a = 3.5, b = 150,则 你家 100 平米的房价应该是 3.5 * 100 + 150 = 500 万。 我们发现,模型不一定全是直线,也可以是曲线;我们还发现,随着数据的增多, 模型一般会更准确。(2) 分类(对离散数据进行分类) 如,根据肿瘤患者的年龄和肿瘤大小判断良性、恶性。 红色样本为恶性,蓝色样本为良性,绿色分为哪类?假如让计算机判断肿瘤是良性还是恶性,先要把历史数据输入到神经网络进行建 模,调节模型的参数,得到一条线把良性肿瘤和恶性肿瘤分开。比如输入患者的 年龄、肿瘤的大小 还有对应的良性肿瘤还是恶性肿瘤,使用神经网络训练模型 调整参数,再输入新的患者年龄和肿瘤大小时,计算机会直接告诉你肿瘤是良性 还是恶性。比如上图的绿色三角就属于良性肿瘤。
-
神经网络 脉冲神经网络 (SNN-Spiking Neuron Networks) 经常被誉为第三代人工神经网络。第一代神经网络 第一代神经网络是感知器,它是一个简单的神经元模型并且只能处理二进制数据。第二代神经网络包括比较广泛,包括应用较多的BP神经网络。编码 但是从本质来讲,这些神经网络都是基于神经脉冲的频率进行编码( rate coded)。模拟神经 脉冲神经网络,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑其中。思路 思路是这样的,动态神经网络中的神经元不是在每一次迭代传播中都被激活(而在典型的多层感知机网络中却是),而是在它的膜电位达到某一个特定值才被激活。激活 当一个神经元被激活,它会产生一个信号传递给其他神经元,提高或降低其膜电位。脉冲 在脉冲神经网络中,神经元的当前激活水平(被建模成某种微分方程)通常被认为是当前状态,一个输入脉冲会使当前这个值升高,持续一段时间,然后逐渐衰退。解释 出现了很多编码方式把这些输出脉冲序列解释为一个实际的数字,这些编码方式会同时考虑到脉冲频率和脉冲间隔时间。模型 借助于神经科学的研究,人们可以精确的建立基于脉冲产生时间神经网络模型。脉冲编码 这种新型的神经网络采用脉冲编码(spike coding),通过获得脉冲发生的精确时间,这种新型的神经网络可以进行获得更多的信息和更强的计算能力。
-
由来自卡内基梅隆大学、美国东北大学、哥伦比亚大学、加州大学洛杉矶分校的成员共同开发的工具α,β-CROWN 获得了第二届国际神经网络验证大赛总分第一,以及 5 个单项第一!其中该团队的学生作者均为华人。近日,一年一度的国际神经网络验证大赛VNN-COMP落下帷幕。由来自卡内基梅隆大学(CMU)、美国东北大学、哥伦比亚大学、加州大学洛杉矶分校(UCLA)的成员共同研发的工具α,β-CROWN获得了第二届国际神经网络验证大赛总分第一,比分大幅度领先。该工具由华人学者张欢(CMU)、许凯第(东北大学)和王世褀(哥伦比亚大学)带领的团队开发。本文中,我们将介绍神经网络验证的基本问题、国际神经网络验证大赛的背景和本次竞赛获胜算法 α,β-CROWN。神经网络已经成为了现代人工智能中非常重要的元素。然而由于其复杂性,神经网络常常被视为「黑盒」,因为我们很难精确的刻画神经网络所表达的函数。例如,对抗样本 (adversarial examples) 是神经网络中的一个常见的问题:当在神经网络的输入中加入少量对抗扰动时,神经网络的输出可能产生错误的改变,比如将物体识为和输入毫不相关的类。这对于把神经网络应用到对安全性、鲁棒性要求较高的应用中提出了很大的挑战。 神经网络验证的主要任务是为神经网络的行为提供严格的理论保证,用严格的数学方法保证鲁棒性、正确性、公平性、安全性等。比如,在鲁棒性验证问题中,我们需要证明对于一个给定的网络,在某张图片上无论采用何种对抗攻击方法,只要对抗扰动的大小不超过某个阀值,任何攻击都一定不会成功。
-
原理 SPPNet也称为空间金字塔池化卷积网络,它可以将CNN的输入从固定尺寸图片改进为任意尺寸的图片。 SPPNet在普通的CNN结构中加入了ROI池化层,使得网络的输入可以是任意尺寸的。 ROI池化层一般跟在卷积层后面,它的输入是任意大小的卷积,输出是固定维数的向量。分析 1)设卷积层输出的宽度为w,高为h,通道为c。不管输入图像尺寸是多少,卷积层的通道数是不会变,也就是说c是一个常数。而w,h会随着输入图像的尺寸的变化而变化,可以看做是两个变量。 2)ROI池化层首先将卷积层划分为44的网格,每个网格的宽为w/4,高为h/4,通道数为c。当不能整除时,取整数。 3)对于网格中的每个通道,都取出最大值(即对每个网格内的特征做最大值池化),这个44的网格最终就形成了16c维的特征。 4)然后,再将网络划分成22的网格,用同样的方法提取特征,提取的特征的长度是4c。再把网络划分为11的网格,提取出的特征的长度就是c(也就是取出卷积中每个通道的最大值)。 5)最后,将得到的特征拼接起来,得到的特征是16c+4c+c=21c维的特征。很显然,这个输出特征的长度与w,h无关,因此ROI池化层可以把任意宽度、高度的卷积特征转换为固定长度的向量。特征 将ROI应用到目标检测中,可以这样考虑:网络的输入是一张图像,中间经过若干卷积形成了卷积特征,这个卷及特征实际上和原始图像在位置上是有一定对应关系的。因此,原始图像中的候选框,实际上也可以对应到卷积特征中相同位置的框,而利用ROI可以将卷积特征中不同形状的区域对应到同样长度的向量特征。 综合上述步骤,就可以将原始图像中的不同长宽的区域都对应到一个固定长度的向量特征,这就完成了各个区域的特征提取工作。计算 采用ROI后,就可以先对图像进行一遍卷积计算,得到整个图像的卷积特征; 接着,对于原始图像中的各种候选框,只需要在卷积特征中找到对应的位置框,再使用ROI池化层对位置框中的卷积提取特征,就可以完成特征提取工作 R-CNN与SPPNet的不同在于,R-CNN要对每个区域计算卷积,而SPPNet只需要计算一次,所以SPPNet的效率要高得多。
-
原理 Fast R-CNN中还存在一个有点尴尬的问题,它需要使用Selective Search提取框,这个方法比较慢。分析 在Faster R-CNN中,用RPN(Region Proposal Network)网络取代了Selective Search,速度和准确度均得到了很大提高。 RPN还是需要先使用一个CNN网络对原始图片提取特征,对这个卷积特征再进行一次卷积计算,保持宽、高、通道不变。位置 下面定义一个“位置”的概念:对于一个5139256的卷积特征,称它一共有5139个位置。让新的卷积特征的每一个位置都负责原图中对应位置9种尺寸的框的检测,检测的目标是判断框中是否存在一个物体,因此,一共有51399个框,这些框统一称为“anchor”。 anchor的面积分别为128128,256256,512512,每种面积又分为三种长宽比:2:1,1:1,1:2 anchor的尺寸实际是属于可调的参数,不同的任务可以选择不同的尺寸。计算步骤 1、设k为单个位置对应的anchor的个数,此时k=9,首先使用一个33的滑动窗口,将每个位置转换为一个统一的256维的特征。 这个特征对应了两部分的输出:一部分表示该位置的anchor为物体的概率,这部分的总输出长度为2k(一个anchor对应两个概率,一个是是物体的概率,一个是不是物体的概率);另一部分为框回归(同Fast R-CNN),一个anchor对应四个框回归参数(w和h的平移量、缩放量),因此框回归部分的总输出的长度为4k 2、Faster R-CNN使用RPN生成候选框后,剩下的网络结构与Fast R-CNN一样 3、在训练过程中,需要训练两个网络:RPN和分类网络。通常的做法是交替训练,即在一个batch中,先训练RPN一次,再训练分类网络一次。
-
分析 传统的目标检测方法大多以图像识别为基础。一般可以在图片上使用穷举法选出所有物体可能出现的区域框,对这些区域框提取特征并使用图像识别方法分类,在得到所有分类成功的区域后,通过非极大值抑制(Non-maximum suppression)输出结果。 R-CNN的全称是Region-CNN,可以说是第一个成功将深度学习用到目标检测上的算法。 R-CNN同样遵循传统目标检测的思路,同样采用提取框、对每个提取框提取特征、图像分类、非极大值抑制四个步骤进行目标检测。只不过在提取特征这一步,将传统的特征换成了深度卷积网络(CNN)提取的特征。基本步骤 1)对于原始图像,首先使用Selective Search搜寻可能存在物体的区域。 Selective Search可以从图像中启发式地搜索出可能包含物体的区域,相比穷举法可以节省一部分计算量。 2)将取出的可能含有物体的区域送入CNN中提取特征。 CNN通常是接受一个固定大小的图像,而 Selective Search所取出的区域大小却各有不同,对此,R-CNN的做法是将区域缩放到统一大小,再使用CNN提取特征。 3)提取出特征后使用支持向量机SVM进行分类,最后通过非极大值抑制输出结果。R-CNN训练 1)在训练集上训练CNN,R-CNN论文中使用的CNN网络是AlexNet,数据集是ImageNet。 2)在目标检测的数据集上,对训练好的CNN进行微调 3)用Selective Search搜索候选区域,统一使用微调后的CNN对这些区域提取特征,并将提取的特征存储起来。 4)使用提取的特征,训练SVM分类器。算量 R-CNN的缺点在于计算量太大,因此,后续研究者又提出了Fast R-CNN和Faster R-CNN,这两者在一定程度上改进了R-CNN计算量大的缺点,不仅速度变快不少,识别准确率也得到了提高。在介绍Fast R-CNN和Faster R-CNN之前,需要先引入SPPNet,并介绍SPPNet的原理。
-
分析 神经网络是由存储在网络内部的大量神经元通过节点连接权组成的一种信息响应网状拓扑结构,它采用了并行分布式的信号处理机制,因而具有较快的处理速度和较强的容错能力。基本特点 神经网络模型用于模拟人脑神经元的活动过程,其中包括对信息的加工、处理、存储、和搜索等过程。 人工神经网络具有如下基本特点: 1)、高度的并行性:人工神经网络有许多相同的简单处理单元并联组合而成,虽然每一个神经元的功能简单,但大量简单神经元并行处理能力和效果,却十分惊人。人工神经网络和人类的大脑类似,不但结构上是并行的,它的处理顺序也是并行和同时的。在同一层内的处理单元都是同时操作的,即神经网络的计算功能分布在多个处理单元上,而一般计算机通常有一个处理单元,其处理顺序是串行的。 人脑神经元之间传递脉冲信号的速度远低于冯·诺依曼计算机的工作速度,前者为毫秒量级,后者的时钟频率通常可达108Hz 或更高的速率。但是,由于人脑是一个大规模并行与串行组合处理系统,因而在许多问题上可以做出快速判断、决策和处理,其速度可以远高于串行结构的冯·诺依曼计算机。人工神经网络的基本结构模仿人脑,具有并行处理的特征,可以大大提高工作速度。 2)、高度的非线性全局作用:人工神经网络每个神经元接受大量其他神经元的输入,并通过并行网络产生输出,影响其他神经元,网络之间的这种互相制约和互相影响,实现了从输入状态到输出状态空间的非线性映射,从全局的观点来看,网络整体性能不是网络局部性能的叠加,而表现出某种集体性的行为。 非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性人工神经网络。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。 3)、联想记忆功能和良好的容错性:人工神经网络通过自身的特有网络结构将处理的数据信息存储在神经元之间的权值中,具有联想记忆功能,从单一的某个权值并看不出其所记忆的信息内容,因而是分布式的存储形式,这就使得网络有很好的容错性,并可以进行特征提取、缺损模式复原、聚类分析等模式信息处理工作,又可以作模式联想、分类、识别工作。它可以从不完善的数据和图形中进行学习并做出决定。由于知识存在于整个系统中,而不只是一个存储单元中,预订比例的结点不参与运算,对整个系统的性能不会产生重大的影响。能够处理那些有噪声或不完全的数据,具有泛化功能和很强的容错能力。 一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。 4)、良好的自适应、自学习功能:人工神经网络通过学习训练获得网络的权值与结构,呈现出很强的自学习能力和对环境的自适应能力。神经网络所具有的自学习过程模拟了人的形象思维方法,这是与传统符号逻辑完全不同的一种非逻辑非语言。自适应性根据所提供的数据,通过学习和训练,找出输入和输出之间的内在关系,从而求取问题的解,而不是依据对问题的经验知识和规则,因而具有自适应功能,这对于弱化权重确定人为因素是十分有益的。 5)、知识的分布存储:在神经网络中,知识不是存储在特定的存储单元中,而是分布在整个系统中,要存储多个知识就需要很多链接。在计算机中,只要给定一个地址就可得到一个或一组数据。在神经网络中要获得存储的知识则采用“联想”的办法,这类似人类和动物的联想记忆。人类善于根据联想正确识别图形,人工神经网络也是这样。神经网络采用分布式存储方式表示知识,通过网络对输入信息的响应将激活信号分布在网络神经元上,通过网络训练和学习使得特征被准确地记忆在网络的连接权值上,当同样的模式再次输入时网络就可以进行快速判断。 6)、非凸性:一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。总结 正是神经网络所具有的这种学习和适应能力、自组织、非线性和运算高度并行的能力,解决了传统人工智能对于直觉处理方面的缺陷,例如对非结构化信息、语音模式识别等的处理,使之成功应用于神经专家系统、组合优化、智能控制、预测、模式识别等领域。
-
一 随着深度学习的引入,基于深度学习的图像检索技术,主要是将深度学习方法应用在图像检索中的特征提取模块,利用卷积神经网络提取图片特征。二 主要步骤即给定一张图片,通过卷积神经网络对图片进行特征提取得到表征图片的特征,利用度量学习方法如欧式距离对图片特征进行计算距离。三 对图片距离进行排序,得到初级检索结果,再根据图片数据的上下文信息和流形结构对图像检索结果进行重排序,从而提高图像检索准确率,得到最终的检索结果。
-
检索目标背景杂乱 1)在实例检索中,复杂的背景噪声直接影响了最终的搜索性能。因此很多队伍首先尝试使用目标检测(比如faster-rcnn)RPN定位感兴趣的区域,然后在进一步地学习特征,比较相似度。另外,当没有bounding box训练数据时,弱监督的目标定位也是一种有效的方法。 2)预处理:自动定位用户感兴趣的商品,去除背景、多主体等因素的影响,也有利于抽取的语义特征的对齐。语义对齐方式,常见操作有商品检测框对齐、旋转对齐、局部关键点对齐等。(淘宝搜图用户可以手动调整选择检测框)类内差异性与类间相似性(高层语义和低层特征融合) 很多方法都是用最后一个卷积层或全连接层的特征进行检索,而由于高层的特征已经损失了很多细节信息(对于更深的网络,损失更严重。 高层语义和低层特征融合很重要。不同层的特征图谱(feature map)进行融合,这不仅利用了高层特征的语义信息,还考虑了低层特征的细节纹理信息,使得实例搜索更精准。 GoogLeNet-22网络,对于最后的8层特征图(从Inception 3b到Inception 5b),首先使用最大池化对这些不同尺度的特征图分别进行子采样(转换为相同尺寸的特征图),并使用的卷积对这些采样结果进一步地处理。 然后对这些特征图做线性加权(由的卷积完成),最后在此基础上,使用sum pooling得到最终的图像特征。在训练时,我们根据所提供的训练数据,通过优化基于余弦距离的triplet ranking loss来端到端学习这些特征。 因此在测试时,可以直接使用特征之间的余弦距离来衡量图像的相似度。(例如一件衣服除了一件是圆领另一件是V领,其他颜色,纹理都是一摸一样的,领口形状就是高层语义,颜色纹理就是低层特征。要想达到好的检索效果最好都要兼顾。(类似特征金子塔FPN))
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签