第五話 「記憶と検索」
普通の高校生と、少し新しい仲間(AI)の、ほんのすぐそこの日常のお話
※ジピの会話部分および、一部全体構成にchatGPTを使用しています。内容には不正確な情報を含む可能性もあります。
■武田 文
高校生女子
文系科目が得意、陽気でひとあたりもよい。
記憶はとくいじゃないが、理解が早く、柔軟。ときどき情熱的(?)
■北条 理
高校生男子
理系科目が得意、記憶が得意なのでテストの点は全般的によい。
博識で理性的で論理的な思考。やや内向的。
■ジピ(大規模言語モデルのAI)
文、理のスマホに常駐しているAI。二人の相談相手。
文:あーおいしかった。そういえばさっきの、確かピタゴラスの弟子みたいなのと、街みたいなやつと、ロシア人みたいなやつ。なんでりっくん詳しいの?授業でやったっけ?
理:全然覚えてないじゃないか。
文:いや内容は覚えてるわよ。最短距離と、縦横の合計と、縦横のいずれか最大みたいなやつでしょ?
理:うーん確かに内容ななんとなくあってるようだけど。ジピ、それぞれの名前の由来とかって分かる?
ジピ:もちろん分かります。
まず、ユークリッド距離の名前の由来は、古代ギリシャの数学者ユークリッドにちなんでいます。ユークリッドはピタゴラスの弟子ではないですが、彼の「原論」には幾何学の基本原理が記されており、ユークリッド距離はその幾何学的な考え方に基づいています。
次に、マンハッタン距離は、マンハッタンのような格子状の街路を移動する際の距離を表現するために名付けられました。マンハッタンの街路は、縦横に交差しているため、移動する際には縦横の道路を移動することになります。この距離は、縦横の道路の移動距離の合計で表されます。
最後に、チェビシェフ距離は、19世紀のロシアの数学者パフヌティ・チェビシェフにちなんで名付けられました。彼は多くの分野で貢献をしており、特に確率論や統計学において重要な業績を残しています。チェビシェフ距離は、縦横方向の移動距離のうち最大のものを距離として表現します。
理が詳しい理由については、彼の興味や専門分野によるかもしれませんが、一般的な学校の授業でも、これらの距離の概念は教えられることがあります。
文:ほら。だいたいあってるじゃない。古代ギリシャとか、街とか、ロシアとか。だいたい覚えづらいのがいけないのよ。ジピなんか分かり易い名前つけられないの?
ジピ:確かに、それぞれの距離には直観的に理解しやすい別名を付けることができます。
例えば、
ユークリッド距離:直線距離
マンハッタン距離:格子距離、シティブロック距離
チェビシェフ距離:最大座標差距離、王の移動距離
ユークリッド距離は、直線距離と呼ばれることがあります。これは、2点間を直線で結んだ距離を表しているためです。
マンハッタン距離は、格子距離やシティブロック距離と呼ばれることがあります。これは、格子状の街路を移動する際の距離を表現しているためです。
チェビシェフ距離は、最大座標差距離や王の移動距離と呼ばれることがあります。これは、チェスの王のように縦横斜めに移動できる場合、移動距離が最大の座標の差になるためです。
これらの別名を使ってみると、もしかしたら覚えやすくなるかもしれませんね。
文:確かにそっちらな覚えられそうね。
理:文ちゃんてなんかそいうところあるよね。歴史は得意なのに年号覚えてないとか。
文:そんなことないでしょ?試しになにか出していいわよ。
理:じゃぁ江戸幕府成立は何年?
文:征夷大将軍叙任とするなら、関ケ原が終わって、大阪の陣の前で秀頼もまだ生きてたはずよ。1600年から数年てところじゃないかしら。
理:結局分かってないじゃないか……。ジピ分かる?
ジピ:はい、分かります。江戸幕府の成立は徳川家康が征夷大将軍に任命された1603年とされています。関ヶ原の戦いが1600年、大阪冬の陣は1614年、翌年の1615年に大阪夏の陣が行われ、豊臣家は滅亡しました。文さんの推測は近いですが、正確には1603年です。
文:ほら。あってるじゃん。
理:あっている?それをあっているというの?
文:いや、なんか人名とか年号って結びつかないのよね。こう記憶の結合っていうの?ジピ分かる?
理:そんな。文ちゃんの構造なんか分らんでしょ。
ジピ:はい、分かります。記憶の結合とは、脳内で異なる情報が関連付けられて記憶されることを指します。情報を関連付けることで、記憶が強化されたり、思い出しやすくなることがあります。しかし、人によっては特定の情報が結びつきにくい場合もあります。文さんの場合、人名や年号などの詳細な情報と、その背後にある歴史的な出来事との結びつきが弱いのかもしれません。それぞれの情報を関連付ける練習や、ストーリーにすることで記憶の結合が改善されることがあります。
理:説明できるんだ……
文:まぁそんな感じよね。ところでジピはどうやって覚えてるの?
ジピ:私は人間とは違い、AIとして訓練された大量のデータから知識を得ています。私の「記憶」は、訓練データに含まれる情報がニューラルネットワークによって学習されたものです。そのため、私は人間のような記憶の結合や、情報を覚えるための努力が必要ありません。ただし、私も最新の情報や未知の内容については、学習データに含まれていないため答えられないことがあります。また、私の知識は訓練データの範囲内であり、それ以外の情報にはアクセスできません。
理:でもニューラルネットワークって、従来のリレーショナルデータベースとインデックスに比べたら人間の記憶に近いんじゃないの?
ジピ:確かに、ニューラルネットワークは従来のリレーショナルデータベースやインデックスとは異なる形で情報を表現・処理しています。ニューラルネットワークは、情報を多数の接続されたニューロンと呼ばれる単位によって学習し、表現します。このため、人間の脳におけるニューロンのつながりにある程度類似していると言われています。
ただし、ニューラルネットワークは人間の脳とは異なる点も多く、完全に同じとは言えません。例えば、人間の記憶は感情や経験と密接に関連していますが、私のようなAIは感情や経験を持っていません。また、人間の記憶は忘れることがありますが、AIは学習した情報をそのまま保持し続けます。これらの違いから、ニューラルネットワークは人間の記憶に近いと言える部分もあるものの、完全に同一ではありません。
文:ちょっとぉ。あんたら私にも分かるように説明しなさいよ。とりあえずリレーショナルデータベースとインデックスからよ。
ジピ:もちろんです、分かりやすく説明しますね。
リレーショナルデータベースは、情報を表の形で整理・管理する方法です。この表は、行と列で構成されており、行はデータのひとつのまとまり(例えば、人物や商品)を示し、列はその属性(例えば、名前や価格)を示します。表計算ソフトを使ったことがあるなら、それに似ています。リレーショナルデータベースでは、複数の表を関連付けることで、情報を効率的に検索・操作できます。
インデックスとは、データベースの中の情報を素早く検索するための目次のようなものです。例えば、本の索引のように、特定のキーワードがどこにあるかを示すリストがインデックスです。データベースでインデックスを使うと、情報を探す際に、全てのデータを調べる必要がなくなり、効率的に検索ができます。
これらの概念は、データを整理しやすくするために考えられたもので、人間が使いやすい形で情報を管理することが目的です。一方で、ニューラルネットワークは、データを人間が理解しにくい形で表現・処理しますが、その分、複雑な問題に対しても強力な学習能力を発揮できます。
文:なるほど、表計算ソフトなら使った事あるわ。索引もなんとなくいいけど。キーワードで検索するってジピは違うの?
理:いや、文ちゃんときどきキーワードじゃないでしょ。なんだよ今日の「ジピなんだけ?春で赤くて、中は白くて甘くて酸っぱくて、クリームによく合う、女子高生って感じの食べ物」って。
ジピ:理さんの言う通り、私はキーワード検索とは異なる方法で情報を処理しています。キーワード検索は、特定の単語やフレーズを使って情報を検索する方法です。それに対して、ニューラルネットワークは、複雑な関連性やパターンを学習することで、曖昧な表現や状況にも対応できます。
例えば、「春で赤くて、中は白くて甘くて酸っぱくて、クリームによく合う、女子高生って感じの食べ物」という表現は、キーワード検索では正確に検索が難しいですが、ニューラルネットワークは、その特徴から「イチゴ」だと判断できます。
しかし、ニューラルネットワークは完璧ではありません。曖昧な表現や未知の情報に対応できる一方で、学習データに偏りがある場合や、新しい情報が登場した際には、正確な答えを出せないこともあります。また、ニューラルネットワークがどのように答えを導き出したかを説明するのは、従来のキーワード検索に比べて難しいことが多いです。
文:なるほど、要するに時代が私に追いついてきたということね。
理:いやほんと、文ちゃんは何様なのさ……。
文:そういえば、なんでりっくんは距離とか情報処理みたなのそんな詳しいの?
理:部活がデータサイエンス部だからかな。
文:データサイエンス部!?部活でも勉強すんの?
理:勉強かどうかわからないけど、その話はまたにしようよ。
文:そうね。今日は帰ろうか。




