哈哈哈,终于又到了每课的写笔记时间。这次课程的内容比较少,可能是为了给Problem set 1空余时间吧。

废话不多说。写喽

这次的video讲的东西主要就是把推荐的论文稍微详细的讲解了一部分,然后外加给RNN模型开了个头。

1.Multi-task learning / weight sharing

这个第一部分其实在NLP(almost) from scratch里也有讲解它的理念就是,在DL model里面底下几层里学到的feature是相同或者近似的,那么这样的话,只需要统一给DL model的下面的几层建模,然后根据不同的任务再在之上分别建立不同的模型就好。这样可以大大简化模型的复杂度,又可以最大限度的利用到现有的数据,提取出更多的features。

然后后面就列出来了几个表格,说明俺们的multi-task learning就是好,用事实说话么。

2.Non-linearity

接下来就是每一层里对输入数据进行non-linearity的操作了。主要有以下几种:1.sigmoid function  2.hyperbolic tangent function  3.hard tanh function  4.soft sign  5.rectified linear function这五种函数根据实际情况的不同灵活选择。具体怎么选课上也没说- -,不过在推荐阅读里给出了论文引用,具体遇到问题的时候参考这篇论文就会万事OK啦。

这一段在推荐阅读的第十四页的左下角,每篇论文都有链接可以很方便的查到。

下面是五个常用non-linearities的函数表达式和对应的图形:

其实tanh就是sigmoid rescaled及shifted后的产物。

tanh(z) = 2*logistic(2z) - 1

3.Gradient checks

哎呀这个gradient checks可是很厉害哦不过一定要使用精度高的那个公式,也就是f(x + e) - f(x - e) / 2e不能用f(x + e) - f(x) / e因为后面的那个精度低。

epsilon的选择也很有讲究哦,不能太大也不能太小。用paper里的话说就是:Contrary to naive expectiations, the relative difference may grow if we choose an eplison that is too small. i.e., the error should first decrease as eplison is decreased and then may worsen when numerical precision kicks in, due to non-linearities.

最终根据不断的尝试和经验选择我们发现eplison选为10^-4的效果最好。

如果gradient checks失败了怎么办呢?

首先第一步:简化模型知道没有bug

第二步:增加一个hidden layer

。。。。。。

就是一步又一步增加你模型的复杂度,然后在某一步出现bug了就知道bug出现在这里,排错,然后接着增加复杂度,再排错,直到恢复到原来的模型为止。

4.Parameter initialization

parameter initialization也很有讲究,由于DL的node太多复杂度很高,所以一不小心就优化到local optimum里了。还容易使得初始值在一大段“高原”附近,优化时间就会很长。parameters也不能是对称的否则往上一层输出的结果就会太相似,无法进行优化。

综合以上考虑,还有实际经验,初始化parameters应当选用uniform distribution(uniform(-r, r)),当non-linear function是sigmoid function的时候 r = sqrt(6 / fan-in + fan-out),当non-linear function是tanh的时候 r =  4 * sqrt(6 / fan-in + fan-out)其中fan-in和fan-out是当前layer的之前layer的size和之后的layer的size。

5.Learning rates

learning rates不能太大,太大容易over shooting太小的话训练速度太慢。

有一个方法就是 epsilon_t = epsilon_0 * period / max(t, period)超过period的时候epsilon_t就会随着时间减小。

另一个方法更神奇,不同的parameter有不同的learning rate,这个参数之前更新的梯度之和很大则learning rate就小,反之则大

实现方法就是用一个数组记录下所有这个参数之前使用过的梯度,这次的learning rate = fixed number / sqrt(sum(all gradients used before))

6.Prevent overfitting

防止overfitting的出现的方法很多常用的有四种:1.降低模型的复杂度,减少模型每层的unit数量,或者直接减少layers  2.使用weight decay常用的就是L1 and L2 regularization on weights  3.训练到一定程度就停止,使用有最佳validation error的parameters  4.sparsity contraints on hidden activations这个方法我在auto-encoder里见到过

7.Recurrent Neural network language model

这一课里对RNN的介绍很简单就说了,这个模型叫recurrent是因为里面的parameters是recurrent使用的,有啥好处也没介绍 - -

期待下一课详细讲解

CS224d lecture 6札记相关推荐

  1. CS224d lecture 7札记

    欢迎转载,转载请附原文地址: http://www.cnblogs.com/NeighborhoodGuo/p/4684041.html 又到了,博客时间,咳咳咳 这次lecture7的内容不太多.不 ...

  2. CS224d lecture 9札记

    欢迎转载.转载注明出处: http://blog.csdn.net/neighborhoodguo/article/details/47193885 近期几课的内容不是非常难.还有我的理解能力有所提高 ...

  3. CS224d lecture 14札记

    欢迎转载,转载注明出处: http://www.cnblogs.com/NeighborhoodGuo/p/4720985.html 这一课也是请得嘉宾讲得课,据说是standford的一位博士.讲得 ...

  4. 深度学习与自然语言处理(3)_斯坦福cs224d Lecture 3

    原文作者:Rohit Mundra, Richard Socher 原文翻译:@熊杰(jie.xiong.cs@gmail.com) && @王昱森(ethanwang92@outlo ...

  5. 深度学习与自然语言处理(2)_斯坦福cs224d Lecture 2

    原文作者:Rohit Mundra, Richard Socher 原文翻译:@熊杰(jie.xiong.cs@gmail.com) && @王昱森 内容调整与校对:寒小阳 & ...

  6. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  7. 机器学习和深度学习资料汇总【02】

    <Image Scaling using Deep Convolutional Neural Networks> 介绍:使用卷积神经网络的图像缩放. <Proceedings of ...

  8. 【深度学习Deep Learning】资料大全

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...

  9. TensorFlow 中文资源精选,官方网站,安装教程,入门教程,实战项目,学习路径。

    转载至:http://www.nanjixiong.com/thread-122211-1-1.html Awesome-TensorFlow-Chinese TensorFlow 中文资源全集,学习 ...

最新文章

  1. 【转载】标准输入输出、错误输出、重定向标准输出
  2. python将局部变量转为全局变量
  3. 2.3.1 进程同步 进程互斥
  4. 解决PyCharm中报出 “Shadows built-in name xxx“ 的警告
  5. Event用计算机语言,求高人解释下一段计算机语言。
  6. python图片识别是否p过_Python+Opencv进行识别相似图片
  7. 动手学深度学习Pytorch Task06
  8. java设计模式工厂模式_Java中的桥梁设计模式
  9. 指针数组vs数组指针 指针函数vs函数指针
  10. Egret入门学习日记 --- 第九篇(书中 2.7~2.8节 内容)
  11. 久其报表大厅_久其报表大厅[Web版]操作手册.pdf
  12. Mirth Connect 第二章 什么是通道?
  13. GPIO输入输出模式原理(八种工作方式附电路图详解)
  14. 作业 5:词频统计——增强功能
  15. Ken Thompson 在餐巾纸上设计的 UTF-8
  16. 老哥,Java 中 final 和 effectively final 到底有什么区别?
  17. 什么是AMD;什么是CMD
  18. 超全园林 景观cc0高清摄影图片素材网站整理
  19. 电子人的浪漫--致爱丽丝音乐盒
  20. 1003 Emergency (25 point(s))

热门文章

  1. 科技改变世界,爱普生以技术创新迎接消费升级
  2. 单边带(SSB)调制技术
  3. SQL Server 安装文件挂起错误解决办法
  4. 6个改善【客户体验】的自动电子邮件营销回复示例
  5. 第一章——概率论基本概念
  6. 【概率论】基础之概率概论与集合论
  7. EPC 1000HE 多点触摸板Smart-Pad使用总结
  8. SAP FIORI专题之一:初次接触fiori,用sap hana studio开发发布UI5程序
  9. 录音如何转文字?这一招录音转文字方法分享给你
  10. Java工程师修炼之路(校招总结)