深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播

本文主要是介绍深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Adam算法(自适应矩估计)

全名:Adapative Moment Estimation

目的:最小化代价函数(和梯度下降一样)

本质:根据更新学习率后的情况自动更新学习率的值(可能是自动增大,也可能是自动变小)

它在全局不止有一个学习率,就是说每个式子的学习率都有可能有所不同。

优点:对学习率的选择更具有鲁棒性,通常比梯度下降还要快

注意:在代码中设置它的时候需要标注一个初始的学习率先

代码:

这里把初始学习率设置为le-3了

from_logits = True是为了让计算结果更加精确

SparseCategoricalCrossentropy是稀疏矩阵的交叉熵,它可以让结果出现在某个范围中

二、全连接层 (Dense layer)

含义:就是这一层里的每个神经元都从前一层得到所有的激活

三、卷积层(Convolutional layer)

含义:每个神经元只得到一部分

比如说,对于一张图片,卷积层是只接收图片的某一部份数据的,而不是整张图片

作用:

1. 加快计算速度

2.需要的数据较少

3.不容易过拟合

如果在神经网络中有多个卷积层,这个神经网络就叫卷积神经网络。

四、图计算(Computation graph)

        就是,一组节点,这些节点通过边缘或箭头相连,其实就是把每个计算步骤,单独作为一个步骤,去一步一步计算。

五、反向传播(back prop)

上图是前向传播,就是从左到右进行一步一步的计算,而反向传播就是从右到左,计算导数。

在机器学习中,很多算法最后都会转化为求一个目标损失函数(loss function)的最小值。这个损失函数往往很复杂,难以求出最值的解析表达式。而梯度下降法正是为了解决这类问题。直观地说一下这个方法的思想:我们把求解损失函数最小值的过程看做“站在山坡某处去寻找山坡的最低点”。我们并不知道最低点的确切位置,“梯度下降”的策略是每次向“下坡路”的方向走一小步,经过长时间的走“下坡路”最后的停留位置也大概率在最低点附近。这个“下坡路的方向”我们选做是梯度方向的负方向,选这个方向是因为每个点的梯度负方向是在该点处函数下坡最陡的方向。至于为什么梯度负方向是函数下降最陡的方向请参考大一下的微积分教材,或者看看这个直观的解释。在神经网络模型中反向传播算法的作用就是要求出这个梯度值,从而后续用梯度下降去更新模型参数。反向传播算法从模型的输出层开始,利用函数求导的链式法则,逐层从后向前求出模型梯度。

比如上图的最终计算节点是J = d^2/2,反向传播的第一步将询问如果d的值稍微改变一点,那j的值会改变多少?

假如算出来是2,就在J到d的这个板块的方向上写一个2,这个值是j对于输入值d的导数

这是第一步。

下一步是查看之前的节点,并询问j对于a的导数是什么?

算出来是2,就在d-a这个线上写2。

照这样的思路,一直往前推j对每个参数的导数,一直推到j对最前面(第一个输入值)的导数,在这里面是w。

反向传播的作用,就是计算出最初的输入值与输出值之间存在的导数关系(即输入的参数对输出值的影响是几倍?)这样的话,就能节省调整参数的时间。

这篇关于深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834627

相关文章

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文

什么是ReFS 文件系统? ntfs和refs的优缺点区别介绍

《什么是ReFS文件系统?ntfs和refs的优缺点区别介绍》最近有用户在Win11Insider的安装界面中发现,可以使用ReFS来格式化硬盘,这是不是意味着,ReFS有望在未来成为W... 数十年以来,Windows 系统一直将 NTFS 作为「内置硬盘」的默认文件系统。不过近些年来,微软还在研发一款名

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

MySQL 多表连接操作方法(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)

《MySQL多表连接操作方法(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLOUTERJOIN)》多表连接是一种将两个或多个表中的数据组合在一起的SQL操作,通过连接,... 目录一、 什么是多表连接?二、 mysql 支持的连接类型三、 多表连接的语法四、实战示例 数据准备五、连接的性

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的