バニラ (vanilla) [機械学習,ディープラーニング]

記事を共有する:

1. バニラ(vanilla)とは [概要]

バニラ(vanilla) とは,機械学習において,あるアルゴリズムやモデル・ネットワークが「何も操作されていない」「提案された設計のままの」「元論文どおりの」状態のものを示したい時に,深層学習計の論文等でよく出てくる接頭語である.

例えば 「vanilla Transformer 」と書けば,Transformerの元論文 の [Vaswani et al., 2017] とおりモデルから加工していないTransformerのことを表わす.すなわち,「元の○○を,一切加工していないバージョン」のことを「vanilla ○○」と書く.

英語のうち,アメリカ英語(の口語)では「あきりたりな」「平凡な(=つまらない)」の意味でもvanilla を使う.しかし,そうではなく,IT業界用語の「拡張機能がないまっさらな(プレーンな)」 [ウィズダム英和] の”vanilla” が,機械学習で定番フレーズ化した.どちらの意味も「バニラ味 (vanilla flavor)」のアイスやソフトクリームが,標準的な「普通の味(プレーン)」である点から意味が出てきていると考えればわかりやすい.

ということは,「vanilla Transformer (バニラ味 Transformer)」は「plain Transformer(プレーンなのTransformer)」と書いても,意味は同じである.しかし,機械学習・ディープラーニング界隈では,「vanilla Transformer」の方が,業界用語として定着し,聞いてしっくりくるよく使用される言い回しになったので,論文等やWeb記事などで,みんな「vanilla ○○」を好んで使うようになった.

1.1 「vanilla ○○」の例

私の文献管理ソフト(Devonthink)にストックしてある論文のうちで,ここ10年くらいの論文で「vanilla」を本文検索すると,例えば以下のようなものがヒットした:

  • the vanilla implementation of beam search
  • vanilla pre-training method
  • vanilla detector
  • vanilla RNN
  • vanilla GAN
  • vanilla VAE
  • vanilla ViT
  • vanilla BERT
  • vanilla NetVLAD

ディープラーニングの論文からの例を多く挙げたが,そもそもこれは機械学習業界全般で見られる言いまわしである.以前の2010年代のデータサイエンスブームの頃からも「vanilla ○○」という言い回しはよく目にした.それが,ディープラーニング流行後の論文数爆発で,目にする頻度が非常に多くなっていったとも言える.

1.2 抽象度が高すぎると使わない傾向

ディープラーニング登場初期の頃には,旧来の3層MLPのことを,vanilla neural networkと呼んだりしていた.ただ,最近は,AI関連の各業界の論文などだと,抽象度が高すぎる単語(例 modelとかneural netとかdetectorなど)には,vanilla とつけることはなくなってきていて,固有名詞が名付けられた,(もう1段階抽象度が下位の)アルゴリズム・ネットワークにのみ,vanilla とつけることが多い.

つまり,最近は,「vanilla VAE」「vanilla Transformer」「vanilla ViT」など,「元提案論文 + 個別名がある抽象度階層のネットワーク・アルゴリズム」に対して「vanilla ○○」を使うのが主になってきたというのが,個人的な印象である.

関連書籍

References

  • [Vaswani et al., 2017] Ashish Vaswani, et al. Attention is all you need. In NIPS, 2017.
  • [ウィズダム英和] ウィズダム英和辞典 第4版 三省堂

参照外部リンク