見出し画像

AI・機械学習でよく使う「モデル」ってなんだろう?

ヒューマノーム研究所・代表の瀬々です。

今回は、AIや機械学習の記事によく出る用語の代表格、「モデル」についてお話します。

なんとなく分かるんだけど、真面目に考えてみるとよく分からない、という漠然とした印象をもつ単語「モデル」。実際「モデル」という用語がAI・機械学習分野でとりあげられる場合は、さまざまな粒度で利用されます。

モデル ≒ AIを活用したシステムの頭脳

結論から言うと、その意味を広義にとらえた場合、モデルは「AIシステムにおける頭脳部分」のことを指します。例として、複数の野菜の中からたけのこを取り出すAIを搭載したロボットシステム(AIシステム)を作る場合を考えます(図1)。

図1. AIシステムの例(物体検知AI)

このシステムを実現するには、ロボットを制御したり、たけのこの入った画像を撮影したりと、さまざまな技術が必要となります。このシステムの中では、撮影した画像のどこにたけのこがいるか?を認識する箇所で、AI技術が活用されています。この物体を認識するAIのことを、AIモデルと言います。

モデルの語源は統計学です

ここまで読んでいただいた方の中には「わざわざ『モデル』なんて単語をつけずに、単に『AI』って呼べばいいのでは?」と思われた方もいるかもしれません。「AIモデル」と呼びたい理由については後述することにして、ここでは先にモデルの語源をご紹介します。

モデルという用語は統計学に由来します(機械学習ではありません)。「線形モデル」や「ベイズモデル」という単語で使われる用法と同じ意味合いです。

「モデル」とは、入力と出力を表す仮説を表します。線形モデルは、入力がxなら、出力は、xのN倍という線形の関係を示します(図2)。「モデル」は入力と出力の間をつなぐ関係を示すものです。

図2. グラフで示した線形モデル例

AIや機械学習でいうモデルの場合、『入力が画像、出力が「たけのこ」の位置』『入力が日本語の文章、出力が英語の文章』のように、入出力の関係性が複雑になります。

AIモデルと機械学習 / 深層学習モデル

モデルは「AIモデル」や「機械学習モデル」のように使われることも多い用語です。それぞれ、どのように使い分けるのが適切なのでしょうか。

AIモデルは、以下の3つの段階で成り立ちます。

  1. 入力されたデータの前処理(画像の場合は輝度を調整するなど、機械学習モデルに入力するデータ整理にあたる処理)

  2. 機械学習モデル

  3. 後処理(画像に機械学習モデルの出力を描画するなどの付加的な処理)

機械学習モデルは、AIモデルが実施する段階の中で中心的な役割をする部分です。機械学習モデルは、AIモデルと比べた場合、よりAIの核心部分を指しています(図3)。

図3. AIモデルと機械学習モデルの関係性

なお、AIモデルを構築する際に機械学習の手法の一つである「深層学習」を利用する場合、機械学習モデルの代わりに、深層学習モデルと呼ばれます。

機械学習モデルには2つの意味がある

実は、機械学習モデルが指すモデルの内容は2通りあります。一つは、学習する前の基盤となるモデル、もう一つは、学習後のモデル(学習済みモデル)です(図4)。楽器で例えると、買ってきたばかりのそのままの状態と、すぐに使えるように音程をチューニングした後の状態と言えるでしょう。

図4. AI開発における2種の機械学習モデルの位置

基盤となる機械学習/深層学習モデル(手法)には、SVM, RandomForest を筆頭にさまざまなものが存在します。どの手法を使うと精度が良くなるのか?については、実際に作成し、精度を確認しないとなんとも言えないのが正直なところです。

そのため、一般的にAIは以下の手順で開発を進めます(図5)。

  1. 基盤となるモデルを選び、モデルを学習する

  2. 基盤となるモデルで使ったものとは異なるモデルを選び、モデルを学習する

  3. これらのモデル(この文脈の場合は学習済みモデル)の精度を比較し、一番よいモデルの検討をすすめる

図5. 一般的なAI開発の流れ

AIではなく「モデル」と言いたい理由

「この製品では、〜というAIモデルを組み込みました」という文章には、A・B・Cというモデルを比較検討して学習した結果、モデルBを学習したモデルが一番良かったので、モデルBを採用しました、という作り手の思いがこもっていることが多いです。

実用的なAIは、複数のモデルを構築し、それぞれのモデルを比較検討した上で、目的に合わせて最善のものを選択する、という努力と時間を費やした結果として手に入るものです。このことが、総称としての「AI」ではなく、「AIモデル」という表記につながるのだと思われます。

最近は、習得に時間のかかる数学的な解釈やプログラミングを専用ツール経由で実施することで、AI開発にかかる労力を軽減できるようになりました。これらのツールは、モデル構築にかかる手間を省力化し、より多くのAIモデルを比較検討するための環境として提供されています。

当社も、これからAIを学ぶ初心者の方が気軽に開発できるような、ボタンクリックだけで操作できるAI開発ツールを2種提供しています。

表データ向けツール・Humanome CatDataは、学習時にSVMやLightGBM、ニューラルネットワークなどの主要な機械学習モデルが利用できます。また、画像データ向けツール・Humanome Eyes は、検出速度と精度のバランスで速度優先と精度優先の2つの深層学習モデルを選択できます。

いずれのツールも、よりよいモデルの比較検討に注力できる工夫を施しています。学習時のパラメータ変更もワンクリックできますので、ぜひ自分にあったモデルを構築してみてください。

「機械学習モデル」が学べる関連記事


AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


この記事が気に入ったらサポートをしてみませんか?