読者です 読者をやめる 読者になる 読者になる

an odd fellow

読書と写真と情報工学

Factorization Machines について輪講で発表した

日記 研究

「隣のチームは Factorization Machines 使うらしい」とチームメイトが言ったのは、もはや内定先である弊社の冬インターンだった。当時の僕は「へえそうなんだ(Matrix Factorization の別名かな)」というトボけたことを思ったが、もう大丈夫。わかりました。

で FMs がわかってしまえばなんかコンペで強かったと聞く Field-aware FMs もすぐわかる。

http://www.csie.ntu.edu.tw/~r01922136/slides/ffm.pdf

ぱっと見ると FMs で O(n2) から O(kn) までパラメタを削減できたのに FFMs では O(kn2)になっとるやんけ!これじゃあスパースなデータで推論できんやろ!と思ったんだけどこうなるのは一番極端な場合で、変数をクラスタリングしておけば、現実的にはクラスタ数 f がオーダーに加わって O(kfn) になるということです。

FFMs おもしろいですね、汎化してから特化していてそれで良く推定できるという…。じゃあ今度はそのクラスタ間の相互作用考えたほうがええやんけつってクラスタ間の相互作用を表す重みをl次元ベクトルで分解してパラメータ数 O(klfn) のモデルが提案されて…みたいなことは無いんだろうか。やってみたら面白いのかも知れない。

輪講ではボスが SVM をこの程度でこき下ろすのは納得いかないと言っていた。そもそも回帰に使う SVM とはちょっと違うとも言ってた。僕は SVM 勉強不足でよくわからないが…。論文中で双対問題への変換がデメリットのような雰囲気で書かれていたのだけどこれが僕はよくわからなかった。ボスも別にデメリットなんて無いよと言っていたけど…。

マクロスΔ最終回と黒澤明の「生きる」

日記

僕はマクロスΔマクロスシリーズとして認めたくないなあと思った。色々と説明不足なのだ。あるいは説得力の不足だ。何よりマクロスシリーズとしてのエッセンスの不足が深刻だった。マクロスシリーズとはなにか。マクロスシリーズとは敵とみなしていたモノとの出会う話だ。出会うっていうのは争うことじゃなくて認めることだ。排除ではなく包摂だ。愛がテーマだったはずのマクロスで、敵からも味方からも恨まれる第三の敵を作って、これを尽く叩き潰してしまったマクロスΔの最終回は、マクロスシリーズの在り方として筋が悪かったと、おもいます。

あるいは、やっぱり、説得力の不足だ。黒澤明作品を僕は今日始めた見たんだけれど、フィクションに必要なのは説得力なんだと、身にしみてわかった。鑑賞後に胸に湧く自然な感想の中にもやもや感が全然無くて、この圧倒的説得力に僕は感心した。

マクロスΔは第三の敵を問答無用で叩き潰してしまった。そこに説得力は無かった。第三の敵の死に際の「なぜ理解しない!」ってセリフが虚しい。大多数に理解されなければ切って捨てていいのか?これを否定してきたのがマクロスシリーズじゃないか。マクロスシリーズがシリーズとして成り立ってきた掟を破るには、理由が、説得が、必要だったはずで、これをやっていないから、マクロスΔはまだ続きのシナリオがちゃんと用意されていて、マクロスシリーズのひとつとして完成するために、完結編を映画でやるのかもなと思いました。

楽観的ロックと悲観的ロック

技術

ロックについてあんまり気にしたことがなかったけど、必要になったので調べた。

ページを開いて何か変更して更新ボタンを押すシチュエーションを考える。僕が変更を加えている間に、他の誰かがそのページで別の変更をしたのを、僕が更新ボタンを押すことで上書きしてしまうのを防ぐためにロックを考える必要がある。

楽観的ロック

フォームに諸々入力して更新ボタンを押させてから、「このページを開いたときとバージョンが違うよ」って言って保存させてくれないやつ。

これは内部的にバージョンを持っていて、保存時にそのバージョンをインクリメントする。それで保存しようとしたときにバージョンが合致しないと変更されたということなので保存させない。

悲観的ロック

そもそも誰かが触っているページを開かせない。

symfony でロックを使うとき

ここを読む

12. Transactions and Concurrency — Doctrine 2 ORM 2 documentation

聲の形を見た

「これを見たあなたはどう思う?」をすごく感じた映画だった。これに従って、思ったことを書いてみる。

まず、はっきり言って、障害者を問答無用でいじめるということに混乱した。少なくとも僕の良心の範疇では、あり得ない行いで、見てる間も身体が凍りついていた。結局イジメは罰せられて、ピアスを引きちぎられた母親の姿を見た時は、きっと誰もが脱力して、どうもこの話は"違うんだ"と思ったとおもう。

だけれども、これはあくまでも僕の良心の話であって、今一度冷静に考えなおせば、相手は小学生なのだ。西宮硝子が来るまでは皆の普通で平々凡々とした小学生の生活の様子が軽快な音楽とともに描かれている。これが今まで存在しなかった、声が話が通じない人間が現れて、みなイライラが募ってしまう。この類のストレスを小学生はどう解消したら良いのかまだ知らないのだ。これがイジメという形で出た。そういう話の作りに思った。作中でも、西宮硝子との意思疎通がうまくいかずイライラして手が出る、そういうシーンばかりだったように思う。島田一旗の話だってそうだ。主人公が西宮硝子をイジメることにかれは消極的だった。これも意思疎通ができてなかったのだ。結局そのイライラが主人公をイジメることになる。

そして、西宮硝子はきっと耳が聞こえないとかそんなこと以前に、純粋過ぎたのだと思う。終盤のシーンではっきりとわかるのだけど、「バカ」を手話で表現した植野直花に対して西宮硝子が喜ぶのだ。意思疎通を相手がしようとしてくれたことに関して、ああやって本当に嬉しそうに喜ぶ子なんだとわかる。

さて、僕は高校生パートの話を赦しの話だと考えている。映画を見る前は贖罪の話だと思っていたし、前評判もそうだった。前評判の大半はこういう感じだった。

「いじめてた人間が都合よく許されていたように感じだ」

正にこれが、この作品で議論したかった点では無いのだろうか。自殺を未遂するくらい思いつめたから赦されるのか?手話を覚えた?だからなんだ?過去の罪は赦されるか?

これに対してのアンサーとして西宮硝子の自殺未遂じゃないかと思う。手話を覚えて、自殺を計って失敗して、西宮硝子の自殺を止めて代わりに落ちて死にかけるほどの主人公に関して、あとは何を思えばいい?

この話は一番究極的なイジメの加害者が死にかける話をやった。それでもって、加害者を赦す話を描いた。それで消費者のあなたはどう思ったか、わたしも正解はわからないから色んなひとに語って欲しい。そういう作品でないかと僕は思った。

マクロス7見た

日記

今日は朝からもうダメな日だったから引きこもりになってマクロス7を見て過ごした。

バサラが意味わかんなすぎて好きだった。それに振り回される人たちが段々バサラを理解して愛していく過程が良かった。物語の最初の段階ではバサラの存在を殺そうとしたり邪険に扱ったりするギギルとガムリンがバサラの真の理解者になったっていうのがよかった。このアニメを決定的に良いものにしたのは34話だったと思った。仲間のプロトデビルンによる襲撃で満身創痍になったギギルが背水の陣で突然バサラの歌を歌い出す。ほんとに、驚いた、あんなのずるい(褒めてる)。44話のガムリンの「俺はバサラの歌を信じる!」も良いセリフだった。あれほどバサラをボロクソ言ってたヤツが最終話間近で自信満々にこのセリフを叫んで敵に突撃していき、散る。まあ実は生きてるんだけど。 

バサラみたいに自分の考えに芯がある人素敵だと思う。最近は何をやろうとするにもだいたい先人がいて、これは良いあれは悪いって議論され尽くしてて、だから自分の考えだけで行動することに意味があるような気がしている。データサイエンティストになるっていう人間の意見じゃ無いかもしれんけど…。

 

 

泥流地帯を呼んだ

日記 読書

今月北海道の富良野に旅行に行くので、ゆかりのある本を、と思って三浦綾子の泥流地帯を呼んだ。

泥流地帯 (新潮文庫)

泥流地帯 (新潮文庫)

最後の最後の章まで、上富良野のひとびとは日常に非日常が入り混じる、毎日の生活ってやつを濃ゆい人間ドラマを編みながら暮らしているんですよ。幼なじみの女の子が借金を作った親父のために売られたとか、14年帰ってこなかった母親が明日帰ってくるとか、貧しさからくる卑しさなど全く感じない徳の高い祖父から人としての在り方を学ぶ主人公とか、幼なじみが売られていった家の女の子が主人公に突然好きだと言うとか、そういうやつ。それが最後の、ほんとに最後の章で全部泥に流される。それまで主人公は学校の先生とはかくあるべきだとか告白してきた節子のこととか自身の生徒のこととかを真剣に考えていた。考えてて、その最中、轟音からの濁流からの死体探し。やられた。もう、それまであったこと全部、どっかに吹っ飛んで、苦手な気持ちがあった叔父と抱き合って生きてることを泣いて、他の家族の死体を探す。探して見つけて燃やして、死んだと思った兄が生きてて、幸い未だ帰ってきてない母親を、「うんと大事にするべ」と言い合って終わる。

津波が押し寄せるって話なんだけど、否応無く福島を思い出させた。遠い長野の地だと自身の影響なんてほんとちっぽけで別の世界のことって感じだったんだけど、きっとかの大震災もこうだったんだろうなと、やっと、これは人事じゃないような、そんな気がした

追記

イマイチ地図を見てもどこからどこへ山津波が起こったのかわからなくて、調べてたらいいページを見つけた。

www.nhk.or.jp

十勝岳の方からふた手に別れて流れたのか、それで流れたあとが川になったの?でも今見ると美瑛の方はまっすぐ伸びる綺麗な道になってる。あと、ここに青い池あるんだ、Mac の壁紙になったやつ。この池、人工池らしいですね。泥流地帯の山津波は硫黄を含んでたから復興も大変だったと、下のページに書いてありました。それで、この人工池でそういう流れ出るとまずいものをせきとめるようです。なるほど〜。

『泥流地帯』と父のこと

あとこのへん衛生写真で見ると土石流防止のブロックみたいなのが置いてあるように見える。なるほどなあ。

地理勉強したくなりますネH

追記

かみふらの文学散歩と健康散歩 その1

面白い、そうかあ、文学散歩かあ、こういう企画があるのか

データサイエンティストになります

日記

6/20 を過ぎたらネットで喋って良いと言われていたのを思い出して書いている。

学生生活の結果として就職があるとは、全然思っていないんだけどこうしてある特定の会社に入ることを決めてみると、なんだか納得感があるのが意外だ。大学を出て大学院を出て会社に入る。ボクはもっと非人類的で新人類的な特殊性に憧れてた気がするけど、結局人間を辞められないので人間の範疇でなるべく普通じゃない会社を選んだ、つもり。

大学に入ったときはさっぱり、就職して会社で働ける気なんかしなかった。プログラマと言えば 3K でボクもきっと安月給で毎日鬱々した日々を送っていつか神託が降りてきてこの日だと思った時に首を吊るのだと思っていた。大学でコンピュータサイエンスを勉強したのは純粋に好奇心だった。完全にキモオタ趣味の延長で、ヤフーきっずのアンケートを攻撃したいとかニコニコ動画を崩壊させたいとか、あるいはその仕組みを知りたいとかそういうのだった。

それで、就職するとしても Web 系がいいかなとか、とか思っていたけど、フタ開けてみればそもそもエンジニアって肩書ですらねえ。

なんとなくエンジニアって自分のなかでしっくり来なかった。世の中の IT に纏わる要素は抽象化が進んで、便利なフレームワークが増えてきた。AWS みたいなクラウドコンピューティングはその最たるものだと思う。そういう、要素要素の本質を組み合わせてモノを作ろうっていう世界になった。サーバ管理に必要なネットワークの管理やセキュリティ対策はモノづくりの本質じゃない。今まではモノを作ろうと思ったら、それに関連する全てをエンジニアが面倒見ていたけど、今ってそうじゃない。少なくとも Web に関しては必要な要素が分析され続けて今も色んな面倒ごとを取り払って本質だけ便利に扱えるようにしたサービスが増え続けてて、これを組み合わせていくだけでモノは作れる時代になってる。

そういう世界の中でエンジニアってなによって思うと、「組み合わせるのが仕事のエンジニア」と「組み合わせるパーツを提供するエンジニア」になりそうって勝手に思う。

で、どうもエンジニアってしっくり来ないと思ったのは、自分の中でこういう区分があるからだなと。前者はエンジニアとしてなんだか薄っぺらいし、後者のエンジニアもなんだかしっくりこないっていうか、コレジャナイ感。

それでもう少し考えると、前者のエンジニアは狭義のエンジニアとして見ると組み合わせるだけの大して技術も無い薄っぺらいやつに見えるんだけど、そうじゃなくて、前者のエンジニアは広義のエンジニアなんじゃないかとふと思ったわけ。モノが簡単に作れるのが当たり前の世界ではモノ自体ができることにそんなに価値は無くって、そこにどれだけ付加価値をつけるのが前者のエンジニアのしごとだ。それにはユーザが本当に必要なものって何よ?おれたちが提供したいサービスって何よ?って考えたり分析したりモデリングしたりする能力が必要だと思う。モデリングってのはデータモデリングだったりオブジェクトデザインだったり、あるいは、数理モデリングだ。

両方ともちゃんとエンジニアで、ボクはなんとなく漠然と組み合わせるパーツを提供するエンジニアを目指していて、前者のエンジニアを軽視していたけど、ボクがしたいモノづくりってなんだっけ?って考えたときに、モノ自体は組み合わせて作ったっていいじゃんってなった。

というかそうしないと時間が足りなかった。アルバイトで設計から開発運用まで全部自分でやった 2 年間を省みて、ボクが思う価値のあるソフトウェアを作るにはどこに重きを置かないといけなかったかって、サービスのスケールのしやすさとかセキュリティの強さとかそんなんじゃなくて、ユーザーエクスペリエンスだと思った。

ユーザーエクスペリエンスの向上って?自分が思うサービスの使い方をユーザにしてもらうには?あるいは大量のデータを使ったら今までユーザが体験したことの無いソフトウェアが作れるんじゃないの?とかそういうことを考えたいような気がした。

それで、ただユーザーエクスペリエンスの向上についてポエムを並べても致し方ないのでデータをいじることにした。たまたまエンジニアとしての技術も役立つし。そういうわけで肩書はデータサイエンティストなんだけどボクはボク自身をエンジニアだと思って働きます。