技术成长:2018年

2 篇文章 0 订阅
2 篇文章 0 订阅

2018年马上就要过去了,回首这一年,收获还是蛮多的。所以特地把这些成长的点滴记录下来,以后回头的时候可以记得自己走过的路。2018年本科毕业,没有选择读研的我依然在AI这条路上艰难前行。这一年中,我对深度学习的模型、搭建模型的框架、编程语言和计算底层等有了新的认识。

1.神经网络

首先从神经网络(NN)开始说起。其实2016年暑假就开始接触机器学习,比如朴素贝叶斯、支持向量机和隐马尔科夫(HMM),但真正引起我的兴趣的是神经网络,层层相连。从2017年1月开始train第一个CNN,到2017年结束。将近一年的时间都是停留在模型的认识、实现和调参。虽然也学习了一些防止过拟合的tricks,比如L1-norm,L2-norm,batch normalization,early stop等等,但还是给我一种莫名的不踏实感。靠玄学调参,还不如直接调用别人训练好的模型(API)来得快,为什么神经网络是长这样,以及怎么去改动?这个问题困扰了我很久。通过学习《最优化理论》和一些统计的知识,发现神经网络就是一个非线性函数,通过损失函数不断优化权重w逼近数据分布。卷积神经网络因为其多对“卷积-池化”的组合,满足对图像空间信息多层次抽象的提取,使之在图像领域大放光彩。如果想要设计神经网络,则要从数学函数的角度出发,重新定义f(x)。


多层感知机

带着函数的思想,我开始寻找神经网络架构和f(x)的关系。受到LSTM cell结构设计启发,我联想到电路图,那么神经网络可以简化成如下图所示

 

神经网络简化图

紧接着,我在《最优控制理论与系统》找到类似模型

模型匹配控制系统

如果将神经网络当作一个系统,按输入和输出去优化,那么最优控制理论或许可以找到相关的答案。因为包含了大量泛函分析和变分知识,进度在恶补基础中推行。。。。

在学习最优控制理论的过程中,重温了动态规划相关基础。结合组合优化中的背包问题,重新看待L1正则化,有了一点发现。如果将神经网络当成“背包”,权重W当成有价值物体,相当于在有限的空间内选择一定的物体使得背包的价值最大,即在确保内存不溢出,适量的权重去最小化损失函数。这个问题涉及到神经网络过拟合,我曾经google过用数学的方式的去证明过拟合。可惜没有找到答案,可见神经网络目前还是一个黑盒。

2.AutoML

AutoML是2018年顶会的一个热门,也是一个趋势。因为设计一个神经网络很耗时,程序肯定是越自动化越方便。自己接触AutoML来源于一次面试,CEO是哈佛教育master,回国孵化项目。他们是做青少年教育AI,也就是通过简单的网络设计,不需要很多数学基础就可以run deep learning,也相当于一个mini-autoML。 后来自己上网找了autoML相关的综述,包括Jeff Dean的ENSA等文献,有自动选择网络架构,超参数优化和增强学习等等。在自动神经网络设计中,需要自动设计神经网络的层数,节点和权重,这是一个多目标优化问题。借此也接触Pareto最优解的概念,指的是在资源有限的情况下,各个目标的优化都不会变坏,至少使其中的一个变得更好。

公式来自百度百科

学习到现在,还是避免不了过拟合这个问题,怎么去定义。。。。。。

3.深度学习系统

之前接触深度学习的时候,以为就是深层的神经网络,直到参与实际项目的研发,才幡然醒悟。a.计算速度:一开始总觉得有GPU就万事大吉。“如果没有GPU怎么加速?”,这是一个面试问题,在这里也做一个总结。分解矩阵,分配给CPU多核,甚至多机;神经网络的计算力主要集中在卷积操作,可以使用快速傅里叶变换(FFT)进行优化;如果在x86(ARM)平台上,可以使用SSE(NEON)指令集去优化c++程序;使用bit代替float32。b.内存:在移动端对内存要求比较高,属于模型压缩,可以参考神经网络剪枝与蒸馏C.网络:深度学习本身是大规模数据的处理,离不开传输,特别是多机间和多核间的通信,这也是需要去提高的地方。

Google开源的Tensorflow框架使用了计算图进行自动求微分,极大方便开发者搭建网络。然而,Tensorflow所代表的大规模分布式系统的设计,则是一门更大的学问。

Google三驾马车

总结

总的来说,每一次突破,都伴随着惊喜和傻眼。像发现新大陆一样,感叹还有那么多东西没接触。谢谢每一个指引和支持我的人,也谢谢自己的坚持。或许这篇总结中,有很多错的地方,以及那些还没有答案的问题,这些将构成2019年探索的动力!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值