アイデアのこと。人間を関数y=f(x)的な考え方をしてみる
あらすじ:言葉を受け取って言葉を返す、人間ってよく考えると関数みたいだ。これは思い立ったが吉日というやつで、自分という関数の理解を深めるべく、ブログなるものをはじめてみた。私が見聞きしたアイデアや出来事について、心の中から返ってくるものを、さらさらと書き留めていくコラム。これはその、ほんの第一弾です。/やまびこ恵好
- 実は私は関数なんじゃないか?
- 私より先に気づいていてくれた人たち
- 会ったこともない人を先生と呼ぶ
- あらゆるものは関数である。ああ、なるほどと思った
- で、要するに
- 書くときの指針
- やまびこのブログを読むときの注意事項
- おわりに
実は私は関数なんじゃないか?
「はて、実は私も関数なんじゃないか?」そんな考えが頭をよぎったので、プログラミングの手を止めて考えてみる。この心から湧き出る言葉たちは、誰かにもらった言葉のオウム返しでしかないような気がする。
ニュースキャスターが伝える言葉、本で目にして辞書を引いた言葉。いつの間にか自分の言葉のように使っていても、それらの殆どは外からもたらされた言葉だ。
誰かの言葉をもらって、形や文脈を変換して、また次の誰かに返す。その働きをちょうど、変数を代入して値を返す関数のようだと思ったのだ。さっきの社内ミーティングでも、はじめは異なる主張をしていたメンバーがいつの間にか、みんな同じキーワードをつかって会話を成立させていた。
初めに断っておくと、私はいわゆるノンプロというやつで、プログラムや関数にとくべつ造詣が深いわけではない。Webを漁っては美味しいところだけを齧って、日々の業務にオートメーションを取り入れている。
そういうわけで、今日も某SNSの分析に使うツールをせっせとVBAしていたのだが、このような奇妙な考えに憑り付かれてしまっては進む手も進まず。Googleに「人間 関数」と言葉を投げつけてみた。
私より先に気づいていてくれた人たち
アイデアというものは、思いついた時にはすでに誰かのものであることが多い。関数という概念が登場してから、きっと多くの、そして私より賢い先人たちがこの奇妙な関係について思いを巡らせたことだろう。
Googleの検索でざっと見つけてきた方々の意見を紹介しておく。地の文だけで1500文字近くあるので、はやく本題に入れ!という方は、次の「会ったこともない人を先生と呼ぶ」の見出しまでざっくりと読み飛ばしてほしい。
多分、数あるnoteの中で、人間が入力と出力の関数であるという考えを最も文学的に捉えているのは、この狼たぬきさんだ。
人間=関数の図式から一歩踏み込み、出力=行動と捉えなおすことで、人間の行動が人間自身、すなわち関数そのものを規定し直す視点を提供してくれている。
人間は環境から受け取った刺激(入力)をもとに思考し、行動(出力)を起こす。そしてその行動によって得られる新たな刺激が自らの生活を彩り、己という関数を再形成しているというのだ。
「人間 関数」のSEO最上位にいる2005年のブログがこちら。そう、10年以上前のブログが、未だにGoogle検索という巨大な関数に最も評価されているということになる。内容としては、「比較した上で最も“快”が得られる判断を選択」することが、人間関数の原則であるというものだ。
ここは本文もそうだがコメント欄にいくつかの知見が集積されている。生物の反応がより「快」な方向、すなわち生命維持(そして遺伝子の拡散)に都合の良い方向に向けられているとするならば、人間は「音」や「視覚」、「味覚」「過去の記憶」などを加味できる高度な関数であると言えるだろう。
もしかしたら、プログラミングを学び、ある程度の手ごたえを感じ始めた人間にとって、「人間を関数的に規定し得るかもしれない!」という悪魔のような全能感は、ごくごく自然なものなのかもしれない。
こちらは人間関数の考えを人に打ち明けたところ「感情は理由じゃないよ」とやんわり否定されてしまって困ったという記事だ。
『人間の思考には不確実さが伴っているし、それは個性として尊重されなければならない』という考えが一般的であるというのは、私もその通りだと感じる。
特定のモノ・コトに直面したときの反応は人によって様々であり、その不確実性こそが「個性」や「人格」、あるいは「霊魂」を証明するものだという解釈に違和感はない。
さて、ここでもコメント欄が活躍している。Daiki Yamagishi氏が言うには、人間の「不確実さ」ですら必然のものであり、説明できないことにも必ず原因があると考えれば、「感情も理由だ」というのだ。
私は『感情は理由じゃない』『感情も理由だ』どちらの主張も、根本的には「人間の感情は関数的ブラックボックスである」という同じ真理を指していると思う。両者の間には、それを解明しようとする姿勢が有るか無いかの違いしかない。
このブラックボックスに対する姿勢こそが問題であり、私は積極的に最も身近な人間、私という関数の中身を読み解きたいと思ったに過ぎない。
会ったこともない人を先生と呼ぶ
ここまでの数々の疑問に対し、平易な表現を使って一定の解答まで用意してくれていたのが東京女子大の浅川伸一教授だ。
後にディープラーニングや画像認識、データマイニングの分野に大きな影響を与える、ニューラルネットワーク(NN)という分野の研究者だ。
NNを私の理解で一文にまとめると、『学習によって最適化されていくことで問題解決能力を持つような、まるで生物の脳機能のように作用する、人工的に形成された数理的ネットワークモデル』のことだ。
私の人生でこれほど理数系に進まなかったことを後悔した日は無かったが、今最もアツいAIの分野に深くかかわる理論であることが伺える。つまり「脳機能の一部を数学的論理で表現してみた」ということだ。
私がいま正に直面している人間関数の問題に対する解答の一つだと言える。
浅川先生(以下先生と呼ばせていただく)の人となりについての説明は、彼の出演するYouTubeをお目にかけるのが最も手っ取り早かろう。最近ではディープラーニングG検定(ジェネラリスト検定)の公式テキストも手掛けている。
あらゆるものは関数である。ああ、なるほどと思った
浅川先生の「関数とは何だろうか」という6000余文字の文章を読んで、私は脳内がとってもすっきりしたような気がする。せっかくなので私なりにまとめておくが、お急ぎの方は「で、要するに」の見出しまで飛んでほしい。
人間を関数であると捉える考えの源流は、スキナーをはじめとする行動心理学の分野の発想だそうだ。曰く、「人間の行動は環境の変数である。環境を E とし、行動を y とするなら、人間の行動は y=f(E) と書く ことができる。この関数 f を探ることが心理学の目的である。」
過去に流行したこの行動心理学の原理は、与えられた環境と、その結果として表れた行動との関係を記述することである。したがって、関数そのもの、つまり「主観的なブラックボックスの中身」を解明することはその本旨ではなく、科学的に解明できる分野ではないとされていた。
しかし、そこからピアジェの発達心理学にはじまり、認知心理学、言語学の発展を見た後の世代では、このブラックボックスの仕組みを解き明かすことこそが科学としての心理学の命題であり、その考え方は人工知能(AI)の発展へと繋がっていく。
彼はまさにこの認知革命の時代をひとりの学生として生き、人間の脳内を数学的・関数的に解き明かすため、これらの分野の知識習得に心血を注いだ。ほとんど独学で、だ。
そして、入力と出力の関係が明確でないような、数式では表現できないものごとであっても、関数として捉えることができると結論した。
そう考えると世の中すべて関数だらけ。携帯電話も関数なら、デートのときの彼女との会話も関数だ。夢を見るのも関数なら、ロケットも関数。物理学のような物質のカラクリを扱う科学で用いられる関数だけでなく、人文科学も社会科学も関数という言葉を使って良いらしい。随分と乱暴な話だ。だが、私の中 では「関数」という言葉が乱暴になればなるほど、便利になっていった。
そしてこの文章の中で、浅川伸一教授は、ひとりの人間が己のブラックボックスの中身を見つめなおすための大切なフレームワークを残してくれている。
人間の行動関数y=f(E)を再定義しようというのだ。
彼なりの定義では以下のようになる。
y(t) = α * V(t) + ( 1 - α ) * ∫_-∞^t y(t) dt
数学に明るくない私にとって、この式が解けるかどうかというよりも、成り立ちが妥当であるかどうかのほうが関心があった。
⓪人間の行動(y)は環境(E)の変数であるy=f(E)
①「記憶」の付与:y(t) = f(E,y(t-1))現在の時刻をt、一つ前の時刻 t-1とすれば、現在の行動は過去の行動と環境の絡み合いであることを表す。
②「価値」の付与:y(t) = V(t) + y(t-1)。V(t) とは、その時に期待される価値(value)の頭文字をとったV。その価値と一時刻前の自分の状態(あるいは行動)の二つによって現在の行動 y(t) が起こるという関係を表現している。
③「価値観」の付与:y(t) = α * V(t) + (1 - α) * y(t-1)。過去の影響と現在の価値との間の配分を決める量 α(0~1の定数)を 導入する。長いことつき合ってきた恋人と分かれることはつらいが、昨日知り合った相手となら簡単に別れられる。時と場合によってαが異なる。
これにマイナス無限大から現在の時刻 t までの影響をすべて考慮した、という意味を積分記号で表したものが、y(t) = α * V(t) + ( 1 - α ) * ∫_-∞^t y(t) dtとなる。
で、要するに
人間の行動関数が数学的に意味を持つかどうかは、この際私はどうでもいい。重要なのは浅川先生の主張で、人間の行動の変数は、
①「過去の行動」
②「現在の価値」
③「過去と現在のバランス」
の三つであるということだ。
言い替えれば、我々が次に起こす行動(y)を規定しているのは現在の状態と過去の記憶でしかなく、我々が未来や予想、もしくは計画と呼んでいるものたちは、その情報の集積の末の計算結果に過ぎないということだ。
そういえば、英文法の時制には、厳密には「現在形」と「過去形」しかないとされているらしい。中学二年の頃に習う未来形とは助動詞will、もしくは助動詞句be going toを用いた現在形の表現のことなのだ。
しかし、これを中学生の認知レベルで解説することが難しいため、便宜上「未来形」というキーワードを当てているに過ぎない。乱暴な言い方をすれば、英語話者にとって「わたし」の中に未来は存在しないのである。
浅川先生の人間の行動関数の変数も、この英語圏の文化に根強い現実主義、結果主義的な考えとも無関係ではないだろう。この関数をひとつのフレームワークとして捉え、私の今後の文章執筆の指針としようと思う。
書くときの指針
私の投稿原則は以下の通りである。
・具体的な事象、キーワードを入力変数と捉え、その枠組みの中で自分の思考の広がり、そして出力としての行動の変化を言語化し記録する。
・内容に継続性を担保するため、必ず以下のフレームワークを用いて記録する。
人間の行動yは、「過去の行動」「現在の価値」「過去と現在のバランス」を変数とした関数y(t) = α * V(t) + ( 1 - α ) * ∫_-∞^t y(t) dtで規定できる。
今回で言えば、
ブログを始める = 0.8×自分の発見と解明 + 0.2×今までの人生における集積
という形になるだろうか。割合は実感値でしかないが。
・私という関数の処理過程をより明示的に記録するため、発想と叙述の順番を統一する。思いついたままに書いていくぜ、ということだ。
・これらを達成するために、執筆は起案から完了までを必ず一日の中で済ませる。何もない日は書かない。書ける日は何本でも書く。
やまびこのブログを読むときの注意事項
以上の原則に則り投稿を作成していくため、次のような注意点を踏まえて読んでいただけると嬉しい。
・発散した論理を書き上げるために、しばしば長文になる。なるべく細かく見出しを付けるよう努力するので、興味のないところは是非読み飛ばしてほしい。
・論理展開も多くの飛躍や逆説を挟むことになる。これは執筆後、明示的に捕捉を加えることにするが、それでも展開が追いづらい部分が出てくると思う。ご了承願いたい。
・私の意見と自分の考えを相対化して読んでほしい。もしできれば、思ったことをコメントに残してもらえると今後の励みになる。
おわりに
長々とお付き合い頂いた方も、「わりぃな、ここまでスッ飛んで来たぜ!」という方も、どちらもとてもありがたい読者だ。感謝に堪えない。
現代ではなかなか目にすることも減った5000文字超えの文章ともなると、読み切るだけで疲れてしまうことも多い。
今後はできるだけわかりやすく書いていこうと思っているので、気が向いたらフォローやスキ、誹謗中傷以外のコメントをたくさん飛ばして頂けると大変うれしい。もっとこうしてくれ!というご要望も募集中だ。
私のやまびこを聞いて、少しでも多くの人々の心に新しい風を吹かせることができたら、この上ない幸いである。