1、2目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未来和思考3小学生解方程 a 3+b=10 a 8+b=30 a =?b =?4高中,大学 -矩阵,矢量5线性回归及分类 机器学习背景 Y 是一个N 维向量 XT 是一转置矩阵 N*(p+1)是 一个 p+1 的向量线性回归:,给定 X,和 Y,计算 以最佳匹配X,Y 的关系。N p+1 。即为线性回归模型的 参数。k 表明对应的维度,Xk 的重要性什么为最佳匹配?6参数估计方法一:最小化误差平方和 机器学习背景0)(RSS7 正则化 L2(Ridge)Regularization限制参数的大小,以避
2、免过拟合8 正则化 L1 Regularization(Lasso)限制参数的大小,以避免过拟合pjj.1|No closed form for 9逻辑回归)|0(0 xXGPP011)|1(PxXGPPxPPT01logxxTTeeP11xTeP110jG1x2xnx110逻辑回归 -参数训练jG1x2xnx1训练目标函数:最大似然对数概率01101log)log)1(log)(PxgPgPgiNiiNiii牛顿迭代:11目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未来和思考12神经元网络 p 单层前向网络p 两阶段回归或分类p K-Class
3、 分类p 最底层为数据层p 最上层为输出层p 中间层为隐含层p 这种简单的 NN称为Perceptron13神经元网络 -输入层到隐含层p 中间层为输入层线性组合的某函数vev11)(p 其中为激活函数:sigmoid14神经元网络-激活函数p 为激活(Activation)函数(红线)p 0 线性函数15神经元网络 ,隐含层到输出层 p 输出层为中间层的线性组合p 回归问题kkTTg)(p K-Class 分类问题,softmax函数 KlTTklkeeTg.1)(16训练神经元网络:参数集合及维度p 神经元网络参数集合 17训练神经元网络 优化参数求导 p 最小化目标函数:最小误差平方和及
4、求导 18训练神经元网络-Back Propagationp 梯度下降迭代算法输出层误差:ki隐含层误差:smi19BP 算法 p 初始化参数 p 两阶段算法:Two-Passp 前向 Forward-Pass:给定参数,计算输出值p 后向 Backward-Pass:计算输出层误差,计算隐含层误差,更新参数 BP算法图示(1985)input vectorhidden layersoutputsBack-propagate error signal to get derivatives for learningCompare outputs with correct answer to ge
5、t error signal21神经元网络小结22目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未来和思考24BP算法在深层神经元网络中的问题 依赖于标注的训练数据 目前大量数据为非标注数据 训练时间长,很难规模化 多层神经元网络训练很慢 会停驻在性能较差的本地优化点 浅层网络,该问题不明显 深层网络,问题显著25支持向量基(SVM)一个特殊的神经元网络 Still Perceptron 一个特殊的单隐含层网络 每个训练案例用于构造一个特征,该特征用于测量改训练案例和测试案例的距离 SVM训练选择自由特征集以及特征的权重 1990-2010 很多让
6、放弃NN,选择 SVMnon-adaptivehand-codedfeaturesoutput units e.g.class labelsinput units e.g.pixelsSketch of a typical perceptron from the 1960sBombToy深层信任网络(Deep Belief Net,DBN)是部分解决了以上问题的神经元网络2728谁重新激活了神经元网络?Geoffrey Hinton 出生于:1947 专业:学士,心理学,1970,博士,人工智能,1978 多伦多大学教授 Google 研究中心 1986:神经元网络BP算法发明人之一 深度学习
7、主要贡献人I GET VERY EXCITED WHEN WE DISCOVER A WAY OF MAKING NEURAL NETWORKS BETTER AND WHEN THATS CLOSELY RELATED TO HOW THE BRAIN WORKS.29谁重新激活了神经元网络?NCAP:神经计算和自适应感知项目 2004 NCAP ResearchersYoshua BengioYann Lecun (FaceBook)Andrew Ng (Baidu)20 OthersCore Team 30深度学习的 2006年,Geoffery Hinton Science发表DBN文
8、章。2012年,Hinton,ImageNet,26%-15%。2012年,Andrew Ng和分布式系统顶级专家Jeff Dean,Google Brain项目,16000个CPU核的并行,10亿个神经元的深度神经网络 2012年,微软首席研究官Rick Rashid在21世纪的计算大会上演示了一套自动同声传译系统 2013年,Hinton-Google;Yann LeCun-Facebook;用户图片信息提取2013年,百度成立了百度研究院及下属的深度学习研究所(IDL),2014年,Andrew Ng-Badidu3132可信任网络 Belief Nets(BN)一个BN 是一个由随机变
9、量组成的有向非循环图一部分变量为可观察已知变量如何由已知变量推断出非观察变量的状态调整变量之间连接的参数优化:最大可能重新生成观察变量stochastichidden causevisible effectWe will use nets composed of layers of stochastic binary variables with weighted connections.Later,we will generalize to other types of variable.可信任,信任什么?随机的二元单元(Bernoulli variables)隐含层的神经元的状态为0或1
10、该神经元激活的概率为输入层加权和的 sigmoid 函数001jjijiiwsbsp)exp(1)(11jjijiwsb)(1isp34Restricted Boltzmann Machines(RBM)限制神经元之间的链接以简化参数学习.只包含一个隐含层.多隐含层后期引入 隐含层单元之间无链接.给定输入可观察矢量,隐含层单元之间独立 隐含层和输入层之间为无向链接hiddenijvisible35RBM 训练训练0jihvjihvijijijijt=0 t=1 t=2 t=infinityjijiijijhvhvwvp0)(log从可观察训练矢量开始,交替更新隐含层和可观察矢量层单元 a fa
11、ntasy36小结一个基础的DBN网络p 决定DBN的隐含层数以及隐含层的神经元数p 每两层之间依据RBM单独依次训练参数p 训练完的两层网络简单叠加起来成为深层网络p 利用BP算法对叠加后的网络连接参数进一步优化p RBM Pseudo 代码p For t=0 to n:p Vt -Ht 基于sigmoid函数 和Gibbs 采样p Ht -Vt+1 基于sigmoid函数 和Gibbs 采样p Vt+1 -Ht+1 基于sigmoid函数 和Gibbs 采样p 更新参数W:pRBM Code 37目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未
12、来和思考38 深度学习目前常用的架构 深度神经元全连网络 DNN(Deep Neural Nets),Tensor-DNN 卷积神经元网络 CNN(Convolutional Neural Nets)深度叠拼神经元网络 DSN(Deep Stacking Nets);Kernel-DSN,Tensor-DSN 循环神经元网络 RNNs(Recurrent and recursive Neural Nets)39DNN在语音识别中的应用40DNN在语音识别中的应用41语音识别中的BottleNeck 特征42图像识别中的神经元网络应用 卷积神经元网络 Convolution Neural Net
13、work(CNN)输入层可以使多元的,也可以是一元的43图像识别中的神经元网络应用:卷积层p 输入:维度的矩阵 X p 输出:维度的矩阵 p 连接输入和输出的参数:维度的矩阵 WNN)1()1(MNMNMM)(1010bjaiMaMbabcijxwxcX44图像识别中的神经元网络应用:Pooling 层p 输入:region,矩阵p 输出:A single value,p 连接输入输出层参数:无p 最大值 poolingp 均值poolingkk)1()1(MNMN)1()1(kMNkMN45图像识别中的神经元网络应用:全连层p 同DNN46卷积神经元网络的架构47ImageNet 2012年
14、 竞赛48ImageNet 2013年 竞赛目前图像中物体识别性能49语音识别中CNN的使用(2013,Sainath IEEE)50循环神经元网络 RNN51RNN 同 DNN 的比较52Back Propagation Through Time(BPTT)p 三类参数p 训练方式可等同于前向网络在时域的组合53双向RNN 实现训练算法:u RBM 初始化每个时间点t的 网络u BPTT,BP算法的扩展优化参数训练54神经元网络在自然语言处理中的应用 语言模型 信息分类 信息聚类 信息提取 搜索 翻译 词向量语义表示55一批关键的文章Yoshua Bengio,Rejean Ducharme
15、,Pascal Vincent,and Christian Jauvin.A neural probabilistic language model.Journal of Machine Learning Research(JMLR),3:11371155,2003.PDFRonan Collobert,Jason Weston,Lon Bottou,Michael Karlen,Koray Kavukcuoglu and Pavel Kuksa.Natural Language Processing(Almost)from Scratch.Journal of Machine Learnin
16、g Research(JMLR),12:2493-2537,2011.PDFAndriy Mnih&Geoffrey Hinton.Three new graphical models for statistical language modelling.International Conference on Machine Learning(ICML).2007.PDFAndriy Mnih&Geoffrey Hinton.A scalable hierarchical distributed language model.The Conference on Neural Informati
17、on Processing Systems(NIPS)(pp.10811088).2008.PDFMikolov Tom.Statistical Language Models based on Neural Networks.PhD thesis,Brno University of Technology.2012.PDFTurian Joseph,Lev Ratinov,and Yoshua Bengio.Word representations:a simple and general method for semi-supervised learning.Proceedings of
18、the 48th Annual Meeting of the Association for Computational Linguistics(ACL).2010.PDFEric Huang,Richard Socher,Christopher Manning and Andrew Ng.Improving word representations via global context and multiple word prototypes.Proceedings of the 50th Annual Meeting of the Association for Computational
19、 Linguistics:Long Papers-Volume 1.2012.PDFMikolov,Tomas,Wen-tau Yih,and Geoffrey Zweig.Linguistic regularities in continuous space word representations.Proceedings of NAACL-HLT.2013.PDF56DNN 语言模型57RNN 语言模型u没有必要定义上下文长度u没有投影层(No Word Embedding)u前一层的隐含链接下一个词的隐含层58其他的深度学习架构:Deep Stacking Network(DSN)特点
20、u 线性和非线性层交替u 训练更容易并行u优化目标凸函数(convex)59目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未来和思考60深度学习实现的物理架构挑战:u训练数据规模庞大u 计算开销大u训练过程收敛难u训练用时久解决方案:uGPU 计算资源并行uCPU 集群几万神经元,几千万参数61工业界深度学习平台架构百度百度FacebookGoogle腾讯腾讯平台名称PaddleN/ADisbliefCotsMariana应用模型&数据CPU/GPU GPUGPUCPUGPUGPU&CPU硬件规模1.6W3台GPU服务器参数规模Downpour S
21、GD和L-BFGS10亿主要应用人脸识别和提取语音识别图形语音识别,图像粗粒62深度学习开源软件KaldiCuda-CovnetCaffeTheanoTorch7OverFeat领域语音识别图像分类Matlab 免费版图像识别及特征提取GPU/CPUGPUGPUGPUGPU/CPUGPU算法SGDSGD设计者Uni John HopkinsUiv of Toronto纽约大学功能 GPUGPUCPUGPU&CPUGPU实现语言C+CudaC+CudaPython63腾讯深度学习平台 Mariana DNN的GPU数据并行框架 CNN的GPU数据并行和模型并行框架 DNN CPU集群框架GPU服
22、务器为主4-6 Nvidia Tesla GPU Cards(系列高端科学计算用)2000流处理器/GPU card并行计算64深度学习并行策略 模型并行 将训练数据划分为多份,每份数据有一个模型实例进行训练,再将多个模型实例产生的梯度合并后更新模型 数据并行 模型并行指将模型划分为多个分片,每个分片在一台服务器,全部分片协同对一份训练数据进行训练 流式控制65DNN GPU 的并行架构 DNN的数据并行框架通过同步随机梯度下降进行训练。每个GPU卡各自训练,并各自产生一份梯度值,然后进行参数交换。自适应学习率算法,使得支持自适应学习率所需交换的数据量降低了一个数量级。参数交换的成本66CNN
23、-GPU并行架构 -腾讯u模型拆分u数据拆分u流式控制 GPU卡分组 组内两个GPU卡做模型并行,组间做数据并行67CNN-GPU并行架构 -腾讯u模型拆分u数据拆分u流式控制 GPU卡分组 组内两个GPU卡做模型并行,组间做数据并行68DNN CPU并行架构69目录p 机器学习的基础p 神经元网络p 深层神经元网络p 延伸和应用p 深层学习实现架构p 未来和思考70IBM Synapse 自适应塑料可伸缩电子神经形态系统自适应塑料可伸缩电子神经形态系统SyNAPSE is a DARPA-funded program to develop electronic neuromorphic ma
24、chine technology that scales to biological levels.More simply stated,it is an attempt to build a new kind of computer with similar form and function to the mammalian brain.Such artificial brains would be used to build robots whose intelligence matches that of mice and cats.SyNAPSE is a backronym sta
25、nding for Systems of Neuromorphic Adaptive Plastic Scalable Electronics.It started in 2008 and as of January 2013 has received$102.6 million in funding.It is scheduled to run until around 2016.The project is primarily contracted to IBM and HRL who in turn subcontract parts of the research to various
26、 US universities.71IBM Synapse 自适应塑料可伸缩电子神经形态系统自适应塑料可伸缩电子神经形态系统2007Apr-Todd Hylton joins DARPA to found the project2008Apr-DARPA publishes a solicitation for applications May-Due date for initial proposals Oct-Winning contractors announced Nov-Phase 0 start2009Sep-Phase 1 start Nov-Announcement of c
27、at-scale brain simulation20102011Aug-Announcement of neuromorphic chip implementation Sep-Phase 2 start Dec-Announcement of first memristor chip2012Feb-Todd Hylton leaves DARPA,Gill Pratt takes over as program manager May-Neuromorphic architecture design published Nov-TrueNorth/Compass simulation of
28、 530 billion neurons announced2013Feb-Expected announcement of multi-core neurosynaptic chips(1 million neurons per chip)Mar-Phase 3 to begin(estimated date)2014Oct-Phase 4 to begin(estimated date)20152016Program end72猫脑机 2009 IBM Dawn-the Blue Gene/P supercomputer 150K CPU ,144T Memory 模拟猫脑 Cortica
29、l simulations with 109 neurons,1013 synapses,16亿神经元,8.9万亿链接Criticism of the cat brain simulation claim73 Brain WallSyNAPSE(Systems of Neuromorphic Adaptive Plastic Scalable Electronics)The Brain Wall:A Neural Network Visualization Tool by IBM SyNAPSE Researchers 74 数字神经元芯片,CMOS,Memristor75 Synapse 的
30、合作者 DARPA-program managed by Gill PrattIBM Research-Cognitive Computing group led by Dharmendra ModhaColumbia University Medical Center-Theoretical neuroscience research,development of neural network models,led by Stefano FusiCornell University-Asynchronous VLSI circuit design,the neurosynaptic core
31、,led by Rajit ManoharUniversity of California,Merced-environment research,led by Christopher KelloUniversity of Wisconsin-Madison-Simulation,theory of consciousness,computer models,led by Giulio TononiHRL Laboratories-Memristor-based processor development led by Narayan SrinivasaBoston University:St
32、ephen Grossberg,Gail Carpenter,Yongqiang Cao,Praveen PillyGeorge Mason University:Giorgio Ascoli,Alexei SamsonovichPortland State University:Christof TeuscherSet Corporation:Chris LongStanford University:Mark SchnitzerThe Neurosciences Institute:Gerald Edelman,Einar Gall,Jason FleischerUniversity of
33、 California-Irvine:Jeff KrichmarUniversity of Michigan:Wei Lu76Synapse 投入经费 102 Million Dollars IBM&collaboratorsHRL&collaboratorsTotal(IBM+HRL)November 2008(phase 0)$4,879,333$5.9 million$10.8 millionAugust 2009(phase 1)$16.1 million$10.7 million$26.8 millionAugust 2011(phase 2)$21 million$17.9 million$38.9 millionTotal$42 million$34.5 million$76.5 million77Why DBN为什么我们应该探索深度学习?78Why DBN在多个领域中取得更好的准确率79Why DBN跟其他机器学习的训练方法比需要人工投入少?80Why DBN天然特征的层次结构81Why DBN符合仿生学结构82Why DBN并行计算能力支撑83Why DBN大数据支撑 你还不累,我累了!谢谢