Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JOAI 2026 Speaker Deck

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Kai M Kai M
April 15, 2026
40

JOAI 2026 Speaker Deck

Avatar for Kai M

Kai M

April 15, 2026

Transcript

  1. 自己紹介 名前: 増島 楷 (Kai Masujima) 学校: St. Mary’s International

    School 11年生 プロフィール : 情報科学の達人 7期生 国際経済学オリンピック 日本代表・銀メダル
  2. Overview Preprocess Data (Feature Engineering) Tree Features - Raw Brain

    Data - 脳データの一回微分、 2回 微分 - Lag/Lead/Rolling Brain Data - Sum/Diff of brain groups - Time, Mouse Data GRU WaveNet CNN2D Log(1+p)GRU TCN Event Detect(GRU) LightGBM CatBoost Stacking & Post Processing MetaData (Mouse Id, Training Id etc) Processing Ridge Regression LightGBM Mix Creation of Submission - Raw Brain Data - 脳データの一回微分、 2回 微分 - 脳グループの平均値 - Raw Dataの標準偏差 - 時間 - フレーム - 日にち NN Features Model Training
  3. 論文から読み取れた内容・脳科学に関するドメイン知識 - レバーの位置はロータリーエンコーダーで記録後変換されてる←一定程度離散的な値 - 必要保持時間は学習度合いに合わせて調整(初回1 ms・最大400 ms)←実験の日付が大事になりそう - 二値分類的な要素がある -

    73.7%の場合はlever < 0.3(resting) - 11.1%がlever > 3.5(pulled) - レバーの最頻値は 0.141372でおよそ32%のデータは最頻値  - 一回の実験ごとに待機時間があるため、実験間の相関関係は薄い - 実験に早くから適用するマウス群と後半に学び出すマウス群が存在する - マウスごとにレバーのベースラインが異なる←Mouse IDが重要 - MO, SSは直接的にレバーの運動の関係してる - VIS, OB, AUDはレバーを引く時の前行動と関係している
  4. 知識をアーキテクチャー・特徴量に変換 Knowledge: 脳領域の機能分担 Input Data グループ間の演算 6グループの平均・標準偏差 グループ間の加算・乗算 物理配置順にソート データの極端な偏り

    log(1+lever)圧縮 0~4.34 → 0~1.68に変換 テールが潰れにくくなる TailにWeight追加 マウス個体差 個体の癖を特徴量に Pull頻度 / Restポジション 操作の標準偏差 Embedding層に
  5. Feature Engineering (NN用) Total :142次元テンソル ROIのフレームデータ(132次元) - Raw ROI Data

    (44次元)(Robust Scalerでスケール) - Rate of Change of ROI Data (ROI.diff())(44次元)(Robust Scalerでスケール) - Acceleration of ROI Data (ROI.diff().diff())(44次元)(Robust Scalerでスケール) セッション全体のデータ (7次元) - 各脳グループの平均値( 6次元) (Robust Scalerでスケール) - ROI全体の標準偏差(1次元) (Robust Scalerでスケール) 実験情報(3次元) - 実験セッション内の時間情報( 0-1に手動でスケール) - フレームの時間情報( 0-1に手動でスケール) - 日付情報(/15で0-1にスケール) 注:Mouse_IdとSession_IDはEnbedding Layerに直接代入
  6. Feature Engineering (Tree用) Total :276次元テンソル ROIのフレームデータ(132次元) - Raw ROI Data

    - Rate of Change of ROI Data (ROI.diff()) - Acceleration of ROI Data (ROI.diff().diff()) 各脳グループの全体のデータ (114次元) - 各グループ内の平均、標準偏差、一回・二回微分 - ラグ・リード情報(-5から+3フレームのROI情報) - Rolling(過去3,5,7のMAと偏差) - 脳グループ同士の足し算、掛け算、引き算 実験情報(4次元) - 実験セッション内の時間情報 - フレームの時間情報 - Mouse_id, Day_N 各マウス個体の癖(3次元) - レバーを引く頻度 - レバーのレストポジション - 操作の標準偏差 セッション全体のデータ (23次元) - Dayのレバー平均、最大値、 Percentile,Pulledの割合等(8次元) - 各脳グループROIの一日平均、レンジ、標 準偏差等(15次元)
  7. GRUモデル設計 - 2 layer Bidirectional GRU - 出力に対してMulti-Head Attentionを適用 -

    マルチタスク学習 - Regression of Lever Position - Binary Pull Detection (Pulled (Lever Position >0.5) or Rest (Lever Position <=0.5)) - Classification Task (64個のLeverの値を推測) - 最終出力はRegressionとClassificationのMix - 学習を回して気づいた問題: PullのLever>3.0の予想が控えめすぎる - ↑に対処するために損失関数を MSEからカスタム - Tail Weighted MSE (Leverの値が高い際はMSEのWeightを重く) - TD Loss (前フレームからの変化量に Lossをつけることで連続的なレバーの性質を学習) - また、レバーをlog(1+lever)で圧縮したGRUを導入 - Tailが潰れにくくするため
  8. CNN系時系列モデル (WaveNet & TCN) - Why?: RNN系ではないモデルをアンサンブルに入れることによってアンサンブルの多様性増加 - 共通アプローチ: Dilated

    Convolutionを含んで過去の層を参照 WaveNet: - 並列で処理できるモデル - GRUで使用したカスタム損失関数やマルチタスク学習を導入 TCN: - Depthwise Separable Convolutionを使用することで計算量を 0.33倍に - 各脳グループの時間の変化だけを抽出して、また脳全体の互い連携を抽出 
  9. 2D-CNN - 脳データを画像に見立てて画像学習の手段( Conv2d)で処理 - Preprocess - 脳の物理的な前から後の並びにソート (縦軸) -

    時間を横軸に - Raw Data, Speed, Accelerationをチャネルにして6チャネルの画像を作成 - このPreprocessされたデータを用いて Conv2dで学習 Source: Kaggle
  10. Stacking Level 0 - 全てのモデルの予測値 - 分類タスクによる ’Pull’の可能性 - メタ情報(

    Mouse ID,Session ID etc.) - を用意し、スタッカーに渡す Level 1 - Ridge Regressionで各予想に線形にウェイトを与える - LightGBMで非線形のウェイトを与える Level 2 - Ridge RegressionとLightGBMからの出力を最適なウェイトをグリッドサーチして submission.csvを作成
  11. 学びとアドバイス - JOAIのウェブサイトにある Kaggleコンペが参考になった ! - 公式ウェブサイトの勉強法 - 一個のコード変更に対して変更を一つにしよう -

    対称性を維持するため - 弱いモデルたくさんでもアンサンブルしたらよくなる ! - 実験量が大事 - トータルで 78個実験回した ←うまく行かなそうなやつも意外な結果を起こすことも