看完180多页的ppt,真心不容易。记得流水账如下:

Five reason to explore Deep Learning:
1. learning representation; 2. the need for distribution representation -- curse dimensionality; 3. unsurperwised feature and weight learning; 4. multi-level representation; 5. why now (RBM,训练方法等出现)
1. the basic
1.1 from logistic regression to neural nets
看问题角度很有意思。逻辑回归本身就是一个单一神经元的神经网络(感知机)。而(三层)神经网络,就是多个逻辑回归模型放到一起,各自输出各自的,然后再加一个softmax层,变成分类器。
From Maxent Classifiers to Neural Networks
最大熵的函数形式,也可以转成sigmoid函数形式,所以最大熵也等同于只有一个神经元的神经网络。在实际应用中,最大熵也可以作为softmax层来使用。
训练神经网络:(1)Stochastic gradient descent (梯度下降);(2)Conjugate gradient or L-BFGS
为什么神经网络需要非线性(Non-linearities)?如果都是线性的话,多层神经网络的描述能力相当于只有一个层的神经网络。
1.2 word representation
one-hot representation;
distributional representation;
class-based representation (hard class -- cluster, or soft class -- LDA);
word embedding
1.3 unsuperwised word vector learning
feed-forward computation:如何计算一个语句s(cat chills on a mat)的概率?
构建三层神经网络,输入层是每个词(和对应的实数向量),中间隐含层,输出层是单个节点变量,表示句子概率。
训练的时候,给定一个ngram窗口,来构建上述神经网络,输出ngram概率s;同时,在当前ngram的基础上,构建反例,同样用上述网络计算反例概率sc。则,目标优化函数是最小化这个数值

J = max (0, 1-S+Sc)

google 的 word2vec,用的就是这个目标函数。
为了优化这个目标函数,可以用梯度下降方法计算梯度,bp方式逐层更新网络权重。
1.4backpropagation training
介绍bp的基本原理
1.5learning word level classifiers: pos and ner
和1.3中的训练ngram的网络结构类似,只不过“replaces the single scalar score with a SoBmax/Maxent classifier”,即最上一层是softmax层,用来做分类器。
The interesting twist in deep learning is that the input featuresare also learned——同传统bp过程不同的是,word embedding中,输入向量(指word embedding)也被学习了。
word embedding也有助于在各个资源(词典)之间share信息——以词为单位,信息源融合
1.6sharing statistical strength
semi-supervised learning:指先用unsupervised learning做pretrain,然后用supervised learning做细调。pretrain能成功的一个理由是:原则上我们要得到条件概率p(c|x),不过pretrain得到的是p(x),后者能够很好地逼近前者。
autoencoder:multi-level NN with output = input
pca = linear manifold = linear auto-encoder
正常autoencoder相当于non-linear pca
附:"manifold"这个词的含义相当于“复印”,即在某个方向上存在微小变化,但是总体来讲还和原来的物体一致。
Minimizing reconstruction errorforces latent representation of“similar inputs” to stay onmanifold。
autoencoder改进:对于离散输入,用交叉熵或者log-likelihood作为准则函数;Undercomplete、Sparsity、Denoising、Contractive等问题的解决,其中Sparsity的解决是强迫参数在0附近。
2. recursive NN
2.1 motivation
RNN可以学习句子的句法结构,但只能是二叉树的结构。
2.2 RNN for parsing
可以参考“leanring meanings for sentence”
2.3 theory: bp through structure
介绍很简略,不过基本过程与bp一致。
对于语法树中的每一个节点,节点的label计算,可以在节点的向量表示的基础上,加上softmax层,进行训练和标记。
实验表明,这种方法对短句效果比较好,对长句的效果比较差
还讲了几个应用:paraphrase detection、scene parsing(用NLP中的parsing应用在图像上面,分析图像结构)
2.4 recusive auto-encoders
类似RNN,只不过目标函数不再是一个surpervised score,而是reconstruct error
semi-supervised autoencoders,在目标函数中加入了cross entropy
2.5 applications tosentiment detection(情感倾向性检测)and paraphrase detection
sentiment detection(情感倾向性检测):bag of words方法,采用本文自动学习向量的方法(在此基础上再构件分类器,区分是“正面”倾向还是“负面”倾向的情感)
paraphrase detection:how to compare the meanings of two sentences?
recusive auto-encoder to full sentence paraphrase detection (sochar 2011): 用2.3的方法分别计算两个句子的语法树、以及非叶子结点,同叶子节点一起,两颗语法树的节点之间计算相似度,形成相似度矩阵,在矩阵基础之上,再用NN方法,计算paraphrase的可能性。
个人疑问:句子的长度不同,形成的相似度矩阵的大小(两个维度)不同,如何将不同规模的矩阵,用同样的NN方法来计算相似度的值,ppt中没说,只能看sochar原文了。
2.6compositionality through recursive matrix-vector spaces
上文中,语法树每个中间节点都由一个vector来表示,本小节中的方法,除了vector之外,还有一个matrix。方法比较复杂,介绍比较简略。
3. applications
3.1 applications
3.1.1 nerual language model
LM: Bengio 2003
ASR:Mikolov 2011 word2vec
output bottleneck:通常,NNLM的输出是个向量,向量的维度与词表大小有关,最简单的,one-hot表示方法,或者输出向量是ngram中要预测的词语的向量,但是该向量要与词表中每个词语做相似度计算,从而确定预测出的是哪个词语。
对这个问题,Mikolov借鉴class-based language model的想法,在NNLM上也是输出为word class,然后再用p(word|class, context)来还原计算p(word|context)
SMT:也是从LM角度来做的,将从前SMT中的ngram换成NNLM
3.1.2structured embedding fo knowledge bases
Bengio aaai2011
3.1.3assorted speech and nlp applications
learn multiple word vectors:处理一词多义现象——用多个word vector来表示这个词语
......
3.2 resources (tutorials and code)
• See “Neural Net Language Models” Scholarpedia entry
•  Deep Learning tutorials: http://deeplearning.net/tutorials
•  Stanford deep learning tutorials with simple programming assignments and reading list
http://deeplearning.stanford.edu/wiki/
•  Recursive Autoencoder class project
http://cseweb.ucsd.edu/~elkan/250B/learningmeaning.pdf
•  Graduate Summer School: Deep Learning, Feature Learning
http://www.ipam.ucla.edu/programs/gss2012/
•  ICML 2012 Representation Learning tutorial http://www.iro.umontreal.ca/~bengioy/talks/deep-learning-tutorial-2012.html
•  Paper references in separate pdf
softwares
• Theano (Python CPU/GPU) mathema>cal and deep learning library http://deeplearning.net/so\ware/theano
•  Can do automatic, symbolic differen>a>on
•  Senna: POS, Chunking, NER, SRL
•  by Collobert et al. http://ronan.collobert.com/senna/
•  State-of-the-art performance on many tasks
•  3500 lines of C, extremely fast and using very liCle memory
•  Recurrent Neural Network Language Model
http://www.fit.vutbr.cz/~imikolov/rnnlm/
•  Recursive Neural Net and RAE models for paraphrase detection, sentiment analysis, relation classificationwww.socher.org
3.3 deep learning tricks

•  Stochastic gradient descent and seáng learning rates
•  Main hyper-parameters
•  Learning rate schedule & Early stopping
•  Minibatches
•  Parameter initialization
•  Number of hidden units
•  L1 or L2 weight decay
•  Sparsity regularization
•  Debugging à Finite difference gradient check (Yay)
•  How to efficiently search for hyper-parameter configurations

tanh(z)=2logistic(2z)−1
tanh is better than sigmoid(logistic) in deep learning

Ordinary gradient descent is a batch method, very slow, should never be used. Use 2nd order batch method such as LBFGS.

learning rate: Better results can generally be obtained by allowing learning rates to decrease, typically in O(1/t)
parameter initialization:
Initialize hidden layer biases to 0 and output (or reconstruction) biases to optimal value if weights were 0
Initialize weights ~ Uniform(-r,r), r inversely proportional to fanin (previous layer size) and fan-out (next layer size)

【Deep Learning学习笔记】Deep learning for nlp without magic_Bengio_ppt_acl2012相关推荐

  1. 笔记 | 吴恩达Coursera Deep Learning学习笔记

    向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...

  2. 【Machine Learning 学习笔记】Stochastic Dual Coordinate Ascent for SVM 代码实现

    [Machine Learning 学习笔记]Stochastic Dual Coordinate Ascent for SVM 代码实现 通过本篇博客记录一下Stochastic Dual Coor ...

  3. 【Machine Learning 学习笔记】feature engineering中noisy feature的影响

    [Machine Learning 学习笔记]feature engineering中noisy feature的影响 通过本篇博客记录一下添加噪声对Lasso和SVM的影响,采用的数据集为sklea ...

  4. 网上某位牛人的deep learning学习笔记汇总

    目录(?)[-] 作者tornadomeet 出处httpwwwcnblogscomtornadomeet 欢迎转载或分享但请务必声明文章出处 Deep learning一基础知识_1 Deep le ...

  5. Machine Learning 学习笔记1 - 基本概念以及各分类

    What is machine learning? 并没有广泛认可的定义来准确定义机器学习.以下定义均为译文,若以后有时间,将补充原英文...... 定义1.来自Arthur Samuel(上世纪50 ...

  6. Machine Learning学习笔记(十)K-means聚类算法

    K-Means介绍 K-means算法是聚类分析中使用最广泛的算法之一.它把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.其聚类 ...

  7. Machine Learning学习笔记(四)EML极限学习机

    EML定义 极限学习机器( Extreme Learning Machine,ELM) 是神经网络研究中的一种算法,是一种泛化的单隐层前馈神经网络( Single-hidden Layer Feed ...

  8. 鸟叔的linux私房菜:第0章 计算机概论学习笔记(Learning Notes for Basic Computer Theory)

    本博客是针对<鸟叔的Linux私房菜 基础学习篇 第四版>的第0章 计算机概论的学习笔记. 1 电脑辅助人脑的好工具 11 计算机硬件的五大单元 12 一切设计的起点CPU的架构 其它单元 ...

  9. CV视觉论文Deep learning学习笔记(一)

    论文介绍和监督学习(introduction of paper and supervision of learning) 1. 论文介绍和作者介绍 作者:论文作者是2018年图灵奖得主yoshua B ...

最新文章

  1. EasyUI datagrid控件的基本使用
  2. 谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络、CV、NLP 难点解析
  3. 《神策军》第四期来袭!
  4. 《赛博朋克 2077》与《对马岛之魂》的「不自由感」究竟从何而来?
  5. ADS错误(Fatal)L6002U解决方法
  6. HDU 4281 Judges' response [MTSP]
  7. 【Matlab/C/Python/VB/...】代码复制到word时如何变成彩色的
  8. 美司法部揭秘俄黑客窃取雅虎5亿帐户资料全过程
  9. 学python可以从事什么工作-学Python可以找什么工作或者做什么兼职?
  10. (转)WebApi发送HTML表单数据:文件上传与多部分MIME
  11. jack编译报错的问题
  12. 深入理解 JVM 第三版
  13. java成语填充,java - 什么是“执行”这个成语?
  14. 小技巧:visio 如何让箭头完全水平
  15. 临时邮箱 十分钟邮箱 简介
  16. PS2022安装教程(附个人详细安装教程)
  17. Android 视频直播的流程总览
  18. 12 WebGL移动、旋转和缩放中的平移
  19. easyui表格自动换行
  20. 关于C和C++的争论

热门文章

  1. 精挑细选100+技术公众号优秀文章
  2. 啊哈C——学习2.8一起来找茬
  3. 利用OpenCV检测图像中的多个水果
  4. linux系统下载编译器,linux gcc编译器下载 GNU Compiler Collection(gcc编译器) v4.7.0 for linux版 下载-脚本之家...
  5. 源生之能--to Rain
  6. 人工智能伦理风险治理具有复杂性,尚未形成完善的理论架构和治理体系
  7. ZYNQ学习之pl和ps接口
  8. C 语言 抽象语法树AST
  9. layui内置模块(layer弹出层)
  10. python实现用程序给自己发邮件