資料集減掉均值,做資料零中心化
整個網路都要做最大歸一化,有均值歸一化,最大值歸一化,首先要在輸入資料上的歸一化,對網路內部資料也要歸一化
標準化,資料轉為-1--1之間的標準正太分布的。既有去均值化又有歸一化, 不做歸一化的話,隨著網路層數加深資料會變很大
15年之前手動調參做歸一化,手動調參除了慢,還很難做出深層的網路,網路層深要調的參越多。批歸一化batchnormal(bn),2023年提出,用在啟用之前,保證梯度不消失,跟殘差一樣可以保證梯度不消失的同時,他還能解決資料**,他是在通道上做的歸一化操作,對應批次上的每個通道對應畫素做歸一化,找到一批之間的差異,一般用在訓練的時候,保證w係數的穩定性,加快網路找到網路的不同點(同一批次的間的差異),幫助網路提取特徵。 對於小批次的取樣會少狹隘,所以效果不好
分子是資料差異,分母是差異的均值
e|x|是x的期望(均值),表示、衡量的是趨勢的高低,相當於資料的共性的地方,
var[x]方差,指的是誤差的平均,不同資訊的平均值,系統的穩定性,資料離散程度,如果乙個系統期望大方差小,那這個系統目標是很高的也是很穩定的。
x - e[x]: 真實資料 - 均值(期望),得到資料的差異性;
方差開根號之後,成標準差
e的作用是防止分母為0,當目標資料和真是資料重合時會分母為0
r是為了控制網路分布的乙個峰值(胖瘦的)
b是為了變動網路的分布位置
r和b是平滑引數,他們是讓網路自己去學的
如果網路用了batchnormal 或 dropout時,測試時,一定要呼叫一下網路的evel()方法。 這是因為,訓練的時候是一批資料,有期望和方差,但是測試的時侯如果傳入乙個,那沒有期望和方差,會報錯;如果傳入批量,r/b是要在反向傳播時更新的,那測試時r/b是隨機初始化的,而不是拿到訓練好的資料,測試資料不準確;所以測試時,盡量都呼叫一下evel()
instancenormal: 是在h 和 w上做歸一化,控制每個通道之間的差異,控制的全域性特徵也就是大體風格,如果整體風格轉換,就用instancenormal,影象風格遷移;
layernormal,是在層上做歸一化,控制的是細節,形狀,如對物件變形,瘦臉
元件化入門
網頁結構和元件化 首先我們思考一下在常規網頁開發時,網頁的結構大概是什麼樣的?1 上中下 左中右 上下 左右 2 上中下結構 上 下結構保持不變,中間部分內容發生變化 元件化 將頁面中可以重複使用的標籤封裝成乙個元件,方便這一部分ui重複使用 類似於js中的函式,封裝了一部分處理 通過函式呼叫就可以...
MySQL優化入門
表 符合三正規化 nf 一正規化 表的列具有原子性 不可再分割 列的資訊不能分割 關係型資料庫自動滿足一正規化 二正規化 表中的記錄是唯一的 設定主鍵,不含業務邏輯,資料穩定,不用修改 三正規化 表中不要有冗餘資料 表的資訊如果能被推導出來 就不應該單獨設計乙個字段 設計者有時候為了方便 多設計字段...
vt虛擬化入門
vmx的目的是簡化虛擬化開發以及提公升虛擬化應用的執行效率,跟傳統的作業系統以及 驅動 程序沒有關係,跟所謂hook更沒關係。你非要把這種 陷入 模擬 的執行流程 叫做一種hook也無不可。虛擬化的本質是要獲取全部硬體的控制權,攔截在硬體和傳統作業系統之間。在傳統作業系統 看來跟執行在真正的硬體上沒...