反向传播

自己动手实现深度学习框架-7 RNN层--GRU, LSTM

落花浮王杯 提交于 2020-08-10 03:37:46
目标 这个阶段会给cute-dl添加循环层,使之能够支持RNN--循环神经网络. 具体目标包括: 添加激活函数sigmoid, tanh. 添加GRU(Gate Recurrent Unit)实现. 添加LSTM(Long Short-term Memory)实现. 使用基于GRU和LSTM的RNN模型拟合一个正余弦叠加函数. RNN原理 原始的RNN RNN模型用来捕捉序列数据的特征. 给定一个长度为T的输入系列 \(X=(x_1, x_2, .., X_T)\) , RNN层输出一个长度为T的序列 \(H=(h_1, h_2, ..., H_T)\) , 对于任意时间步t, 可以表示为: \[H_t = δ(X_tW_x + H_{t-1}W_h + b), \quad t = 2, 3, .., T \] 函数δ是sigmoid函数: \[δ = \frac{1}{1 + e^{-x}} \] \(H_t\) 包含了前面第1到t-1步的所有信息。 和CNN层类似, CNN层在空间上共享参数, RNN层在时间步上共享参数 \(W_x, W_h, b\) . RNN层中隐藏层的数量为T-2, 如果T较大(超过10), 反向传播是很容易出现梯度爆炸. GRU和LSTM就是为了解决这个问题而诞生, 这两种模型,可以让RNN能够支持长度超过1000的输入序列。 GRU

【深度学习】卷积神经网络

为君一笑 提交于 2020-08-09 12:37:35
本文为深度学习的学习总结,讲解卷积神经网络。欢迎交流 计算机视觉 如果我们想要输入的图片像素为 1000×1000×3,则此时神经网络特征维度为 3 百万, W [ 1 ] W^{[1]} W [ 1 ] 采用全连接时,维度更夸张。我们使用卷积运算来解决这个问题。 边缘检测 I 卷积运算是卷积神经网络最基本的组成部分。我们使用 边缘检测 作为入门样例。 为了让电脑搞清楚下面这张图片的内容,我们可能需要先检测图片中的垂直边缘,右上角的图为垂直 边缘检测器 的输出,右下角为水平边缘检测器的输出: 接下来我们讲解如何检测出这些边缘。下图中,左边为一个 6×6 的灰度图像,即 6×6×1 的矩阵,没有 RGB 三通道。我们可以构造图中中间的 3×3 矩阵,成为 过滤器 (或核), ∗ * ∗ 运算符为 卷积运算 。而矩阵运算的结果是一个 4×4 的矩阵,因为过滤器在图中左边的矩阵中有 4×4 个可能的位置,可将其看作 4×4 的图像: 我们计算右边矩阵中的第一个元素的值。将 3×3 的过滤器覆盖在输入图像的蓝色区域,并在每个元素上标记过滤器的值,将对应元素相乘后求和 1 × 3 + 0 × 0 + . . . + 2 × − 1 = − 5 1\times3+0\times0+...+2\times-1=-5 1 × 3 + 0 × 0 + . . . + 2 × − 1 = − 5

深度学习之父Hinton:下一代神经网络

泄露秘密 提交于 2020-08-09 06:51:50
     作者 | 青暮、陈大鑫   编辑 | 丛 末   SIGIR是一个展示信息检索领域中各种新技术和新成果的重要国际论坛,若非疫情影响,今年本定于中国西安市举行。7月25日-7月30日,第43届SIGIR2020在线上举行。   7月27日,2018年图灵奖得主Geoffrey Hinton带来了主题为《The Next Generation of Neural Networks》的讲座。讲座由约克大学信息技术学院正教授Jimmy Huang主持,ACM杰出科学家、 吉林大学人工智能学院常毅教授担任嘉宾。   在讲座中,Hinton指出: 人工神经网络最重要的未解难题之一,是如何像大脑一样有效地进行无监督学习。   当前有两种主要的无监督学习方法:   第一种方法,以BERT和变分自编码器为例,使用了深度神经网络来重建其输入。这种方法对于图像来说是有问题的,因为网络的最深层需要对图像的精细细节进行编码。   第二种方法是Becker和Hinton在1992年提出的:当给定相同图像的两个不同片段作为输入时,训练深度神经网络的两个副本以产生具有高互信息的输出向量。设计此方法的目的是使表征形式不受输入无关细节的束缚。   Becker和Hinton使用的优化互信息的方法存在缺陷(出于一个微妙的原因,讲座中会解释),因此Pacannaro和Hinton将其替换为判别性目标函数

ArXiv 2020 | 抖音“变身漫画”滤镜背后的技术,难道来自这篇论文?

試著忘記壹切 提交于 2020-08-08 05:29:04
点击上方“ 3D视觉工坊 ”,选择“星标” 干货第一时间送达 Few-shot Knowledge Transfer for Fine-grained Cartoon Face Generation 想必大家对抖音之前推出的一款动漫特效滤镜 “变身漫画” 还印象深刻,这款滤镜能够打破次元壁,将你瞬间转变为二次元画风,让每个用户都能拥有一个独一无二的二次元分身。 著名电竞选手PDD化身二次元美少年 阔爱 萌萌哒 Title 本文作者来自字节跳动 AI Lab,第一作者同时隶属于北京大学。作者提出了一种小样本知识迁移方法 (few-shot knowledge transfer) 来用于生成细粒度 (fine-grained) 的卡通人脸。 论文地址 : https://arxiv.org/pdf/2007.13332.pdf 从一张真实人脸照片生成其对应的卡通人脸可以看做是一个图片到图片迁移 (Image-to-image translation) 的问题,即需要学习一个函数将真实人脸映射到卡通人脸。当前有部分工作研究了这个问题并取得了不错的结果,但这些方法没有考虑到 不同群体之间的差异性 ,如下图一所示,女性的卡通脸通常有着大眼睛留着长睫毛,而男性的则没有睫毛, 老人的脸通常有皱纹,而孩子则没有。 Cartoon Faces of Various Groups 因此

Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】

你说的曾经没有我的故事 提交于 2020-08-07 13:10:55
写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我 热爱AI、热爱分享、热爱开源 ! 这博客是我对学习的一点总结与思考。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~ 我的博客地址为: 【AI 菌】的博客 我的Github项目地址是: 【AI 菌】的Github 这篇论文原名为:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》 作者豪华阵容:Shaoqing Ren(任少卿), Kaiming He(何凯明), Ross Girshick, and Jian Sun(孙剑) 其中有三位华人,这一点还是挺令我们自豪的;另一位作者Ross Girshick是R-CNN系列开篇之作的作者。 温馨提示 :Faster R-CNN的实战手把手教程也将更新,想学习的同学,可以关注我的博客动态。 文章目录 摘要 1. 介绍 2. 相关工作 3. Faster R-CNN 3.1 Region Proposal Networks 3.1.1 Anchors 3.1.2 损失函数 3.1.3 训练RPNs 3.2 RPN和Fast R-CNN共享卷积 3.3 实施细节 4. 实验 4.1 PASCAL VOC上的实验

神经网络权值初始化之Xavier和He初始化

不羁岁月 提交于 2020-08-07 09:29:54
Xavier初始化 : 条件:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。 初始化方法: 假设激活函数关于0对称,且主要针对于全连接神经网络。适用于tanh和softsign 论文地址: Understanding the difficulty of training deep feedforward neural networks 参考资料: 深度学习之参数初始化(一)——Xavier初始化 He初始化 : 论文地址: Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 参考资料: 深度学习之参数初始化(二)——Kaiming初始化 He初始化论文阅读笔记与实现 来源: oschina 链接: https://my.oschina.net/u/4416751/blog/4467662

中国AI技术领先,是因为数学好?美国杂志直指中美数学教育差距

笑着哭i 提交于 2020-08-06 11:53:32
机器之心报道 参与:蛋酱、泽南 美国 CS 专业超过 64% 博士生和近 70% 的硕士生是留学生,数学博士学位有一半授予了非美国公民,中国和印度学生占大部分。 上个星期,一位华人留学生题为「亚洲人数学能力其实很差?」的视频登上了热搜。 「知其然而不知所以然,他们仅仅擅长使用而不追求真理。」这名女生认为大多数亚洲人学习数学时注重运用却不关心原理推导,论据有一定的道理,不过结论引发了不少人的吐槽。 很快,博主「他们都叫我雪姨」新发布了一个视频向大家道歉,表示个人经历不能指代群体,有关亚洲人数学很差的言论十分不正确。在应试教育为主,升学压力很大的国内,如果说学生们花费如此大的精力却不能把一门学科学明白,确实非常可怕,数学是当代高等教育最重要的基础是有目共睹的。 7 月份,2020阿里巴巴全球数学竞赛结束,活动创办者马云如此评价数学的重要性。 有趣的是,在数学水平太差这件事上,大洋彼岸的美国人和我们有着同样的担忧。在亚洲人数学很差的视频在国内流行的同时,美国《国家利益杂志》刊载了一篇文章给出了完全相反的观点:因为中国人数学好,在人工智能领域里中国正在逐渐成为决定性力量。 这篇报道在开篇即提到:「忘记人工智能本身吧,它只是一个数学问题。美国没有培养出足够擅长数学的公民,因此无法保持统治地位。」 以下为美国《国家利益杂志》报道的主要内容: 海外第一次注意到中国人工智能技术的非凡能力可能是在

RCNN极其细致初学者阅读笔记

。_饼干妹妹 提交于 2020-08-06 06:48:43
版权声明:本文由 Kathy 投稿 1、 Introduction 1.1 R-CNN and SPPnet R-CNN的弊端: 多阶段(3)的训练过程 训练的时间和空间开销大 速度过慢 R-CNN的问题症结在于其不能共享计算,而SPPnet改进了这个问题,通过对整张图卷积得到特征图,从这张特征图上进行region proposal而能够共享卷积的计算结果,加速了 R-CNN;后通过空间金字塔池化实现了任意尺度图像的输入。 SPPnet的问题在于:训练仍是多阶段的;特征提取后仍需存放到磁盘造成大的开销;不像R-CNN,其微调算法不能更新金字塔池化之前的卷积层,从而限制了网络的深度。 1.2 contribution 提出Fast R-CNN,其优点为: 更高的检测精度mAP 训练时单阶段的 训练过程可以更新所有层网络参数 无需为特征图缓存消耗内存 2、 Fast R-CNN architecture and training 网络结构为: 输入整张图片,通过卷积池化提取特征图 在特征图上提取RoI (region of interest),相当于region proposal 阶段。 RoI Pooling输出固定尺寸的RoI特征图(尺度降为1的简易版SPP) FCs映射得到固定维度的特征向量 对特征向量分别进行分类(获得K+1维结果,类别+背景)和回归(获得K4维结果

反卷积 转置卷积的理解

左心房为你撑大大i 提交于 2020-08-06 02:53:38
看了很多反卷积和转置卷积的文章,似乎还是一头雾水,记录下自己理解的过程~ 有人一句话总结: 逆卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算。其实还是不是很理解。 反卷积(转置卷积)通常用来两个方面: 1. CNN可视化,通过反卷积将卷积得到的feature map还原到像素空间,来观察feature map对哪些pattern相应最大,即可视化哪些特征是卷积操作提取出来的; 2. FCN全卷积网络中,由于要对图像进行像素级的分割,需要将图像尺寸还原到原来的大小,类似upsampling的操作,所以需要采用反卷积; 3. GAN对抗式生成网络中,由于需要从输入图像到生成图像,自然需要将提取的特征图还原到和原图同样尺寸的大小,即也需要反卷积操作。 我们先来看看卷积和反卷积的图,简直不要太形象。 卷积(convolution): 卷积核为 3x3;no padding , strides=1 "反卷积"(the transpose of conv) 可以理解为upsample conv. 卷积核为:3x3; no padding , strides=1 那看下strides=2的时候。 卷积: 反卷积: 在实际计算过程中,我们要转化为矩阵的乘积的形式,一个转化为Toeplitz matrix,一个reshape为列矩阵。 举个简单的例子 比如 input= [3,3]

反卷积 转置卷积的理解

邮差的信 提交于 2020-08-05 12:14:49
看了很多反卷积和转置卷积的文章,似乎还是一头雾水,记录下自己理解的过程~ 有人一句话总结: 逆卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算。其实还是不是很理解。 反卷积(转置卷积)通常用来两个方面: 1. CNN可视化,通过反卷积将卷积得到的feature map还原到像素空间,来观察feature map对哪些pattern相应最大,即可视化哪些特征是卷积操作提取出来的; 2. FCN全卷积网络中,由于要对图像进行像素级的分割,需要将图像尺寸还原到原来的大小,类似upsampling的操作,所以需要采用反卷积; 3. GAN对抗式生成网络中,由于需要从输入图像到生成图像,自然需要将提取的特征图还原到和原图同样尺寸的大小,即也需要反卷积操作。 我们先来看看卷积和反卷积的图,简直不要太形象。 卷积(convolution): 卷积核为 3x3;no padding , strides=1 "反卷积"(the transpose of conv) 可以理解为upsample conv. 卷积核为:3x3; no padding , strides=1 那看下strides=2的时候。 卷积: 反卷积: 在实际计算过程中,我们要转化为矩阵的乘积的形式,一个转化为Toeplitz matrix,一个reshape为列矩阵。 举个简单的例子 比如 input= [3,3]