1.2021年時点の各分野における最先端の機械学習モデルの紹介まとめ
・未知の分野で作業を始める時、現時点の最先端モデルを調べるのは時間がかかる
・各MLタスクに最適なモデルをリスト化してまとめておくと手間がかなり省ける
・Kaggleのコンテストなどで良く使われるモデルを一覧にしてまとめて紹介
2.最先端の機械学習モデル一覧
以下、towardsai.netより「State of the Art Models in Every Machine Learning Field 2021」の意訳です。元記事の投稿は2021年4月12日、Mostafa Ibrahimさんによる投稿です。
自分がまだあまり詳しくない分野で何かの作業を始める時、現時点の最先端(Sota:State of the Art)、もしくは良く使われている人気のある機械学習モデルは何なのだろう?と知りたくなる時ってあると思うのですが、選択肢が膨大過ぎるのと、ネット検索などでは古い情報がかなり引っかかって来てしまうのでかなり手間がかかります。そんな中、異論反論はおそらく沢山あるかもしれませんが、ベストな感じにまとめてくれていたので意訳しました。
アイキャッチ画像は「SotA」で画像検索すると引っかかってくる「MinneSOTA」のMinneapolisでクレジットはPhoto by Tom Conway on Unsplash
最先端のモデルは常に変化し続けています。Kaggleのコンテストを1年近くやっている私は、多くのコンテストに参加し、比較、評価、テストを行っています。どこから始めればよいかがわかるように、各MLタスクに最適なモデルをリスト化してまとめておく事をお勧めします。
それでは、始めましょう!
1.画像分類
(1)EfficientNetV2
EfficientNetsV2は、従来の最先端の画像分類ネットワークを精度で2%上回り、トレーニングは5~11倍速くなり、大幅な改善が見られました。
モデルのトレーニング速度は、ネットワークに関する問題のデバッグにかかる時間を非常に長くするので、常に機械学習の大きなボトルネックになっています。リリースはごく最近で、まだ十分にテストされていませんが、EfficientNetが最先端の画像分類モデルであることに同意できると思います。
(2)Normalizer-Free Networks(NF-Nets)
2021年のモデル開発の主な焦点の1つは、ベンチマークデータセット(ImageNet21kなど)のパフォーマンスを大幅に向上させることではなく、トレーニング速度を大幅に向上させることです。NF-Netは、バッチの正規化を削除し、ImageNetで従来の最先端のパフォーマンスを維持しながら、トレーニング速度を9倍に向上させるAdaptive Gradient Clippingを導入しています。
2.画像セグメンテーション
(1)Efficient U-Nets
U-Netは、画像セグメンテーションにおいて非常に強力です。U-Netの最適化に関する最近の傾向は、最先端のCNNをU-Netエンコーダー/バックボーンとして配置することです。また、EfficientNetsは主要な最先端の画像分類モデルの1つですが、U-NetのエンコーダーをEfficientNetに置き換えた最近の論文が発表され、印象的な結果が示されました。また、画像セグメンテーションコンテストでEff-Unetsが広く使用されているを見る事が多くなり、その採用メリットは高まっています。
3.物体検出
(1)Yolo V5
もちろん、Yoloは物体検出の世界で非常に人気があります。従って、Yolo V5に関する記事もたくさんあるので、このセクションでこれ以上説明する必要はないと思います。
(2)VarifocalNet(VF-Net)
物体検出コンペに参加しているときにVF-Netに出会い、その性能に驚きました。それは常にYoloのパフォーマンスと匹敵しているようで、時にはそれを超えることさえありました。
VF-Netの作成者は、新しい「Iou対応分類スコア(Iou-aware Classification Score)」を紹介してます。これは、予測されたボックスをフィルタリングして、より正確な平均精度を取得するのに最適です。
また、バリフォーカル損失(Varifocal loss )と呼ばれる新しい損失関数を設計し、新しい「星型境界ボックス(star-shaped bounding box)」を提案しています。これは私にとって非常に興味深いことのように思えたので、これについて別の記事「MMDetection Tutorial — An End2End State-of-the-art Object Detection Library」を書いています。MMDetectionを使用して試してみたい場合はご覧ください。
4.表形式データと時系列データ
多くの機械学習プロジェクトが表形式データの上に構築されているため、表形式データは非常に人気があります。表形式データは、古典的な機械学習アルゴリズムがディープラーニングネットワークよりも優れている(または少なくとも同じように機能している)ように見える数少ない分野の1つです。
(1)勾配ブースティングマシン(LGBM、XGBoost、Catboost)
Kaggleのコンペに参加中に、(他のディープラーニングネットワークと比較すれば)単純なアルゴリズムであるLight-GBMがニューラルネットワークよりも優れている事を見て驚きました。
パフォーマンスの違いはそれほど大きくはありませんでしたが、それでも、90%台の精度で更に1~2%の向上を得るのはそれほど簡単ではありません。
勾配ブースティングマシン(Gradient boosting machine)はずっと以前から使われており、そしてそれらは決定木(decision tree)の上に構築されています。それらの最も魅力的な特徴は、その解釈可能性と使いやすさです。機械学習の初心者の方は、Gradient Boostingマシン、より具体的には基本的な決定木から始めることをお勧めします。
2021年5月追記)GBM手法とニューラル手法の差はほぼ無くなってきています。
(2)グラフニューラルネットワーク(GNN)
グラフニューラルネットワークは、機械学習界隈で大きな話題となっています。今年の人気のある機械学習カンファレンスで大量のGNN関連論文が公開されたのを覚えています。
GNNが提供する最高のものの1つは、その柔軟性です。多くのテキストベースの機械学習の問題は、グラフベースの問題に置き変える事が出来、それはGNNの使用を可能にします。
さらに、GNNはグラフ畳み込みネットワークを介して画像に使用できます。また、Attentionを使用してGNNを強化するMLソリューションがたくさんあるのを見てきました。それで、私がGNNをリストに追加する主な理由は、それが提供する最先端のパフォーマンスとともに柔軟性の力です。興味のある方は、KaggleコンペティションのGNNに関する私の記事をチェックしてみてください。
5.自然言語処理
TransformersがNLPの現在の最先端であると推測しているかもしれませんが、おそらく貴方が何度も読んだであろうTransformersの基本について話す代わりに、最新のTransformersベースのモデルについて話したいと思います。
(1)OpenAI GPT-3
本稿リストのいくつかのモデルについてはいくつかの議論の余地があるかもしれませんが、GPT-3が最も強力なNLPモデルの1つであることに私たちは皆同意できると思います。コードの記述、コンテンツの記述、質問への回答などでの使用法を示す記事はたくさんあります。正直なところ、実際にコーダーやライターなどに取って代わるとは思いません。オンラインコンテンツでトレーニングされているため、生成されるものは全て、既に存在するものの混合物になります。
はい、私はあなたが何を感じているかか知っています、混合物であってもいくつかはかなり良い出来になるかもしれません。しかし、個人的には、GPT-3がそれらを生成できるとは思いません。おそらくGPT-4です。しかし、公平を期すために書いておきますが、私はGPT-3が何をすることができるか知ってかなり感銘を受けました。
(2)BERT(もちろん)
(3)佳作:Google Switch Transformers
Google Switch Transformersを最先端と呼ぶべきかどうかはわかりませんが、それは間違いなく最高のNLPモデルランキングのどこかに位置します。特に、Google Switch Transformersが「パラメータ数を兆単位に規模拡大」する場合はです。
以下の2つのセクションでは、教師なし学習と強化学習について説明します。どちらの場合も、レビューと比較がこれまで説明した分野に比べるとあまりないため、最先端のモデルを特定する事は困難です。
6.教師なし特徴表現学習
教師なし学習は、もっと注目されるべきですがあまり注目を集めません。
私は、ラベルなしで機械学習モデルをトレーニングする力の意義を強く信じています。正直なところ、私が取り組んだ最も楽しいプロジェクトの1つは、教師なし機械学習プロジェクトでした。強力な教師なし古典的機械学習アルゴリズムがありますが、私はこの記事の傾向を一致させるため、ディープラーニングに固執するつもりです。
また、教師なしアルゴリズムのパフォーマンスに関するレビューを見つけるのは少し難しいです。なぜなら、それらを評価するのは苦痛だからです。オートエンコーダと敵対的生成ネットワーク(GAN)が、教師なし学習の最前線に立っていることは周知の事実です。
ただし、オートエンコーダーは「特徴表現学習」の基準によりよく適合するため、GANではなくオートエンコーダーに焦点を当てます。
(1)(ベクトル量子化)変分オートエンコーダ
変分オートエンコーダは、従来のエンコーダ/デコーダアーキテクチャのアップグレードを提供します。それらのボトルネックは、「mean」と「std-dev」の2つの層に分かれています。次に、これらの2つのレイヤーがサンプリングレイヤーに繰り入れられ、ここで物事が面白くなります。このサンプリングレイヤーは、データセットの分布を表現しようとします。更に、データセットの分布をモデル化する必要があるため、このサンプリングレイヤーからデータポイントを「生成」できます。
7.強化学習
私は強化学習の専門家ではないため、これらのモデルについては説明しませんが、モデルについて詳しく知りたい場合は、役立つリソースを提供します。
(1)Deep Q-networks
(2)Advantage actor-critic
最終的なまとめ
あなたが本まとめ記事を楽しんだことを願っています、そしてうまくいけば、新しいプロジェクトを始める際にどこから探し始めれば良いかがわかったと思います。私のおすすめについて何か意見があれば、towardsai.net のコメント欄に投稿してください!
3.2021年時点の各分野における最先端の機械学習モデルの紹介関連リンク
1)pub.towardsai.net
State of the Art Models in Every Machine Learning Field 2021
2)arxiv.org
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
2023年11月更新)パラメータ数が1.6TのSwitch Transformers C – 2048 expertsがオープンソースとして公開されています。