プライベートなことは Notion に書いた。 Kaggle コンペ参加は1回のみ。 バレエを始めた。 週2-3回の筋トレはよく続いた。 8月にコロナに罹った。熱を出して寝込んだ。家族はほぼ無症状。後遺症はなし。 息子は中学生になり、子育ての負荷がぐっと下がった。…
ceronman/loxido: Rust implementation of the Lox programming language. How to allocate object let bar = gc.alloc(LoxString::from_string("bar".to_owned())); LoxString::from_string and GcObject implementation. They are staraightforward. pub s…
Finalize Trait Previously we explored Trace in Trace - Understanding Rust GC - higepon blog. Let's look into Finalize trait. This is really simple. Every GC-ed object should implement this finalize. pub trait Finalize { fn finalize(&self) …
Goal I want to understand how Rust GC work to see if I can use it in my Scheme VM interpreter to be written in Rust. How to use GC-ed objects should implement Trace and Finalize. You should use Gc::new instead of Box::new to allocate objec…
Mosh は R7RS に対応しつつあるので ecraven/r7rs-benchmarks というベンチマークを走らせてみた。今回は速度は気にせずにR7RS Scheme 処理系としてコードを間違いなく正しく実行できるかに注力。結局57個中で3つのベンチマークで実行に失敗することが分かっ…
Scheme で MNIST からの学び - higepon blog の続き。 f64array 前回のプロトタイプをもとに Mosh のシステムライブラリとして f64array というものを導入した。double 型の2次元の行列を表現したもの。追加した手続きは最低限のもの。 make-f64array f64arr…
久しぶりに Mosh Scheme に触っている。良い機会なので ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 を参考に Scheme で動く MNIST デモを実装しようと思い立つ。MNIST は 0 から 9 までの手書き数字の認識デモ。Neural Network…
伝説のプログラマのポッドキャストJohn Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets | Lex Fridman Podcast #309 - YouTubeを聴いていたらデバッガと static analyzer がいかに素晴らしいかを説いていたので clang-tidy を使って…
okuoku@ さんの助けもあり GitHub Actions で Mosh を Ubuntu / macOS でビルド・テストするようにできた。これが可能になったのは夏休みに Docker で複数の環境構築・テストをすることにより 64bit Ubuntu で動くようになったから。
Stanford CS 25 Transformers Unitedを受講した。猫も杓子も Transformer という時代なので基礎の復習とキャッチアップを兼ねて。 良かった点 Transformer の基礎の復習がきちんとできた self attention について「分かったような分からないような」という理…
〇〇言語の後継XYZ言語がリリース。とニュースがあるたびに「少し触っとくか?まあいいか」を繰り返し。最後に「新しい」言語を学んだのは Swift という状態だったのでRust の本をオンラインで読みできる限りコードを写経した。以下感想。 メインで学びたか…
統計検定2級や Kaggle で学んだものたちの隙間を埋めてくれる良い本だった。どことは言わないが、読んでいる途中に仕事のことを思い出す記述があり背筋がピンと伸びた。以下雑多なメモ。 分析者のためのデータ解釈学入門 データの本質をとらえる技術作者:江…
Coursera の Bitcoin and Cryptocurrency Technologies | Coursera というクラスを履修した。Princeton University が提供している仮想通貨のオンライクラス。 自分は仮想通貨を所有していない。仮想通貨やそれらにまつわる技術については、どこかのまとめ記…
scheme.org の方から mosh.scheme.org の利用について声をかけていただいた。せっかくなので Mosh の Apple Silicon 対応をしようと思いたった。なお最後のリリースは 0.2.7 で 2011/6/14 に okuoku さんによって行われている。10年以上前である。 C/C++ で…
Scaling Min-max & clipping は一様分布に良い Z-score は正規分布に良い。 input data によっては non-linear な変換の方が適切。例えば Wikipedia page views。これは正直意識してなかった。 この視点で圧力コンペのデータでやってみた(02-01-scaling.ipy…
いくつかの Kaggle competitions を経験し数学の復習が必要だと気づいたので Mathematics for Machine Learning を読む。まずはトライアルで2章を読み切る。新・数学の学び方 を参考に以下のルールで読みすすめる。 数式を完全に分かるまで追う。 実際に手を…
Indoor Location & Navigation というコンペで9位入賞。目標だった Kaggle Master になったので振り返り。これはチームメイトである @KaggleSaito さんとの成果である。 どういうコンペか? 与えられたスマホセンサーデータ(Wifiなど)からショッピングモール…
Command Palette にアクセスするキーバインドが動いていない気がする ctrl + ; に割り当てた when expression を空にしないと動かなかった Go to Definition cmd + t Go Back cmd + r Ctrl x b が効かない。 Karabiner-Elements がバッティングしてた。Karab…
これは Riiid! Answer Correctness Prediction | Kaggle において自分が理解できていなかった部分をまとめるもの。間違いを含む可能性がある。間違いを見つけたら @higeponja にお知らせください。 Riiid はいわゆる time series コンペ。きちんと masking …
銅メダルでした。 以前のRLコンペから学んでやらなかったこと DQN などの自前実装:自分の学習のためなら良いが、自前実装はバグりやすくたくさんの罠がある。すでに動いているベースラインが運営から提供されているのでそれを使う。そうすれば reward / obs…
Kaggle 用の docker image が公開されているのでそれを Mac 上の Visual Studio Code 使う。 やったこと Remote-Containers という拡張を入れて拡張経由で docker を使う。これは host と container 内の両方で Visual Studio Code を起動するので開発環境=…
Karabiner-Elements を使っていたのだが Visual Studio Code で有効になり困っていたので入れ直す。 それでしたら frontmost_application_unless でできます!オフにしたい機能ごとにこういう条件をmanipulatorsに付けるとできます。bundle_identifiersは htt…
Halite by Two Sigma | Kaggle に参加していた。今回はお誘いいただいて @threecourse さん と @Seed57_cash さんとチームで挑んた。 コンペの目的 4人プレイの岩塩(halite)集めゲーム 1プレイヤーが複数の shipyards and ships を操作することが可能 盤面サ…
デバッグの過程をまとめる。ほぼ自分用。 自分用のまとめ PyTorch でも tensoarboard を使ってたくさんログをとる。ログをとればおかしいところはみつかる。 ログすべきもの observation を tensorboard で visualize する。 次の最善手が分かっている obser…
強化学習の self play について知りたいことがあるので、ざっくりと有名な論文を読んでいく。熟読はしない。 知りたいこと self play は同一インスタンス、別インスタンスどちらか? 直感的にはどこかで stuck しそうな感じがするけど? 学習が進んでいるこ…
強化学習の様子を visualize するために pyplot でグラフをリアルタイム描画していたが遅くて筋が悪いのでやめた。inline で表示すると plot 数が増えると極端に遅くなりボトルネックになる。inline リアルタイム描画をやめて、画像ファイルとして出力して i…
RL のデバッグは難しい。RLアルゴリズムの選択、適切な reward の設定、Deep RLの場合モデルの選定、実装の正しさ、適切なパラメータ、そもそも学習できる問題なのか。切り分けが難しい。世の中には同じように思っている人がたくさんいるようだ。情報元から…
Reinforcement Learning を Welcome to Spinning Up in Deep RL! — Spinning Up documentation で勉強しながら実装している。とある実装で batch size = 5000 となっていて「値が大きすぎる」と思い、何気なく小さな値に変更した。それをすっかり忘れて試行…
Vanilla Policy Gradient を勉強・実装している。CartPole はうまく学習できるのに MountainCar の学習が進まない reward -200 であり続けるという減少にハマった。RL のデバッグは本当に難しく、観察してもよくわからなかった。検索してみるとまさに同じ減…
Colab + PyTorch Lightning + Comet ML - higepon blog の続き。 目標 Tensorflow 2.0 コンペで自分が書いた training のコードを Colab + PyTorch Lightning + CometML に移植する。移植したことでメリットがあるかを検証する。 Google Drive の利用とその…