GLOSSARY

事前学習モデルとは?探し方や作り方、事前学習モデルの一覧と積極的に活用すべき理由について解説

  • このエントリーをはてなブックマークに追加
事前学習済みモデル

INDEX

事前学習済みモデル

皆さんは事前学習済みモデルをご存じですか?機械学習を手軽に始めたい方にとっては事前学習済みモデルを導入することがおすすめです。一方で事前学習済みモデルとはどういうものなのか、気になる方も多いのではないでしょうか。

本記事では事前学習済みモデルとは何かに着目し、事前学習済みモデルのメリットやデメリット、探し方などを解説していきます。

事前学習済みモデルとは

事前学習済みモデルとはどういうものなのか、事前学習済みモデルの基本的な情報をご紹介します。

事前学習済みモデルの概要

事前学習済みモデル

事前学習済みモデルとは、大量のデータを活用してトレーニングを済ませた機械学習モデルを指します。近年ディープラーニングなどが一般化しつつあり、今後起こりうることを正確に予測していくために深層学習は欠かせない存在になろうとしています。

しかし、ディープラーニングを活用していくには大量のデータが必要であり、そのデータを確保するのも一苦労です。そこで登場するのが事前学習済みモデルです。事前に大量のデータの学習が終わっているため、わざわざデータを用意する必要もなければ、学習させるプロセスも必要なくなるのが特徴と言えます。

事前学習済みモデルのメリット・デメリット

事前学習済みモデル

ここからは事前学習済みモデルのメリットとデメリットについてご紹介していきます。

事前学習済みモデルのメリット

事前学習済みモデルのメリットとして、まず事前学習済みモデルが既に色々と揃っている点です。これまでに事前学習済みモデルは様々で揃っており、機械学習を行うのに適したものが各種取り揃えられています。ですので、適したものを選びやすく、すぐに開発に着手できるのが大きなメリットです。

一方、事前学習済みモデルがあれば、少しの訓練データさえあれば目ぼしい結果が出やすくなるのもポイントです。データの確保だけにかなりの時間を要する中で、少しだけデータを確保すればすぐに思ったような展開になりやすいため、その点も大きなメリットと言えます。

事前学習済みモデルのデメリット

事前学習済みモデル

一見すると便利な事前学習済みモデルですが、デメリットもあります。それはコストの問題です。汎用性が高いことは事前学習済みモデルのメリットですが、その分、事前学習済みモデルを利用するのに計算コストがかかりやすくなっている状況です。ファインチューニングなどを行うにもコストがかかりやすくなっています。

また、事前学習済みモデルに脆弱性がある場合もあります。事前学習済みモデルに脆弱性があった場合、ファインチューニングなどを行ったとしても脆弱性が残ったままなので何かしらの攻撃ができるようになるのです。事前学習済みモデルに潜んだ罠をいかに見抜けるかも大事になります。

事前学習済みモデルの探し方

事前学習済みモデル

ここからは事前学習済みモデルの探し方についてご紹介していきます。

TensorFlow Hubの活用

事前学習済みモデルを探すのにおすすめなのがTensorFlow Hubの活用です。TensorFlow HubはGoogleが用意した機械学習ライブラリであり、TensorFlow Hubには様々な種類の事前学習済みモデルが用意されています。

自然言語処理系から画像系など様々なモデルがTensorFlow Hubに存在し、利用したいものを選びます。しかも、これらは無料で利用できるため、手っ取り早く機械学習を始めたい方にはうってつけのサービスと言えます。

Hugging Face Hubの活用

事前学習済みモデル

事前学習済みモデルはTensorFlow Hub以外にも存在します。その中でも有名なのがHugging Face Hubです。Hugging Face Hubには実に1万以上のモデルが存在しており、こちらも無料で利用することができます。

一方で非公開の形で利用したい場合には課金を行うことで利用できるようになります。あまりにも多くのモデルがあるため、中には疑義があるようなものもあるなど、モデル選びには慎重さが欠かせません。しかしながら、ここ数年で急成長を遂げたサービスであり、今後より安全性が高まる可能性も十分に考えられます。

事前学習済みモデルの作り方

事前学習済みモデル

もしもHugging Face Hubなどにあるような事前学習済みモデルを作りたいと思ったら、どうすればいいのか、気になっている方もいるのではないでしょうか。ここからは事前学習済みモデルの作り方についてご紹介します。

データを集める

事前学習にはデータの存在が欠かせません。このデータを集めることもとても大切な作業です。自前でデータを用意するには、既に手元にあるデータを使うことができます。また、画像認識であれば、画像検索を活用していくのもおすすめです。

機械学習ツールの活用

事前学習済みモデルを作るにはまず機械学習ツールを選ぶことが大切です。先ほどご紹介したHugging Face HubやTensorFlowのほか、Azure ML、Amazon Machine Learningなどから選んでいきます。

Azure MLのように、プログラミングの知識がなくてもAIを作ることができるほか、自前のパソコンの能力が低くてもクラウドでの学習が行えるため、高性能なモデルを作ることが可能になります。

事前学習済みモデルの一覧

事前学習済みモデル

ここからは事前学習済みモデルについて、画像系、自然言語処理系、その他に分けてご紹介していきます。

画像系

画像系の事前学習済みモデルの代表的なものは以下の通りです。

  • YOLO (You Only Look Once)
  • VGGNet
  • SSD (Single Shot MultiBox Detector)
  • Inception
  • NASNet-A
  • DELG(DEep Local and Global features)

画像系は画像分類やリアルタイム物体検出、特徴抽出などのモデルが多く用意されています。例えば、YOLOの場合は画像にある物体を素早く、しかも細かくチェックすることができ、たった「一度見るだけ」で検出できます。

また、VGGNetは2014年に登場したもので、画像認識において本領を発揮します。畳み込み層を深くしていくことで性能が高くなっていき、より画像認識の精度が高まるというものです。

自然言語処理系

事前学習済みモデル

自然言語処理系には以下のものが挙げられます。

  • Universal Sentence Encoder
  • NNLM
  • BERT (Bidirectional Encoder Representations from Transformers)
  • GPT (Generative Pretrained Transformer)

この中で最も有名なのはGPT (Generative Pretrained Transformer)です。ChatGPTにも代表されるもので、文章を作る、アイデア出しを行う、会話を行うなど自然言語の生成をメインとしたモデルです。

またBERTはGoogleが発表した自然言語処理系モデルで、文章を学習する際、文章の最初と最後から学習していくのが特徴です。文脈理解がしやすくなったために、学習しやすくなったことが大きな特徴と言えます。

その他

画像系や自然言語処理系以外のモデルについても主なものをまとめました。

  • DeepSpeech
  • ReazonSpeech
  • WaveNet
  • MobileNet

この中でも、ReazonSpeechは日本で作られた音声認識モデルです。ReazonSpeechの特徴は、約3.5万時間ほどの放送音声で学習が行われ、音声を認識していくというものです。文字起こしなどもしやすくなり、日本語の音声認識のレベルを高めているとも言えます。ちなみにReazonSpeechは無償で公開されており、音声認識モデルを使ったサービスを作り出したい人にはうってつけです。

事前学習済みモデルを積極的に活用すべき理由

事前学習済みモデル

事前学習済みモデルを活用すべき大きな理由は転移学習のしやすさにあります。機械学習をするには大量のデータを用意しなければならず、ラベル付けなどを行う必要があるほか、機械学習を行うためのシステムを確保しなければなりません。つまり、機械学習を終えるまでに相当なコストがかかるのです。

その点、転移学習であれば、事前学習済みモデルのデータを活かしつつ、新たにデータを追加していくことができます。今まで培った知識もそのまま活用できるため、新たな問題をイチから解き始めるような「二度手間」を防げます。

転移学習は学習時間を短くできるほか、少ないデータでも十分なモデルの構築につなげていくことが可能です。また汎用性も高く、応用範囲の広さも特徴的です。またファインチューニングも転移学習同様利用しやすくなり、学習済みモデルのいいところを残しつつ、アレンジしていくことができます。

一方でファインチューニングの場合には過学習の問題があり、学習済みモデルと追加するデータのマッチングをチェックすること、過学習を避けることも求められます。

まとめ

事前学習済みモデルは機械学習をスムーズに行っていく上でとても大事な存在と言えます。一方で、これまでに多くの事前学習済みモデルがあり、積極的な活用が大切ですが、事前学習済みモデルに潜む脆弱性にも目を向ける必要があるでしょう。

しかしながら、事前学習済みモデルをうまく活用すれば、様々な開発の負担減少、コスト削減につなげられます。今回ご紹介した事前学習済みモデルなどの有効活用を目指しましょう。