吴恩达Deeplearning.ai系列笔记
笔记借鉴于红色石头Will的博文。该系列课程共包含5门课,它对于理解DNN,CNN,RNN等相关算法背后的原理非常有帮助,同时提供了大量的应用场景,涉及图像、语音、自然语言理解等各方面,还提供了一些工具函数、数据集帮助我们实战并学习numpy,tensorflow,keras。
loserChen.
这个作者很懒,什么都没留下…
展开
-
Deeplearning.ai吴恩达笔记之循环神经网络3
Various sequence to sequence architectureBasic ModelsSequence to sequence(序列)模型在机器翻译和语音识别方面都有着广泛的应用。下面,我们来看一个机器翻译的简单例子:如上图所示,我们将输入的法语单词通过某个RNN网络结构输出了对应的英语单词。针对该机器翻译问题,可以使用“编码网络(encoder network)”+...原创 2019-01-16 13:48:57 · 310 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之循环神经网络2
Introduction to Word EmbeddingsWord Representation在之前的学习中,我们已经学习使用了one-hot的方式对单词进行编码。但是这种one-hot的方式的缺点就是每个单词都是相互独立的,无法知道不同单词之间的相似程度。例如Apple和Orange都是水果,词性相近,但是单从one-hot编码上来看,内积为零,无法知道两者的相似性。但是我们希望能...原创 2019-01-16 13:38:48 · 426 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之循环神经网络1
Recurrent Neural NetworksWhy sequence models这些序列模型基本都属于监督式学习,输入x和输出y不一定都是序列模型。如果都是序列模型的话,模型长度不一定完全一致。Notation输入x:如“Harry Potter and Herminone Granger invented a new spell.”(以序列作为一个输入),x<t...原创 2019-01-16 13:29:58 · 365 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之卷积神经网络4
Face RecognitionWhat is face recognition?首先简单介绍一下人脸验证(face verification)和人脸识别(face recognition)的区别。人脸验证:输入一张人脸图片,验证输出与模板是否为同一人,即一对一问题。人脸识别:输入一张人脸图片,验证输出是否为K个模板中的某一个,即一对多问题。一般地,人脸识别比人脸验证更难一些...原创 2019-01-16 13:22:24 · 431 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之卷积神经网络3
Detection algorithmsObject Localization标准的CNN分类模型我们已经很熟悉了,如下所示:对于目标定位和目标检测问题,其模型如下所示:原始图片经过CONV卷积层后,Softmax层输出8 x 1向量。除了包含上述一般CNN分类3 x 1向量(class label)之外,还包含了(bx, by),表示目标中心位置坐标;还包含了bh和bw,表示目标所...原创 2019-01-16 13:15:28 · 429 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之卷积神经网络2
Case studiesClassic Networks下图所示的是一个数字识别的LeNet-5的模型结构:下图所示是Alex-Net模型:AlexNet模型与LeNet-5模型类似,只是要复杂一些,总共包含了大约6千万个参数。同样可以根据实际情况使用激活函数ReLU。原作者还提到了一种优化技巧,叫做Local Response Normalization(LRN)。 而在实际应用中,...原创 2019-01-16 13:02:03 · 255 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之卷积神经网络1
Convolutional Neural NetworksComputer Vision机器视觉(Computer Vision)是深度学习应用的主要方向之一。一般的CV问题包括以下三类:Image ClassificationObject detectionNeural Style Transfer使用传统神经网络处理机器视觉的一个主要问题是输入层维度很大。例如一张64x64x...原创 2019-01-14 15:22:52 · 320 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之构建机器学习项目2
Error AnalysisCarrying out error analysis当我们在训练一个模型的时候,如一个猫和狗分类模型,最终得到了90%的精确度,即有10%的错误率。所以我们需要对模型的一些部分做相应调整,才能更好地提升分类的精度。如果不加分析去做,可能几个月的努力对于提升精度并没有作用。所以一个好的误差分析的流程就相当重要。收集错误样例:在分类错误的样本中,获取大约100个...原创 2019-01-14 15:12:01 · 206 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之构建机器学习项目1
Introduction to ML StrategyWhy ML Strategy当我们最初得到一个深度神经网络模型时,我们可能希望从很多方面来对它进行优化,例如:Collect more dataCollect more diverse training setTrain algorithm longer with gradient descentTry Adam ...原创 2019-01-14 14:44:04 · 262 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之优化深度神经网络3
Hyperparameter tuningTuning process深度神经网络需要调试的超参数(Hyperparameters)较多,包括:α\alphaα:学习因子β\betaβ:动量梯度下降因子β1,β2,ϵ\beta_1,\beta_2,\epsilonβ1,β2,ϵ: Adam算法参数#layers:神经网络层数#hidden units:隐藏层神...原创 2019-01-14 14:32:32 · 183 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之优化深度神经网络2
Optimization algorithmsMini-batch gradient descent之前我们介绍的神经网络训练过程是对所有m个样本,称为batch,通过向量化计算方式,同时进行的。我们将这种梯度下降算法称为Batch Gradient Descent。但是随着数据量的增大,达到百万级,那么训练速度往往会很慢,为了解决这个问题,我们提出了mini-batch gradient ...原创 2019-01-14 14:26:42 · 277 阅读 · 1 评论 -
Deeplearning.ai吴恩达笔记之优化深度神经网络1
Setting up your Machine Learning ApplicationTrain/Dev/Test sets对于一个需要解决的问题的样本数据,在建立模型的过程中,我们会将问题的data划分为以下几个部分:训练集(train set):用训练集对算法或模型进行训练过程;验证集(development set):利用验证集或者又称为简单交叉验证集(hold-out c...原创 2019-01-14 14:22:20 · 255 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之神经网络和深度学习3
Shallow Neural NetworkNeural Networks Overview同样,反向传播过程也分成两层。第一层是输出层到隐藏层,第二层是隐藏层到输入层。其细节部分我们之后再来讨论。Neural Network Representation在神经网络中,我们以相邻两层为观测对象,前面一层作为输入,后面一层作为输出,两层之间的w参数矩阵大小为(nout,nin)(n_{o...原创 2019-01-14 14:10:15 · 231 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之神经网络和深度学习2
Logistic Regression as a Neural NetworkBinary Classification如上图所示,这是一个典型的二分类问题。一般来说,彩色图片包含RGB三个通道。例如该cat图片的尺寸为(64,64,3)。在神经网络模型中,我们首先要将图片输入x(维度是(64,64,3))转化为一维的特征向量(feature vector)。方法是每个通道一行一行取,再连接...原创 2019-01-14 14:05:43 · 224 阅读 · 0 评论 -
Deeplearning.ai吴恩达笔记之神经网络和深度学习1
Introduction to Deep LearningWhat is a neural neural network?当对于房价进行预测时,因为我们知道房子价格是不可能会有负数的,因此我们让面积小于某个值时,价格始终为零。其实对于以上这么一个预测的模型就可以看作是一个简单的神经网络了。输入x:房屋面积,输出y是房屋价格,中间包含了一个神经元,该神经元其实就是实现了函数的功能。值得...原创 2019-01-09 21:25:22 · 320 阅读 · 0 评论