496の落書き帳

496がなんか思ったことを書いたり書かなかったりする場所です。

にっき「決意」

今日は、喋った。とにかく朝から晩まで喋った。去年の6月に喋った量の合計を優に超えたと思われる(仕事で喋った分はノーカンとしよう)。学科の知り合いと会って、偶然にも学科外の人にも出会って、ただ人と喋りまくった。

※知能システムに興味ない人は後編いきましょう。

前編

午前は知能システムの復習をしてみた。知識は抜けまくっていて、機械学習が前提みたいな世界に飛び込むんだからやらなきゃダメじゃないかという気持ちになり、ひたすら同期と議論しながら復習した。

成果をノート的にまとめておこう。学習とは未知関数を既知の点群から推定することである。最初に教わる方法として、いくつかのパラメータを持つ関数(モデル)を適当に作ってみて、それと既知の点群の存在との差(損失関数)が小さくなるようにパラメータを決定する。ゆえに、この手法で議論されるべきはモデルの作り方と損失の作り方である。

モデルの具体例として、最初はガウス分布山の線型結合モデルをやる。ちなみに、実のところ深層学習というのはニューラルネットを模した関数モデルを使ってみたらやばい性能が出たというだけの話である。ね、簡単でしょう?

損失の最初の例はお馴染み二乗誤差だ。その後、ギチギチに最適化し過ぎてガタガタな関数になる(過学習)という問題に当たるので、パラメータの絶対値がデカくなることにペナルティをつけてみたり(正則化)、誤差がゼロの近傍では二乗誤差でいいけども離れると損失関数がデカすぎるので途中から線形にしたり(ロバスト損失)という修正が出てくる。そもそも線形損失にするという展開もある。

関数の値域が離散的(性質を示す有限集合)な場合は話が全然違う。2値しかない(XXなものとそうでないものを見分けたい)場合、点群に+1と-1をつけて先程のように学習させてみる(結果、分類は関数値の符号で判断される)ことはできるが、損失の形が正しい分類に合わない。これは、+1に分類したい点の値が0を超えていれば十分なのに、+1より大きくなると無理に+1まで戻そうとしてしまうのが面白くないということだ。そこで+1を超えたところからは損失を0にする(+1以上も推奨する)損失としてヒンジ損失が出現する。ヒンジ損失は大雑把に各点が境界線から十分に離れている(マージンがある)ことを保証する。ガウス山モデル+ヒンジ損失による2値分類は優秀で、特別にサポートベクトルマシンというお名前がついている。別件として、ガウス山モデルを裏から覗き込むカーネルトリックという概念があるらしいが、これは飲み込めていない。

2値分類ですらない(3種類以上の類別)の場合は今までの関数型では歯が立たず、確率分布の推定という新次元の技が行使される。中々ややこしいが、とにかくパラメータ付きで確率分布らしきもの(ロジスティックモデル)を作ってみて、最尤推定で良さげな分布を探す(これが損失の代わりになる)。最尤推定はいつも混乱するが、「仮に真実がこの分布だったとして、目の前にあるこのデータ群が吐かれる確率はいくらか」というスコアを最大化することである。ここで教材には交差エントロピー損失という言葉が出てくるのだが、最尤推定の概念に綺麗に連結できていない(自分では未解決)。ところで、このシステムを改めて2値分類に適用してみると、さっきのモデルでヒンジ損失ではなく別の損失を持ちいていることと同値になることが分かる。こいつをロジスティック損失と呼ぶ。

んー、ほとんど忘れていた。これはやらないとあかんぞ。でもかなり進んだから(2コマ分の復習を2コマ分くらいの時間でやった気もするが??)良しとしよう。

後編

昼、縁あってはじめましての人とお茶をした。「人と人を繋げるサービス」の有用性について、また情報の価値と知りすぎることによる損失の話をした。昔、研究者と一般人を繋げる人になりたいという夢があったことを久々に思い出した。いい仕事である。知りすぎることによる損失というのは相手にするのが難しく、個々人の判断でやってもらうしかないというのが今の見解である。

さらに学科の人々とリアル飲み会をした(これはきっちり白状しよう)。まず久々に人と会って純粋に盛り上がった。研究室の話をした。教授の話をした。さらに、ある人が僕と同じく神経科学・脳科学情報科学を使った新たな研究というのを夢見ていると知って、熱い気分になった。もし良かったら神経科学を教えてくれと言った。次に、当初から希望されていたamong usをやる流れになって、案の定自分が根本的にインポスターができないというコンプレックスを見つめ直す羽目になった。ひとしきり遊んで締めの雰囲気になり、一部の人は帰り、ああ学期始まっちゃうねと呟き、なんとなく去年の失敗を思い返す時間になった。

凡そみんな同じことを述べた。1人では無理だった。本当に孤独だった人は声を上げずに死んでいき、先生は気付かなかった。そのことの反省をする機会があったかもしれないのに、先生に言いたいことが上手く伝えられなかったのも印象的な事件であった。アレは議論の場になってしまって、感情を伝えるのはナンセンスだという空気にしてしまったのが反省である。今学期は出来るだけ繋がろう、リアルで会うことは中々望まれていないけど、なんとか頑張ってみよう、と、まとまったところで終電のお時間が来た。

同じ道で帰る同期とコンプレックスの話をした。同期も自分も愛着障害である疑いが出た。自分は今まで1人で突っ走り過ぎたことを反省した。去年苦しみ抜いたことを丁寧に白状した。同じ轍を踏んでなるものかと想い、友達を大事にすることを誓った。

午前から午後まであまりにも長い1日であった。一息ついて、気付いた。僕の目の前に話を聞いてくれる人がいる限り、僕の脳は最高速で回転し続け、僕の口は出力を流し続ける。目の前に人がいなければ回転は鈍る。話し相手とは最早リソースであり、駆動力だ。人と人が繋がった時の凄まじいエネルギーというものを思い出した。今学期こそは、できれば最大出力で挑みたい。意識的に人と繋がろう。例えばDiscordに何時間だって居座ってやろうじゃないか。それと、どうしても疲れたらちゃんと休憩すること。人に頼ることを恐れないこと。我々はまだまだ未熟なのだから、やれることは沢山あるのだから、

ピンチの時ほど、ふてぶてしく笑え。