主頁 >  其他 > 神經網路與深度學習(六)——注意力機制

神經網路與深度學習(六)——注意力機制

2021-02-10 12:45:26 其他

邱錫鵬《神經網路與深度學習》學習筆記,

神經網路與深度學習(六)—— 注意力機制

    • 1.1 注意力機制
      • 1.1.1 認知神經學中的注意力
      • 1.1.2 注意力機制
        • 1.1.2.1 注意力分布
        • 1.1.2.2 加權平均
      • 1.1.3 注意力機制的變體
        • 1.1.3. 1 鍵值對注意力
        • 1.1.3.2 多頭注意力
        • 1.1.3.3 結構化注意力
        • 1.1.3.4 指標網路
    • 1.2 自注意力機制

為了減少計算復雜度,我們引入了區域連接權重共享以及池化操作來簡化網路結構,但目前計算機的計算能力依然是限制神經網路發展的瓶頸,因此我們依然希望在不過度增加模型復雜度(主要是模型引數)的情況下來提高模型的表達能力,

神經網路中可以存盤的資訊量稱為網路容量(Network Capacity),一般來講神經網路的存盤容量和神經元的數量以及網路的復雜度成正比,

我們可以借鑒人腦解決輸入資訊過載的機制,從兩個方面來提高神經網路處理資訊的能力:

  1. 注意力機制,通過自上而下的資訊選擇機制來過濾掉大量的無關資訊
  2. 外部記憶,引入額外的外部記憶,優化神經網路結構來提高網路存盤資訊的容量

本文僅探討注意力機制,

1.1 注意力機制

在計算能力有限的情況下,Attention Mechanism 作為資源分配方案,是解決資訊超載問題的主要手段,

一個非常有助于理解的鏈接:深度學習中的注意力模型,

1.1.1 認知神經學中的注意力

大腦從大量的輸入資訊中,重點關注一小部分有用的資訊同時忽略其他資訊的選擇能力,叫做注意力 (Attention),

大腦的注意力一般分為兩種:

  1. 聚焦式注意力(Focus Attention),有預定目標、依賴任務的、主動有意識的聚焦于某一物件的注意力,
  2. 基于顯著性的注意力(Saliency Based Attention),由外界刺激驅動的注意力,不需要主動干預,也和任務無關,如果一個物件的刺激資訊不同于其周圍資訊,一種無意識的“贏者通吃(Winner-Take-All)”或者門控機制(Gating)就可以把注意力轉向這個物件,

目前的神經網路模型中最大池化(Max Pooling)、門控機制(Gating)近似可以看做基于顯著性的注意力機制,

1.1.2 注意力機制

此處注意力機制指主動的聚焦式注意力,

X = [ x 1 , ? ? , x N ] ∈ R D × N \boldsymbol{X}=\left[\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{N}\right] \in \mathbb{R}^{D \times N} X=[x1?,?,xN?]RD×N表示 N N N 組輸入資訊,其中 D D D維向量 x n ∈ R D , n ∈ [ 1 , N ] \boldsymbol{x}_{n}\in\mathbb{R}^{D},n\in[1,N] xn?RD,n[1,N]表示一組輸入資訊,為了節省計算資源,只需要從 X \boldsymbol{X} X 中選擇一些和任務相關的資訊,

注意力機制的計算可以分為兩步:

  1. 在所有輸入資訊上計算注意力分布
  2. 根據注意力分布計算輸入資訊的加權平均

1.1.2.1 注意力分布

為了從 N N N輸入向量 [ x 1 , ? ? , x N ] [\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{N}] [x1?,?,xN?]中選擇出和某個特定任務相關的資訊,我們需要引入一個和任務相關的表示,稱為查詢向量(Query Vector),并通過一個打分函式來計算每個輸入向量查詢向量之間的相關性,

給定一個和任務相關的查詢向量 q \boldsymbol{q} q(查詢向量可以是動態生成的,也可以是可學習的引數),我們用注意力變數 z ∈ [ 1 , N ] z\in[1,N] z[1,N]來表示被選擇資訊的索引位置,即 z = n z=n z=n 表示選擇了第 n n n個輸入向量,為了方便計算,我們采用一種“軟性”的資訊選擇機制,首先計算在給定 q \boldsymbol{q} q X \boldsymbol{X} X下,選擇第 i i i個輸入向量的概率 α n \alpha_n αn?
α n = p ( z = n ∣ X , q ) = softmax ? ( s ( x n , q ) ) = exp ? ( s ( x n , q ) ) ∑ j = 1 N exp ? ( s ( x j , q ) ) \begin{aligned} \alpha_{n} &=p(z=n \mid \boldsymbol{X}, \boldsymbol{q}) \\ &=\operatorname{softmax}\left(s\left(\boldsymbol{x}_{n}, \boldsymbol{q}\right)\right) \\ &=\frac{\exp \left(s\left(\boldsymbol{x}_{n}, \boldsymbol{q}\right)\right)}{\sum_{j=1}^{N} \exp \left(s\left(\boldsymbol{x}_{j}, \boldsymbol{q}\right)\right)} \end{aligned} αn??=p(z=nX,q)=softmax(s(xn?,q))=j=1N?exp(s(xj?,q))exp(s(xn?,q))??
其中 α n \alpha_{n} αn?稱為注意力分布(Attention Distribution), s ( x n , q ) s\left(\boldsymbol{x}_{n}, \boldsymbol{q}\right) s(xn?,q)注意力打分函式(s即similarity,計算兩者的相似性或者相關性),可以使用以下幾種方式來計算:

  • 加性模型: s ( x , q ) = v ? tanh ? ( W x + U q ) s(\boldsymbol{x}, \boldsymbol{q})=\boldsymbol{v}^{\top} \tanh (\boldsymbol{W} \boldsymbol{x}+\boldsymbol{U} \boldsymbol{q}) s(x,q)=v?tanh(Wx+Uq)
  • 點積模型: s ( x , q ) = x T q s(\boldsymbol{x}, \boldsymbol{q})=\boldsymbol{x}^{\text{T}}\boldsymbol{q} s(x,q)=xTq
  • 縮放點積模型: s ( x , q ) = x ? q D s(\boldsymbol{x}, \boldsymbol{q})=\frac{\boldsymbol{x}^{\top} \boldsymbol{q}}{\sqrt{D}} s(x,q)=D ?x?q?
  • 雙線性模型: S ( x , q ) = x ? W q S(\boldsymbol{x}, \boldsymbol{q})=\boldsymbol{x}^{\top} \boldsymbol{W} \boldsymbol{q} S(x,q=x?Wq

其中 W \boldsymbol{W} W U \boldsymbol{U} U v \boldsymbol{v} v 為可學習的引數, D D D為輸入向量的維度,

理論上加性模型和點積模型的復雜度差不多,但點積模型可以更好的利用矩陣乘積,計算效率更高,

當輸入向量的維度較高時,點積模型的值通常由較大的方差,從而導致 Softmax 函式的梯度會比較小,而縮放點積模型可以較好的解決這個問題,

雙線性模型是一種泛化的點積模型,假設模型引數 W = U T V \boldsymbol{W}=\boldsymbol{U}^T\boldsymbol{V} W=UTV,雙線性模型可寫為 s ( x , q ) = x ? U ? V q = ( U x ) ? ( V q ) s(\boldsymbol{x}, \boldsymbol{q})=\boldsymbol{x}^{\top} \boldsymbol{U}^{\top} \boldsymbol{V} \boldsymbol{q}=(\boldsymbol{U} \boldsymbol{x})^{\top}(\boldsymbol{V} \boldsymbol{q}) s(x,q)=x?U?Vq=(Ux)?(Vq),即分別對 x \boldsymbol{x} x, q \boldsymbol{q} q進行線性變換后計算點積,相比點積模型,雙線性模型在計算相似度時引入了非對稱性,

1.1.2.2 加權平均

注意力分布 α n \alpha_n αn?可以解釋為在給定任務相關的查詢 q \boldsymbol{q} q時,第 n n n個輸入向量受關注的程度,我們采用一種“軟性”的資訊選擇機制對輸入資訊進行匯總,即軟性注意力機制(Soft Attention Mechanism):
att ? ( X , q ) = ∑ n = 1 N α n x n = E z ~ p ( z ∣ X , q ) [ x z ] \begin{aligned} \operatorname{att}(\boldsymbol{X}, \boldsymbol{q}) &=\sum_{n=1}^{N} \alpha_{n} \boldsymbol{x}_{n} \\ &=\mathbb{E}_{z \sim p(z \mid \boldsymbol{X}, \boldsymbol{q})}\left[\boldsymbol{x}_{z}\right] \end{aligned} att(X,q)?=n=1N?αn?xn?=Ezp(zX,q)?[xz?]?

軟性注意力機制選擇的資訊是所有輸入向量在注意力分布下的期望,

下圖為軟性注意力機制示例:
在這里插入圖片描述

另一種注意力是只關注某一輸入向量,叫作硬性注意力(Hard Attention),硬性注意力有兩種實作方式:

1)選取注意力分布中概率最高的輸入向量,即最大采樣:
att ? ( X , q ) = x n ^ \operatorname{att}(\boldsymbol{X}, \boldsymbol{q})=\boldsymbol{x}_{\hat{n}} att(X,q)=xn^?

其中 n ^ \hat{n} n^為概率最大的輸入向量的下標,即 n ^ = arg ? max ? n = 1 N α n \hat{n}={\arg \max}^{N}_{n=1} \alpha_{n} n^=argmaxn=1N?αn?

2)在注意力分布式上隨機采樣,

硬性注意力的一個缺點是損失函式與注意力分布之間的函式關系不可導,無法使用反向傳播演算法進行訓練,因此硬性注意力通常使用強化學習來進行訓練,

注意力機制可以單獨使用,但更多的是作為神經網路中的一個組件,

1.1.3 注意力機制的變體

1.1.3. 1 鍵值對注意力

用鍵值對(key-velue pair)格式表示輸入資訊,其中“鍵”用來計算注意力分布 α n \alpha_n αn?,“值”用來計算聚合資訊,

( K , V ) = [ ( k 1 , v 1 ) , ? ? , ( k N , v N ) ] (\boldsymbol{K}, \boldsymbol{V})=\left[\left(\boldsymbol{k}_{1}, \boldsymbol{v}_{1}\right), \cdots,\left(\boldsymbol{k}_{N}, \boldsymbol{v}_{N}\right)\right] (K,V)=[(k1?,v1?),?,(kN?,vN?)]表示 N N N組輸入資訊,給定任務相關的查詢向量 q \boldsymbol{q} q時,注意力函式為:
att ? ( ( K , V ) , q ) = ∑ n = 1 N α n v n = ∑ n = 1 N exp ? ( s ( k n , q ) ) ∑ j exp ? ( s ( k j , q ) ) v n \begin{aligned} \operatorname{att}((\boldsymbol{K}, \boldsymbol{V}), \boldsymbol{q}) &=\sum_{n=1}^{N} \alpha_{n} \boldsymbol{v}_{n} \\ &=\sum_{n=1}^{N} \frac{\exp \left(s\left(\boldsymbol{k}_{n}, \boldsymbol{q}\right)\right)}{\sum_{j} \exp \left(s\left(\boldsymbol{k}_{j}, \boldsymbol{q}\right)\right)} \boldsymbol{v}_{n} \end{aligned} att((K,V),q)?=n=1N?αn?vn?=n=1N?j?exp(s(kj?,q))exp(s(kn?,q))?vn??
K = V \boldsymbol{K}=\boldsymbol{V} K=V時,鍵值對模式就等價于普通的注意力機制,

鍵值對模式圖示:
在這里插入圖片描述

1.1.3.2 多頭注意力

Multi-Head Attention 是利用多個查詢 Q = [ q 1 , ? ? , q M ] \boldsymbol{Q}=\left[\boldsymbol{q}_{1}, \cdots, \boldsymbol{q}_{M}\right] Q=[q1?,?,qM?]來并行地從輸入資訊中選取多組資訊,每個注意力關注輸入資訊的不同部分,
att ? ( ( K , V ) , Q ) = att ? ( ( K , V ) , q 1 ) ⊕ ? ⊕ att ? ( ( K , V ) , q M ) \operatorname{att}((\boldsymbol{K}, \boldsymbol{V}), \boldsymbol{Q})=\operatorname{att}\left((\boldsymbol{K}, \boldsymbol{V}), \boldsymbol{q}_{1}\right) \oplus \cdots \oplus \operatorname{att}\left((\boldsymbol{K}, \boldsymbol{V}), \boldsymbol{q}_{M}\right) att((K,V),Q)=att((K,V),q1?)?att((K,V),qM?) ⊕ \oplus 表示向量拼接,

1.1.3.3 結構化注意力

1.1.3.4 指標網路

注意力機制主要用來做資訊篩選,從輸入資訊中選取相關的資訊,

指標網路(Pointer Network)是一種序列到序列模型,輸入是長度為 N N N的向量序列 X = [ x 1 , ? ? , x N ] \boldsymbol{X}=\left[\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{N}\right] X=[x1?,?,xN?],輸出是長度為 M M M的下標序列 c 1 : M = c 1 , c 2 , ? ? , c M , c m ∈ [ 1 , N ] , ? m \boldsymbol{c}_{1: M}=c_{1}, c_{2}, \cdots, c_{M}, c_{m} \in[1, N], \forall m c1:M?=c1?,c2?,?,cM?,cm?[1,N],?m

和一般的序列到序列的任務不同,這里的輸出序列是輸入序列的下標(索引),比如輸入一組亂序的數字,輸出為按大小排序的輸入數字序列的下標,如輸入 20,5,10,輸出 1,3,2,

條件概率 p ( c 1 : M ∣ x 1 : N ) p\left(c_{1: M} \mid \boldsymbol{x}_{1: N}\right) p(c1:M?x1:N?)可以寫為
p ( c 1 : M ∣ x 1 : N ) = ∏ m = 1 M p ( c m ∣ c 1 : ( m ? 1 ) , x 1 : N ) ≈ ∏ m = 1 M p ( c m ∣ x c 1 , ? ? , x c m ? 1 , x 1 : N ) \begin{aligned} p\left(c_{1: M} \mid \boldsymbol{x}_{1: N}\right) &=\prod_{m=1}^{M} p\left(c_{m} \mid c_{1:(m-1)}, \boldsymbol{x}_{1: N}\right) \\ & \approx \prod_{m=1}^{M} p\left(c_{m} \mid \boldsymbol{x}_{c_{1}}, \cdots, \boldsymbol{x}_{c_{m-1}}, \boldsymbol{x}_{1: N}\right) \end{aligned} p(c1:M?x1:N?)?=m=1M?p(cm?c1:(m?1)?,x1:N?)m=1M?p(cm?xc1??,?,xcm?1??,x1:N?)?其中條件概率 p ( c m ∣ x c 1 , ? ? , x c m ? 1 , x 1 : N ) p\left(c_{m} \mid \boldsymbol{x}_{c_{1}}, \cdots, \boldsymbol{x}_{c_{m-1}}, \boldsymbol{x}_{1: N}\right) p(cm?xc1??,?,xcm?1??,x1:N?)可以通過注意力分布來計算,假設用一個回圈神經網路對 x c 1 , ? ? , x c m ? 1 , x 1 : N \boldsymbol{x}_{c_{1}}, \cdots, \boldsymbol{x}_{c_{m-1}}, \boldsymbol{x}_{1: N} xc1??,?,xcm?1??,x1:N?進行編碼得到向量 h m \boldsymbol{h}_m hm?,則
p ( c m ∣ c 1 : ( m ? 1 ) , x 1 : N ) = softmax ? ( s m , n ) p\left(c_{m} \mid c_{1:(m-1)}, x_{1: N}\right)=\operatorname{softmax}\left(s_{m, n}\right) p(cm?c1:(m?1)?,x1:N?)=softmax(sm,n?)
其中 s m , n s_{m,n} sm,n?為在解碼程序的第 m m m步時, h m \boldsymbol{h}_m hm? h n \boldsymbol{h}_n hn?的未歸一化的注意力分布,即
s m , n = v ? tanh ? ( W x n + U h m ) , ? n ∈ [ 1 , N ] s_{m, n}=\boldsymbol{v}^{\top} \tanh \left(\boldsymbol{W} \boldsymbol{x}_{n}+\boldsymbol{U} \boldsymbol{h}_{m}\right), \forall n \in[1, N] sm,n?=v?tanh(Wxn?+Uhm?),?n[1,N]
其中 v \boldsymbol{v} v, W \boldsymbol{W} W, U \boldsymbol{U} U為可學習的引數,

下圖給出了指標網路的實體,其中 h 1 \boldsymbol{h}_1 h1? h 2 \boldsymbol{h}_2 h2? h 3 \boldsymbol{h}_3 h3?為輸入數字 20,5,10 經過回圈神經網路的隱狀態, h 0 \boldsymbol{h}_0 h0?對應特殊字符‘<’.當輸入‘>’時,網路一步一步輸出桑輸入數字從大到小排列的下標,
在這里插入圖片描述

1.2 自注意力機制

雖然回圈網路理論上可以建立長距離依賴關系,但由于資訊傳遞的容量以及梯度消失問題,實際上也只能建立短距離依賴關系,

如果要建立序列之間的長距離依賴關系,可以使用以下兩種方法:
1)增加物理的層數,通過一個深層網路來獲取遠距離的資訊互動;
2)使用全連接網路,

全連接網路是一種非常直接的建模遠距離依賴的模型,但是無法處理變長的輸入序列,不同的輸入長度,其連接權重的大小也不同,這時我們可以利用注意力機制來“動態”的生成不同連接的權重,這就是自注意力模型(self-attention model),自注意力模型更容易捕獲中長距離的相互依賴關系,

為提高模型能力,自注意力模型經常采用查詢-鍵-值(query-key-velue,QKV)模式,其計算程序如下圖所示,其中紅色字母表示矩陣的維度,
在這里插入圖片描述
假設輸入序列為 X = [ x 1 , ? ? , x N ] ∈ R D x × N \boldsymbol{X}=\left[\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{N}\right] \in \mathbb{R}^{D_{x} \times N} X=[x1?,?,xN?]RDx?×N,輸出序列為 H = [ h 1 , ? ? , h N ] ∈ R D v × N \boldsymbol{H}=\left[\boldsymbol{h}_{1}, \cdots, \boldsymbol{h}_{N}\right] \in \mathbb{R}^{D_{v} \times N} H=[h1?,?,hN?]RDv?×N,自注意力模型的具體計算程序如下:

1)對于每個輸入 x i \boldsymbol{x}_{i} xi?,我們首先將其線性映射到三個不同的空間,得到查詢向量KaTeX parse error: Expected '}', got 'EOF' at end of input: …athbb{R}^{D_{k}、鍵向量 k i ∈ R D k \boldsymbol{k}_{i} \in \mathbb{R}^{D_{k}} ki?RDk?和值向量 v i ∈ R D v \boldsymbol{v}_{i} \in \mathbb{R}^{D_{v}} vi?RDv?
對于整個輸入序列 X \boldsymbol{X} X,線性映射程序可以簡寫為 Q = W q X ∈ R D k × N K = W k X ∈ R D k × N V = W v X ∈ R D v × N \begin{array}{l}\boldsymbol{Q}=\boldsymbol{W}_{q} \boldsymbol{X} \in \mathbb{R}^{D_{k} \times N} \\ \boldsymbol{K}=\boldsymbol{W}_{k} \boldsymbol{X} \in \mathbb{R}^{D_{k} \times N} \\ \boldsymbol{V}=\boldsymbol{W}_{v} \boldsymbol{X} \in \mathbb{R}^{D_{v} \times N}\end{array} Q=Wq?XRDk?×NK=Wk?XRDk?×NV=Wv?XRDv?×N?
其中 W q ∈ R D k × D x , W k ∈ R D k × D x , W v ∈ R D v × D x \boldsymbol{W}_{q} \in \mathbb{R}^{D_{k} \times D_{x}}, \boldsymbol{W}_{k} \in \mathbb{R}^{D_{k} \times D_{x}}, \boldsymbol{W}_{v} \in \mathbb{R}^{D_{v} \times D_{x}} Wq?RDk?×Dx?,Wk?RDk?×Dx?,Wv?RDv?×Dx?分別為線性映射的引數矩陣, Q = [ q 1 , ? ? , q N ] , K = [ k 1 , ? ? , k N ] , V = [ v 1 , ? ? , v N ] \boldsymbol{Q}=\left[\boldsymbol{q}_{1}, \cdots, \boldsymbol{q}_{N}\right], \boldsymbol{K}=\left[\boldsymbol{k}_{1}, \cdots, \boldsymbol{k}_{N}\right], \boldsymbol{V}=\left[\boldsymbol{v}_{1}, \cdots, \boldsymbol{v}_{N}\right] Q=[q1?,?,qN?],K=[k1?,?,kN?],V=[v1?,?,vN?]分別由查詢向量、鍵向量和值向量構成的矩陣,

2)對于每一個查詢向量 q n \boldsymbol{q}_{n} qn?利用鍵值對注意力機制,可以得到輸出 h n \boldsymbol{h}_{n} hn?
h n = att ? ( ( K , V ) , q n ) = ∑ j = 1 N α n j v j = ∑ j = 1 N softmax ? ( s ( k j , q n ) ) v j \begin{aligned} \boldsymbol{h}_{n} &=\operatorname{att}\left((\boldsymbol{K}, \boldsymbol{V}), \boldsymbol{q}_{n}\right) \\ &=\sum_{j=1}^{N} \alpha_{n j} \boldsymbol{v}_{j} \\ &=\sum_{j=1}^{N} \operatorname{softmax}\left(s\left(\boldsymbol{k}_{j}, \boldsymbol{q}_{n}\right)\right) \boldsymbol{v}_{j} \end{aligned} hn??=att((K,V),qn?)=j=1N?αnj?vj?=j=1N?softmax(s(kj?,qn?))vj??
其中 n , j ∈ [ 1 , N ] n,j\in[1,N] n,j[1,N]為輸出和輸入向量序列的位置, α n j \alpha_{nj} αnj?表示第 n n n個輸出關注到第 j j j個輸入的權重,

如果使用縮放點積來作為注意力打分函式,輸出向量序列可以簡寫為
H = V softmax ? ( K ? V D k ) \boldsymbol{H}=\boldsymbol{V} \operatorname{softmax}\left(\frac{\boldsymbol{K}^{\top} \boldsymbol{V}}{\sqrt{D_{k}}}\right) H=Vsoftmax(Dk? ?K?V?)
其中 softmax(·)為按列進行歸一化的函式,

下圖為全連接模型和自注意力模型的對比,實線表示可學習的權重,虛線表示動態生成的權重,由于自注意力模型的權重是動態生成的,因此可以處理變成的資訊序列,
在這里插入圖片描述

一個有助于理解的延伸閱讀:詳解Transformer (Attention Is All You Need),

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258422.html

標籤:其他

上一篇:洛谷P1181 數列分段Section I

下一篇:今晚20:00整!中國首個量子計算作業系統即將發布

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more