
使用這些基本 REST API 最佳實踐構建出色的 API
圖1:本次調(diào)查的目錄樹。
對于傳統(tǒng)的聚類任務,通常假設數(shù)據(jù)具有相同的形式和結構,這被稱為單視點數(shù)據(jù)或單模態(tài)數(shù)據(jù)。通過深度神經(jīng)網(wǎng)絡(DNNs)提取這些數(shù)據(jù)的表示形式是深度聚類的一個重要特征。然而,更值得注意的是不同的應用深度學習技術,它們與DNNs的結構高度相關。為了比較具體的DNNs的技術路線,根據(jù)特征提取器的訓練方式,我們將單視圖深度聚類算法分為五類:基于深度自編碼器(DAE)的深度聚類,基于深度神經(jīng)網(wǎng)絡(DNN)的深度聚類、基于變分自編碼器(VAE)的深度聚類、基于生成對抗網(wǎng)絡(GAN)的深度聚類和基于圖神經(jīng)網(wǎng)絡(GNN)的深度聚類。這些方法的區(qū)別主要在于損失分量,其中損失項的定義見表1,并解釋如下:
? DAE-based /GNN-based : L = L**rec + L**c,
? DNN-based : L = L**ext + L**c,
? VAE-based : L = L**ELBO + L**c,
? GAN-based : L = L**gan + L**c。
在本文中,面向聚類的損失Lc表示聚類目標的損失。基于DAE/基于GNN的方法使用自動編碼器/圖自動編碼器作為特征提取器,因此損失函數(shù)總是由一個重構損失Lrec和另一個面向聚類的損失Lc組成。相比之下,基于DNN的方法使用額外的任務或其他策略來優(yōu)化特征提取器。基于VAE的方法優(yōu)化了證據(jù)損失的下限LELBO。基于GAN的方法是基于生成式的對抗性損失Lgan。基于這五個維度,現(xiàn)有的單視圖深度聚類方法總結見表2和表3。
表2:基于DAE和DNN的深度聚類方法總結。
表3:基于VAE、GAN-和基于GNN的單視圖深度聚類方法的總結。
DAE 是一種無監(jiān)督學習技術,旨在通過最小化網(wǎng)絡的重構損失來學習低維嵌入特征空間。在基于 DAE 的深度聚類方法中,有兩種主要方法來獲取標簽:將數(shù)據(jù)嵌入到低維特征中,然后使用傳統(tǒng)聚類方法(如 k-means 算法)對嵌入特征進行聚類,或者聯(lián)合優(yōu)化特征提取器和聚類結果。定義為:
其中,φe(.)和φr(.)分別表示自動編碼器的編碼器網(wǎng)絡和解碼器網(wǎng)絡。利用該編碼器作為特征提取器,提出了各種聚類目標函數(shù)。我們將這些基于深度自編碼器的聚類方法總結為基于DAE的深度聚類。
與基于自編碼器(DAE)的聚類方法不同,基于DNN的聚類方法需要設計額外的任務來訓練特征提取器。我們從“聚類導向的損失函數(shù)”和“特點”兩個方面總結了基于DNN的聚類方法,其中“聚類導向的損失函數(shù)”顯示是否有損失函數(shù)明確縮小內(nèi)部簇距離或擴大簇間距離。基于DNN的聚類方法可以使用全連接網(wǎng)絡來提取一維數(shù)據(jù)特征,也可以使用卷積神經(jīng)網(wǎng)絡來提取圖像特征。在計算機視覺領域,有一類基于 DNN 的聚類方法專注于圖像聚類,這些方法通常使用卷積神經(jīng)網(wǎng)絡來進行圖像特征學習和語義聚類。圖2顯示了基于卷積神經(jīng)網(wǎng)絡的深度無監(jiān)督學習的框架。
圖2展示了基于DNN的學習框架(單視圖聚類)。X是用于聚類的數(shù)據(jù),f是用于X的特征提取器。第I部分描述了監(jiān)督學習的框架。Y表示真實標簽,S表示預測結果。通過Y和S,我們可以計算分類損失以進行反向傳播。第II部分是具有額外任務的方法的框架。這些額外任務用于訓練良好嵌入Z的網(wǎng)絡。第III部分描述了需要微調(diào)聚類分配的方法的過程。S表示預測結果,R是S的調(diào)整。
基于變分自編碼器(VAE)的深度聚類方法的目標是解決關于證據(jù)下界(ELBO)的優(yōu)化問題,可以自動學習數(shù)據(jù)的特征表示和聚類,同時可以處理高維數(shù)據(jù)。其中 ELBO 是聯(lián)合概率分布和近似概率分布之間的差異。p是聯(lián)合概率分布,q的近似概率分布p(z|x),x是集群的輸入數(shù)據(jù)和z潛在變量生成對應于x:
不同之處在于,不同的算法有不同的潛在變量生成模型或不同的正則化器。
優(yōu)化后,
變分深度嵌入(VaDE)、高斯混合變分自動編碼器(GMVAE)、潛在樹變分自編碼器(LTVAE)等備受關注的基于變分自編碼器的深度聚類方法,使用不同的潛在變量的生成模型或不同的正則化器。
基于生成對抗網(wǎng)絡(GAN)的深度聚類方法的目標是學習數(shù)據(jù)的潛在分布,以便進行聚類,使用生成器和判別器兩個網(wǎng)絡進行訓練,其中生成器用于生成假數(shù)據(jù),判別器用于區(qū)分真實數(shù)據(jù)和假數(shù)據(jù)。
圖3展示了基于生成對抗網(wǎng)絡(GAN)的學習框架。φg是生成器,φd是判別器,εn和εc都是輸入到生成器的變量,其中εn是噪聲,εc是類別信息。X是用于聚類的數(shù)據(jù),?X是“欺騙”判別器的假數(shù)據(jù),函數(shù)f()作用于?X以生成ε?n和ε?c。
3種重要的基于生成對抗網(wǎng)絡(GAN)的深度聚類方法:概率聚類算法是一種基于概率模型的聚類方法,可以通過最大化數(shù)據(jù)的似然函數(shù)來學習數(shù)據(jù)的潛在分布;CatGAN是一種改進的 GAN 模型,可以用于多類別分類任務和半監(jiān)督學習任務;可解釋的表示學習是一種基于信息理論的方法,可以學習數(shù)據(jù)的可解釋特征表示。
基于生成對抗網(wǎng)絡(GAN)的深度聚類方法可以自動學習數(shù)據(jù)的特征表示和聚類,同時可以處理高維數(shù)據(jù)和非線性數(shù)據(jù)。同時也存在一些挑戰(zhàn),例如訓練不穩(wěn)定、模式崩潰和模式坍塌等問題。因此,需要進一步研究和改進,以提高其性能和穩(wěn)定性。** **
基于圖神經(jīng)網(wǎng)絡(GNN)的深度聚類方法是一種可以處理任意圖結構數(shù)據(jù)的神經(jīng)網(wǎng)絡,可以應用于多種實際應用場景,如社交網(wǎng)絡、蛋白質(zhì)結構和交通網(wǎng)絡等。
GNN的經(jīng)典迭代計算方法:
即使用Banach的不動點定理來計算狀態(tài),其中F是全局轉(zhuǎn)移函數(shù),H是狀態(tài)的固定點,H = F(H, X)。該迭代計算方法可以處理任意圖結構數(shù)據(jù),并且可以通過反向傳播算法進行訓練。在GNN的訓練過程中,許多方法都試圖將注意和門控機制引入到圖結構中。其中包括圖卷積網(wǎng)絡(GCN)等,如圖4。這些方法可以進一步提高GNN的性能和穩(wěn)定性。
圖4展示了圖自編碼器在聚類中的數(shù)據(jù)流框架。GCN(N, M)是一個圖自編碼器,GCN()用于表示圖卷積神經(jīng)網(wǎng)絡,圖自編碼器由兩層圖卷積神經(jīng)網(wǎng)絡組成。節(jié)點屬性N和圖結構M都被用作編碼器的輸入。Z是節(jié)點嵌入向量的矩陣。α是一個激活函數(shù),Mf是圖鄰接矩陣M的預測值。
GNN在半監(jiān)督聚類、多視圖聚類和遷移學習等方面的應用。半監(jiān)督聚類是一種利用標記和未標記數(shù)據(jù)進行聚類的方法,可以通過GNN來學習數(shù)據(jù)的潛在表示和聚類。多視圖聚類是一種利用多個視圖數(shù)據(jù)進行聚類的方法,可以通過GNN來融合多個視圖數(shù)據(jù)并進行聚類。遷移學習是一種利用已有知識來解決新問題的方法,可以通過GNN來學習跨領域的表示和聚類。
半監(jiān)督深度聚類是一種深度聚類方法,它結合了有監(jiān)督和無監(jiān)督學習的優(yōu)點,可以利用少量標記數(shù)據(jù)和大量未標記數(shù)據(jù)進行聚類。該方法主要分為兩個階段:特征提取和降維,以及聚類。在特征提取和降維階段,使用自編碼器或生成對抗網(wǎng)絡等無監(jiān)督學習方法對數(shù)據(jù)進行特征提取和降維。在聚類階段,使用傳統(tǒng)聚類算法如K-means等對特征進行聚類。在這個過程中,少量標記數(shù)據(jù)可以用于指導聚類過程,提高聚類的準確性。半監(jiān)督深度聚類方法在圖像分類、文本聚類、圖像聚類等領域都有廣泛的應用。
半監(jiān)督深度聚類方法還沒有得到很好的探索。表4介紹總結了幾個代表性的研究工作,這些工作使用不同的方法將關系約束和神經(jīng)網(wǎng)絡相結合,以獲得更好的聚類性能。
表4:半監(jiān)督的深度聚類方法。
多視圖深度聚類是一種利用多視角數(shù)據(jù)進行深度聚類的方法。在現(xiàn)實世界中,數(shù)據(jù)通常來自不同的特征收集器或具有不同的結構,這些數(shù)據(jù)被稱為“多視圖數(shù)據(jù)”或“多模態(tài)數(shù)據(jù)”,每個樣本具有多個表示。多視圖深度聚類的目的是利用多視圖數(shù)據(jù)中包含的一致和互補信息來提高聚類性能。我們將多視圖深度聚類總結為三類:基于深度嵌入聚類(DEC)、基于子空間聚類和基于圖神經(jīng)網(wǎng)絡聚類。這些方法在表5中進行了總結。
表5:多視圖深度聚類方法的總結
基于深度嵌入聚類使用自編碼器學習低維嵌入特征表示,并最小化學生t分布和特征表示的輔助目標分布之間的KL散度來實現(xiàn)聚類。改進的DEC(IDEC)強調(diào)數(shù)據(jù)結構保持,并在進行微調(diào)任務時添加了低維特征表示的重構損失項。一些深度多視角聚類方法也采用了這種深度學習流程。
基于子空間聚類的方法旨在處理高維數(shù)據(jù),其中數(shù)據(jù)點可以被表示為低維子空間中的線性組合。這些方法通常使用低秩矩陣分解或稀疏編碼來學習子空間表示,并使用譜聚類或k-means等傳統(tǒng)聚類算法來實現(xiàn)聚類。DSC-Net、DESC等方法使用自編碼器來學習低維嵌入特征表示,并使用譜聚類或k-means等傳統(tǒng)聚類算法來實現(xiàn)聚類。但是它們的性能高度依賴于子空間的質(zhì)量和數(shù)量。
基于圖神經(jīng)網(wǎng)絡(GNN)的聚類方法。GNN允許對具有任意圖結構的數(shù)據(jù)進行端到端的可微損失計算,并已被應用于廣泛的應用領域,如社交網(wǎng)絡、蛋白質(zhì)結構和交通網(wǎng)絡等。DeepCluster、Graclus和DiffPool等方法使用GNN來學習數(shù)據(jù)的低維嵌入表示,并使用譜聚類或k-means等傳統(tǒng)聚類算法來實現(xiàn)聚類。基于GNN的聚類方法是處理圖結構數(shù)據(jù)的有效工具,但是它們的性能高度依賴于圖結構的質(zhì)量和數(shù)量。
遷移學習是一種新的學習框架,用于解決訓練和測試數(shù)據(jù)來自不同特征空間或分布的問題。對于復雜數(shù)據(jù),如高分辨率的真實圖像和嘈雜視頻,傳統(tǒng)聚類方法甚至深度聚類方法也無法很好地工作,因為特征空間的高維度和沒有統(tǒng)一的標準來保證聚類過程。遷移學習通過將來自具有附加信息的源域的信息轉(zhuǎn)移來指導目標域的聚類過程,提供了解決這些問題的新解決方案。
基于DNN和GAN的遷移學習深度聚類方法的總結如圖6。DNN側(cè)重于兩個域的測量策略,是處理源域和目標域之間相似性較高的數(shù)據(jù)的有效工具;而GAN使用判別器來擬合測量策略,是處理源域和目標域之間相似性較低的數(shù)據(jù)的有效工具。但是它們的性能高度依賴于源域和目標域之間的相似性。
表6:基于DNN和GAN的遷移學習深度聚類方法的總結
基于深度神經(jīng)網(wǎng)絡(DNN)的遷移學習聚類方法旨在將源域和目標域投影到相同的特征空間中,其中使用源嵌入和標簽訓練的分類器可以應用于目標域。深度適應網(wǎng)絡(DAN)使用MMD(MK-MMD)的多個內(nèi)核變體作為其域適應函數(shù),數(shù)據(jù)流框架如圖5。
圖5展示了深度適應網(wǎng)絡(DAN)的數(shù)據(jù)流框架。Ds是源域,Dt是目標域。f是兩個域的共享編碼器,可以使用現(xiàn)有網(wǎng)絡進行初始化。f的前幾層被凍結,f的最后幾層可以在訓練過程中進行微調(diào)。fs是Ds的編碼器,ft是Dt的編碼器。Ss是Ds的預測標簽向量,Y是Ds的真實標簽。St是Dt的預測結果。
基于生成對抗網(wǎng)絡(GAN)的遷移學習聚類方法使用判別器來擬合測量策略,以指導目標域的聚類過程。Co-GAN在UDA中的數(shù)據(jù)流框架如圖6。
文章轉(zhuǎn)自微信公眾號@算法進階