深度学习笔记(5) 深层神经网络
深度学习笔记(5) 深层神经网络
- 1. 深层神经网络
- 2. 前向传播和反向传播
- 3. 核对矩阵的维数
- 4. 参数和超参数
- 5. 深度学习和大脑的关联性
1. 深层神经网络
当算神经网络的层数时,不算输入层,只算隐藏层和输出层
上图是一个四层的神经网络,有三个隐藏层
L 表示层数,上图:L = 4
输入层的索引为 “0”
第一个隐藏层 n[1] = 5, 表示有5个隐藏神经元
在 lll 层的输入a [l-1] 用 w[l],b[l] 作为权重得到z[l] ,z[l] 再用激活函数 g[l] 得到激活后结果 a[l] ,并且为lll +1层的输入
输入层,x 同样也是0层的激活函数,所以x = a[0] , n[0] = nx = 3
2. 前向传播和反向传播
前向传播的步骤:权重后的激活:输入 a[l-1] ,输出是 a[l] ,缓存为 z[l]
从实现的角度来说,可以缓存下w[l] 和b[l],这样更容易在不同的环节中调用函数
- 前向传播的步骤:
- 向量化实现过程:
前向传播需要喂入A[0] 也就是X,a[0] 对应于一个训练样本的输入特征
而A[0] 对应整个训练样本的输入特征
反向传播的步骤:导数的逆推:输入为dadada[l] ,输出为 dadada[l-1] ,dwdwdw[l] ,dbdbdb[l]
- 反向传播的步骤:
- 向量化实现过程:
3. 核对矩阵的维数
实现深度神经网络的时候,常用的检查代码是否有错的方法:拿出一张纸过一遍算法中矩阵的维数
w的维度:(下一层的维数,前一层的维数),即 w[l] : (n[l] ,n[l-1] )
但在实现的过程:w的维度:(前一层的维数,下一层的维数)即 w[l] : (n[l-1] , n[l]),因为会用w.T去运算b的维度:(下一层的维数,1),即 b[l] : (n[l] , 1)
z[l] ,a[l] 的维度: (n[l] , 1)
向量化后:
Z[l] 可以看成由每一个单独的Z[l] 叠加而得到,Z[l] = (z[l][1],z[l][2],z[l][3] ,…,z[l][m])
m为训练集大小,所以Z[l] 的维度不再是(n[l] ,1),而是(n[l] ,m)
相同的,A[l] :(n[l] ,m),A[0] = X = (n[l] ,m)
4. 参数和超参数
比如算法中的
learning rate aaa(学习率)
iterations(梯度下降法循环的数量)
L(隐藏层数目)
n[l](隐藏层单元数目)
choice of activation function(激活函数的选择)
都需要设置,这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数
之后也会介绍其他的超参数,如momentum、mini batch size、regularization parameters等等
寻找超参数的最优值:
走Idea—Code—Experiment—Idea这个循环
尝试各种不同的参数,实现模型并观察是否成功,然后再迭代
可能尝试不同的 aaa 并观察 损失函数J 这么变了,试试一组值,然后可能损失函数发生变化
这个 aaa 值会加快学习过程,并且收敛在更低的损失函数值上(箭头标识),就用这个 aaa 值了
5. 深度学习和大脑的关联性
一个神经网络的逻辑单元可以看成是对一个生物神经元的过度简化,但迄今为止连神经科学家都很难解释究竟一个神经元能做什么,它可能是极其复杂的;
它的一些功能可能真的类似logistic回归的运算,但单个神经元到底在做什么目前还没有人能够真正可以解释。
大脑中的神经元是怎么学习的,至今这仍是一个谜之过程。
参考:
《神经网络和深度学习》视频课程
相关推荐:
深度学习笔记(4) 浅层神经网络
深度学习笔记(3) 向量化逻辑回归
深度学习笔记(2) 神经网络基础
深度学习笔记(1) 深度学习简介
谢谢!
深度学习笔记(5) 深层神经网络相关推荐
- 深度学习笔记:卷积神经网络的可视化--卷积核本征模式
目录 1. 前言 2. 代码实验 2.1 加载模型 2.2 构造返回中间层激活输出的模型 2.3 目标函数 2.4 通过随机梯度上升最大化损失 2.5 生成滤波器模式可视化图像 2.6 将多维数组变换 ...
- 深度学习笔记:卷积神经网络的Tensorflow实现
文章出处:深度学习笔记11:利用numpy搭建一个卷积神经网络 免费视频课程:Hellobi Live | 从数据分析师到机器学习(深度学习)工程师的进阶之路 在上一讲中,我们学习了如何利用 nump ...
- 【深度学习笔记1】神经网络的搭建与简单应用
目录 推荐阅读 前言 神经网络与深度学习 使用Tensorflow搭建神经网络 环境搭建和导包遇到的问题: 问题1:Duplicate registrations for type 'optimize ...
- 吴恩达深度学习 | (12) 改善深层神经网络专项课程第三周学习笔记
课程视频 第三周PPT汇总 吴恩达深度学习专项课程共分为五个部分,本篇博客将介绍第二部分改善深层神经网络专项的第三周课程:超参数调试.Batch Normalization和深度学习框架. 目录 1. ...
- 1.3)深度学习笔记------浅层神经网络
目录 1)Neural Network Overview 2)Neural Network Representation 3)Computing a Neural Network's Output(重 ...
- 吴恩达【神经网络和深度学习】Week4——深层神经网络
文章目录 Deep Neural Network 1.Deep L-layer Neural Network 2.Forward Propagation in a Deep Network 3.Get ...
- 吴恩达Coursera深度学习课程 course1-week4 深层神经网络 作业
P0 前言 第一门课 : 神经网络与深度学习 第四周 : Deep Neural Networks(深层神经网络) 主要知识点 : 深度神经网络.DNN的前向和反向传播(Forward & B ...
- 吴恩达深度学习笔记- lesson4 卷积神经网络
文章目录 Week 1 卷积神经网络基础 4.1.1 计算机视觉(Computer vision) 4.1.2 边缘检测示例(Edge detection example) 4.1.3 更多边缘检测内 ...
- 吴恩达深度学习 —— 4.1 深层神经网络
什么是深度学习网络,我们已经学过了逻辑回归,并且见过了单隐层神经网络,下图是一个双隐层神经网络,以及一个五隐层的神经网络的例子. 我们说逻辑回归是一个浅层模型,浅层或是深层是一个程度的问题,要记住当我 ...
- 深度学习总结:深层神经网络(tensorflow实战)
tensorflow实战Google深度学习框架 人工智能.机器学习.深度学习关系图 人工智能:让计算机掌握人类看起来非常直观的常识,如自然语言理解.图像识别.语音识别等等 如何数字化表达现实世界中的 ...
最新文章
- 用户进程与内核进程通信netlink实例
- Docker之Dockerfile 指令详解
- wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)
- 第一百二十三期:免费在线制图神器!不上水印支持中文版,GitHub标星已破1万2
- (案例五)将数据保存在MongoDB中
- 支持js代码的博客有哪些?
- 电子围栏原理解析---原理
- 离开职场3年的宝妈,是该重回职场,还是自己创业呢?
- python dataframe去除重复项_python - Pandas DataFrame处理查找DataFrame中的重复项 - 堆栈内存溢出...
- C语言用0832输出正弦波,[求助]关于使用DAC0832输出正弦波的汇编算法【恢复】
- python解析本地HTML文件
- 基于DFA算法的敏感词过滤的go语言实现
- SpringMvc生成Excel和PDF
- 关于菜鸟的圆通电子面单打印
- 技术分享 | DNS解析不生效的原因及解决方法
- 身为一个SEO/SEM/运营专员,一天的工作是怎样的?
- MC服务器启动脚本写法
- 照片背景底色更换工具(思路简介及源码)
- EasyGBS对接宇视SDK,多次点击录像回放出现崩溃是什么原因?
- 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)
热门文章
- javascript 类继承
- Linux网络服务-Web Service之【apache的功能、安装、配置文件介绍以及实验实例】(三)...
- 阿里云服务器从购买,备案,安装部署中遇到的一些坑
- python tuple类型和list_Python 入门(四)List和Tuple类型
- 如何在Qt中使用自定义数据类型
- Java过滤器详细文档,简介,实例,应用
- Linux软件管理之yum
- linux基础:7、基础命令介绍(2)
- 图像算法移植到DSP及其优化步骤
- PHP中exec、system等函数调用linux命令问题