Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介: tSNE-CUDA

ryoherisson
January 18, 2022

論文紹介: tSNE-CUDA

勉強会での発表資料

ryoherisson

January 18, 2022
Tweet

More Decks by ryoherisson

Other Decks in Research

Transcript

  1. CompML t-SNEのアルゴリズム ⼊⼒空間 Χ ∈ ℝ! のデータ点を,𝐷より⼩さい𝑑次元(通常2または3次元)の埋め込み空間Y ∈ ℝ" に学習を通じて埋め込む.

    このとき,Χのデータ点𝑥#, 𝑥$ が近いときはYのデータ点𝑦#, 𝑦$ が近くになるように,また,Χ の データ点𝑥# , 𝑥$ が遠いときはYのデータ点𝑦# , 𝑦$ が遠くになるように埋め込む. 全体の流れ 1. ⼊⼒空間を正規分布に従う確率密度に変換 2. 埋め込み後の空間をt分布に従う確率密度で表現 3. 損失関数にKLダイバージェンスを⽤いて,勾配降下法で最適化 4
  2. CompML Perplexity: 𝜎! の設定 ヒューリスティックに指定したPerplexityを持つ確率分布𝑃# を⽣成するような𝜎# を⼆分探索 する. 𝜎# は,データが密な場合は⼩さい値,疎な場合は⼤きい値となるようにする.

    6 𝑃𝑒𝑟𝑝(𝑃#) = 2)(+!) 𝑤ℎ𝑒𝑟𝑒 𝐻 𝑃# 𝑖𝑠 𝑡ℎ𝑒 𝑆ℎ𝑎𝑛𝑛𝑜𝑛 𝑒𝑛𝑡𝑟𝑜𝑝𝑦 𝑜𝑓 𝑃# 𝑚𝑒𝑎𝑠𝑢𝑟𝑒𝑑 𝑖𝑛 𝑏𝑖𝑡𝑠 𝐻(𝑃# ) = − M $ 𝑃$|# log& 𝑃$|#
  3. CompML 勾配降下法による最適化 KLダイバージェンスの勾配を計算し,勾配降下法により Y を更新. 9 𝜕𝐶 𝜕𝑦# = 4

    M $(# (𝑝#$ −𝑞#$ ) (𝑦# − 𝑦$ ) (1 + 𝑦# − 𝑦$ & )-. 𝑌(0) = 𝑌(0-.) + 𝜂 𝜕𝐶 𝜕𝑌 + 𝛼(𝑡)(𝑌 0-. − 𝑌 0-& )
  4. CompML 勾配更新の再定式化 勾配更新の式をattractive forcesとrepulsive forcesに分割し,再定式化. ⇨ attractive forcesとrepulsive forces各々に対する最適化⼿法を検討. 13

    𝜕𝐶 𝜕𝑦# = 4 M $(# 𝑝#$ 𝑞#$ 𝑍 𝑦# − 𝑦$ − M $(# 𝑞#$ &𝑍 𝑦# − 𝑦$ attractive forces (𝐹"##$ ) repulsive forces (𝐹$%& ) 𝑍 𝑖𝑠 𝑑𝑒𝑓𝑖𝑛𝑒𝑑 𝑎𝑠 𝑡ℎ𝑒 𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑎𝑡𝑖𝑜𝑛 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 𝑖𝑛 𝑞#$ 𝑍 = M '(/ (1 + 𝑦' − 𝑦/ &)-.
  5. CompML attractive forces 点iに近い点のみ確率を計算し,遠い点は確率を0にする. ⇨ 最近傍探索にFAISSを使⽤. 1. FAISSを使⽤し,K-Nearest Neighbor(K-NN)を計算(直積量⼦化により近似最近傍探索) 2.

    K-NNにより疎⾏列化した𝑃#$ ,⾏列𝑄#$ ,N×2の⾏列𝑌,全要素1のN×2の⾏列𝑂を⽤いて attractive forcesを計算.⾏列積にはcuSPARSEを使⽤. 14 𝐹1002 = 4𝑁𝑦# M $ 𝑝#$𝑞#$ − 4𝑁 M $ 𝑝#$𝑞#$𝑦$ 𝐹1002 = 4𝑁 𝑃#$ ⨀𝑄#$ 𝑂⨀𝑌 − 𝑃#$ ⨀𝑄#$ 𝑌
  6. CompML repulsive forces セルが⼗分遠くにあるとみなされると,データ点𝑦# にかかる⼒は以下で近似される. 16 𝑁34//(𝑦# − 𝑦34//) (1

    + 𝑦# − 𝑦34// &)& ≈ M $∈34// 𝑞#$ &𝑍 𝑦# − 𝑦$ M. Burtscher and K. Pingali.An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-Body Algorithm. 2011.
  7. CompML 22 [1] L. v. d. Maaten and G. Hinton.

    Visualizing data using t-sne.Journal ofmachine learning research, 9(Nov):2579–2605, 2008. [2] J. Johnson, M. Douze and H. Jégou, "Billion-Scale Similarity Search with GPUs," in IEEE Transactions on Big Data, vol. 7, no. 3, pp. 535-547, 1 July 2021, doi: 10.1109/TBDATA.2019.2921572. [3] M. Burtscher and K. Pingali.An Efficient CUDA Implementation of the Tree-Based Barnes Hut n-Body Algorithm. 2011. [4] “How t-SNE works”. openTSNE. 2020. https://opentsne.readthedocs.io/en/latest/tsne_algorithm.html, (20 Sep 2021)