Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

無限ボルツマンマシンの学習

1,017 views

Published on

NN論文を肴に酒を飲む会 #6資料

シャッフルの話を修正しました

  • Be the first to comment

無限ボルツマンマシンの学習

  1. 1. ソフトウェアエンジニア shitian-ni 無限ボルツマンマシンをトレーニングする手法
  2. 2. 自己紹介 - 倪石天 ● 2回目 ● GTCでもポスター発表 ● 東工大4年生 ● Kaggle Expert ● メルカリインターン ○ 量子コンピューティング D-wave, 量子アニーリング メルチャリ、機械学習関連 1/20 Image from D-wave
  3. 3. なんでボルツマンマシンの話? 2/20
  4. 4. 量子コンピュータ 3/20
  5. 5. 量子コンピュータ 3/20 Image from D-wave Image from D-wave
  6. 6. QPU CPU/GPU: ノードがビット QPU:   ノードのビット(Q bit)以外に、ビットの重み、ビット間のエッジに重みがある 4/20 Image from D-wave
  7. 7. Solve a problem Sampling 量子アニーリング特有のプログラミング 5/20
  8. 8. Problem types 6/20 決まっている
  9. 9. Problem types 6/20 Sample code from D-wave cloud
  10. 10. Problem types 6/20 Sample code from D-wave cloud
  11. 11. Problem types 6/20 Sample code from D-wave cloud QUBOは省略
  12. 12. Boltzmann Machine 7/20
  13. 13. Boltzmann Machine visible nodes inputs, outputs hidden nodes neurons 原始的なニューラルネットワーク 色々な応用がある 7/20 Image from D-wave cloud
  14. 14. Ising modelとの関係 8/20 Image from D-wave cloud from Wikipedia
  15. 15. Ising modelとの関係 量子コンピュータが解ける 量子時代の役割に期待 8/20 Image from D-wave cloud from Wikipedia
  16. 16. Applications ● image and audio classification ○ A. Mohamed and G. E. Hinton. Phone recognition using restricted Boltzmann machines ○ G. E. Hinton, R. R. Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks ● generation ○ Mohamed A, Dahl G E, Hinton G. Acoustic modeling using deep belief networks ● collaborative filtering ○ R. Salakhutdinov, A. Mnih, and G. E. Hinton. Restricted Boltzmann machines for collaborative filtering ○ Truyen Tran, Dinh Phung, Svetha Venkatesh. Mixed-Variate Restricted Boltzmann Machines ● motion modeling ○ G. W. Taylor, G. E. Hinton, and S. T. Roweis. Modeling human motion using binary latent variables Restricted Boltzmann Machineの応用例が多い D-waveの応用例も多くなる 9/20
  17. 17. Applications ● image and audio classification ○ A. Mohamed and G. E. Hinton. Phone recognition using restricted Boltzmann machines ○ G. E. Hinton, R. R. Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks ● generation ○ Mohamed A, Dahl G E, Hinton G. Acoustic modeling using deep belief networks ● collaborative filtering ○ R. Salakhutdinov, A. Mnih, and G. E. Hinton. Restricted Boltzmann machines for collaborative filtering ○ Truyen Tran, Dinh Phung, Svetha Venkatesh. Mixed-Variate Restricted Boltzmann Machines ● motion modeling ○ G. W. Taylor, G. E. Hinton, and S. T. Roweis. Modeling human motion using binary latent variables RBM VS CNN, GAN RNN, VAE,... Restricted Boltzmann Machineの応用例が多い D-waveの応用例も多くなる 9/20
  18. 18. Applications Infinite RBM VS CNN, GAN RNN, VAE,... ● image and audio classification ○ A. Mohamed and G. E. Hinton. Phone recognition using restricted Boltzmann machines ○ G. E. Hinton, R. R. Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks ● generation ○ Mohamed A, Dahl G E, Hinton G. Acoustic modeling using deep belief networks ● collaborative filtering ○ R. Salakhutdinov, A. Mnih, and G. E. Hinton. Restricted Boltzmann machines for collaborative filtering ○ Truyen Tran, Dinh Phung, Svetha Venkatesh. Mixed-Variate Restricted Boltzmann Machines ● motion modeling ○ G. W. Taylor, G. E. Hinton, and S. T. Roweis. Modeling human motion using binary latent variables 9/20 Restricted Boltzmann Machineの応用例が多い D-waveの応用例も多くなる
  19. 19. Motivation どれが良さそう? 10/20
  20. 20. Motivation ほとんどの場合 hidden nodeが多かった方が モデルの表現力が増す hidden nodeの間に強い相関があると 過学習の恐れがある 10/20
  21. 21. infinite RBM 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 11/20
  22. 22. infinite RBM 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 11/20
  23. 23. infinite RBM 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する 11/20
  24. 24. i番目hidden nodeを学習する 12/20
  25. 25. 12/20 z: エネルギー関数に入れる hidden nodeの数 i番目hidden nodeを学習する
  26. 26. 12/20 the newly added hidden unit is always influenced by all the previous added hidden units sum up all hidden unit states i番目のhidden nodeを学習することを考える z: エネルギー関数に入れるhidden nodeの数 i番目hidden nodeを学習する
  27. 27. 12/20 the newly added hidden unit is always influenced by all the previous added hidden units sum up all hidden unit states i番目のhidden nodeを学習することを考える z: エネルギー関数に入れるhidden nodeの数 i番目hidden nodeを学習する どうすればいいか
  28. 28. 12/20 if → 1 then the first M hidden units are independent with each other i番目のhidden nodeを学習することを考える z: エネルギー関数に入れるhidden nodeの数 i番目hidden nodeを学習する
  29. 29. 12/20 iより多くのノードの一斉のシャッフルはエネルギーに影響を与える この時、全ての順序を列挙してエネルギーに入れた場合、 順序バイアスを解消できる i番目hidden nodeを学習する
  30. 30. Order effect 11/20 交換したらモデル結果変わらないはず p(Mt>z) → 0 p(z<=Mt) → 0 交換したらモデル結果変わるはず p(Mt>z) → 1 p(z<=Mt) → 1
  31. 31. 改善策 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 13/20
  32. 32. 13/20 i番目のhidden nodeを学習することを考える if then → 1 then the first M hidden units are independent with each other Mt: このステップにシャッフルする hidden nodeの数  :[1,2,...,Mt] の並べ替え z: エネルギー関数に入れるhidden nodeの数 改善策 Mt>z iより後ろのhidden nodeを シャッフルして前に入れる
  33. 33. 13/20 i番目のhidden nodeを学習することを考える if then → 1 then the first M hidden units are independent with each other 改善策 Mt>z iより後ろのhidden nodeを シャッフルして前に入れる Mt: このステップにシャッフルする hidden nodeの数  :[1,2,...,Mt] の並べ替え z: エネルギー関数に入れるhidden nodeの数
  34. 34. hidden node入れ替え 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20
  35. 35. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20 hidden node入れ替え
  36. 36. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20 hidden node入れ替え
  37. 37. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20 hidden node入れ替え
  38. 38. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20 hidden node入れ替え
  39. 39. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える 14/20 hidden node入れ替え
  40. 40. 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える - 依存するノードが変わる(依存しなくなる) 14/20 hidden node入れ替え
  41. 41. 14/20 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える - 依存するノードが変わる(依存しなくなる) - 新しいノードを入れる度に - hidden nodeの順序が変わる - hidden nodeの数も変わる - つまり新しいモデルをトレーニングすることになる - 結局は無限複数のモデルの平均を取ることになる (boosting) - そういう場合は大体結果が良くなる - Kaggleも :) hidden node入れ替え
  42. 42. Dropoutのようなもの 14/20 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える - 依存するノードが変わる(依存しなくなる) - 新しいノードを入れる度に - hidden nodeの順序が変わる - hidden nodeの数も変わる - つまり新しいモデルをトレーニングすることになる - 結局は無限複数のモデルの平均を取ることになる (boosting) - そういう場合は大体結果が良くなる - Kaggleも :) hidden node入れ替え
  43. 43. Dropoutのようなもの out→permutation(out & in) 14/20 学習時にhidden nodeが自由に増減できる データに適応してモデルが変化できる - 生涯学習 Con: - 収束しづらい、遅い 理由: - 新しく入ったhidden nodeは 前から学習していたノードに依存する hidden node同士に繋がりがないから互いに独立 改善: - 勾配法更新する度に hidden nodeを入れ替える - 依存するノードが変わる(依存しなくなる) - 新しいノードを入れる度に - hidden nodeの順序が変わる - hidden nodeの数も変わる - つまり新しいモデルをトレーニングすることになる - 結局は無限複数のモデルの平均を取ることになる (boosting) - そういう場合は大体結果が良くなる - Kaggleも :) hidden node入れ替え
  44. 44. 生成モデル D dimensional visible vector infinite-dimensional hidden vector total number of hidden units selected visible unit bias vector i-th hidden unit bias Weight matrix connecting visible and hidden units i-th row of W penalty for selected hidden unit 15/20 Images from Xuan Peng et al
  45. 45. total number of hidden units selected サンプリングしてvを得る 生成モデルなど 生成モデル 15/20 D dimensional visible vector infinite-dimensional hidden vector visible unit bias vector i-th hidden unit bias Weight matrix connecting visible and hidden units i-th row of W penalty for selected hidden unit
  46. 46. 識別モデル 16/20 Images from Xuan Peng et al
  47. 47. 識別モデル training objective 17/20 データを貰って予測結果 yになる確率 生成データがvになる確率確率
  48. 48. Training 18/20 Images from Xuan Peng et al Mt: このステップにシャッフルする hidden nodeの数  :[1,2,...,Mt] の並べ替え
  49. 49. Results Generative model Discriminative model RP: Random Permutation 19/20 Data and Images from Xuan Peng et al
  50. 50. 結論 20/20 ● 量子コンピューターのニューラルネットワーク利用例 ○ RBM ● RBMは無限にネットワーク増大できる ○ 生涯学習 ● 学習する時hidden nodeの順番を入れ替える ○ 訓練スピード向上と精度向上ができる
  51. 51. Questions? Comments? shitian.ni@mercari.com

×