Kaggle スコアアップセミナー ~画像系コンペDFL – Bundesliga Data Shootout 編~(2023/05/9)

4.5K Views

May 09, 23

スライド概要

Kaggleコンペティション「DFL – Bundesliga Data Shootout」に当社エンジニア3名のチームで参加し、530チーム中で6位の成績を収めました。
この結果当社チームに金メダルが与えられ、現在3名がKaggle Competitions Masterの称号を獲得しています。
本ウェビナーでは、コンペの概要と解法について述べるとともに、ブログには書ききれなかった、理由や具体的な手段についても解説します。
画像処理と機械学習・深層学習を扱っているエンジニアや、大学研究室所属の学生の方にオススメの内容となっております。

・当社技術ブログ 記事: https://proc-cpuinfo.fixstars.com/2023/02/kaggle-dfl2022/

・フィックスターズのAI・深層学習向け技術支援: https://www.fixstars.com/ja/services/ai

profile-image

フィックスターズは、コンピュータの性能を最大限に引き出すソフトウェア開発のスペシャリストです。車載、産業機器、金融、医療など、幅広い分野での開発経験があります。また、ディープラーニングや機械学習などの最先端技術にも力を入れています。 並列化や最適化技術を駆使して、マルチコアCPU、GPU、FPGA、量子アニーリングマシンなど、さまざまなハードウェアでソフトウェアを高速化するサービスを提供しています。さらに、長年の経験から培ったハードウェアの知識と最適化ノウハウを活かし、高精度で高性能なアルゴリズムの開発も行っています。       ・開催セミナー一覧:https://www.fixstars.com/ja/seminar   ・技術ブログ :https://proc-cpuinfo.fixstars.com/

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Kaggleスコアアップセミナー 画像系コンペ DFL – Bundesliga Data Shootout 編 Copyright© Fixstars Group

2.

本セミナーの位置づけ ● Kaggle コンペで金メダルの獲得、Kaggle Competition Master の称号獲得 ● もともと機械学習の専門家の少なかったエンジニアチームによる、 継続的な Kaggle への取り組み ● Kaggle スコアアップセミナー ⚫ 参加したコンペの概要と解法の紹介や、Kaggleに参加してみたい方向けに 複数回の情報発信を企画中 ● 今回のセミナー ● 画像系コンペティション「DFL – Budesliga Data Shootout」の概要と解法と、 ブログでは書ききれなかった理由と具体的な手段についての解説 ● 対象者 ● ● 画像処理と機械学習・深層学習を扱っている方 今後 Kaggle に挑戦し、スコアを上げていきたいと考えている方 Copyright© Fixstars Group 2

3.

発表・資料作成者紹介 冨田 明彦 (発表) 飯塚 康太 (発表) 水野 孝祐 (資料作成) ソリューションカンパニー 営業企画 ソリューション第二事業部 シニアエンジニア ソリューション第二事業部 リードエンジニア 2008年に入社。金融、医療業界に おいて、ソフトウェア高速化業務に 携わる。その後、新規事業企画、 半導体業界の事業を担当し、現職。 2019年入社。車載向けの深層学習 アプリケーション、特に物体検出・ トラッキングの開発を担当している。 Kaggle Competitions Master 2016年に入社。ディープラーニング を用いた自動車向けの画像認識 アルゴリズム開発に携わる。 Kaggle Competitions Master Copyright© Fixstars Group 3

4.

本日のAgenda ● フィックスターズのご紹介 ● DFLコンペ6位解法紹介 ● コンペの概要 ● 解法の概要 ● 改善手法の詳細 ● Q&A / 告知 Copyright© Fixstars Group 4

5.

フィックスターズの ご紹介 Copyright© Fixstars Group 5

6.

フィックスターズの強み コンピュータの性能を最大限に引き出す、ソフトウェア高速化のエキスパート集団 ハードウェアの知見 アルゴリズム実装力 各産業・研究分野の知見 目的の製品に最適なハードウェアを見抜き、 その性能をフル活用するソフトウェアを開 発します。 ハードウェアの特徴と製品要求仕様に合わ せて、アルゴリズムを改良して高速化を実 現します。 開発したい製品に使える技術を見抜き、実 際に動作する実装までトータルにサポート します。 Copyright© Fixstars Group 6

7.

サービス概要 お客様専任のエンジニアが直接ヒアリングを行い、高速化を実現するために乗り越えるべき 課題や問題を明確にしていきます。 高速化のワークフロー お客様 オリジナルソースコードのご提供 高速化したコード コンサルティング 高速化 サポート 先行技術調査 アルゴリズムの改良・開発 レポートやコードへのQ&A 性能評価・ボトルネックの特定 ハードウェアへの最適化 実製品への組込み支援 レポート作成 Copyright© Fixstars Group 7

8.

サービス提供分野 半導体 産業機器 金融 自動車 ● NAND型フラッシュメモリ向け ファームウェア開発 ● 次世代AIチップの開発環境基盤 生命科学 ● Smart Factory実現への支援 ● マシンビジョンシステムの高速化 ● 自動運転の高性能化、実用化 ● ゲノム解析の高速化 ● 次世代パーソナルモビリティの 研究開発 ● 医用画像処理の高速化 Copyright© Fixstars Group ● デリバティブシステムの高速化 ● HFT(アルゴリズムトレード)の高速化 ● AI画像診断システムの研究開発 8

9.

サービス領域 様々な領域でソフトウェア高速化サービスを提供しています。大量データの高速処理は、 お客様の製品競争力の源泉となっています。 組込み高速化 GPU向け高速化 AI・深層学習 画像処理・ アルゴリズム開発 FPGAを活用した システム開発 分散並列システム開発 量子コンピューティング 自動車向け フラッシュメモリ向け ソフトウェア開発 ファームウェア開発 Copyright© Fixstars Group 9

10.

AI・深層学習向け技術支援 AIを使うためのハードウェア選定や、高速な計算を実現する ソフトウェア開発技術で、お客様の製品開発を支援します。 お客様の課題 ご支援内容 推論精度を維持したまま計算時間を AIモデル設計 短縮したい データの前処理・後処理 組込みデバイス向けにAIモデルを 軽量化したい 推論精度の改善 学習計算を高速化して研究開発を 効率化したい 分散処理による学習高速化 精度と計算時間を両立するAIモデルを モデル圧縮・推論の高速化 開発したい Copyright© Fixstars Group 10

11.

AIを用いた乳房超音波検査リアルタイム解析システム 慶應義塾大学医学部外科学(一般・消化器)教室様 分野 生命科学 サービス領域 AI・深層学習向け技術支援 1 超音波検査装置が描出する動画を 2 検査しながらAIによる診断補助が実現 3 見落としを減らし、早期の乳がんの発見と リアルタイム処理できる高速なAIを開発 高確率で良性腫瘍 高確率でがん できる 治療が可能になる 子会社のSmart Opinion社で、乳がんの超音波 画像に対し、精密検査の要否を高速かつ高精度に 判別するAIを開発(現在認可申請中) Copyright© Fixstars Group 11

12.

DFLコンペ 6位解法紹介 Copyright© Fixstars Group 12

13.

DFLコンペ6位解法紹介 ● 本発表では弊社チームで参加したKaggleコンペ DFL - Bundesliga Data Shootout の6位解 法を紹介します ● 弊社techブログやKaggle discussionにも解法を投稿していますが、単なる手法の説明だけ でなく各手法を採用するに至った背景や理由についても合わせて解説します ○ tech blog: https://proc-cpuinfo.fixstars.com/2023/02/kaggle-dfl2022/ ○ Kaggle discussion: https://www.kaggle.com/competitions/dfl-bundesliga-data-shootout/discussion/360872 Copyright© Fixstars Group 13

14.

アウトライン ● コンペ概要 ● 解法概要 ● 改善手法の詳細 Copyright© Fixstars Group 14

15.

コンペ概要 Copyright© Fixstars Group 15

16.

コンペ概要 ● DFL - Bundesliga Data Shootout ○ URL: https://www.kaggle.com/competitions/dfl-bundesliga-data-shootout ● タスク ○ サッカーの試合を撮影した動画が与えられ、その中から特定のアクションが発生したタイミ ングおよび種別(プレイ、スローイン、チャレンジの3種類のいずれか)を識別 ● タイムライン (日本時間) ○ 2022/06/30: コンペ開始 ○ 2022/10/14: 提出締め切り (最終スコア算出用に2022シーズンのデータ収集&教示開始) ○ 2022/12/21: コンペ終了 (新しいデータでの最終スコア算出およびLB更新完了) Copyright© Fixstars Group 16

17.

識別対象 ● アクションが発生したタイミング ○ 動画の先頭を基準とした秒数 ● アクションの種別 ○ プレイ ■ パスまたはクロス(フリーキックやコーナーキックも含む)等、チーム内でボールをやり 取りするアクション ○ スローイン ■ ○ ボールがゲームエリア外に出た後に手でボールを投げてプレイを再開するアクション チャレンジ ■ 両チームのプレイヤーがボールを自分の制御下に置こうとする(ボールに対する競り合 い、ファウル等)アクション Copyright© Fixstars Group 17

18.

データセット ● 与えられたデータセット ○ ○ ○ ○ ● train ■ ■ フルゲーム4試合分の8動画 (1動画約60分, 25fps, 1920x1080) ハーフゲーム4試合分の4動画 (1動画約60分, 25fps, 1920x1080) test ■ 提出動作確認用の32動画 (1動画30秒, 25fps, 1920x1080) train.csvの内容例 clips ■ 10試合から短い区間を抽出された200動画 (1動画30秒, 25fps, 1920x1080) train.csv ■ train動画に対応するアノテーションデータ Leaderboard用データセット ○ ○ Public ■ ■ フルゲーム1試合分の2動画 ハーフゲーム4試合分の4動画 (trainのハーフゲームとペアになる動画) Private ■ Publicと同等規模の動画 (詳細不明) Copyright© Fixstars Group 18

19.

評価方法 ● Kaggleのサーバ上でPrivateデータセットに対して推論を実行 ○ 推論は9時間以内に完了させる必要がある ○ テストデータは6 [動画] x 60 [分/動画] x 60 [秒/分] 25 [fps] = 540,000フレームなので、 540,000 / (9 x 60 x 60) = 16.67 fps以上で推論を実行できる必要がある ● 精度評価指標 ○ Average Precisionベースの指標 ■ ①: アクション毎に閾値毎のAPを計算 ■ ②: ①の各閾値での結果を平均 ■ ③: ②の各アクションでの結果を平均 Copyright© Fixstars Group 19

20.

解法概要 Copyright© Fixstars Group 20

21.

ベースライン手法 参考Notebook https://www.kaggle.com/code/its7171/dfl-benchmark-training https://www.kaggle.com/code/its7171/dfl-benchmark-inference ● 多クラスの画像識別問題として解く方法 (titoさんの手法) ○ 入力動画の各フレームをそれぞれ4クラス(背景+ターゲット3クラス)のいずれかに識別 するタスクとして学習・推論を実行 ○ 推論時の後処理で時間方向にNMSを適用し、一定期間内の予測を1つに抑制 ○ モデルはEfficientNet B5を使用 ○ 学習・推論フレームワークとしてPyTorchおよびtimmを使用 入力フレーム t-2 t-1 t t+1 t+2 各フレームの識別 識別結果 bg play play play bg 時間方向にNMS適用 NMS結果 bg bg play Copyright© Fixstars Group bg bg 21

22.

弊社チームの6位解法 Kaggle Discussionへの投稿 https://www.kaggle.com/competitions/dfl-bundesliga-datashootout/discussion/360872 ● 時系列方向の情報を加味して多クラスの画像識別問題として解く方法 ○ 基本的な学習・推論パイプラインはベースライン手法と同様 ○ 時系列情報を活用するために時間方向に隣接するフレームを結合して処理させる2.5次 元CNNアプローチを採用 ○ 画像コンペでよく利用される一般的な精度改善トリックを適用 (詳細後述) 入力フレーム t-2 t-1 t t+1 t+2 各フレームをグレイスケール変換& 前後フレームを結合 2.5次元フレーム t-2 t-1 t t+1 t+2 各2.5次元フレームの識別 識別結果 bg play play play bg 時間方向にNMS適用 NMS結果 bg bg play Copyright© Fixstars Group bg bg 22

23.

Validation戦略 ● ① フルゲーム1試合分をvalデータとして抽出し、残りをtrainデータとする ○ trainに含む試合のバリエーションを増やしたい (ハーフゲームは可能な限りtrainに含 めたい) ○ trainとvalそれぞれに同じ試合を含めない ○ データがあまり多くない場合、train:valの比率は4:1 or 5:1ぐらいが経験的に良い ■ 今回の分割方法ではtrain:val=5:1になる ● ② Cross validationを実施する場合は①の要領で各foldを生成する ○ 今回のデータにはフルゲーム4試合分が存在したので4 foldまで生成可能 ● ③ Local ValスコアとPublic LBスコアの相関が無ければ分割方法を見直す Copyright© Fixstars Group 23

24.

実験毎のスコア推移 ● Local ValスコアとPublic LBスコアがほぼほぼ相関していたので分割方法を 見直す必要はありませんでした スコアの推移 0.9 0.8 0.7 Val AP 0.6 Public LB 0.5 Private LB 0.4 Gold line 0.3 Silver line 0.2 Hold-out validation 0.1 Cross validation Bronze line 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 実験ID Copyright© Fixstars Group 24

25.

改善手法の詳細 Copyright© Fixstars Group 25

26.

改善手法の詳細 ● ここからは今回のコンペで適用した各改善手法の詳細について説明していき ます ● 基本的にはコンペ開催中に試した時系列順に説明しますが、必ずしもこの順 番で試すのがベストというわけではございませんので、もしご参考いただけ る場合は各自のコンペに応じて調整してください ● また紹介する手法は最終的に採用されたものに絞って説明します。これ以外 にも様々な実験を実施していますが詳細は割愛させていただきます Copyright© Fixstars Group 26

27.

改善手法の全体像 ● 今回の最終解法に採用された手法および各実験結果は以下の通りです 実験ID description model Val AP Public LB Private LB 1 titoさんのベースラインモデル b5_ap 0.215 0.249 0.243753 2 + Test time augmentation b5_ap 0.228 0.255 0.247892 3 + ラベルエラーの修正 b5_ap 0.242 0.283 0.296506 4 + 前後1フレーム飛ばしの2.5次元画像を使用 b5_ap 0.312 0.425 0.452767 5 + 入力画像の解像度を960×540に変更、2フレームごとに推論 b5_ap 0.554 0.563 0.619431 6 + loss関数を4クラスBinary cross entropy lossに変更 b5_ap 0.609 0.618 0.664371 7 + カスタムデータローダー b5_ap 0.625 0.634 0.674229 8 + データ拡張の追加 b5_ap 0.7 0.703 0.725812 9 + b5モデルをb0モデルに軽量化、4-foldのモデルアンサンブル b0_ap (4-fold) 0.669 0.72 0.744911 10 + 2フレームごとに推論した際に飛ばしたフレームの予測を線形補間で生成 b0_ap (4-fold) 0.686 0.74 0.755787 11 + 入力画像の解像度を1280×720に変更、3-foldのモデルアンサンブル b0_ap (3-fold) 0.722 0.772 0.798407 12 + Mixupデータ拡張追加 b0_ap (3-fold) 0.747 0.761 0.799769 13 + 3つのb0モデルの内、1つをb1モデルに置き換え b0_ap (2-fold), b1_ap (1-fold) 0.751 0.768 0.802568 0.753 0.782 0.803753 14 + 3つのフル学習b0モデル b0_ap (full-fit, time_stride=1, 2, 3) (各モデルは前後1フレーム、2フレーム、3フレーム飛ばしの2.5次元画像を使用) Copyright© Fixstars Group 27

28.

ID1: titoさんのベースラインモデル ● 既に説明した通り、今回はtitoさんの手法をベースラインとして採用しました ○ 特に理由が無ければ評価の高い公開Notebookから始めるのが確実です ○ もし自分でベースラインを作成する場合にはそのタスクで実績のあるシンプルなモデ ルから始めるのがオススメです ● スコア ○ val: 0.215 (baseline) ○ Public LB: 0.249 (baseline) ● 参考Notebook ○ https://www.kaggle.com/code/its7171/dfl-benchmark-training ○ https://www.kaggle.com/code/its7171/dfl-benchmark-inference Copyright© Fixstars Group 28

29.

ID2: Test time augmentation ● 左右flipを適用 ○ 画像系コンペではmulti-scaleやクロップの拡張もよく適用されますが、処理時間の関 係でバリエーションを増やせないため今回は適用していません ○ 推論時間が増えてしまうため本来はコンペの最終盤で適用すればよいと思います。た だしTTAは必ず入れたい処理のため、TTAを入れた場合に処理時間制約を満たせること を都度確認しておくことが重要です ● スコア ○ val: 0.215 (baseline) → 0.228 ○ Public LB: 0.249 (baseline) → 0.255 Copyright© Fixstars Group 29

30.

ID3: ラベルエラーの修正 ● 与えられた正解データから学習用のラベルを生成する際に意図しない変換が 行われていたため修正しました ○ たとえKaggle Grandmasterが作成したNotebookであっても間違いは起こり得るので、 内容を鵜呑みにせず実際に自分の頭で処理内容を理解することが重要です ● スコア ○ val: 0.228 → 0.242 ○ Public LB: 0.255 → 0.283 ● 修正の詳細は以下参照 ○ https://www.kaggle.com/code/kmizunoster/dfl-benchmark-training-fix-label-error Copyright© Fixstars Group 30

31.

ID4: 時系列情報の活用 ● 時系列情報を活用するために時間方向に隣接するフレームを結合して処理させる2.5次元 CNNアプローチを採用 ○ ベースラインモデルで学習する中でtrainデータに対しても十分に学習出来ていない傾向(つまり未学 習の状態)が見えたため、入力するデータに工夫をする必要性を感じました ○ 時系列方向の情報を加える方法はいくつか考えられますが、学習・パイプラインをそのまま活用可 能かつシンプルな本手法をまずは採用しました ● スコア ○ ○ val: 0.242 → 0.312 Public LB: 0.283 → 0.425 Copyright© Fixstars Group 31

32.

ID5: 入力画像の高解像度化 (1回目) ● ベースラインが456 x 456のところ、960 x 540に上げました ○ これまでの経験上、許容される範囲内で可能な限り解像度を上げると良い結果が得ら れることが多いです ● 解像度を上げたことで推論時間が間に合わなくなったため、1フレーム飛ば して推論する変更も同時に適用しています ● スコア ○ val: 0.312 → 0.554 ○ Public LB: 0.425 → 0.563 Copyright© Fixstars Group 32

33.

ID6: loss関数の修正 ● ベースラインではSoftmax cross entropyを使用していましたが、4クラス のbinary cross entropyに変更しました ○ loss関数は解きたい問題や評価指標に応じて適切なものを選択することで精度が大きく 変わります ○ 今回の評価指標では、最初に各クラス独立にスコアを算出した上で最後に平均を取っ ているため、クラス間でスコアを調整するSoftmaxは合っていないと考えました ○ 今回は4クラスのままにしましたが、背景クラスは前景クラスが全て0である場合と等 価なので、3クラスにすることも可能です ● スコア ○ val: 0.554 → 0.609 ○ Public LB: 0.609 → 0.618 Copyright© Fixstars Group 33

34.

ID7: カスタムデータローダの実装 ● 推論時間が足りなくなってきたため、 CPUでの前処理とGPUでの推論処理を パイプラインで処理させることで高速化を実施しました ○ Kaggle上のGPU NotebookではCPUを2コアまで使用可能 ● 本作業の目的は高速化でしたが精度にもプラスの影響がありました。従来の 推論処理では動画から静止画に切り出す際に画質が劣化していましたが、フ ァイルに吐き出さずに処理できるようにしたため精度劣化を抑制できました ● スコア ○ val: 0.609 → 0.625 ○ Public LB: 0.618 → 0.634 改善前 コア0 前処理 推論 前処理 推論 前処理 前処理 前処理 前処理 推論 推論 推論 改善後 コア0 コア1 Copyright© Fixstars Group 34

35.

ID8: データ拡張の改善 ● ベースラインはImageNet用のデータ拡張を流用していたため、今回のデータセットに応じ た調整を行いました ○ 修正前: RandomResizedCropAndInterpolation, RandomHorizontalFlip, ColorJitter(brightness, contrast) ■ ○ スケールのrangeが広すぎるため、拡張後の画像にボールの領域が入らないことがありました 修正後: RandomAffine or RandomPerspective, RandomHorizontalFlip, ColorJitter(brightness, contrast) ■ ■ スケール以外の画像変形の要素を加えるため、RandomAffineとRandomPerspectiveに変更 拡張後の画像を見ながらちょうど良いスケールを設定 ● スコア ○ ○ val: 0.625 → 0.7 Public LB: 0.634 → 0.703 Copyright© Fixstars Group 35

36.

ID9: モデルの軽量化 + モデルアンサンブル ● ベースラインのEfficientNet-b5からb0に変更しました ○ これまでの学習で過学習の傾向も見えていたため、モデルの表現力を落として過学習 を抑制したいという目的もありました ● 変更した結果、処理時間に余裕が生まれたためfold-wiseのアンサンブル処理 を追加しています ● スコア ○ val (4-fold): 0.669 ○ Public LB: 0.703 → 0.72 EfficientNet-b0 (fold 0) 入力画像 EfficientNet-b0 (fold 1) 平均 予測 EfficientNet-b0 (fold 2) EfficientNet-b0 (fold 3) Copyright© Fixstars Group 36

37.

ID10: 線形補間処理の追加 ● 1フレーム飛ばしで生成した予測について、飛ばしたフレームの予測を隣接 フレームの結果から線形補間する処理を追加しました ● スコア ○ val (4-fold): 0.669 → 0.686 ○ Public LB: 0.72 → 0.74 Copyright© Fixstars Group 37

38.

ID11: 入力画像の高解像度化 (2回目) ● さらに精度を上げるため解像度を960 x 540から1280 x 720に変更 ● 4-foldのアンサンブルでは推論時間が間に合わなかったため、3-foldのアン サンブルに変更 ● スコア ○ val (3-fold): 0.722 ○ Public LB: 0.74 → 0.772 Copyright© Fixstars Group 38

39.

ID12: Mixupの追加 ● Mixupを追加しました ○ timmであればオプションで簡単にON/OFF可能 ● これまでの改善と異なり、valは向上した一方でPublic LBは劣化しましたが、 localのスコアを信頼してMixupを最終解法でも採用しています ● スコア ○ val (3-fold): 0.722 → 0.747 ○ Public LB: 0.772 → 0.761 Copyright© Fixstars Group 39

40.

ID13: 一部モデルの変更 ● 処理時間にやや余裕があったため3-foldのモデルの内、1つをEfficientNet- b1に変更 ● スコア ○ val (3-fold): 0.747 → 0.751 ○ Public LB: 0.761 → 0.768 Copyright© Fixstars Group 40

41.

ID14: 全学習データを用いて再学習 ● これまでのbestの設定で全データ学習を行いました ● 全データを使用して学習することでfold-wiseのアンサンブルが出来なくなったた め、時系列方向のtime_strideを変更した3モデルを用意しアンサンブルを実行し ています ○ time_strideを大きくすることで長期的な 特徴を獲得し、challenge等の難しい アクションの精度向上が狙い ● スコア ○ t-2 t-1 t t+1 t+2 time_stride=1 t-2 t-1 t t+1 t+2 入力フレーム t-2 t-1 t t+1 t+2 time_stride=2 t-2 t-1 t t+1 t+2 入力フレーム t-2 t-1 t t+1 t+2 time_stride=3 t-2 t-1 t t+1 t+2 val (3-fold): 0.751 → 0.753 ○ 各time_strideで3-foldで学習した モデルを使用して算出 ○ 入力フレーム Public LB: 0.768 → 0.782 Copyright© Fixstars Group 41

42.

改善毎のスコア推移まとめ ● val APの高い2モデルを最終提出 実験ID description model Val AP Public LB Private LB 1 titoさんのベースラインモデル b5_ap 0.215 0.249 0.243753 2 + Test time augmentation b5_ap 0.228 0.255 0.247892 3 + ラベルエラーの修正 b5_ap 0.242 0.283 0.296506 4 + 前後1フレーム飛ばしの2.5次元画像を使用 b5_ap 0.312 0.425 0.452767 5 + 入力画像の解像度を960×540に変更、2フレームごとに推論 b5_ap 0.554 0.563 0.619431 6 + loss関数を4クラスBinary cross entropy lossに変更 b5_ap 0.609 0.618 0.664371 7 + カスタムデータローダー b5_ap 0.625 0.634 0.674229 8 + データ拡張の追加 b5_ap 0.7 0.703 0.725812 9 + b5モデルをb0モデルに軽量化、4-foldのモデルアンサンブル b0_ap (4-fold) 0.669 0.72 0.744911 10 + 2フレームごとに推論した際に飛ばしたフレームの予測を線形補間で生成 b0_ap (4-fold) 0.686 0.74 0.755787 11 + 入力画像の解像度を1280×720に変更、3-foldのモデルアンサンブル b0_ap (3-fold) 0.722 0.772 0.798407 12 + Mixupデータ拡張追加 b0_ap (3-fold) 0.747 0.761 0.799769 13 + 3つのb0モデルの内、1つをb1モデルに置き換え b0_ap (2-fold), b1_ap (1-fold) 0.751 0.768 0.802568 0.753 0.782 0.803753 14 + 3つのフル学習b0モデル b0_ap (full-fit, time_stride=1, 2, 3) (各モデルは前後1フレーム、2フレーム、3フレーム飛ばしの2.5次元画像を使用) Copyright© Fixstars Group 42

43.

コンペを通じて得た 知見共有 Copyright© Fixstars Group 43

44.

コンペを通じて得た知見 ● Kaggleで過去にあまり開催されていない種類のタスクは金メダルを狙うチャンス ○ 定番のタスク(Image classification, Semantic segmentation, Object detection等)におい ては過去の知見が大量に存在し、ある程度手法が確立されているため、いかに効率よく大量 に実験を回し続けるかが勝負のカギになると思われます ○ 一方で今回のコンペでは過去の知見があまり無く、単純な試行錯誤ではスコアを伸ばすのは 難しい状況だったと思われます。逆に言うと弊社チームのようなワンアイデアでも金メダル に直結するスコアを出せることが分かりました ● (既に言い古されていることではありますが) Localの検証がやはり大事 ○ 今回の改善作業を進める中で早期にLocal環境とPublic LBでスコアの相関を取れたので、と てもスムーズに改善作業を進めることができました Copyright© Fixstars Group 44

45.

まとめ ● Kaggle DFLコンペで6位を獲得した解法を紹介しました ● 最終解法に至るまでの各実験で取り入れた改善手法について具体的な手法と 採用理由についても解説しました ● 今後画像系コンペに参戦される方のスコアアップの参考になれば幸いです Copyright© Fixstars Group 45

46.

Thank you! お問い合わせ窓口 : hr-seminar@fixstars.com Copyright© Fixstars Group 46