第二周:优化算法(Optimization algorithms) Mini-batch 梯度下降(Mini-batch gradient descent) 本周将学习优化算法,这能让你的神经网络运行得更快.机器学习的应用是一个高度依赖经验的过程,伴随着大量迭代的过程,你需要训练诸多模型,才能找到合适的那一个,所以,优化算法能够帮助你快速训练模型. 我们希望可以利用一个巨大的数据集来训练神经网络,而深度学习没有在大数据领域发挥最大的效果其中一个难点在于,在巨大的数据集基础上进行训练速度很慢.因此…
Lesson 2 Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第二门课程的课程笔记. 参考了其他人的笔记继续归纳的. 训练,验证,测试集 (Train / Dev / Test sets) 在机器学习发展的小数据量时代,常见做法是将所有数据三七分,就是人们常说的 70% 训练集,30% 测试集.如果明确设…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Initialization Welcome to the first assignment of "Improving Deep Neural Networks". Training your neural network requires specifying an initial value of the weights. A well chosen initialization method will help…
About this Course This course will teach you the "magic" of getting deep learning to work well. Rather than the deep learning process being a black box, you will understand what drives performance, and be able to more systematically get good res…
Optimization Welcome to the optimization's programming assignment of the hyper-parameters tuning specialization. There are many different optimization algorithms you could be using to get you to the minimal cost. Similarly, there are many different p…
Tensorflow Welcome to the Tensorflow Tutorial! In this notebook you will learn all the basics of Tensorflow. You will implement useful functions and draw the parallel with what you did using Numpy. You will understand what Tensors and operations are,…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. 请不要ctrl+c/ctrl+v作业. Optimization Methods Until now, you've always used Gradient Descent to update the parameters and minimize the cost. In this notebook, you will learn more advanced optimization methods that can spee…
Train/Dev/Test set Bias/Variance Regularization  有下面一些regularization的方法. L2 regularation drop out data augmentation(翻转图片得到一个新的example), early stopping(画出J_train 和J_dev 对应于iteration的图像) L2 regularization: Forbenius Norm. 上面这张图提到了weight decay 的概念 Weigh…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Gradient Checking Welcome to the final assignment for this week! In this assignment you will learn to implement and use gradient checking. You are part of a team working to make mobile payments available globally, and…
Gradient Checking Welcome to this week's third programming assignment! You will be implementing gradient checking to make sure that your backpropagation implementation is correct. By completing this assignment you will: - Implement gradient checking…
1 Practical aspects of Deep Learning 1.1 Train/Dev/Test sets 在小样本的机器学习中,可以分为60/20/20. 在大数据训练中,不需要划分很多的开发集和测试集.假如共有一百万数据,可以只取其中1万条作为开发集,1万条作为测试集.剩下的作为训练集. 某些时候会没有开发集.但是这么叫不确切,应该成为没有测试机. 注意:这里的train/dev/test应该是同一个数据集里.例如图片什么的需要相同的分辨率. 1.2 bias/variance…
Gradient descent Batch Gradient Decent, Mini-batch gradient descent, Stochastic gradient descent 还有很多比gradient decent 更优化的算法,在了解这些算法前,需要先理解  Exponentially weighted averages 这个概念 Exponentially weighted average 是一种计算平均值的方法,非常省storage 和 memory, 但是不是很精确.…
声明:所有内容来自coursera,作为个人学习笔记记录在这里. Regularization Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that overfitting can be a serious problem, if the training dataset is not big enough. Sure it do…
Week 1 Quiz - Practical aspects of deep learning(第一周测验 - 深度学习的实践) \1. If you have 10,000,000 examples, how would you split the train/dev/test set? (如果你有 10,000,000 个样本,你会如何划分训练/开发/测试集?) [ ]98% train . 1% dev . 1% test(训练集占 98% , 开发集占 1% , 测试集占 1%) 答案…
1. Setting up your Machine Learning Application 1.1 训练,验证,测试集(Train / Dev / Test sets) 1.2 Bias/Variance(偏差和方差) 高偏差(high bias)称为"欠拟合"(underfitting), 练集误差与验证集误差都高. 高方差(high variance)称为过拟合(overfitting), 训练集误差很低而验证集误差很高. 1.3 Basic "recipe"…
Tuning process 下图中的需要tune的parameter的先后顺序, 红色>黄色>紫色,其他基本不会tune. 先讲到怎么选hyperparameter, 需要随机选取(sampling at random) 随机选取的过程中,可以采用从粗到细的方法逐步确定参数 有些参数可以按照线性随机选取, 比如 n[l] 但是有些参数就不适合线性的sampling at radom, 比如 learning rate α,这时可以用 log Andrew 很幽默的讲到了两种选参数的实际场景…
第一周:深度学习的实践层面 (Practical aspects of Deep Learning) 1.1 训练,验证,测试集(Train / Dev / Test sets) 创建新应用的过程中,不可能从一开始就准确预测出一些信息和其他超级参数,例如:神经网络分多少层:每层含有多少个隐藏单元:学习速率是多少:各层采用哪些激活函数.应用型机器学习是一个高度迭代的过程. 从一个领域或者应用领域得来的直觉经验,通常无法转移到其他应用领域,最佳决策取决于 所拥有的数据量,计算机配置中输入特征的数量,…
训练.验证.测试划分的量要保证数据来自一个分布偏差方差分析如果存在high bias如果存在high variance正则化正则化减少过拟合的intuitionDropoutdropout分析其它正则化方法数据增加(data augmentation)early stoppingensemble归一化输入归一化可以加速训练归一化的步骤归一化应该应用于:训练.验证.测试梯度消失/爆炸权重初始化通过数值近似计算梯度优化算法mini-batchmomentumRMSpropAdam调参顺序批规范化Ba…
第三周:Hyperparameter tuning, Batch Normalization and Programming Frameworks 调试处理(Tuning process) 目前为止,你已经了解到,神经网络的改变会涉及到许多不同超参数的设置.现在,对于超参数而言,你要如何找到一套好的设定呢?在本节中,我想和你分享一些指导原则,一些关于如何系统地组织超参调试过程的技巧,希望这些能够让你更有效的聚焦到合适的超参设定中. 关于训练深度神经网络最难的事情之一是你要处理的参数的数量,下面粗…
第一周:深度学习的实用层面(Practical aspects of Deep Learning) 训练,验证,测试集(Train / Dev / Test sets) 本周,我们将继续学习如何有效运作神经网络,内容涉及超参数调优,如何构建数据,以及如何确保优化算法快速运行,从而使学习算法在合理时间内完成自我学习.第一周,我们首先说说神经网络机器学习中的问题,然后是随机失活神经网络,还会学习一些确保神经网络正确运行的技巧,带着这些问题,我们开始今天的课程. 在配置训练.验证和测试数据集的过程中做…
Deep Neural Network - Application Congratulations! Welcome to the fourth programming exercise of the deep learning specialization. You will now use everything you have learned to build a deep neural network that classifies cat vs. non-cat images. In…
http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural Networks  Published: 09 Oct 2015  Category: deep_learning Tutorials Popular Training Approaches of DNNs — A Quick Overview https://medium.com/@asjad/p…
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)   Deep Neural Networks, especially Convolutional Neural Networks (CNN), allows computational models that are composed of multiple processing layers to learn representations of data with…
http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Convolutional Neural Networks (CNN), allows computational models that are composed of multiple processing layers to learn representations of data with mul…
Introduction to Deep Neural Networks Neural networks are a set of algorithms, modeled loosely after the human brain, that are designed to recognize patterns. They interpret sensory data through a kind of machine perception, labeling or clustering raw…
Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017   This is the first in a series of posts looking at the ‘top 100 awesome deep learning papers.’ Deviating from the normal one-paper-per-day format, I’ll ta…
Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely easy with high-quality libraries such as Torch and Theano. These libraries are really helpful for rapidly prototyping deep learning models even witho…
译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我们训练单一模型或多个模型集合来完成指定得任务.然后,我们通过精细调参,来改进模型直至性能不再提升.尽管这样做可以针对一个任务得到一个可接受得性能,但是我们可能忽略了一些信息,这些信息有助于在我们关心的指标上做得更好.具体来说,这些信息就是相关任务的监督数据.通过在相关任务间共享表示信息,我们的模型在…
On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is Out!   On Explainability of Deep Neural Networks During a discussion yesterday with software architect extraordinaire David Lazar regarding how every…
Classifying plankton with deep neural networks The National Data Science Bowl, a data science competition where the goal was to classify images of plankton, has just ended. I participated with six other members of my research lab, the Reservoir lab o…