Deep Unsupervised Clustering Using Mixture of Autoencoders(MIXAE)

寫在前面

這篇文章發佈於2017年Arxiv,並沒有正式得發出去。寫了這麼多關於聚類得文章,我發現以前沒有把注意力轉移到聚類得原理上面,深入剖析聚類得內部原理,所以從這篇文章開始,我將圍繞“如何聚類“來展開文章。

0. 摘要

  • 1.說呀,現在在聚類領域有個很流行的假設:數據是從一個低維的非線性流型單元中產生的(生成模型),所以聚類就是將這些流型分開。
  • 2.MIXAE包括兩部分:{自編碼器的集合(K個),概率分配網絡},然後同時優化這兩部分,將數據分配給它所屬的簇,從而學習到每個簇的流型。
    在這裏插入圖片描述

1. 介紹

  • 理想情況下,每個自編碼器都會對應一個特定的簇。作者定義了一個損失函數用來聯合優化自編碼器和概率分配網絡,還說這種方式在很多其他的無監督模型上表現也很好。
  • 這種方式的主要優點在於把聚類和表示學習相互結合起來可以減小模型的複雜度並且提高模型的表達能力,即隱向量允許較小的神經網絡來進行分類,並且可以通過聚類來得到良好的分離。
  • 文章的主要貢獻:模型結構、LOSS、實驗
    在這裏插入圖片描述
    在這裏插入圖片描述

2. 相關工作

  • 這一段提到了三個模型,我都寫了博客,這一段指出了DEC、VaDE、GMVAE都需要非常謹慎的對模型的參數進行初始化,並且在訓練開始前,就已經展現出很好的分離效果。
  • 相反,MIXAE模型從一開始就隨機初始化(From scratch)
    在這裏插入圖片描述

3. 用MIXAE來聚類

  • 下面就要開始介紹作者提出的模型了,並且給出了模型結構和目標函數的直觀理解。
    在這裏插入圖片描述

3.1 自編碼器

  • 不講,略

3.2 MIXAE模型

  • 我們的目標就是將數據X聚成K類,因此我們假設每個簇中的數據是從不同的低維流型中採樣出來的。
  • 概率分配是由額外的網絡來完成的,它推理出類別標籤
    在這裏插入圖片描述
  • 這裏其實存在一個很大的漏洞
    理論上,我們是希望數據集經過概率分配網絡後,不同類別對應不同的softmax最大值的位置,我們如何確保這一點,作者並沒有提,作者在本篇文章中只是確保了softmax值偏向於one_hot向量,確保了在一個batch中對每個自編碼器的選擇是平均的。或許如果數據本身就有很明顯的類別區分,softmax值也會對用不同的最大值,需要調參數來解決這個問題。當然這只是我的一些思考。
    在這裏插入圖片描述
  • 下面是模型結構圖,看這圖解釋損失函數會好一些。
    在這裏插入圖片描述
  • 下面介紹損失函數的三個項,第一項:加權重構項
    這裏用的是平方損失,直觀上看,當模型達到最優值時,概率分配向量會變成one_hot向量,表示該樣本是從某一個自編碼器中產生的。這樣說太抽象,舉個例子:

以MNIST數據集爲例,假設模型快訓練好了,但是還差幾個epochs,現在有一個樣本”2“作爲input進入模型,產生了p_vector=[0.01,0.01,0.01,0.01,0.90,0.02,0.01,0.01,0.01],這樣模型在第5個自編碼器產生的重構誤差會很大,對第五個自編碼器的參數更新也會比其他AE大,即對於該樣本,模型選擇從第5個AE中產生。
在這裏插入圖片描述
在這裏插入圖片描述

  • 樣本熵項
    保證p_vector是一個one_hot向量,即保證某個樣本是從某一個AE中產生的。
    在這裏插入圖片描述
  • Batch-wise entropy
    其實,這一項損失是與樣本熵矛盾的,這一項損失是讓樣本均勻的去選擇哪一個AE,避免樣本熵損失造成的局部解,即無論什麼樣本都會去選擇固定的一個AE。所以需要給他們分別加上係數來調和其中的矛盾,這也是實驗的一大難點,調節超參數。
    在這裏插入圖片描述
  • 整合三項得到損失函數
  • 實驗表明動態的改變超參數α和β比靜態的表現好。
  • 參數調節過程:首先我們應該最優化batch wise entropy 和 sample-wise entropy,避免局部最優解;然後重點優化重構損失和sample-wise entropy。
  • 實踐中,在訓練初期選擇比較大的α和β值,隨着訓練的進行,我們調節兩個超參數值來讓三項損失近似相等。(這裏優點不太懂,文中解釋的也不太清楚)
    在這裏插入圖片描述

4. 實驗

  • 挑重點的講

4.1 評估指標

  • 這個評估指標經常在聚類中出現,非常有必要說一下,核心是Hungarian algorithm算法來解決真實標籤和聚類標籤之間的映射
    在這裏插入圖片描述

4.2 MIXAE不如VaDE

作者給出原因:VaDE用了Pretraining,尤其是在網絡比較神的時候(因爲作者對不同的數據集使用了不同的神經網絡結構)
在這裏插入圖片描述
在這裏插入圖片描述

4.3 展示聚類效果

這裏,我有一個問題,作者如何採樣沒有說,我覺得是這一樣的,例如對於所有選擇第一個AE的,我們求其平均值,然後用一個方差較小的高斯分佈,來採樣。
在這裏插入圖片描述
在這裏插入圖片描述

5. 回答如何聚類

我們可以從損失函數理解聚類的原理,但是存在一個漏洞,我們之前討論過:

  • 這裏其實存在一個很大的漏洞
    理論上,我們是希望數據集經過概率分配網絡後,不同類別對應不同的softmax最大值的位置,我們如何確保這一點,作者並沒有提,作者在本篇文章中知識確保了softmax值偏向於one_hot向量,確保了在一個batch中對每個自編碼器的選擇是平均的。或許如果數據本身就有很明顯的類別區分,softmax值也會對用不同的最大值,需要調參數來解決這個問題。當然這只是我的一些思考。

  • 這個問題在DEC、GMVAE、VaDE中都存在,對實驗超參數的調解要求很高,所以復現起來很困難,這可能也是深度聚類中存在的一大問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章