0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

deepwalk算法核心的步驟

智能生物識別說 ? 來源:快商通AI ? 作者:快商通AI ? 2021-10-14 09:59 ? 次閱讀

在數(shù)據(jù)量越來越大的今天,word2vec是通過字詞的共現(xiàn)關(guān)系來學習字詞的向量表示,Graph Embeding的思想類似于word2vec,通過圖中節(jié)點與節(jié)點的共現(xiàn)關(guān)系來學習節(jié)點的向量表示,構(gòu)成文本序列從而計算相互關(guān)聯(lián)出現(xiàn)的詞的概率,從而計算詞向量表示文本。那么在圖模型中的關(guān)鍵的問題就是如何來描述節(jié)點與節(jié)點的共現(xiàn)關(guān)系,于是方法是利用DeepWalk來采樣這樣的文本序列,通過隨機游走(RandomWalk)的方式在圖中進行節(jié)點采樣,從而就能夠輸入序列計算圖的向量表示。所以deepwalk算法核心的步驟就是兩步:

RandomWalk

Skip-Gram

RandomWalk是一種可重復訪問已訪問節(jié)點的深度優(yōu)先遍歷算法。給定當前訪問起始節(jié)點,從其鄰居中隨機采樣節(jié)點作為下一個訪問節(jié)點,重復此過程,直到訪問序列長度滿足預設(shè)條件。

spacer.gif算法過程就是輸入一個圖,輸出節(jié)點表示的矩陣,簡單對步驟進行解析:

初始化:從 $\mathcal{U}^{|V| \times d}$ 樣本空間中采樣,embedding的大小為 $d$

構(gòu)建一棵二叉樹Hierarchical Softmax

開始做 $\gamma$ 步的隨機游走,這里的 $\gamma$ 是初始化好的超參數(shù)

打亂采樣得到的節(jié)點

這個循環(huán)是開始以每個節(jié)點為根節(jié)點開始做長度為 $t$ 的隨機游走,這里的 $t$ 為初始化的超參數(shù)。然后按窗口 $w$ 進行SkipGram學習文本序列

SkipGram

一般提到word2vec有兩種主要的算法,Cbow和Skip-Gram,都是在統(tǒng)計語言模型的基礎(chǔ)上計算一個詞在文本中出現(xiàn)的概率用來作為這個詞的表示向量,于是優(yōu)化目標就是最大化$Pr(w_n|w_0,w_1,...,w_{n-1})$ 。 $w$ 表示的就是詞。

SkipGram就是用當前詞來預測上下文。丟掉了詞序并且不考慮與當前詞的距離。優(yōu)化目標是最大化同一個句子中同時出現(xiàn)的詞的共現(xiàn)概率:

預測給到的詞從整個詞表vocabulary中選擇,因此在輸出的時候會計算softmax進行選擇,維度為 $|V|$ ,計算的維度會非常大,因此采用Hierarchical Softmax來構(gòu)建二叉樹進行選擇,每個詞就只需要計算 $log_2^{|V|}$ 次。

Node2Vec

node2vec依然采用的是隨機游走的方式獲取頂點的臨近頂點序列,但不同的是node2vec采用的是一種有偏的隨機游走。給定當前頂點 $v$,訪問下一個頂點的概率是:

$\pi{vx}$ 是頂點 $v$ 到頂點 $x$ 之間的轉(zhuǎn)移概率, $Z$ 是歸一化參數(shù)。 node2vec引入兩個超參數(shù) $p$ 和 $q$ 來控制隨機游走的策略,假設(shè)當前隨機游走經(jīng)過邊 $(v, x) $ 到達頂點 $t$ ,設(shè) $\pi{vx}=\alpha{pq}(t, x)\cdot w{vx}$ , $w_{vx}$ 是頂點 $v$ 和 $x$ 之間的邊權(quán)。

$d{tx}$ 為頂點 $t$ 和頂點 $x$ 之間的最短路徑距離。參數(shù)$p$和參數(shù)$q$的意義:控制重復訪問剛剛訪問過的頂點的概率。$p$作用于$d{tx}=0$,表達的意義就是頂點$x$就是訪問當前頂點$v$之前剛剛訪問過的頂點。如果$p$較高,則訪問剛剛訪問過的頂點的概率會變低,反之變高。$q$控制著游走是向外還是向內(nèi),如果$q>1$,隨機游走傾向于訪問和節(jié)點$t$相接近的頂點(類似于$BFS$)。如果$q<1$,則傾向于訪問遠離$t$的頂點(類似于$DFS$)。

Graph Convolutional Network

Graph Embedding的意義就在于能夠利用圖結(jié)構(gòu)處理非結(jié)構(gòu)化數(shù)據(jù),因此在cv和nlp領(lǐng)域能夠更進一步結(jié)合先驗知識進行特征學習,因此是深度學習領(lǐng)域的重要發(fā)展方向。定義圖$G=(V,E)$,$V$為節(jié)點的集合,$E$為邊的集合,對于每個節(jié)點$i$, 均有其特征$x_i$,特征矩陣可以用$X_{N*D}$來表示,其中$N$表示節(jié)點數(shù),$D$表示每個節(jié)點的特征編碼尺寸,在nlp應(yīng)用中就是embedding_size。對于圖的理解有一個經(jīng)典的思想:

圖中的每個結(jié)點無時無刻不因為鄰居和更遠的點的影響而在改變著自己的狀態(tài)直到最終的平衡,關(guān)系越親近的鄰居影響越大。

實際上從鄰居節(jié)點獲取信息的思想在很多領(lǐng)域都有應(yīng)用,例如:word2vec和pagerank。很多參考的理解描述了更加細節(jié)的數(shù)學原理:從傅立葉變換到拉普拉斯算子到拉普拉斯矩陣。很難理解。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4629

    瀏覽量

    93239
  • 節(jié)點
    +關(guān)注

    關(guān)注

    0

    文章

    220

    瀏覽量

    24493
收藏 人收藏

    評論

    相關(guān)推薦

    【「從算法到電路—數(shù)字芯片算法的電路實現(xiàn)」閱讀體驗】+介紹基礎(chǔ)硬件算法模塊

    作為嵌入式開發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書介紹了除法器,信號發(fā)生器,濾波器,分頻器等基本算法的電路實現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢的出現(xiàn),過去的研發(fā)
    發(fā)表于 11-21 17:05

    NPU與機器學習算法的關(guān)系

    在人工智能領(lǐng)域,機器學習算法是實現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學習等機器學習任務(wù)設(shè)計的處理器,其與機器學習算法
    的頭像 發(fā)表于 11-15 09:19 ?581次閱讀

    AIGC算法解析及其發(fā)展趨勢

    、AIGC算法解析 核心基礎(chǔ) 人工智能算法 :AIGC技術(shù)的基礎(chǔ)和靈魂,如深度學習、機器學習等算法,使機器能夠模擬人類的思考和行為過程,從而自主地完成各種任務(wù)。這些
    的頭像 發(fā)表于 10-25 15:35 ?549次閱讀

    圖像識別算法核心技術(shù)是什么

    圖像識別算法是計算機視覺領(lǐng)域的一個重要研究方向,其目標是使計算機能夠像人類一樣理解和識別圖像中的內(nèi)容。圖像識別算法核心技術(shù)包括以下幾個方面: 特征提取 特征提取是圖像識別算法的基礎(chǔ),
    的頭像 發(fā)表于 07-16 11:02 ?720次閱讀

    opencv圖像識別有什么算法

    圖像識別算法: 邊緣檢測 :邊緣檢測是圖像識別中的基本步驟之一,用于識別圖像中的邊緣。常見的邊緣檢測算法有Canny邊緣檢測器、Sobel邊緣檢測器和Laplacian邊緣檢測器。 特征點檢測 :特征點檢測是識別圖像中的關(guān)鍵點,
    的頭像 發(fā)表于 07-16 10:40 ?1171次閱讀

    ai大模型和算法有什么區(qū)別

    復雜的問題。這些模型通常需要大量的數(shù)據(jù)和計算資源來訓練和優(yōu)化。例如,深度學習中的神經(jīng)網(wǎng)絡(luò)就是一種典型的AI大模型。 算法則是一系列解決問題的步驟和規(guī)則,它們可以應(yīng)用于各種領(lǐng)域,包括人工智能。算法可以是簡單的,也可以是復
    的頭像 發(fā)表于 07-16 10:09 ?2186次閱讀

    BP神經(jīng)網(wǎng)絡(luò)預測模型的建模步驟

    BP(Backpropagation)神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其核心思想是通過反向傳播算法來調(diào)整網(wǎng)絡(luò)中的權(quán)重和偏置,從而實現(xiàn)對輸入數(shù)據(jù)的預測或分類。BP神經(jīng)網(wǎng)絡(luò)預測模型的建模是一個系統(tǒng)而復雜
    的頭像 發(fā)表于 07-11 16:57 ?1692次閱讀

    bp神經(jīng)網(wǎng)絡(luò)預測模型建模步驟

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network)是一種多層前饋神經(jīng)網(wǎng)絡(luò),其核心思想是通過反向傳播算法來調(diào)整網(wǎng)絡(luò)中的權(quán)重和偏置,從而實現(xiàn)對輸入數(shù)據(jù)的預測或分類。本文將詳細
    的頭像 發(fā)表于 07-11 10:52 ?617次閱讀

    深度學習的基本原理與核心算法

    處理、語音識別等領(lǐng)域取得了革命性的突破。本文將詳細闡述深度學習的原理、核心算法以及實現(xiàn)方式,并通過一個具體的代碼實例進行說明。
    的頭像 發(fā)表于 07-04 11:44 ?2415次閱讀

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法是深度學習領(lǐng)域中的核心技術(shù)之一,旨在通過調(diào)整網(wǎng)絡(luò)中的參數(shù)(如權(quán)重和偏差)來最小化損失函數(shù),從而提高模型的性能和效率。本文將詳細探討神經(jīng)網(wǎng)絡(luò)優(yōu)化算法的基本原理、主要方法、變體、以及在實際應(yīng)用中的注意事項和最新進展。
    的頭像 發(fā)表于 07-03 16:01 ?630次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的原理、數(shù)學推導及實現(xiàn)步驟

    傳播算法的原理、數(shù)學推導、實現(xiàn)步驟以及在深度學習中的應(yīng)用。 神經(jīng)網(wǎng)絡(luò)概述 神經(jīng)網(wǎng)絡(luò)是一種受人腦啟發(fā)的計算模型,由大量的神經(jīng)元(或稱為節(jié)點)組成,每個神經(jīng)元與其他神經(jīng)元通過權(quán)重連接。神經(jīng)網(wǎng)絡(luò)可以分為輸入層、隱藏層和輸出層。輸入層接收外部輸入數(shù)據(jù)
    的頭像 發(fā)表于 07-03 11:16 ?929次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法原理是什么

    介紹反向傳播算法的原理、數(shù)學基礎(chǔ)、實現(xiàn)步驟和應(yīng)用場景。 神經(jīng)網(wǎng)絡(luò)簡介 神經(jīng)網(wǎng)絡(luò)是一種受人腦啟發(fā)的計算模型,由大量的神經(jīng)元(或稱為節(jié)點)組成。每個神經(jīng)元接收輸入信號,通過激活函數(shù)處理信號,并將輸出信號傳遞給下一層神經(jīng)元。神經(jīng)網(wǎng)絡(luò)通常由輸入層、
    的頭像 發(fā)表于 07-02 14:16 ?746次閱讀

    運動控制算法有哪些

    運動控制算法是機器人學和自動化領(lǐng)域中的核心技術(shù)之一,它們負責規(guī)劃和執(zhí)行機器人或自動化設(shè)備的精確運動。以下是一些常見的運動控制算法,以及它們的基本原理和應(yīng)用場景。 PID控制算法
    的頭像 發(fā)表于 06-13 09:17 ?2837次閱讀

    機器學習六大核心算法深度解析

    算法歷程:線性回歸是一種古老的統(tǒng)計方法,它試圖找到最佳擬合數(shù)據(jù)的直線或超平面,最早可以追溯到19世紀初的高斯最小二乘法理論。
    發(fā)表于 04-23 16:25 ?1979次閱讀
    機器學習六大<b class='flag-5'>核心算法</b>深度解析

    計算機視覺領(lǐng)域的十大核心技術(shù)算法

    圖像分割算法是計算機視覺領(lǐng)域的基礎(chǔ)算法之一,它的主要任務(wù)是將圖像分割成不同的區(qū)域或?qū)ο?。常見的圖像分割算法包括基于閾值的分割、基于區(qū)域的分割、基于邊緣的分割和基于圖割的分割等。
    發(fā)表于 02-25 09:38 ?1132次閱讀