世の中便利なもんで Hugging Face というサイトで学習済みの機械学習モデルが多数公開されている。これらのモデルはそのまま使っても良いし、事前学習モデルとして使うことで独自のタスクにも使うことができる。
元々は Transformer のためのサイトだったようなのだけど、最近では GitHub や DockerHub のように機械学習モデルの事実上の標準公開サイトになりつつあるようだ。
Hugging Face で公開されているモデルにはモデルカードと呼ばれる付加情報ページが用意されていて、そこに付けられている Task タグでどんなタスクに適用できるかがわかるようになっている。そこで、どんなタスクがあるんだろうと見てみたところ、本当にいろんなモデルが公開されている。
画像/映像処理(Computer Vision)
タスク | 説明 |
---|---|
画像の分類 (Image Classification) |
何についての画像か分類を返却する。 |
ゼロショット画像分類 (Zero-Shot Image Classification) |
画像と分類を与えどの分類に当てはまる画像かを判定する。 |
映像の分類 (Video Classification) |
何についての映像か分類を返却する。 |
画像の変換 (Image to Image) |
別の画風などに画像を変換する。 |
画像の生成 (Image Generation) |
存在しない特定の種類の画像(人物など)を生成する。 |
画像の領域分割 (Image Segmentation) |
画像から対象が映っているピクセル領域を特定し切り出す。 |
物体検出 (Object Detection) |
画像に映っている物体と位置を検出します。 |
Classification と Segmentation と Object Detection の違いはリンク先の解説がわかりやすいです。
[2023/1/22追記]
Image Classification では、単に画像に一番合ったラベルを見つけるというものではなく、画像から適切なキャプション文を生成するようなモデルが出てきています。
Image to Image や Image Generation など新しい画像を映像を作り出す分野では拡散モデル(Diffusion Model)が革新的な成果を上げ独壇場となっています。
Image Segmentation では、Yolo 系が強く最新の Yolo v8 ではObject Detection もできるようになるなど、モデルの可搬性も増しているようです。
自然言語処理(Natural Language Processing)
タスク | 説明 |
---|---|
翻訳/変換 (Translation) |
文章を別言語に翻訳したり、別の文章に変換する。 |
穴埋め (Fill mask) |
マスクされた文章から元の文章を類推する。 |
文章の分類 (Text Classification) |
何についての文章なのか分類する。 |
ゼロショット文章分類 (Zero-Shot Text Classification) |
文章と分類を与え、どの分類に当てはまるのかを判定する。 |
トークンの分類 (Token Classification) |
文章の中から名前や場所など特定の分類のあたる情報を見つけ出す。 |
文章の類似性 (Sentence Similarity) |
文章が似ているかを判定する。 |
質問応答 (Question Answering) |
質問に対する答えを返す。 |
会話 (Conversation) |
連続的な会話を行う。 |
要約 (Summarization) |
文章を要約する。 |
文章の生成 (Text Generation) |
文章の一部を与えることで、残りの文章を生成する。 |
音声処理(Audio)
タスク | 説明 |
---|---|
音声の認識 (Auto Speech Recognition) |
音声データから文章を書き起こす。 |
音声の分類 (Audio Classification) |
何についての音声なのか判定する。 |
音声の合成 (Text to Speech) |
文章から音声データを生成する。 |
音声の変換 (Audio to Audio) |
音声を別の音声に変換する。 |
音声の検出 (Voice Activity Detection) |
音声データから特定の情報を検出する。 |
複合モデル(Multimodel)
タスク | 説明 |
---|---|
特徴抽出 (Feature Extraction) |
事前学習モデルそのものです。 |
文章からの画像生成 (Text to Image) |
文章から画像を生成します。 |
映像に関する質問応答 (Video Question Answering) |
映像に関する質問に回答する。 |
画像からの文章生成 (Image to Text) |
画像を説明する文章を生成する。 |
文書に関する質問応答 (Document Question Answering) |
構造化された文章(論文など)に関する質問に回答する。 |
表形式データ(Tabular)
タスク | 説明 |
---|---|
表形式データの分類 (Tabular Classification) |
表形式データを評価し何らかの結果を返す。 |
表形式データの回帰分析 (Tabular Regression) |
表形式データに対し回帰分析を行い何らかの結果を返す。異常検知など。 |
強化学習(Reinforcement Learning)
タスク | 説明 |
---|---|
強化学習 (Reinforcement Learning) |
強化学習を行う。 |
ロボティクス (Robotics) |
(登録されているモデルがないが)物理世界を対象に強化学習を行うものだと思われる。 |
統計学系は除いて、機械学習系のモデルでタグがないのはなんだろう。多腕バンディット、クラスタリング(異常検知含む)、頻出パターン検知ぐらいだろうか。