Otaku ワールドへようこそ![316]関数とは何か、うんと平易に解説します/GrowHair

投稿:  著者:  読了時間:33分(本文:約16,300文字)



「関数」とは何かについて、数学にあまりなじみがない方にもご理解いただけるよう、なるべく平易に解説したいと思います。ただ、この話を始めるにあたって、心配なことがひとつあります。それを知りたいという需要が、世の中にどれほどあるのでしょうか。

マーケティングの観点からすれば、需要のないところに商品やサービスを投入すれば、売れ行きがかんばしくないのは当然の帰結であり、コスト割れして赤字を垂れ流し続けたのでは、その事業は長続きしないでしょう。

何かを世に送り出そうというのであれば、需要がきっとあるだろうという見通しは、ないよりあるに越したことはありません。というか、なかったら致命的です。

しかしながら、世の中を広く眺め渡してみれば、マーケティング的な失敗が、必ずしも総合的にみて失敗と結論づけられるべきものではないという例は、いくらでもあります。

広く眺め渡してみなくても、この「デジクリ」というメディア自体、そもそも営利を追求するものではありません。初期のころにおいてはその期待も多少はあったかもしれませんが、割と早々にあきらめているようにみえます。マーケティングの観点からすれば、まさしく疑いようもなく、失敗です。

では、そのことをもってデジクリは失敗だったと結論づけてよいでしょうか。そういうもんではないでしょう。とは思うのだが、そこは割と触れちゃいけない話題で、4,000号も発行してから、その存在意義をあらためて問うというのは危険すぎます。

そんな話をするつもりじゃなかった。

ものを書く人は二度死にます。ひとつは通常の意味の、フィジカルな死です。もうひとつは、書いたものが最後に誰かに読まれ、それ以降、誰にも読まれなくなる時点です。歴史に名を残した偉大な作家は、人類と同じ長さの寿命をもらったようなもんです。

逆の極端として、書いたものが誰からも一度も読まれずに終わる場合、生まれながらにして死んでいるようなもんで、これは、書く側にとってもたいへん虚しいことになります。

じゃあ、だからといって、マーケティングを意識して、需要に答えることだけを目的として、笑える軽い話や実用的に役に立つ話だけを書き続ければよいかというと、それはそれで、前とは逆の意味で、ちょっと虚しい気がします。お金がもらえるなら喜んでやりますけど。私が童貞を卒業するのにいかに苦労したか、なんて話は、需要あるかな、ないかな。

そんな話をするつもりじゃなかった。関数について、です。書く側の立場からすると、こういうことです。私は、意識の謎に興味があり、特に、物質である脳に、いかなるメカニズムによって意識が宿るか、という問いが中心にあります。派生的な問いとして、人工物に意識を宿らせることは可能か、というのがあります。

解けるまでに300年くらいかかるにしても、すでに誰かが立てた仮説は、いい線いっているにせよいっていないにせよ、ちゃんと理解はしておきたいなぁ、という思いがあります。ところが、その仮説がどれもこれもスーパー難解なのです。で、自分の理解の進みに応じて、今後もこの話題は取り上げたいなぁ、と思っているわけです。

その際、関数なんてしょっちゅう登場するに違いなく、そのたびごとに注釈をつけていたら、効率悪くて話が先に進まなくなっちゃいます。一度きちんとまとめておいて、以降、出てきたら、「関数が分からない人はここを参照してくださいね」とリンクを張っておけばよいのではないかと思った次第です。





野球の話をするのに、もし相手が、ベースとかピッチャーとか三振とかホームランとか、用語を知らなければ、話がまったく通じないでしょう。だからといって、いちいち説明しながらでは話が進まなくなってしまいます。一度どっかにまとめておいて、以降は「ここを参照」ってやるのがよいのではないかなぁ、ってわけです。

書く側の立場からはそうなのですが、では、読む側の立場からしたら、どうでしょうか。関数についてしっかり理解できていると、日常生活において、特に有益なことがあるでしょうか。いやー、ちょっと思いつきません。飲みの席で知識をひけらかしてみても、うざがられるだけで誰も聞いてくれないでしょう。

そういうところに利を求めてはいけません。まあ、せいぜい、人工知能など、情報処理系の最先端のテクノロジーについて、少しだけ身近に感じられるようになる、とか、その程度かなぁ、と思います。そういうので、よくないですか?

関数がちゃんと理解できたことをもって、数学の世界への扉が全開になり、その先のことを無我夢中で調べていくうちに面白くなってきてのめり込み、気がついたらみずから研究する人になっていた、なんて人が現れたらそうとう楽しいですが、そこまで期待するのは無理があるでしょう。

今回の主な目的は、関数とは何かを知らない人がこれを読むことによって、ある程度正確に把握するようになることです。すでに関数を知っている人にとってはご退屈さまなのだが、もし余裕があったら、最後のほうで、少しだけ進んだ話もしようかと思います。

●関数を直観的に理解しましょう

むずかしい話は後回しにして、直観的な理解の助けになりそうな話から入りましょう。

関数とは、ごく大雑把に言えば、入り口から入れたものから、出口から出てくるものへの対応関係のことです。別な言い方をすると、「これ」が決まったら、それに応じて「あれ」がひとつに決まるような、「これ」から「あれ」への対応関係のことです。

いろいろな大きさの鍋があったとしましょう。一方、いろいろな大きさの蓋があったとしましょう。この鍋にはこの蓋、あの鍋にはあの蓋、と、ひとつひとつの鍋に対して、ぴったり合う蓋がひとつだけ対応しているとしましょう。このとき、この鍋から蓋への対応関係が、まさに関数です。

富士山の標高は3,776メートルです。北岳の標高は3,193メートルです。神奈川県の箱根山の標高は1,438メートルですが、東京都新宿区の箱根山は44.6メートルです。山がひとつ決まれば、標高がひとつ決まります。山から標高への対応関係は関数であると言えます。

しかし、逆に、標高から山への対応関係は関数であるとは言えません。標高を指定したとき、それに対応する山が複数あるかもしれないからです。あるいは、その標高の山がひとつもないかもしれないからです。

鍋から蓋への対応関係の例も、山から標高への対応関係の例も、比喩ではなく、正真正銘の関数です。

関数とは、中身の見えないブラックボックスであるという見方もできます。関数を外から眺める限り、不透明な箱みたいな姿をしており、入り口と出口が設けられています。入り口から何かを入れると、出口から何かが出てきます。お金を入れると切符が出てくる自動券売機みたいなもんです。

「関数」と表記すると、「関係の数理」みたいな感じがして、それはそれで関数の感じを表しているとも言えますけど、古くは「函数」と表記しました。「函(=箱)の数理」です。こっちのほうが、ブラックボックス感が出ています。英語で言うと "function" です。これを直訳すると「機能」です。入力を出力に変換する機能だ、ってわけです。

数学者ポール・エルデシュは、次のように言ったとされています(真相は言っていないとする説もあります)。「数学者はコーヒーを定理に変換する機械である」。数学者を中身の分からないブラックボックスとしてみるとき、入り口から入れるのはコーヒーであって、出口から出てくるのは定理なのであるからして、中ではおそらくコーヒーを定理に変換しているのであろう、ってわけです。たいへん不思議な箱ですね。

関数はブラックボックスだとは言うけれど、中身が見えた途端に関数ではなくなるかというと、そんなことはありません。

いまここに、入り口と出口がひとつづつある、ブラックボックスがあるとしましょう。試しに入り口から1を入れてみたら、出口から3が出てきました。2を入れたら6が出てきました。5を入れたら15が出てきました。100を入れたら300が出てきました。これだけの例から、このブラックボックスは何をしているのか、勘がよければ分かっちゃうでしょう。一万円札を入れると三万円が出てくるかどうかは知りませんが。

このブラックボックスの機能は、予想にたがわず、入り口から入れた数値を3倍して、その結果を出口から出してくるものであると判明したとしたら、この関数はもはやブラックボックスではなくなっています。でも、関数は関数です。

こういうのが関数なのですが、お分かりいただけましたでしょうか。

●数学的にバシッと言ってみましょう

前の段まではよーく理解できていたのに、ここから急に難解になったと言われるとたいへん困るのですが。遠浅の海だと思ってたら、いきなり急に深くなっててアップアップ、みたいな。

いちおうは、数学の言葉を使って、厳密に定義しておきたいかな、と、どうしたって思うじゃないですか。行きますよ。

関数とは、第一の集合と第二の集合とが与えられているとき、第一の集合の各要素(余さずすべて)に対し、第二の集合のただひとつの要素を指定して結びつける対応のことです。

集合とは「もの」の集まりです。「もの」は、それを特定することができさえすれば、実体が何であるかは問題にしません。要は、なんでもよいのです。集合を構成する「もの」のことを「要素」あるいは「元」と呼びます。

ある集合を表現する方法は2通りあります。「外延」と「内包」です。聞き慣れない哲学用語ですが、「外延」というのは、集合の要素を全部書き並べる表記法であり、「内包」というのは、これこれの性質を満たすものすべてが要素である、という表記法です。

例えば、次のようなのが外延の記法です。

  A = {1, 2, 3, 4, 5, 6, 7}

これを平文で読み下すと、「集合 A とは、1 と 2 と 3 と 4 と 5 と 6 と 7 とをその要素としてなる集合である」となります。

まったく同じ集合を内包で記述すると、次のようになります。

B = { x ; x は自然数であり、なおかつ、1 ≦ x ≦ 7 }

これを平文で読み下すと、「集合 B とは、x を要素とする集合であって、その x は次の性質を満たすものである、すなわち、x は自然数であり、なおかつ、x は 1 以上 7 以下である」となります。

集合 A と集合 B とは、表記法が異なるだけであって、実体としては同一の集合です。

ふたつの集合が与えられているとき、第一の集合のどの要素を取ってきたとしても、それに応じて、第二の集合の要素がただひとつだけ決まるとき、この対応関係が関数であるというわけです。

関数であるために、大事なことがいくつかあります。

まず、第一の集合の要素で余ってぶらぶらしているやつがいてはなりません。第一の集合の中に、相手が存在しない要素がひとつでもあったら、もはや関数としての条件を満たさないことになります。しかし一方、第二の集合の要素の中には余っているやつがいても全然構いません。

鍋から蓋への対応関係が関数であるためには、蓋のほうは余ってもいいけれど、鍋のほうには必ず蓋が存在していなくてはなりません。

第二の集合の中に余っている要素がひとつもなかったとしたら、この関数は関数のうちでも特殊なケースにあたるわけですが、このとき、この関数は「全射」である、といいます。

次に、第一の集合のどの要素に対しても、それに対応する第二の集合の要素はただひとつでなくてはならず、2つ以上の要素が対応してはいけません。しかし一方、第二の集合のある要素が、第一の集合の2つ以上の要素から対応づけられているのは全然構いません。

ひとつの山に標高の値が2つ以上あってはダメだけれども、2つ以上の山がたまたま標高が同じであっても全然構わない、というわけです。

第一の集合の2つ以上の要素が第二の集合の同一の要素に対応することがまったくなかったとしたら、この関数は関数のうちでも特殊なケースにあたるわけですが、このとき、この関数は「単射」である、といいます。

関数が全射であり、なおかつ、単射であるとき、この関数は「全単射」である、といいます。関数が全単射であるときに限り、この関数には逆関数が存在します。矢印の向きを逆にすることにより、第二の集合から第一の集合への関数を作ることができます。これが逆関数です。

この段で関数、関数と言っているけれど、それは関数ではなくて「写像」のことではないか、という疑問があるかもしれません。実は、定義の上からは、関数と写像の区別はありません。

ただ、慣習的にというか、文脈的にというか、なんとなく使い分けています。例えば、上記のように全射や単射を話題にするときは「関数が」と言うよりは、「写像が」と言ったほうが自然です。一方、「微分する」ときは、「写像を」と言うよりは「関数を」と言ったほうが自然です。でも、ほんとうは違いがないので、この使い分けは説明しづらいものがあります。

【練習問題1】

第一の集合 {い, ろ, は} から第二の集合 {壱, 弐} への関数は、全部で何種類ありますか?(6種類ではありません)

【解答1】

むずかしいことは言わずに、全部、書き並べちゃいましょう。

  関数 1: い → 壱, ろ → 壱, は → 壱
  関数 2: い → 弐, ろ → 壱, は → 壱
  関数 3: い → 壱, ろ → 弐, は → 壱
  関数 4: い → 弐, ろ → 弐, は → 壱
  関数 5: い → 壱, ろ → 壱, は → 弐
  関数 6: い → 弐, ろ → 壱, は → 弐
  関数 7: い → 壱, ろ → 弐, は → 弐
  関数 8: い → 弐, ろ → 弐, は → 弐

答えは8種類です。

では、第一の集合 {い, ろ} から第二の集合 {壱, 弐, 参} への関数は全部で何種類あるでしょうか。答えは9種類です。確認してみてください。

この段では、関数とは何かについて、ちゃんと数学の言葉を使って、厳密に定義しました。これによって、関数の概念が明確になった、と思っていただけるとたいへんよいのですが。直観的なほうはよーく分かったのに、数学的なほうはさっぱり分からない、という方もいらっしゃるかもしれません。

まあ、それはそれでいいでしょう。両者は表現が違うだけで、内容的には同じことを言っているので。

あと、もう少しだけ、必要なことを言っておきましょう。多少、退屈するかもしれませんが、我慢していただけると。

●関数の表記法や例など

先ほどの練習問題1の解答で、例えば、「関数5」を

関数 5: い → 壱, ろ → 壱, は → 弐

のように表記しました。

同じことを次のように表記することもできます。「関数5」を簡略化して、「f5」と表記することにします。f5という関数に対して、入り口から「い」を入れたら出口から「壱」が出てきたということを次のように表記します。

f5(い) = 壱

すると、次のように書きなおせます。

f5: f5(い) = 壱, f5(ろ) = 壱, f5(は) = 弐

この表記法は、「外延」に相当します。これを入れたらこれが出てくる、というのをいちいち全部書き並べています。それに対して、「内包」的な表記のしかたもあります。

内包で記述する場合は、入り口から入れたものから出口から出ていくものをどうやって作るのか、そのルールを記述します。

たとえばこんな感じです。

X = { x ; x は実数 }
Y = { y ; x は実数 }
f: x ∈ X → y ∈ Y; y = 3 x

これを平文で読み下すと「集合 X は実数からなる集合であり、集合 Y は(これもやはり)実数からなる集合であり、関数 f は集合 X から集合 Y への関数であり、集合 X の要素 x と集合 Y の要素 y との対応関係は、x を3倍して y を得るというものである」となります。

いろいろ省略して、

y = 3 x

とだけ表記したり、

f(x) = 3 x

とだけ表記したりすることもあります。

表記で端折ったとしても、「関数」と言えば、どんな集合からどんな集合への、というのは必ずあるものなので、そこを意識しておく必要があります。入力できるのは実数だけだ、と規定されていれば、一万円札を入れたら3万円が出てくるようなことは起きません。

この、x を 3 倍して y を得る関数の例では、全単射になっていて、逆関数が存在します。実際、y を 3 で割って x を得ることにすれば、それが逆関数になっています。

しかし、例えば、x を 2 乗して y を得る

y = x^2

のような関数は、全射でもなければ単射でもありません。

x としてどんな実数を取ってきたとしても 2 乗すると正またはゼロになるので、y 側の負の数は全部余ってぶらぶらしています。よって全射ではありません。また、3 を 2 乗しても、(-3) を 2 乗しても、同じ 9 になるので、x 側の相異なる 2 つの要素が y 側の同一の要素に対応することになり、単射でもありません。

しかし、集合 X および集合 Y をともに正またはゼロの実数に限定してしまえば、全単射になり、逆関数が存在します。平方根です。

X = { x ; x は正またはゼロの実数 }
Y = { y ; y は正またはゼロの実数 }
g: x ∈ X → y ∈ Y; y = √x

あと、関数の例として、指数関数と対数関数を挙げておきましょうか。

X = { x ; x は実数 }
Y = { y ; y は正の実数 }
f: x ∈ X → y ∈ Y; y = 2^x

これが指数関数です。借金の利子を複利で計算するやつです。最初は大したことないとナメていると、のちのち、ぶわぁーーーっと膨れ上がる、オソロシイやつです。

コンピュータは1年半ごとに性能が2倍になるという経験則があり、「ムーアの法則」と呼ばれています。そんなの永久には続かない、今に終わる、と言われつつも、かれこれ50年くらい続いています。

この調子でいくと、2045年ごろにはコンピュータの知能が人類のそれを追い抜くとレイ・カーツワイルは予想し、これをシンギュラリティが起きる根拠のひとつとしています。

指数関数については、一度取り上げてますね。
『ねずみ算のひざが笑う』
http://bn.dgcr.com/archives/20180420110100.html

さて、集合 X と集合 Y とを上記のように定めておけば、指数関数は全単射になっており、逆関数が存在します。

X = { x ; x は正の実数 }
Y = { y ; y は実数 }
g: x ∈ X → y ∈ Y; y = log_2(x)

これを対数関数と呼び、上記のように表記します。

あと、三角関数もご紹介しておきたいのですが、説明をうんと端折ります。直角三角形について、その(直角でない)ひとつの頂点の角度から、3辺のうちの2辺の比への関数が三角関数です。どの2辺の比を出力するかにより、sin(), cos(), tan(), sec(), cosec(), cot() の6種類あります。また、範囲を限定すれば全単射とみることができ、逆関数を arcsin(), arccos(), arctan(), ... と表記します。

ちゃんと説明するには直角三角形の図が要りますが、描くのをサボりますゆえ、詳しく知りたい方は、ネットで検索するなどして調べてみていただけると。

いかがでしたでしょうか。関数とは何かについての基本的な説明はここまでです。先々、「関数について分からない方はここを参照」と言われてここへ飛んできた場合、ここまで読めばじゅうぶんです。

以下は、ここまでの話があたりまえすぎて退屈した、という方のために、少し進んだ内容のことを書きます。

●関数を広い意味に捉えなおしてみましょう

「何から何への」と特に断らず単に「関数」と言ったら、たいていの場合、暗黙に実数から実数への関数を指します。先に例示した指数関数も対数関数も三角関数も、その一種です。やはり、実数から実数への関数は、関数の中でも王道です。

刺身と言えば、まずはマグロでしょ、ってなもんです。しかし、マグロだけが刺身になるってもんではありません。ハマチもカンパチもタコもイカも甘エビもホタテもツブ貝も赤貝もオツなものです。旬ならカツオもサンマも刺しでイケます。

関数もまた、その定義においては、実数から実数へでなくてはならないなどとは一言も言ってなく、任意の集合から任意の集合へでよいのです。このように制約を取っ払って考えることで、眼前の景色が一気に広がります。

我々を取り囲む現実の3次元空間において「ここ!」と位置を指定するには、3次元ベクトルを用います。3次元ベクトルというのは、3つの実数値 x, y, z を組にして (x, y, z) という形で表記することができ、これをひとつの「もの」とみなすことができます。

3次元空間内の位置を指定したら、そのあたりの温度がただひとつに決まるはずです。なので、ここに、位置から温度への関数を考えることができます。これは、3次元ベクトル空間から実数への関数です。物理学では「スカラー場」と呼んだりします。

また、同じように位置を指定したら、その位置における風の強さと向きを表す3次元ベクトルがただひとつあるはずです。なので、位置から風ベクトルへの関数を考えることができます。これは3次元ベクトル空間から3次元ベクトル空間への関数です。物理学では「ベクトル場」と呼んだりします。

関数への入出力となりうる対象として、他に、画像であってもOKですし、音声であってもOKです。

脳をブラックボックスとしてみてみましょう。五感や内臓感覚は、神経を伝わって脳に届けられます。神経は束になっていて、一本ごとに、今現在発火しているかしていないかの情報を持っていて、その情報を同時並行的に脳に送り込みます。脳から送り出される運動指令も同様な形をとります。すると、脳のしている処理って、つまりはビット信号の束からビット信号の束への関数だった、とみることができます。

さて、次に、もっとややこしいことを考えます。先ほど、集合 {い, ろ, は} から集合 {壱, 弐} への関数は8個あることをみました。これらのひとつひとつを要素とする、集合というものを考えることができます。

F = { f ; f は集合 {い, ろ, は} から集合 {壱, 弐} への関数 }

Fは8個の要素からなる集合です。その集合のひとつひとつの要素は、実数値でもなければベクトル値でもなく、関数だってところが特殊です。が、関数だってひとつの「もの」とみなせば、それの集まりは集合になります。集合であってみれば、これを別の関数への入力として使うことができます。

つまり、関数から実数への関数とか、関数から関数への関数なんてもんを考えることができます。これを「汎関数」と呼んだりもしますけど。汎関数だって関数の一種です。

これは、たとえて言えば、階段を1段上がったような関数です。1段上がることができたら、2段でも3段でも上がることができます。つまり、汎関数から実数への汎汎関数みたいなもの、汎汎関数から実数への汎汎汎関数みたいなもの、と、いくらでも上昇することができます。

階段を上がるたびに、その要素の個数は爆発的に増えていく感じがします。先ほどの例では関数が8個ありましたが、この8個の関数からなる集合から集合 {壱, 弐} への汎関数は256個あります。汎汎関数の個数は、その桁数が78桁にのぼります。汎汎汎関数ともなると、桁数の桁数が77桁になります(たぶん)。指数関数なんてまだかわいくみえちゃう、おそろしき「指数タワー」です。

ところが、話をベクトル空間に限ると、いきなりおとなしくなります。ベクトル空間とは何かを説明するとたいへん長くなるので、この際、省きますけど。ベクトル空間から実数への線形写像に話を限定すると、階段を2段上がったら元に戻ってしまうという不思議なことが起きます。一段上がった汎関数からなる集合を「双対空間」と呼びます。

すみません、調子に乗って、難解すぎる話をしたかもしれません。汎関数については、ある程度数学になじんでからでないと、ちょっとやそっとでは理解できないかもしれません。反芻すると、もしかしたらだんだん分かってくるかもしれませんが。

汎関数を持ち出していきなりハードルを上げたのには、ちょっと意図がありまして。「圏論」というものをご紹介したかったのです。

数学の分野のひとつに「圏論」というのがあります。圏論においても、階段を2段上がります。圏から関手へ、関手から自然変換へ。圏論の難解さには、ついつい愚痴りたくなります。

圏論とは「矢印」の数学です。今回話題にしている「関数」は入力から出力への矢印とみることができ、圏論における「射」の一例とみることができます。

それとはまったく別の例として、2つの実数 a, b があるとき、もし、

a ≧ b

つまり、a が b よりも大きいか等しいなら、a から b へ矢印を引く、というルールを設ければ、この矢印も圏論の「射」の例とみることができます。

「関数」と「大小関係」とは、概念としては似ても似つかない、まったくの別物ですが、どちらも矢印で表せることには変わりなく、そういうふうにくくれば同列に扱うことができます。これが圏論です。

いやいやしかし、と私は思います。数学はたしかにものごとを一般化することを好む学問ではありますが、いくらなんでも関数と大小関係とをいっしょくたに扱えるようにしたところで、何の得やおもしろみがあるというのでしょうか。

別個の概念は別個に扱っておけばいいものを、わざわざ話をややこしくして何がうれしいんだ、と思っちゃいます。そういうわけで、自分からわざわざ圏論の世界に飛び込んでいきたいと思う動機は微塵もなかったのですが。

こんな議論が出てきました。なんと、圏論を使えば意識が定義できるんじゃないかって仮説です。

土谷尚嗣、西郷甲矢人『圏論による意識の理解』2019年9月8日(日)
https://osf.io/yu3x7/

意識は、これまで、科学の言葉でちゃんと定義できていませんでした。なので、科学者の中でも、厳格なものの見方をする人は、意識は科学の研究対象からは除外されるべきだ、と主張していました。もし意識がちゃんと定義できれば、堂々と科学の輪の中に入れます。

圏論には「米田の補題」というのがあり、これを使って意識を定義しようという話のようなのですが、私にはさっぱり理解できません。圏論って、要は、矢印の数学でしょ? それと意識と、いったいどう話が結びつくのだ? と。そこを知りたいと思ったら、まず圏論を理解するところから始める以外にありません。そういうわけで、「どうでもいい」と放ったらかしたかった圏論を勉強する動機ができてしまいました。

みなさんも圏論を勉強しましょう、とまではいいません。だけど、関数というものを理解すると、そんなほうにまで話がつながっていくのだと知っておくと、なんか前途の見通しが開けた感じがするのではないでしょうか。

●学習とは関数を求めることに相当します

脳がやっていることは関数だ、というのは比喩でもなんでもなく、すべてとは言わないけれど、多くのはたらきはまさに関数であるとみることができます。

大腸の出口付近で、内側からの圧力が高まっていることを腸壁が感じ取ったとしましょう。この情報は神経を伝わって脳に届けられます。

脳は、入ってきた情報の微妙なパターンの差異を手掛かりに、内圧の元が固体か気体かを判別します。気体だと判定したら、スーーーッと外へ排出することにより、高内圧状態を解消すればいいわけです。これを専門用語で「すかしっ屁」といいます。

神経からの信号を入力とし、大腸の末端を開いてよいかどうかの判定を出力とするはたらきは、まさに関数であると言えます。たまに、液体に近い緩めのが入っているときなど、これをうっかり気体だと誤判定してしまうと、たいへん悲惨な事件を招きます。ウンコを漏らさなくなることを「学習」といいます。

ここで、次のような問題をみてみましょう。

f: 0 → 0, 1 → 3, 2 → 6, 5 → 15, 100 → 300, 8 → ?

平文で読み下すと「ある関数 f があり、f に 0 を入力すると 0 が出力され、1, 2, 5, 100 を入力するとそれぞれ 3, 6, 15, 300 が出力されます。このとき、8 を入力すると何が出力されるでしょうか」となります。

この問題を解くには、2段階の工程を踏む必要があります。前半では、入出力の値のペアが明かされている部分を手掛かりに、この関数がどんな計算をして入力値を出力値へ変換しているのか、そのルールを解き明かそうとします。入力値を3倍することで出力値を得ているはずだ、と思い至れば一丁上がりです。

後半では、新たに入ってきた 8 という入力値に対して、みずから推測したルールにこれを当てはめて、出力値を予測します。8 を 3 倍することで、24 が得られれば一丁上がりです。前半の工程を「学習」といい、後半を「汎化」といいます。

この問題を解くことは、ウンコを漏らさなくなることと本質的に同じである、と言われたら、なるほどたしかにそうだ、と納得できるでしょうか。神経からの入力パターンに応じて、排出してよいかどうかを判定するルールを築き上げていく工程が「学習」です。今現在、脳に伝わってきている内圧感に対してこのルールを適用し、出してよいかどうかを判断する工程が「汎化」です。

とすると、先ほどの数字を求める問題を機械に解かせようと思ったら、人間の脳の真似をしてみてはどうか、って話になるかと思います。

脳は、多数の脳神経細胞(ニューロン)からなり、シナプス結合を介して一方から他方に情報を伝達することができるネットワークを形成して成り立っています。1個の脳神経細胞は多数の脳神経細胞から発火情報を受け取り、線形和としきい値処理というごく簡単な計算をして、その結果を軸索から送り出し、他の多数の脳神経細胞に伝達します。

この仕組みを借りてきて、ネットワークの構造をうんと単純化したモデルを考えると、期待どおり、先ほどの数字を求める程度の問題なら解けちゃうわけです。ネットワーク構造を単純化しすぎているために、人間の精神作用をなんでもかんでも代替できちゃうところまでは至っていませんけど。

これがニューラル・ネットワークであり、大雑把に言って、そのネットワーク構造の階層を深くしたのが、今をときめく人工知能の花形である「深層学習(Deep Learning)」です。

深層学習の原型を作り出す研究過程においては、甘利俊一氏や福島邦彦氏といった日本人の研究者たちも大活躍しています。福島氏へのインタビュー記事が最近出ています。

2019.10.25 FRI
WIRED
福島邦彦:人間の脳のメカニズムを、わたしは知りたくてたまらない
TEXT BY FUMIHISA MIYATA
https://wired.jp/waia/2019/09_kunihiko-fukushima/

学習とは、未知の関数について、その入出力の値のペアの集まりに基づいて、その関数がどうやって入力値を出力値に変換しているのか、その変換ルールを推測する工程である、と言えます。これがうまくいけば、ウンコを漏らさなくなるってわけです。

関数のなんたるかを理解すれば、人工知能を理解することにもとっかかりやすくなるのではないでしょうか。

脳のメカニズムについて新たなことが何か解明されたら、その知見を人工知能に応用すれば、なんか人間っぽい高等な精神活動が機械にできるようになるかもしれず、この脳科学と人工知能のクロスオーバー領域は、いま、非常に熱いです。常に油断なく動向を注目していていいと思います。

関数については語りたいことがまだまだあります。関数の集合にメトリック(metric; 計量)を入れて「関数空間」を構築する話とか。

あと、微分と積分の話も。けど、そこらへんの話は内容が膨大にわたり、語り始めたら終わらなくなっちゃいます。別の機会に送ります。今回は、もともと易しいことだけに限って解説しようと思って始めたことだし。

関数に多少なりとも親しみ感をもっていただけたらよかったのですが、いかがでしたでしょうか。


【GrowHair】GrowHair@yahoo.co.jp
セーラー服仙人カメコ。アイデンティティ拡散。
http://www.growhair-jk.com/

《 甘利俊一氏、文化勲章を受章 》

甘利俊一先生(理化学研究所 栄誉研究員、東京大学名誉教授)が文化勲章を受章されました。

2019年10月29日11時30分
朝日新聞
AIの未来開拓、甘利俊一さん 文化勲章に「ラッキー」
田中郁也
https://www.asahi.com/articles/ASMBW53XTMBWUCLV003.html

甘利先生は、人工知能の初期のころから、ニューラルネットワークにできることとできないこととを数学的に明らかにしようと、基礎理論的な研究に取り組まれていました。

また、「情報幾何学」という数学の一分野を切り拓いています。これは多様体論の一種です。確率密度関数からなる集合にふさわしい計量と、接続を導入した多様体について論じています。まずフィッシャー計量を導入し、計量から自然に導出されるレビ・チビタ接続をあえて採用せず、互いに双対な2種類の接続を導入します。

不変性と双対平坦性とを満たすメトリックとしては、カルバック・ライブラー情報量以外にないことが導出されます。また、ある種の三平方の定理みたいなものが成り立つことも言えます。

情報幾何学を用いることで、文字通り、確率密度関数で表現される情報を幾何的に取り扱うことができるようになり、情報が比喩的な意味で、「見える」ようになります。

「情報」と言えば形がないものというイメージがあり、「幾何」と言えば形があるものというイメージがあり、これらのコンビネーションからなる「情報幾何」というネーミングは絶妙といえます。たとえていえば「セーラー服おじさん」みたいなものでしょう。

情報幾何学については、甘利先生が講演されている動画がYouTubeに上がっています。

2014/07/28 に公開
YouTube 動画 1時間13分19秒
情報幾何講義(甘利俊一、午前)難易度★★
統計数理研究所


2014/07/28 に公開
YouTube 動画 1時間29分58秒
情報幾何講義(甘利俊一、午後)難易度★★★
統計数理研究所


入門者向けの導入的な解説としては、アイシア(Aicia)氏による動画もよいのですが、いわゆる「バ美肉(バーチャル美少女受肉)おじさん」なので、そこに抵抗あると言う人もいます。

2018/07/23 に公開
YouTube 動画 21分02秒
【のんびり解説】統計多様体の超入門!【情報幾何】
#VRアカデミア #005
Aicia Solid Project


甘利先生は、東京大学名誉教授でもありますが、83歳になった今でも理化学研究所に「栄誉研究員」として籍を置いています。で、現役の研究者として、バリバリ研究を進めています。最近の関心は、Arthur Jacot氏が2018年に発表した「Neural Tangent Kernel」に焦点が置かれているようです。甘利先生もこの論を前進させようとがんばっていて、実際、進んでいるとのことです。

Arthur Jacot, Franck Gabriel, Clement Hongler
"Neural Tangent Kernel: Convergence and Generalization in Neural Networks"
https://arxiv.org/abs/1806.07572

甘利先生は最近の講演の中で2019年の論文を引用したりしていて、最前線から一歩も退かずに活躍しています。日本の宝であり、年をとるならああいうふうにとりたいもんだという希望の星でもあります。

私は、このところ何回か、甘利先生の講演を生で聴講する機会に恵まれました。

名称:第24回AI美芸研『宗教と数理脳』
日時:2019年5月2日(木・休)2:00pm ~ 6:45pm(開場 1:30pm)
会場:淀橋教会・小原記念チャペル(東京都新宿区百人町1-17-8)
https://www.aibigeiken.com/research/r024.html

名称:第4回 全脳アーキテクチャシンポジウム
日時:2019年6月26日(水)1:00pm~6:40pm
会場:パナソニック東京汐留ビル5階ホール
https://wba-meetup.connpass.com/event/132698/

名称:シンギュラリティサロン #36
日時:2019年7月7日(土)1:30pm~4:00pm
会場:グランフロント大阪・ナレッジサロン・プレゼンラウンジ
講師:甘利俊一(理化学研究所栄誉研究員、東京大学名誉教授)
演題:『脳と人工知能:シンギュラリティは起こるのか?』
https://singularity36.peatix.com/

名称:シンギュラリティサロン@東京 第33回公開講演会
日時:2019年08月10日(土)1:30pm~4:00pm
会場:大手町サンケイプラザ3階
講師:甘利俊一(理化学研究所栄誉研究員、東京大学名誉教授)
演題:『脳と人工知能:シンギュラリティは起こるのか?』
https://peatix.com/event/739818

名称:第5回 Salon du Brain / サロン・ド・脳
日時:2019年10月8日(火)3:00pm~6:00pm
場所:京都大学医学研究科 先端科学研究棟1F 大会議室
講演者:甘利俊一先生(理化学研究所)
演題:『数理脳科学を夢見て半世紀』
http://www.cog.ist.i.kyoto-u.ac.jp/SalonDuBrain/

名称:数理脳科学セミナー 第一回 甘利俊一先生をお迎えしての連続セミナー
日時:2019年10月23日(水)6:00pm~7:30pm
場所:アラヤ新オフィス(アーク森ビル24階)
内容:『深層ネットの数理的解析』
https://connpass.com/event/146366/

京都の「サロン・ド・脳」では聴講希望者が100名を超え、急遽、同じ医学部エリア内にある講堂に場所を移しての講演となりました。

大阪の「シンギュラリティサロン」では、元気の秘訣は歩くことだとおっしゃってました。7月のことで、よく日焼けしていて、手の甲の皮がむけていました。ハイキングしてきたのだそうで。

甘利先生は「株式会社アラヤ(代表取締役:金井良太氏)」のリサーチアドバイザーも務めています。

アラヤもまた勢いがよく、今年の9月末に2度目の引っ越しをして、六本木一丁目駅からすぐの「アーク森ビル」24階に移っています。また、最近、4億5000万円を調達し、合計で10億円の資金調達をしています。あと100倍がんばればユニコーンです!

2019/10/4 15:50
日本経済新聞
AIスタートアップのアラヤ、住商系と資本業務提携
山田彩未
https://www.nikkei.com/article/DGXMZO50594840U9A001C1XY0000/

アラヤの講演で甘利先生は、研究生活をもう50年も続けてきたのだから、今は好きなことだけをやっている、とたいへん楽しそうに話されていました。10月23日(水)に開催されていて、そのときお目にかかってから一週間も経たないうちに文化勲章受章のニュースを聞いたわけです。

甘利先生に「おめでとうございます」とメールを送ったら返信が来ました。

>> From: amari
>> To: 'Kobayashi Hideaki'
>> Date: 2019/10/30, Wed 08:51
>>
>> どうもありがとう。
>> まぐれ当たりです。
>>
>> 甘利俊一

まぐれ当たり、だそうです。いやいやいやいや、まぐれで当たるもんだったら…… www

雲の上におわしましまする大先生と2ショ写真を撮らせていただき、しかも、「にゃんっ♪」ってやっていただけたのは、たいへん畏れ多いことです。私は小学生のころから「すぐ調子に乗る」とよく怒られていました。

写真はこちら。2019年10月23日(水)、アラヤにて。撮影:岩切等
https://photos.app.goo.gl/ACZvbNCJDL7fzNaQ7