数理思考×高校数学で読み解くAI

高校数学から最先端AIまでを「横断的」学ぶ理由(続き)
—⁠—最先端AI/ロボティクスの仕組みを数理思考で解き明かす

はじめに

本連載では、拙著『独学で鍛える数理思考』⁠独学で鍛える数理思考2』⁠技術評論社)を題材に、高校数学と最先端AIのつながりを考察してきました。第1回では、2冊12章の全体像を1枚の対応表にまとめました。第2回では、12章を貫く5つの共通項として、ベクトルによる類似度計算行列による大規模データ処理微分による学習・最適化確率によるモデル化・推定物理学に基づく考察を取り上げました。

第2回の図では、シリーズ全12章に登場する数理的な観点を10種類に整理しました。すなわち、数列対数三角関数ベクトル行列幾何学微分積分確率物理学です。このうち、第2回で詳しく取り上げたのはベクトル、行列、微分、確率、物理学の5つでした。今回は、残る5つに注目します。具体的には、三角関数による波と回転の表現数列によるデータの表現と集計対数による計算の変換積分による連続的な量の計算幾何学による位置と運動の記述です。

本稿は第2回の続編に当たりますが、この回からでも読める構成としています。興味を持った方は、本稿の読了後に第2回もぜひご覧ください。

図の読み方

本題に入る準備として、下図を示します。構図は第2回の図と同じです。左に1冊目の6章、右に2冊目の6章を配置し、各章に登場する数理的枠組みを色付きのタイルで示しています。中央には、第2回で取り上げた5つの共通項に代えて、今回の5つの観点を置きました。左右の各章から伸びる線は、その章でどの単元を扱っているのかを示しています。

シリーズ2冊、全12章の構成と、今回取り上げる5つの観点(©cross-X Inc.)
図を拡大する

観点1⁠三角関数による波と回転の表現

三角関数について、⁠一体何の役に立つのかわからない」という意見に出くわすことがあります。確かに、日常生活で三角関数を意識する機会はほとんどないかもしれませんが、先端技術を構築するうえで三角関数は欠かせず、幅広い技術に登場します。ChatGPTのような生成AIの基礎となるTransformerでも、位置情報の表現方式によっては、三角関数が重要な役割を担います。

三角関数の基本的な性質をおさらいしましょう。高校数学では、三角比を直角三角形の辺の比として学び、そこから単位円を使った三角関数へ進みます。半径1の円周上に点を置き、中心からその点までの線分が横軸となす角度を決めると、点の横方向の位置はcos、縦方向の位置はsinで表せます。角度を少しずつ増やして点を円周上で回すと、横方向と縦方向の位置は一定の間隔で同じ値を繰り返します。円運動を横方向と縦方向に分けて見ると、その変化がsinとcosの波として現れます。

この関係から、三角関数が例えば音声解析ロボットアームの制御で使われる理由を説明できます。1冊目第5章音声解析を実現する数理において、音は空気の振動であるという着想から考察を展開します。つまり、一定の周期をもつ単純な波を三角関数で表し、それらを重ね合わせることで、複雑な周期波形を表すプロセスを示しています。より具体的には、周期的な波形を、基本となる周波数とその整数倍の周波数をもつ単純な波の足し合わせとして表すフーリエ級数展開を扱います。実際の音声のような、一般には周期的でない信号を扱う場合には、一定区間を切り出して分析したり、フーリエ変換を用いたりします。2冊目第6章物体操作を実現する数理では、ロボットアームの関節が軸を中心に回転したとき、手先がどこへ移動するかを三角関数を用いて表現します。波と回転は、どちらも円周上の点の動きからsinとcosで表せるという共通点を持っています。こういった物理現象を数理モデルとして表現する際に、三角関数は大活躍します。

三角関数は、Transformerで用いられる位置表現の一方式に応用されています。論文『Attention Is All You Need』で提案されたTransformerでは、周期の異なる複数のsin波とcos波を組み合わせ、トークンの位置を表す位置符号化を用います。1冊目第4章文章生成を実現する数理で扱うTransformerのAttentionは、文章に含まれるトークン同士の関係を内積によってまとめて計算します。しかし、位置情報を与えずにトークンの内容だけからAttentionを計算すると、各トークンの順番を区別できません。語順が変われば文章の意味も変わるため、位置情報を追加で与える必要があります。周期の異なる波は、位置に応じてそれぞれ異なる変化を示します。個々の波だけを見ると同じ値を取る位置もありますが、複数の波の値を組み合わせることで、モデルが扱う範囲内で位置ごとに異なる情報を表せます。その位置情報をトークンのベクトル表現に加えることで、モデルは各トークンの位置を区別できます。

ほかにも、1冊目第6章衛星測位を実現する数理では、衛星の楕円軌道をその軌道面上の2次元問題として捉え、衛星の位置を距離と角度で表す極座標を使います。軌道面上で距離と角度から横方向と縦方向の位置へ変換するときにも、sinとcosが必要です。実際の3次元空間における衛星の位置を表すには、軌道面の向きなどの追加情報も必要となります。本シリーズだけでも、音声解析、文章生成、衛星測位、ロボット制御といった異なる技術を横断して三角関数が登場します。いかに三角関数が幅広い先端技術を支えているかが、これらの例からわかります。

観点2⁠数列によるデータの表現と集計

高校数学で学ぶ数列の考え方は、生成AIを含むさまざまな先端技術で重要な役割を担っています。たとえば、2冊目第1章強化学習を実現する数理では、高校で学ぶ等比数列無限等比級数が、AIの行動を評価する計算にそのまま使われます。

強化学習では、エージェントと呼ばれる行動主体が、行動の結果として報酬を受け取ります。このとき、目の前の報酬だけに目がくらんで行動を選ぶと、すぐに得をする選択ばかりを優先し、後になって大きな報酬を得られる選択を見落とすかもしれません。そこで、現在から将来までに得られる報酬を足し合わせ、行動を長期的に評価します。

たとえば、ある行動を繰り返すと現在から先も毎回10の報酬を得られるとします。そのまま足し合わせると、報酬の合計は10、20、30と際限なく増えてしまい、行動の価値を有限の数で表せません。そこで、将来の報酬ほど少しずつ小さく見積もるという考え方を採用します。その考え方を割引率で表現し、その値を0.9とすれば、現在から見た各回の報酬は、10、9、8.1、7.29……と続きます。これは、初項が10、公比が0.9の等比数列です。

このとき、無限等比級数の性質から、公比の絶対値が1より小さければ、この等比数列の各項をどこまでも足し合わせても有限の値に収束することがわかります。この例では、10、9、8.1、7.29……の合計は100になります。こうして得られる将来の報酬の合計が収益です。強化学習では、収益の期待値を状態や行動の価値として用います。収益を有限の数として計算できるからこそ、⁠すぐに小さな報酬を得る行動」「しばらく待って大きな報酬を得る行動」を比較できます。

1冊目第2章商品推薦を実現する数理では、数列のもう1つの基本的な働きである「並べた値を足し合わせる」という考え方が使われます。商品推薦では、モデルが予測した評価値と利用者が実際に付けた評価値との差を、予測ごとに求めます。1件目のズレ、2件目のズレ、3件目のズレ……と並べれば、予測のズレは有限の数列として表せます。

ただし、ズレには正と負があるため、そのまま足すと互いに打ち消し合います。そこで、各項を2乗してから、総和記号Σを用いてすべて足し合わせます。この総和が、予測全体の良し悪しを表す損失関数として機能します。個々の予測に生じた多数のズレを1つの数にまとめれば、モデルを更新する前後で損失を比較し、どちらのモデルがより良い予測をしているのかを判断できます。高校数学で学ぶ「数列の和」が、商品推薦のモデルを改善するための基準に変わるわけです。

ほかにも、2冊目第5章自律移動を実現する数理では、ロボット制御やロケットの軌道制御にも用いられる状態推定手法であるカルマンフィルタを扱います。カルマンフィルタは、運動モデルに基づく予測とセンサーから得られる観測を組み合わせ、位置や速度などの推定値を繰り返し更新します。そこでは、数列と確率の考え方を組み合わせ、繰り返し更新される推定の性質を数学的帰納法で確かめます。このように、数列の考え方は先端技術の至るところで登場します。

観点3⁠対数による計算の変換

高校数学で学ぶ対数は、先端技術において主に次の2つの重要な働きを担います。1つは、桁が大きく異なる数を比較しやすい尺度に変えることです。もう1つは、掛け算を足し算に変えることです。

1冊目第1章情報検索を実現する数理では、検索キーワードが文書(Webページなど)の中でどれほど重要かを測るTF-IDFモデルを扱います。このうち、TF(Term Frequency、単語頻度)は、その単語(検索キーワード)が文書内に何回現れたかをもとに重要度を求めます。ただし、出現回数をそのまま重要度にすると、同じ単語を100回書いた文書は、1回だけ書いた文書の100倍重要だと評価されます。同じ単語を必要以上に繰り返した文書が高く評価されるおそれもあります。

そこで用いる1つのアプローチが、単語の出現回数から重みを求める際に対数を用いることです。この方法では、単語が一度も現れない場合は重みを0として扱い、1回以上現れる場合には、出現回数が増えるほど重みの増加が緩やかになるように定義します。これにより、単語が1回現れた時点では一定の重みを与えつつ、すでに何度も現れている場合には、出現回数がさらに1回増えたときの重みの増加を小さくできます。高校で対数関数のグラフを描いたときに確かめた「次第に増え方が緩やかになる」という性質が、文書内で検索キーワードを何度も繰り返した場合の評価の上昇を抑えるために使われているのです。

対数のもう1つの働きは、1冊目第3章画像分類を実現する数理で明確に現れます。画像分類では、学習データの各画像について、モデルが正解ラベルにどの程度の確率を割り当てたのかを調べます。各画像を独立に扱うという仮定のもとで、正解ラベルに割り当てた確率をすべて掛け合わせた値が尤度です。尤度が大きいほど、モデルの予測は学習データ全体によく合っていると評価できます。

ところが、正解ラベルに割り当てた確率のうち、1より十分に小さい値が多数含まれると、それらの積は急速に0へ近づきます。学習データが何千件、何万件とある場合、尤度が数値計算上きわめて小さくなり、アンダーフローを起こすこともあります。そこで、尤度そのものではなく、その対数である対数尤度を用います。高校数学で学ぶ対数法則により、確率の掛け算は対数の足し算へ変わります。すると、学習データ1件ごとの項に分けて考えられます。画像分類モデルの学習では、パラメータを更新するために微分計算も行うので、式を足し算の形に変えておけば項ごとに微分でき、パラメータをどの方向へ更新すればよいかも求めやすくなります。

2冊目第4章マルチモーダルを実現する数理で扱うCLIP(Contrastive Language-Image Pre-training)でも、対数法則が役立ちます。CLIPは、対応する画像と文章の組を近づけ、対応しない組を遠ざけるように学習します。その良し悪しを測るInfoNCE損失を導く過程でも、多数の確率の積を対数によって和へ変換します。

このように、検索、画像分類、マルチモーダルAIという異なる技術で、対数の性質が活用されています。情報検索では数値の尺度を変えて比較しやすくし、画像分類やCLIPでは確率の掛け算を足し算に変えます。対数は、数値の尺度を変えたり、積を和へ置き換えたりすることで、複雑な計算を扱いやすくする数理的枠組みなのです

観点4⁠積分による連続的な量の計算

高校数学では、積分を「曲線と横軸で囲まれた部分の面積や立体の体積を求める計算」として学びます。これが一体何の役に立つのか、と思われるかもしれませんが、積分の「変化の総量を求める」という性質がさまざまな場面で重宝されます。

2冊目第5章自律移動を実現する数理では、この考え方が確率の計算に使われます。実際のロボットは空間内のどこか1点にいますが、センサーには誤差があるため、その位置を正確には知ることができません。また、ロボットの位置は、1m、2m、……のような「飛び飛びの値」だけで表されるわけではなく、1m地点と2m地点の間のどの地点にもなり得ます。そこで、ロボットの位置を連続値として扱い、⁠このあたりにいる可能性が高い」という位置の不確実性を確率密度関数で表します。そして、確率密度関数を用いて確率を求めるには、積分計算が必要となります。たとえば、ロボットが「1メートルから2メートルの間にいる確率」を求める場合、確率密度関数に対してその区間で積分計算をすることになります。

2冊目第6章物体操作を実現する数理では、積分によってロボットアームを動かす際の仕事を求めます。一定の力が移動方向に働き、物体をまっすぐ動かす場合は、力と距離を掛ければ仕事を求められます。縦軸を力、横軸を移動距離とするグラフでは、力と移動距離の積が長方形の面積に当たります。ロボットアームでは、関節の角度や手先の位置が変わるにつれて、必要な力の大きさや向きも変化し得ます。そこで、移動経路を細かく区切り、各区間において、移動方向に沿って働く力の成分と小さな移動量から仕事を求めます。関節の回転として捉える場合には、関節にかかるトルクと小さな回転量から、各区間における小さな仕事を求めます。それらの小さな仕事を積分によって足し合わせれば、アームが移動する間の仕事の総量が得られます。

このように、積分は、ある範囲にわたる量の総和を求める際に使われます。とりわけ、連続的に変化する量を扱ううえで欠かせません。ここでは概要にとどめましたが、詳しい考え方や導出に興味のある方は、⁠独学で鍛える数理思考』シリーズや専門書をぜひ手に取ってみてください。

観点5⁠幾何学による位置と運動の記述

本稿冒頭の図で幾何学の箱へ線が伸びているのは、1冊目第6章衛星測位を実現する数理と2冊目第6章物体操作を実現する数理の2章です。どちらの章でも、空間内の位置や運動を捉えるために、幾何学的な関係を数式として表します。

1冊目第6章では、GPS(Global Positioning System、全地球測位システム)によって現在地を求める仕組みを考察します。GPS衛星からの電波が受信機へ届くまでの時間がわかれば、電波の速さを使って、衛星と受信機の距離を求められます。ただし、1機の衛星までの距離がわかっても、現在地は1点に決まりません。その衛星から同じ距離にある場所は、衛星を中心とする球面全体に広がっているからです。

2機目の衛星までの距離がわかると、もう1つの球面ができます。すると、現在地の候補は、2つの球面が交わる円周上まで絞られます。3機目の衛星を加えると、候補は2つの交点まで絞られます。現実には受信機の時計にわずかなズレがあり、そのズレも未知数として求める必要があるため、通常は4機以上の衛星から信号を受け取ります。

ここで行っているのは、高校数学の図形と方程式で学ぶ考え方です。複数の球面を表す連立方程式を解き、その交点を求めます。現在地を探す問題が、球面の交点を求める問題へ置き換わることで、GPSの位置計算が可能になります。また、計算の基準となる衛星自身も空間内を動いています。同章では、衛星の楕円軌道極方程式として表し、時刻に応じた衛星の位置を求める考え方へ進みます。

2冊目第6章では、幾何学を使ってロボットアームの手先の位置を求めます。1本のアームを1つの関節で回すと、手先は関節を中心とする円周上を動きます。観点1で見たとおり、アームの長さと関節の角度がわかれば、三角比によって手先の座標を計算できます。

関節が2つ、3つと増えると、問題は複雑になります。1つ目の関節を回すと、その回転に応じて2本目のアームの向きも変わります。さらに、1本目のアームの先端を新たな基準点として、2本目のアームの回転を考える必要があります。各関節について回転と平行移動を個別に計算していると、関節が増えるたびに式が長くなります。

そこで、回転と平行移動を一度に扱うアフィン変換を使います。さらに、2次元の座標に1つの成分を加えた同次座標を用いると、回転と平行移動を1つの同次変換行列にまとめられます。各関節の同次変換行列を順に掛け合わせれば、根元を基準とした手先の位置と向きを一連の行列計算で求められます。高校数学で学ぶ図形と三角比の考え方によって位置関係を捉え、その考え方を行列によって複数の関節に拡張します。この流れから、幾何学と第2回で取り上げた行列の働きが、ロボット工学の中でどのように結び付くのかがわかります。

あらためて⁠横断的な学びを振り返る

第2回では、ベクトル、行列、微分、確率、物理学という5つの共通項を取り上げました。本稿では、三角関数、数列、対数、積分、幾何学が果たす役割を説明しました。2回分を合わせることで、複数の数理的枠組みが1つの技術の中でそれぞれの役割を果たし、互いに結び付いて一連の処理を形づくっていることまで確認できます。

たとえば、昨今の多くの生成AIはTransformer系の構造を基礎としています。位置情報の表現方式によっては三角関数が用いられ、Attentionではベクトルの内積を通じてトークン同士の関係を計算し、大量のデータを行列としてまとめて処理します。モデルの学習時には、損失関数を微分して得られる勾配を用いて、モデルのパラメータを更新します。一方、文章を生成する推論時には、通常は学習済みのパラメータを固定し、各時点で計算される次トークンの確率分布に基づいて、次のトークンを選びます。生成AIの文章は、学習段階で獲得されたパラメータを用い、推論段階で次のトークンを選ぶ計算を繰り返すことで生み出されます。

ロボットアーム制御では、三角関数と幾何学によって関節と手先の位置関係を捉え、ベクトルと行列によって座標を変換し、積分によって力のなす仕事を求めます。さらに、物理学的な視点に基づいて運動を記述します。デジタル空間で文章を生成するAIと、現実空間で物体を動かすロボットでは扱う対象が大きく異なりますが、どちらも複数の数理的枠組みを組み合わせて成り立っています。

この見方を身に付けると、新しいAI技術に出会ったときの考え方もきっと変わるでしょう。複雑な技術も、これまでに学んだ数学とのつながりを手がかりに、数理的な視点から構成要素へと分解し、その一つひとつを自分の頭で考えられるようになるはずです。

高校数学を学びながら、⁠この公式は何の役に立つのだろう」と感じた方も多いでしょう。高校では、数学を単元ごとに分けて学びます。そのため、学んでいる最中には、ある公式がほかの単元や実社会の技術とどう結び付くのかを実感しにくいことがあります。本シリーズの12章を横断すると、別々に学んだ単元が同じ技術の中で結び付き、同じ単元が異なる技術でも繰り返し使われていることがわかります。そこに、横断的に学ぶ大きな価値があります。

結び

第2回の5つの共通項と今回の5つの観点を合わせると、図に示した10種類の数理的枠組みが出揃います。それらはすべて、高校までの教育課程で学ぶ内容です。最先端AIを支える数理を学び始めるうえで、高校で学ぶ数学と物理学が重要な出発点になります。

私は両書の「はじめに」で、難しい内容も一歩ずつ山を登るように学び進めることで、個々の知識のつながりや全体像を理解できるようになると書きました。高校では別々の単元として学ぶ内容が、最先端技術の中で互いに結び付いて働いています。そのつながりを自分で確かめることに、横断的に学ぶ大きな意味があります。分野を横断して思考し、共通点や相違点を発見したり、新たな論点を見出したりする力は、実務に留まらず、生涯を通じて自らを支える大きな力となるはずです。

おすすめ記事

記事・ニュース一覧