第四周—深层神经网络

一、深层神经网络

神经网络符号:

输入数据层:layer0,不包括在层数中

n[l]:第l层包含的神经元数目

二、前向和反向传播

z[l] = w[l] * a[l-1] + b[l]

a[l] = g[l](z[l])

向量化:

Z[l] = W[l] * A[l-1] + b[l]

A[l] = g[l](Z[l])

第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] = dA[l] * g[l]‘(Z[l])

dW[l] = 1/m dZ[l] * A[l-1]T

db[l] = 1/m np.sum( dz[l] ,axis=1, keepdim=TRUE) 

dA[l-1]  = W[l]T * dZ[l]

时间: 2024-10-12 17:03:28

第四周—深层神经网络的相关文章

吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 4 - Key concepts on Deep Neural Networks(第四周 测验 – 深层神经网络)

Week 4 Quiz - Key concepts on Deep Neural Networks(第四周 测验 – 深层神经网络) \1. What is the "cache" used for in our implementation of forward propagation and backward propagation?(在实现前向传播和反向传播中使用的"cache"是什么?) [ ]It is used to cache the interme

第四周:Deep Neural Networks(深层神经网络)----------2.Programming Assignments: Building your Deep Neural Network: Step by Step

Building your Deep Neural Network: Step by Step Welcome to your third programming exercise of the deep learning specialization. You will implement all the building blocks of a neural network and use these building blocks in the next assignment to bui

【tensorflow:Google】四、深层神经网络

一.深度学习与深层神经网络 1.线性模型局限性 线性模型无论多少层,表达能力是一致的.可以通过激活函数实现非线性. 2.多层网络可以解决异或运算 二.损失函数定义 1.经典损失函数: 分类问题: 二分类:取0.5作为阈值 多分类:设置n个输出节点,每个对应该类的可能性.神经网络输出向量 ->概率分布:softmax. 两个向量的距离:交叉熵 - sigma  p_x log(q_x),其中p代表y,q代表yHat softmax: 最后加一层 y' = normed(e^y) reduce_me

深层神经网络常用方法

深度学习所示深层神经网络的代名词,重要特性:多层.非线性. 若只通过线性变换,任意层的神经网络模型与单层神经网络模型的表达能力没有任何区别,这是线性模型的局限性.对于线性可分的问题中,线性模型可解决,但在现实生活中,绝大部分的问题都是无法线性分割的.  感知机:单层神经网络.不能处理异或问题. 1.激活函数 将每一个神经元(神经网络的节点)的输出通过一个非线性函数便可使得整个神经网络的模型非线性化,这个非线性函数就是激活函数.  常用非线性激活函数:tf.nn.relu.tf.sigmoid.t

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

4.1深层神经网络 (1)到底是深层还是浅层是一个相对的概念,不必太纠结,以下是一个四层的深度神经网络: (2)一些符号定义: a[0]=x(输入层也叫做第0层) L=4:表示网络的层数 g:表示激活函数 第l层输出用a[l],最终的输出用a[L]表示 n[1]=5:表示第一层有五个神经元,第l层神经元个数用n[l]表示 4.2前向传播和反向传播 (1)前向传播:输入a[l-1],输出是a[l],缓存为z[l],步骤如下:(下面第一个式子应该是a[l-1]) 向量化: (2)反向传播:输入da[

深层神经网络框架的python实现

概述 本文demo非常适合入门AI与深度学习的同学,从最基础的知识讲起,只要有一点点的高等数学.统计学.矩阵的相关知识,相信大家完全可以看明白.程序的编写不借助任何第三方的深度学习库,从最底层写起. 第一,本文介绍了什么是神经网络,神经网络的特点,神经网络中的BP算法,神经网络的训练方法,神经网络的激活函数,损失函数.权值初始化方法.权值的正则化机制等一系列知识. 第二,在此基础上,使用最基础的python语法来实现一个神经网络框架,利用此神经网络框架,可以搭建自己的深度神经网络,同时大家也可以

第九节,改善深层神经网络:超参数调试、正则化以优化(下)

一 批标准化 (batch normalization)        部分内容来自: Batch Normalization 批标准化 深度学习Deep Learning(05):Batch Normalization(BN)批标准化 参考论文:http://jmlr.org/proceedings/papers/v37/ioffe15.pdf 2015年Google提出的Batch Normalization 训练深层的神经网络很复杂,因为训练时每一层输入的分布在变化,导致训练过程中的饱和,

改善深层神经网络:超参数调试、正则化及优化

第一周   深度学习的实用层面 1.1 训练.验证.测试集 应用机器学习是个高度迭代的过程:想法--->编码--->实验 (1)神经网络的层数 (2)隐含层神经元个数 (3)学习率 (4)激励函数 小规模数据:训练集70%,验证集30%   或者 训练60% 验证20% 测试20% 大规模数据:训练90%以上 注:可以没有测试集,验证集用于检测各种算法模型,选出最好的,验证集和测试集必须来源于同一分布 1.2 偏差.方差 人眼识别错误率(最优误差,贝叶斯误差)0%左右,训练集验证集来源于同一分

deeplearning.ai 改善深层神经网络 week3 听课笔记

这一周的主体是调参. 1. 超参数:No. 1最重要,No. 2其次,No. 3其次次. No. 1学习率α:最重要的参数.在log取值空间随机采样.例如取值范围是[0.001, 1],r = -4*np.random.rand(), α = 10r. No. 2 Momentum β:0.9是个不错的选择.在1-β的log取值空间随机采样.例如取值范围[0.9, 0.999],则1-β的取值空间[0.001, 0.1]. No. 2 各个隐含层的神经元数量:可以在线性取值空间随机采样. No.