着実にdeep力(ちから)を上げていく

木曜日です。


すでに疲れが危険な領域ですが、なんとか出社しました。

午前中は例によってディスプレイを見るのがつらかったので、attention論文を読んでいました。deep力の高まりがあったので容易に理解できました。よい。

午後はツールをいじっていたら、不幸にも黒塗りのPython2に追突してしまいました。


帰宅後も疲れがあり、Navarro本をやれませんでした。

アイカツスターズをみました。ゆめロラはいい・・・。


以上です。明日出社すれば有給ゲージが回復するので、なんとかうまいことやっていきたい。

組み込みのpopcountつよすぎる(実はそんなにつよくなかった)

水曜日です。


労は期末なので、比較的穏やかな日でした。他部署の方とお昼を食べるなどの圧倒的コミュニケーション力を発揮しました。

労自体は一進一退という感じで、なかなか思うような結果が出ません。焦らず着実に知見を貯めていきたい。


帰りの電車で、オリンポスの郵便ポストを読み終わりました。とてもよいラストでした。


帰宅後はNavarro本のpopcount実装を楽しみました。本には2パターンの実装例がありました。ふと、組み込みのpopcount命令(_mm_popcnt_u64())とどのくらい差があるのか気になり、試してみました。結果は圧倒的に組み込み命令が速く、なんだこれはという気持ちでした。264回実行させてみた累計時間が、Navarro本実装だと計測不能(少なくとも数分で返ってこない)なほど遅かったのに、組み込み命令は0msでした。なんだそれ・・・。

今までハード属性が苦手だったので組み込み命令は使ってなかったのですが、これほど差があるなら採用も検討したい。と思ったのですが、べた書きで_mm_popcnt_u64()をすると(たぶん)コンパイル時の最適化で何もしなかったことになるっぽいです。適当に関数から呼ぶようにしたらNavarro実装をより少し速い程度でした。残念。

なお、組み込み命令のpopcountについては以下の記事を参考にしました。

qiita.com


以上です。昨日のうちにけフを見てしまったので、今日はアニメ視聴もなく早寝です。

久々にちゃんと日記を書きました

火曜日です。


出社に成功しました(自明ではない事実)。午前中は調子が悪くPCの画面を見つめるのがつらいので、社内PRML勉強会の予習をしていました(来週発表担当)。私が当たっている箇所がちょうどwwwマークのない(webに解答例がない)箇所だったので必死で自力で問題を解いていました。最近は深層学習にかまけていて数学をやっていなかったので久々に頭をフル回転させました。

深層学習はどちらかというとエンジニアリングの領域だと思っていて(故にここまで流行ったのだと思いますが)これはこれで大変なのですが、頭をつかうというよりは無限に方法を試す感じで体力勝負みたいなところがあるように思います(苦手)。というわけで午後は深層学習を使ってCV(character voiceではなくcomputer vision)を楽しみました。これは今の私のメインタスクとなっています。先月くらいまででツールを使ってわかりやすい成果が出る部分が終わっていたため、今は論文を読んだりデータセットを漁ったり、深層学習のライブラリ(keras2)を回したり、と色々模索している感じです。opencvが謎の挙動をしたり、kerasが突然死したりとなかなか成果がでないのですが、先日も述べたように、労の場での労行為は本質ではないため、粛々と知見を貯めていきたいという気持ちです。


最近は、帰りの電車で電撃文庫の「オリンポスの郵便ポスト」という作品を読んでいます。ラノベというよりジュブナイルという感じで、ハヤカワJAあたりで出そうな雰囲気があります。テラフォーミングに失敗した火星でなんとか生きる人々の冒険を描いた作品で、新人賞作品らしく、女性主人公であったり文章密度が高かったりとラノベフォーマットをあまり意識していない感じがよい。久々にじっくり読みたい作品だったのでちょっとずつ読んでいたのですが、明日には読み終わりそうです。


帰宅後はNavarro本のコード書きをやりました。といっても30分くらいどんな感じの構成にしようか考えていて、コードはpopcountを書いたくらいでした(なのでcommitはなし)。

その後、社運を賭けたアニメ、バンドリを視聴しました。仲間が揃ったことで物語が次の段階へ進んだ感があります。ソシャゲキャラのロゼリアもちょっと登場するなどさらなる盛り上がりを感じました。


さて、今日はけものフレンズの最終回です。明日、ネタバレを気にして人生(twitter)ができないのはつらいため視聴してから寝ようと思います。というかどうも早寝は翌日の出社には相関がないらしいことがわかってきたため、早寝に対する諦めの気持ちが出てきています。

というわけで早寝をしなかったので時間にゆとりがあり日記をそれなりに真面目に書けました(だが夜更かしはしょせん暗闇のゆとり・・・・ 真の労には通用せんはずだ)。

以上です。

総理さえ円盤を買うレベルでは

月曜日です。


労の場では、資料を書いたりデータセットの可視化をやったりといった業務をやりました。

今後に関する面談的なものもありました。


帰宅後は謎の疲れで時間が失われました。Navarro本をやる時間がなくなりました。

アイドル事変最終話を見ました。主人公のピンチに仲間が集結する展開が熱く、とてもよい最終回でした。これは総理(ラスボス)もBD全巻予約するレベル。私も1巻は購入済みですが、2巻以降も買うしかないという気持ちです。


以上です。今週は5労なので早寝です(いつも5労なのでは?)。

突然のバグで時間を失った

日曜日です。


定型業務(ピアノとNavarro本)をやりました。

キラ☆プリを見ました。今週も全体的に異様な気配があり、気がついたら30分が経過していました。最高のアニメでした。

鉄血のオルフェンズを見ました。出生ガチャで失敗した人々が次々と死んでいきました。心が暖かくなりました。


Navarro本のコード書きをやりました。なんとなくこれまでunsigned int(32bit)を使っていたのですが、uint64_tにしたい気持ちがあり、そのようにしました。その結果大量のバグを生み、修正に2時間使いました。無だ・・・。

Rustがよいらしいっぽいので、Rustに手を出したい気持ちになっています。

github.com


以上です。

天候のせいか、謎の体調のわるさがあり明日の出社が危ぶまれています・・・。寝ます。

1日の評価を変える高速化

土曜日です。


ヤクの効果で花粉ダメージが低減されたのはよかったのですが、反動で眠気とおなかのゆるさがありました。厳しい。なんとか定型業務(ピアノとNavarro本読み)はやりました。

リルリルフェアリル妖精のドア(第一部であることを明示的に示した)の最終回を見ました。総集編的なものでした。やはり立て続けに第二部がはじまるのは厳しいものがあるのでしょうか。ところで第二部は視聴を見送ろうかなあ、という気持ちでいます。もちろん有益なアニメだったのですが、私はさらなる有益作品を見出すために「今世紀最高」レベルでない作品の続編は後回しにするようにしています。


前述の通り、ヤクの副作用で調子がでなかったので無限にFE覚醒をやっていました。20章まで終わりました。なぜこのゲームの敵は無計画に突っ込んでくることしかしないのか。謎です。


日が変わってから、おもむろにNavarro本のコード書きをやっていたらcompact bit vertorがさらに高速化されました。これまではblock単位でdecodeしてから欲しいbitを取り出していたのですが「これもしかしてdecode中に欲しいbitを取得できるのでは」という気づきがあり、実践したら見事高速化されたのでした。

最初の適当実装(fixed length vector)の10倍速くなっており、最初に適当にやるとどんどんよくなっていく快感が得られるということがわかりました。しかしこの考えは「不良が更生したら褒められた」メソッドであり他人に使ってはならないのです。自分の気持ちを高めるためだけに利用したいものです。

access time(msec)(naive): 3
access time(msec)(compressed/ fixed length vector): 232
access time(msec)(compressed / unsigned char): 106
access time(msec)(compressed / const reference): 38
access time(msec)(compressed / bit decode): 22

github.com


1日の最後に圧倒的成果があり最高の気分で眠りにつけそうです。寝ます。

あまりにも花粉がひどくヤクをやる

金曜日です。


最近花粉症があまりにもひどく、集中力が完全に失われていたのでヤクをやりました。花粉症のヤクデビューです。去年まではクシャミが多いというくらいだったのですが、今年は目・頭・歯などにも悪影響がありこれはだめだなという気持ちになったためヤクに手を出しました。ヤクは好きではないのですが背に腹は変えられません。


それはそれとして、労の場では今後に関する情報の共有があり何らかの状況の変化がありました(謎)。幸い、私の身には大きな変化はなさそうなのですが、当事者であったら何らかのダメージがあったかもしれません。恐ろしいことです。

私はかつて「労の場では(不本意ながら)労をすべきである」と考えていました。しかし最近ではそれは間違いだったのではと考えるようになっています。「労の本質は労の場での労行為にあるのではなく、労の場そのものではないか。労の場に人々が集い何らかの行動をすることで確率的に労行為が生まれるのではないか。労は労の場であるという時点でその役割を果たしているのではないか」というのが私の最近の考えです。私が労の場にいて、自分のためにやるべきこと(ディープの勉強)をすることでそれが労行為になるかもしれないし、あるいは別の誰かが自分のためにやったことが労行為になるかもしれないのです。確率的に一定の労行為の生成が期待されるなら、それは労の場が場としての役割を果たしているといえましょう。図らずも、私が使っていた労の場(task field)という言葉は的を射た表現だったのではないでしょうか。

というわけで、労の場では粛々と自分のためになることをやっていれば、状況の変化があっても気にせずやっていけるのかな〜という気持ちになったのでした。完。


帰宅後はNavarro本のコード(compact bit vector)の高速化をやりました。頻繁に呼ばれる処理がクラスのオブジェクトを実体渡ししていたのでこれをconst XXXX&で渡すようにしたら大幅に高速化されました。もっと高速化したいですが、まあこんなものかもしれません。

access time(msec)(naive): 3
access time(msec)(compressed/ fixed length vector): 232
access time(msec)(compressed / unsigned char): 106
access time(msec)(compressed / const reference): 38

github.com


このすば2を見ました。小倉唯さんが「うまくいかないのは世間がわるい」というセリフを言っていたのがよかった。なお最終回でした。よさがあった。

スクールガールストライカーズを見ました。石原夏織さんが主人公力を発揮したシリアス回で様々な謎が明かされました。次回の最終回が楽しみです。

というわけで今日はゆいかおり無双でした。よかった。


以上です。寝ます。