注意力機制(Attention)

1.?注意力認知和應用

????????AM: Attention Mechanism,注意力機制。

????????根據眼球注視的方向,采集顯著特征部位數據:

????????注意力示意圖:

????????注意力機制是一種讓模型根據任務需求動態地關注輸入數據中重要部分的機制。通過注意力機制,模型可以做到對圖像中不同區域、句子中的不同部分給予不同的權重,從而增強感興趣特征,并抑制不感興趣區域。

????????注意力機制最初應用于機器翻譯(如Transformer),后逐漸被廣泛應用于各類任務,包括:
? ? ? ? 1.?NLP:如機器翻譯、文本生成、摘要、問答系統等。

機器翻譯關鍵詞提取,摘要生成:輸入句和參考摘要之間的重疊關鍵詞(紅色)涵蓋了輸入句的重要信息,可根據這些關鍵字生成摘要

? ? ? ? 2. 計算機視覺:如圖像分類(細粒度識別)、目標檢測(顯著目標檢測)、圖像分割(圖像修復)等。

細粒度識別圖像修復:監控攝像頭去除雨線、雨滴等

? ? ? ? 3.?跨模態任務:如圖文生成、視頻描述等。

????????這里我們學習下視覺處理中常見的典型注意力機制,如特征注意力、空間注意力以及混合注意力。

2.?通道注意力

????????對不同的特征通道進行增強或抑制,也就是賦予不同的權重參數。96個卷積核卷之后會得到不同的96個特征圖譜:邊緣、形狀、顏色等,不同的通道關注不同的特征

2.1?SENet

????????Squeeze-and-Excitation Networks:擠壓 - 和 - 激活、激發。

????????SENet模型論文: https://arxiv.org/pdf/1709.01507

2.1.1?基本認知

????????Filter SENet采用具有全局感受野的池化操作進行特征壓縮,并使用全連接層學習不同特征圖的權重,模型流程圖如下:

2.1.2?流程詳解

? ? ? ? 1.?Squeeze階段:該階段通過全局平均池化完成全局信息提取,公式如下:

????????示意圖如下:

# Squeeze:壓縮、降維、擠壓
self.sq = nn.AdaptiveAvgPool2d(1)

? ? ? ? 2.?Excitation階段:Squeeze的輸出作為Excitation階段的輸入,經過兩個全連接層,動態地為每個通道生成權重,公式如下:

????????示意圖如下:

????????全連接層加入激活函數,用于引入非線性變化

  1. 第一個全連接層(ReLU),將通道數從C降維為C/r。

  2. r 是縮放因子,Ratio,比例的意思,用以減少運算量和防止過擬合

  3. 通過第二個全連接層(si4)將維度恢復為C,輸出一個1 \times 1 \times C的權重向量。

  4. 權重歸一化:使用sigmoid確保權重在0~1之間。

  5. 該向量代表每個通道的重要性,也就是注意力的權重。

# Excitation:激活
self.ex = nn.Sequential(nn.Linear(inplanes, inplanes // r),nn.ReLU(),nn.Linear(inplanes // r, inplanes),nn.Sigmoid(),
)

? ? ? ? 3.?輸出階段:特征\mathbf{u}_c和 Excitation階段產出的$\mathbf{s}_c$進行相乘操作,用于對不同的通道添加權重:

    def forward(self, x):# 緩存xintifi = xx = self.sq(x)x = x.view(x.size(0), -1)x = self.ex(x).unsqueeze(2).unsqueeze(3)return intifi * x

2.1.3?融入模型

????????作為一種即插即用模塊,可以添加到任意的層后,只要保證輸出通道不變即可,如把SE融入到ResNet模型,如下:

????????給ResNet-50加入SE注意力:

????????注解:表格中的 fc 后面的值,如 (16, 256) 或 (32, 512),表示在SE模塊中的兩個全連接層的維度變化。

2.1.4?性能對比

????????加入SE后的性能對比表:re-implementation是SE作者復現效果

2.1.5?縮放因子

????????太小參數量大,容易過擬合。太大的話特征丟失嚴重,整體看8或16是比較不錯的選擇,具體的還是根據業務來定

2.1.6?有無Squeeze

????????我們可以考慮不要Squeeze做平均池化,直接在Excitation階段進行卷積操作。從下標看的出來,這個Squeeze階段還是很有必要的。

2.1.7?池化方式

????????我們也可以考慮采用最大池化,不過效果不如平均池化。因為對注意力來講更多的是維持原始信息,而不是強化特征。

2.1.8?激活函數

????????這里是針對第二個全連接層,我們想要的是一個概率向量,無疑返回值在(0 ~ 1)之間的Sigmoid是最好的選擇。

2.1.9?網絡位置?

????????SE模塊靈活度較高,如下:

????????性能對比如下:POST模式最差

2.1.10?不同階段添加

????????比如ResNet是分很多個階段的,不同的階段添加SE模塊效果是不一樣的。

????????看的出來,越靠后的位置效果越好,因為越靠后特征學習的越好,此時加入效果就越好。當然全加SE的效果最好,不過參數量也不小。

2.2?SKNet

????????Selective Kernel Networks:可選擇的 ?卷積核尺寸

????????目的:bSKNet中的神經元可以捕獲不同尺度的目標物體,這驗證了神經元根據輸入自適應調整其感受野大小的能力。

????????SKNet論文地址:https://arxiv.org/pdf/1903.06586

2.2.1?基本認知

????????SK是對SE的改進版,可以動態調整感受野大小,分為Split-Fuse-Select共3個階段,模型流程圖如下:

2.2.2?Split階段

????????- 在Split階段會分出多個分支,每個分支實現不同大小的感受野,從而捕獲不同的特征。
????????- 為提高效率,傳統的5×5卷積被替換為帶有3×3卷積核和膨脹大小為2的膨脹卷積。
????????- 具體公式如下:

2.2.3?Fuse階段

????????該階段會整合分支信息,具體步驟如下:
? ? ? ? 1.?通過element-wise summation得到 U:\mathbf{U}=\widetilde{\mathbf{U}}+\widehat{\mathbf{U}}
? ? ? ? 2.?通過global average pooling得到特征s:s_c=\mathcal{F}_{gp}(\mathbf{U}_c)=\frac1{H\times W}\sum_{i=1}^H\sum_{j=1}^W\mathbf{U}_c(i,j)就是一個平均池化操作。
? ? ? ? 3.?通過FC全連接層得到$\mathbf{z}\in\mathbb{R}^{d\times1}$\mathbf{z}=\mathcal{F}_{fc}(\mathbf{s})=\delta(\mathcal{B}(\mathbf{W}\mathbf{s})),其中\mathcal{B}是batch normalization,\delta是ReLU,\mathbf{W}\in\mathbb{R}^{d\times{C}}。注意這里通過reduction ratio r 和閾值 L 兩個參數控制 z 的輸出通道 d:d=\max(C/r,L),L?默認值為32。
? ? ? ? 4.?通過兩個不同的FC層(即矩陣A、B)分別得到 a 和 b,這里將通道從 d 又映射回原始通道數 C。
? ? ? ? 5.?對 a,b 對應通道 c 處的值進行 softmax 處理。

????????在公式中,A,B\in\mathbb{R}^{d\times C}A_c zB_c z分別代表不同(3×3、5×5)的卷積核經過全局池化(F_{gp})和全連接層(F_{fc})后得到的特征。a,b分別表示\widetilde{\mathbf{U}}\widehat{\mathbf{U}}的注意力系數。

2.2.4?Select階段

????????具體步驟如下:
? ? ? ? 1. \widetilde{\mathbf{U}}\widehat{\mathbf{U}}分別與 sofmax 處理后的 a,b 相乘,再相加,得到最終輸出的 V 和原始輸入 X 的維度一致。

????????其中$\mathbf{V} = [\mathbf{V}_1,\mathbf{V}_2,...,\mathbf{V}_c], \mathbf{V}_c \in \mathbb{R}^{H\times W}$

2.2.5?融入模型

????????ResNeXt加入SE和SK:

2.2.6?注意力權重分析

????????圖標注解:

  • 通過中心裁剪和隨后的調整大小,逐步將中心對象從1.0× 擴大到2.0×

  • SK_X_Y 中的 X 代表網絡的不同層級(Stage),數字越大表示層越深。

  • Y 代表該層級中的第幾個SK模塊。

  • 不同的SK模塊在不同的層級負責提取不同尺度、不同語義的特征。

  • 從第2層到第5層,特征從低級(如邊緣、紋理)逐漸過渡到高級語義信息(如物體、場景等)。

  • channel index(32、64、96等) 表示不同通道編號。

  • activation表示每個通道上的注意力權重值。這個值越高,表明網絡對該通道上的特征越重視。

????????結論:
????????1. 當目標物體增大時,對大核(5×5) 的關注權值增大,這表明神經元自適應地變大。
????????2. 我們發現了一個關于自適應選擇跨深度作用的令人驚訝的模式:目標對象越大,越會將更多的注意力分配給更大的對象。
????????3. 隨著網絡加深,5x5卷積核的權重值也逐漸在變大,但在更高層時又不同。

????????對于使用ImageNet上所有驗證樣本的1000個類別中的每一個,在SKNet-50的SK單元上的平均注意差(內核的平均注意值5×5減去內核的平均 注意值3×3)。在低級或中級SK單元(例如,SK 2.3, SK 34 4)上,如果目標對象變大(1.0x→1.5x),則明顯更強調5×5核。

????????結論:在低級和中級階段(例如,SK 23 3, SK 34 4),通過選擇性核機制的核。然而,在更高的層次(例如,SK 53 ?3),所有的尺度信息都丟失了,這樣的模式消失了。
????????這表明在網絡的前期,可以根據對象大小的語義感知選擇合適的核大小,從而有效地調整這些神經元的RF大小。然而,這種模式不存在于像SK 5.3這樣的非常高層中,因為對于高層表示, “尺度”部分編碼在特征向量中,與低層的情況相比, 內核大小的影響較小。

2.2.7?性能對比

3.?空間注意力

????????空間注意力(Spatial Attention)是一種專注于特征圖的空間維度的重要性分配的機制。它通過對特征圖中的特定空間位置進行加權,從而突出對任務最有貢獻的區域,抑制無關或冗余的區域,以提高模型的性能

3.1?Spatial Attention Module

????????這里介紹的空間注意力是 CBAM 中的組成模塊。
????????論文地址:https://arxiv.org/pdf/1807.06521
????????空間注意力模塊通過卷積操作為特征圖的每個空間位置生成權重,聚焦在圖像中的關鍵區域,這是對通道注意力的補充。

  • 空間注意力模塊計算公式如下:

    • \mathbf{F_{avg}^s}\in\mathbb{R}^{1\times H\times W}表示通道中的平均池化特征

    • \mathbf{F_{max}^s}\in\mathbb{R}^{1\times H\times W}表示通道中的最大池化特征

    • f^{7\times7}表示濾波器大小為 7×7 的卷積操作

    • \sigma表示 sigmoid 激活函數

  • 空間注意力模塊布局如下:

    • 輸入特征:通道注意力模塊的輸出 F' 就是空間注意力模塊的輸入。

    • 池化操作

      • 在 F' 的通道維度上進行全局的 MaxPool 和 AvgPool,生成 2 個二維特征圖,維度為 1 × H × W。

    • 卷積層

      • 把池化得到的特征圖連接起來F_{concat}\in\mathbb{R}^{2 \times H\times W}

      • 使用一個7 \times 7的卷積核對拼接后的特征圖進行卷積操作,經 Sigmoid 激活后,生成空間注意力圖 M_S,維度為1 \times H \times W

    • 輸出

      • 空間注意力圖M_S與經過通道注意力增強后的特征圖 F' 逐元素相乘,輸出最終的增強特征圖。

3.1.1?實驗結論

????????這個實驗結論是 CBAM 論文中給出的,不僅僅是添加了空間注意力,還添加了通道注意力,可以看出都比不用(baseline)效果要好

3.1.2?構建

import torch
import torch.nn as nn# 空間注意力模塊
class SpatialAttentionModule(nn.Module):def __init__(self):super(SpatialAttentionModule, self).__init__()self.conv = nn.Sequential(nn.Conv2d(in_channels=2, out_channels=1, kernel_size=7, stride=1, padding=3),nn.Sigmoid(),)def forward(self, x):max_pool = torch.max(x, dim=1, keepdim=True)[0]avg_pool = torch.mean(x, dim=1, keepdim=True)pool = torch.cat([max_pool, avg_pool], dim=1)out = self.conv(pool)return out

3.2?Learn to Pay Attention

????????論文地址:https://arxiv.org/pdf/1804.02391。
????????源代碼地址:https://github.com/SaoYan/LearnToPayAttention。

????????空間注意力(Spatial Attention)主要用于CV,它在空間維度上選擇性地關注輸入特征圖的不同位置,從而提升模型對關鍵區域的感知能力。其實現原理是基于不同像素位置,生成對應概率掩碼,是比較低層的注意力機制。

3.2.1?基本認知

????????結合全局特征和局部特征獲得注意力機制,使用加權的局部特征來識別目標。

  • Local features:局部特征

    如頭部、輪子、尾翼、發動機、機身標志或窗戶等,包含豐富的細節,對于識別飛機的具體種類、型號等非常有幫助。

  • Global features:全局特征

    如整體形狀、輪廓、大小、相對背景中的位置等;對于識別是什么飛機很重要,如戰斗機、客機還是直升機。

  • 特征融合:

    在生成注意力權重前會對輸入的局部和全局特征進行融合。通過全局池化(Global Average Pooling)來獲得全局上下文信息。

  • Attention Estimator:

    對輸入特征圖進行多層卷積、池化、激活等操作,用來挖掘特征之間的關系,從而生成注意力權重圖。權重圖的每個位置對應特征圖中的一個空間位置,表示該位置的重要性。

  • Att. Weighted Combination:

    將生成的注意力圖與原始特征圖逐點相乘,得到加權后的特征圖。

3.2.2?融入模型

????????基于VGG16網絡的多層注意力融合:是為了適配不同大小的目標。

????????通過多層注意力估計器,模型能夠學會在不同的特征層次上關注有用的信息,提升分類性能。

? ? ? ? 1)流程概述:

  • 局部特征向量,s表示特征圖層數:\mathcal{L}^s=\{\boldsymbol{\ell}_1^s,\boldsymbol{\ell}_2^s,\cdots,\boldsymbol{\ell}_n^s\},s\in\{1,\cdots,S\}

  • L_n(L_1,L_2,L_3)為VGG不同層級的局部特征向量,將FC-1, 512的輸出 G 視作全局特征,同時移除FC-2, 10層。

  • Attention Estimator 接收 L_n 和 G 作為輸入,計算出注意力權重圖(Attention map),挖掘特征之間的關系。

  • Attention map作用于 L_n 的每個channel得到 Weighted local feature

  • 把各個層級下的進行連接操作后得到

  • 最后將送入全連接層FC-2, 10進行分類。

? ? ? ? 2)計算過程:
????????
計算過程及關聯數學公式如下:

????????公式注解:

  • c_{i}^{s}:第 s 層特征圖在位置 i 處的兼容性分數(compatibility score)。

  • a_i^s:通過 softmax 計算得到的第 s 層特征圖在位置 i 處的注意力權重。

  • g_a^s:經過注意力加權后的第 s 層特征圖的全局加權特征向量。

  • \ell_i^s:第 s 層特征圖在位置 i 處的局部特征向量。

  • a_i^s \cdot \ell_i^s:注意力權重a_i^s和局部特征l_i^s相乘,表示該位置在注意力機制中的貢獻。

  • g_a:最終得到的全局加權特征向量,它是不同層的加權特征向量g_a^s的拼接結果。

  • g_a^s:是第 s 層卷積特征圖的加權特征向量。

? ? ? ? 2)兼容性得分計算:
????????兼容性得分,compatibility score,論文給出了兩種方式:

  • 內積法:兩個特征直接做點乘得到:c_i^s=\langle\ell_i^s,\boldsymbol{g}\rangle, i\in\{1\cdots n\}.

  • 有參法:將兩個張量逐元素相加后,再經過一個全連接層進行學習, 下式中 \boldsymbol{u} 就是學習到的線性映射:c_i^s=\langle\boldsymbol{u},\boldsymbol{\ell}_i^s+\boldsymbol{g}\rangle, i\in\{1\cdots n\}

3.2.2?實驗效果

????????從可視化和數據化兩個方面進行觀察。

? ? ? ? 1)效果可視化:

????????圖閱讀注解:
????????proposed:
表示加入LTPA注意力機制。
????????existing:表示加入傳統的注意力機制。

? ? ? ? 2)效果數據化

????????表閱讀注解:注意力獲取方法:pc表示有參法,dp表示內積法,最終預測策略:concat表示特征拼接后預測,indep表示多尺度獨立預測結果相加

4.?混合注意力

????????混合注意力機制(Hybrid Attention Mechanism)是一種結合空間和通道注意力的策略,旨在提高神經網絡的特征提取能力。

4.1?CBAM

????????Convolution Block Attention Module :卷積塊注意力模塊
????????論文地址:https://arxiv.org/pdf/1807.06521

4.1.1?基本認知

????????CBAM是一種輕量級的注意力模塊,它通過增加空間和通道兩個維度的注意力,來提高模型的性能。

????????

????????一維的通道注意力圖:\mathcal{M}_{\mathbf{c}}\in\mathbb{R}^{C\times1\times1}

????????二維的空間注意力圖:\mathbf{M_s}\in\mathbb{R}^{1\times H\times W}

????????整個注意力過程可以概括為:

4.1.2?通道注意力模塊

????????通道注意力模塊的目的是為每個通道生成一個注意力權重,整體流程如下圖:

????????通道注意力模塊機制公式如下:

????????其中:r是縮放因子,用以減少參數量

????????通道注意力模塊機制詳情如下:

  • 輸入特征:輸入特征圖 F 的尺寸為 H × W × C。

  • 全局池化

    • 首先對 F 進行全局的MaxPool和AvgPool,得到兩個特征圖,尺寸為 1×1×C。

    • MaxPool提取了局部強響應特征,AvgPool提取了全局視角。

  • 共享多層感知器(MLP)

    • 池化后的2個特征向量分別送入一個共享MLP,它包含兩個全連接層,用來處理和生成通道注意力。

    • MLP的共享權重減少了參數量,同時確保兩個特征向量的變換方式是一致的。

    • MLP首先會降維為 C/r,然后升維為 C。

  • 加法與激活

    MLP輸出的兩個特征向量逐元素相加后經Sigmoid后,生成維度為 1 × 1 × C的通道注意力圖 M_c,表示每個通道的重要性。

  • 輸出

    通道注意力圖M_c與輸入特征圖 F 逐通道相乘,生成經過通道注意力增強的特征圖,維度不變的。

4.1.3?空間注意力模塊

????????空間注意力模塊通過卷積操作為特征圖的每個空間位置生成權重,聚焦在圖像中的關鍵區域。

????????空間注意力模塊機制公式如下:

????????其中:

????????空間注意力模塊機制詳情如下:

  • 輸入特征:通道注意力模塊的輸出 F' 就是空間注意力模塊的輸入。

  • 池化操作

    • 首先在 F' 的通道維度上進行全局的MaxPool和AvgPool,生成2個二維特征圖,維度為 H × W × 1。

    • 這樣可以分別提取空間上最重要的局部和全局信息。

  • 卷積層

    將池化得到的兩個特征圖按通道維度進行連接,形成一個 H × W × 2 的特征圖,并通過大小為 7 × 7 的卷積層處理。

  • 激活與輸出

    • 卷積層的輸出經Sigmoid激活后,生成單通道的空間注意力圖M_S,維度為H \times W \times 1

    • 空間注意力圖與經過通道注意力增強后的特征圖 F' 逐元素相乘,輸出最終的增強特征圖。

4.1.4?不同策略效果對比

? ? ? ? 1)通道注意力:加入通道注意力:可以看的出來都比不用(baseline)效果要好。

? ? ? ? 2)疊加空間注意力:在通道注意力的基礎之上加入空間注意力,就是混合注意力:效果最好的就是CBAM,并且池化不需要參數。

? ? ? ? 3)疊加順序:空間注意力和通道注意力位置調整效果對比:還是CBAM的效果好。

? ? ? ? 4)不同模型:不同模型對比:主打一個CBAM就是好。

? ? ? ? 5)輕量級模型:在一些輕量級模型上的效果還是很明顯的。

? ? ? ? 6)注意力可視化:可視化的方式對比。

4.2?BAM

????????Bottleneck Attention Module:瓶頸注意力模塊。
????????論文地址:https://arxiv.org/pdf/1807.06514

4.2.1?基本認知

????????BAM是通過在空間和通道兩個維度上分別構建注意力模塊,它們是**并行處理**的。

????????其中:形狀不同的張量會自動進行廣播機制。

4.2.2?通道注意力模塊

????????通道注意力公式表達如下:

????????通道注意力流程如下:

  • 全局平均池化:對輸入特征 F 進行GlobalAvgPooling,保留通道的重要全局信息。

  • 全連接層:池化后的特征通過兩個FC,第一個FC降維,第二個FC則恢復到原通道數 C。這一過程可以學習通道間的依賴關系。

  • 通道注意力:通過激活函數 Sigmoid 生成通道注意力圖 M_c(F),用于對原始通道進行加權,強調重要通道,抑制不重要通道。

4.2.3?空間注意力模塊

????????空間注意力公式表達如下:

????????空間注意力流程如下:

  • 1×1卷積:對輸入特征 F 進行一次卷積操作,用于壓縮通道維度并保持原始的空間信息,壓縮因子是 r=16。

  • 膨脹卷積:使用兩層膨脹卷積(Dilated Convolution),膨脹率為 d=4。這樣既擴大了感受野,又不增加參數量,幫助模型在空間維度上捕捉更廣的上下文信息。

  • 空間注意力生成:卷積操作生成一個空間注意力圖 M_s(F),用于標識出空間維度上哪些位置更重要。

4.2.4?注意力融合

????????通道和空間注意力融合:M_c(F)M_s(F)相加后,通過Sigmoid處理,生成最終的注意力圖 M(F)

4.2.5?注意力應用

  • BAM注意力圖 M(F) 應用到 F 上,從而對特征圖進行重新加權。

  • 殘差連接:將加權后的特征圖與輸入特征 F 進行相加,形成殘差連接。

    這樣不僅保留了原始特征信息,還讓網絡學習到重要的注意力區域。

4.2.6?實驗結果

????????對比不同情況下的模型效果。

? ? ? ? 1)超參數配置:

????????超參數:膨脹卷積的膨脹系數、FC的縮放因子

? ? ? ? 2)融合方式:

????????融合方式不同,效果也不同,最總就是兩個注意力并行后相加效果最好。

? ? ? ? 3)模型橫向對比:

????????可以看的出來,加入BAM之后,都有明顯的效果提升,說明這種方式是有效的且通用的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904512.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904512.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904512.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解鎖 AI 生產力:Google 四大免費工具全面解析20250507

🚀 解鎖 AI 生產力:Google 四大免費工具全面解析 在人工智能迅猛發展的今天,Google 推出的多款免費工具正在悄然改變我們的學習、工作和創作方式。本文將深入解析四款代表性產品:NotebookLM、Google AI Studio、Google Colab 和 …

知識圖譜:AI大腦中的“超級地圖”如何煉成?

人類看到“蘋果”一詞,會瞬間聯想到“iPhone”“喬布斯”“牛頓”,甚至“維生素C”——這種思維跳躍的背后,是大腦將概念連結成網的能力。而AI要模仿這種能力,需要一張動態的“數字地圖”來存儲和鏈接知識,這就是?知識…

Win11 24H2首個熱補丁下周推送!更新無需重啟

快科技5月7 日消息,微軟宣布,Windows 11 24H2的首個熱補丁更新將于下周通過Patch Tuesday發布,將為管理員帶來更高效的安全更新部署方式,同時減少設備停機時間。 為幫助IT管理員順利過渡到熱補丁模式,微軟還提供了豐富…

【Python類(Class)完全指南】面向對象編程入門

目錄 🌟 前言🧩 技術背景與價值🚧 當前技術痛點🛠? 解決方案概述👥 目標讀者說明 📚 一、技術原理剖析🎨 核心概念圖解💡 核心作用講解 💻 二、實戰演示🛠?…

全自動輿情監控系統實現方案

想要通過代碼實現全自動的全網輿情監控,還要用代理來輔助。全自動的話,可能是指從數據抓取、處理到分析都不需要人工干預。全網輿情監控意味著要覆蓋多個平臺,比如新聞網站、社交媒體、論壇等等。代理的使用可能是為了繞過反爬蟲機制&#xf…

【Linux 系統調試】Linux 調試工具strip使用方法

? 目錄 ? 一. strip 工具的定義與核心作用? ?1. strip 是什么?? 2. strip 工具調試符號的作用? 3. strip 工具調試符號的重要性? 二. 如何確認文件是否被 strip 處理?? 1. 通過 file 命令檢查文件狀態 2. strip 的典型用法? ?基礎命…

多模態大模型輕量化探索-開源SmolVLM模型架構、數據策略及其衍生物PDF解析模型SmolDocling

在《多模態大模型輕量化探索-視覺大模型SAM的視覺編碼器》介紹到,縮小視覺編碼器的尺寸,能夠有效的降低多模態大模型的參數量。再來看一個整體的工作,從視覺側和語言模型側綜合考量模型參數量的平衡模式,進一步降低參數量&#xf…

代碼隨想錄第36天:動態規劃9(序列問題)

一、最長遞增子序列&#xff08;Leetcode 300&#xff09; 1.dp數組定義&#xff1a; dp[i] 為以 nums[i] 結尾的最長遞增子序列長度。 2.狀態轉移&#xff1a; dp[i] max(dp[i], dp[j] 1) for all j < i and nums[j] < nums[i] 2.dp數組初始化&#xff1a; 所有 …

【Spring Boot 注解】@SpringBootApplication

文章目錄 SpringBootApplication注解一、簡介二、使用1.指定要掃描的包 SpringBootApplication注解 一、簡介 SpringBootApplication 是 Spring Boot 提供的一個注解&#xff0c;通常用于啟動類&#xff08;主類&#xff09;上&#xff0c;它是三個注解的組合&#xff1a; 1.…

openstack虛擬機狀態異常處理

1、openstack虛擬機task_state狀態異常處理 問題描述&#xff1a; 正常狀態&#xff1a; 異常狀態&#xff1a; 任務狀態應為 無&#xff0c;但該虛擬機為None。無法執行開機、關機等操作。 當前異常狀態下通過命令行關閉虛擬機會報錯&#xff0c;報錯信息如下&#xff1a; […

【數據結構】手撕二叉搜索樹

目錄 二叉搜索樹的概念二叉搜索樹的實現節點類構造函數拷貝構造函數賦值運算符重載析構函數插入函數查找函數刪除函數中序遍歷 二叉搜索樹的應用(k和k/v模型 ) 二叉搜索樹的概念 ?叉搜索樹?稱?叉排序樹&#xff0c;它或者是?棵空樹&#xff0c;或者是具有以下性質的?叉樹…

藍橋杯 20. 倍數問題

倍數問題 原題目鏈接 題目描述 眾所周知&#xff0c;小蔥同學擅長計算&#xff0c;尤其擅長判斷一個數是否是另一個數的倍數。但當面對多個數時&#xff0c;他就比較苦惱了。 現在小蔥給了你 n 個數&#xff0c;希望你從中找出三個數&#xff0c;使得這三個數的 和是 K 的倍…

SpirngAI框架 Advisor API詳解

SpringAI提供了Advisors API來實現請求和響應的攔截&#xff0c;修改&#xff0c;增強Spring應用程序和AI模型的互動。 可以使用ChatClient API來配置現有的advisor&#xff0c;例如&#xff1a; var chatClient ChatClient.builder(chatModel) .defaultAdvisors( new Message…

用go從零構建寫一個RPC(仿gRPC,tRPC)--- 版本1(Client端)

這里我們來實現這個RPC的client端 為了實現RPC的效果&#xff0c;我們調用的Hello方法&#xff0c;即server端的方法&#xff0c;應該是由代理來調用&#xff0c;讓proxy里面封裝網絡請求&#xff0c;消息的發送和接受處理。而上一篇文章提到的服務端的代理已經在.rpc.go文件中…

bpftrace 中使用 bpf_trace_printk

bpf_trace_printk bcc 中可以通過 bpf_trace_printk 來打印輸出 , 同時有個非常有用的功能, 同時輸出到 /sys/kernel/tracing/trace 文件中 比如bcc代碼 // read_trace.c&#xff08;eBPF 內核態代碼&#xff09; #include <vmlinux.h> #include <bpf/bpf_helpers.h…

解決 Chrome 與 Chromedriver 版本不一致問題的方法

目錄 常見錯誤處理 處理方案&#xff1a; 1. 自動版本匹配方法 使用 webdriver-manager 庫&#xff08;推薦&#xff09; 2. 手動版本管理方法 檢查并匹配版本 3. 版本兼容性解決方案 使用兼容性表 4. 自動更新策略 定期檢查更新腳本 5. Docker 容器化方案 最佳實踐建…

【強化學習】強化學習算法 - 多臂老虎機問題

1、環境/問題介紹 概述&#xff1a;多臂老虎機問題是指&#xff1a;智能體在有限的試驗回合 &#x1d447; 內&#xff0c;從 &#x1d43e; 臺具有未知獎賞分布的“老虎機”中反復選擇一個臂&#xff08;即拉桿&#xff09;&#xff0c;每次拉桿后獲得隨機獎勵&#xff0c;目…

pcie協議復位

pcie協議復位共有4中情況&#xff1b;cold reset&#xff1b;warm reset&#xff1b;hot reset&#xff1b;function level reset&#xff1b; 分類&#xff1a; 依據spec 6.6&#xff1a; Conventional reset&#xff08;傳統復位&#xff09;&#xff1a;cold&#xff0c;…

Redis--哈希類型

目錄 一、Hash 哈希 1.2 常用命令 1.2.1 HSET 1.2.2 HGET 1.2.3 HEXISTS 1.2.4 HDEL 1.2.5 HKEYS 1.2.6 HVALS 1.2.7 HGETALL 1.2.8 HMGET 1.2.9 HLEN 1.2.10 HSETNX 1.2.11 HINCRBY 1.2.12 HINCRBYFLOAT 1.3 內部編碼 一、Hash 哈希 幾乎所有的主流編程語言都提…

華為安全認證好還是數通認證好?

在華為認證體系中&#xff0c;安全認證 與數通認證 &#xff08;數據通信&#xff09;是兩個熱門方向&#xff0c;分別面向網絡安全與網絡架構領域。 安全和數通的技術難度對比 市場需求 安全認證&#xff1a;隨著網絡安全形勢日益嚴峻&#xff0c;企業對網絡安全的重視程度不…