吴恩达深度学习——深层神经网络

来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。

符号约定

对于该深层网络,有四层,包含三个隐藏层和一个输出层。

隐藏层中,第一层有五个单元、第二层有五个单元,第三层有三个单元。标记 l l l表示层数, l = 4 l=4 l=4。标记 n [ l ] n^{[l]} n[l]表示第几层, n [ 1 ] n^{[1]} n[1]是第一层,有5个节点; n [ 3 ] n^{[3]} n[3]是第三层,有3个节点。 n [ 4 ] n^{[4]} n[4]是输出层,只有一个节点。把输入层也叫 n [ 0 ] n^{[0]} n[0]有三个输入特征, n [ 0 ] = n x = 3 n^{[0]} = n_x=3 n[0]=nx=3。 a [ l ] a^{[l]} a[l]表示第 l l l层中的激活函数,表示为 a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l])。

计算矩阵的维度

对于该神经网络,有四个隐藏层和一个输出层。如何计算 W \mathbf{W} W与 b \mathbf{b} b应该开辟多大(维度)?

输入特征是x1,x2,是一个(2,1)的向量。对于第一个隐藏层,从神经网络中看到,输出了(3,1)的向量,由 z [ 1 ] = W [ 1 ] x + b [ 1 ] \mathbf{z}^{[1]}=\mathbf{W}^{[1]}\mathbf{x}+\mathbf{b}^{[1]} z[1]=W[1]x+b[1]代入向量维度,根据矩阵乘法矩阵加法,有(3,1)=(3,2)(2,1)+(3,1)刚好匹配维度。

层次 表达式 计算
n [ 1 ] n^{[1]} n[1] z [ 1 ] = W [ 1 ] x + b [ 1 ] \mathbf{z}^{[1]}=\mathbf{W}^{[1]}\mathbf{x}+\mathbf{b}^{[1]} z[1]=W[1]x+b[1] a [ 1 ] = g ( z [ 1 ] ) \mathbf{a}^{[1]}=g(\mathbf{z}^{[1]}) a[1]=g(z[1]) ( 3 , 1 ) = ( 3 , 2 ) ( 2 , 1 ) + ( 3 , 1 ) (3,1)=(3,2)(2,1)+(3,1) (3,1)=(3,2)(2,1)+(3,1)
n [ 2 ] n^{[2]} n[2] z [ 2 ] = W [ 2 ] a [ 1 ] + b [ 2 ] \mathbf{z}^{[2]}=\mathbf{W}^{[2]}\mathbf{a}^{[1]}+\mathbf{b}^{[2]} z[2]=W[2]a[1]+b[2] . . . ... ... ( 5 , 1 ) = ( 5 , 3 ) ( 3 , 1 ) + ( 5 , 1 ) (5,1)=(5,3)(3,1)+(5,1) (5,1)=(5,3)(3,1)+(5,1)
n [ 3 ] n^{[3]} n[3] z [ 3 ] = W [ 3 ] a [ 2 ] + b [ 3 ] \mathbf{z}^{[3]}=\mathbf{W}^{[3]}\mathbf{a}^{[2]}+\mathbf{b}^{[3]} z[3]=W[3]a[2]+b[3] . . . ... ... ( 4 , 1 ) = ( 4 , 5 ) ( 5 , 1 ) + ( 4 , 1 ) (4,1)=(4,5)(5,1)+(4,1) (4,1)=(4,5)(5,1)+(4,1)
n [ 4 ] n^{[4]} n[4] z [ 4 ] = W [ 4 ] a [ 3 ] + b [ 4 ] \mathbf{z}^{[4]}=\mathbf{W}^{[4]}\mathbf{a}^{[3]}+\mathbf{b}^{[4]} z[4]=W[4]a[3]+b[4] . . . ... ... ( 2 , 1 ) = ( 2 , 4 ) ( 4 , 1 ) + ( 2 , 1 ) (2,1)=(2,4)(4,1)+(2,1) (2,1)=(2,4)(4,1)+(2,1)
n [ 5 ] n^{[5]} n[5] z [ 5 ] = W [ 5 ] a [ 4 ] + b [ 5 ] \mathbf{z}^{[5]}=\mathbf{W}^{[5]}\mathbf{a}^{[4]}+\mathbf{b}^{[5]} z[5]=W[5]a[4]+b[5] . . . ... ... ( 1 , 1 ) = ( 1 , 2 ) ( 2 , 1 ) + ( 1 , 1 ) (1,1)=(1,2)(2,1)+(1,1) (1,1)=(1,2)(2,1)+(1,1)

W [ l ] : ( 本层神经元数量 , 上一层神经元数量 ) \mathbf{W}^{[l]}:(本层神经元数量, 上一层神经元数量) W[l]:(本层神经元数量,上一层神经元数量)

为什么使用深层表示

对于一张图片,想建立一个人脸识别系统。当输入一张脸部的照片,隐藏层第一层寻找脸部特征的边缘的方向,然后将边缘层的像素放在一起组成面部的不同部分,最后在将这些放在一起,识别或探测不同的人脸。

搭建神经网络块

参数和超参数

回顾这些公式 z = w x + b z=wx+b z=wx+b a = σ ( z ) a=\sigma(z) a=σ(z) J = − 1 n ∑ n i = 1 [ y i l o g ( y ^ i ) + ( 1 − y i ) l o g ( 1 − y ^ i ) ] J=−\frac{1}{n}\sum_{n}^{i=1} [y_ilog(\hat{y}_i)+(1−y_i)log(1−\hat{y}_i)] J=−n1n∑i=1[yilog(y^i)+(1−yi)log(1−y^i)]

有参数 w w w、 b b b。

在编程的时候,也会引入一些其他的参数,比如学习率 α \alpha α,迭代的次数、隐藏层层数、选用什么激活函数的问题...与 w w w和 b b b不同,这些参数需要自己去设置,被称为超参数,能够控制 w w w和 b b b。对于这些参数的设置是一个很经验的东西。

相关推荐
ccLianLian13 分钟前
深度学习·GFSS
深度学习
fakaifa1 小时前
【最新版】CRMEB Pro版v3.4系统源码全开源+PC端+uniapp前端+搭建教程
人工智能·小程序·uni-app·php·crmeb·源码下载·crmebpro
TuringAcademy5 小时前
AAAI爆款:目标检测新范式,模块化设计封神之作
论文阅读·人工智能·目标检测·论文笔记
The Open Group8 小时前
英特尔公司Darren Pulsipher 博士:以架构之力推动政府数字化转型
大数据·人工智能·架构
Ronin-Lotus8 小时前
深度学习篇---卷积核的权重
人工智能·深度学习
.银河系.8 小时前
8.18 机器学习-决策树(1)
人工智能·决策树·机器学习
敬往事一杯酒哈8 小时前
第7节 神经网络
人工智能·深度学习·神经网络
三掌柜6668 小时前
NVIDIA 技术沙龙探秘:聚焦 Physical AI 专场前沿技术
大数据·人工智能
2502_927161289 小时前
DAY 42 Grad-CAM与Hook函数
人工智能
Hello123网站9 小时前
Flowith-节点式GPT-4 驱动的AI生产力工具
人工智能·ai工具