授業で分からない点があれば、画面右下の先生の顔アイコンをクリックして質問してください!

30.モデル化

モデル化 3.コンピュータとプログラミング

本日の授業では、「モデル化」について学びます。モデルとは、現象や事象を簡易的に表現したもので、それを作り出す行為が「モデル化」です。このモデル化を理解することで、我々は問題を解決したり、現実を予測したりする手段を得ることができます。そして、モデルはその表現形式や特性によって様々に分類されます。さて、それでは授業を始めましょう。

黒板

モデル化

授業

モデル化とは?

さてなおや君、今日のテーマは「モデル化」だよ。対象となる事象の本質的な部分を取り出し、それ以外の事象を省略するなどして単純化したものを「モデル」と言うんだ。

モデルって、プラモデルのことじゃないんですよね?

いやいや、プラモデルも一種のモデルだよ。情報科での「モデル」も、プラモデルと同じように、現実世界の事象を理解しやすい形に変換したものを指すんだ。

あー、なるほど。複雑な現象を単純にするわけですね。

表現形式によるモデルの分類

モデルにはさまざまな種類があるんだ。表現形式によっては、「物理モデル」と「論理モデル」に分類されるよ。物理モデルとは、例えばプラモデルのように、実物に似せた模型を使って表現したものだよ。

じゃあ、論理モデルって何ですか?

論理モデルは、数式や図を用いて事象を表現する方法だよ。たとえば、物事の流れを示すフローチャートも一種の論理モデルだね。

物理モデルは触れるけど、論理モデルは頭で考えるって感じですね。

特性によるモデルの分類

さて、先ほどは表現形式によるモデルの分類を見てきたね。次に、特性による分類を見ていこう。ここでは、モデルがどのような性質を持つかによって分類されるんだ。

特性って、どういうこと?

まずは「動的モデル」、これは時間の経過とともに変化するモデルのことさ。例えば、人口増減を表す人口モデルは、時間とともに値が変わるから、動的モデルと呼ぶんだよ。

なるほど、時間とともに変わるんだ。じゃあ、逆に時間に関係なく固定されているのが「静的モデル」ってこと?

その通り!良く理解できているね。「静的モデル」は、時間の経過によって影響を受けないモデルだ。例えば、建物の設計図やマップなどは、時間が経ってもその形状や配置は変わらないから静的モデルというわけだ。

うーん、でもこれだけだと少しピンとこないな。他にも例がある?

そうだね、もう少し深掘りしよう。特性によるモデルの分類には、「確率的モデル」や「確定的モデル」もあるんだ。

確率的モデルは偶然が支配していているという事かな?

その通り。「確率的モデル」は、不確定要素や不規則な動きを含むモデルのこと。例えば、天候予報は、ある程度の確率で予測されるから、確率的モデルというわけだ。

そっか、天気予報なんてまさに確率的だよね。一方で、「確定的モデル」は確定した、つまり確かな情報しか扱わないってことだろうか?

完璧だね!「確定的モデル」は、不確定要素がなく規則的な動作をするモデルのこと。例えば、日の出日の入の時間を予測する天文モデルは、一定の規則に従って動くから、確定的モデルと呼ぶんだよ。

なんだか、だんだん面白くなってきたよ!モデルって、ほんと色々あるんだね。

モデル化の手順

それじゃあ、モデル化の手順について説明するね。まず始めに、モデルをつくる「目的」をはっきりさせるんだ。

なるほど、何を達成したいのか、その目標を明確にするわけですね。

その通り!次に、「要素の分析」を行うんだ。これは、モデルを構成する要素と、それぞれの要素がどのように関わるかを明らかにすることさ。

要素とその関係性を理解するんですね。

理解が早いね!最後に、「モデル化」するんだ。これは、前で特定した要素とその関係性を、数式や図などで表現することだよ。

理解しました。それぞれについて具体的な例を教えてもらえますか?

もちろんだよ。例えば、自動車の燃費を予測するモデルを作りたいときの「目的」は、「ある自動車の燃費を予測する」ことになるよ。

うん、その通りだね。

「要素の分析」では、自動車の燃費に影響を与える要素として、「車重」、「エンジンの種類」、「車の形状」などを見つけ出すね。そして、それぞれがどのように燃費に影響を与えるのかを理解する。

なるほど。

そして最後の「モデル化」では、これらの要素とその関係性を数式で表現するんだ。「燃費=定数 – 車重の影響 – エンジンの影響 – 形状の影響」などと表すと、ある車の情報を入力して、燃費を予測することができるよ。

次元の呪い!

なるほど。でも、実際には天候とかタイヤのヘリ具合とかそんなところも影響しますよね。

その通りだね。実際にモデルを作る時には、モデルの複雑性と精度との間のバランスを見つけることが重要なんだ。

複雑になると何か困る事あるの?

要素すなわちパラメータが増えるにつれて、モデルの学習や予測の精度を維持するためには指数関数的にデータが必要になって、これを「次元の呪い」と呼んだりするよ。

うう、呪われたくないので、ほどほどにしておきます

今話題のChatGPT(GPT3.5)がパラメータ数が1750憶と発表されているよ。そして、最新のGPT4ではパラメータ数は未公開だけれども、一説には5000憶から100兆と言われているよ。

100兆!次元が大きすぎて呪う気にすらならないかも・・。

本当だね。ChatGPTなどの生成系AIで使われるモデルは、インターネット上の膨大なデータを使ってトレーニングしているので、大規模言語モデル(LLM:Large Language Models)と呼ばれるんだ。

LLMですね。覚えておきます。

まとめ

まとめ
  • モデル化の定義
    モデル化とは、対象となる事象の本質的な部分を取り出し、それ以外の事象を省略するなど単純化して表現したものをモデルという。モデル化はこのモデルを作成する行為を指す。
  • モデルの分類
    モデルは表現形式と特性により分類される。
  • 表現形式によるモデルの分類
    物理モデルは実物に似せた模型を使って表現したもので、論理モデルは数式や図などを用いて対象現象を表現したものである。
  • 特性によるモデルの分類
    モデルの特性には時間の経過によって変化する動的モデル、時間の経過に影響を受けない静的モデル、不確定要素や不規則な動作を含む確率的モデル、規則的な動作のモデルである確定的モデルがある。
  • モデル化の手順
    モデル化は目的の明確化、要素の分析、そしてモデル化という手順で行われる。これにより対象の要素とその関係性を明らかにし、最終的には数式や図などでモデルを表現する。

名言解説

優れたソフトウェアの機能は、複雑なものを単純に見せることです。グラディ・ブーチ
The function of good software is to make the complex appear to be simple. Grady Booch

グラディ・ブーチは、ソフトウェア工学の分野で知られるアメリカの計算機科学者で、特にオブジェクト指向プログラミングとUML(統一モデリング言語)の共同開発者として知られています。彼はこの名言を通じて、ソフトウェアが実際に複雑な問題を解決するだけでなく、それらの問題を一見理解しやすく、簡単に見せるという能力を持つべきだと主張しています。

モデリングの一環として、この考え方は非常に重要です。具体的な問題や現象を理解しやすく、簡単に見せるモデルを作り出すことは、その問題や現象をより深く理解する手助けとなります。ブーチの言葉は、複雑な現実を簡潔で理解しやすいモデルに置き換える能力の価値を示しています。

皆さんは、情報科学の学習を進める上で、この名言を心に留めておいてください。現実の問題や現象を、シンプルで分かりやすいモデルに変換する能力は、情報科学だけでなく、あらゆる科学分野や日常生活においても有用です。今後の学習に役立ててください。

問題

「クイズをスタート」のボタンをクリックすると、5問出題します。さあチャレンジ!

モデル化の手順の中で、何のためにモデルを作るのか目的を明確にする手順を何というか?
対象となる現象を数式で表したモデルを何というか?
モデルの特性に基づいて分類したとき、時間の経過に影響を受けないモデルを何というか?
実物に似せた模型を使って表現したモデルは何というか?
モデル化とは、対象となる事象の何を取り出し、それ以外の事象をどのようにすることを指すか?
30.モデル化
{{maxScore}} 問中 {{userScore}} 問 正解!
{{title}}
{{image}}
{{content}}

編集者ひとこと

プラモデル、ファッションモデル、ビジネスモデルなど、日本でも「モデル」は一般的な言葉となっています。情報学では、「モデル」は「物事の仕組みを単純化して表したもの」と理解されます。しかし、ChatGPTのような大規模言語モデルは非常に複雑で、一見すると「単純」とは言えないかもしれません。
しかし、ニューラルネットワークの各個々の「ニューロン」が実行する計算は実は比較的単純なんです。これらの単純なニューロンが何十億もの規模で組み合わさることで、非常に複雑なパターンを学習し、人間の言語使用をモデル化できるんですよ。
今回のモデル化の授業は、AI学習の入り口にもなるので、しっかり理解してくださいね。

タイトルとURLをコピーしました