暂时未有相关云产品技术能力~
暂无个人介绍
扫 变废为宝,垃圾分类是一项长期推行的社会性行为,是每个人都必须养成的习惯。当前,在上海、苏州等地已经开始垃圾分类试行,3466.54万人正在开始进行垃圾分类,然后大量民众是不知道如何分类的。随着,垃圾分类的日益普及,越来愈多的人要加入到这项行动中来。通过 ScanCan 即可完成对任何一件物品的垃圾分类。
这项工作对神经网络推理逻辑的可解释性进行了探究:区分于大多数现有 xAI 方法通过可视化输入图像和输出结果之间的相关性对网络进行解释,该研究提出用结构化的视觉概念 (Structural Visual Concept) 对神经网络决策背后的推理逻辑和因果关系进行解释,通过解答网络决策中「为什么是 A?为什么不是 B?」 的问题,用人们更容易理解的 high-level 视觉概念和视觉概念之间的结构和空间关系解释神经网络的推理逻辑,并将其作为一种直接指导来提升被解释网络的性能。
MobileNet系列作为轻量级网络的代表,使得CNN轻量化和移动端的部署成为可能。MobileNet系列目前总共有三个版本, 分别是MobileNet v1、MobileNet v2和MobileNet v3。作为学习轻量化网络的必经之路,本文重点对MobileNet系列网络进行阐述。
根据滤波器的数目和每个滤波器的大小来创建零数组。上述代码创建了2个3x3大小的滤波器,(2,3,3)中的元素数字分别表示2:滤波器的数目(num_filters)、3:表示滤波器的列数、3:表示滤波器的行数。由于输入图像是灰度图,读取后变成2维图像矩阵,因此滤波器的尺寸选择为2维阵列,舍去了深度。如果图像是彩色图(具有3个通道,分别为RGB),则滤波器的大小必须为(3,3,3),最后一个3表示深度,上述代码也要更改,变成(2,3,3,3)。
在资源受限设备上运行机器学习模型的能力为许多新的可能性打开了大门。AI 的发展可能使标准机器学习更加节能,有助于减少人们对数据科学影响环境的担忧。此外,TinyML 允许嵌入式设备被赋予基于数据驱动算法的新智能,这些算法可以用于从预防性维护到森林中的鸟叫声检测等任何方面。
很多人工智能项目其实并没有那么严肃,做起来还很有趣。2017 年初,我着手启动了一个为日本漫画上色的项目,并作为我对生成对抗网络 ( GAN ) 研究的一部分。这个问题很难解决,但却很吸引人,尤其是对于我这种不会画画的人来说!在寻找项目时,不要局限于增量性改进,去做一款适销对路的产品,或者创建一种学习速度更快、质量更高的新模型。
我们沿用了 Detectron2 的 3x training schedule,因此将 Sparse R-CNN 和 Detectorn2 中的 detectors 做比较(很多方法没有报道 3x 的性能,所以没有列出)。同时,我们也列出了同样不需要 NMS 后处理的 DETR 和 Deformable DETR 的性能。Sparse R-CNN 在检测精度,推理时间和训练收敛速度都展现了相当有竞争力的性能。
二叉树当中的结点只有度为0、1、2三种情况,度为0就是终端结点.构造二叉树的过程就是从原始结点开始“生长”结点的过程,初始状态下,原始结点就是终端结点,n0=1,n1=0,n2=0,每当一个原来的终端结点变成“1度结点”的时候只是把终端的位置向下移动了一点,n1++,不影响n0和n2,而每当一个原来的终端结点变成“2度结点”的时候,原来的终端消失,增加两个终端,总效果就是n0++,n2++,所以二叉树当中的n0和n2总是同步增加,即总是满足n0=n2+1。
字符串的定位操作通常称作字符串的模式匹配,是各种字符串处理系统中最重要的操作之一,本文介绍Hash、KMP、BM、Sunday四种匹配算法。
入栈:当stackData栈中压入一个数据时,判断satckMin中是否为空。若为空,将该元素压入stackMin栈中。若不空,判断两者之间的大小,当前者小于或等于后者时,将前者中的数据压入后者中;当前者大于后者时,不进行任何操作。
所谓的循环队列,可以把数组看出一个首尾相连的圆环,删除元素时将队首标志往后移动,添加元素时若数组尾部已经没有空间,则考虑数组头部的空间是否空闲,如果是,则在数组头部进行插入。
为什么我认为 KMP 算法就是个动态规划问题呢,等会再解释。对于动态规划,之前多次强调了要明确 dp 数组的含义,而且同一个问题可能有不止一种定义 dp 数组含义的方法,不同的定义会有不同的解法。
损失函数在模型的性能中起着关键作用。选择正确的损失函数可以帮助你的模型学习如何将注意力集中在数据中的正确特征集合上,从而获得最优和更快的收敛。
最近花了些时间在学习TCP/IP协议上,首要原因是由于本人长期以来对TCP/IP的认识就只限于三次握手四次分手上,所以希望深入了解一下。再者,TCP/IP和Linux系统层级的很多设计都可以用于中间件系统架构上,比如说TCP 拥塞控制算法也可以用于以响应时间来限流的中间件。更深一层,像TCP/IP协议这种基础知识和原理性的技术,都是经过长时间的考验的,都是前人智慧的结晶,可以给大家很多启示和帮助。
如上述快速排序算法中的核心,选取数组中Pivot的值,大于它的值都放在一边,小于它的值都放在 另一边,这样就可以快速讲数组中的元素二分。
多年来,人们一直在研究处理图像以生成文本,例如图像字幕和视觉问答。传统上,此类系统依赖对象检测网络作为视觉编码器来捕获视觉特征,然后通过文本解码器生成文本。鉴于现有的大量文献,在这篇文章中,我想只关注解决视觉语言任务的一种方法,即扩展预训练的通用语言模型以能够消费视觉信号。
感知:2-D/3-D 目标检测和分割基本是采用深度学习模型,无论激光雷达、摄像头或者传感器融合的形式;跟踪基本是tracking-by-detection方式,不过把跟踪和检测集成在一起做深度学习模型也是大家讨论的热点之一。
Micro-Factorized convolution将MobileNet中的point-wise卷积以及depth-wise卷积分解为低秩矩阵,从而使得通道数目和输入输出的连通性得到一个良好的平衡。
变分自编码器(VAE)与生成对抗网络(GAN)经常被相互比较,其中前者在图像生成上的应用范围远窄于后者。VAE 是不是只能在 MNIST 数据集上生成有意义的输出?在本文中,作者尝试使用 VAE 自动生成动漫人物的头像,并取得了不错的结果。
注意力模型(Attention Model,AM)已经成为神经网络中的一个重要概念,并在不同的应用领域进行了充分的研究。这项调查提供了一个结构化和全面的概述关于attention的发展。我们回顾了注意力机制被纳入的不同的神经网络结构,并展示了注意力如何提高神经网络的可解释性。最后,我们讨论了在实际应用中,注意力机制取得的重要影响。我们希望这项调查能够为注意力模型提供一个简明的介绍,并在开发应用方法的同时指导实践者。
基于kaggle网站所提供的爱荷华州埃姆斯的住宅数据信息,预测每间房屋的销售价格,数据的标签SalePrice是连续性数据,因此可以判定这是一个回归问题。
在上图中,神经元上的条可以理解为神经元的学习速率。这个网络是经过随机初始化的,但是从上图不难发现,第二层神经元上的条都要大于第一层对应神经元上的条,即第二层神经元的学习速率大于第一层神经元学习速率。那这可不可能是个巧合呢?其实不是的,在书中,Nielsen通过实验说明这种现象是普遍存在的。
其实应用挺广的,在图像识别,文本分类等等都会用到,我会专门再写一篇Auto-Encoder的文章来说明,包括一些变种之类的。如果你的输出和原始输入不一样,那么就是很常见的人工神经网络了,相当于让原始数据通过一个映射来得到我们想要的输出数据,也就是我们今天要讲的话题。
现在如果我给你一个400位的数字,事实证明你很难直接分解出它的因数。两个数的乘法很容易,如果把两个200位的数相乘,你可以很快的计算出结果。如果用计算机来计算的话,甚至会更快。但是一个400位的数字,让你计算出它的两个因数,你很难解出来。
GDBT本身并不复杂,不过要吃透的话需要对集成学习的原理、策树原理和各种损失函树有一定的了解。由于GBDT的卓越性能,只要是研究机器学习都应该掌握这个算法,包括背后的原理和应用调参方法。目前GBDT的算法比较好的库是xgboost。当然scikit-learn也可以。
近来,Transformer在CV领域遍地开花,取得了非常好的性能,指标屡创新高。但Transformer的性能距离最佳的CNN仍存在差距,不由产生出一种Transformer不过如此的感觉。
深度生成模型可以在高分辨率下进行逼真的图像合成。但对于许多应用来说,这还不够:内容创作还需要可控。虽然最近有几项工作研究了如何分解数据中的潜在变化因素,但它们大多在二维中操作,忽略了我们的世界是三维的。
在某些情况下,直接调用已经搭好的模型可能是非常方便且有效的,比如Caffe、TensorFlow工具箱,但这些工具箱需要的硬件资源比较多,不利于初学者实践和理解。因此,为了更好的理解并掌握相关知识,最好是能够自己编程实践下。本文将展示计算机时如何识别车道线的。
Coordinate Attention (CA) 可以插入到移动网络中,如助力MobileNetV2、EfficientNet等网络涨点,性能优于SE、CBAM等注意力模块,还可提高检测、分割性能,代码已开源!
在本文中,我们提出了一种新颖的协同设计,可以最佳地平衡这些相互竞争的目标。我们的主要建议是一个多阶段体系结构,该体系结构逐步学习降级输入的恢复特征,从而将整个恢复过程分解为更易于管理的步骤。
3D目标通常表示为点云中的3D框。这种表示方法模仿了经过充分研究的基于图像的2D边界框检测,但也带来了其他挑战。3D世界中的物体没有遵循任何特定的方向,并且基于盒的检测器很难枚举所有方向或将轴对齐的边界框拟合到旋转的对象。
在语义分割中,对广泛使用的域自适应基准数据集进行了广泛的实验和消融研究。通过对标记的Synscapes和GTA5数据集以及未标记的Cityscapes训练集进行训练,我们提出的方法在Cityscapes的验证集上达到了59.0%的mIoU。它明显优于所有以前的最新的单源和多源无监督域自适应方法。
我们的实验评估和研究分析了ORE在实现开放世界目标方面的功效。作为有趣的by-product,我们发现识别和表征未知实例有助于减少增量目标检测设置中的混乱,在此方法中,我们无需任何方法上的努力即可获得最先进的性能。我们希望我们的工作将吸引对这个新发现的但至关重要的研究方向的进一步研究。
深度学习和人工神经网络已经从大脑获得灵感,但大部分是在计算表现形式上的灵感(大多是生物学的,比如 spike 的存在留待考虑)。然而,如今缺少的是对生物神经元中存在的学习规则的一个可信的机器学习说明,从而能够解释一个深度神经网络有效的联合训练,也就是通过一个神经连接长链说明信任分配(credit assignment)。因此,解决信任分配难题也意味着确认神经元与权重,这二者与得到想要的输出和改变参数有关。反向传播提供了一个机器学习答案,然而就像下一段讨论的那样,它并非生物学上可信的。寻找一个生物学上可信的机器学习方法进行深度网络中的信任分配是一个主要的长期问题,也是此论文贡献的方向。
全卷积神经网络FCN:相信做物体识别检测分割的同学都非常熟悉这个工作,可以看作是开启和奠定了用FCN做实例和像素级别理解的一系列方法的先河,思想非常简单:直接端到端利用全卷积网络预测每个位置的标签。后续非常多的方法,包括Mask R-CNN、各种单阶段检测器、包括3D、video的诸多方法均或多或少受此简单想法的启发。
从表3中可以看到,当使用了 CutBlur 对模型进行训练,模型在测试集上的性能得到了明显的提升,尤其是在 RealSR 数据集上,所有模型至少得到了0.22dB 的提升。而 CARN则能够在 RealSR测试集上达到 SOTA 性能(RCAN basline),性能与 LP-KPN近似,使用参数量仅为 LP-KPN 的22%。从图7也可以看到,残差强度图在使用 CutBlur 方法后得到误差明显的下降。
论文提出了一个基于梯度指导的结构保留超分辨率方法SPSR,缓解了感知驱动方法生成的SR结果中普遍存在的几何变形问题。不仅设计了梯度分支网络用于生成SR 梯度特征图,同时引入梯度 Loss 做了进一步的约束。这也给后续超分辨率方法的研究提供了一个新的思路,利用不同的图像先验信息作为约束,指导 SR 模型训练,以促使SR模型生成更自然和真实的图像。
近些年,基于CNN的方法在图像超分辨率问题上表现出出色的性能。然而大多数方法基于一种退化或者是多种退化的组合,甚至去训练特定的模型以适应特定的退化过程。因此更加实际的方法是训练单独的模型以适用多样可变的退化。
论文针对这两个主要的问题进行改进,提出了对偶回归策略,通过引入对 LR 图像额外的约束,从而减小解空间的大小。也就是说,模型除了学习LR到HR图像的映射外,还学习了额外的对偶回归映射,用于估计下采样内核并重建LR图像,从而形成一个闭环以提供额外的监督。
他们提出一种称为FTSO的方法,通过分别搜索网络拓扑和运营商,将NAS的搜索时间从几天缩短至0.68秒,同时在ImageNet上实现76.42%的测试精度,在CIFAR10上实现97.77%的测试精度。
该脚本动态选择并保存最佳模型。只需要短短几行代码,你就开发好了自己的AutoML软件,还带有完整的日志系统和漂亮榜单的UI界面。
为了防止这些错误发生,Josh给出的建议是:尽可能减少代码的行数,使用现成的组件,然后再构建复杂的数据pipeline。
NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representation,这种方法把每个词表示为一个很长的向量。这个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。
作者的BOVW模型,分测试和训练两个阶段。在训练阶段,作者对所有训练图片,提取了稠密SIFT特征,然后用K-mean聚类的方式,量化这些描述子,成为visual word(VW),视觉词汇,个人认为主要是针对bag这种投票集成算法,针对视觉图像定义的。这些VW存储在k-d树形成的随机森林里以减少搜索代价。在建立好词汇表后,训练和测试等价,意思就是训练和测试没有之前离线分类那种明显的区分了,后面有用到KNN,所以,训练和测试没有明显区分。
考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false negative)。
有上述的两种梯度下降法可以看出,其各自均有优缺点,那么能不能在两种方法的性能之间取得一个折衷呢?即,算法的训练过程比较快,而且也要保证最终参数训练的准确率,而这正是小批量梯度下降法(Mini-batch Gradient Descent,简称MBGD)的初衷。
首先通过torch.randn()生成四维的随机数据,由于我们之前定义网络中Conv2d()函数接收的数据要求是四维的,其中第一维度代表样本数据的个数,第二维代表数据的通道数,第3、4维代表数据大小,这里是32×32的网格。然后将生成的数据送入neural_net(),这里会自动调用该对象的forward()方法进行模型训练并输出结果。
神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。
其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进。比如下图中就多了许多传统神经网络没有的层次。
从这些实例中泛化的工作被推迟到必须分类新的实例时。每当学习器遇到一个新的查询实例,它分析这个新实例与以前存储的实例的关系,并据此把一个目标函数值赋给新实例。