主頁 >  其他 > 聯邦學習:聯邦多視角學習在跨領域推薦中的應用

聯邦學習:聯邦多視角學習在跨領域推薦中的應用

2022-08-14 07:48:43 其他

1 導引

1.多視角推薦模型

推薦系統中常常面臨冷啟動和用戶互動資料稀疏的問題,解決這個問題的一個手段就是對用戶在多個領域(domain)的日志資料聯合起來進行建模,這里的多個領域的資料可以指用戶在諸如新聞App、音樂App、視頻App等多個軟體的日志資料(比如點擊的瀏覽新聞標題和描述等),這種聯合建模基于一個假設:用戶在不同領域也傾向于擁有相似的偏好,比如喜歡愛情電影的用戶也很可能喜歡言情小說,

而多視角(multi view)推薦模型[1]就是一種常見的跨領域資料聯合建模方式,它會將多個視角對應的特征映射到一個共享的隱空間(latent space)

上圖展示了對跨領域資料建模的多視角DNN,它基于深度結構化語意模型(Deep Structured Sematic Models, DSSM)的計算最大化用戶視角和多個物品視角對應隱向量的相似度,并按照相似度排序來推薦物品,圖中的User View對應的特征為用戶使用搜索引擎的查詢資訊,而其他的Item View對應的特征為用戶在其它App所點擊過的物品特征資料,該模型假定所有領域都對應著共同的用戶,它使用了DNN將多個視角對應的高維稀疏特征映射\(x_U, x_1, \cdots, x_D\)到共享隱空間中的低維稠密特征\(y_U, y_1, \cdots, y_D\)

之后可以計算用戶隱向量\(y_U\)和物品隱向量\(y_j(j=1,\cdots, D)\)的語意相似度:

\[\operatorname{cosine}\left(y_{U}, y_{j}\right)=\frac{y_{U}^{\top} y_{j}}{\left\|y_{U}\right\| \cdot\left\|y_{j}\right\|} \]

這里假設用戶隱向量\(y_U\)和物品隱向量\(y_j(j=1,\cdots, D)\)相關,然后接下來的目標就是為每個視角都找到一個非線性的映射,以使\(y_U\)視角和其它物品視角\(y_1,\cdots,y_D\)在隱空間的相似度之和最大化:

\[p=\arg \max _{W_{U}, W_{1}, \ldots W_{D}} \sum_{i=1}^{N} \frac{e^{\gamma \cos \left(y_{i,U}, y_{i, a}\right)}}{\sum_{x_j \in \mathbb{R}^{d_{j}}} e^{\gamma \cos \left(y_{i,U}, f_j\left(x_j, W_j\right)\right)}} \]

其中\(W_{U}, W_{1}, \ldots W_{D}\)為各個視角對應的權重引數,一共有個\(N\)用戶-物品對樣本和\(D\)個物品視角,其中每個物品視角\(x_j\)都有其單獨的輸入特征維度\(d_{j}\)

\(i\)個用戶-物品對樣本擁有一個用戶視角的輸入特征\(x_{i, u}\)和其對應的物品視角特征\(x_{i, a}\),這里\(a\)是樣本\(i\)對應物品視角的索引,樣本\(i\)對應的其它物品視角的輸入\(x_{i,j \neq a}\)則設為\(0\)向量,\(\gamma\)為溫度系數,

如上文所述,跨領域推薦本質上是個遷移學習問題,它需要在多個領域異構資料的基礎上通過某種“橋梁”(bridge)來提高一個或多個目標域的推薦效果,這里的“橋梁”指不同領域之間的關聯專案,比如共同的用戶,共同的物品,共同的特征等,上面的多視角DNN模型就假定所有領域都對應著共同的用戶,

2. 聯邦多視角推薦模型

跨領域推薦在實際應用中常常面臨隱私性的挑戰,其一是不同用戶的資料難以合法地進行集中化收集;其二是其使用的遷移學習模型跨不同的域和資料集進行映射,這常常會關聯到不同的組織機構,同樣會面臨隱私問題[2],此時上面提到的需要將資料集中起來的多視角學習方法就不再行得通了,需要考慮在聯邦場景下的多視角推薦模型,

而聯邦場景下的多視角推薦模型根據其隱私保護的出發點不同,可大致分為以下三類:

  • 保證用戶(client)之間的資料資料不共享,但多視角的資料是打通的(橫向),

  • 可以將用戶的資料進行集中化收集,但多視角的資料不能共享(縱向),

  • 不僅保證client之間的資料不共享,且多視角的資料也是不能共享的(橫向+縱向),

我個人覺得在保證隱私的條件下進行多視角之間的資訊共享(縱向/橫向+縱向)是最有意思的,其核心是聯邦遷移學習相關的理論:即在隱私保護的前提下,根據不同領域之間的關聯來生成共享表示,根據我閱讀過的大部分論文來看,如不同領域對應不同的組織機構,則它們的embeddings不能直接進行遷移,需要采取間接的遷移方法,這些方法具體來說就五花八門了,有用GAN來生成帶差分隱私保護的共享embeddings的(參見我上一篇博客《聯邦學習:聯邦場景下的多源知識圖譜嵌入》),有用另一個中間視角的資料來訓練共享子模型的[4],有用VAE來生成一個獨立于所有領域的共享embeddings的[5],有先對資料加以差分隱私保護再用自編碼器生成共享embeddings的[6],可以預見這在未來仍將是個熱點,

以下我們分別看下這三類所對應的相關論文,了解一下該領域的大致情況,

3. 論文閱讀

3.1 ECML-PKDD 2020《Federated multi-view matrix factorization for personalized recommendations》[3]

這篇論文提出了聯邦多視角矩陣分解分解演算法,因為其使用的多視角資料不涉及跨組織機構,故只需要保證用戶資料不共享即可,屬于前面所說的橫向型別,具體而言,在傳統的矩陣分解演算法中,常常只考慮用戶-物品矩陣,即所謂共現矩陣\(R\),通過分解該矩陣得到用戶的隱向量矩陣\(P\)和物品隱向量矩陣\(Q\)

\[R \approx PQ^T \]

之后再基于用戶矩陣\(P\)和物品矩陣\(Q\)得到用戶\(u\)對物品\(i\)的預估評分:

\[\hat{r}_{i,j}= p_i q_j^T \]

其中\(p_i\)是用戶\(i\)在用戶矩陣\(P\)中的對應行向量,\(q_j\)是物品\(j\)在物品矩陣\(Q\)中的對應行向量,

而所謂多視角矩陣分解,即包括以下三個視角:用戶-物品,用戶-特征,物品-特征,這三個視角分別對應用戶-物品矩陣\(R\in\mathbb{R}^{N_u\times N_v}\),用戶特征矩陣\(X\in \mathbb{R}^{N_u\times D_u}\),物品特征矩陣\(Y\in \mathbb{R}^{N_v\times D_v}\),這里\(N_v\)為用戶個數,\(N_v\)為物品個數,\(D_u\)\(D_v\)分別為用戶和物品的特征維度,則多視角矩陣分解可表示為如下形式:

\[\begin{aligned} &R \approx P Q^{T} \\ &X \approx P U^{T} \\ &Y \approx Q V^{T} \end{aligned} \]

如下圖所示:

其中\(P\in \mathbb{R}^{N_u\times K}\)是用戶隱向量矩陣,\(Q\in \mathbb{R}^{N_v\times K}\)是物品隱向量矩陣,\(U\in\mathbb{R}^{D_u\times K}\)是用戶特征隱向量矩陣,\(V\in \mathbb{R}^{D_v\times K}\)是物品特征隱向量矩陣,這里\(K\)是隱向量維度,

此時所要優化的目標函式可以寫為:

\[\begin{array}{r} J=\sum_{i} \sum_{j} c_{i, j}\left(r_{i, j}-p_{i} q_{j}^{T}\right)^{2}+\lambda_{1}\left(\sum_{i} \sum_{d_{u}}\left(x_{i, d_{u}}-p_{i} u_{d_{u}}^{T}\right)^{2}+\sum_{j} \sum_{d_{y}}\left(y_{j, d_{y}}-q_{j} v_{d_{y}}^{T}\right)^{2}\right) \\ \quad+\lambda_{2}\left(\sum_{i}\left\|p_{i}\right\|^{2}+\sum_{j}\left\|q_{j}\right\|^{2}+\sum_{d_{u}}\left\|u_{d_{u}}\right\|^{2}+\sum_{d_{y}}\left\|v_{d_{y}}\right\|^{2}\right) \end{array} \]

這里\(c_{ij}=1+\alpha r_{ij}\)\(\alpha\)是一個表示隱式反饋不確定性的置信引數;\(\lambda_2\)是L2正則項;\(\lambda_1\)表示用戶-物品視角與其它視角間的資訊共享強度,若令\(\lambda_1=0\)則表示用戶-物品視角不與其它視角進行資訊共享,\(0\leqslant\lambda_1\leqslant 1\)可以根據資料生成程序的先驗知識選擇,也可以通過超引數優化來決定,

模型引數\(P, Q, U, V\)可以通過交替最小二乘法(Alternating Least Square, ASL)來求解,

下圖描述了在聯邦場景下用交替最小二乘法求解該問題的演算法,

如圖所示,用戶\(i\)和物品的互動資訊\(r(i)\)(用戶\(i\)\(R\)中的對應行向量)及用戶\(i\)的特征向量\(x_i\)(用戶\(i\)\(X\)中的對應行向量)只能在client \(i\)本地使用,物品的特征矩陣\(Y\)存盤在item server中,fl server會將\(Q, U\)分發給client(用戶),并將\(Q\)發往item server,

在每個client \(i\),用戶的隱向量\(p_i\)會在本地進行計算,其中會使用到該用戶與物品的互動資訊\(r(i)\)、該用戶的特征向量\(x_i\)與來自server的\(Q, U\),新的用戶隱向量\(p_i^*\)計算公式如下:

\[p_{i}=\left(r(i) \hat{C}^{(i)} Q+\lambda_{1} x_{i} U\right)\left(Q^{T} C^{(i)} Q+\lambda_{1} U^{T} U+\lambda_{2} I\right)^{-1} \]

之后,client \(i\)按照下式計算\(f(j, i)\)(用于之后在fl server計算\(\partial J / \partial q_{j}\)以更新\(Q\)):

\[f(j, i)=\left[c_{ij}\left(r_{i, j}-p_{i} q_{j}^{T}\right)\right] p_{i} \]

按照下式梯度\(f(i, d_u)\)(用于之后在fl server計算\(\partial J / \partial u_{d_u}\)以更新\(U\)):

\[f\left(i, d_{u}\right)=\left[\left(x_{i, d_{u}}-p_{i} u_{d_{u}}^{T}\right)\right] p_{i} \]

上述計算完畢后將\(f(j, i),f(i, d_u)\)發往fl server,

與此同時,在item server,物品特征隱向量矩陣\(V\)也會得到更新(其中會用到物品特征),新的物品隱向量\(v^*_{d_y}\)計算方式如下:

\[v_{d_{y}}^{*}=\left(y_{d_{y}} Q\right)\left(Q^{T} Q+\frac{\lambda_{2}}{\lambda_{1}} I\right)^{-1} \]

更新完成后,在此基礎上計算\(f(j, d_y)\)(用于之在fl server計算\(\partial J / \partial q_{j}\)以更新\(Q\)):

\[f\left(j, d_{y}\right)=\left[\left(y_{j, d_{y}}-v_{d_{y}} q_{j}^{T}\right)\right] v_{d_{w}} \]

之后再將\(f(j ,d_y)\)發給fl server,

而在fl server接收\(f(j, i), f\left(i, d_{u}\right), f(j, d_y)\)后,按照下列兩個式子計算梯度并更新\(Q\)\(U\):

\[\begin{aligned} \frac{\partial J}{\partial q_{j}} &=-2 \sum_{i} f(j, i)-2 \lambda_{1} \sum_{d_{y}} f\left(j, d_{y}\right)+2\lambda_{2} q_{j} \\ \frac{\partial J}{\partial u_{d_{u}}} &=-2 \lambda_1\sum_{i} f\left(i, d_{u}\right)+2 \lambda_{2} u_{d_{u}} \end{aligned} \]

然后又將\(Q\)\(U\)發往各client,將\(Q\)發往item server,以此回圈往復,

綜上,該篇論文按照損失函式\(J\)對多視角資料矩陣\(R, X, Y\)共同進行矩陣分解,以學習隱向量矩陣\(P, Q, U\)\(V\),具體演算法采用了聯邦交替最小二乘法,可以注意到聯邦場景下對引數矩陣\(Q\)\(U\)進行的更新并不需要對用戶資料進行聚合(雖然\(Q\)\(U\)的更新依賴于用戶資料),

3.2 FTL-IJCAI21 《A federated multi-view deep learning framework for privacy-preserving recommendations》[4]

上面提到的是基于聯邦矩陣分解的推薦模型,而下面要介紹的是聯邦場景下基于內容的(content-based)推薦模型,它側重將用戶或者物品的特征資訊作為輸入特征來建模,具體的模型采用我們第1部分中所敘述的多視角DSSM模型,該模型同時滿足了多個client資料的隱私性和單個client中多視角資料的隱私性,屬于橫向+縱向型別

不過本文與原始多視角模型中共享用戶視角的特征不同,本文共享的是物品視角的特征,設共有\(C\)個client,第\(c\)個client中的本地資料集表示為\(\mathcal{D}^c=\{x_I, x_1,\cdots x_D \}\),這里\(x_1,\cdots x_D(x_j\in\mathbb{R}^{d_{j}})\)為用戶在\(D\)個不同App中記錄的多視角特征資料,而物品視角資料集\(x_I\in \mathbb{R}^{d_I}\)從server下載,比如移動App的后端,DSSM模型將從各個App視角資料集\(x_I, x_1,\cdots x_D\)和物品資料集\(x_I\)中分別提取隱向量,演算法的目標是為每個視角學得一個非線性映射\(f(\cdot)\)以使物品視角隱向量和多個用戶視角隱向量相似度的和最大化,第\(c\)個client的目標定義如下:

\[p=\arg \max _{W_{I}, W_{1}, \ldots W_{D}} \sum_{i=1}^{N_c} \frac{e^{\gamma \cos \left(y_{i,I}, y_{i, a}\right)}}{\sum_{x_j \in \mathbb{R}^{d_{j}}} e^{\gamma \cos \left(y_{i,I}, f_j\left(x_j, W_j\right)\right)}} \]

這里\(N_c\)表示client \(c\)中用戶-物品對的數量,第\(i\)個用戶-物品對樣本擁有一個物品視角的輸入特征\(x_{i, I}\)和其對應的用戶視角特征\(x_{i, a}\),這里\(a\)是樣本\(i\)對應用戶視角的索引,\(y\)表示\(f(\cdot)\)的映射結果,\(\gamma\)是溫度引數,

聯邦多視角DSSM模型(FL-MV-DSSM)求解演算法的架構如下所示:

(a)FL-MV-DSSM和(b)SEMI-FL-MV-DSSM 都以傳統的FedAvg演算法為基礎,且它們都需要server提供物品資料供所有client共享,不過在FL-MV-DSSM中每個client \(c\)中用戶子模型和物品子模型的梯度會根據本地用戶資料和本地物品資料進行計算,然后在server端對用戶和物品子模型的梯度進行聚合;而SEMI-FL-MV-DSSM則只會聚合物品子模型的梯度,而不會聚合用戶子模型的梯度,

注意,client在將梯度發往server前,會在本地先多個視角所算得的物品子模型梯度聚合(注意,\(D\)個用戶視角共享同一個物品特征,會總共算得\(D\)個物品子模型的梯度);而為了保護各視角梯度中蘊含的敏感資訊,FL-MV-DSSM使用差分隱私技術向各個視角所算得的物品子模型梯度中加入高斯噪聲,在本地聚合完成后,client又會再將前述物品子模型梯度同\(D\)個用戶子模型的梯度進行加密,然后發往server,

3.3 SIGIR21 《FedCT: Federated Collaborative Transfer for Recommendation》[5]

本論文提出的模型滿足了多個client資料的隱私性和單個client中多視角資料的隱私性,也屬于橫向+縱向型別,不過與前文采用的方法不同,本文提出的DUE(Decentralized User Encoding)模型并沒有利用一個中間視角的資料來訓練共享子模型,而是采用變分自編碼器(VAE)來生成一個單獨的用戶表示,該表示可以被所有視角共享,

上面的圖 (a) 中展示的為領域-領域兩兩間的知識遷移,而 (b) 則為本文提出的DUE模型中所采用的基于中間表示的遷移方式,用戶的表示\(X_{u}=\left[U_{u}^{\left(d_{1}\right)}, \ldots, U_{u}^{\left(d_{D}\right)}\right]\),事實上,(a) 中的這種方法直接遷移用戶表示有違隱私性,而且當領域數量增長時計算量會很大,而 (b) 則更能保證隱私性,而且其計算代價也不會隨領域數量快速增長,此外,(b) 這種方法可以隨時加入和減少領域,更具靈活性,

設領域集合為\(\mathcal{D}=\left\{d_{1}, \ldots, d_{D}\right\}\),對每個領域\(d\in \mathcal{D}\),將起對應的物品集合表示為\(I_d\)(大小為\(N_d\)),設領域之間的物品無重疊,即滿足\(\forall d, d^{\prime} \in \mathcal{D}, d \neq d^{\prime}, I_{d} \cap I_{d^{\prime}}=0\),設每個client對應一個用戶,一共有\(C\)個用戶,一個領域\(d\)可能只涉及到用戶集合的子集\(\mathcal{U}^{(d)} \subseteq \mathcal{U}\),一個用戶\(u \in \mathcal{U}\)也可能只涉及到領域集合的子集\(\mathcal{D}^{(u)} \subseteq \mathcal{D}\),每個領域都有對應的共現矩陣\(R_d\)及其協同過濾模型\(f_d\)\(f_d\)為一個給定用戶-物品對\((u, i)\)預測評分結果\(: \hat{r}_{u, i, d}=f_{d}\left(U_{u}^{(d)}, i\right)\)的函式,這里\(U_{u}^{(d)} \in \mathbb{R}^{L_{d}}\)表示用戶\(u\)在領域\(d\)的表示,\(L_d\)為用戶表示的維度,在本文的邊緣跨領域推薦場景下,\(f_d\)\(U^{(d)}\)根據特定領域的協同過濾目標函式\(\mathcal{L}^{CF}_d\)進行預訓練,并作為該領域對應的本地預訓練模型使用,

加上server端,整體的聯邦跨領域遷移架構如下圖所示(圖中僅僅展示了單個用戶):

這里設\(\mathcal{S}_d\)為server端的領域服務商存盤空間(存有\(f_d\)\(U_d\));\(\mathcal{E}_u\)為用戶在設備上所擁有的個人
存盤空間(任何領域都能對其進行訪問),用于存放共享表示\(z_u\)\(\mathcal{E}_{d,u}\)為領域服務商在用戶設備上的存盤空間,它能夠與\(S_d\)同步獲取預訓練模型并與用戶的個人存盤空間\(\mathcal{E}_u\)通信,正如圖中所示,對任意領域\(d\)\(d^{\prime}\)而言,本文在設定上禁止\(\{\mathcal{S}_d, \mathcal{E}_{d, u}\}\)\(\{\mathcal{S}_{d^{\prime}}, \mathcal{E}_{d^{\prime}, u}\}\)的資訊互動,不過,正如我們前面所說的,本文允許用戶個人存盤空間\(\mathcal{E}_u\)和client端任意領域存盤空間\(\mathcal{E}_{d,u}\)的資訊交換,這也就意味著用戶個人存盤空間充當了中間代理的作用,以協調間接性的知識遷移,

本文的最終目標是在為目標領域\(d_t\in\mathcal{D}\)的冷啟動用戶提供推薦(使用根據其它領域的用戶表示做為輔助資訊),給定多個領域的用戶表示做為訓練資料,則問題就成為了學習對用戶表示進行遷移的模型:\(g: \mathbb{R}^{L_{d_{1}}+L_{d_{2}}+\cdots+L_{d_{D}}} \rightarrow \mathbb{R}^{L_{d_{t}}}\),該模型將來自所有領域的用戶資訊映射到\(d_t\)

\[\widehat{U}_{u}^{\left(d_{t}\right)}=g\left(X_{u}\right) \]

這里假定用戶的表示\(X_{u}=\left[U_{u}^{\left(d_{1}\right)}, \ldots, U_{u}^{\left(d_{D}\right)}\right]\)在優化和推斷的程序中是固定的,若是在中心化環境下,所有領域協作訓練一個共享的\(g\)是很容易的,但正如開頭所說,直接遷移emebddings會帶來隱私性的問題,而這就需要使用用戶存盤空間中的共享表示\(z_u\)這一中介了,

具體地,本文為每個領域\(d\)都設定了一個VAE \(g_d\)(包含編碼器和解碼器),如下圖所示,設\(z_u\in\mathbb{R}^{L_c}\),則\(g_d\)由一個編碼器\(\mathrm{ENC}_{d}: \mathbb{R}^{L_{d}} \rightarrow \mathbb{R}^{L_{c}}\)(引數為\(\Phi_d\),負責根據特定領域的用戶表示\(U^{(d)}\)生成\(z_u\))和一個解碼器\(\mathrm{DEC}_{d}: \mathbb{R}^{L_{c}} \rightarrow \mathbb{R}^{L_{d}}\)(引數為\(\Theta_d\),負責根據\(z_u\)生成\(\hat{U}^{(d)}\))組成,這里\(\mathrm{DEC}_d(\cdot)\)生成的\(\hat{U}_u^{(d)}\)含有來自所有領域的豐富資訊,將會被用于之后的推薦服務,另一方面,每個領域也會不斷更新自己的編碼器和解碼器,

3.4 WWW22 《Differential Private Knowledge Transfer for Privacy-Preserving Cross-Domain Recommendation》[6]

本文不考慮用戶間資料的隔離性,只考慮在兩個相互隔離的領域間進行知識遷移,屬于縱向型別,本文假定兩個領域(源域和目標域)之間有著相同的用戶,但是有著不同的用戶-物品共現矩陣,目標在于在保證資料隱私的情況下,利用原域的資料以提高目標域的推薦表現,本文基于Johnson-Lindenstrauss變換(JLT)將共現矩陣加以差分隱保護,然后使用深度自編碼器和深度學習網路來分別對源域和目標域中的共現矩陣進行建模,

本文采用的技術解決方案具體描述如下兩個階段:

在第一階段,先基于JLT變換將共現矩陣由高維空間映射到低維空間空間,能夠在夠保護資料隱私(即無法辨識出某個用戶的評分情況)的同時保持用戶間的幾何相似度(即相似評分的用戶有相似品味),此外本文還給出了考慮到稀疏情形的JLT(SJLT),能夠進一步減少JLT的計算復雜度并解決源域的資料稀疏性問題,其中使用了sub-Gaussian隨機矩陣和Hadamard變換,

在第二階段,本文提出了一個異構的跨領域推薦模型(HeteroCDR),該模型使用深度自編碼器和DNN來分別對差分隱私保護的源域共現矩陣和目標域共現矩陣進行建模,此外,論文對這兩個網路學得的用戶embeddings進行對齊,從而使知識能夠進行遷移,

論文采用JLT隨機變換以得到差分隱私保護的共現矩陣\(R^{\prime}\),JLT將一個來自\(\mathbb{R}^d\)的向量變換到\(\mathbb{R}^{d^{\prime}}\)\(\phi: x \rightarrow Mx\),這里\(M\sim \mathcal{N}(0, O_{d^{\prime}\times d})\)\(O_{d^{\prime}\times d}\)為所有元素為1的稠密矩陣,

而稀疏架構下的JLT和JLT的作用原理相似,也是定義一個從從高維到低維空間的映射,同時大概率保持變換后向量的\(l_2\)范數不變,將稀疏向量從\(\mathbb{R}^d\)轉換到\(\mathbb{R}^{d^{\prime}}\)的SJLT定義為:\(\psi: x \rightarrow Mx\),這里\(M=PHD\)\(P \in \mathbb{R}^{d^{\prime}\times d}\)\(H\in \mathbb{R}^{d\times d}\)\(D\in\mathbb{R}^{d\times d}\)

\[p_{i j}=\left\{\begin{array}{lll} 0 & \text { with probability } & 1-q_{;} \\ \xi \sim \mathcal{N}\left(0, q^{-1}\right) & \text { with probability } & q_{:} \end{array}\right. \]

\(h_{i j}=d^{-1 / 2}(-1)^{(i-1, j-1)}\)是標準化后的Hadamard矩陣(每個元素都是 +1或?1且每行互相正交),這里\((i, j)=\sum_{k} i_{k} j_{k} \text{ mod } 2\)是一個按位運算并模2的內積,\(D\)是個隨機對角矩陣并滿足

\[d_{i i}=\pm 1 \text { with equal probability. } \]

整個隱私保護下的跨領域推薦架構如下:

Johnson-Lindenstrauss變換(JLT)

如圖所示,將\(R^A\in \mathbb{R}^{m\times n_1}\)變換到\(R^{\prime}\in \mathbb{R}^{m\times n^{\prime}_1}\)后,會通過自編碼器來學習用戶的embeddings(用于源域和目標域的知識遷移),先通過編碼器獲取用戶embeddings:\(u_{i}^{A}=\text{ENC}\left(r_{(i)}^{\prime A}\right) \in \mathbb{R}^{h}\),這里\(h\)是用戶embeddings的維度;然后解碼器對共現矩陣進行重構:\(\hat{r}_{(i)}^{\prime A}=\text{DEC}\left(u_{i}^{A}\right) \in \mathbb{R}^{n_{1}^{\prime}}\),重構的loss為:

\[\mathcal{L}_{r e c}=\sum_{i=1}^{m} \mathcal{F} (r_{(i)}^{\prime A}, \hat{r}^{\prime A}_{(i)}) \]

這里\(\mathcal{F}\)為均方誤差,

此外,論文對源域和目標域用戶embeddings進行對齊以完成知識遷移,在對齊模型中,論文將用戶embeddings的loss表示如下:

\[\mathcal{L}_{a l i}=\sum_{i=1}^{m}\left\|u_{i}^{A}-u_{i}^{B}\right\|^{2} \]

在目標域\(B\)方面,采用深度矩陣分解模型來擬合用戶評分,其核心思想為最小化真實評分\(r^B_{ij}\)和預測評分\(\hat{r}^B_{ij}\)之間的交叉熵,這里預測評分由多層全連接網路輸出,該網路會先計算計算用戶和物品的隱向量\(u_{i}^{B} \in \mathbb{R}^{h}\)\(v_{j}^{B} \in \mathbb{R}^{h}\)(\(h\)表示隱向量維度),然后計算用戶和物品的隱向量的余弦相似度做為評分預測值,即\(\hat{r}_{i j}^{B}=\left(u_{i}^{B}\right)^{T} v_{j}^{B}\),損失函式描述如下:

\[\left.\mathcal{L}_{r e g}=\sum_{i=1}^{m} \sum_{j=1}^{n_{2}}\left(\frac{r_{i j}^{B}}{\max \left(R^{B}\right)} \log \left(\hat{r}_{i j}^{B}\right)+\left(1-\frac{r_{i j}^{B}}{\max \left(R^{B}\right)}\right) \log \left(1-\hat{r}_{i j}^{B}\right)\right)\right) \]

最終的完整損失函式為以上三個損失函式之和:

\[\mathcal{L}=\mathcal{L}_{r e c}+\mathcal{L}_{r e g}+\alpha \mathcal{L}_{a l i} \]

參考

  • [1] Elkahky A M, Song Y, He X. A multi-view deep learning approach for cross domain user modeling in recommendation systems[C]//Proceedings of the 24th international conference on world wide web. 2015: 278-288.
  • [2] 楊強. 遷移學習[M]. 機械工業出版社, 2020.
  • [3] Flanagan A, Oyomno W, Grigorievskiy A, et al. Federated multi-view matrix factorization for personalized recommendations[C]//Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Cham, 2020: 324-347.
  • [4] Hao Li, Mingkai Huang, Bing Bai, et al. A federated multi-view deep learning framework for privacy-preserving recommendations[C]//FTL-IJCAI. 2021.
  • [5] Liu S, Xu S, Yu W, et al. FedCT: Federated collaborative transfer for recommendation[C]//Proceedings of the 44th international ACM SIGIR conference on research and development in information retrieval. 2021: 716-725.
  • [6] Chen C, Wu H, Su J, et al. Differential Private Knowledge Transfer for Privacy-Preserving Cross-Domain Recommendation[C]//Proceedings of the ACM Web Conference 2022. 2022: 1455-1465.
數學是符號的藝術,音樂是上界的語言,

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

標籤:其他

上一篇:看了1000+份簡歷,我蚌埠住了

下一篇:jemeter使用

標籤雲
其他(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