深度学习(摸不清头脑的可以看一下)

二郎本身不是做深度学习的,但是,学术界受深度学习的影响挺大的,严重冲击着传统研究领域,尤其是图像。。。。于是,二郎想看看深度学习是咋回事

二郎做过深度学习科普式讲解,PPT100多页,但是直到现在,二郎还是觉得,一提起深度学习,还是没有概念。

之前一直听师兄和同事在谈,调参,调参,调参,参数好了,结果好了,就可以发论文了。。。找个框架,改改,就能发论文。水论文。。二郎没去做,二郎专心做基础研究

近期,在做一个专利,关于深度学习的,写着写着有所感悟,所以分享给大家

深度学习并不神奇,只是设计了一个方程,这个方程很大,让这个方程可以做到:咱们给一个x,它能输出一个y。整体就是这么一个过程。。。。
为什么会有很难的感觉???
大家都难,然而,学者们大部分是半路出家,一知半解就开始拿别人的代码来跑了。所以,看不懂也没事,会用就行(就像手机,你肯定不会造手机,但是你会用。ps也是,程序肯定不是你编的,会用就行。)
这里还吐槽一下,那些教0基础深度学习的,很多都往数学上钻,这样很容易让很多人无功而返的。。。。。

1.设计网络
大牛设计网络当然是一步一步规划好了,普通研究人员是拿别人设计好的网络过来和别的网络组合一下,跑出好结果,就说自己的研究是好的。(所以,那些能发到顶会的论文,虽然看起来解决了个小问题,但是他们大部分还是对设计网络有贡献,设计了新的网络结构,其他人只是拿现有的过来跑一下。)因此,你可能说看起来网络好难,那么多层,不知咋办………………大家都不知咋办,只是拿来用,觉得好用,改,也是小改,多改一点就可以发论文了。所以,不用纠结,看不懂网络,因为有些网络就是那样设计的,外行人直接看懂,那怎么体现设计人的水平。

2.优化网络
这个可以成为一个行业了,确实需要懂的知识比较多。高明的研究人员会知道哪部分影响哪部分,有计划地修改网络结构和训练方法。普通的研究人员只是看结果,改了哪里,结果好了,哪里就需要改。大部分人是,看网上和其他研究说,改哪里好,就改哪里,然后改好网络了,再想着怎么说明为什么这么改好,说明道理,然后发论文。优化网络(让训练速度更快,结果更好,所需数据量更少)

3.测试集和训练集
其实都是一堆图片(二郎是研究CV的),一部分用来训练网络,一部分用来测试训练后的网络是否好用。

4.训练网络
网络设计好后有很多参数和权重是未知的,需要将数据代入,然后获得未知量,和解方程类似。如何获得的????一般情况下是有图像对,原图和结果图,把原图放入网络,得到处理结果,结果和结果图对比,发现误差,然后调节未知量。经过多次调节,得到最优的未知量组合(其实做不到最优,需要考虑时间成本)

5.基于物理模型的网络??
这个噱头不错,很多专家也说了,这是一个研究方向。让网络自动获得原来需要估计的未知量,例如去雾的DCP算法中,之前需要估计的未知量是深度信息和天空光,现在,直接用网络获得深度信息和天空光,然后将获得的深度信息和天空光代入大气成像模型中,获得复原图像。
那么如何训练呢?
估计深度信息的网络,提前已经有了数据对,原图和深度图;估计天空光的,也是人为标定后(这个可以用多种方法)。

6.损失函数
这个可能大家都摸不着头脑,咋设置,看着数学推理好高级………………
其实核心在于,直接拿来用,是的,大部分人都是直接拿来用。高级点的是自己设计一个,而且能讲清道理,这个,可以发SCI了…………

7.搭环境
很多搞深度学习的上来的工作就是搭环境,因为很多大牛公布的代码需要特定的环境才能跑(这个是因为学者大部分不想看里面详细的代码,不想改代码适应环境,只想拿来用)。环境:需要的tensorflow版本(里面的模块版本也很多,很多都不是版本兼容的,二郎曾经怀疑过,有些代码环境很难搭是因为发布代码的人不太想让你轻易地就能用它)。
还有另一个环境就是服务器,很多代码是用服务器跑的,那个跑的比较快。
服务器是啥???(比较厉害的电脑,其实就是电脑,运行速度很快罢了。)

说了这么多,二郎也吐槽了好多,向真心做科研的大佬们致敬,向只是想发SCI的人们投去xx的目光(OOOOO)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章