優(yōu)化方法相關(guān)

深度學(xué)習(xí) 反向傳播

loss 函數(shù)用法

pytorch loss官方源碼:https://github.com/pytorch/pytorch/blob/master/torch/nn/modules/loss.py
所有l(wèi)oss的總結(jié):https://blog.csdn.net/u011995719/article/details/85107524

triplet loss

lass TripletMarginLoss(Module):
    r"""Creates a criterion that measures the triplet loss given an input
    tensors x1, x2, x3 and a margin with a value greater than 0.
    This is used for measuring a relative similarity between samples. A triplet
    is composed by `a`, `p` and `n`: anchor, positive examples and negative
    example respectively. The shape of all input variables should be
    :math:`(N, D)`.
    The distance swap is described in detail in the paper `Learning shallow
    convolutional feature descriptors with triplet losses`_ by
    V. Balntas, E. Riba et al.

    Args:
        anchor: anchor input tensor
        positive: positive input tensor
        negative: negative input tensor
        p: the norm degree. Default: 2
    Shape:
        - Input: :math:`(N, D)` where `D = vector dimension`
        - Output: :math:`(N, 1)`

Balntas, V. , Riba, E. , Ponsa, D. , & Mikolajczyk, K. . (2016). Learning local feature descriptors with triplets and shallow convolutional neural networks. British Machine Vision Conference 2016.pdf
L(a, p, n) = \max \{d(a_i, p_i) - d(a_i, n_i) + {\rm margin}, 0\}
where
d(x_i, y_i) = \left\lVert {\bf x}_i - {\bf y}_i \right\rVert_p
數(shù)據(jù)加載飒责,構(gòu)造特定的dataloader
refs:
https://github.com/chencodeX/triplet-loss-pytorch
https://www.zhihu.com/question/272153256/answer/370823997

TripletMarginWithDistanceLoss

\ell(a, p, n) = L = \{l_1,\dots,l_N\}^\top, \quad l_i = \max \{d(a_i, p_i) - d(a_i, n_i) + {\rm margin}, 0\}
\ell(x, y) = \begin{cases} \operatorname{mean}(L), & \text{if reduction} = \text{`mean';}\\ \operatorname{sum}(L), & \text{if reduction} = \text{`sum'.} \end{cases}

N is the batch size; :math:d is a nonnegative, real-valued function quantifying the closeness of two tensors, referred to as the :attr:distance_function; and :math:margin is a nonnegative margin representing the minimum difference between the positive and negative distances that is required for the loss to be 0.

    >>> # Initialize embeddings
    >>> embedding = nn.Embedding(1000, 128)
    >>> anchor_ids = torch.randint(0, 1000, (1,))
    >>> positive_ids = torch.randint(0, 1000, (1,))
    >>> negative_ids = torch.randint(0, 1000, (1,))
    >>> anchor = embedding(anchor_ids)
    >>> positive = embedding(positive_ids)
    >>> negative = embedding(negative_ids)
    >>>
    >>> # Built-in Distance Function 使用系統(tǒng)自帶的距離函數(shù)nn.PairwiseDistance()
    >>> triplet_loss = \
    >>>     nn.TripletMarginWithDistanceLoss(distance_function=nn.PairwiseDistance())
    >>> output = triplet_loss(anchor, positive, negative)
    >>> output.backward()
    >>>
    >>> # Custom Distance Function 使用自定義的距離函數(shù)
    >>> def l_infinity(x1, x2):
    >>>     return torch.max(torch.abs(x1 - x2), dim=1).values
    >>>
    >>> triplet_loss = \
    >>>     nn.TripletMarginWithDistanceLoss(distance_function=l_infinity, margin=1.5)
    >>> output = triplet_loss(anchor, positive, negative)
    >>> output.backward()
    >>>
    >>> # Custom Distance Function (Lambda)
    >>> triplet_loss = \
    >>>     nn.TripletMarginWithDistanceLoss(
    >>>         distance_function=lambda x, y: 1.0 - F.cosine_similarity(x, y))
    >>> output = triplet_loss(anchor, positive, negative)
    >>> output.backward()

CentreLoss

CosineEmbeddingLoss

\text{loss}(x, y) = \begin{cases} 1 - \cos(x_1, x_2), & \text{if } y = 1 \\ \max(0, \cos(x_1, x_2) - \text{margin}), & \text{if } y = -1 \end{cases}
Creates a criterion that measures the loss given input tensors x_1, x_2 and a Tensor label y with values 1 or -1. This is used for measuring whether two inputs are similar or dissimilar, using the cosine distance, and is typically used for learning nonlinear embeddings or semi-supervised learning.

Additive Angular Margin Loss(加性角度間隔損失函數(shù))

ArcFace中是直接在角度空間θ中最大化分類界限,而CosFace是在余弦空間cos(θ)中最大化分類界限仆潮。
ArcFace: Additive Angular Margin Loss for Deep Face Recognition pdf

梯度下降

次梯度

非梯度優(yōu)化算法:

遺傳算法

粒子群算法

凸優(yōu)化

fmincon

https://www.zhihu.com/question/426888224
https://www.zhihu.com/question/304133157

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宏蛉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鸵闪,更是在濱河造成了極大的恐慌檐晕,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辟灰,居然都是意外死亡个榕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門芥喇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來西采,“玉大人,你說我怎么就攤上這事继控⌒倒荩” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵武通,是天一觀的道長霹崎。 經(jīng)常有香客問我,道長冶忱,這世上最難降的妖魔是什么尾菇? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮囚枪,結(jié)果婚禮上派诬,老公的妹妹穿的比我還像新娘。我一直安慰自己链沼,他們只是感情好默赂,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著括勺,像睡著了一般缆八。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疾捍,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天耀里,我揣著相機與錄音,去河邊找鬼拾氓。 笑死,一個胖子當著我的面吹牛底哥,可吹牛的內(nèi)容都是我干的咙鞍。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼趾徽,長吁一口氣:“原來是場噩夢啊……” “哼续滋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起孵奶,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤疲酌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朗恳,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡湿颅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了粥诫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片油航。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怀浆,靈堂內(nèi)的尸體忽然破棺而出谊囚,到底是詐尸還是另有隱情稳捆,我是刑警寧澤募壕,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站蒂培,受9級特大地震影響沙合,放射性物質(zhì)發(fā)生泄漏奠伪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一灌诅、第九天 我趴在偏房一處隱蔽的房頂上張望芳来。 院中可真熱鬧,春花似錦猜拾、人聲如沸即舌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顽聂。三九已至,卻和暖如春盯仪,著一層夾襖步出監(jiān)牢的瞬間紊搪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工全景, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留耀石,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓爸黄,卻偏偏與公主長得像滞伟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子炕贵,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1.機器學(xué)習(xí) 斯坦福機器學(xué)習(xí)CS229課程講義的中文翻譯:https://github.com/Kivy-CN/S...
    flyrae閱讀 863評論 0 4
  • # Basics ## Standard notations- Variable: $X$ (uppercase ...
    一只叫kevin的藍精靈閱讀 1,569評論 0 0
  • Task 1 線性回歸 模型 線性回歸用于回歸預(yù)測梆奈,即預(yù)測一個連續(xù)的數(shù)值。一個n元線性回歸模型 其中 是要模型學(xué)習(xí)...
    撓頭的三棱鏡閱讀 597評論 0 0
  • 在實驗室參與開發(fā)了一個評測平臺称开。在使用的時候有部分攻擊算法會出現(xiàn)顯存溢出的情況亩钟。同時隨著樣本數(shù)增加乓梨,這種顯存占用比...
    閉門造折閱讀 13,541評論 5 7
  • 久違的晴天,家長會清酥。 家長大會開好到教室時扶镀,離放學(xué)已經(jīng)沒多少時間了。班主任說已經(jīng)安排了三個家長分享經(jīng)驗总处。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,515評論 16 22