机器学习的理论进展到了什么程度?
- 首先从传统的神经元层面来说,使用了几十年的Sigmoid激活函数被ReLU、PReLU这样的激活函数代替,部分解决了训练到两端梯度变小导致训练缓慢甚至梯度消失的问题;权重的初始化,除了原来的均匀方法、高斯方法,前几年出现了xavier、msra等方法,这些更适合深度网络。当然这些算是小的改进,最近基本很少这方面的文章了。
- 其次是分类器层面,发展出了Softmax多分类器,这个是用交叉熵推导出来的,有严格数学基础,而且可以多个类一次完成,成了大部分深度学习网络的标配。
- 然后是从应用层面:
- (1) 分类网络:GoogLeNet从v1到v4发展了4个版本,微软的ResNet也有好几个版本了,这两个网络都到了几百层,GoogLeNetv4不但有v3的不同尺度不同方向的卷积,还结合ResNet的残差传播,一般的分类问题做到95%+不是什么问题了。
- (2) 目标检测:短短几年经历了RCNN->fast RCNN->faster RCNN->YOLO->SSD的发展,每一层发展都可以说是革命性的,对应320-640这样的图像,识别50像素以上的目标,按对象数量计算(不是像素)的识别准确率和召回率做到95%+不是障碍。
- (3) 图像生成:得益于GAN的发展,如果训练好一个生成器,比如生成手写字体、图像生成卡通、卡通生成风景、表情生成、一种动物生成另外一种、语音生成等等都不是问题,可以非常逼真。(但是,为毛好些问题GAN训练不收敛,训练不出来生成器….)
- (4) 图像检索:看看以图搜图的各种软件,从单网、双子网(Siamese)、三子网(Triplet)到多通道网络等等,各种架构都有。
- (5) 机器翻译:看看谷歌翻译最近几年的变化。
- (6) 时间序列的语义网络:如自然语言处理、视频序列语义等等。
- 深度学习的理论是,逼近性质,generalization的bound,优化性质,复杂度/global optimality