吴恩达《深度学习》第一门课(3)浅层神经网络

简介: 3.1神经网络概述(1)神经网络每个单元相当于一个逻辑回归,神经网络由逻辑回归的堆叠起来。下图是网络结构:针对网络结构进行计算:1.第一层的正向传播2.第一层的反向传播3.第二层的反向传播(正向只要把微分符号去掉即可)3.

3.1神经网络概述

(1)神经网络每个单元相当于一个逻辑回归,神经网络由逻辑回归的堆叠起来。下图是网络结构:

针对网络结构进行计算:

1.第一层的正向传播

2.第一层的反向传播

3.第二层的反向传播(正向只要把微分符号去掉即可)

3.2神经网络的表示

(1)神经网络各层分别较输入层、掩藏层和输出层,其中说一个网络有几层时一般不包括输入层,如下图是一个两层的网络:

(2)a[0]chang也常用来表示输入特征,a[1]b表示第一层的输出,如第一层(不算输入层)有四个神经元,其输出为(用a表示是因为activation激活函数的缩写):

(3)关于W[m],b[m]是和第m层输出有关的系数,W的维度(第m层单元数,上一层单元数),b的维度为(第m层单元数,1)。

3.3计算一个神经元网络的输出

(1)神经结构如下:

 

(2)每一个神经元做的计算:

(2)向量化表示下面四个式子:

(3)一个输入样本,神经网络的计算

3.4多样本向量化

(1)多样本的计算示意图(a[2](1)前面的2表示第二层,后面的1表示第一个样本):

(2)向量化:

(3)以矩阵A为例,从水平上看,每一列对应着不同的训练样本;从垂直方向看,每一行对应着同一层的不同神经元。

3.5向量化实现的解释

(1)矩阵乘列向量得到列向量:

(2)上面式子中省略了b[1],b[1]的维度与Z[1]相同,再加上python具有广播的功能,所以可以使得向量b与每一列相加。

3.6激活函数

(1)sigmoid激活函数:除了输出层是一个二分类问题基本不会用它。存在梯度消失问题,其函数表达式如下:

(2)tanh激活函数:tanh是非常优秀的,可以中心化数据(-1到1),几乎适合所以场合。存在梯度消失问题,其函数表达式如下:

(3)ReLU激活函数:最常用的默认函数,如果不确定用哪个激活函数,就是用ReLU(函数表达式为a=max(0,z))或则Leaky ReLU(函数表达式为a=max(0.01z,z),0.01参数可改)。ReLU在负半区梯度为零,产生所谓的稀疏性,但由于有足够多的掩藏层是z大于0,所以学习过程还是非常的快。

(4)下面的四种激活函数的图像:

3.7为什么需要非线性激活函数

(1)如果没有非线性激活函数,那么无论网络有多少层,输出始终是输入的线性组合,与一层网络毫无区别。举例如下:

(2)有时候输出可能会用到线性激活函数。

3.8激活函数的导数

 

3.9神经网络的梯度下降

(1)正向传播四个式子:

(2)反向传播六个式子(下面公式3.3.2中应该是dz[2]):

3.10(选修)直观理解反向传播

(1)主要推导过程:

3.11随机初始化

(1)W不能初始化为零否则一层中每个单元都做相同的计算,和一个单元没什么区别,b可以初始化为零。可按照如下方式初始化(0.01的作用是时输出不会太大,太大由由sigmoid、tanh激活函数是将会导致梯度特别小):

相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
8天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
6天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
29 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
9天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
26 0
|
12天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
23 0
|
13天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
18天前
|
机器学习/深度学习 自然语言处理 TensorFlow
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第26天】在这篇文章中,我们将深入探讨卷积神经网络(CNN)的基本原理、结构和应用。CNN是深度学习领域的一个重要分支,广泛应用于图像识别、语音处理等领域。我们将通过代码示例和实际应用案例,帮助读者更好地理解CNN的概念和应用。
|
21天前
|
机器学习/深度学习 算法 计算机视觉
深度学习与生活:如何利用卷积神经网络识别日常物品
【10月更文挑战第24天】在这篇文章中,我们将探索深度学习如何从理论走向实践,特别是卷积神经网络(CNN)在图像识别中的应用。通过一个简单的示例,我们将了解如何使用CNN来识别日常生活中的物体,如水果和家具。这不仅是对深度学习概念的一次直观体验,也是对技术如何融入日常生活的一次深刻反思。文章将引导读者思考技术背后的哲理,以及它如何影响我们的生活和思维方式。
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。