TensorFlow05.1 神经网络反向传播算法-梯度下降

更新于:2023-06-18

1 梯度下降简介1.1 什么是梯度下降梯度是一个向量那些红色箭头就是梯度的方向,箭头越大,说明我们增加的越快。我们之前说过就是一直往他梯度减小的方向走就行,就能走到最低点例子:1.2 怎么用TensorFlow做梯度下降我们这里用到两个API:with tf.GradientRape() as tape: build computation graph loss=f(x)[w_grad]=tape

1 梯度下降简介

1.1 什么是梯度下降

image
梯度是一个向量
image
那些红色箭头就是梯度的方向,箭头越大,说明我们增加的越快。
我们之前说过就是一直往他梯度减小的方向走就行,就能走到最低点
image
例子:
image
image

1.2 怎么用TensorFlow做梯度下降

我们这里用到两个API:

with tf.GradientRape() as tape:
	build computation graph
	loss=f(x)

[w_grad]=tape.gradient(loss,[w])
#在这里我们传入的如果是[w1,w2,w3],返回的就是[w1_grad,w2_grad,w3_grad]

image
例子:
image

注意我们要求解y的梯度的时候我们一定要把他的表达式定义到函数里面去,对于里面的参数,我们有些需要定义成Variable类型,这样方便进行梯度跟踪。

在这里我们说一下就是求导函数,我们需要对一个变量进行追踪的话,我们可以在with tf.GradientRape() as tape:前面把他定义成tf.Variable()类型
例如:
image
或者我们也可以用tape.watch([w,b])进行监视
例如:
image

1.3 二阶梯度

image
实现:就是定义两个GradientTape()
image

2 常见函数梯度

2.1 common Functions

image

2.2 常见函数的梯度

image
image
其实就是对每一个数求偏导,然后(,,,,)连起来

3 激活函数及其梯度

▪ sigmoid
▪ tanh
▪ relu
image
科学家们对青蛙做了一个实验,就是如果这个输入小于一个值的时候这个青蛙不会响应,大于一个值的时候。就是有一个阈值函数,超过了这个阈值才会输出。
image
这就是激活函数:就是这个值必须大于0,这个节点才能激活。
激活函数是不可导的,所以我们不能利用梯度下降的方法进行求解。

3.1 sigmoid函数

image
这个函数就很好,就是很低的时候,它不响应,然后趋于0。很大的时候它也不会很大,就是1。注意如果x很大或者很小的时候会出现梯度饱和或者弥散的情况
sigmoid函数的导数:可以看出sigmoid函数的导数是可以通过sigmoid函数本身求出的。
image
API:

tf.sigmoid()
image

3.2 Tanh函数

这个是把函数值映射到[-1,1]之间。
image
他的导数:也是可以通过tanh函数本身求出的。
image
API:

tf.tanh
image

3.3 ReLU函数

ReLU非常适合做deep learning。因为它当x>0的时候他的梯度就是1,不会放大也不会缩小,所以在很大情况下减少了sigmodi带来的那种梯度爆炸或者梯度弥散的情况。非常适合做Deep Learning。
image
API

tf.nn.relu()
tf.leaky_relu(a)#这个是如果小于0的话,他会很小的接近0.
image

4 损失函数及其梯度

Mean Squared(MSE)\(\sum\)(y-y')^2

Cross Entropty Loss

  • binary(二分类)
  • multi-class
  • +softmax(通常和softmax连用)
  • Leave it to Logistic Regression Part

4.1 MSE

image
求导:
image
其中image
取决于你用什么模型。
MSE Gradient:
image

4.2 Softmax

这里我们在做分类预测的时候,我们需要把输出最大的值作为我们的label,但是我们还需要,让这些类别的概率之和为1.
image
softmax求导:
image
image

Crossentropy 梯度:
image
画线的地方我们前面说了,这个地方里面包含了softmax,如果这两个连用的话会出现问题。

  • 上一篇:test
  • 下一篇:SpringBoot03_MVC的使用
  • 相关文档

    推荐软件

    网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据
    九戒网络助手

    网络调试专用工具GET/POST支持HTTPS 支持自定义请求头和POST数据

    直接下载

    一键屏幕取色工具绿色版 网页取色建站必备神器
    屏幕取色器

    一键屏幕取色工具绿色版 网页取色建站必备神器

    直接下载

    高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重
    TXT合并去重工具

    高性能快速去除TXT文件中的重复文本行,支持两个文本合并后去重

    直接下载

    TDK一键采集网站标题/关键词/描述支持unicode解码
    网站TDK采集器

    TDK一键采集网站标题/关键词/描述支持unicode解码

    直接下载

    多线程批量扫描指定服务器开放了哪些端口
    批量端口扫描工具

    多线程批量扫描指定服务器开放了哪些端口

    直接下载

    一键批量采集关键词,长尾词,下拉词,相关搜搜词
    关键词采集器 [相关/下拉/长尾]

    一键批量采集关键词,长尾词,下拉词,相关搜搜词

    直接下载

    输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK
    关键词网站域名采集器

    输入关键词批量搜索网站,支持导出为txt和excel表格,支持导出TDK

    直接下载

    域名采集器,高速有效域名网址采集工具
    域名采集器

    域名采集器,高速有效域名网址采集工具

    直接下载

    站群推广利器SEO自动外链引蜘蛛工具
    SEO自动外链工具

    站群推广利器SEO自动外链引蜘蛛工具

    直接下载

    百度网盘批量分享工具,一键自动分享文件记录链接和密码
    百度网盘批量分享

    百度网盘批量分享工具,一键自动分享文件记录链接和密码

    直接下载

    网址访问状态检查,网站漏洞扫描文件目录扫描
    网址批量验证器

    网址访问状态检查,网站漏洞扫描文件目录扫描

    直接下载

    批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表
    网址关键词合并工具

    批量将网址中的占位符替换成URL编码的关键词,保存导出最终网址列表

    查看详情

    网站统计平台广告引流工具CNZZ/51.LA/百度统计通用
    网站统计平台广告引流

    网站统计平台广告引流工具CNZZ/51.LA/百度统计通用

    查看详情

    Excel表格导入织梦文章,支持自定义模型和字段
    Excel导入织梦系统

    Excel表格导入织梦文章,支持自定义模型和字段

    查看详情

    txt文档批量导入织梦CMS文章工具
    txt导入织梦文章

    txt文档批量导入织梦CMS文章工具

    查看详情

    WORD文档带图片和格式发布到织梦CMS文章
    WORD文档导入织梦

    WORD文档带图片和格式发布到织梦CMS文章

    查看详情

    推荐专题