Caffe实战(一):初见深度学习

 

 什么是深度学习

 
学习是一个不断发现自身错误并改正错误的迭代过程。带"学习"功能的机器能仅仅通过"看"未知系统的输入-输出对(称为训练样本),自动实现该系统内部算法,并具有举一反三的能力(称为泛化),对不在训练样本中的未知输入也能产生正确的输出,完全不需要程序员或算法专家动手设计中间算法。
 
为了让机器自动学习,需要为机器准备三份数据:
  • 训练集,机器学习的样例。
  • 验证集,机器学习阶段,用于评估得分和损失是否达到预期要求。
  • 测试集,机器学习结束之后,实战阶段评估得分。
 
机器学习系统用于识别图像中的物体、将语音转换为文字、匹配新闻条目、在搜索中选择相关度更高的内容,以及推荐用户感兴趣的商品等。
 
传统机器学习技术在处理原始形态的自然数据方面有恨大的局限性。
 
几十年来,构建模式识别或机器学习系统需要技艺高超的工程师和经验丰富的领域专家来设计特征提取器(F eature Extractor) ,将原始数据(如图像的像素值〕转化为合适的中间表示形式或特征向量(F eature Vector) ,学习子系统(通常为分类器可以对输入模式进行检测或分类,如下图所

 

 
深度学习CDeep Learning, DL)是由多个处理层组成的计算模型,可以通过学习获得数据的多抽象层表示。该方法显著提高了语音识别、视觉日标识别和检测效果,很多领域(如药品发明、基因测序)也从中受益。
 
深度学习则不需要人工设计特征提取器,而是机器自动学习获得,特别适用于变化多端的自然数据,具有非常优良的泛化能力和鲁棒性。
 
深度学习看似万能,实则有很多调参技巧在里面,掌握得当可以快速获得模型,否则可能费力不讨好。
  • 模型参数远大于数据量时,相当于求解一个欠定方程,存在多解的可能性大,容易产生过拟合问题。
  • 模型参数远小于数据量时,相当于求解超定方程,可能无解,或者有解但准确率很低,这属于欠拟合问题。
  • 模型参数与数据量匹配时,相当于求解恰定方程,既能避免过拟合,又能兼顾准确率,但模型参数量和数据量怎样才能做到匹配,是一个工程问题。
 
有一种特殊类型的深度前馈网络,训练更简单,泛化能力比相邻层用全连接更好,这就是卷积神经网络CConvNet) 。
ConvNet 的四项基本原则:局部互联、共享权值、下采样以及使用多个卷积层。
 

人工智能、机器学习和深度学习之间的关系

 
人工智能指由人类制造出的机器表现出的智能。这是一个非常大的范围,长远目标是让机器实现类人智能。 不过目前我们还在非常非常初级的阶段,甚至都不能称为智能。
 
机器学习是指通过数据训练出能完成一定功能的模型,是实现人工智能的手段之一,也是目前最主流的人工智能实现方法。
 
深度学习则是机器学习的分支。深度即层数,超过 8 层的神经网络模型就叫深度学习——目前在语音、图像等领域取得了很好的效果。
 
机器学习(ML)技术在预测中发挥了重要的作用,ML经历了多代的发展,形成了具有丰富的模型结构,例如:
  • 线性回归
  • 逻辑回归
  • 决策树
  • 支持向量机
  • 贝叶斯模型
  • 正则化模型
  • 模型集成(ensemble)
  • 神经网络
 

深度学习现状

 
(深度学习领域的先驱者Geoffrey Hinton 、Yann LeCun 、Youshua Bengio )
 
Andrew Ng的机器学习课程:https://www.coursera.org/learn/machine-learning
 
深度学习一度备受冷落,真正的燎原之势始于2012 年多伦多大学Geoffrey Hinton 的学生AJex Krizhesky 在lLSVRC (ImageNet Large Scale Visual Recognition Cballenge, ImageNet 大规模视觉识别竟赛. http://image-net.org/challenges/LSVRC/)中使用深度学习方法一举夺得图像分类、目标定位两个项目冠军,远远拉开了与第二名(传统计算机视觉方法)成绩的差距。
 
深度学习在2012 年爆发,主要有3 个有利因素:
  • 更大的数据集,如ImageNet o
  • 新的深度学习技术,如ReLU 、Dropout 等技术。
  • 新的计算硬件,如GPU 。
 
Google 在Geoffrey Hinton 等大牛的带领下,在理论与技术方面一直保持世界领先地位。利用GoogLeNet. 在2014 年ILSVRC 中其分类错误率低至6.66%。基础平台包括早期基于大规模CPU 集群的DistBelief (由16000 个计算节点构成)和支持GPU加速的TensorFlow。
 
Microsoft在2015年ILSVRC目标检测任务中使用深度残余学习框架(Deep Residual Learníng Framework)取得绝对优势,赢得200个类目中194个最佳检出率,平均检出概率高达62% (2014 年同一任务最好结果为37%) 。基于Caffe 实现的Fast-RCNN (作者为Ross Girshick)在目标识别领域占街重要地位。Microsoft 在基础平台方面也势头强劲,2015年推出的Azure Machine Learning Studio 有大量的机器学习算法,适合用来构建预测分析解决方案。这些算法可用于一般的机器学习,如回归分析、分类、聚类和异常检测,且每一个都可以解决不同类型的机器学习问题。为其作支撑的不仅有高可扩展性、支持CPU/GPU 计算的Minerva 及分布式深度学习训练系统Adam 、CNTK ,还有利用Catapult 加速深度卷积神经网络CDCNN) 的项目也在进行中。
 
Facebook于2013年成立了人工智能实验室,在Yann LeCun的带领下Facebook同纽约大学数据科学中心在数据科学、机器学习、人工智能领域展开合作,代表性工作有最著名的开源深度学习项目Torch (http://torch.ch/)和fbcunn (https://github.com/facebook/fbcunn) 。
 
Amazon本身是做IaaS平台的,也迅速推出了云上的机器学习服务( http://aws.amazon.com/cn/machine-learníng/),提供一种PaaS 模式。Amazon Machine Learning提供可视化的工具和向导,无须学习复杂的机器学习算法和技术。使用简单的API 即可让用户应用程序轻松获得预测能力,而无须实现自定义预测生成码或管理任何基础设施。采用Amazon内部使用的机器学习方法,非常容易扩展。而且,使用Amazon Machíne Learníng不需要对硬件或软件事先投入资金,只需技使用量付费。
 
NVIDIA 于GTC 2015 、2016 连续发布多款面向深度学习的GPU 加速器硬件(Títan X 、Tesla PI00) 、加速库(cuDNN)和解决方案( DIGITS DevBox 、DGX-l ),为深度学习的普及和!更大模型的支持起到推披助澜的作用。
 
百度是国内较早开展深度学习研究的企业,于2013年年初创立了百度深度学习实验室( lnstitute of Deep Learning. lDL. http://idl.baidu.com/),斯坦福大学教授、Google大脑创始人Andrew Ng 随后加入。IDL研究方向包括深度学习&机器学习、机器人、人机交互、3D 视觉、图像识别、语音识别等,同时开展了一系列深度学习相关的创新项目,如无人机、智能自行车DuBike 、自动驾驶汽车、智能眼镜BaiduEye 等。百度在lmageNet挑战中取得的成绩得益于其超级计算机Minwa (36 个服务器节点,每个节点2个六核Xeon E5-2620 和4 个NVlD1A Tesla K40m GPU ) 。在充分考量各种芯片的特性后,百度采用FPGA(可编程、低功耗并又有超强并行计算能力)设计了第一版Al专有芯片版百度大脑一-FPGA版百度大脑,这使得百度成为了全球最早将FPGA 规模应用在人工智能领域的公司。
 
阿里巳巴作为电子商务巨头,很早就看到了深度学习在商品检索方面的应用价值,在阿里巴巴图像搜索的领军人物、阿里巴巴搜索事业部研究员华先胜的带领下迅速将深度学习技术成功应用到手机淘宝图像搜索业务一一拍立淘中。阿里巳巴在基础平台建设方面起步虽晚,但发展迅速,利用装备NVIDIA Tesla GPU 的高性能计算集群,不仅完美支持拍立淘、搜索、OCR 、绿网、神马语音、iDST 等内部业务,还进一步在2015年10月14日云栖太会仁正式宣布通过阿里云对外提供公共云上的HPC 服务( https://www.aliyun.com/product/hpc ) ,使普通用户也有机会享受高性能计算平台带来的高效性和便利性。
 
腾讯拥有海量的社交关系数据,在深度学习应用方面潜力巨大,日前主要应用为语音识别、图像识别和广告推荐。腾讯优图( Bestlmage,http://open.youtu.qq.com/) 是腾讯旗下顶级的机器学习研发团队,专注于图像处理、模式识别、深度学习等方向,在人脸检测、五官定位、人脸识别、图像理解领域都积累了完整解决方案和领先的技术水平。腾讯在深度学习基础平台方面经历多次升级逐步完善,在Mariana 基础上针对多种应用打造出MarianaDNN 、MarianaCNN 、Mariana Cluster 等基础框架,在微信语音识别、微信图像识别方面均己成功落地,在图文类效果广告点击率提升方面也取得初步的应用。
 
中国科学院计算所计算机体系结构国家重点实验室未来计算组陈云雾研究员领导的团队提出了国际上首个深度神经网络处理器寒武纪1 号(DianNao) ,通过高效的分块处理和访存优化,能高效处理任意规模、任意深度的人工神经网络,以不到通用处理器1/10 的面积和功耗达到了100 倍以上的神经网络处理速度,性能功耗比提升了1000 倍。
 
 
参考《深度学习:21天实战Caffe》
 
 

posted on 2021-04-10 18:47  悬崖边上打坐  阅读(148)  评论(0)    收藏  举报

导航