赞
踩
layout | title | categories | tags | date | description | |||
---|---|---|---|---|---|---|---|---|
post
|
认识神经网络:卷积,归一化,优化和语料
|
|
|
2019-07-22 16:10:12 -0700
|
学习深度学习中的一些有意思的东西
|
一个基于神经网络模型的视觉模型中,卷积和归一化层是最为耗时的两种layer。卷积数据计算密集类型,今年来大量的优化主要集中在各种设备上的卷积加速。 归一化层通过计算一个批量中的均值与方差来进行特征归一化。众多实践证明,它利于优化且使得深度网络易于收敛。批统计的随机不确定性也作为一个有利于泛化的正则化项。BN 已经成为了许多顶级计算机视觉算法的基础。添加归一化层作为提高算法性能的很好的一种策略,但由于像BN遭受数据同步延时的问题,现在逐渐被一些新的normalization方式所替代。
卷积定义
$f(t)$先不动, $g(-t)$相当于$g(t)$函数的图像沿y轴(t=0)做了一次翻转。$g(x-t)$相当于$g(-t)$的整个图像沿着t轴进行了平移,向右平移了x个单位。他们相乘之后围起来的面积就是$h(x)$。
离散卷积的定义
其实,深度学习中的卷积对应于数学中的cross correlation. 从卷积的定义来看,我们当前在深度学习中训练的卷积核是翻转之后的卷积核。
下面是一些介绍卷积的文章和常见卷积类型统计表:
Convolution Name | 参考文献 | 典型代表 | 附录 |
---|---|---|---|
Convolution | AlexNet, VGG | ||
1x1 | Network in Network | GoogLeNet, Inception | (1). Dimensionality reduction for efficient computations; (2).Efficient low dimensional embedding, or feature pooling; (3). Applying nonlinearity again after convolution |
Dilated convolution | Multi-Scale Context Aggregation by Dilated Convolutions | 语义分割 | support exponentially expanding receptive fields without losing resolution or coverage. Upsampling/poolinglayer(e.g. bilinear interpolation) is deterministic. (a.k.a. not learnable); 内部数据结构丢失, 空间层级化信息丢失; 小物体信息无法重建 (假设有四个pooling layer则任何小于$2^4=16$pixel的物体信息将理论上无法重建。) 如何理解空洞卷积 |
Group Convolution | Deep Roots:Improving CNN Efficiency with Hierarchical Filter Groups | MobileNet, ResNeXt | |
Pointwise grouped convolution | ShuffleNet | ||
Depthwise separable convolution | Xception: Deep Learning with Depthwise Separable Convolutions | Xception | MobileNet是典型的代表,通过该卷积,大大降低了计算复杂度和模型大小。也是现在落地产品中移动端常用的操作。 |
Deconvolutions | Deconvolution and Checkerboard Artifacts | DSSD | Deconvolution也是一种常用的上采样方式,在物体分割和多尺度检测都可用到 |
Flattened convolutions | Flattened convolutional neural networks for feedforward acceleration | computation costs due to the significant reduction of learning parameters. |
计算卷积的方法有很多种,常见的有以下几种方法:
使用Depthwise separable convolution卷积的计算量为:
那么计算量之比为
一般情况下,$k^2 << C_1$, 所以当$k=3$的时候,计算量之比约为原来的$\frac{1}{9}$.
每个子图表示一个feature map张量,以$N$为批处理轴,$C$为通道轴,$(H,W)$作为空间轴。其中蓝色区域内的像素使用相同的均值和方差进行归一化,并通过聚合计算获得这些像素的值。从示意图中可以看出,GN没有在N维度方向上进行拓展,因此batch size之间是独立的,GPU并行化容易得多。
需要比较大的Batch Size,需要更强的计算硬件的支持。
A small batch leads to inaccurate estimation of the batch statistics, and reducing BN’s batch size increases the model error dramatically
尤其是在某些需要高精度输入的任务中,BN有很大局限性。同时,BN的实现是在Batch size之间进行的,需要大量的数据交换。
batch normalization存在以下缺点:
LN中同层神经元输入拥有相同的均值和方差,不同的输入样本有不同的均值和方差; BN中则针对不同神经元输入计算均值和方差,同一个batch中的输入拥有相同的均值和方差。
所以,LN不依赖于batch的大小和输入sequence的深度,因此可以用于batchsize为1和RNN中对边长的输入sequence的normalize操作。
BN注重对每个batch进行归一化,保证数据分布一致,因为判别模型中结果取决于数据整体分布。
但是图像风格化中,生成结果主要依赖于某个图像实例,所以对整个batch归一化不适合图像风格化中,因而对HW做归一化。可以加速模型收敛,并且保持每个图像实例之间的独立。
GN does not exploit the batch dimension, and its computation is independent of batch sizes.
从实验结果中可以看出在训练集合上GN的valid error低于BN,但是测试结果上逊色一些。这个 可能是因为BN的均值和方差计算的时候,通过*随机批量抽样(stochastic batch sampling)*引入了不确定性因素,这有助于模型参数正则化。 而这种不确定性在GN方法中是缺失的,这个将来可能通过使用不同的正则化算法进行改进。
动机
在神经深武学有一个概念叫做侧抑制(lateral inhibitio),指的是被激活的神经元抑制相邻的神经元。 归一化的目的就是“抑制”,局部响应归一化就是借鉴侧抑制的思想来实现局部抑制,尤其是当我们使用ReLU 的时候,这种侧抑制很管用。
好处
有利于增加泛化能力,做了平滑处理,识别率提高1~2%
梯度下降法是最早最简单,也是最为常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。 一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向, 因为该方向为当前位置的最快下降方向,所以也被称为是"最速下降法"。最速下降法越接近目标值,步长越小,前进越慢。 梯度下降法的搜索迭代示意图如下图所示:
梯度下降法的缺点:
CS231n: Convolutional Neural Networks for Visual Recognition.
https://www.analyticsvidhya.com/blog/2018/03/comprehensive-collection-deep-learning-datasets/ 这里我们列出了一组高质量的数据集,研究这些数据集将使你成为一个更好的数据科学家。 我们可以使用这些数据集来学习各种深度学习技术,也可以使用它们来磨练您的技能,理解如何识别和构造每个问题,考虑独特的应用场景!
dataset名称 | 大小 | State-of-Art | 描述 |
---|---|---|---|
MNIST | 50MB | Dynamic Routing Between Capsules | 手写数字识别,包含60000个训练数据及10000个测试数据,可分为10类 |
MSCOCO | ~25G | Mask RCNN | COCO is a large-scale and rich for object detection, segmentation and captioning dataset. 330K images, 1.5 million object instances, 80 object categories, 5 captions per image, 250,000 people with key points |
ImageNet | 150GB | ResNeXt | ImageNet is a dataset of images that are organized according to the WordNet hierarchy. WordNet contains approximately 100,000 phrases and ImageNet has provided around 1000 images on average to illustrate each phrase. Number of Records: Total number of images: ~1,500,000; each with multiple bounding boxes and respective class labels |
Open Image Dataset | 500GB | ResNet | 一个包含近900万个图像URL的数据集。 这些图像拥有数千个类别及边框进行了注释。 该数据集包含9,011219张图像的训练集,41,260张图像的验证集以及125,436张图像的测试集。 |
VisualQA | 25GB | Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge | 图像的问答系统数据集 265,016 images, at least 3 questions per image, 10 ground truth answers per question |
The Street View House Numbers(SVHN) | 2.5GB | Distributional Smoothing With Virtual Adversarial Training | 门牌号数据集,可用来做物体检测与识别 |
CIFAR-10 | 170MB | ShakeDrop regularization | 图像识别数据集,包含 50000张训练数据,10000张测试数据,可分为10类 |
Fashion-MNIST | 30MB | Random Erasing Data Augmentation | 包含60000训练样本和10000测试样本的用于服饰识别的数据集,可分为10类。 |
dataset名称 | 大小 | State-of-Art | 描述 |
---|---|---|---|
IMDB 影评数据 | 80MB | Learning Structured Text Representations | 可以实现对情感的分类,除了训练集和测试集示例之外,还有更多未标记的数据。原始文本和预处理的数据也包括在内。25,000 highly polar movie reviews for training, and 25,000 for testing |
Twenty Newsgroups | 20MB | Very Deep Convolutional Networks for Text Classification | 包含20类新闻的文章信息,内类包含1000条数据 |
Sentiment140 | 80MB | Assessing State-of-the-Art Sentiment Models on State-of-the-Art Sentiment Datasets | 1,60,000 tweets,用于情感分析的数据集 |
WordNet | 10MB | Wordnets: State of the Art and Perspectives | 117,000 synsets is linked to other synsets by means of a small number of “conceptual relations. |
Yelp点评数据集 | 2.66GB JSON文件,2.9GB SQL文件,7.5GB图片数据 | Attentive Convolution | 包括470万条用户评价,15多万条商户信息,20万张图片,12个大都市。此外,还涵盖110万用户的100万条tips,超过120万条商家属性(如营业时间、是否有停车场、是否可预订和环境等信息),随着时间推移在每家商户签到的总用户数。 |
维基百科语料库(英语) | 20MB | Breaking The Softmax Bottelneck: A High-Rank RNN language Model | 包含4400000篇文章 及19亿单词,可用来做语言建模 |
博客作者身份语料库 | 300MB | Character-level and Multi-channel Convolutional Neural Networks for Large-scale Authorship Attribution | 从blogger.com收集到的19,320名博主的博客,其中博主的信息包括博主的ID、性别、年龄、行业及星座 |
各种语言的机器翻译数据集 | 15GB | Attention Is All You Need | 包含英-汉、英-法、英-捷克、英语- 爱沙尼亚、英 - 芬兰、英-德、英 - 哈萨克、英 - 俄、英 - 土耳其之间互译的数据集 |
dataset名称 | 大小 | State-of-Art | 描述 |
---|---|---|---|
Free Spoken Digit Dataset | 10MB | Raw Waveform-based Audio Classification Using Sample-level CNN Architectures | 数字语音识别数据集,包含3个人的声音,每个数字说50遍,共1500条数据 |
Free Music Archive (FMA) | 1000GB | Learning to Recognize Musical Genre from Audio | 可以用于对音乐进行分析的数据集,数据集中包含歌曲名称、音乐类型、曲目计数等信息。 |
Ballroom | 14GB | A Multi-Model Approach To Beat Tracking Considering Heterogeneous Music Styles | 舞厅舞曲数据集,可对舞曲风格进行识别。 |
Million Song Dataset | 280GB | Preliminary Study on a Recommender System for the Million Songs Dataset Challenge | Echo Nest提供的一百万首歌曲的特征数据.该数据集不包含任何音频,但是可以使用他们提供的代码下载音频 |
LibriSpeech | 60GB | Letter-Based Speech Recognition with Gated ConvNets | 包含1000小时采样频率为16Hz的英语语音数据及所对应的文本,可用作语音识别 |
VoxCeleb | 150MB | VoxCeleb: a large-scale speaker identification dataset]() | 大型的说话人识别数据集。 它包含约1,200名来自YouTube视频的约10万个话语。 数据在性别是平衡的(男性占55%)。说话人跨越不同的口音,职业和年龄。 可用来对说话者的身份进行识别。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。