生活はすべて次の二つから成り立っている。ちょっと前に、たまたま見たテレビ番組の中で「できそうでできないこと」というコーナーがありました。そこで取り上げられた「できそうでできないこと」の一つが
したいけど、できない。できるけど、したくない。
ゲーテ -『格言と反省』
「後出しジャンケンで負ける」
というものでした。これくらい簡単にできそうな気はします。しかし、やってみるとこれが意外にできない。勿論、しばらく冷静に考えると分かるのですが、「ジャンケン、ポン、ポン」くらいのタイミングでやろうとすると、これが意外とうまくいきません。あいこになったり、勝ってしまったり。まさに「できそうでできない」のです。
勿論、ジャンケンのルールは誰でも知っているので、冷静に考えれば負けられるはずです。それに、後だしジャンケンで勝つのは割合簡単です。なのに、なぜか負けろと言われると難しい。分かってるはずなのに。何故でしょう?
■ジャンケンの論理
ジャンケンでは、「グー」と「チョキ」と「パー」の三者間に循環型の関係があります。「グー」は「チョキ」より強いけれど、「パー」より弱い。これを記号で書くと次のようになるでしょうか。G < P, P < C, C < G ... (1)ここで、書いた不等号「<」は、一般的な意味ではなく「A < B」とした時にAよりBが強いということを示す記号として使っています。G, C, Pはそれぞれ「グー」「チョキ」「パー」です。
■ジャンケンに勝つ方程式
さて、後だしジャンケンの時、人は先ほどのような関係を思い浮かべているでしょうか。おそらくそうではないでしょう。このような関係を一々考えていては、とっさに後だしできません(^^;)。では、後だしジャンケンでとっさに勝ち手が出てくる時はどうしているのでしょう。ある入力に対して、正しい出力を導き出す場合、入力と目的の出力の間の関係が明確であれば、入力をそのルール或は関数に当てはめることによって、目的の出力が得られます。「y = f (x)」<という関係です。
しかし、この関係式fはいつも既知とは限りません。例えば、音声認識や手書き文字認識のようなパターン認識問題から、野球のバッティングからバスケットボールのパスのようなスポーツの問題等。このような明確な関係式が存在しないものに関しては、人は今までのパターンからルールを導き出します。ニューラルネットワークは、神経回路網の模してこのような系をモデル化したものです。
元のジャンケンの話に戻します。後だしジャンケンの時、人は(1)のような関係で出す手を考えるのではなく、おそらく入力に対して勝つ手を思い浮かべる関数のようなものを使っているのです。つまり、
f(G) = P, f(P) = C, f(C) = G ... (2)となる関数fです。後だしジャンケンで勝とうとするときは、おそらくこの関数のような思考過程をたどっているのではないでしょうか。3者の関係から推論を積み重ねるわけではないので、答えはすぐに出せます。人はジャンケンの経験から、このような関係式を獲得しているのでしょう。
■負けるための方程式
では、後出しジャンケンでなぜ負けれないのかという点に戻ります。おそらく「後だしジャンケンで負けて下さい」と言われた時、大抵の人は、負け手を算出するための関数を持っていません。しかし、勝ち手を算出する関数はある。そこで、勝ち手を算出する式から、逆変換をしようと試みます。しかし、逆変換は難しい。そのため、とっさに手を出そうとすると、計算途中の結果である勝ち手がでてしまうのではないでしょうか。そのため、ランダムに手を出したときの負け確率(1/3)以上にすら負けられないのではと。よって、勝つための方程式を一旦忘れて、負けるための方程式(グーならチョキを出そうといったもの)を頭に置いて考えれば、簡単に負けられるはずです。
と、分析のような話を書いてみましたが、特に何の裏づけもない単なる私の推測です(^^;)。でも、まぁ「当たらずとも遠からず」くらいかな、と。
ちなみに、私が見た番組では他にも「できそうでできない」ことを取り上げていました。せっかくのなので紹介しておきます。
- スキップの途中で一旦止まって(この時両足とも地面につける)、その姿勢からスキップを再開。
- 左手の指を、右の耳の穴に命中させる
他にもこの手のネタをご存知の方があれば、コメントやTBでぜひ教えてください。
【関連記事】
・プログラミング言語と思考
・過学習と局所解
【関連書籍】
・Mind Hacks―実験で知る脳と心のシステム Tom Stafford
・脳のなかの幽霊、ふたたび 見えてきた心のしくみ V・S・ラマチャンドラン
・心のパターン―言語の認知科学入門 レイ・ジャッケンドフ
・認知パターン―オブジェクト技術のための問題解決フレームワーク ロバート・コニツァー 他
・学習とニューラルネットワーク 熊沢逸夫
・もっと脳を鍛える大人のDSトレーニング (NINTENDO DS用ソフト)
目を閉じよ。そしたらお前は見えるだろう。
サムエル・バトラー耳に聴こえるメロディーは美しい。だが聴こえないメロディーはさらに美しい。
ジョン・キーツ
共感覚という言葉をご存知ですか?ある刺激を受けたとき、本来の感覚に他の感覚が伴って生ずる現象を指す言葉です。印刷された言葉や数字が色となって感じられたり、香りが形を伴ったり、話し言葉が虹色に見えたり。。。単なる連想記憶とはまた違って、刺激を直接複数の感覚として感じる現象のことです。誰しも赤ちゃんの時には共感覚を持っているものの、成長と共に失われるという説もあるそうです(参考:ママの声って何色)。
私自身はたまたま立ち寄ったブログ(小さな哲学〜雑草の世界)で知ったのですが、これを見て最近TV番組で見た、色を音で認識する機械をつけた美大生の話を思い出しましたので紹介したいと思います。
その青年、Neil Harbissonは重度の色覚障害のため、全てが白黒の世界で生活していました。しかし、アイ・ボーグ(Eye-Borg)と呼ばれる機械によって彼の世界は豊かな色を取り戻します。彼に色を取り戻させたアイ・ボーグは、色を音に変換する装置です。具体的には、色に応じた音を発生させるのです。赤なら低い音、青なら高い音。彼は、この機械によって、色を認識することができるようになり、色彩豊かな絵を書けるようになったのです。(BBCの参考記事)この「色を音で感じる」というのは魅力的な響きを持っており、何となくロマンチックなイメージを掻き立てもします。さわやかな色に静かな音楽、鮮やかな色彩に賑やかな音楽。。。しかし、実際のアイ・ボーグを通じて色を見た時に耳に届く音は、無機質な電子音でしかありません。そこには、私たちが美しいと感じる音色はありません。
感覚というのは主観的なものです。同じ刺激に対して、誰しもが同じように感じているという保障はありません。実際、人によって美しいと感じる基準は異なります。見方を変えれば、あるものを美しいという感じるための刺激が、人によって異なるというようにも考えられます。そう考えれば、先のアイ・ボーグの場合、私たちにとっては無機質な電子音にすぎないアイ・ボーグが生成する音も、Neilさんにとっては豊かな色彩となって知覚されているのでしょう。
考えても見れば目で色を感じるのも所詮は脳に届けられる段階では所詮ただの電気刺激。舌で物を見ようという研究もあるくらいです(参考:舌で物が見えるようにする感覚代行器具)。ただ、このような特殊な感覚に対しては、どうしても人とは違う感性をもっているんだろうなという眼で見てしまいがちです。
しかし、これらの話を知って思ったのは、最初の共感覚にせよ、アイ・ボーグの話にせよ、どのような形で知覚するかといのは実はあまり重要ではないのではということ。「どうやって感じるか」ではなく「何を感じるか」。HOWではなくWAHT。最後の最後、心で感じているイメージは誰しも変わらないのではないでしょうか。
【関連リンク】
・Seeing things in a different light (BBC)
・共感覚 (小さな哲学〜雑草の世界)
・ママの声って何色 (asahi.com)
・言葉や音に色が見える――共感覚の世界
・N2's Homepage! 共感覚
・舌で物が見えるようにする感覚代行器具
【関連書籍】
・ねこは青、子ねこは黄緑―共感覚者が自ら語る不思議な世界
・共感覚者の驚くべき日常―形を味わう人、色を聴く人
・奇跡の人 ヘレン・ケラー自伝
もし、私が電気の専門家であったなら、電話を発明することはできなかっただろう。冒頭の引用にあるベルの言葉※1は、たまたま見たテレビ番組で取り上げられているの見て初めて知りました。非常に印象的な言葉でした。
何故なら、そんなものは最初から不可能だと決め付けたであろうから。グラハム・ベル
技術者として仕事をしていると、無理難題とも言える仕様、無理なスケジュールを突きつけられることが良くあります。そんな時、ついつい「無理を言うのは技術を分かっていないからだ。無理を言われても困る」と考えがちです。しかし、実際は中途半端に技術を理解しているがために視野が限定され、結果として発想力に乏しくなっているのは技術者の側、ということもあるのではないでしょうか。ここで、学生の頃かじったニューラルネットワーク(Neural Network)や遺伝的アルゴリズム(GA)のことを思い出しました。
ニューラルネットワークとGA。どちらも生命現象にヒントを得た最適化/学習モデルです。このような最適化/学習モデルでよく課題として登場するのが「局所解問題(ローカルミニマム問題:local minumum problem)」や「過学習(Overfitting)」です。
局所解問題を簡単に説明するとすれば、「部分的な最適解に系が収束し、本当の最適解にたどり着かない」という現象です(※1)。
過学習の方は、「特定の入力と出力の組み合わせ(学習データ)に対して系が収束しすぎたために、その他の入力(非学習データ)に対する汎用性がなくなってしまう状態」といったところでしょうか。同じ教師パターンで何度も学習を繰り返すことによって発生します。これは、特定のパターンにのみ最適化された局所解に陥ってる状態と見ることができます。
ニューラルネットワークはもともと脳の神経回路を模したモデルですから、実際の人間の脳に関しても同様の現象が見られます。例えば、年を取るほど頑固になるという現象。これは、長期間同じ思考パターンを繰り返している(過学習状態になる)と脳内のシナプ結合が特定のパターンに収束してしまっている(局所解に陥っている)ために起こっていると考えることができます。
冒頭のベルの言葉は、技術者が過学習によって局所解に陥ってしまいがちだということを表しているように理解できます。専門知識に精通すればするほど、その分野の常識にしばられて突飛な発想ができない。まさに、過学習によって局所解に陥っている状態です。
過学習というのは「勉強しすぎ」が問題なのではありません。学習データのパターンが限定されるのが問題なのです。つまり、まずはもっと視野を広げて、幅広い情報に触れることが重要なのです。直接関係のないもの程、役に立つ確立は低いですが、その分発想の飛躍を与えてくれることもあります。
漸近的努力だけでは局所解からは脱出できません。時には確固たる「信念」のようなものも重要ですが、ブレークスルーには発想を飛躍させるための「雑音(ノイズ)」も必要なのです。
最後に、SFの巨匠アーサー・C・クラークの残した有名は言葉を紹介しておきます。
"When a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong."
「著名な、だが年老いた専門家が、何かが出来るというとき、それはおそらく正しい。しかし、何かは不可能だというとき、それは絶対に間違っている」
"The only way of discovering the limits of the possible is to venture a little way past them into the impossible."
「可能性の限界を見極める唯一の方法は、不可能の領域に足を踏み入れてみる事だ」
"Any sufficiently advanced technology is indistinguishable from magic."不可能も可能になり得ます。技術者として、不可能への挑戦の気持ちは忘れないでいたいものです。
「十分に進歩した科学技術は魔法と区別が付かない」
【関連リンク】
・電話の歴史
・ニューラルネット入門
・Metal Brain(ニューラルネットワークに関する解説があります)
【関連書籍】
・学習とニューラルネットワーク (熊沢 逸夫)
・遺伝的アルゴリズム (北野 宏明)
(※1)ベルの言葉といえば、初めての電話を通した言葉、"Mr. Watson, come here, I want you." 「ワトソン君、すぐ来てくれ。頼みがある」も有名ですね。
ベルが難聴者教育に熱心であり、ヘレン・ケラーとの交友が深かったことも同じテレビ番組で初めて知りました。
(※2)解空間が多峰性をもつような場合に、バックプロパゲーション等の最急降下法的なアルゴリズムでよく問題になります。
『現実の世界』というものは、多くの限度にまで、その集団の言語習慣の上に無意識的に形づくられているのである。エドワード・サピア 『言語 - ことばの研究序説』サピア=ウォーフの仮説(The Sapir-Whorf Hypothesis)というものをご存知でしょうか。人が話す言語と、人の物事に対する考え方・理解の仕方には密接な関係があるという言語学分野における有名な仮説です。
有名な例として、虹の色数の話があります。日本では、7色が通例ですが、これは万国共通の認識ではなく、場所によっては8色であったり、6色であったりします。日本でも、緑色のことを「青」と呼ぶことがありますが、このように青と緑を区別しない言語圏では「青」と「緑」が区別されないので色数が減ることがあるそうです。
他の興味深い例としては、等という話があります。
- オーストラリアのある民族は、紙に書かれた矢印を「上下左右」ではなく「東西南北」で認識する
- 数字をあらわす言葉として1と2しか持たない(それ以上はたくさんになる)アマゾンに住むピラハー族は、数の違う電池、魚などが写っている画像を使う「マッチング課題」において、数が3以上になると物体が何であっても判定するのに苦労する
サピア=ウォーフの仮説はあくまで「仮説」ですが、このような自然言語と思考との関係は、プログラミング言語と設計・分析プロセスとの関係についても言えるのではないでしょうか。プログラミング言語は実装の道具というだけではなく、設計・モデリングを行う時の思考の道具でもあります。要求仕様を聞いて頭に設計イメージが浮かべる時、C言語を主に使っていると考え方も手続き指向になり、Javaを主に使っていればオブジェクト指向になるのではないでしょうか。言語の使用経験の長い人ほど、すぐに実装イメージを思い浮かべるため、このような傾向がありそうです。
よくC言語の経験の長い人の場合、オブジェクト指向設計に慣れるのが難しいという話を耳にします。勿論、C言語でもオブジェクト指向的なプログラミングは可能ですが、言語仕様がオブジェクト指向ではないため、実装に多少のぎこちなさが出ます。C言語では手続き型で書いた方が自然なのです。
とはいえ、大規模開発においてオブジェクト指向設計は優れた方法論ですC言語のみのプロジェクトであっても、その考え方を導入する価値はあります。しかし、その理屈だけ頭に入れてもなかなか思考はかわってくれません。こんな時に思考を変えるには、まず言語を勉強するのが一番です。勿論、言語仕様を頭に入れるだけでは意味がありません。実際に使ってみる必要があります。
私のいる組み込み業界では、使用するプログラミング言語は多くの場合C言語です。できることなら、いろんな言語を使ってみたいのですが実際なかなかそうはいきません。慣れない言語をいきなり業務で使用するのも危険です。そこで、私の場合は、開発やテスト用のツール作成等、割合自由の利く部分で、普段使わないような言語を使うようにしています。
世の中にプログラミング言語はごまんとあります。コンパイラ言語にスクリプト(インタープリタ)言語。関数型に宣言型。オブジェクト指向にアスペクト思考。多くの言語に触れることで、思考の幅も広がり、柔軟な設計も可能になります。普段同じプログラミング言語ばかり使っている方は、是非ともいろんな言語を使ってみて下さい。
異文化交流は言語習得から、です(^^)
【関連リンク】
・言語は思考を決定するのか?(スラッシュドット・ジャパン)
・サピア=ウォーフの仮説 (ざつがく・どっと・こむ)
・言語相対性理論 〜サピア=ウォーフの仮説〜
・サピア=ウォーフ仮説再考
・虹の色数の話
・プログラミング言語一覧(Wikipedia)
【関連書籍】
・言語―ことばの研究序説 Edward Sapir
・言語の相対性について
・認知パターン―オブジェクト技術のための問題解決フレームワーク ロバート コニツァー他
| ホーム |










