蛍光ペンの交差点[別館]

"どの点に関心をもつべきか ―をわれわれが学びとるのは,もっぱら仮説からだけである"

苗を植え続け、踏みつけない

「そんなことも知らないの?」とは、特に自分の専門分野や社会的に常識とされることについて問われた際、つい使ってしまいたくなる言葉だ。実際、危機感を煽ったり、火をつける目的では有効に働くこともあるのだろう。しかし、このような印象を与えたくがないために、実は不慣れな用語についてうんうん、知ってるよと通り過ぎてしまった場合がもたらす損害の規模を考えたときに、実はこの文句が差別用語として禁止された社会のほうが全体最適である、という結論は導けないだろうかと思ったりする。

 

もっと場面を限定して強調しよう。たとえば2年間ずっと一緒に仕事をしたけれど実は「EPSってなに?」と分かっていなかったり、「(Linuxにおける)プロセスってなに?」と思っていたりして、同僚に聞けないということはないだろうか。この理解不足が業務上の非効率を生むことは言を俟たない。

 

人は多くのことを大して理解していない。たいていの場合では実はそれで良かったりする。交わされる情報をあまりにも正確に理解しようとするのは、中学生が一日にあったことを全て日記に書きつけようとして書ききれなくなってしまうようなもので、実用的ではない。

 

ただ、だからといって、恥をかきたくないがために理解を正せる機会を減らしたり、理解することを最初から放棄してしまうのは間違っている。

 

年功序列社会や顧客社員の関係での人付き合いが多くなるにつれ、そしてある程度社会的肩書が高まるにつれ、自分のミスを指摘してくれる人が少なくなってきた。これは実は大変危険なことであるように思う。僕が60、70歳になったとき、果たして僕はどれくらい技術のことを理解できているだろうか。シニアエンジニアになれば、ますます言い出しづらくなる空気が増えるだろう。

 

一つ心がけできることがあるとすれば、言葉を選ぶことだろう。それは教える際に冒頭の「そんなことも知らないの?」を禁ずるということもあるし、人に聞く際に、自分の理解が正しいかを確認しなかったり「〜ということね」と理解が正しいと前提して次に進むのではなく、「〜と理解したのだけれど、それで合ってるかな?」「〜ということ?」と修正の機会を設け、修正し切れなければ構築しかけた知識を捨てる勇気を持つということだろう。

 

記憶と幸せ

ブログを書くことにまつわる楽しみの一つは、読み返すことにある。自分がはじめてブログを付けたのはもう10年以上前のことになるが、人間の脳は10年も前の自分の思考過程を、その波形を変えずに保持するような仕組みを生体内には備えていない。活字はそれを見事に解決してくれる。人間の思考は流れる文字列としては活字のようにリニアであることが関係するのだろう。

 

自分にとって(あくまで、僕の個人的な感情にとって)重要だった記事は、2年前に書いたこれと、半年前に書いたこれである。

 

前者を読んだときの感覚は、まさに求めていた通りのものだった。新しい街に住むことに伴う先が見えない不安感の中で、それでも自分が希望として持とうと決めたフレーズを、どうかこれからもまた使えるようにと書き付けた。

 

「生きていることの楽しさは、まったく新しい世界に飛び込んで、望んでいたものを狙い通りに得ることや、あるいは関わりたくなかった面倒事に巻き込まれることや、予想外の喜びに遭遇して立ち尽くすなかにあると思う」

 

「予想はタイにもなるが、マイナスにもプラスにもズレて、総じて僕の場合、事前の予想よりも豊かになる。今回はどうだろうか」

 

「いま自分が精一杯に目を凝らして見える、それでもおぼろげな地平線のことを、よく覚えておこうと思う。きっと来年再来年には、くっきりはっきり悲喜こもごもな世界になっているだろう。おぼろげな足場でも向かうと決めたときのことを覚えておこう」 

 

書いた当時の記憶はほとんどないけれど(たとえばどんな場所でどんな服を着て書いていたのだとか)、読むと当時の感情は似たものを再現できる。どこか肉声に対するCDのような関係にあるとも思う。

 

後者の記事のほうは、読んだときに当時の感情を思い出すことが少し難しかったが、少し気をつけて読むと思い出せた。

 

「不足を感じながらなおも積み重ねを信じ、誇りに思えるとはどういうことなのか?というのが、ずっと腑に落ちていなかった。少し道中で怠けてしまったことが頭を過ぎったりはしないのか?とずっと気になっていた」

 

「石化した成果にしがみついて留まることよりか、適度な期待と不安の中で動いているときのほうが、生きているように感じる。私は不器用だけど、時々休んで語らいながら、それでも遠くへ歩いていこう」

 

 

絵具と砂鉄と星座:グローバル化と人との距離感

朱に交われば赤くなるという言葉があるように、人間関係は絵具のようであるとも考えられる。一度混ざってしまうとその影響を取り除くことは難しく、特に深い黒が一度入ってしまうと戻すのは不可能に近いという、不可逆的な性質を持つと考えることは何ら不思議ではない。

一方で人間関係を、磁石に引き寄せられる砂鉄のように少しの人為的な力によって完全に切り離し可能なものと考えることもできる。一度砂鉄を取り払って(取り払って、とは失礼な言葉だが)別の場所に磁石を移してしまえば、磁石の表面に僅かに残った交流の痕跡を除けばもう砂鉄たちによる影響は残っていないのかもしれない。魅力のある人の多くは、キャリアについてそういう移動をするように思える。

適切な人間関係について考えるとき、それは果たしてペトリ皿のコロニーのように互いが一箇所に密集しているから機能を果たせるのか、それとも星座のようにいくらか離れているからこそ美しくより広い夜空が見渡せるのだろうか。ネットワークのハブになるという語法からも考えられるように、他の頂点からのホップ数が重要であるのは間違いない。だけれども、新宿御苑の桜は果たして、新宿駅にあまりにも近かったら美しかっただろうか。

 

これまで出会ってきた人たちを振り返るとき、時間、空間、影響量の面から、そんなことを考えた。ブログの文体を変える実験の途中なので、オチはない。

効率的な情報の摂取について(1):recallをrecallしない調査戦略

日々接する情報は多すぎる上に、まだ増加している。そのような情報過多(information overload)の問題に対して、precisionrecallという2つの概念を参考に戦略を立ててみよう。

 

f:id:koshka-j:20171225005720j:plain

(画像:英Wikipediaの"Precision and Recall"より転載)

 

Precisionとrecallは、情報検索システム(例:Google)の「良さ」を測るために利用できる数値である。情報検索はinformation retrievalの訳語で、retrievalは「回収する行為」を表す名詞だ。

precisionは「システムが返した結果のうち、何割が実際に関連するもの」を測る数値だ。Googleで言えば、検索語に対して返された100万件の文書の中で、何件が検索語に関連するかを表す。式で表現すれば、 precision =  (返却された要素のうち、関連する要素の総数) / (返却された要素の総数) という分数値になる。乱暴に言えばprecisionは日本語の「精度」や「質」にあたるだろう。

たとえばJobsでGoogle検索したとする。求職サイトではなくて、iPhoneの偉人に関連したサイトを返してほしい。Googleが返した100万件の文書のうち30万件Steve Jobsに関連していれば、Precisionは 30万件 / 100万件 = 0.3 となる。100をかけてパーセンテージに単位変換すると30%だ。

 

recallはその逆で、「量」に目をつける。「この世の中に存在する全ての「関連するもの」のうち、システムはその何%を返したのか」というものだ(上掲の図を参照のこと)。実際には、何もかも検索対象に含めようとするとその間に人生が終わるので、1億文書とか100億文書とか十分に大きな値が「世の中に存在する全て」の近似として使われる。式で表現すれば、 recall =  (返却された要素のうち、関連する要素の総数) / (システムが検索対象とする中で、関連する要素の総数) となる。

たとえばGoogle検索して100万件の文書が返って来たとする。先程の例と同様に、30万件の文書が検索語に関連していたと仮定し、更に全体で30億文書が関連していると仮定すると、 recall は 30万 / 30億 = 0.0001、すなわち0.01%である。precisionと比べると、分子は共通だが、分母が全く違うスケールの現象を捉えている。分母を変えるだけで「質」と「量」に似たものが測れるのは興味深い。

 

一般に質と量がトレードオフであるように、precisionとrecallは基本的にトレードオフの結果にある。たとえば100億文書全てを返せばrecallは1になるが、precisionはほぼゼロとなる。ほぼこれは確実だと思われる文書を1つだけ返せば、precisionは高確率で1になるが、recallはほぼゼロとなる。

ここまでが前置きである。PresicionとRecallが情報検索システムの良さを測るならば、人間の日々の情報摂取の良さの評価に使える。Googleに限らず、あらゆるメディアをチェックするとき、人間は情報検索システムであると言えるからだ。つまり私たち自体が、ろくに検索対象(e.g. 前例における100億文書)を広げる努力もせず、関連資料を見極めるスキルも身に着けないポンコツだと、良い情報など得られないということだ。Twitterで私たちが特定の人物をフォローするのは、その人が普段つぶやく内容のprecisionが高いからだ。TVをパッと付けてチャンネルを巡ったあとに電源を切ってしまうのは、その時間帯における precisionが 0 / チャンネル数 = 0 だったからだ。precisionがゼロだと一度確認した場合、あなたはその時間帯にTVをチェックすること自体をやめるだろう。そうして情報検索システムの性能を向上させる。

 

さて問題はinformation overloadだった。形式的に考えるための道具としてprecisionとrecallを手に入れたので、これらを参考にして改善策を考えてみる。

まず、どちらを使うと解決に近づくだろうか。

 

私は、recallは人間心理的に向いていないと主張する。世の中で私たちが「これは役立ちそうだ」「これ、いつか役立つから取っておこう」と思う文書は、恐らく億の単位で存在する。一方で、私たちが一日に確認できる文書は千の単位を超えないだろう。そうなるとrecallは先ほどと同じく最高でも 0.001%などと言った具合になる。どれだけ速読の訓練を積み、物事を一度聞いて瞬時に理解できるだけの把握力を持っていたとしても、このrecallは絶望的に低く、そして加速する全情報量の世界では今後も低下の一歩を辿る微分値によってrecallが落ちていく速度の変化を調べることもできるが、だからどうしたという話だ。落ちていくrecallを何とかして遅くさせるのは『イシューからはじめよ』が説くところの犬の道であり、無駄に疲弊する。

 

precisionについては詳細な検証の価値がある。以下のシナリオを考えてみよう。

 

分厚い情報書籍を読む

たとえばある業界における2つの競合会社を比較した、ビジネス書を読むと決めたとする。この書籍の中から、あなたの情報検索システムは何を返すべきかを決める。残念ながらGoogleと異なり、書籍のページは読者が最も興味を持つ順によってソートされていることはない(そうなるように努める著者もいる)。よって読者は例えば以下の2つの読書戦略のうちどちらかを取る。

 

読書戦略1.ページを製本順に追っていく

 

簡単のため、書籍が300ページで、同一の長さの30の節によって構成されていたとしよう。つまり各節は10ページの長さだ。大抵の人は本をcover to coverで読む。そうすることによって、面白い節を見落とすミスをなくせる。

全てのページを読んだ場合、「(あなたという)システムが返した結果」は300ページとなる。仮に、30コの節のうち、18コの節があなたの興味に沿っていたとしよう。このときprecisionは180 / 300 = 0.6で60%となる。

 

読書戦略2.各節の見出しを見て、興味を持ったらそのページを読む

時間の節約を鑑み、節のタイトル(「株主構成の違い」や「設立経緯の違い」など)を見ることによって、あなたは20の節を読むことに決め、その中の14コを面白いと思ったとする。戦略1と比べると4コ見逃したわけであるが、あなたは20の節を読んだ段階で満足し、読書を終える。

このとき precisionは、(14*10) / (20*10) = .7 で70%となる。



この際、あなたはどちらの戦略を好むだろうか?

 

information overloadという時代背景を考えれば、僕は戦略2を好むだろう。precisionの高さもそうだが、読書時間の短さという魅力的なプレミアムも付いてくる。戦略2では、戦略1より高いprecisionを、2 / 3だけの時間で達成できている。多くの場合、情報摂取から得られる効用は、費やせる総自由時間量に制限される。パフォーマンスをprecision、コストを時間と考えたとき、戦略2は明らかに優れているといえる*1

 

現実を極端に単純化したこのシミュレーションには複数の反論が考えられる。一つ想定される反論は、recallを計算すると戦略1では驚きの100%、2では 14 / 18 = 77.7%であり、precisionとの(調和)平均を取ると戦略1の方が数値(F1値)が高くなるじゃないか、というものだ。だがF1はprecisionとrecallを等しく重んじた場合にたまたま計算される数値であり、現実において何の妥当性の根拠もない。Fβにおいてβ=1とおいただけの特殊な場合である。F0.5はprecisionを重んじ、F2はrecallを重んじる。加えて、繰り返すが、recallは年を追うごとに延々と下がり続けるのだ。重みの数字を毎年見直さなければいけないことになる。recallを入れた途端に、あなたはinformation overloadの時代の複雑性と真正面から向き合う犬の道に入る。

 

もしあなたがこのシミュレーションに何か惹かれるものを感じるならば、precision-orientedな情報摂取を意識的に試してみるのはどうだろうか。

 

上記では「読む節の選択」が十分に高速で、正確であることを前提している。あなたがその分野に不慣れで、20コの節を選んだときに面白いと思える節が3つしか含まれていなかった場合、precisionはむしろ下がる。だが投下した時間自体は短く押さえられているという利点はこれでも残る。

何より、その選択の精度を磨くこと自体も、実はinformation overloadへの有効な対策だとも考えられる。新しく使い始めたサービスの利用規約書、最近更新されたツイッターのプライバシーポリシー、授業で少し使っただけのプログラミング言語の分厚いマニュアル。全てに目を通している時間がないことは頻繁なのだ。

 

 

 

Deep Workをいま読んでいる最中なのだが、疑問を挟みたくなるような主張も多い。私はむしろこのprecision-based learningを可能にする情報フローとストックの方に興味がある。

 

大事なことに集中する―――気が散るものだらけの世界で生産性を最大化する科学的方法

大事なことに集中する―――気が散るものだらけの世界で生産性を最大化する科学的方法

 

 

*1:皮算用だが、残りの 1 / 3の時間を仮に同一の前提が成り立つ書籍に捧げたら、7つほどの面白い節が見つかるはずで、そうすると戦略1と同じ時間で3つ多く面白い節を読むことに繋がる。

時々休んで語らいながら、それでも遠くへ歩いていこう

自分の中には異なる2つの主義(principles、行動の指針)がある。長期間の存在を確認した。「なんでもいいから成果だけ手に入ればいい」(outcome goal) という主義と、それが崩れたときに現れる「積み上げてきたことを出し切って運命に委ねたい」(process goal) という主義である(参考)。

 

振り返れば、小中高、大学、大学院、どこにおいても、この2つを行ったり来たりしていたので、自己の中の可塑性が減っていくのを感じるいま、おそらくこの循環はこれから一生変わらないだろう。

 

両方とも役立つならば問題はないが、残念ながら前者は悪玉であり、寛解のような形で付き合っていくしかないと自覚している。前者の主義が引き起こしてきた惨事は数え切れない。高校時代の引退試合で、1年以上出していないような最悪のスコアを前半で叩き出したのは、ちょっとこの部分は力を抜いても、いやむしろ抜いたほうがうまくいく気がする、と、緊張で感覚と思考が狂った状態の中で、主義に自分を制御させてしまったことが主要因だ。

 

しかし、長く付き合っているのでそうしてしまった理由も分かる。自身が積み上げてきたことを信じ切れていないのだ。outcomeの最大化が、積み上げてきたことの本番と同じだと感じられない限り、後者のモードには入れない(だから一つ目の主義を「崩す」ことが重要だった)。心の中でうまく先に崩すことで、時間短縮を狙ったことは何百回とある。

 

友人や上司や指導者を尊敬する瞬間はたくさんあるが、そのうちの一つは彼ら彼女らが一つ一つを丁寧に積み上げて、それで何か形あるものを達成しようとすることだ。数学の証明はその典型で、あまりにも自明で一瞥の価値すらないと僕には思えたようないくつかの事実を、彼ら彼女らは軽く扱わない。そうして確率の問題だったり、計算理論の定理だったりを、「なんだか知らないが手に入った成果」ではなく、積み上げた一つの通過点として確認していく。語学や筋力トレーニングで黙々と実力を付けていくのもその一つだ。

 

積み上げたことを信じるのは難しい。真剣に考えているのならば、過去の欠点も明確に把握しているはずで、それでも信じられるとは、どういうことだろうか。練習中であれば、積み上げたことが(小さくとも)確かに強固で揺るぎなく、あとは大きくするだけ、と信じることはできそうだ。だが不足を感じながらなおも積み重ねを信じ、誇りに思えるとはどういうことなのか?というのが、ずっと腑に落ちていなかった。少し道中で怠けてしまったことが頭を過ぎったりはしないのか?とずっと気になっていた。

 

その確信の精神的支柱はむしろ、努力というよりは意志決定や問題解決の文脈で使われる考え方だ、と気づいた。自分で書いておきながら、その繋がりに半年以上気づかなかった。それほどまでに思想が固定化していたということなのだろう。何をどう用意したって失敗なんだ、成功が決定的にならないという狭義においては。でもだからといって信じない理由にはならない。

 

一度取った実績は紛れもない確かさがあって安心だろう。
でも本当の安心は、それで安泰だと思わないことにあった。

 

outcome goalは、多くの場合において機能不全で終結する。ゼロトゥワンでも否定されていたように、「ここまで達すれば人生安泰だ(set for life)」なんてラインは存在しない。東大までの人という表現もまた助詞が真実を抉っている。東大までで終わらないのならば、終わりはどこに設定されるのだろうか?一流会社に入ったとき?一生遊んで暮らせる富を築いたとき?定年したときだろうか?意見は分かれるだろうが、候補を出すうちに死は絶対的だと気付く。東大までの人は、死没までの人になる。私はもはや、いい大学に入っていい会社に入ることが、必ずしも悪いことだとは思わない。それは長いprocessの一部に過ぎない。

 

一方で、力みすぎなのだ、という自己認識を持つようになった。休息や自身の悪手に関する主義を、これまであまり考えてこなかった。友人と他愛のない話をすることが、どれほどの効用を持ってprocessを改善してくれているのか、認めるほど観察してこなかった。

 

開けた場所に新しく向かうときは、一年前の夏のように、期待と不安が入り交じる。この交錯した感情は、またずっとこれから変わらないだろう。しかしそれは悪いことではない。石化した成果にしがみついて留まることよりか、適度な期待と不安の中で動いているときのほうが、生きているように感じる。私は不器用だけど、時々休んで語らいながら、それでも遠くへ歩いていこう。

計算と走る

およそ基礎と言われる単元の学習を終えると、第二言語学習者は「英語学ぶのではない、英語学ぶのだ」などの助言を受けることが多い。この一文が興味深いのは、自然言語において日陰者と思われがちな助詞(particles)が主役となって、あらゆる学習者が十数年間の未来に渡って辿っていく出来事を的確に捉えているからだ。

 

さて、計算機科学者あるいは実務でコンピュータに携わるものはみな、計算走らせる・・・・・・・という言葉を使う。名前の通りcomputerはcomputationを行なうものだから、これは疑いを差し挟むことなく正統的な表現である。世界史においてここ数十年使われてきており、今後もそれは変わらないだろう。データの増大と計算コストの低下で、計算を走らせることはますます盛んになると誰もが予想している。

だがこれからは、計算走ることのほうが本質的になる・・・・・・・・・・・・・・・・・
 

Googleが買収した英国の会社DeepMindが作成したプログラム AlphaGo が、2010年代前半における世界最強の囲碁棋士とも評されたイ・セドルを、4−1で破った。人工知能の歴史において、囲碁で機械がトップレベルの人間に勝つのは十年先のことだと思われていた。

 

この話については、とにかくドキュメンタリー映画 AlphaGo を見て欲しい。Youtubeでレンタルできる、あるいは買えるし、字幕も英語のみだがフルで出る。特に第1局から第4局におけるイ・セドル氏のあらゆる言動から、計算と走るとはどういうことなのかを目撃して頂けると思う。

 

少しのネタバレを覚悟で考察を共有すると、この映画において最も大事なのは、あるタスクにおいて地球上の何よりも強い存在が前触れもなく現れたとき、人類最強クラスの人間は何を考え何をするのか、その実例になっていることである。誰も解いたことのない問題を出せる存在が現れたときに、人は何をするのかとも一般化できる。

 

具体例を1つ述べる。第一局でイ・セドルは予想外の負けを喫した(彼は自分が5戦全勝すると見ていた)。彼は夜の間ずっと敗因を検討していたらしい。続く第二局において、AlphaGoはおよそ2016年のその場にいた全てのプロ棋士が悪手と評す、第37手を選択した。この手は、AlphaGoの計算によれば人間が打つ確率としては0.1%を切る。すなわちこの手は機械しか打てず、もちろんイ・セドルはこの手を人生で見たことがなかった。

 

解説者の誰もがこの手を批判する中、イ・セドルだけが異なる感想を持った。イ・セドルは他のプロによると独創的な手を打つ名手らしく、この手を悪手ではなく未開拓の戦略と受け取るだけの柔軟さがあった。

 

"I thought AlphaGo was based on probability calculation and it was merely a machine. But when I saw this move, I changed my mind. Surely AlphaGo is creative."

(拙訳:「最初は、アルファ碁は人間がこれまでに打った手の確率の中から、最も勝ちそうなものを機械的に選んでいるだけだ、と思っていた。でも第二局の第37手を見たとき、考えが変わった。間違いなくアルファ碁は、自分で新しい手を作っている。)

(Lee Sedol in Movie "AlphaGo")

 

目の前に現れた新奇な問題に対して、彼はあらゆる手を考えた。彼は計算と走っていた。12分を超える長考の末、次の手を打ち、やがて負けた。

 

この事例が示唆するのは、人間を超える精度の結果を計算が弾き出すことで、むしろ人間のほうが新しい計算を迫られる・・・・・・・・・・ということだ。人間は、端的に言えばアナログな計算機である。手に入った結果がこれまでとは異質なことで、全ての前提が変わり、人間は新しい最善手の計算を求められる。

 

そのような局面において、「(電子計算機上でのみ)計算を走らせる」という世界観、すなわちプログラムに相談してこちら側の最善手を決めてもらうということは、必ずしも最善手にはならないだろう。そのことを示したのは第4局なのだが、まあそれは見てのお楽しみということで…

文字と「跡」、あるいはデータと呼ばれるもの

文字は「今、ここ」を離れて行なう観察のゲーム・チェンジャーだった。そして今現代に起きていることはデータによる二次革命である。映画においては続編は前作より低評価になることが常だが、果たして技術においてはどうだろうか。

 

私たちは、文字で現象をほとんど理解したと思い込んでいた。たとえば兵士は戦地で死ぬものだと思っていた。だって兵士は戦闘によって致命傷を受け、兵舎では戦闘に備えて休息しているのだから、当然だろう。不衛生な病院内での感染症死亡者が戦地での即死より多いことを示したのは、たぶんナイチンゲールが初めてだった(思うに、彼女は砲弾が飛び交う戦争の最前線自体は見ていなかったはずだ。だからデータで比較しようとしたのだろう)。

 

文字は便利だ。イメージをひとたび構築すれば、理解したように感じられる。私が訪れたことのないアフリカの国でも、そこで働いていた友人の話を聞けば、なんとなくイメージを掴める。ただそれは近似、それも誤差保証なしの近似である。そして「誤差保証なし」と枕詞が付いたときのベスト・プラクティスは、複数の方法で相互の精度を監視し合うことである。

 

データを分析しはじめて、私たちは体表面に億単位で存在する微生物のような複雑怪奇な生態系が、データという「現象の痕跡」の中にも存在することに薄々気が付き始めた。私たちは自分たちの過去を文字と脳内写真の列として記憶している。本当にそれは正しいのだろうか。ナイチンゲールが見つけたあの隠れた真実に匹敵する価値ある知識は、私たちが記録せずに過ごした過去のどこかに隠れてやしないか。

 

ビッグデータ、IoT、AI、クラウドは、次のナイチンゲールを待っている。