17年 | 重开blog | 关于对称网络的的一点想(kun)法(huo)

距离上篇blog已经一年又近半载了。这之间,遇见科研,遇见跑步,遇见她,遇见别样的自己。

重开blog,重拾初心,一切都是刚刚好,重头再来也没什么不可以。


往期文章和地址如下,欢迎同学们拍砖:http://blog.csdn.net/dp_bupt(16年的blog,看着都觉得是挺老的文章了……)

这里写图片描述

最近在看DL网络模型中的对称网络结构,主要关注了两篇:

Unet——U-Net: [ConvolutionalNetworks for BiomedicalImage Segmentation]
Stacked hourglass networks——Stacked Hourglass Networks for
Human Pose Estimation

第一篇做生物医学图像分割,第二篇做人体姿态估计。但两篇文章的网络结构很像:

这里写图片描述

他们的相似之处有如下三点:

  1. 结构对称,成U型;
  2. 含有skip connection连接,底层和高层特征有规律的融合;
  3. 均是原图下采样-上采样至目标图的流程,类似沙漏(hourglass)形状。

当然,他们也有不同的地方:

  • 前者的单个方块是Resenet block,后者就是简单的卷积核;
  • 前者可以做多个类似结构的堆叠(如下图),后者是单个U型;
    这里写图片描述

相比传统的从图像到本文信息的端到端,从图像到图像的端到端更能找到落地的应用,比如图像恢复(包括去噪、补全、合成、超像素增强等)、视频帧预测等。

那我自己在这上边想做哪些尝试呢?我想借用这结构来做depth estimation。

首先,因为hourglass结构相当于是UNet的升级版,所以直接用hourglass。其次因为hourglalss的源码是torch写的,没看过lua,所以就来了第一个任务:代码移植(移植到pytorch中)。

这部分轮子造完后,开始在自己的训练集上训练。但因为没有预训练模型,调参经验有限,导致训练模型的效果堪忧,所以就有了第二个任务:预训练模型转换。在模型转换中遇到了读写的问题,因为pytorch是基于torch内核改的,torch又是用lua写的,而lua我真的不会……所以,至今没有解决,感觉要跪。。。

对,就是torch model 转pytorch model,谁知道咋整?求砸。。。不要告诉我这个链接https://github.com/clcarwin/convert_torch_to_pytorch,虽然对很多分类模型很管用,看着也很nice,但于我的问题依然是然并卵(我还去提问了,然而没人理我……)

还有一个问题就是想把程序写成多卡的。不写不知道,一些还真有些停不下来……调blog。。。按目前的模型大小来看,单卡顶多跑batchsize=2的输入,10w的数据一轮就要迭代5w次左右,每轮2h,跑个12轮,就需要一整天,这个速度绝对不能忍。多卡程序的难点在于需要将程序模块化,方便调用和重复使用,有些层真的很难单独写……

当然,其实最早提出类似对称网络结构的是随着Deconvolution的提出和其在图像分割上的应用。也就是这篇:Learning Deconvolution Network for Semantic Segmentation,他的网络结构如下:
这里写图片描述
是吧,很对称,像极了一个沙漏,只是它少了skip connetction而已。

Some insight:
Unet和hourglass网络结果其实不仅长的像,其实各个部分都可以对应起来的,不信你看:

这里写图片描述

(此图的大致意思就是Unet里的第一个conv层和hourglass里的第一个up channel skip connection的resnet block对应;然后Unet的第一个pool+conv2层和hourglass的第一个pool+down channel resnetblock对应……以此类推,所以网络结构改起来就很方便了~)

17年的第一篇bolg是来发泄吐槽的。后边看到好的paper或者idea再来分享吧,前提是把这个坑先填上。。。


btw,17年CVPR的最佳论文是DensNet,相较于15年的Resnet,看着更加的暴力,但也更加work。爱因斯坦说:Everything should be made as simple as possible but no simpler。DL的网络结构也是如此,看着是越来越复杂,其实结构总是复杂里的简单。
这里写图片描述
(dense就体现在逐层输出都会连接到其higher layer做输入,更加充分的特征组合。)

好的新鲜的idea都可以奉行“拿来主义”直接用了,毕竟一般都是你文章还没看懂,人家源码就已经公开了,而且还有好几个不同框架的版本。所以,work不work,用上再说,真的work了,再去想想为什么和remain open的问题。接下来就打算试试这个Densnet了。(其实更想水论文。。。。)

老板说:想法太多,train不出来,都是白想;train出的效果不能用,也是白train。所以今晚注定要加班了……

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值