数学が出来る人と出来ない人の一番の違いは、自身の分からないにどれだけ敏感かなんじゃないか、と昔から思っている。 それは数学以外でも大切な事はあるよな、と思ったのでブログに書いてみる。

数学ではどの分野でも、最初のうちはなんだかどうって事無い事を定義しているように見える。 定義というのは基本的には凄く単純なので、最初の頃の一つ一つが凄く簡単なのは当たり前だ。

で、ずんずん進むと、ある時ふと自分が全く分かってない事に気づく。 はて?と前のページを見ると、それもさっぱり分かってない事に気づく。 どんどん戻ると凄く最初の方まで戻ってきてしまう。 戻ってみると、最初の方はまた凄く単純で当たり前の、良くありがたみの分からない事を定義しているだけに見えて、全くそんな事をしている理由は分からない。 まぁいいか、とずんずん進むと、前と同じあたりでさっぱり自分が分かってない事にもう一度気づく。 これを二回か三回やったら、ほとんどの人が挫折する事になる。

これは何故起こるのか?というと、自分が分からない事に気づいていないで進んでいるからだ。 分からない、となった瞬間に気づけば、そこで立ち止まって分からない部分を埋めるのは、多くの場合そんなに大変では無い。 でも分からない事に気づかずに進んでしまって、結構進んでから分からないという事に気づくと、どこまで戻れば良いのかも、どこが分かってないのかも分かりにくくなる為、分からないを埋めるのが格段に難しくなる。 しかもたくさん戻るのは、凄いモチベーションを奪う。戻るのは辛い。

分からない瞬間に分からないに気づくのは、相当数学が得意な人だけに与えられた能力と言える。訓練で身につくので生まれ持った才能という訳では無いが。

なお、分からないが大量にあると、それに全て即座に気づけたとしても、体力が尽きる、という問題はある。一つ一つを埋めるのはそんな大変で無くても挫折してしまう訳だ。 ただ、これは別の話(これも数学の才能の一つと思う)。

一昔前のプログラマは、別にそこまで自身の分からない、に敏感じゃなくても、あまり困らなかった。 数学だけが困る領域なら、まぁ自分は数学とか出来ない系男子なので仕方ない、と割り切るという道もあった。

だが、最近は、機械学習の論文読みなどにも、この「分からない」事に対する敏感さを要求される事が結構多い気がする。
例えばこの前読んでた、深層学習による自然言語処理の本で、RNNの所が出て来る。 いまいち自分はこの辺が良く分からない。 この分からないに自身で気づくのは、ちょっと数学でならした経験は効いている気がする。

この辺、数式だけ見て分かった気になるのは凄い簡単なので、なかなか自分の分からないに気づくには実力がいるんじゃないか?とか自画自賛しているがどうだろう?

自身の分からないに一定以上敏感じゃないと出来ない仕事

今回論文を書いていて、一回思い込みが間違っている事があった。

なんとなく雑な議論で成立すると思っていた事を、 ちゃんと数式に書いてみるとどうも言えない部分がある。 結局それは、暗黙に想定していたpriorがあって、それは全然自明じゃなかった、という結論になった。 でも間違えている思い込みを正すのは、なかなか難しい。

自分は全て分かっている、だからこれは正しい、と思い込んでいる事に大して、 自分の分かってない所を探すのは、相当に自身の「分からない」に敏感じゃないと、 なかなか見つけ出せない。 自分は正しいと思い込む圧力は強烈なので、普段以上に「分からない」を感じ取る繊細さを要求される。

間違った思い込みを正すのは一番わかりやすい例だけど、 それ以外でも相手が言っている事でよく分かってない事を感じ取って分かるまで議論しあう、 というのは、論文を書いていく時には必要な作業になる。

論文以外でも、一定以上理論的な勉強会などでは、こういう敏感さを皆が持っていないと進めるのが難しい。 そして、その条件を満たしていない人は結構居る。

他人事のように言っているが、私が必要な程度その条件を満たしているかも結構怪しい時はある。

どうやったら「自分の分からない」に敏感になれるのだろうか?

あんまり根拠は無いが、あんまり普段から自分の分からないを誤魔化しているのは良く無いんじゃないかな、という気がしている。

全部が分からない時にもなんとか論文を実装する必要はあるので、 なんとなく分かった気になって進むのが必要な事もある。 でもこれは、たぶん負債みたいな物なんじゃないかなぁ。 ちょっとは必要なんだが、あんまり常態化すると自身の分からないに対する感度が低下してしまう気がする。

ある程度分かる物の中に居ないと、自身の分からないに気づけなくなる。 だから自分の回りにふわふわ漂ってる「分からないのベール」を、定期的に頑張って取り除く必要があるんじゃないか。 で、分からないベールを取り除くとある程度分からないに対する感性を取り戻し、また多少「なんとなく分かった気がする」の負債を借りれるようになる。

負債をまた借りれるようにする為に返しておくのも大切だし、また負債を軽い状態にしておく事で自身の分からないに対する敏感さを増す事が出来る(気がする)

そんな訳で自分はたまにこの負債を返す時期、というのを設けていきたいなぁ、と思っている。 具体的には関数解析やらなきゃなぁ、と一年くらいずっと言ってる気がするが。

ここ数年、何度かそういう事をやってきた所、大分自身の分からないに対する感度はマシになってきた気がする。気のせいかもしれないけれど。

なんにせよ、自身の分からないに敏感である事は大切であり、また役に立つスキルでもある。 自分ももっとこの敏感さを磨いていきたい。