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

問題設定とデータの説明 / Problem setting and Data description_Sansan x atmaCup #12

A2cac4b3dcb2bc0b87917ddc034ef708?s=47 Sansan DSOC
December 17, 2021

問題設定とデータの説明 / Problem setting and Data description_Sansan x atmaCup #12

■イベント 
:Sansan x atmaCup #12 振り返り会
https://atma.connpass.com/event/229180/

■登壇概要
タイトル:Sansan x atmaCup #12 Solution概要
発表者: 

技術本部 DSOC R&D研究員 内田 奏
https://www.atma.co.jp/

Sansan DSOC
▼Website
https://sansan-dsoc.com/
▼Twitter
https://twitter.com/SansanDSOC

A2cac4b3dcb2bc0b87917ddc034ef708?s=128

Sansan DSOC

December 17, 2021
Tweet

Transcript

  1. 問題設定/データの説明 Sansan株式会社 技術本部 DSOC Automationグループ 研究員 内⽥ 奏 ヤンチャなベースラインも添えて

  2. 問題設定について

  3. Data Strategy and Operation Center 項⽬ラベルを予測せよ! 概要 • ⽂字列検出矩形の位置情報から項⽬ラベル(⽒名・E-mail等)を推定 出題の背景・意図

    • 名刺⼊⼒では,⽂字列検出→項⽬ラベル推定→項⽬⼊⼒の順に処理 > 項⽬ラベルを間違えると後段処理に悪影響があり,⾼い精度が求められる • 画像特徴を⽤いない軽量なモデルを構築したい > パフォーマンス・移植性の観点から 名刺取り込み ⽂字列検出 セキュリティー項⽬細分割、項⽬⼊⼒ 項⽬ラベル推定
  4. Data Strategy and Operation Center データ説明 3 train.csv / test.csv

    • 名刺ID, 矩形の位置情報, クラスID(予測対象)で構成 • test.csv はクラスIDを含まない cards.csv • 名刺IDごとの画像サイズ categories.csv • クラスIDとクラス名のマッピング bcid left top right bottom class_id 000612e… 68 487 721 517 4 000612e… 191 552 375 577 5 000612e… 192 586 376 610 6 000612e… 222 105 893 179 2 … … … … … … train.csv bcid width height 000612e… 1080 645 … … … cards.csv class_id class_name 0 full_name … … categories.csv ※Sansan, Eightの名刺データ化の過程で⽣成されたデータ. 個⼈情報を含まない統計情報として利⽤規約の範囲内で提供.
  5. Data Strategy and Operation Center (余談) 出題の経緯 4 社内で開催していた集合勉強会での案を流⽤ •

    集合: 順序に意味を持たないデータ構造 e.g., 1, 2 = {2, 1} • モデルの⼊出⼒によって下記の性質を持つ > Permutation Invariant: ⼊⼒順序を⼊れ替えても出⼒が変化しないこと > Permutation Equivariant: ⼊⼒順序を⼊れ替えると順序のみ⼊れ替わった出⼒が得られること 𝑓 😃, 😃, 😡 = 0, 0,1 𝑓 😡, 😃, 😃 = 1,0, 0 𝑓 1, 2, 3 = 6 𝑓 3, 2, 1 = 6 Invariant なモデルの例 (加算) Equivariant なモデルの例 (異常検知)
  6. Data Strategy and Operation Center (余談) 取り組み概要 5 集合モデルをパッケージ化 論⽂の再現実装

    (上: MNIST※画像の加算, 下: 異常検知) ※THE MNIST DATABASE of handwritten digits - http://yann.lecun.com/exdb/mnist/
  7. ヤンチャなベースラインについて 😈

  8. Data Strategy and Operation Center ヤンチャなベースライン v1 モデル: • Transformer

    Encoder (6 layers) • 参考は Set Transformer [J. Lee+ NeurIPS2019] > Encoder-decoder で構成された Permutation Invariant なモデル > Encoder だけ⾒ると Positional Encoding を加えない Transformer Encoder 前処理 • [0, 1] 正規化のみ Public score • 0.7486 [J. Lee+ NeurIPS2019] J. Lee, et. al, “Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks,” in NeurIPS, 2019, vol. 97, pp. 3744–3753.
  9. Data Strategy and Operation Center モデルのコード 8 これだけ!!! 標準モジュール便利!!!

  10. Data Strategy and Operation Center ヤンチャなベースライン v2 9 Unseenクラスへの対応 1.

    testの⽅が1枚あたりのピース数が多いことを確認 2. Unseen クラスはどこかのクラスに多く混同されてると仮定し, 出現回数の増加が著しいクラスを⾒てみる (今回は class_id=3) 3. なんとなく傾向が⾒えたので,trainより端にある矩形を class_id=9 とみなす train test 閾値調整で⼤体10sub消費?
  11. Data Strategy and Operation Center ヤンチャなベースライン v2 10 モデル •

    Transformer Encoder (12 layers) > (6 layers のまま出そうとしたが, colum2131 さんに負けてたのが悔しかった) > (出すタイミングを伺っていたら1位を取り損ねた) Public score • 0.8147
  12. Data Strategy and Operation Center まとめ 11 問題設定/データの説明 • 項⽬ラベルを予測せよ!!!

    • 矩形情報のみから構成されたシンプルなデータを提供 • 出題背景のご紹介 ベースライン • シンプルな Transformer によるベースライン • 簡単な後処理の紹介 v3はここにおりました