一、深度学习(deep Learning)
深度学习是机器学习的一个分支。是一种以人工神经网络为架构,对数据进行特征学习的算法。
深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。
- 卷积:自动提取特征值
- 全连接层:主要做分类 或者 做一个识别
- Pooling层:改变特征输出的大小(降维)
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
层次分布:
1、深度学习的应用
深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
计算机视觉
香港中文大学的多媒体实验室是最早应用深度学习进行计算机视觉研究的华人团队。在世界级人工智能竞赛LFW(大规模人脸识别竞赛)上,该实验室曾力压FaceBook夺得冠军,使得人工智能在该领域的识别能力首次超越真人。
语音识别
微软研究人员通过与hinton合作,首先将RBM和DBN引入到语音识别声学模型训练中,并且在大词汇量语音识别系统中获得巨大成功,使得语音识别的错误率相对减低30%。但是,DNN还没有有效的并行快速算法,很多研究机构都是在利用大规模数据语料通过GPU平台提高DNN声学模型的训练效率。
在国际上,IBM、google等公司都快速进行了DNN(深度神经网络)语音识别的研究,并且速度飞快。
国内方面,阿里巴巴、科大讯飞、百度、中科院自动化所等公司或研究单位,也在进行深度学习在语音识别上的研究。
自然语言处理等其他领域
很多机构在开展研究,2013年,Tomas Mikolov,Kai Chen,Greg Corrado,Jeffrey Dean发表论文Efficient Estimation of Word Representations in Vector Space建立word2vector模型,与传统的词袋模型(bag of words)相比,word2vector能够更好地表达语法信息。深度学习在自然语言处理等领域主要应用于机器翻译以及语义挖掘等方面。
图像识别 | 物体识别 |
场景识别 |
人脸检测跟踪 |
人脸身份认证 |
自然语言处理技术 | 机器翻译 |
文本识别 |
聊天对话 |
语音技术 | 语音识别(科大讯飞) |
2、机器学习和深度学习的对比
| 机器学习 | 深度学习 |
算法 | 朴素贝叶斯、决策树等 | 神经网络(深度) 卷积神经网络:图像 循环神经网络:自然语言处理(NLP) |
领域 | 传统预测 | 图像、NLP等方向 |
(1)特征提取方面
最常用的框架当属Tensor Flow和PyTorch,而Caffe和Caffe2次之
- PyTorch和Torch更适合用于学术研究(research)
- TensorFlow、Caffe、Caffe2更适用于工业界的生产环境部署(industrial production)
- Caffe适用于处理静态图像(static graph);Torch和PyTorch更适用于动态图像(dynamic graph);TensorFlow在两种情况下都适用
- TensorFlow和Kears是Google推出的
- PyTorch是由Facebook公司推出
4、深度学习必备基础
- 数学:高等数学、线性代数、概率论与数理统计、最优化(凸优化)、博弈论
- 编程:python语言
- 理论:常见的理论:CNN等
- 架构
- 熟悉一个平台:TensorFlow(初学推荐)、PyTorch
- 常见架构:VGG、YOLO系列(v1、v2、v3、v4、v5)
- 论文:自己所研究领域的论文都可以
二、Tensorflow基础
1、认识Tensorflow
TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief 。
Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于谷歌内部的产品开发和各领域的科学研究 。
TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口(Application Programming Interface, API)。自2015年11月9日起,TensorFlow依据阿帕奇授权协议(Apache 2.0 open source license)开放源代码 。
2、Tensorflow特点
3、使用Tensorflow的代表性公司
4、分类
Tensorflow分为 CPU版本 和 GPU版本
CPU:运行操作系统,处理业务,计算能力不是很突出
GPU:图像处理显卡,专门为计算设计,计算部件比较多
(1)CPU和GPU比较
CPU:核芯数少(仅几个)——> 综合能力比较强(班长)
- 每个核芯的速度更快、性能更强,更适应于处理连续性(sequential)任务
GPU:核芯数量多(几千个)——> 专做某一件事情(xx员工)
- 每个核芯的处理速度慢,更适用于并行(parallel)任务
5、安装(cpu版本)
pip install tensorflow==1.8 -i https://mirrors.aliyun.com/pypi/simple