第1页
深度学习
-用 PYTHON 开发你的智能应用
费良宏 / lianghon@amazon.com, AWS Technical Evangelist 21 April 2016
第2页
关于我
工作:Amazon Web Services / Evangelist 7 年 Windows/ Internet/ Cloud @Microso 3 年 iOS/ Mobile App @Apple 1.5 年 Cloud Computing @AWS
技术关注: 云计算:架构、大数据、计算优化 机器学习:深度学习、自然语言处理 语言:Python、Go、Scala、Lua Web:爬虫
2016的目标:Web爬虫+深度学习+自然语言处理 = ?
第3页
今年最激动人心的事件?
2016.1.28 “Mastering the game of Go with deep neural networks and tree search”
第4页
今年最激动人心的事件?
2016年3月Alphago 4:1 击败李世石九段
第5页
人工智能 VS. 机器学习 VS. 深度学习
第6页
人工智能发展的历史
第7页
四大宗师
Yann Lecun, Geoff Hinton, Yoshua Bengio, Andrew Ng
第8页
机器学习
机器学习是一门人工智能的科学。机器学习算法是一类从 数据中自动分析获得规律,并利用规律对未知数据进行预
测的算法
第9页
机器学习
计算机能够分辨出来他/她是谁吗?
第10页
机器学习
第11页
机器学习
基于过去的事实和数据,用来发现趋势和模式 机器学习模型提供了对于结果的洞察力,机器学习帮助 揭示未来的一个结果的概 率而不仅仅是过去发生的事情 历史的数据和统计建模被用于概率进行预测
传统的数据分析旨在回答关于过去的事实,机器学习的目 的是回答关于未来事件的可能性的问题!
第12页
机器学习的应用场景
个性化 – 提供个性化的电子商务体验 文档聚类 – 按照文档上下文自动分类 欺诈检测 – 发现异常的规律行为,识别和标记欺诈交易 推荐引擎 客户流失预测 ...
第13页
机器学习-学习方式
监督学习- 人工干预和验证的要求,算法:Logistic Regression,Back Propagation Neural Network 等。例如:照片分类和标签 无监督学习- 无人工干预的要求, 算法: Apriori算法以及k-Means。例如:对于文档的基于上下 文的自动分类 半监督学习 - 介于监督学习和无监督学习之间,算法: Graph Inference 或者Laplacian SVM 强化学习- 通过观察来学习做成如何的动作, 算法:Q-Learning以及时间差学习
第14页
机器学习- 方法及流程
输入特征选择 – 基于什么进行预测 目标 – 预测什么 预测功能 – 回归、聚类、降维... Xn -> F(xn) -> T(x)
第15页
机器学习- 举例
第16页
机器学习- 举例
如何让机器分辨出来他/她是谁 ? 图像分析 – 输入特征选择 ->面部特征、发型、裙子、身高、手势…
第17页
机器学习- 何时使用
你不需要机器学习,如果 使用简单的规则和计算,你可以预测答案 你能够预先了解到所需要的步骤不需要任何数据驱动的 学习
你需要机器学习,如果 简单的聚类规则是不充分的 面对大量的数据集的可伸缩性的问题
第18页
机器学习 - 总结
由已知答案的数据开始 明确目标 – 从数据中希望可以预测什么 选择可以被用来预测目标的模式所需要的变量/特性 使用已知目标答案的数据训练机器学习模型 对于未知答案的数据,使用训练过的模型预测目标 评估模型的准确性 提高模型精度
第19页
什么是深度学习?
"深度学习是机器学习的一个分支,是一组在多个层次上 学习的算法,分别对应不同级别的抽象"
第20页
深度学习 VS. 机器学习
ML 的算法包括监督学习和无监督学习 适用非线性处理单元的多层次的特征提取和转换 基于对多个层的特征或者表象的学习,形成一个由低级 到高级的层次结构特征
传统的机器学习关注于特征工程,深度学习关注于端到 端的基于原始数据的学习
第21页
为什么需要深度学习?
第22页
深度学习- 举例
第23页
深度学习 - 神经网络
是一种模仿生物神经网络(例如大脑)的结构和功能的计 算模型
是一种非线性统计性数据建模工具,对输入和输出间复 杂的关系进行建模
一组简单可以训练的数学单元集合,共同学习复杂的功 能
第24页
深度学习 - 训练
第25页
深度学习 - 部署
第26页
深度学习 - 数据表现
表现层次 图片– 像素、主题、部分、轮廓、边缘等等 视频– 图像帧、每帧的像素、每一帧的deltas 值等等 文本– 字符、词、从句、句子等等 语音– 音频、频段、波长、调制等等 ...
第27页
深度学习的优势
特性自动推导和预期结果的优化调整 可变的自动学习的健壮性 重用性-相同的神经网络的方法可用于许多应用和数据 类型 通过利用GPU的大规模并行计算-可扩展的大容量数据
第28页
深度学习的开发框架
Torch (NYU,2002), Facebook AI, Google Deepmind Theano (University of Montreal, ~2010), 学院派 Kersa, “Deep Learning library for Theano and TensorFlow” Caffe (Berkeley),卷积神经网络,贾扬清 TensorFlow (Google) Spark MLLib
第29页
深度学习中的开发框架框架
第30页
THEANO
学院派血统,Montreal University 非常灵活,非常复杂 通过底层借口可以做到大量的定制 衍生了大量的丰富的项目Keras, PyLearn2, Lasagne... Pythonic API, 非常好的文档
第31页
THEANO 实践
第32页
THEANO 实践
第33页
THEANO 中的卷积极神经网络
第34页
为什么是 PYTHON ?
最好的"胶水"代码用于研究、快速开发 iPython, 数据可视化 丰富的框架资源Theano, Kersa, TensorFlow 海量的社区、开源的支持
第35页
为什么需要 GPU?
第36页
为什么需要 GPU?
CPU - 指令并行执行,数据并行运算 GPU - 矩阵类型的数值计算,尤其浮点运算
第37页
建立自己的深度学习的应用环境
适用于 深度学习的 AWS G2实例 – 4个NVIDIA GRID GPUs, 每1个包括了 1,536 CUDA cores 以 及 4 GB of video 32 vCPUs 60 GB内存 240 GB (2 x 120) of SSD 存储
第38页
深度学习的应用环境
第39页
深度学习的应用环境 - 安装和配置
sudo yum updat
sudo yum install git python-nose gcc gcc-gfortran gcc-c++ blas-devel lapack-devel atlas-devel python34-devel python3.4 lapack64-devel python34-pip python34-virtualenv
pip-3.4 install Theano numpy scipy nose keras pycuda
第40页
深度学习的应用环境- 检查GPU
第41页
深度学习的应用环境- THEANO
~/.theanorc
第42页
深度学习的应用环境- THEANO
我的第一个Theano 程序
第43页
深度学习的应用环境- THEANO
我的第一个Theano 程序
第44页
深度学习的应用环境- THEANO
GPU vs. CPU
第45页
TENSORFLOW 的新进展
分布式的深度学习框架
第46页
TENSORFLOW 的新进展
分布式的深度学习框架
第47页
工程化思维 VS. 科学化思维
第48页
THINK GREAT THOUGHTS AND YOU
WILL BE GREAT.
心怀伟大,你将会变得伟大!
第49页
谢谢!