一些瑣碎 分不清的知識點

2021-08-16 22:11:21 字數 1058 閱讀 2451

反向傳播演算法是用來訓練ann的。簡而言之,訓練ann就是通過反向傳播代價,以減少代價為導向,調整引數。

調參的方式是採用梯度下降演算法(gradient descent),沿著梯度方向調整引數大小。

反向傳播演算法的推導可以看部落格:反向傳播演算法具體推導過程

其中在soft target時,用到了raise the temperature策略,來提高soft target對應的cross entropy。

熵,說白了就是資訊量。在dark knowledge**中,hinton提到利用soft target來提高交叉熵,就是要增大模型學到的資訊量。(存疑)

神經網路中常見的啟用函式有sigmoid,tanh,而在cnn中我們最常使用的是relu。原因有一下三點:

1. 採用sigmoid等函式,算啟用函式時(指數運算),計算量大,反向傳播求誤差梯度時,求導涉及除法,計算量相對大,而採用relu啟用函式,整個過程的計算量節省很多。

2. 對於深層網路,sigmoid函式反向傳播時,很容易就會出現梯度消失的情況(在sigmoid接近飽和區時,變換太緩慢,導數趨於0,這種情況會造成資訊丟失,無法完成深層網路的訓練。

3. relu會使一部分神經元的輸出為0,這樣就造成了網路的稀疏性,並且減少了引數的相互依存關係,緩解了過擬合問題的發生。

長度函式int strlen(const char s):返回字串中的字元個數,不計尾零。sizeof()計尾零。

複製函式char * strcpy(char to, const char from)拼接函式char * strcat(char s1, const char s2):返回指標指向s1串。

比較函式int strcmp(const char s1, const char s2):按從前到後順序逐個比較對應字元的ascii碼值。若s1中的字串大於s2中的則返回值大於零;若兩字串相等,則返回0;否則返回值小於零。

Ext2一些瑣碎的知識點

var store thegrid.getstore var args store.baseparams ext2生成store var newstore new ext.data.store pagesize 50,reader new ext.data.jsonreader autodestro...

一些知識點

字串拼接 1.a join b a為元素之間的分隔符,b為待分割的序列 可用於輸出時的資料處理,元素間有空格,末尾沒有 2 s s s str1,str2,str3 前半部分為字串,後半部分為索引。用於引入,s是物件 3.format str1,str2,str3 與f 括號裡為已有變數 關於for...

一些知識點

1.vector是在堆上還是棧上?在堆上.2.我們發現指標有一些 似是而非 的特徵 1 指標消亡了,並不表示它所指的記憶體會被自動釋放。比如函式中的指標是區域性變數,如果它指向了堆上,而自己出了函式後消亡了,但它所指向的記憶體還是存在的,導致了記憶體洩漏.2 記憶體被釋放了,並不表示指標會消亡或者成...