日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MatConvnet中集成的损失函数(孪生网络的思考)

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MatConvnet中集成的损失函数(孪生网络的思考) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參看網址:https://www.baidu.com/?tn=94855285_hao_pg

這篇博客主要記載了利用MatCovnet實現孿生網絡的一些問題,最核心的就是兩個分支如何并到一起?反向傳播如何設計?相比Keras、caffe、TensorFlow;matconvnet推動的人太少了,整個社區也非常冷清,不得不說這是matlab公司的眼觀不夠啊..

1. 問題#253的解決方案

Hi,Is it possible to implement a Siamese network using current dag branch of matconvnet? Is so could you please share some sample codes (if available) on it.Thanks, kris314Kris最早提出大家的疑惑,利用現有的無向圖結構能不能實現孿生網絡? Hi, you can implement siamese networks (we did) with simplenn as well. The trick is to pass pairs of images as consecutive entries in the sequence and then use a block such as vl_nnpdist that would pair them up in the loss. VedaldiVedaldi回復了這個事,他建議采用的方法是連續輸入一對圖像,然后這對圖像先后通過base network, 最后一起到達損失函數哪里。注意的是,Vedaldi用的是vl_nnpdist()函數實現的,一會會說這個事。 Hi, almost. Simply pass paired images as consecutive indexes in the batch (e.g. images 1 and 2 in the batch are paired, then 3 and 4 and so on). Then the distance layer can take the difference between images 1 and 2 , 3 and 4 etc). Note that the output of this layer has a batch size exactly half than its input as for each pair of images you get one difference image (and then one distance value). You do get the same effect as a siamese architecture.VedaldiVedaldi的意思就是說,現在啊我們還不能利用兩個孿生的分支并行處理一對圖像。不過呢,我們可以把 一對圖像按照先后順序放一塊, 比如說1&2 是一對; 3&4 是一對。那么輸出的批大小就應該等于輸入的 一半。此外按照Vedaldi所說,我們可以利用距離層對兩張連續的圖像進行區分,這這這...想好想,怎么 實現嘞?加一個時鐘??還是計數器?

其實,后來一大堆人追問過這個問題,不幸的是Vedaldi消失了。我也曾經糾結過這種方法,其實他很想2-channel的實現方法,首先進行灰度化,然后將一對灰度圖像當成雙通道來處理,這就變成了最普通的單通道網絡。

2. vl_nnpdist - CNN特征矢量距離計算函數

這個函數恰好就是為了計算兩個特征矢量距離的。其函數表達式為:

VL_NNPDIST(X, X0, P); % X,X0是對應的兩個特征矢量; P代表距離范數 Y(i,j,1) = (SUM_d (X(i,j,d) - X0(i,j,d))^P)^(1/P)

X0和X維度一致;輸出Y和X具有相同的寬度和高度,但是深度等于1. 一般來說X0是1x1xDxN矩陣

如果設置 noroot = true, 那么該距離就不進行根除了:

Y(i,j,1) = SUM_d (X(i,j,d) - X0(i,j,d))^P、 例如: vl_nnpdist(x, x0, 2, 'noRoot', true); % 計算對應通道的2-范數距離

其實吧 上面的都不重要,重要的在這里:

[DZDX, DZDX0] = VL_NNPDISTP(X, X0, P, DZDY) computes the derivative of the block inputs projected onto DZDY. DZDX, DZDX0 and DZDY have the same dimensions as X and Y, respectively.

正向傳播過程中,在這個模塊中我們可以計算兩個特征的距離測度; 反向傳播過程中,我們還可以把誤差分別傳遞給兩個網絡分支,這個才是核心。

還需要注意一點,目前該函數只能接受三個網絡分支,多了會報錯。

例如:vl_nnpdist(x, x0, 2, 'noRoot', true) 就是為了計算特征矢量X,X0的L2平方距離。

關于參數選項

VL_NNPDIST(___, 'OPT', VAL, ...)可以接受下面參量:1:距離 or 距離的平方 NoRoot [false]: 默認情況下計算p范數,如果設置為true就是計算距離的p次冪; 2:Epsilon = 1e-6 當計算偏導數時,避免除數出現邊界效應;例如,L2距離在圓點處并不光滑,這個選項可以防止導數發散; 3:Aggregate [false] :對于輸入的每一個空間位置,并不是返回一個標量而是將它們全部加到一個標量中; 4:InstanceWeights = []:可以選擇的權重個別案例,用來調節的

3. vl_nnloss - CNN損失函數

Y = VL_NNLOSS(X, C)用來計算預測的分數X與標簽C之間的損失。

預測分數X被組織成一個預測矢量場,可以用HxWxDxN矩陣表示。H*W代表空間信息,D代表類別信息,N代表批次的所有數據數量。

盡管在一般情況下都是H=W=1,但是在類似于稠密的標記問題中(例如圖像分割),W,H>1是非常有用的。在后一種情況下,損失是用像素來表示的。(分類的貢獻可以通過加權來實現,InstanceWeights)

DZDX = VL_NNLOSS(X, C, DZDY) computes the derivative of the block projected onto the output derivative DZDY. DZDX and DZDY have the same dimensions as X and Y respectively.

VL_NNLOSS() 支持幾種損失函數,可以通過'loss' = type進行指定。當C中的每一個標量被解釋為類別 標簽,我們可以使用下面幾種損失: 1. Classification error [classerror] L(X,c) = (argmax_q X(q) ~= c). 分類誤差的導數是平的,因此這個損失函數適用于評價,而不是用于評價一個模型。2. Top-K classification error [topkerror] L(X,c) = (rank X(c) in X <= K). 排名最高的也是得分最高的。對于K=1,他就和分類誤差一樣,K 通 過 topK選項可以設定。3. Log loss [log] L(X,c) = - log(X(c)). 這個函數假設X(c)是類別c的分類概率。4. Softmax log loss (multinomial logistic loss) [softmaxlog] L(X,c) = - log(P(c)) where P(c) = exp(X(c)) / sum_q exp(X(q)). 這個和log損失是一樣的, 但是使用softmax函數重新正則化預測。5. Multiclass hinge loss [mhinge] L(X,c) = max{0, 1 - X(c)}. 這個函數假設 X(c)是與其他類別相比,對于c類的分數距離。6. Multiclass structured hinge loss [mshinge] L(X,c) = max{0, 1 - M(c)} where M(c) = X(c) - max_{q ~= c} X(q). 7.二值分類誤差 Binary classification error [binaryerror] L(x,c) = (sign(x - t) ~= c). t是閾值,默認是0,通過 threshold 可以進行設定。如果x是一 個概率,那么閾值t應該設定為0.5.8. 二值分類損失 Binary log loss [binarylog] L(x,c) = - log(c(x-0.5) + 0.5). X假設屬性是正+1的概率。因此,x必須是[0,1]之間的數,這 是log損失函數的二值模式。9. Logistic log loss [logistic] L(x,c) = log(1 + exp(- cx)). 和二值對數損失很類似10. Hinge loss [hinge] L(x,c) = max{0, 1 - cx}. 這是二值分類中的標準hinge損失。如果c=+1對應得分X, c=-1對應得 分0.這個損失就是mshinge損失。11. InstanceWeights [[]]Allows to weight the loss as L'(x,c) = WGT L(x,c), where WGT is a per-instance weight extracted from the array InstanceWeights. For categorical losses, this is either a H x W x 1 or a H x W x 1 x N array. For attribute losses, this is either a H x W x D or a H x W x D x N array.12. TopK [5]Top-K value for the top-K error. Note that K should not exceed the number of labels. See also: VL_NNSOFTMAX().

4. 自定義損失函數 - CNN中的L2損失函數

關于這一個損失層我感覺可以用vl_nnpdist函數實現的。特別的對于孿生網絡的(X,X`,Y)這樣的的一種輸入格式,應該可以采用下面這種結構來實現:

?

這種情況下可能要自己設計損失函數了。

總結

以上是生活随笔為你收集整理的MatConvnet中集成的损失函数(孪生网络的思考)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一区精品在线观看 | 伊人亚洲影院 | 欧美亚洲网站 | 国产吞精囗交久久久 | 天天色天天搞 | 久久亚洲国产成人精品性色 | 色丁香综合 | 欧美粗又大 | 亚洲网址 | 波多野结衣激情视频 | 黄色小视频免费观看 | 日本wwwwwww | 日本黄色大片在线观看 | 男人av在线| 我要看一级片 | 潘金莲一级淫片aaaaaa播放 | 午夜视频免费观看 | 久久久亚洲一区 | 波多野结衣在线 | 美女被c出水 | 中文资源在线播放 | 欧美999| 亚日韩| 91爱视频 | 亚洲综合一区在线观看 | 日韩欧美91 | 国产一区欧美 | 爱操av | 波多野结衣av电影 | 国产毛片久久久久 | 亚洲免费成人在线 | 中文一区二区在线观看 | 久久97久久97精品免视看 | 亚洲天堂系列 | 丰满少妇aaaaaa爰片毛片 | 亚洲色图在线观看视频 | 国产一级做a爰片久久毛片男男 | 色播av | av在线一区二区三区 | 久久久久久一区二区三区 | 欧美黄频 | 国产成人自拍一区 | 九热在线 | 日韩在线免费视频观看 | 亚洲激情欧美 | 亚洲九色 | 亚洲视频在线观看一区二区 | ww成人 | 久草在现 | 丰满人妻在公车被猛烈进入电影 | 久久av综合 | 中文字幕一区二区人妻电影丶 | 欧美xxxx黑人xyx性爽 | 日韩二区三区四区 | 亚洲午夜无码久久久久 | 成人国产精品视频 | 亚洲黄色av网站 | 日本中文字幕久久 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 在线不卡视频 | 亚洲精选在线观看 | 神马午夜91 | 三女警花合力承欢猎艳都市h | 动漫av一区 | 日韩少妇视频 | 日本狠狠操 | 免费中文字幕av | 在线观看黄色片网站 | 日本特黄一级大片 | 日韩欧美高清 | 97蜜桃网| 国产一区二区三区四区在线观看 | 1级黄色大片 | av免| 久久精品99久久久 | 亚洲色图视频网站 | exo妈妈mv在线播放免费 | 久久久久亚洲无码 | 欧美成人一级 | xxxxhd欧美 | 久久影视一区 | 久久性网| 国产丝袜视频在线 | 美女一区二区三区四区 | 在线观看日本网站 | 欧美性做爰毛片 | 国产精品无码天天爽视频 | 欧美日韩一区二区不卡 | 久久国产精品国语对白 | 99精品热视频 | 69国产 | 成人av图片 | 夜夜春夜夜爽 | 97国产在线视频 | 成年人视频在线免费看 | 粗大的内捧猛烈进出视频 | 视频在线不卡 | 国产做爰xxxⅹ久久久精华液 | 日本在线国产 |