首页 > 编程语言 >从alexnet到resnet,初探深度学习算法玩摄影

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

时间:2022-10-12 15:41:54浏览次数:49  
标签:loss layer global column 分类 resnet 初探 网络结构 alexnet


编辑:叶琰

简介

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

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

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

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

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

 

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

1.1 Alexnet (2015年)


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

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

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

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

从alexnet到resnet,初探深度学习算法玩摄影_全连接_02

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


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的响应特点,他们总结高质量图和低质量图的规律,并认为前者会有更多的激活。

从alexnet到resnet,初探深度学习算法玩摄影_全连接_03

1.3 ResNet (2017年)


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


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


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

从alexnet到resnet,初探深度学习算法玩摄影_二分类_04

2.1 DMA-Net【4】(2015年)


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


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


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

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

随后,通过各种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了。

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

总共有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,继续学习。


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

 


标签:loss,layer,global,column,分类,resnet,初探,网络结构,alexnet
From: https://blog.51cto.com/u_14122493/5750904

相关文章

  • ResNet超强变体:京东AI新开源的计算机视觉模块!(附源代码)
    计算机视觉研究院专栏作者:Edison_G京东AI研究院提出的一种新的注意力结构。将CoTBlock代替了ResNet结构中的3x3卷积,来形成CoTNet,在分类检测分割等任务效果都出类拔萃!公众号......
  • Thinkphp5.1应用初探
    直接审计tp的话应该会很有难度,不妨先了解一些tp内置规则和用法,便于在后续的审计中更好的理解代码含义。源码下载链接ThinkPHP5.1开发手册安装没有composer可以去下......
  • 阿里巴巴开源限流组件Sentinel初探之集成Gateway
    1Sentinel主页​​github.com/alibaba/Sen…​​1.1Sentinel介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是面向分布式服务架构的流量控制组件,......
  • 初探C语言第三天
    选择结构程序设计if语句1.if(判断条件)执行动作;或if(判断条件){执行动作超过一个} 这次没有;​2.if(判断条件)语句1;else 语句2;3.嵌套条件句注意else和上面最接近的if配对,如若有......
  • PyTorch搭建AlexNet实现猫狗分类学习笔记
    PyTorch搭建AlexNet实现猫狗分类一篇简单的学习笔记学习视频:https://www.bilibili.com/video/BV18L4y167jr/?spm_id_from=333.1007.top_right_bar_window_custom_collect......
  • mongo 初探触发器
    前言mongo作为出名的nosql数据库,随着版本的迭代,被越来越多的开发者所接受,DB-EnginesRanking-popularityrankingofdatabasemanagementsystems而我们今......
  • 初探c语言第一天
    1.库函数和用户函数​库函数用户函数需要自己根据需要设定()中放置变量2.存放变量和常量需要定义inta=变量  constintA=常量​​3.scanf一定要打&     ......
  • Seata初探
    一、什么是seata?seata是一种分布式事务解决方案,具有高性能和易于使用的微服务架构。 seata解决分布式事务问题,有两个设计初衷:对业务无侵入:即减少技术架构上的微服......
  • HybridCLR初探
    在以往的Unity项目热更方案中,无论是lua还是ilruntime,都是基于独立vm与原生AOT(静态编译)代码进行交互(各种wraper)。现在出现了一个全新的热更方案,HybridCLR。Hyb......
  • gopacket初探(2)
    昨天试验了NgWriter和普通Writer,NgWriter格式处理起来注意事项较多,极易出错,此处使用普通Writer给出说明。首先打开文件1fileName:=pcapDataConfigs.RecordFi......