「因数分解」からAIの真の基礎「勾配」へ

 ここでは、中学生が数学で出会う「2次式」をモデルに考えてみましょう。曲線

y=x2

 のグラフは、よく知られる通り、図のような放物線になります。そこで、このxが正の領域をモデルに「スケボーコート」の傾きの急さを考えてみましょう。

 現実のコートは下図のような斜面を持つので、ベストとは言えないにしろ、簡単に扱えるモデルの一つにはなっているはずです。

 スケボーの曲面は、何が面倒だといって、曲がってるからタチが悪い。

 こういうとき、数理の発想は「難しいものは簡単に」変えていくのが王道。曲線が難しいなら直線にしてしまいましょう(「線形近似」)。

 スケボーコート上、断面x軸に添ってaメートル進んだらhメートル上がる、とすれば、その「平均の傾き」は

 になるでしょう。ここで図の2点の距離を狭めていくと、「平均の傾き」は、だんだんと「接線」に近づいていきそうです。

 この「接線の傾き」を計算してみましょう。

 図に茶色で示した「ほんのちょっとの量」δだけxが増えると(x+δ)の2乗も、ほんの少しだけ増えるはずです。その「かたむき」を計算してみると

 となるはずです・・・。

 と、ここで、中学生が「何のためにやらされているのかさっぱり分からない」因数分解式の展開の、一番最初に習うやつが顔を出していることに、気がつくでしょうか?

 上の表式には、「多項式の展開『公式』」

 

 あるいは因数分解の公式

 と同じ形 (x+δ)2がありますから

 これを用いれば

 さて、以下では我々物理の人間は大好きで、厳密な数学の人は大嫌い(?)な「都合の悪いものはなかったことにしよう」の大原則を採用します。

 上ではという「ほんのちょっとの誤差みたいなやつ」は「なかったことにする」というインチキをやるのです。

 これを「1次の微小量までで近似し、2次以下の微小量は無視する」あるいは「線形近似」などと表現することもありますが、要するに話が簡単になるよう、ちょっとのズレはなかったことにするという、オトナの判断を下すことにするわけですね。

 高等学校までの数学では、この「近似」の感覚をほとんど教えません。というか、現場の先生にそういう感覚を期待するのがそもそも無理筋です。

 でも、そういう数理の要諦を会得すると、話は極端に簡単になり

 となって、劇的にシンプルな形が得られたことになるのです‼

 しかし、これは何を意味しているのか、そのご利益が分からなければ、何の感興もないでしょう。

 これ、仮に放物線のスケボーコートであれば、ある点での傾きは、その点のx座標を2倍すれば簡単に得られる、という革命的に楽ちんな「曲面の傾き」を求める公式が得られているわけです。

x=2 なら 傾きは 2x=4 最速の傾きが4の斜面になりますし
x=5 なら 傾きは 2x=10 やはり最速の傾き10の斜面。
x=100 なら 傾きは 2x=200 最速傾斜200の急斜面。逆に
x=0.5 なら 傾きは 2x=1 最速傾斜1の斜面だし
x=0.01 なら 傾きは 2x=0.02・・・傾き0.02でほとんど平面。

 自由自在で傾きの値が一瞬で得られてしまう。

 ここで「最速」というのは斜面をそこに向かって垂直に「直滑降」する際の傾きということで、実際のスケートボーダーはボードの軸を斜面に当てる角度を調整して「斜め」に使うことで、自在に傾斜を変化させ、重力加速度を巧みに活用して高度な技にトライしているわけです。

 こういう事実を元にデータを駆使すれば、五輪競技としてのスケボーで、勝ち点を取る「次の戦略」を考えるのにも役立つでしょう。

 コンピューターにこの種の知恵をインプットすれば、スケボー必勝AIとか、考えることができるかもしれません。

 というか、実は、1967年に甘利俊一先生が得られ、現代のAIすべての基本原理となっている「確率的勾配降下法」も、スケボーコートの一番急な坂の斜面を求める計算の親戚のようなものです。

 そんな簡単な原理から、今日の「生成AI」も実現しているんですね。

 もし興味がある子がいたら、後で訊きに来たら、もう少し進んだ計算も教えてあげよう・・・なんてやってやると、数クラスに1人か2人「あの・・・先生」とか言って教壇まで来る子がいるものです。