吴恩达深度学习课后编程题(吴恩达deeplearning.ai五项课程完整笔记了解一下)
吴恩达深度学习课后编程题(吴恩达deeplearning.ai五项课程完整笔记了解一下)
2024-09-29 03:09:49  作者:摘下了星星  网址:https://m.xinb2b.cn/life/jxi444549.html

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

项目地址:https://github.com/mbadry1/DeepLearning.ai-Summary

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

Deeplearning.ai 课程开课以来,一直受到大家的关注,也有众多读者积极的参与到学习中。机器之心在这段时间内也介绍了多篇该系列课程的学习笔记,以下为前四课的笔记与学习心得:

吴恩达 Deeplearning.ai 课程学习全体验:深度学习必备课程(已获证书)

入门 | 吴恩达 Deeplearning.ai 全部课程学习心得分享

资源 | 吴恩达 deeplearning.ai 第四课学习心得:卷积神经网络与计算机视觉

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

了解如何构建和训练循环神经网络(RNN)及其常用变体,如 GRU 和 LSTM。

使用序列模型处理自然语言问题,如文本合成。

将序列模型应用到音频应用中,如语音识别和音乐合成。

这是 Deep Learning Specialization 课程的第五课,也是最后一课。

适用人群:

学完第一、二、四课的学习者。同样推荐大家学习第三课。

已经对神经网络(包括 CNN)具备深厚理解,并想学习如何开发循环神经网络的人。

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

序列模型

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

循环神经网络模型(RNN)

循环神经网络出现于 20 世纪 80 年代,最近由于网络设计的推进和图形处理单元上计算能力的提升,循环神经网络变得越来越流行。这种网络尤其是对序列数据非常有用,因为每个神经元或者单元能用它的内部存储来保存之前输入的相关信息。在语言的案例中,「I had washed my house」这句话的意思与「I had my house washed」大不相同。这就能让网络获取对该表达更深的理解。

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


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


简化版 RNN 表示法。

沿时间的反向传播(BPTT)


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

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


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


在上图中沿时间反向传播中,激活值 a 从一个序列元素向另一个元素传播。

RNN 的类型


RNN 的不同类型。

RNN 的梯度消失

「梯度消失」指的是随着网络深度增加,参数的梯度范数指数式减小的现象。梯度很小,意味着参数的变化很缓慢,从而使得学习过程停滞。循环神经网络在语言建模等序列问题上有非常强大的力量,但同时它也存在很严重的梯度消失问题。因此像 LSTM 和 GRU 等基于门控的 RNN 有非常大的潜力,它们使用门控机制保留或遗忘前面时间步的信息,并形成记忆以提供给当前的计算过程。

门控循环单元(GRU)

GRU 旨在解决标准 RNN 中出现的梯度消失问题。GRU 背后的原理与 LSTM 非常相似,即用门控机制控制输入、记忆等信息而在当前时间步做出预测,表达式如下:


GRU 有两个有两个门,即一个重置门(reset gate)和一个更新门(update gate)。从直观上来说,重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。如果我们将重置门设置为 1,更新门设置为 0,那么我们将再次获得标准 RNN 模型。使用门控机制学习长期依赖关系的基本思想和 LSTM 一致,但还是有一些关键区别:

GRU 有两个门(重置门与更新门),而 LSTM 有三个门(输入门、遗忘门和输出门)。

GRU 并不会控制并保留内部记忆(c_t),且没有 LSTM 中的输出门。

LSTM 中的输入与遗忘门对应于 GRU 的更新门,重置门直接作用于前面的隐藏状态。

在计算输出时并不应用二阶非线性。

为了解决标准 RNN 的梯度消失问题,GRU 使用了更新门(update gate)与重置门(reset gate)。基本上,这两个门控向量决定了哪些信息最终能作为门控循环单元的输出。这两个门控机制的特殊之处在于,它们能够保存长期序列中的信息,且不会随时间而清除或因为与预测不相关而移除。


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

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


门控循环单元

LSTM

使用传统的通过时间的反向传播(BPTT)或实时循环学习(RTTL/Real Time Recurrent Learning),在时间中反向流动的误差信号往往会爆炸(explode)或消失(vanish)。但 LSTM 可以通过遗忘和保留记忆的机制减少这些问题。

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 的反向传播

在现代深度学习框架中,你只需实现前向传播,框架会执行反向传播,因此大部分机器学习工程师不需要担心反向传播。但是,如果你是微积分专家,想了解 RNN 中反向传播的细节,可参考该 notebook:https://www.coursera.org/learn/nlp-sequence-models/notebook/X20PE/building-a-recurrent-neural-network-step-by-step。

自然语言处理与词表征

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


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

词嵌入有非常多的优秀属性,例如给定一张词嵌入表。该笔记用案例来解释词嵌入的语义相近关系,如下图所示,男性变化到女性与国王变化到女王的反向在嵌入空间内是相同的,这意味着词嵌入捕捉到了词与词之间的语义相关性。


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

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

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


序列模型与注意力机制

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


其实当我们翻译一个句子时,会尤其关注于正在翻译的单词。神经网络可以通过注意力来实现同样的行为,即关注所收到信息子集的一部分。

我们通常是使用基于上下文的注意力生成注意力分布。参与的 RNN 会生成一个描述它想关注内容的查询。每一个条目和这个查询做点乘来产生一个分数,这个分数描述这个条目与查询匹配程度。这些分数被输入一个 softmax 来生成注意力分布。

  • 成都为何叫天府之国(成都为什么叫天府之国)
  • 2024-09-29成都为什么叫天府之国成都被称为天府之国是因为它的水患得到了治理,就成为了一个土壤肥沃的地方,有了天府之国的美称天府原是一个官职,主要掌管人间珍宝在修建了都江堰水利工程之后,有了成都平原的富庶,“水旱从人,不知饥馑”,成了。
  • 绝对值是什么意思(绝对值介绍)
  • 2024-09-29绝对值介绍绝对值是指一个数在数轴上所对应点到原点的距离,用“||”来表示|b-a|或|a-b|表示数轴上表示a的点和表示b的点的距离在数学中,绝对值或模数|x|的非负值,而不考虑其符号,即|x|=x表示正x,|。
  • 二月 节日(你肯定不知道的节日)
  • 2024-09-29你肯定不知道的节日全攀大最青春、最洋气、最活泼的微信公众号PANZHIHUAUNIVERSITY校讯青声风采印象话题随变预告二月悄然来临这意味着好多节日也向我们走来热热闹闹的春节,和和美美的元宵等那攀青你知道今天是什么。
  • 宴客版大拌菜的家常做法(宴客版大拌菜在家怎么做)
  • 2024-09-29宴客版大拌菜在家怎么做做法一:(1)准备黄瓜1根胡萝卜1根白菜心4片甜红椒半个五香干豆腐4张粉条适量牛肉馅适量料酒、酱油适量香油、花椒粉、香菜适量(2)将黄瓜(1根),胡萝卜(1根),白菜心(4片),甜红椒(半个),五香干。
  • 灵山县属于哪个市
  • 2024-09-29灵山县属于哪个市灵山县属于广西壮族自治区钦州市,位于广西南部,钦州市东北部,全县约165万人口,全县辖17个镇和2个街道,下设村居委会358个,社区居委会53个,行政区划面积3558平方千米是著名的“中国荔枝之乡、中。
  • 余罪 好看不(男人可以没有颜)
  • 2024-09-29男人可以没有颜不要问我为什么《余罪》来了出来这么长时间了,现在才给它写剧评妈的,我也是刚刚才知道原来还有这么一部良心网剧,连着两天不眠不休,把第一季到第二季一口气全部看完了不过,好饭不怕晚,好文不怕迟你们关注这个头。
  • 松茸能不能炒(80的人不知道松茸的功效与作用及食用方法)
  • 2024-09-2980的人不知道松茸的功效与作用及食用方法本期《美食天下》栏目将随机抽取5名评论区留言的网友,赠送500g松茸松茸炒鲜虾的做法步骤1.先将鲜松茸放在流水之下冲洗,用棉布或者抹布轻轻将表面的泥土刮掉2.将松茸切片3.切虾4.将所有调料,和松茸一。
  • 郭珺个人写真(超短裙紧身衣被吐槽像夜店女郎)
  • 2024-09-29超短裙紧身衣被吐槽像夜店女郎导语:曾和孙杨传绯闻,长腿短裙丝袜紧身衣,才貌双全的郭珺应该被指责吗?“这女主持穿的跟夜店上班似的”微博某大V近期突然点名某女主持,由于他的粉丝数量多,影响力大,所以就这条动态刚一发出就引来了大量网友。
  • iphone微信字体如何变大(面板与字体颜色)
  • 2024-09-29面板与字体颜色在往期文章中曾为大家分享过修改微信主题气泡,修改微信提示音的教程,小伙伴们对于修改微信是情有独钟大家都很喜欢,如果您错过了修改教程,想要进一步了解,可以阅读往期内容今天要为大家分享的是iPhone微信。
  • 关于岁月静好的唯美句子(感叹生活平安宁静的短句分享)
  • 2024-09-29感叹生活平安宁静的短句分享沉伦锦年只如初见,岁月静好生生欢颜素色如锦待到时光静好,与你相忘于天涯此时、彼时,阳光微淡,岁月静好,安然若素愿琴瑟在御,岁月静好几分厚重,些许惆怅一起老去的日子里,因为朋友的存在而泛着七彩的光一起走。
  • 一生一世一双人弥补今生遗憾(一生一世一双人)
  • 2024-09-29一生一世一双人1,若我白发苍苍,容颜迟暮,你会不会,依旧如此,牵我双手,倾世温柔2,人的一生会遇到两个人,一个惊艳了时光,一个温柔了岁月3,心微动,奈何情已远,物也非,人也非,事事非,往日不可重4,时间很短,天涯很。
  • 一句简单晒幸福的句子(一句简单晒幸福的句子有什么)
  • 2024-09-29一句简单晒幸福的句子有什么幸福就是无论何时何地,那一个人的心永远与你贴在一起幸福只是一种感觉,只要用心感受,它时刻萦绕在我们身边我能想到最甜蜜的事,就是在喜欢你的每一天里,被你喜欢如果我没有遇见你,我的心不会变得这么窄,窄的只。