Kaggle Halite コンペ + 強化学習

Halite by Two Sigma | Kaggle に参加していた。今回はお誘いいただいて @threecourse さん と @Seed57_cash さんとチームで挑んた。 コンペの目的 4人プレイの岩塩(halite)集めゲーム 1プレイヤーが複数の shipyards and ships を操作することが可能 盤面サ…

DQN デバッグメモ

デバッグの過程をまとめる。ほぼ自分用。 自分用のまとめ PyTorch でも tensoarboard を使ってたくさんログをとる。ログをとればおかしいところはみつかる。 ログすべきもの observation を tensorboard で visualize する。 次の最善手が分かっている obser…

Reinforcement Learning の self play についてのまとめ

強化学習の self play について知りたいことがあるので、ざっくりと有名な論文を読んでいく。熟読はしない。 知りたいこと self play は同一インスタンス、別インスタンスどちらか? 直感的にはどこかで stuck しそうな感じがするけど? 学習が進んでいるこ…

Jupyter/Colab における pyplot リアルタイム描画

強化学習の様子を visualize するために pyplot でグラフをリアルタイム描画していたが遅くて筋が悪いのでやめた。inline で表示すると plot 数が増えると極端に遅くなりボトルネックになる。inline リアルタイム描画をやめて、画像ファイルとして出力して i…

強化学習/RL/Reinforcement Learning のデバッグ方法

RL のデバッグは難しい。RLアルゴリズムの選択、適切な reward の設定、Deep RLの場合モデルの選定、実装の正しさ、適切なパラメータ、そもそも学習できる問題なのか。切り分けが難しい。世の中には同じように思っている人がたくさんいるようだ。情報元から…

RL での batch size

Reinforcement Learning を Welcome to Spinning Up in Deep RL! — Spinning Up documentation で勉強しながら実装している。とある実装で batch size = 5000 となっていて「値が大きすぎる」と思い、何気なく小さな値に変更した。それをすっかり忘れて試行…

OpenAI Gym の MountainCar が難しいという話

Vanilla Policy Gradient を勉強・実装している。CartPole はうまく学習できるのに MountainCar の学習が進まない reward -200 であり続けるという減少にハマった。RL のデバッグは本当に難しく、観察してもよくわからなかった。検索してみるとまさに同じ減…

Colab + PyTorch Lightning + Comet ML + Bert

Colab + PyTorch Lightning + Comet ML - higepon blog の続き。 目標 Tensorflow 2.0 コンペで自分が書いた training のコードを Colab + PyTorch Lightning + CometML に移植する。移植したことでメリットがあるかを検証する。 Google Drive の利用とその…

CUDA error: device-side assert triggered

CUDA error: device-side assert triggered のデバッグで苦労した。結論からいうと CUDA error は本当にデバッグが難しい。同じモデルを GPU ではなくて CPU 上で動かせば、もっと親切なエラーメッセージが見られる。CPU で再現しない場合は CUDA_LAUNCH_BLO…

Colab + PyTorch Lightning + Comet ML

背景 Kaggle の上位ランカーが PyTorch Lightning について言及していたの試してみる。同様に Comet ML も。Kaggle の試行錯誤を Colab (or Colab Pro) に移行できるかもあわせて検討する。 ToDO 以下淡々と ToDOをこなしていきメモを残す。 Lightning 基礎 …

GCP + Visual Studio Code 開発環境構築

前提 GCP への ssh 接続。GCP の AI notebooks インスタンスに ssh できなかったので調べた - higepon blog。 目標 Visual Studio Code のリモート接続を利用して GCP 上のコードを快適に編集。 git 周りの操作もそのまま行いたい。 Visual Studio Code 自体…

GCP の AI notebooks インスタンスに ssh できなかったので調べた

動機 Visual Studio Code でコードをリモート編集したい。そのためには local Mac からインスタンスに ssh が必要。 事実 インスタンスは起動している(Web インターフェースからコードを編集できる) インスタンスには外部IPアドレスが設定されている telnet…

突発性脳脊髄液減少症になり1ヶ月以上寝たきりだった話

時間のない人向けのまとめ ある日突然激しい頭痛に見舞われ即入院。 突発性脳脊髄液減少症(低髄液圧症候群)と診断され手術。何らかの原因で、脳脊髄液が硬膜から漏れて髄液圧が低下することで頭痛などの症状が起こる病気。 起立性頭痛(頭痛があるがしばら…

How to update existing dataset using Kaggle API

すでにある Kaggle dataset を API 経由で更新する方法。 % mkdir tf2-my-submission-dataset % cd tf2-my-submission-dataset % kaggle datasets metadata -p . higepon/tf2-my-submission % kaggle datasets download higepon/tf2-my-submission % unzip t…

扁桃腺摘出手術を受けた

口蓋扁桃の摘出手術を受けて7日入院したときの記録。 手術を受けた理由 直接の引き金は先月初旬に扁桃腺炎で40度以上の熱を出し入院したこと。以前から1年に何度も扁桃腺炎になっていた。喉の痛みからはじまり高熱というパターン。最悪の場合は悪化して抗生…

IEEE-CIS Fraud Detection コンペ反省会

IEEE-CIS Fraud Detection コンペに参加。チームとして銀メダルをとりめでたく Kaggle Expert になった。コンペは名前の通り Credit Card のトランザクションを fraud or not に分類するもの。 時系列 Table コンペだが Time Series データなのに不安を覚え…

APTOS 2019 Blindness Detection コンペ反省会

失明にいたる病気を眼の画像から判定する(5段階)コンペ。初めての画像コンペ。画像コンペでは大きくマシンリソースを使うというイメージで敬遠していたがそこまでもなかった。チームで挑み結果は804/2987。public から375もランクダウン。Shake up の原因…

最近の読書「三体」他

とにかく三体が素晴らしかった。早く続きが読みたい。ワクワクが止まらない系。

Jigsaw Unintended Bias in Toxicity Classification 記録 - Kaggle

Jigsaw Unintended Bias in Toxicity Classification | Kaggle に取り組んだときの感想。コンペは終了していないが submission の受付が完了。ランキング発表を待つだけなので忘れないうちにメモを残す。 過去に経験のある text の classification 系。LSTM,…

読書メモ - 機械学習のための特徴量エンジニアリング

最近の読書

「凍りのクジラ」、「旅人」、「羊と鋼の森」が特に良かった。今年は当たりが多い。 凍りのくじら (講談社文庫)作者: 辻村深月出版社/メーカー: 講談社発売日: 2008/11/14メディア: 文庫購入: 4人 クリック: 45回この商品を含むブログ (146件) を見る残り全…

Stacking 実装中

ちょうどよい加減に抽象化された Stacking の例が意外と見つからない。base models での CV、meta model での CV それぞれどうやるべきなのか。meta model は linear で良いのか。 tree base が良いのか。実践的な例をがんばって探してみている。このコンペ…

Kaggle Ensembling Guide + 実装例

Kaggle Ensembling Guide | MLWave という良記事を読み込む。そして1ミリもごまかさずに理解する過程をメモ。 Creating ensembles from submission files Voting ensembles これは分かりやすい。モデルが3つ以上あるときに prediction 結果の多数決をとって…

Kaggle 今日の作業記録

新コンペ。ネタバレ無しで。 安定した local CV の確立 いくつかのモデルを試す

Kaggle 新コンペ Santander Customer Transaction Prediction

とりあえず Starter Kerne 書いた。コンペ開催中はブログに何もかけないのが辛いですね。 www.kaggle.com

Quora コンペ入賞者手法まとめ

自分のコメントはかなり適当。後で更新するかも。 3rd 3rd place kernel | Kaggle Keras embedding load 時に stemmer and lemmetizer してできるだけ dictionary の中から見つける bidirectional GRU と LSTM の output の maxpool を concat max_length = …

Transformer - Attention Is All You Need の概要が理解できるリンク

Attention Is All You Need https://t.co/eUZ17XVu8L で提案された Transformer 以降は self-attention が主流な印象です。先日おおきな話題になった BERT も Transformer 系です。— agatan (@agatan_) February 12, 2019 で教えていただいた [1706.03762] A…

今回のコンペでやるべきだったこと

今回のコンペでやるべきだったこと、次回のコンペで活かせることに絞って覚書。 debug mode をつけるべきだった。train/test data のサイズを極端に小さくするモード。 Kernel を commit する前に小さいデータで動作確認をすべき。特に自分は typo が多いの…

Quora コンペ takuko さんのコード

Twitter で takuko さんが使用したスクリプトを公開してくださった。こういうのは本当にありがたい。 Quoraのスクリプトをまとめて、久々にgitでコードを公開しました!(requirementsとかREADMEとかめんどくさくて手をつけてないです。。。)https://t.co/jfh…

Kaggle における K-Fold CV まとめ

背景 参考 K-Fold CV と Train Test Split 違い K-Fold CV 例 K-Fold 亜種 CV FAQ Local CV の値が安定しない Local CV と public LB で傾向が違う 考えられる理由1 考えられる理由2 Local CV と public LB どちらを信じるか 背景 先日 submission の締切が…