首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从alexnet到resnet,初探深度学习算法玩摄影

编辑:叶琰

简介

今天说的是初探,那就是说,目的是为了让大家先有一个比较直观的感受,主要集中在有监督算法上。

总体来说,就是指在底层特征的提取上,利用了从Alexnet开始,到最新的模型的方法,来替换掉早期的大量手动设计的特征。

主要从两大内容上让大家有一个直观的感受

1.从简单网络到复杂网络的升级,将分别举一个alexnet,googlenet,resnet的代表性paper。

2.说说网络结构的设计思路以及发展,以及主要使用的loss function。

下面的内容,如果有听不太懂的地方,就回到之前的一系列文章,去对着读。

1.1 Alexnet (2015年)

这篇文章研究的是一个二分类的问题。

是比较早期的应用,采用了一个双通道的网络,虽然不是直接的alexnet的网络,但是基本上也没有什么差异了,网络结构如下。

从输入上,也是典型的两个子网络的操作,分别输入global view和local view。local view是多个random crop,可以学习到多个局部响应。

从上面的网络结构和输入你就可以想到,这基本上也就是拿来做做分类了。实际上也是如此,上文就是拿来做二分类,以及图像风格的分类,特征直接抽取全连接层的特征。

1.2 GoogleNet【2】 (2017年)

这也是研究一个二分类的问题。

这篇文章,相对于上面的alexnet文章,更加直接,直接采用了googlenet v1的1/3部分,其中共3个inception module,前两个用于提取local feature,最后一个用于提取global feature。

最后,直接concatenate local feature与global feature层,输入softmax做分类。

也是直接粗暴的应用,不过通过观察feature map的响应特点,他们总结高质量图和低质量图的规律,并认为前者会有更多的激活。

1.3 ResNet (2017年)

前面的两个,都是研究分类问题。但是到后来,美学质量的问题,已经转换为回归问题之后,文【3】就利用上了最新的resnet,一股脑研究了分数的分布特性。

网络结构本身,没什么变化。就是几个卷积+全连接层,但是因为为了适应不同的输入尺度,消除由于resize,crop等造成的精度损失,采用了自适应的spp layer(adaptive spatial pyramid pooling ),同时添加了语义分类信息作为弱监督,也提出了huber loss,与通用的回归问题loss,euclidnean loss做了比较。

取得了当下最好的结果,AVA上分类超过了80%,这也是当下state-of-out的水平了。

2.1 DMA-Net【4】(2015年)

前面说的有些网络【2-3】,都是single column,也就是只有一个通道的输入。

实际上,从网络结构上来看,可以分为两大类。即single column与multi column,下面就说这个multi column。

DMA是其中一个代表。它的网络结构也很简单,4个卷积层和3个全连接层,每次送进去多个随机crop的图。

随后,通过各种pool的组合(min,max,median,averaging),将各个patch的cnn特征进行组合,输出到softmax,随机进行分类。

怎么组合这些patch?由于不是直接采用全组合,所以文章说贡献了两个network layer,即statistics layer,与sorting layer。Statistics layer,学习到的是与顺序无关的,而sorting layer则是与顺序有关的。

虽然上面看起来是multi column,但实际上是共享权重的,所以严格说来,不是真正的multi column网络。

2.2 MNA-Net (2016年)

【5】是典型的mutli-column了。

总共有5个columns。由于采用了sppnet,所以可以接受任意大小的图片输入,通过改变kernel尺寸的大小,可以学习到多尺度的信息。

3.1 multi-task loss【6】(2016年)

这部分,主要是说说多任务的loss,在其中的应用。

由于美学的评价标准,跟图像的主体是什么,以及图像的摄影风格,是有很大的关系的,所以style loss,content loss的应用,在后来是很广泛的。

【6】是直接使用alexnet,将输出的1000的fc8,变成了2分类的美学layer,和29类的semantic layer,也就是直接融合了两类loss,但是有个很大的隐患,loss的平衡也就是相对权重,是一个非常需要经验的问题。

rapid【1】中就加入了style loss做正则,相对于【6】来说,训练会更加容易。【7】更是猛,直接3分类。将任务拆解成3个,object,scene,texture。

Scene的输入:wrapped global image,

Object:wrapped global image与检测到的salient region。

Texture:16个随机cropped patchs,当然了,训练的细节,我们可以在课程中详细讲述。

重点说说AADB【8】的文章,他们的网络训练的时候是成对训练的。核心思想是要整合语义级别的内容,与visual content属性。学习到的是一个相对的分数。

学习分为3个阶段:

利用euclidean loss,学习美学分数。

加入attribute,然后进行分类。

加入class content branch,继续学习。

多阶段的学习,是能够收敛的保障。

就这么多,看完大家应该已经有个大致的印象了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171213G0XVM200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券