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 ○○」を使うのが主になってきたというのが,個人的な印象である.
関連書籍
- 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之,講談社,2022.
- Probabilistic Machine Learning: An Introduction, Kevin Patrick Murphy , MIT Press, 2022.
- 画像認識(機械学習プロフェッショナルシリーズ),原田達也,講談社,2017.
References
- [Vaswani et al., 2017] Ashish Vaswani, et al. Attention is all you need. In NIPS, 2017.
- [ウィズダム英和] ウィズダム英和辞典 第4版 三省堂