Tensorflow2 0筆記 自動求梯度(導數)

2021-10-03 13:33:38 字數 574 閱讀 3673

對於給定函式:y(w)=aw^2+bw+c

數學求導得:dy/dw=2aw+b

那麼,(a,b,c,w)=(1,2,3,4)處的導數,dy/dw=2 * 1 *4 + 2=10

而在tensorflow2.0中,梯度可以自動求取。具體**如下:

import tensorflow as tf

a=tf.constant(1.

)b=tf.constant(2.

)c=tf.constant(3.

)w=tf.constant(4.

)with tf.gradienttape(

)as tape:

# 構建梯度環境

tape.watch(

[w])

# 對w求梯度,並跟蹤列表

y=a*w**

2+b*w+c # 構建目標函式

[dy_dw]

= tape.gradient(y,

[w])

# 函式y對w求導

print

(dy_dw)

# 列印出導數

北京大學Tensorflow2 0筆記

目前很少用這個啟用函式,因為在深度神經網路中更新引數時需要從輸出層到輸入層逐層進行鏈式求導,而sigmoid函式倒數值為0 0.25之間,鏈式求導需要多層導數連續相乘,會出現多個0 0.25之間的連續相乘,結果趨於零,產生梯度消失,無法進行引數更新 使用中應避免負數特徵進入relu函式,否則會導致神...

Tensorflow2 0筆記32 卷積神經網路

本部落格為tensorflow2.0學習筆記,感謝北京大學微電子學院曹建老師 目錄 對一小批資料在網路各層的輸出做標準化處理,其具體實現方式如圖 5 10 所示。標準化 使資料符合 0 均值,1 為標準差的分布。batch normalization 將神經網路每層的輸入都調整到均值為 0,方差為 ...

tensorflow2 0學習筆記(3 2)

自編碼器變種 1 denoising auto encoder 加隨機雜訊 2 dropout auto encoder 防止過擬合 3 adversarial auto encoder 利用額外的判別器網路來判定降維的隱藏變數?是否取樣先驗分布?對抗自編碼器是從下一章要介紹的生成對抗網路演算法衍生...