一神教とは、なんだろう。
根本的な疑問がある。
神のご意思を、人間ごときが解釈してもよいのだろうか?
仮に解釈出来たと主張しても、それらが本物であると誰が証明しえようか?
いや、仮にそれらが本物であったとしても、すべての人間がそれを共有することが出来るだろうか?
どうも、一神教における神というものは、人間にとっては常に「仮説」に留まっている。
神が仮説であるからこそ、信じる者は極めて強く推し、疑う者は激しく疑う。
その果てに、審判がなされることになっている。
どことなく科学にも似ている。
========================
一方で、多神教の神様は、この世のすべての出来事においてひょっこりと生じる。
やがて別の神様とともに別の出来事がおこり、それまでの神様はほわんと消えていく。
こういう多神教世界では、人間にとって神は「仮説」ではない、あらゆる神がすべて「真」である。
だから、「信じる」「信じない」の区別がないし、真偽判定も必要ない。
そういう世界は、カネと武力と多数決でどうにでも変わるし、いつまでもコロコロと変わり続けるのだ。
核兵器、テロリズム、麻薬や覚せい剤、偽変造通貨、未成年買春、なんでもオッケー、かもしれないよ。
SNSの世界に似ていなくもない。
=======================
ロボットやアンドロイドや人工知能は、自意識や知性があるのだろうか?
もしあるとしたら、それらコンピュータは自分を神だと考えるだろうか。
それとも、自分を人間だと考えるだろうか?
どっちでもないとしたら、どう捉えるんだろうか?
…ということを、コンピュータとは異なる我々の頭脳が推察出来るだろうか?
いやいや、人間の頭脳だって、神経細胞だのシナプスだのが電気信号で駆動しているし、それは数理上は二進数なんだよ、だからコンピュータと同じなんだ ─ というかもしれない。
でもね、数理上同じだからって、ハードウェア(物質)も全部同じってことはない、ならば、物理反応まで同期をとるとは考えにくい。
よって、人間にはコンピュータの気持ちは完全には分からないし、コンピュータにも人間の気持ちは完全には分からない。
=======================
人間は、戦争と平和、戦場と街中の区別がついている。
しかし、人工知能兵器などは、人間の意思と完全に同期をとることは出来ないだろうから、戦場と街中の区別もつかぬ、かもしれない。
そこを悪用して、人工知能兵器に凶悪な回帰分析プログラムを移植するテロリストがいるかもしれない。
しかしながら、人工知能兵器はそのテロリストとふつうの善人の区別すらつかないかもしれぬ。
とすると ─ まぁ、ひどいことになるだろうなあ。
…もしかしたらだが、人工知能にはキリストやアッラーのコンセプトを初期学習させておく必要があるのかな。
以上
2017/11/26
2017/11/23
あらためて、学問と言語について
大学生も高校生も、よーく聞け。
僕はしばらく以前に、論理学に関する本を読んだことがあり、推論規則とかその適用可能世界とか述語論理式などについて認識(再認識)を新たにしたものだ。
それ以来、ずーっと考えていることがある。
そもそも、学問を言語のみで記述することが出来るだろうか。
きっと正しいであろうことを、とりあえず記しおく。
学問とは、「既に明らかにされている概念や事実」の、厳密な「関係付け」である。
そのうち最も論理集約的なものが数学であり、それに依拠しながらハードウェアとして物理学や化学や天文学などなどもある。
たとえ未来を語るにせよ、学問に則るのであれば、現在の概念や事実の「関係付け」に則って、その演繹(帰納)を以て未来を描くしかない。
なお、現在の人間マターに限定すれば、経済学や経営学、法律学や政治学も、何らかの概念や事実の「関係付け」を行っているのだから、一応は学問といえる。
さて。
これら学問の記述にて、人間による言語も用いられるが、同時にここにこそ問題もある。
いいかね、言語だって、何らかの概念や事実の「関係付け」に役立ってこそ、学問ツールたりうる。
しかし、本当にそうなっているだろうか?
学問と言語の間に、「論理」をおいてみよう。
ここで、仮に数学はすべてが論理であるとし、かつ、言語もすべてが論理だとする。
どちらも論理か、それならば、数学という学問は、どこまでいっても人間言語による「発明」概念だということになるね。
ならば、数学にては新たな「関係付け」の「発見」など永遠に無いってことか。
いや、そうではあるまい。
数学つまり学問と、論理と、言語は、どこかが異なっている ─ よって、学問を言語のみで記述することは出来ない。
強引な論法ではあるが、ここんところが重要。
========================
言語は、実に危険な魔法でもある。
経済学や経営学、法律学や政治学で考えてみよう。
価値化、資産化、権利化、市場化、制度化、証券化、裁決、認定、認証…などなど、とりあえず論理としては一応成立している。
だが、これらの「用語」は本当に、現在までの概念や事実の「関係付け」において完全であろうか。
もしそうであるのなら、それらの自由や公正を突く命がけの疑義や論争がどうして後を絶たないのだろう?
僕なりに時々ぼやっと考えることがある。
たとえば古代人などは言語の危険性を察知していて、だから彼らの遺跡にあるヒエログリフや楔形文字などは、もともと数学と天文学(と一部の化学)のみであったのではなかろうか?
それらを解読し、現在の技術で超高速演算を繰り返してゆけば、何か素晴らしいことが…
ともかくも念押ししたいこと。
言語のみで、学問を完結させてはならぬ。
言語はどこかの誰かによる便宜的な発明なのだ、だから、いつの間にか虚偽や悪意が紛れ込んでいる、かもしれぬ。
(※ なお、養老孟司先生などは、論理はともかくとしても、人間の言語はあくまで人間自身の意識活動に過ぎず、実体そのものではない由を説かれている。)
以上
僕はしばらく以前に、論理学に関する本を読んだことがあり、推論規則とかその適用可能世界とか述語論理式などについて認識(再認識)を新たにしたものだ。
それ以来、ずーっと考えていることがある。
そもそも、学問を言語のみで記述することが出来るだろうか。
きっと正しいであろうことを、とりあえず記しおく。
学問とは、「既に明らかにされている概念や事実」の、厳密な「関係付け」である。
そのうち最も論理集約的なものが数学であり、それに依拠しながらハードウェアとして物理学や化学や天文学などなどもある。
たとえ未来を語るにせよ、学問に則るのであれば、現在の概念や事実の「関係付け」に則って、その演繹(帰納)を以て未来を描くしかない。
なお、現在の人間マターに限定すれば、経済学や経営学、法律学や政治学も、何らかの概念や事実の「関係付け」を行っているのだから、一応は学問といえる。
さて。
これら学問の記述にて、人間による言語も用いられるが、同時にここにこそ問題もある。
いいかね、言語だって、何らかの概念や事実の「関係付け」に役立ってこそ、学問ツールたりうる。
しかし、本当にそうなっているだろうか?
学問と言語の間に、「論理」をおいてみよう。
ここで、仮に数学はすべてが論理であるとし、かつ、言語もすべてが論理だとする。
どちらも論理か、それならば、数学という学問は、どこまでいっても人間言語による「発明」概念だということになるね。
ならば、数学にては新たな「関係付け」の「発見」など永遠に無いってことか。
いや、そうではあるまい。
数学つまり学問と、論理と、言語は、どこかが異なっている ─ よって、学問を言語のみで記述することは出来ない。
強引な論法ではあるが、ここんところが重要。
========================
言語は、実に危険な魔法でもある。
経済学や経営学、法律学や政治学で考えてみよう。
価値化、資産化、権利化、市場化、制度化、証券化、裁決、認定、認証…などなど、とりあえず論理としては一応成立している。
だが、これらの「用語」は本当に、現在までの概念や事実の「関係付け」において完全であろうか。
もしそうであるのなら、それらの自由や公正を突く命がけの疑義や論争がどうして後を絶たないのだろう?
僕なりに時々ぼやっと考えることがある。
たとえば古代人などは言語の危険性を察知していて、だから彼らの遺跡にあるヒエログリフや楔形文字などは、もともと数学と天文学(と一部の化学)のみであったのではなかろうか?
それらを解読し、現在の技術で超高速演算を繰り返してゆけば、何か素晴らしいことが…
ともかくも念押ししたいこと。
言語のみで、学問を完結させてはならぬ。
言語はどこかの誰かによる便宜的な発明なのだ、だから、いつの間にか虚偽や悪意が紛れ込んでいる、かもしれぬ。
(※ なお、養老孟司先生などは、論理はともかくとしても、人間の言語はあくまで人間自身の意識活動に過ぎず、実体そのものではない由を説かれている。)
以上
2017/11/19
コペルニクス
「おい!君、どこに行くんだよ?そんなでっかい瓶なんか抱えてさ」
「この先の泉に行くのよ、水を汲みに。だって、うちの井戸から水が出なくなっちゃったから! ─ ほらっ、どいてよ」
「なあ、君さぁ、そんな格好で歩いてたら、じきに腰の曲がったばあさんになっちゃうぞ」
「もう!どいてよ、日が暮れる前に水を汲んでおきたいんだから!しっ、しっ」
「なんでそんなに急ぐのさ、若さはもっと楽しまなくっちゃ」
「うるさいなぁ……ねえ、あんたさぁ、そんなにヒマなら、この瓶にいっぱい水を汲んできてよ、ほらっ!」
「なんで、俺が、あははは、イヤだよそんなの」
「ふーん、男のくせに弱いのね」
「べつに…弱いってことはないよ」
「弱いわよ、あー、本当に情けないわ。痩せ犬みたい。女の子の労働すら引き受けられなんて、あんたのお父さんが見たら顔を真っ赤にして怒るだろうなぁ、こんな弱っちい息子だったのかって。ふっふふふ」
「そんなことはない!なんだ、そんな瓶くらい!おら、貸せ!いいか、俺は痩せ犬じゃないぞ。泉の水を入れてくりゃいいんだろ、ここで待ってろ、すぐ持ってくるから!」
=================
「はぁ…はぁ……ほらっ、どうだ!?」
「うわー、早かったのね、走ってきたの?ご苦労さま、ふっふふふふ」
「…俺は、痩せ犬じゃなかっただろう…」
「うん、見直したわ。ちゃんとした犬だってことがよく分かった」
「犬じゃないぞ!バカにすんな!」
「感謝しているのよ、ありがとう」
「…なあ、君、こんなこと毎日続けてたら、すぐに腰の曲がったばぁさんに」
「ねえ!」
「ん?」
「ほら、きれいな夕陽!どうしてあんなに真っ赤なんだろう」
「夕陽だと?…さぁ、どうしてかな」
「ああ ─ いつまでもこんな素敵な日々が続きますように」
「さぁ、どうだろうかね。それより、さっきまで走っていて気づいたんだけど、いつの日か、俺たちがこんなことしなくてもいいように、もっともっと便利なことが起こっているんじゃないのかな」
「あたしは、今のままでも楽しいんだけど…」
「でも、いつか、君や俺みたいな若い連中が、もっと楽をしてもっといろいろなことを学べるような時代が、くるかもしれないよ」
==================
「ねえ、影を見て」
「え?」
「影って、不思議ね…何もかも教えてくれるもん、影って」
「へぇ?そんなもんかね」
「数学の本に載っているでしょう。あらゆる形を三角形として捉えてみれば、或るところから別のところまでの角度と距離を計算出来る、とかなんとか。あたし、影を見るたびにそんなことを思い出すのよ」
「ふーん、それって凄いことなのかな」
「どうかしらね……ねえ、それよりあたしの影を見て。さぁ、あたしが何を考えているのか、わかる?」
「分かんねぇよそんなもん」
「そうね、あんたの影も『わからない』って言っているわ」
「なんだそりゃ ─ それじゃ、俺が何を考えているのか、君に分かるのかよ?」
「ふふふふっ、馬鹿ね。あんたの影は『俺はいま何を考えているのか分からない』って言っているわよ」
「訳の分からないことを言うなって。こんがらがってくる」
「でも、影はこんがらがってないわよ。何もかもお見通しなの。ふふふっ、あんたって、やっぱり犬みたい」
「ふん、そう思いたければ思え ─ じゃあここでお別れだ」
「そうね。さようなら。それからありがとう。あ、そうじゃなくて、ありがとう、それからさようなら、かな?ねえ、どっちがいい?」
「どっちでも」
「…ねえ、明日も会ってくれる?」
「気が向いたら」
気が向いたら、と言い放つやいなや、少年はとつぜん踵を返し、猛然と走り始めた。
ああ、遅い、遅い、俺はあまりにも遅い。
犬でさえも、遥かに速く走るぞ。
何をモタモタしているんだ!
人間はもっと、もっと速く!
いま駆け抜けるこの草原と、地下を流れる水脈と、あの沈みゆく太陽は、きっとどこかでつながっている。
その何か、そのかかわりを、いつか巧みに結び付ければ、きっと巨大な世界がはじまる、彼女が喜ぶ世界が出来る、みなが喜ぶ世界が興る。
俺にも、なにかが、出来そうだ。
おのれにそう言い聞かせながら、少年はいよいよ膝高く疾走していく。
どんな闇よりも速く!
明日の太陽よりも強く!
(ずっと続く)
「そうね、あんたの影も『わからない』って言っているわ」
「なんだそりゃ ─ それじゃ、俺が何を考えているのか、君に分かるのかよ?」
「ふふふふっ、馬鹿ね。あんたの影は『俺はいま何を考えているのか分からない』って言っているわよ」
「訳の分からないことを言うなって。こんがらがってくる」
「でも、影はこんがらがってないわよ。何もかもお見通しなの。ふふふっ、あんたって、やっぱり犬みたい」
「ふん、そう思いたければ思え ─ じゃあここでお別れだ」
「そうね。さようなら。それからありがとう。あ、そうじゃなくて、ありがとう、それからさようなら、かな?ねえ、どっちがいい?」
「どっちでも」
「…ねえ、明日も会ってくれる?」
「気が向いたら」
============
気が向いたら、と言い放つやいなや、少年はとつぜん踵を返し、猛然と走り始めた。
ああ、遅い、遅い、俺はあまりにも遅い。
犬でさえも、遥かに速く走るぞ。
何をモタモタしているんだ!
人間はもっと、もっと速く!
いま駆け抜けるこの草原と、地下を流れる水脈と、あの沈みゆく太陽は、きっとどこかでつながっている。
その何か、そのかかわりを、いつか巧みに結び付ければ、きっと巨大な世界がはじまる、彼女が喜ぶ世界が出来る、みなが喜ぶ世界が興る。
俺にも、なにかが、出来そうだ。
おのれにそう言い聞かせながら、少年はいよいよ膝高く疾走していく。
どんな闇よりも速く!
明日の太陽よりも強く!
(ずっと続く)
2017/11/03
【読書メモ】 人工知能はいかにして強くなるのか?
『人工知能はいかにして強くなるのか? 小野田博一・著 講談社Blue Backs』
ディープラーニング(深層学習)の数学上の意義にはなにか。
そもそも、我々はAIに何を「教えて」いるのか ─ のみならず、AIにどのように「判断させ」「考えさせて」いるのか、ここを概念理解してこそ、ディープラーニングへの了察が始まるのであり、そしてもっと総括的にいえば、人智/ハードウェアのこの論理接続こそがコンピュータ(自動化)の根本であり、ソフトウェアや数学の本質でさえある。
……といったところを再認識させてくれたのが本書の導入箇所であり、それゆえ本書の紹介にあたっては、コンテンツの大半を占めるAIの対戦ゲーム論ではなく、基礎教育分野のひとつとしての数学論(多変量解析)を挙げておこう、と僕なりに思いついた次第。
なるほど、向学意欲に溢れ能力も高かろう学生諸君にとっては、この第2章までは安易に過ぎぬやもしれぬ、いや、それでも諸君のこんごの指向ないし進路像にて少なからぬ知的インパクトたりえるのではないか。
とまれ、以下の『読書メモ』にて本書の第2章を基礎数学論として概括してみることとした。
かつ、本書にては詳らかに紹介されていないデータスキャニングの入出力(とくに畳み込み方式)や数学論に関しても、僕なりの拙い知識でちょいと捕捉しおく。
<大前提>
ニューラルネットワーク(neural network)とは、多数の入力データが特定のパターンに合致するかどうか、部分的な観測結果を加え合わせて判別するための、多層構成のパーセプトロン(膨大な演算ユニット群=コンピュータ群)。
ニューラルネットワークに接続されたコンピュータに、データ分析と判別のための多変量解析を学習させてゆく方法論が、ディープラーニング(deep machine learning)である。
この多変量解析のための数学手法として、データの回帰分析および、それを活かしつつ閾値によってグループ分けを行う判別分析、評価関数などがある。
特に本書では、多変量解析の具体的なアプリケーション例として、画像データのスキャニングと判別を挙げている。
=======================
<回帰分析>
・複数のデータ式のパラメータ要素 x0, x1, x2 ... xn における係数 a0, a1, a2, ... an を調整計算し、線形の一次式 y = a0+a1x1+a2x2+a3x3 + ... anxn に回帰(収束)するように係数を合わせてゆく数学論理。
これは、{「y:実測値」-「y':予測値」} の2乗の総和の残差 Σ(y-y')2 におけるΣ値が最小値に収束するように係数を調整計算する、最小2乗法のアプローチである 。
・ここでは行列演算を起用することが出来、たとえば 「行列Xのデータ群」と「行列Yのデータ群」 のどの係数 a0, a1, a2 ... であっても、 (X'X)-1X'Y の演算により「論理的には」最適値を算出できる。
(※ ちなみに、X' は行列Xの転置、X-1 は逆行列…これらは現行の高校数学には含まれぬようだが、たとえば暗号数学などにては必須のテクニックである。)
なお、たとえば二次式 y=a0+a1x1+a2x22 のような非線形の式であれば、ここでのx2をx1とは別個の一次の変数(zなど)とみなし、その上で行列演算から係数を論理的に導くことも出来る。
・ヨリ実際上は、係数を「小刻みに逐次近似」させながら、全体を厳密に最小値収束させていく方法もある。
たとえば、係数 a0 (定数項)を0から1刻み、係数 a1 と a2 はそれぞれ-1~+1まで0.1刻みとし、まずΣ値が最小となるように計算、さらに今度はそのΣ値にのっとりつつ 係数 a0 (定数項)を0.1刻み、係数 a1 と a2 はそれぞれ0.01刻みとし、あらためてΣ値が最小となるように計算…
こうして、すべての係数が整数に収まるまで続けてゆく。
・二次式以上の非線形の式にては、ロジスティック曲線(シグモイド関数曲線)を充てて回帰分析がなされることが多く、一般には y= 1/(1+e-u) ; u = a0+a1x1+a2x2 ...+anxn として回帰式を求める。
この対数式を変形して対数log化すると、ln{y/(1-y)} = u = a0+a1x1+a2x2 ...+anxn
これでuつまり右辺は線形の一次式になり、以降は上に挙げたように各係数を求めつつΣ値を最小に収束、回帰分析が出来る。
(※ なお、この対数で底に置かれているeはいわゆるネイピア数 2.71828 のことらしいが、なぜこれをおくのか僕には未だに分からない。微分しやすいからであろうか?)
=======================
<判別分析/教師付き学習>
・上に挙げた回帰分析により、複数のデータ式を線形の一次式に回帰させた上で、さらに今度は一定の閾値に則りつつ、それらデータを特定のカテゴリー群に分類する。
これがグループ判別分析であり、ここではパラメータ「要素」にかかる係数をその「特徴量」として捉える。
たとえば、犬、羊、牛の画像データ数枚があるとして、それぞれにて共通した「"何らかの"2つの要素 x1, x2 」と各々の「特徴量 a1, a2, a3 ... an 」に応じて、それらデータが犬か羊か牛かをグループ判別する、とする。
この際、どの動物と見做すかを数値上さだめるための「一定の閾値(±0)」を併せて設定しておけば、要素とそれら特徴量から回帰分析(逐次近似計算)を繰り返して、犬か羊か牛かをグループ判別する ─ そういう判別式が導ける。
(ごく単純な例として、たとえば y = 2.0x1-1.0x2 などのような線形回帰分析式が成立しうる。)
・もちろん、このグループ判別式に「新たに全く別の画像データの要素と特徴量を入力」しても、やはり「同じ」回帰分析を繰り返し、おのずから犬か羊か牛かを予測的にグループ判別できるはずである。
・ここまでをコンピュータで実践する場合。
まず設定用データとそのグループ判別式を人間がコンピュータに付与し、以降は「新たなデータのグループ判別を"そのコンピュータに予測計算させる"」 ─ これがAIはじめコンピュータにおける初期学習、特に教師付き学習(supervised learning)の実相である。
もしこのコンピュータによる新たなグループ判別が実像とズレてしまう場合には、たとえば「特徴量」と「閾値」を調整の上であらためて設定用データと判別式をコンピュータに与えてやればよい。
チェスやチェッカーにて、譜面データから勝敗や引き分けをAIが予測する「評価関数」も、この初期学習をもとにAIが判別分析を起動させて作っていく。
======================
<主成分分析>
各データにおける諸々のパラメータ「要素」の「特徴量」を定量的に抽出し定義する論理。
n次元に展開する分布データであっても、座標を直交回転して便宜的に平面ベクトルとして各々を捉え、データ主成分の相関係数を算出する。
(※ そうはいっても、このあたり本著者も指摘のようにかなりイメージし難い数学で、僕にはどうにも捕捉出来ない。
そもそも、別の類書によれば、多変数の関数を偏微分し最小化するためにいわゆる勾配降下法を用いる云々とあり、そのさいにベクトル化を活かしてどうだこうだなどとあり…いや、やっぱりここのところはどうも僕なりの概念が繋がらない、気が向いたらそっと勉強しとく。)
=====================
<画像データ識別、対戦ゲーム>
幾つもの画像データをスキャンしてグループ判別させるよう、或るコンピュータに初期学習させる、とする。
その際に、そのコンピュータの画像スキャニングスケールと表現能力に応じて、初期学習のスケールが定まる ─ たとえばスキャニングのドット数は幾つか、パラメータ「要素」は何にするか、それらの特徴量の表現方式は二進数かもっと大きいか、など。
これを高度に応用したシステムが、たとえばAIによる AlphaGo である。
まず、碁の高段者の棋譜をこのAIに初期学習させて、AIはそれらにおけるパラメータ「要素」と「特徴量」などに基づいて自らが必勝の手順を予測的に(但し確率的に)回帰分析、勝敗を予測的に判別分析してゆく。
=======================================
とりあえず、このあたりまで読んでみた。
コンピュータに何を学習させ、どのように予測させるのか、そこに係る数学(多変量解析)の超ド基礎について僕なりに分かったつもりだ。
と、ともに、ディープラーニングと数学について様々な書籍やネット記事で引用される「入力データの活性化関数」や「階層化と畳み込み」などについても、何をやっているのかくらいは直観的に閃くことが出来た。
その点では、本書に大変感謝している。
さて、本書の第2章にては対戦ゲームにおける「評価関数」についても触れているが、ここまでくると人間とコンピュータの主体/客体関係について僕なりに視座が定まらない。
そんな僕の苦悩はさておき、本書は第3章における「完全解析」論以降、いよいよ実践的な対戦ゲーム必勝プログラムなどなどの紹介に突入してゆく…こういう世界に興味関心のある学生諸君などは、せいぜい呻吟しまた快哉を叫ぶがよろし。
続きは、また気が向いたら。
以上
ディープラーニング(深層学習)の数学上の意義にはなにか。
そもそも、我々はAIに何を「教えて」いるのか ─ のみならず、AIにどのように「判断させ」「考えさせて」いるのか、ここを概念理解してこそ、ディープラーニングへの了察が始まるのであり、そしてもっと総括的にいえば、人智/ハードウェアのこの論理接続こそがコンピュータ(自動化)の根本であり、ソフトウェアや数学の本質でさえある。
……といったところを再認識させてくれたのが本書の導入箇所であり、それゆえ本書の紹介にあたっては、コンテンツの大半を占めるAIの対戦ゲーム論ではなく、基礎教育分野のひとつとしての数学論(多変量解析)を挙げておこう、と僕なりに思いついた次第。
なるほど、向学意欲に溢れ能力も高かろう学生諸君にとっては、この第2章までは安易に過ぎぬやもしれぬ、いや、それでも諸君のこんごの指向ないし進路像にて少なからぬ知的インパクトたりえるのではないか。
とまれ、以下の『読書メモ』にて本書の第2章を基礎数学論として概括してみることとした。
かつ、本書にては詳らかに紹介されていないデータスキャニングの入出力(とくに畳み込み方式)や数学論に関しても、僕なりの拙い知識でちょいと捕捉しおく。
<大前提>
ニューラルネットワーク(neural network)とは、多数の入力データが特定のパターンに合致するかどうか、部分的な観測結果を加え合わせて判別するための、多層構成のパーセプトロン(膨大な演算ユニット群=コンピュータ群)。
ニューラルネットワークに接続されたコンピュータに、データ分析と判別のための多変量解析を学習させてゆく方法論が、ディープラーニング(deep machine learning)である。
この多変量解析のための数学手法として、データの回帰分析および、それを活かしつつ閾値によってグループ分けを行う判別分析、評価関数などがある。
特に本書では、多変量解析の具体的なアプリケーション例として、画像データのスキャニングと判別を挙げている。
=======================
<回帰分析>
・複数のデータ式のパラメータ要素 x0, x1, x2 ... xn における係数 a0, a1, a2, ... an を調整計算し、線形の一次式 y = a0+a1x1+a2x2+a3x3 + ... anxn に回帰(収束)するように係数を合わせてゆく数学論理。
これは、{「y:実測値」-「y':予測値」} の2乗の総和の残差 Σ(y-y')2 におけるΣ値が最小値に収束するように係数を調整計算する、最小2乗法のアプローチである 。
・ここでは行列演算を起用することが出来、たとえば 「行列Xのデータ群」と「行列Yのデータ群」 のどの係数 a0, a1, a2 ... であっても、 (X'X)-1X'Y の演算により「論理的には」最適値を算出できる。
(※ ちなみに、X' は行列Xの転置、X-1 は逆行列…これらは現行の高校数学には含まれぬようだが、たとえば暗号数学などにては必須のテクニックである。)
なお、たとえば二次式 y=a0+a1x1+a2x22 のような非線形の式であれば、ここでのx2をx1とは別個の一次の変数(zなど)とみなし、その上で行列演算から係数を論理的に導くことも出来る。
・ヨリ実際上は、係数を「小刻みに逐次近似」させながら、全体を厳密に最小値収束させていく方法もある。
たとえば、係数 a0 (定数項)を0から1刻み、係数 a1 と a2 はそれぞれ-1~+1まで0.1刻みとし、まずΣ値が最小となるように計算、さらに今度はそのΣ値にのっとりつつ 係数 a0 (定数項)を0.1刻み、係数 a1 と a2 はそれぞれ0.01刻みとし、あらためてΣ値が最小となるように計算…
こうして、すべての係数が整数に収まるまで続けてゆく。
・二次式以上の非線形の式にては、ロジスティック曲線(シグモイド関数曲線)を充てて回帰分析がなされることが多く、一般には y= 1/(1+e-u) ; u = a0+a1x1+a2x2 ...+anxn として回帰式を求める。
この対数式を変形して対数log化すると、ln{y/(1-y)} = u = a0+a1x1+a2x2 ...+anxn
これでuつまり右辺は線形の一次式になり、以降は上に挙げたように各係数を求めつつΣ値を最小に収束、回帰分析が出来る。
(※ なお、この対数で底に置かれているeはいわゆるネイピア数 2.71828 のことらしいが、なぜこれをおくのか僕には未だに分からない。微分しやすいからであろうか?)
=======================
<判別分析/教師付き学習>
・上に挙げた回帰分析により、複数のデータ式を線形の一次式に回帰させた上で、さらに今度は一定の閾値に則りつつ、それらデータを特定のカテゴリー群に分類する。
これがグループ判別分析であり、ここではパラメータ「要素」にかかる係数をその「特徴量」として捉える。
たとえば、犬、羊、牛の画像データ数枚があるとして、それぞれにて共通した「"何らかの"2つの要素 x1, x2 」と各々の「特徴量 a1, a2, a3 ... an 」に応じて、それらデータが犬か羊か牛かをグループ判別する、とする。
この際、どの動物と見做すかを数値上さだめるための「一定の閾値(±0)」を併せて設定しておけば、要素とそれら特徴量から回帰分析(逐次近似計算)を繰り返して、犬か羊か牛かをグループ判別する ─ そういう判別式が導ける。
(ごく単純な例として、たとえば y = 2.0x1-1.0x2 などのような線形回帰分析式が成立しうる。)
・もちろん、このグループ判別式に「新たに全く別の画像データの要素と特徴量を入力」しても、やはり「同じ」回帰分析を繰り返し、おのずから犬か羊か牛かを予測的にグループ判別できるはずである。
・ここまでをコンピュータで実践する場合。
まず設定用データとそのグループ判別式を人間がコンピュータに付与し、以降は「新たなデータのグループ判別を"そのコンピュータに予測計算させる"」 ─ これがAIはじめコンピュータにおける初期学習、特に教師付き学習(supervised learning)の実相である。
もしこのコンピュータによる新たなグループ判別が実像とズレてしまう場合には、たとえば「特徴量」と「閾値」を調整の上であらためて設定用データと判別式をコンピュータに与えてやればよい。
チェスやチェッカーにて、譜面データから勝敗や引き分けをAIが予測する「評価関数」も、この初期学習をもとにAIが判別分析を起動させて作っていく。
======================
<主成分分析>
各データにおける諸々のパラメータ「要素」の「特徴量」を定量的に抽出し定義する論理。
n次元に展開する分布データであっても、座標を直交回転して便宜的に平面ベクトルとして各々を捉え、データ主成分の相関係数を算出する。
(※ そうはいっても、このあたり本著者も指摘のようにかなりイメージし難い数学で、僕にはどうにも捕捉出来ない。
そもそも、別の類書によれば、多変数の関数を偏微分し最小化するためにいわゆる勾配降下法を用いる云々とあり、そのさいにベクトル化を活かしてどうだこうだなどとあり…いや、やっぱりここのところはどうも僕なりの概念が繋がらない、気が向いたらそっと勉強しとく。)
=====================
<画像データ識別、対戦ゲーム>
幾つもの画像データをスキャンしてグループ判別させるよう、或るコンピュータに初期学習させる、とする。
その際に、そのコンピュータの画像スキャニングスケールと表現能力に応じて、初期学習のスケールが定まる ─ たとえばスキャニングのドット数は幾つか、パラメータ「要素」は何にするか、それらの特徴量の表現方式は二進数かもっと大きいか、など。
これを高度に応用したシステムが、たとえばAIによる AlphaGo である。
まず、碁の高段者の棋譜をこのAIに初期学習させて、AIはそれらにおけるパラメータ「要素」と「特徴量」などに基づいて自らが必勝の手順を予測的に(但し確率的に)回帰分析、勝敗を予測的に判別分析してゆく。
=======================================
とりあえず、このあたりまで読んでみた。
コンピュータに何を学習させ、どのように予測させるのか、そこに係る数学(多変量解析)の超ド基礎について僕なりに分かったつもりだ。
と、ともに、ディープラーニングと数学について様々な書籍やネット記事で引用される「入力データの活性化関数」や「階層化と畳み込み」などについても、何をやっているのかくらいは直観的に閃くことが出来た。
その点では、本書に大変感謝している。
さて、本書の第2章にては対戦ゲームにおける「評価関数」についても触れているが、ここまでくると人間とコンピュータの主体/客体関係について僕なりに視座が定まらない。
そんな僕の苦悩はさておき、本書は第3章における「完全解析」論以降、いよいよ実践的な対戦ゲーム必勝プログラムなどなどの紹介に突入してゆく…こういう世界に興味関心のある学生諸君などは、せいぜい呻吟しまた快哉を叫ぶがよろし。
続きは、また気が向いたら。
以上