机器之心专栏 作者:七月 本文的目标读者是想快速掌握矩阵、向量求导法则的学习者,主要面向矩阵、向量求导在机器学习中的应用。因此,本教程而非一份严格的数学教材,而是希望帮助读者尽快熟悉相关的求导方法并在实践中应用。另外,本教程假定读者熟悉一元函数的求导。 本文公式太多,微信上展示会有一些问题。所以本文适合读者了解矩阵、向量求导,而详细地学习与分析请下载本文的PDF版。 PDF 下载地址:https://pan.baidu.com/s/1pKY9qht 所谓矩阵求导,本质上只不过是多元函数求导,仅仅是把把函数的
CNN简介 文末附三份深度学习视频资源 后台回复关键词(20180310) 目录: 一些视频资源和文章 CNN简介 图像即四维张量? 卷积的定义 CNN如何工作 最大池化与降采样 交流层 一些资源 卷积网络对图像进行物体辨识,可识别人脸、人类个体、道路标志、茄子、鸭嘴兽以及视觉数据中诸多其他方面的内容。卷积网络与运用光学字符辨识进行的文本分析有重合之处,但也可用于对离散文本单元以及声音形式的文本进行分析。 卷积网络(ConvNets)在图像辨识上的效能,是如今全球对深度学习产生兴趣的重要原因。卷积网络正推动
张量是深度学习中用于表示数据的核心结构,它可以视为多维数组的泛化形式。在机器学习模型中,张量用于存储和变换数据,是实现复杂算法的基石。本文基于 Pytorch
首先,卷积网络认知图像的方式不同于人类。因此,在图像被卷积网络采集、处理时,需要以不同方式思考其含义。 卷积网络将图像视为体,也即三维物体,而非仅用宽度和高度测量的平面。这是因为,彩色数字图像具有红-绿-蓝(RGB)编码;通过将这三色混合,生成人类肉眼可见的色谱。卷积网络将这些图像作为彼此独立、逐层堆叠的三层色彩进行收集。 故而,卷积网络以矩形接收正常色彩的图像。这一矩形的宽度和高度由其像素点进行衡量,深度则包含三层,每层代表RGB中的一个字母。这些深度层被称为通道。 我们以输入量和输出量来描述经过卷积网络
文章首发于本人CSDN账号:https://blog.csdn.net/tefuirnever
距离上次写博客已经好久好久好久了,真是懈怠的生活节奏,整天混吃等死玩游戏,前些日子做毕业设计时总算又学了点新东西。学了一点深度学习和卷积神经网络的知识,附带着详细学习了一下前段时间我觉得比较有意思的图像风格转换。毕竟是初学,顺便把神经网络方面的知识也写在前面了,便于理解。若有不对的地方的话,希望指正。 主要参考的文献有《A Neural Algorithm of Artistic Style》和《Perceptual Losses for Real-Time Style Transfer a
机器之心原创 作者:Qintong Wu 参与:Jane W 随着复杂和高效的神经网络架构的出现,卷积神经网络(CNN)的性能已经优于传统的数字图像处理方法,如 SIFT 和 SURF。在计算机视觉领域,学者们开始将研究重点转移到 CNN,并相信 CNN 是这一领域的未来趋势。但是,人们对成效卓著的 CNN 背后的机理却缺乏了解。研究 CNN 的运行机理是当今一个热门话题。基本上,有三种主流观点:1>优化、2>近似、3>信号。前两种观点主要集中在纯数学分析,它们试图分析神经网络的统计属性和收敛性,而第三种观
随便翻一翻流行的推理框架(加速器),如NCNN、NNPACK等,可以看到,对于卷积层,大家不约而同地采用了Winograd快速卷积算法,该算法出自CVPR 2016的一篇 paper:Fast Algorithms for Convolutional Neural Networks。
首先,来说一下卷积的概念,从数学角度来看,可以简单的认为卷积是一种数学运算,在通信领域,卷积也被应用在滤波上,因此通常将卷积和滤波同等看待,卷积核也经常被称为滤波器。
本文提出了一种可扩展的图结构数据半监督学习方法,通过谱图卷积的局部一阶近似确定卷积网络结构选择。并且在引文网络和知识图数据集的大量实验中,证明了其方法有很大的优势。
感知机(Perceptron)是 Frank Rosenblatt 在1957年提出的概念,其结构与MP模型类似,一般被视为最简单的人工神经网络,也作为二元线性分类器被广泛使用。通常情况下指单层的人工神经网络,以区别于多层感知机(Multilayer Perceptron)。尽管感知机结构简单,但能够学习并解决较复杂问题
在本系列的最后几篇文章中,我们已经开始构建CNN,我们做了一些工作来理解我们在网络构造函数中定义的层。
本章开始了一段旅程,我们将深入研究我们在前几章中使用的模型的内部。我们将涵盖许多我们以前见过的相同内容,但这一次我们将更加密切地关注实现细节,而不那么密切地关注事物为什么是这样的实际问题。
选自Medium 作者:Taposh Dutta-Roy 机器之心编译 运用深度学习技术进行图像和视频分析,并将它们用于自动驾驶汽车、无人机等多种应用场景中已成为研究前沿。近期诸如《A Neural Algorithm of Artistic Style》等论文展示了如何将艺术家的风格转移并应用到另一张图像中,而生成新的图像。其他如《Generative Adversarial Networks》(GAN)以及「Wasserstein GAN」等论文为开发能学习生成类似于我们所提供的数据的模型做了铺垫。因此
卷积的概念无处不在。它究竟有什么特别之处呢?在本文中,作者从第一性原理中推导出卷积,并表明它自然地来自平移对称性。
图神经网络的逐层Spectral更新公式简单优雅而高效,以GCN为例,节点Embedding是由自身和邻居节点Embedding的聚合之后再进行非线性变换而得到。如此简单优雅的更新规则是怎么推导出来的呢,背后有没有什么理论依据?在GCN的论文中,作者介绍了两种启发GCN逐层线性传播法则的方法,分别是从谱图卷积的角度和Weisfeiler-Lehman算法的角度。本篇博文将详细介绍如何从图拉普拉斯矩阵出发,通过定义图上的傅里叶变换和傅里叶逆变换而定义图上卷积公式,最后推导出优雅的GCN逐层更新公式。至于Weisfeiler-Lehman算法,因为涉及到图神经网络的表示能力的问题,后面我们会出一个专题详细的介绍它。
导语 在深圳的研发部培训中,我们组给定一个有趣的课题便是:马里奥游戏的智能通关,本文就神经网络和增强学习两个点进行整理,并将我们最后用的NEAT算法以及扩展找到的DRL算法进行了简单梳理。如果能够在游
在机器学习篇章中,我们简单介绍了卷积核,今天,我们借助知乎的一篇文章,梳理一下对卷积核一些基本情况。
考虑图(例如引文网络)中节点(例如文档)的分类问题,通常该图中只有一小部分节点有标签。这类问题可以划分到基于图的半监督学习问题中。为了对节点进行分类,首先我们可以利用节点自身的特征信息,除此之外,我们还可以利用图结构信息,因此一个典型的图半监督学习问题可以采用下面的学习策略:
深度学习中有一个很重要的概念就是卷积神经网络 CNN,卷积神经网络中又有卷积层、池化层的概念。尤其是卷积层,理解难度比较大,虽然书中或者是视频中都有详细介绍过它的基础概念,但对于求知欲望很强烈的我,我总心里痒痒的,总想亲手实现,看看效果,怕的就是自己会眼高手低,做技术人最可怕的就是眼高手低。所以,我打算用 python 来亲自验证一遍。
这是我们介绍图神经网络的第一篇文章,取自Kipf et al. 2017,文章中提出的模型叫Graph Convolutional Network(GCN),个人认为可以看作是图神经网络的“开山之作”,因为GCN利用了近似的技巧推导出了一个简单而高效的模型,使得图像处理中的卷积操作能够简单得被用到图结构数据处理中来,后面各种图神经网络层出不穷,或多或少都受到这篇文章的启发。
我们知道,图卷积(graph convolution )是AI算法中主流的网络学习方法,而网络传播(network propagation)是计算生物学中的主流方法,那么,二者有何密切联系和区别?在这篇文章中,作者通过深入研究网络传播背后的理论机制,发现网络传播其实是图卷积的一个特例。
前面文章对卷积做了讲解,感觉既然重新整理,就将系列概念整体做个梳理,也算是将自己知道的所有东西拿来献丑把。 转置卷积(Transposed Convolution)是后来的叫法,一开始大家都是称逆卷积/反卷积(Deconvolution),这个概念是在图像分割任务中被提出来的,图像分割需要逐像素的操作,对每一个像素做一个分割,将其归类到不同的物体当中。 这个任务大家很自然的想要使用卷积神经网络来完成,那就得先使用卷积神经网络提取特征,但是卷积神经网络中的两大主要构件,卷积层和下采样层会使得图像的尺寸不断缩小。这个就与逐像素的分类不符,因为逐像素分割的话是需要输出和输入大小是一致的。 针对这个问题,有人提出了先使用卷积核下采样层逐层的提取特征,然后通过上采样再将特征图逐渐的恢复到原图的尺寸。而这个上采样一开始就是通过反卷积来实现的。如果说卷积核下采样的过程特征图是变小的,那么上采样之后特征图应该变大。 我们应该熟悉卷积的输出尺寸公式 o u t = ( F − K + 2 P ) / s + 1 out=(F-K+2P)/s+1 out=(F−K+2P)/s+1,其中F表示输入特征图的尺寸,K表示卷积核的尺寸,P表示padding,S表示卷积的步长。我们都通过这个公式来计算卷积的输出特征图尺寸。举例来说明,一个4×4的输入特征图,卷积核为3×3,如果不使用paddng,步长为1,则带入计算 o u t = ( 4 − 3 ) / 1 + 1 out=(4-3)/1+1 out=(4−3)/1+1为2。 我们已经在im2col算法的介绍中讲解了卷积的实现,实际上这个步骤是通过两个矩阵的乘法来完成的,我们不妨记为 y = C x y=Cx y=Cx,如果要上采样,我们希望给输出特征图乘一个参数矩阵,然后把尺寸还原回去,根据数学知识,我们给特征图矩阵 y y y左乘一个{C^T},就能得到 C T y = C T C x C^Ty=C^TCx CTy=CTCx, C C C的列数等于 x x x的行数, C T C C^TC CTC的行数和列数都等于x的行数,乘完之后,得到的结果与 x x x形状相同。这就是转置卷积名字的来源。有一些工作确实是这样实现的。 我们也能很自然的得出结论,我们不需要给输出特征图左乘 C T C^T CT,显然只要和这个矩阵形状相同,输出的结果就和原特征图尺寸相同,而且这个操作同样可以使用卷积来实现,那我们只要保证形状一致,然后参数我们可以自己训练,这样尺寸的问题解决了,而且特征的对应也有了,是可以训练的,一举两得。 im2col讲解的内容,卷积是 ( C o u t , C i n ∗ K h ∗ K w ) (C_{out},C_{in}*K_h*K_w) (Cout,Cin∗Kh∗Kw)的卷积核乘 ( C i n ∗ K h ∗ K w , H N ∗ W N ) (C_{in}*K_h*K_w,H_N*W_N) (Cin∗Kh∗Kw,HN∗WN)的特征图,得到 ( C o u t , H N ∗ W N ) (C_{out},H_N*W_N) (Cout,HN∗WN)的结果。现在对卷积核做一个转置 ( C i n ∗ K h ∗ K w , C o u t ) (C_{in}*K_h*K_w,C_{out}) (Cin∗Kh∗Kw,Cout)乘 ( C o u t , H N ∗ W N ) (C_{out},H_N*W_N) (Cout,HN∗WN)得到一个 ( C i n ∗ K h ∗ K w , H N ∗ W N ) (C_{in}*K_h*K_w,H_N*W_N) (Cin∗Kh∗Kw,HN∗WN)的特征图。 除了以上内容这里还有一点其他需要补充的东西,比如在caffe中除了im2col函数之外,还有一个函数是col2im,也就是im2col的逆运算。所以对于上面的结果caffe是通过col2im来转换成特征图的。但是col2im函数对于im2col只是形状上的逆函数,事实上,如果对于一个特征图先执行im2col再执行col2im得到的结果和原来是不相等的。 而在tensorflow和pytorch中,这一点是有差异的,两者是基于特征图膨胀实现的转置卷积操作,两者是是通过填充来进行特征图膨胀的,之后可能还会有一个crop操作。之所以需要填充,是因为想要直接通过卷积操作来实现转置卷积,干脆填充一些值,这样卷积出来的特征图尺寸自然就更大。 但是两者从运算上来讲都无法对原卷积进行复原,只是进行了形状复原而已。 到了最后就可以讨论形状的计算了,转置卷积是卷积的形状逆操作,所以形状计算就是原来计算方式的逆函数。 o u t = ( F − K + 2 P ) / s + 1 out
昨天做完卷积神经网络习题,感觉自己都弄懂了,但到编程环节,却感觉无从下手,勉强参照示例代码完成编程任务,提交了好几次都没有通过,倍受打击。简单总结了一下原因:
这些文档阐明了 NumPy 中的概念、设计决策和技术限制。这是了解 NumPy 基本思想和哲学的好地方。
本文是根据Python数学建模算法与应用这本书中的例程所作的注解,相信书中不懂的地方,你都可以在这里找打答案,建议配合书阅读本文
本篇主要介绍自然语言处理(NLP)中的线性代数与计算机视觉(CV)中的线性代数。涵盖主成分分析(PCA)与奇异值分解(SVD)背后的线性代数知识。相信这也是各位数据科学爱好者常用的各项技术,希望可以帮大家理清思路和对这些算法有更进一步的认识。
之前在学习CNN的时候,有对卷积进行一些学习和整理,后来就烂尾了,现在稍微整理下,先放上来,以提醒和交流。
本文主要针对序列推荐场景学习用户动态偏好,以往的方法更多的是关注单一交互类型,本文设计了一个多行为超图增强的 Transformer 框架 (MBHT) 来捕获短期和长期的跨类型行为依赖关系。具体来说,多尺度 Transformer 结合低秩自注意力,从细粒度和粗粒度级别联合编码行为感知序列模式。将全局多行为依赖商品合并到超图神经架构中,捕获分层的长期商品相关性。
【磐创AI导读】:本篇为机器学习与数据科学背后的线性代数知识系列的第二篇,查看上篇:线性代数在数据科学中的十个强大应用(一)。本篇主要介绍自然语言处理(NLP)中的线性代数与计算机视觉(CV)中的线性代数。涵盖主成分分析(PCA)与奇异值分解(SVD)背后的线性代数知识。相信这也是各位数据科学爱好者常用的各项技术,希望可以帮大家理清思路和对这些算法有更进一步的认识。想要获取更多的机器学习、深度学习资源,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。
作者:Shaohui Lin、Rongrong Ji、Feiyue Huang 等
图(Graph)是不规则数据/非欧几里得数据(例如 3D 点云、社交网络、引文网络、脑网络等)的一种自然而有效的表征。由于图的强大表现力,图数据的机器学习越来越受到重视,如近年来提出的图卷积神经网络(Graph Convolutional Neural Network, GCNN)。不过,现有的 GCNN 模型大多以监督或半监督的方式进行训练,这需要大量的标记样本才能学习到有效的特征表示。由于标记成本较高(特别是在大规模的图上),现有方法难以进行广泛应用。因此,我们需要以无监督的方式来学习图特征表示,以便适应更多图的学习任务。
我的笔记本电脑CPU还可以,在TensorFlow等库的加持下,这台计算机可以在 10-100 毫秒内运行大部分常见CNN模型。2019年,即使是智能手机也能在不到半秒内运行「重量级」CNN模型。而当我自己做了一个简单的卷积层实现,发现这一个层的运行时间竟然超过2秒时,我非常震惊。
“卷积”一词这个词一听,就把人吓跑了,好像数学中的复杂术语,但实际上并非如此。 实际上,如果您以前曾经使用过计算机视觉,图像处理或OpenCV,都用到了卷积,只是你不知道。 例如PS 中图像模糊 或 图像平滑;或者用过美图软件的;或 ppt里面的图像工具;都用到了卷积。
本笔记主要分为三个部分,第一部分是论文阅读,对论文中要点进行讲解。第二部分是代码实验部分,对论文中提出的部分实验进行代码实验,包含模型训练,参数量计算,特征图可视化。第三部分是下一步工作,提出一些失败及未实现的想法,来实现不需要训练的即插即用Ghost module。
感谢自注意力机制强大的全局信息提取能力,Transformers在各种自然语言处理(NLP)任务中取得了巨大成功。这一成功催生了视觉Transformers(ViTs)[4, 5]的快速发展,它们在计算机视觉领域受到了越来越多的关注,并且与基于卷积的对应物相比显示出优越的性能。
来源: SigAI 作者: AI学习与实践平台 导言 在机器视觉和其他很多问题上,卷积神经网络取得了当前最好的效果,它的成功促使我们思考一个问题,卷积神经网络为什么会这么有效?在本文中,SIGAI将为大家分析卷积神经网络背后的奥秘。 思想起源 在各种深度神经网络结构中,卷积神经网络是应用最广泛的一种,它由LeCun在1989年提出[1]。卷积神经网络在早期被成功应用于手写字符图像识别[1][2][3]。2012年更深层次的AlexNet网络[4]取得成功,此后卷积神经网络蓬勃发展,被广泛用于各个领域,在很多
细粒度图像分类旨在同一大类图像的确切子类。由于不同子类之间的视觉差异很小,而且容易受姿势、视角、图像中目标位置等影响,这是一个很有挑战性的任务。因此,类间差异通常比类内差异更小。双线性汇合(bilinear pooling)计算不同空间位置的外积,并对不同空间位置计算平均汇合以得到双线性特征。外积捕获了特征通道之间成对的相关关系,并且这是平移不变的。双线性汇合提供了比线性模型更强的特征表示,并可以端到端地进行优化,取得了和使用部位(parts)信息相当或甚至更高的性能。
使用递归神经网络(RNN)序列建模业务已有很长时间了。但是RNN很慢因为他们一次处理一个令牌无法并行化处理。此外,循环体系结构增加了完整序列的固定长度编码向量的限制。为了克服这些问题,诸如CNN-LSTM,Transformer,QRNNs之类的架构蓬勃发展。
当开始研究数据科学时,我经常面临一个问题,那就是为我的特定问题选择最合适的算法。在本文中,我将尝试解释一些基本概念,并在不同的任务中使用不同类型的机器学习算法。在文章的最后,你将看到描述算法的主要特性的结构化概述。 首先,你应该区分机器学习任务的四种类型: 监督式学习 无监督学习 半监督学习 强化学习 监督式学习 监督式学习是指从有标签的训练数据中推断一个函数的任务。通过对标签训练集的拟合,我们希望找到最优的模型参数来预测其他对象(测试集)的未知标签。如果标签是一个实数,我们就把任务叫做“回归(regre
AI 科技评论按:胶囊网络是一种热门的计算机网络模型,倍受人工智能领域相关研究人员的关注。而 transformer 是谷歌在 2017 年的一篇著名论文「Attention Is All You Need」(https://arxiv.org/abs/1706.03762)中提出的一种网络结构,这种网络结构是基于注意力机制的,主要关注 NLP 领域的机器翻译问题。
A survey on Bayesian deep learning贝叶斯深度学习综述
神经网络类型众多,其中最为重要的是多层感知机。为了详细地描述神经网络。我们先从最简单的神经网络说起。
---- 新智元报道 编辑:好困 LRS 【新智元导读】今天给大家安利一个宝藏仓库miemiedetection , 该仓库集合了PPYOLO、PPYOLOv2、PPYOLOE三个算法pytorch实现三合一,其中的PPYOLOv2和PPYOLO算法刚刚支持了导出ncnn。 众所周知,PPYOLO和PPYOLOv2的导出部署非常困难,因为它们使用了可变形卷积、MatrixNMS等对部署不太友好的算子。 而作者在ncnn中实现了可变形卷积DCNv2、CoordConcat、PPYOLO Decode
本文摘自 http://keras-cn.readthedocs.io/en/latest/layers/convolutional_layer/
【编者按】作为计算机视觉领域里的顶级会议,CVPR 2019 录取论文代表了计算机视觉领域在2019年最新的科技水平以及未来发展潮流。今年有超过 5165 篇大会论文投稿,最终录取 1299 篇。这些录取的最新科研成果,涵盖了计算机视觉领域各项前沿工作。而此次介绍的来自美国天普大学(Temple University)和美图-亮风台联合实验室的黄兵姚和凌海滨提出了端到端的投影广度补偿的策略。据了解,相关论文《End-to-end Projector Photometric Compensation》还入选了CVPR 2019 的 oral presentation,代码已经开源。
领取专属 10元无门槛券
手把手带您无忧上云