吴恩达deeplearning.ai五项课程完整笔记了解一下?

自吴恩达发布deeplearning.ai课程以来,很多学习者陆续完成了所有专项课程并精心制作了课程笔记,在此过程中机器之心也一直在为读者推荐优质的笔记。上个月,deeplearning.ai第五课发布,该系列课程最终结课。MahmoudBadry在GitHub上开源了五项课程的完整笔记,介绍了包括序列模型在内的详细知识点。机器之心简要介绍了该项目,并重点描述了第五项课程序列模型。

上周吴恩达在推特上展示了一份由TessFerrandez完成的深度学习专项课程信息图,这套信息图优美地记录了深度学习课程的知识与亮点。这一份信息图的详细介绍请查看:这是一份优美的信息图,吴恩达点赞的deeplearning.ai课程总结。

MahmoudBadry完成的笔记主要分为五部分,分别对应神经网络与深度学习基础、提升DNN性能的技巧与方法等、结构化机器学习项目、卷积神经网络和序列模型五门课程。值得注意的是,该项目完成的笔记十分详细,基本上五门课程的知识点全都覆盖到了。例如第一项课程以每周不同主题为序记录了从神经网络简介到Goodfellow采访等基本知识点。

由于前四课很多知识点都已经介绍过,因此本文我们着重介绍第五课的笔记概要,读者可自行查阅GitHub阅读完整的笔记,也可查看机器之心往期发过的一些课程资料。

第五课序列模型简介

本课程将讲授如何构建自然语言、音频和其他序列数据的模型。在深度学习的帮助下,序列算法比两年前效果更好,用于大量有趣的应用,如语音识别、音乐合成、聊天机器人、机器翻译、自然语言理解等。学完本课,你将:

适用人群:

该课程介绍循环神经网络(RNN)、自然语言处理和词嵌入还有序列模型和注意力机制等,以下将简要介绍MahmoudBadry所完成的序列模型笔记。

序列模型

序列模型(如RNN和LSTM)极大地改变了序列学习,序列模型可通过注意力机制获得增强。序列模型在语音识别、音乐生成、情感分类、DNA序列分析、机器翻译、视频活动识别、命名实体识别等方面得到应用。

循环神经网络模型(RNN)

RNN有很多应用,在自然语言处理(NLP)领域表现良好。下图是一个用于解决命名实体识别任务的RNN网络。

用于解决命名实体识别任务的RNN网络。

简化版RNN表示法。

RNN架构中的反向传播,w_a、b_a、w_y、b_y被序列中的所有元素共享。

这里使用交叉熵损失函数:

其中第一个公式是序列中一个元素的损失函数,整个序列的损失是每个元素的损失之和。

RNN的类型

RNN的不同类型。

RNN的梯度消失

门控循环单元(GRU)

带有门控循环单元的循环神经网络

以下展示了单个门控循环单元的具体结构。

门控循环单元

LSTM

以下是LSTM单元的详细结构,其中Z为输入部分,Z_i、Z_o和Z_f分别为控制三个门的值,即它们会通过激活函数f对输入信息进行筛选。一般激活函数可以选择为Sigmoid函数,因为它的输出值为0到1,即表示这三个门被打开的程度。

若我们输入Z,那么该输入向量通过激活函数得到的g(Z)和输入门f(Z_i)的乘积g(Z)f(Z_i)就表示输入数据经筛选后所保留的信息。Z_f控制的遗忘门将控制以前记忆的信息到底需要保留多少,保留的记忆可以用方程c*f(z_f)表示。以前保留的信息加上当前输入有意义的信息将会保留至下一个LSTM单元,即我们可以用c'=g(Z)f(Z_i)+cf(z_f)表示更新的记忆,更新的记忆c'也表示前面与当前所保留的全部有用信息。我们再取这一更新记忆的激活值h(c')作为可能的输出,一般可以选择tanh激活函数。最后剩下的就是由Z_o所控制的输出门,它决定当前记忆所激活的输出到底哪些是有用的。因此最终LSTM的输出就可以表示为a=h(c')f(Z_o)。

双向RNN(BRNN)

双向RNN和深度RNN是构建强大序列模型的有效方法。下图是一个命名实体识别任务的RNN模型:

BRNN架构

BRNN的缺点是在处理之前需要整个序列。

深度RNN

深度RNN可帮助构建强大的序列模型。

3层深度RNN图示。

RNN的反向传播

自然语言处理与词表征

词表征在自然语言处理中是必不可少的部分,从早期的One-Hot编码到现在流行的词嵌入,研究者一直在寻找高效的词表征方法。MahmoudBadry在笔记中详细记录了词嵌入方法,包括用于命名实体识别、人脸识别和翻译系统的词嵌入等,下图展示了用于人脸识别的词嵌入结构:

在这种词嵌入方法中,我们可以将不同的人脸编码压缩为一个向量,进而根据该向量比较是不是同一张脸。

一般来说,Word2Vec方法由两部分组成。首先是将高维one-hot形式表示的单词映射成低维向量。例如将10,000列的矩阵转换为300列的矩阵,这一过程被称为词嵌入。第二个目标是在保留单词上下文的同时,从一定程度上保留其意义。Word2Vec实现这两个目标的方法有skip-gram和CBOW等,skip-gram会输入一个词,然后尝试估计其它词出现在该词附近的概率。还有一种与此相反的被称为连续词袋模型(ContinuousBagOfWords,CBOW),它将一些上下文词语作为输入,并通过评估概率找出最适合(概率最大)该上下文的词。

对于连续词袋模型而言,Mikolov等人运用目标词前面和后面的n个词来同时预测这个词。他们称这个模型为连续的词袋(CBOW),因为它用连续空间来表示词,而且这些词的先后顺序并不重要。CBOW可以看作一个具有先知的语言模型,而skip-gram模型则完全改变将语言模型的目标:它不像CBOW一样从周围的词预测中间的词;恰恰相反,它用中心语去预测周围的词。

MahmoudBadry还展示了另一种学习词嵌入的方法GloVe,该方法虽然不像语言模型那样使用广泛,但它精简的结构非常容易理解:

序列模型与注意力机制

最后一部分作者着重介绍了注意力机制,包括编码器解码器架构的缺陷和引入注意力机制的解决方案。下图展示了使用语境向量C或注意力权重编码信息的过程。

THE END
1.InstallationsupportforDeepLearningFrameworksfortheOnce you've installed the deep learning libraries, you can use the Deep Learning Tools to train geospatial deep learning models. You can also find out more about the capabilities of the arcgis.learn module which provides specialized access to many geospatial models beyond those directly available https://github.com/Esri/deep-learning-frameworks?tab=readme-ov-file
2.DeepLearning8元学习Few-Shot Learning和传统的监督学习有所不同,它的目标不是让计算机识别训练集里的图片,并且泛化到测试集,而是让计算机自己学会学习,我拿一个很大是数据集来训练神经网络,学习的目的不是让计算机知道什么是大象什么是老虎,不是让计算机识别没见过的大象和老虎,学习的目的是让计算机理解事物的异同,学会区分不同的事物,https://blog.csdn.net/zzqingyun/article/details/136940636
3.深度学习概述Learn 发现 产品文档 开发语言 主题 登录 搜索 ML.NET 概述 模型生成器和 CLI API 新增功能 教程 概念 ML.NET 任务 数据转换 算法 模型评估指标 提高模型准确性 操作指南 参考 资源 下载PDF 使用英语阅读 保存 添加到集合 添加到计划 通过 Facebookx.com 共享LinkedIn电子邮件 https://learn.microsoft.com/zh-cn/dotnet/machine-learning/deep-learning-overview
4.DeepLearning.AILearn and build diffusion models from the ground up, understanding each step. Learn about diffusion models in use today and implement algorithms to speed up sampling. Deep LearningDiffusion ModelsGenAI ApplicationsGenerative Models Building Systems with the ChatGPT API https://learn.deeplearning.ai/
5.DiveintoDeepLearning—DiveintoDeepLearning1.0.3Interactive deep learning book with code, math, and discussions Implemented with PyTorch, NumPy/MXNet, JAX, and TensorFlow Adopted at 500 universities from 70 countriesFollow @D2L_ai [Feb 2023] The book is forthcoming on Cambridge University Press (order). The Chinese version is the best https://www.d2l.ai/
6.DeepLearning[Book]Dive into machine learning concepts in general, as well as deep learning in particular Understand how deep networks evolved from neural network fundamentals Explore the major deep network architectures, including Convolutional and Recurrent Learn how to map specific deep networks to the right problem https://www.oreilly.com/library/view/deep-learning/9781491924570/
7.DeeplearningMathOnlineTomCircle1. Learn Everything in 《Deep Learning》: Math (eg. Gradient Descent – by French GrandMaster Cauchy 1847), Linear Algebra (eg. Matrix, Eigen-decomposition), Probability (eg. Bayesian, etc), Key Deep Learning techniques. Note: Available at Singapore National Library (LKC Reference #006.31).https://tomcircle.wordpress.com/tag/deeplearning/
8.DEEPLEARNING·DeepLearningINSTRUCTORSYann LeCun & Alfredo Canziani LECTURESWednesday 9:30 – 11:30, Zoom PRACTICATuesdays 9:30 – 10:30, Zoom FORUMr/NYU_DeepLearning DISCORDNYU DL MATERIAL2021 repo 2021 edition disclaimer Check the repo’sREADME.mdand learn about: https://cds.nyu.edu/deep-learning/
9.EclipseDeeplearning4jTheEclipseFoundationThe goal of theEclipse Deeplearning4jproject is simple: To enable artificial intelligence (AI) applications to run everywhere, for everyone. We’reThe media picks up on researchers’ ideas and the industry gets left behind. Most of the information people learn about AI through the media ishttps://www.eclipse.org/community/eclipse_newsletter/2019/december/2.php
10.综合DeepLearning的学习实践系列1基础介绍里面还有Hinton自己讲解Deep Belief Nets的视频:http://videolectures.net/jul09_hinton_deeplearn/ 这里https://developer.huawei.com/consumer/cn/forum/topic/0201113529329500003
11.RegressionandClassificationCourse(DeepLearning.AI)Learn the fundamentals of machine learning with Andrew Ng in this updated 3-course Specialization by DeepLearning.AI and Stanford Online. Build and train models using Python, NumPy, and scikit-learn for real-world AI applications. Ideal for beginners.https://www.coursera.org/learn/machine-learning
12.DeepLearningforNLPdeep learning is to explore how computers can take advantage of data to develop features and representations appropriate for complex interpretation learn structured tree outputs as well as vector representations for phrases and sentences. We cover both equations as well as applications. We showhttps://nlp.stanford.edu/courses/NAACL2013
13.deeplearningfromscratch斋藤康毅Python Machine Learning Machine Learning And Deep Learning From Scratch Illustrated With Python, Scikit-Learn, Keras, Theano And Tensorflow by Moubachir Madani Fadoul (z-lib.org).pdf 上传者:weixin_39397839时间:2020-06-22 Linux_From_Scratch.rar_From Scratch_linux_linux from scratch_scr https://www.iteye.com/resource/mahoon411-14055605
14.hands?Explore various possibilities with deep learning and gain amazing insights from data using Google's brainchild-- TensorFlow ?Want to learn what more can be done with deep learning? Explore various neural networks with the help of this comprehensive guide https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_5925473_1.html
15.CrazyStoneDeepLearningCrazyStone DeepLearning 关注 3 厂商 Unbalance Corporation 游戏介绍 上次更新于2023/06/30 策略 简介The strongest, the best Go app in the world based on Crazy Stone employing Deep Learning technology ! New Features!! -IAGA Rating Certification Tests Challenge the Dan/Kyu tests provided by the https://www.taptap.cn/app/68160
16.Deeplearning:Dropout,DropConnect我使用的是Matlab的Deeplearning 的工具包https://github.com/rasmusbergpalm/DeepLearnToolbox, 我只使用的是简单地单隐层的感知机,数据是MNIST手写数字识别,该数据一共有60000个训练样本和10000个测试样本。图片大小是28 * 28,网络结构的层数是[784 512 10],100次迭代,minibatch大小是100,我做了在没有dropouthttps://www.jianshu.com/p/b349c4c82da3
17.UsingdeeplearningsurrogatestoimprovenewproductInstead, researchers have proposed that deep learning models could be trained using real-world data from existing products in the field. That could transform the way companies improve their products, with design and optimization tools that learn automatically from the performance of previous product https://www.mckinsey.com/capabilities/operations/our-insights/deep-learning-in-product-design
18.吴恩达深度学习编程练习–AndrewNg’sDeepLearning仅仅是为记录学习吴恩达老师 Deep Learning 课程,会不断更新。 第门课《神经网络和深度学习》 第周练习题答案 1. Basics with Numpy (optional assignment) importmath import numpy as np ### Building basic functions with numpy ## 1.1 - sigmoid function, np.exp() # GRADED FUNCTION: basic_https://aiti.fun/475.html
19.专知继Pytorch教程后,我们推出面向Java程序员的深度学习教程DeepLearning4J。Deeplearning4j的案例和资料很少,官方的doc文件也非常简陋,基本上所有的类和函数的都没有解释。为此,我们推出来自中科院自动化所专知小组博士生Hujun与Sanglei创作的-分布式Java开源深度学习框架Deeplearning4j学习教程,第六篇,用卷积神经网络CNN进行https://cloud.tencent.com/developer/article/1089085
20.StartHerewithMachineLearningDeep Learning (Keras) Deep learning is a fascinating and powerful field. State-of-the-art results are coming from the field of deep learning and it is a sub-field of machine learning that cannot be ignored. Here’s how to get started with deep learning: http://machinelearningmastery.com/start-here/
21.DeeplearningforirregularlyandregularlymissingdataDeep learning (DL) is a powerful tool for mining features from data, which can theoretically avoid assumptions (e.g., linear events) constraining conventional interpolation methods. Motivated by this and inspired by image-to-image translation, we applied DL to irregularly and regularly missing datahttps://www.nature.com/articles/s41598-020-59801-x
22.[DeeplearningAI笔记]第三章2.72.8多任务学习/迁移学习[DeeplearningAI笔记]第三章2.7-2.8多任务学习/迁移学习 觉得有用的话,欢迎一起讨论相互学习~ 吴恩达老师课程原地址 2.7 迁移学习 Transfer Learninig 神经网络可以从一个任务中习得知识,并将这些知识应用到另一个独立的任务中.例如:你已经训练好一个能够识别猫的系统,你利用这些知识或者这些知识的部分去完成更好的https://www.cnblogs.com/cloud-ken/p/7794250.html
23.机器学习MachineLearning集智百科多线性子空间学习算法 Multilinear Subspace Learning Algorithms旨在直接从多维数据的张量表示中学习低维的表示,而不是将它们重塑为高维向量。[41]深度学习算法 Deep Learning Algorithms发现了多层次的表示,或者是一个特征层次结构,具有更高层次、更抽象的特征,这些特征定义为(或可以生成)低层次的特征。有人认为,一个https://wiki.swarma.org/index.php/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0_Machine_Learning