Tensorflow|Tensorflow学习笔记----梯度下降
admin
2023-08-16 09:02:13
0次


目录

      • 一.梯度(Gradient)的理解:
      • 二.激活函数(Activation Function)及其梯度:
      • 三.损失(Loss)函数及其梯度
      • 四.单输出感知机及其梯度
      • 五.多输出感知机及其梯度

一.梯度(Gradient)的理解:
  • 导数:一维函数沿x轴的变动率;
    偏微分:二维函数沿各个方向的变动率;
    梯度:三维及以上函数沿各个方向的变动率,当函数沿某一方向的值突然变动很大时,它在这个方向的此数梯度就会大;
可以利用梯度来寻找函数的最小值,即寻找全局最优,方法就是从任一点出发,然后重复朝着梯度的反方向(变小的方向?)前进(有可能找到的是局部最小即极小);
  • 公式:θt+1 = θt - a * ?θt
    使用tensorflow计算梯度:
    With tf.GradientTape() as tape:
    [w_grad] = tape.gradient(loss,[w])
二.激活函数(Activation Function)及其梯度:
对于所有的输入加权求和后,还要在激活函数中判断是否到达阈值,到达阈值(被激活)才能进行输出,且输出的信号值是固定的。引入激活函数是为了增加神经网络模型的非线性。常见的激活函数有Sigmoid函数,tanh函数,Relu函数,ELU函数等。这类函数是不可导的,所以不能像普通函数那样求梯度。
Tensorflow|Tensorflow学习笔记----梯度下降
文章图片

Sigmoid函数/Logistic:,函数值被压缩在(0,1),可求导;缺点就是容易造成梯度弥散现象。
Tensorflow|Tensorflow学习笔记----梯度下降
文章图片

Tanh函数: = 2sigmoid(2x)-1,范围在(-1,1)
Tensorflow|Tensorflow学习笔记----梯度下降
文章图片

ReLU函数(Rectified Linear Unit,整流线性单元):,是现在深度学习用得最多的,因为它的倒数非常简单,不会出现梯度弥散和梯度爆炸的情况,而且计算速度很快。
Tensorflow|Tensorflow学习笔记----梯度下降
文章图片

三.损失(Loss)函数及其梯度
MSE(Mean Squared Error):均方差 = Σ(y-y’)2;y’=wx+b。常用于回归问题
求导:d loss/dθ = 2Σ(y-y’) * d y’/dθ
#MSE Gradient x = tf.random.normal([2,4]) #输入:2个simple:[b,4] w = tf.random.normal([4,3]) #把4维降到3维==>最终分为3类 b = tf.zeros([3]) y = tf.constant([2,0])with tf.GradientTape() as tape: tape.watch([w,b]) prob = tf.nn.softmax(x@w+b,axis=1) loss = tf.reduce_mean(tf.losses.MSE(tf.one_hot(y,depth=3),prob))grads = tape.gradient(loss,[w,b]) print(grads[0]) # tf.Tensor( # [[-0.053691040.07968411 -0.02599307] #[-0.0535683-0.01830230.0718706 ] #[-0.07898090.028222490.05075841] #[ 0.08340039 -0.03885455 -0.04454585]], shape=(4, 3), dtype=float32)

Cross Entropy Loss:交叉熵误差,常用于分类算法;交叉熵描述了两个概率分布之间的距离;
  • 常用Softmax回归将神经网络前向传播得到的结果变成概率分布,softmax常用于多分类过程中,它将多个神经元的输出,归一化到( 0, 1) 区间内,因此Softmax的输出可以看成概率,从而来进行多分类。以下为Softmax的公式:
    Tensorflow|Tensorflow学习笔记----梯度下降
    文章图片
#Crossentropy Gradient x = tf.random.normal([2,4]) #输入:2个样本:[b,4] w = tf.random.normal([4,3]) #把4维降到3维==>最终分为3类 b = tf.zeros([3]) y = tf.constant([2,0])with tf.GradientTape() as tape: tape.watch([w,b]) logits = x@w+b loss = tf.reduce_mean(tf.losses.categorical_crossentropy(tf.one_hot(y,depth=3),logits,from_logits=True))grads = tape.gradient(loss,[w,b]) print(grads) # [, ] print(grads[0]) # tf.Tensor([-0.444272550.6398322-0.1955596 ], shape=(3,), dtype=float32)

四.单输出感知机及其梯度
【Tensorflow|Tensorflow学习笔记----梯度下降】单层感知机预测值:y = Σxi * yi + b;它使用Sigmoid来当做激活函数,结点只有输入层、权值、求和、Sigmoid、输出;下面的O表示输出,Oj表示第j个输出,t为目标值。
  • Loss = 1/2 (O10 - t)2,对其j层求导:(O0 - t) O0 (1 - O0)xj0;
#单输出感知机梯度 x = tf.random.normal([1,3]) w = tf.ones([3,1]) b = tf.ones([1]) y = tf.constant([1])with tf.GradientTape() as tape: tape.watch([w,b]) logits = tf.sigmoid(x@w+b) loss = tf.reduce_mean(tf.losses.MSE(y,logits))#本身输出已经在0~1,所以不需要再one_hot encodinggrads = tape.gradient(loss,[w,b]) print(grads) # [, ]

五.多输出感知机及其梯度
与单输出类似,不过有m个加权和,m个输出
  • Loss = 1/2 Σ(O1i - ti)2;对其j层求导:(Ok - tk) Ok (1 - Ok)xj0;
#多输出感知机梯度 x = tf.random.normal([2,4]) w = tf.ones([4,3]) b = tf.ones([3]) y = tf.constant([2,0])with tf.GradientTape() as tape: tape.watch([w,b]) prob = tf.nn.softmax(x@w+b,axis=1) loss = tf.reduce_mean(tf.losses.MSE(tf.one_hot(y,depth=3),prob))grads = tape.gradient(loss,[w,b]) print(grads[0])

相关内容

热门资讯

大浪淘金APP黑幕揭秘:内盘操...   大浪淘金APP平台最隐蔽的黑幕,在于其完全封闭的内盘交易系统。这个看似与国际市场接轨的交易平台,...
告别固定工资实现财富自由?一品...   普通投资者被广告宣传诱导,注册就送现金,充值返现金券等等这些宣传方式,都是在引流到平台开户,不怕...
哈易购APP打着现货交易幌子搞...   网络上各类白银、铂金等贵金属投资广告铺天盖地,不少平台以"现货交易"为名,暗中却从事着非法期货交...
5元起投!高额收益?中国白银、...   上海华通白银国际交易中心有限公司(以下简称“华通白银国际”)打着“白银、铂金现货订购”的旗号,实...
"九州订购APP、起...   近年来,贵金属投资热度持续攀升,但乱象也随之而来。一些不法分子趁机搭建虚假交易平台,打着"低门槛...
坚锅淘金APP投资者频繁爆仓亏...   坚锅淘金APP对外宣称是贵金属现货交易平台,日常出入金看似畅通无阻,给人一种合规运营的假象。但事...
斗金订购APP“5元订购现货”...   斗金订购APP“5元订购现货”骗局揭秘:充值易、回本难,越陷越深!  许多投资人在未核实平台合规...
贵金属APP乱象曝光:&quo...   当前市场上部分贵金属类APP未取得正规交易资质,涉嫌误导消费者参与白银、铂金等商品的非合规交易!...
华通白银、银宝街APP被指虚假...   警惕现货白银投资陷阱:上海华通白银背后的平台涉嫌非法期货交易  近年来,各类现货白银交易平台以“...
充值送300,月入过万?别被量...   如今,网络上充斥着大量未经批准的贵金属及其他产品订购交易平台。这些平台普遍缺乏合法经营资质,却将...
鑫汇智投APP贵金属非法期货、...   鑫汇智投APP贵金属非法期货、人为控盘,大量投资者遭恶意收割  鑫汇智投APP长期以“低门槛、高...
矅光智策APP非法贵金属交易骗...   不少投资人在矅光智策APP上进行贵金属交易后出现了严重亏损。许多人在下载该平台时,根本不清楚其是...
飞鸽订购APP非法期货交易骗局...   飞鸽订购APP非法期货交易骗局,很多投资者根本没搞懂规则就盲目充值,买涨买跌跟买cai票一样!平...
天龙白银APP被操控的非法期货...   中小投资者在网络平台参与商品现货订购交易,表面看似合规合法,实则暗藏诸多难以察觉的风险。商品现货...
下载送试玩金?千万别碰!带你揭...   当前,许多贵金属APP交易平台正采用欺诈性营销手段。它们通过抖音等短视频平台,以“5元起投”“充...
泡泡淘金APP骗局:打着&qu...   泡泡淘金APP骗局:打着"商品订购"幌子,实则非法期货收割投资者!投资需谨慎,切勿轻信“高额回报...
南商云购APP虚假电子盘背后的...   南商云购是虚假电子盘吗?它是否具备合规的交易资质?这个曾经的"现货电子盘"如今摇身一变,披上了"...
警惕"祥龙订购&qu...   祥龙订购APP、掌上银牛APP等平台背后的运营方——四川禄宏商品现货市场有限公司,仅具备现货交易...
中国白银、华银:虚假宣传、后台...   中国白银APP宣称是上市公司“中国白银集团”与“上海华通白银国际交易中心”旗下的现货交易平台,提...
起底“优品订购”APP非法期货...   “优品订购”APP根本不具备任何合法的交易资质。其背后的运营方仅凭随便注册一家公司、开发一款交易...