DeepLearning.ai学习笔记(一)神经网络和深度学习--Week4深层神经网络

简介: 一、深层神经网络深层神经网络的符号与浅层的不同,记录如下:用\(L\)表示层数,该神经网络\(L=4\)\(n^{[l]}\)表示第\(l\)层的神经元的数量,例如\(n^{[1]}=n^{[2]}=5,n^{[3]}=3,n^{[4]}=1\)\(a^{[l]}\)表示第\(l...

一、深层神经网络

深层神经网络的符号与浅层的不同,记录如下:

img_679d5288adede0a19866e56414e9e746.png

  • \(L\)表示层数,该神经网络\(L=4\)
  • \(n^{[l]}\)表示第\(l\)层的神经元的数量,例如\(n^{[1]}=n^{[2]}=5,n^{[3]}=3,n^{[4]}=1\)
  • \(a^{[l]}\)表示第\(l\)层中的激活函数,\(a^{[l]}=g^{[l]}(z^{[l]})\)

二、前向和反向传播

1. 第\(l\)层的前向传播

输入为 \(a^{[l-1]}\)
输出为 \(a^{[l]}\), cache(\(z^{[l]}\))

矢量化表示:
\[Z^{[l]}=W^{[l]}·A^{[l-1]}+b^{[l]}\]
\[A^{[l]}=g^{[l]}(Z^{[l]})\]

2. 第\(l\)层的反向传播

输入为 \(da^{[l]}\)
输出为 \(da^{[l-1]},dW^{[l]},db^{[l]}\)

计算细节:
\[dz^{[l]}=da^{[l]}*g^{[l]'}(z^{[l]})\]
\[dw^{[l]}=dz^{[l]}*a^{[l-1]}\]
\[db^{[l]}=dz^{[l]}\]
\[da^{[l-1]}=w^{[l]^T}·dz^{[l]}\]
\[dz^{[l]}=w^{[l+1]^T}dz^{[l+1]}*g^{[l]'}(z^{[l]})\]

矢量化表示:
\[dZ^{[l]}=dA^{[l]}*g^{[l]'}(z^{[l]})\]
\[dw^{[l]}=\frac{1}{m}dz^{[l]}·A^{[l-1]^T}\]
\[db^{[l]}=\frac{1}{m}np.sum(dz^{[l]},axis=1,keepdim=True)\]
\[dA^{[l-1]}=w^{[l]^T}·dz^{[l]}\]

3. 总结

前向传播示例

img_c7252797ddfc84c5d62dd26495625292.png

反向传播

img_c3def0befe7b0ed65c0d23eb84796e13.png
更清晰的表示:

img_fbd66aebb71987a1cd48418947df764a.png

三、深层网络中的前向传播

img_cb1fd92ce511a9b52f7e4a76d916df0b.png

四、核对矩阵的维数

这节的内容主要是告诉我们如何知道自己在设计神经网络模型的时候各个参数的维度是否正确的方法。其实我自己在写代码的时候都得这样做才能有信心继续往下敲键盘,2333。

img_679d5288adede0a19866e56414e9e746.png
还是以这个神经网络为例,各层神经网络节点数为\(n^{[0]}=3,n^{[1]}=n^{[2]}=5,n^{[3]}=3,n^{[4]}=1\)

先确定\(W^{[1]}\)的维度:
已知\(Z^{[1]}=W^{[1]}·X+b^{[1]}\),很容易知道\(Z^{[1]}∈R^{5×1},X∈R^{3×1}\),\(b^{[1]}\)其实不用计算就知道其维度与\(Z\)是相同的,即\(b^{[1]}∈R^{5×1}\)。根据矩阵内积计算公式可以确定\(W^{[1]}∈R^{5×3}\)
其他层同理,不再赘述。

五、为什么使用深层表示

为什么要使用深层表示?

This is a good question.
下面就从直观上来理解深层神经网络。

img_56bfa7eb9753fd7673179e840bd14068.png
如上图所示是一个人脸识别的过程,具体的实现步骤如下:

  • 1.通过深层神经网络首先会选取一些边缘信息,例如脸形,眼框,总之是一些边框之类的信息(我自己的理解是之所以先找出边缘信息是为了将要观察的事物与周围环境分割开来),这也就是第一层的作用。

  • 2.找到边缘信息后,开始放大,将信息聚合在一起。例如找到眼睛轮廓信息后,通过往上一层汇聚从而得到眼睛的信息;同理通过汇聚脸的轮廓信息得到脸颊信息等等

  • 3.在第二步的基础上将各个局部信息(眼睛、眉毛……)汇聚成一张人脸,最终达到人脸识别的效果。

六、搭建深层神经网络块

img_0ab7f203496eb1a100478db5240c5068.png
上图表示单个神经元的前向和反向传播算法过程。

  • 前向
    输入\(a^{[l-1]}\),经过计算\(g^{[l]}(w^{[l]}·a^{[l-1]}+b^{[l]})\)得到\(a^{[l]}\)

  • 反向
    计算\(da^{[l]}\),然后反向作为输入,经过一系列微分运算得到\(dw^{[l]},db^{[l]}\)(用来更新权重和偏差),以及上一层的\(da^{[l-1]}\)

推广到整个深层神经网络就如下图所示:

img_36562d5d40b5ac0ea080f8008dc86703.png

祭上神图:

img_4c267f329c42fac366ccbc5b7881bce0.png

七、参数 vs 超参数

  • 参数
    常见的参数即为\(W^{[1]},b^{[1]},W^{[2]},b^{[2]}……\)

  • 超参数
    • learning_rate: \(α\)
    • iterations(迭代次数)
    • hidden layer (隐藏层数量\(L\))
    • hidden units (隐藏层神经元数量\(n^{[l]}\))
    • 激活函数的选择
    • minibatch size
    • 几种正则化的方法
    • momentum(动力、动量)后面会提到

八、这和大脑有什么关系

主要就是说神经网络和人的大脑运行机理貌似很相似,blabla。。。







MARSGGBO原创





2017-9-2



目录
相关文章
|
8天前
|
机器学习/深度学习 算法 PyTorch
【动手学深度学习】深入浅出深度学习之线性神经网络
【动手学深度学习】深入浅出深度学习之线性神经网络
53 9
|
1天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
|
2天前
|
机器学习/深度学习 API 算法框架/工具
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言深度学习:用keras神经网络回归模型预测时间序列数据
13 0
|
8天前
|
机器学习/深度学习 自然语言处理 算法
|
8天前
|
机器学习/深度学习 API 语音技术
|
10天前
|
机器学习/深度学习 监控 安全
智能化视野下的守卫者:基于深度学习的图像识别技术在智能监控领域的革新应用
【4月更文挑战第9天】 随着人工智能技术的飞速发展,深度学习已经成为了推动计算机视觉进步的重要力量。尤其在智能监控领域,基于深度学习的图像识别技术正逐步转变着传统监控系统的功能与效率。本文旨在探讨深度学习技术如何赋能智能监控,提高对场景理解的准确性,增强异常行为检测的能力,并讨论其在实际部署中所面临的挑战和解决方案。通过深入分析,我们揭示了深度学习在智能监控中的应用不仅优化了安全防范体系,也为城市管理和公共安全提供了有力的技术支持。
|
10天前
|
机器学习/深度学习 算法 数据处理
深度学习在图像识别中的创新应用
【4月更文挑战第9天】 随着人工智能技术的飞速发展,深度学习已成为推动计算机视觉领域进步的关键技术之一。特别是在图像识别任务中,深度学习模型已经展现出超越传统算法的性能。本文将深入探讨深度学习在图像识别领域的最新进展,包括卷积神经网络(CNN)的变体、数据增强技术以及迁移学习等策略。通过对这些技术的综合运用,我们能够实现对复杂图像数据的高效识别和分类,进一步拓展了深度学习在实际应用中的可能性。
12 1
|
10天前
|
机器学习/深度学习 人工智能 算法
深度学习在医学影像诊断中的应用与挑战
传统医学影像诊断一直是医学领域的重要组成部分,但其依赖于医生的经验和技能,存在着诊断准确性不高和效率低下的问题。近年来,随着深度学习技术的发展,越来越多的研究表明,深度学习在医学影像诊断中具有巨大的潜力。本文将探讨深度学习在医学影像诊断中的应用现状、挑战和未来发展趋势。
15 0
|
11天前
|
机器学习/深度学习 人工智能 算法
深度学习在图像识别中的应用与挑战
【4月更文挑战第8天】 随着人工智能技术的飞速发展,深度学习已经成为了计算机视觉领域的核心动力。本文聚焦于深度学习技术在图像识别任务中的运用,探讨了卷积神经网络(CNN)的基本原理、关键结构和训练技巧,并通过实验分析展示了其在处理复杂图像数据时的强大能力。同时,文章也指出了当前深度学习方法面临的主要挑战,如数据偏差、模型泛化能力和计算资源消耗等,并对未来的发展方向进行了展望。
|
3天前
|
机器学习/深度学习 计算机视觉 异构计算
深度学习在图像识别中的应用与挑战
【4月更文挑战第16天】 随着人工智能技术的飞速发展,深度学习作为其核心技术之一,在图像识别领域取得了显著的成果。本文将探讨深度学习在图像识别中的应用,分析其优势和面临的挑战,并提出相应的解决方案。通过对现有技术的研究和实践,我们旨在为读者提供一个全面了解深度学习在图像识别领域的应用现状和未来发展趋势的视角。

热门文章

最新文章