2021年3月4日
クイーンズスクウェアの丸善ジュンク堂、今まで行ったことが無く、始めて行く。まぁまぁの広さで、技術書も結構あった。場所的に「ここに本屋がある」と知らないとたどり着かないような場所で、ちょっと場所が悪い気がする。
妻が仕事の日だったので、お昼は弁当を買いに出かける。みなとみらい駅前の弁当屋、いろいろな店舗が道路脇で様々な弁当を売っており、バリエーションが楽しめるなぁ。400-500円ほどのお手頃価格だし良い。
機械学習学習日記 - 31日目
ゼロから作るDeep Learning ❷ ――自然言語処理編を読みすすめる。
シンプルなword2vecの実装として、CBOWとskip-gramモデルで実装を行い、速度が出ないのでレイヤの追加、解くべき課題を多分類から二値分類へと考え、Negative Samplingを取り入れることで計算量を変える。この辺まではなんとか理解できたのだけど、RNNの実装で時系列データ(文章も順序に意味がある、ということで時系列データなのね)を扱うあたりから、集中力も途切れちゃんと理解できなくなって、雰囲気理解で最後まで読み終える。必要に応じて読み返そう。
RNNの応用で、文章自動生成、seq2seqによる時系列データを別の時系列データへの置き換えなどなるほど。論文を読んで、こういう実装を自分でできるようになるには、もっと基礎を理解しないといけないのだろうけど、そこまでは短期間ではいけないのだろうなぁ。
また、GPUでも実行できるタスクが増えてきたので、Windows 環境に CUDA 11.0 周辺を入れて環境整備。cupy や TensorFlow2 から GPU が使えることを確認する。最新のほうが良いのだろうと CUDA 11.2 を入れるも、TF2.4 は CUDA 11.0 依存なのね。この辺は docker レイヤー挟んだほうが CUDA バージョンも気軽に分けられて便利そうだ。WSL2 周りも(まだ insider preview だけど) CUDA 対応しだしたみたいで、Windows 環境でも GPU がだいぶ使いやすくなってきた感。
そして本書籍で NumPy の互換 API で CUDA 使って GPU 処理できる CuPy を知ったのだけど、これPFNがChainerのGPU処理機構として作ったもの(今はChainerメンテモードだけど、cupyは開発継続してる模様)なのかー。PFNすごい。