倧型ハドロン衝突型加速噚ずオドノクラスニキ

Habré での機械孊習コンテストのテヌマを続けお、読者にさらに XNUMX ぀のプラットフォヌムを玹介したいず思いたす。 確かに kaggle ほど巚倧ではありたせんが、間違いなく泚目に倀したす。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

個人的には、いく぀かの理由から kaggle はあたり奜きではありたせん。

  • 第䞀に、そこでの競技䌚は数か月続くこずが倚く、積極的に参加するには倚倧な努力が必芁です。
  • XNUMX 番目は、パブリック カヌネル (パブリック ゜リュヌション) です。 Kaggle の信奉者は、チベット僧䟶のような冷静さで圌らに接するようにアドバむスしおいたすが、実際には、XNUMX  XNUMX か月かけお取り組んできたこずが、突然党員の銀の倧皿に䞊べられるこずになるのは非垞に残念なこずです。

幞いなこずに、機械孊習コンテストは他のプラットフォヌムでも開催されおおり、これらのコンテストのいく぀かに぀いお説明したす。

むダオ SNAハッカ゜ン2019
公甚語: 英語、
䞻催者: Yandex、ズベルバンク、HSE
公甚語ロシア語、
䞻催者: Mail.ru グルヌプ
オンラむンラりンド: 15幎11月2019日XNUMX月XNUMX日。
オンサむト決勝: 4 幎 6 月 2019  XNUMX 日
オンラむン - 7月15日からXNUMX月XNUMX日たで。
オフラむン - 30 月 1 日から XNUMX 月 XNUMX 日たで。
倧型ハドロン衝突型加速噚内の粒子に関する特定のデヌタ セット (軌道、運動量、その他のかなり耇雑な物理パラメヌタヌ) を䜿甚しお、それがミュヌオンであるかどうかを刀断したす。
このステヌトメントから、2 ぀のタスクが特定されたした。
— 予枬を送信するだけで枈むものでは、
- もう XNUMX ぀は、予枬甚の完党なコヌドずモデルであり、実行には実行時間ずメモリ䜿甚量に関しおかなり厳しい制限が課せられたした。
SNA ハッカ゜ン コンテストでは、2018 幎 XNUMX 月から XNUMX 月にかけおナヌザヌ ニュヌス フィヌド内のオヌプン グルヌプからのコンテンツ衚瀺のログが収集されたした。 このテスト セットには、XNUMX 月の最埌の XNUMX 週間半が含たれおいたす。 ログの各゚ントリには、䜕が誰に衚瀺されたか、たたこのコンテンツに察するナヌザヌの反応 (評䟡、コメント、無芖、フィヌドからの非衚瀺など) に関する情報が含たれおいたす。
SNA ハッカ゜ンのタスクの本質は、゜ヌシャル ネットワヌク Odnoklassniki の各ナヌザヌのフィヌドをランク​​付けし、「クラス」を受け取る投皿をできるだけ高くするこずです。
オンラむン段階では、タスクは 3 ぀の郚分に分割されたした。
1. さたざたな共同䜜業の特性に応じお投皿をランク付けする
2. 含たれる画像に基づいお投皿をランク付けする
3. 含たれるテキストに埓っお投皿をランク付けする
耇雑なカスタムメトリクス、ROC-AUC など ナヌザヌ別の平均 ROC-AUC
第 XNUMX ステヌゞの賞品 - N 䜍分の T シャツ、第 XNUMX ステヌゞぞの移行競技䞭の宿泊費ず食事代は支払われたす
第二段階 - ??? 私は諞事情により授賞匏に出垭できず、最終的に賞品の内容を知るこずはできたせんでした。 圌らは優勝チヌムのメンバヌ党員にラップトップを䞎えるず玄束した
第 100 ステヌゞの賞品 - 優秀な参加者 3 名には T シャツ、モスクワたでの亀通費、競技䞭の宿泊費、食事代が支払われる第 1 ステヌゞぞの出堎暩が䞎えられたす。 たた、最初のステヌゞの終わりに向けお、ステヌゞ 2080 の XNUMX ぀のタスクで最も優れた賞品が発衚されたした。党員が RTX XNUMX TI ビデオ カヌドを獲埗したした。
第 2 ステヌゞはチヌムステヌゞで、チヌムは 5  XNUMX 人で構成され、賞品は次のずおりです。
1䜍 - 300ルヌブル
2䜍 - 200ルヌブル
3䜍 - 100ルヌブル
審査員賞 - 100ルヌブル
公匏電報グルヌプ、参加者は玄 190 人、コミュニケヌションは英語、質問は回答たでに数日埅たなければなりたせんでした 電報による公匏グルヌプ、玄 1500 人の参加者、参加者ず䞻催者の間でタスクに぀いお掻発な議論が行われる
䞻催者は、シンプルな゜リュヌションず高床な゜リュヌションの 16 ぀の基本的な゜リュヌションを提䟛したした。 シンプルでは 16 GB 未満の RAM が必芁で、アドバンスト メモリでは XNUMX GB に収たりたせんでした。 同時に、少し先を芋据えるず、参加者は先進的な゜リュヌションを倧幅に䞊回るパフォヌマンスを発揮するこずはできたせんでした。 これらの゜リュヌションの立ち䞊げには䜕の困難もありたせんでした。 高床な䟋には、゜リュヌションの改善をどこから始めるべきかに぀いおのヒントが蚘茉されたコメントがあるこずに泚意しおください。 各タスクに察しお基本的な原始的な解決策が提䟛されたしたが、参加者はそれらを簡単に解決できたした。 コンテストの初期段階では、参加者はいく぀かの問題に盎面したした。たず、デヌタが Apache Parquet 圢匏で提䟛されおおり、Python ず Parquet パッケヌゞのすべおの組み合わせが゚ラヌなしで動䜜するわけではありたせんでした。 XNUMX 番目の困難はメヌル クラりドから写真をダりンロヌドするこずでしたが、珟時点では倧量のデヌタを䞀床にダりンロヌドする簡単な方法はありたせん。 結果ずしお、これらの問題により参加者は数日間遅れたした。

むダオ。 第䞀段階

この課題は、ミュヌ粒子ず非ミュヌ粒子をその特性に応じお分類するこずでした。 このタスクの重芁な特城は、トレヌニング デヌタに重み列が存圚するこずであり、䞻催者自身がこの行の答えに察する信頌床ずしお解釈したした。 問題は、かなりの数の行に負の重みが含たれおいるこずです。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

ヒントのある線に぀いお数分間考え (ヒントは重み列のこの機胜に泚意を匕いただけです)、このグラフを䜜成した埌、3 ぀のオプションをチェックするこずにしたした。

1) 負のりェむト(およびそれに応じたりェむト)を持぀ラむンのタヌゲットを反転したす。
2) 重みが 0 から始たるように最小倀にシフトしたす。
3) 文字列の重みを䜿甚しない

1 番目のオプションは最悪であるこずが刀明したしたが、最初の XNUMX ぀は結果を改善し、最も良かったのはオプション XNUMX で、すぐに最初のタスクで珟圚の XNUMX 䜍、XNUMX 番目のタスクで XNUMX 䜍になりたした。
倧型ハドロン衝突型加速噚ずオドノクラスニキ
次のステップは、欠損倀がないかデヌタを確認するこずでした。 䞻催者はすでに粟査枈みのデヌタを提䟛しおくれたしたが、かなりの数の欠損倀があり、それらは -9999 に眮き換えられたした。

MatchedHit_{X,Y,Z}[N] 列ず MatchedHit_D{X,Y,Z}[N] 列で欠損倀が芋぀かりたしたが、それは N=2 たたは 3 の堎合のみでした。理解しおいるように、䞀郚の粒子は欠萜しおいたせんでした。 4 ぀の怜出噚をすべお通過し、3 番目たたは 4 番目のプレヌトで停止したした。 デヌタには Lextra_{X,Y}[N] 列も含たれおおり、明らかに MatchedHit_{X,Y,Z}[N] ず同じこずを蚘述しおいたすが、ある皮の倖挿を䜿甚しおいたす。 これらのわずかな掚枬は、Lextra_{X,Y}[N] が MatchedHit_{X,Y,Z}[N] の欠損倀を眮き換えるこずができるこずを瀺唆したした (X 座暙ず Y 座暙のみ)。 MatchedHit_Z[N] は䞭倮倀で十分に埋められたした。 これらの操䜜により、䞡方のタスクで䞭間の 1 䜍に到達するこずができたした。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

最初のステヌゞで優勝しおも䜕も䞎えられなかったこずを考えるず、そこで止めおもよかったかもしれたせんが、私たちは続けお、矎しい絵を描き、新しい機胜を考え出したした。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

たずえば、粒子ず 5 ぀の怜出プレヌトのそれぞれずの亀点をプロットするず、各プレヌト䞊の点がアスペクト比 4 察 5 の 0,0 ぀の長方圢にグルヌプ化され、䞭心が XNUMX 察 XNUMX であるこずがわかりたす。点 (XNUMX)、および in 最初の長方圢には点がありたせん。

プレヌトNo./長方圢寞法 1 2 3 4 5
プレヌト1 500h625 1000h1250 2000h2500 4000h5000 8000h10000
プレヌト2 520h650 1040h1300 2080h2600 4160h5200 8320h10400
プレヌト3 560h700 1120h1400 2240h2800 4480h5600 8960h11200
プレヌト4 600h750 1200h1500 2400h3000 4800h6000 9600h12000

これらの寞法を決定した埌、粒子ごずに 4 ぀の新しいカテゎリ特城 (粒子が各プレヌトず亀差する長方圢の数) を远加したした。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

たた、粒子が䞭心から偎面に散乱しおいるように芋えるこずにも気づき、この散乱の「質」を䜕らかの方法で評䟡するずいうアむデアが生たれたした。 理想的には、離陞点に応じお䜕らかの「理想的な」攟物線を考え出し、そこからの偏差を掚定するこずも可胜でしょうが、私たちは「理想的な」盎線に限定したした。 このような理想的な盎線を各䟵入点に察しお構築したので、この盎線から各粒子の軌道の暙準偏差を蚈算するこずができたした。 target = 1 の平均偏差は 152、target = 0 の平均偏差は 390 であったため、この機胜は暫定的に良奜であるず評䟡したした。 そしお実際、この機胜はすぐに最も䟿利な機胜のトップにランクむンしたした。

私たちは喜んで、远加の 4 ぀の特城ずしお、各粒子の 4 ぀の亀点すべおの理想的な盎線からの偏差を远加したした (そしお、それらもうたく機胜したした)。

䞻催者から提䟛された、コンテストのテヌマに関する科孊論文ぞのリンクから、私たちはこの問題を最初に解決したわけではなく、おそらく䜕らかの特殊な゜フトりェアがあるのではないかずいう考えが生たれたした。 IsMuonSimple、IsMuon、IsMuonLoose メ゜ッドが実装されおいるリポゞトリを github で発芋したので、それらを少し倉曎しおサむトに転送したした。 方法自䜓は非垞に単玔で、たずえば、゚ネルギヌが特定のしきい倀未満の堎合、それはミュヌオンではなく、そうでない堎合はミュヌオンです。 このような単玔な機胜では、明らかに募配ブヌスティングを䜿甚する堎合に増加をもたらすこずができないため、しきい倀に別の重芁な「距離」を远加したした。 これらの機胜も若干改善されおいたす。 おそらく、既存の手法をより培底的に分析するこずで、より匷力な手法を芋぀けお暙識に远加するこずができたでしょう。

コンテストの終わりに、XNUMX 番目の問題に察する「簡単な」解決策を少し調敎したしたが、最終的には次の点でベヌスラむンずは異なりたした。

  1. 負の重みを持぀行では、タヌゲットが反転されたした
  2. MatchedHit_{X,Y,Z}[N] の欠損倀を埋めたした
  3. 深さを 7 に削枛
  4. 孊習率を 0.1 に䜎䞋 (以前は 0.19)

その結果、さらに倚くの機胜を詊し (あたり成功したせんでしたが)、パラメヌタヌを遞択しお catboost、lightgbm、xgboost をトレヌニングし、さたざたな予枬の組み合わせを詊し、プラむベヌトを開く前に XNUMX 番目のタスクで自信を持っお勝利し、最初のタスクではリヌダヌたち。

プラむベヌトを開いた埌、最初のタスクでは10䜍、1番目のタスクでは3䜍でした。 リヌダヌ党員が入り乱れ、リボヌドよりもプラむベヌトの方がスピヌドが速かった。 デヌタの階局化が䞍十分だったようで (たたは、たずえば、プラむベヌトに負の重みを持぀行がなかった)、これは少しむラむラしたした。

SNA ハッカ゜ン 2019 - テキスト。 第䞀段階

このタスクは、Odnoklassniki ゜ヌシャル ネットワヌク䞊のナヌザヌ投皿を、そこに含たれるテキストに基づいおランク付けするこずでした。テキストに加えお、投皿にはさらにいく぀かの特城 (蚀語、所有者、䜜成日時、閲芧日時) がありたした。 。

テキストを操䜜するための叀兞的なアプロヌチずしお、次の XNUMX ぀のオプションを取り䞊げたす。

  1. 類䌌した単語が類䌌したベクトルを持぀ように、各単語を n 次元のベクトル空間にマッピングしたす (詳现は、 私たちの蚘事)、次にテキストの平均単語を芋぀けるか、単語の盞察䜍眮を考慮するメカニズム (CNN、LSTM/GRU) を䜿甚したす。
  2. 文党䜓をすぐに操䜜できるモデルを䜿甚したす。 たずえば、バヌト。 理論的には、このアプロヌチの方がうたく機胜するはずです。

テキストは初めおなので、人に教えるのは違うので、自分で教えたす。 これらは、コンテストの開始時に私が自分自身に䞎えるヒントです。

  1. 䜕かを教える前に、デヌタを芋おください。 テキスト自䜓に加えお、デヌタにはいく぀かの列があり、そこから私がやったよりもはるかに倚くのこずを絞り出すこずができたした。 最も簡単な方法は、䞀郚の列に察しお平均タヌゲット ゚ンコヌディングを行うこずです。
  2. すべおのデヌタから孊ばないでください。 倧量のデヌタ (箄 17 䞇行) がありたしたが、仮説を怜蚌するためにすべおを䜿甚する必芁はたったくありたせんでした。 トレヌニングず前凊理は非垞に遅かったので、もっず興味深い仮説をテストする時間があったこずは明らかです。
  3. <物議を醞すアドバむス> キラヌモデルを探す必芁はありたせん。 私は Elmo ず Bert を理解するのに長い時間を費やし、圌らが私をすぐに高いずころに連れお行っおくれるこずを望みたした。その結果、ロシア語甚に事前トレヌニングされた FastText 埋め蟌みを䜿甚したした。 Elmo ではそれ以䞊の速床を実珟できたせんでしたし、Bert ではそれを理解する時間がただありたせんでした。
  4. <物議を醞すアドバむス> キラヌ機胜を 1 ぀探す必芁はありたせん。 デヌタを芋るず、テキストの玄 XNUMX% に実際にはテキストが含たれおいないこずがわかりたした。 しかし、いく぀かのリ゜ヌスぞのリンクがあったので、サむトを開いおタむトルず説明を取り出す簡単なパヌサヌを䜜成したした。 それは良いアむデアのように思えたしたが、その埌、調子に乗っおすべおのテキストのすべおのリンクを解析するこずにし、再び倚くの時間をロスしおしたいたした。 これらはすべお、最終結果に倧きな改善をもたらしたせんでした (たずえば、ステミングを考え出したしたが)。
  5. 叀兞的な機胜が動䜜したす。 たずえば、私たちは Google で「テキスト機胜 kaggle」を怜玢し、すべおを読んで远加したす。 TF-IDF は、テキストの長さ、単語、句読点の量などの統蚈的特城ず同様に改善をもたらしたした。
  6. DateTime 列がある堎合は、それらをいく぀かの個別の機胜 (時間、曜日など) に解析する䟡倀がありたす。 どの機胜を匷調すべきかは、グラフやいく぀かの指暙を䜿甚しお分析する必芁がありたす。 ここでは、気たぐれにすべおを正しく実行し、必芁な機胜を匷調衚瀺したしたが、通垞の分析でも問題はありたせんでしたたずえば、決勝で行ったように。

倧型ハドロン衝突型加速噚ずオドノクラスニキ

コンテストの結果、私は単語畳み蟌みで 7 ぀の keras モデルをトレヌニングし、もう 76 ぀は LSTM ず GRU に基づいおトレヌニングしたした。 どちらも、ロシア語甚に事前トレヌニングされた FastText 埋め蟌みを䜿甚したした (他の埋め蟌みもいく぀か詊したしたが、これらが最も効果的でした)。 予想を平均した結果、参加者XNUMX名䞭最終XNUMX䜍でした。

第䞀段階終了埌、公開されたした ニコラむ・アノヒンによる蚘事、圌は XNUMX 䜍になり (圌は競争から参加したした)、圌の゜リュヌションはある段階たでは私のものず同じでしたが、ク゚リ-キヌ-倀の泚意メカニズムによりさらに先に進みたした。

セカンドステヌゞOKIDAO

倧䌚の第XNUMXステヌゞはほが連続しお行われたので、たずめお芋るこずにした。

たず、私ず新しく買収したチヌムは、Mail.ru 瀟の印象的なオフィスに到着したした。そこで私たちの仕事は、テキスト、写真、コラボレヌションずいう第 2 段階の 5 ぀のトラックのモデルを組み合わせるこずでした。 このために XNUMX 日匷が割り圓おられたしたが、それは非垞に短いこずが刀明したした。 実際、合䜵による利益は埗られず、第 XNUMX 段階の結果を再珟するこずしかできたせんでした。 最終的にはXNUMX䜍になりたしたが、テキストモデルは䜿えたせんでした。 他の参加者の解決策を芋た埌、テキストをクラスタリングしおコラボレヌション モデルに远加しおみる䟡倀があるず思われたした。 このステヌゞの副䜜甚ずしお、新たな印象、クヌルな参加者や䞻催者ずの出䌚いやコミュニケヌション、そしお深刻な睡眠䞍足があり、これがIDAOの最終ステヌゞの結果に圱響を䞎えた可胜性がありたす。

IDAO 2019 最終ステヌゞの課題は、空枯での Yandex タクシヌ運転手の泚文埅ち時間を予枬するこずでした。 ステヌゞ 2 では、3 ぀のタスク = 3 ぀の空枯が特定されたした。 空枯ごずに、2 か月間のタクシヌ泚文数に関する分単䜍のデヌタが提䟛されたす。 そしおテストデヌタずしお、過去1,5週間の翌月分ず分単䜍の泚文デヌタが䞎えられたした。 時間がほずんどなく (XNUMX 日)、タスクは非垞に具䜓的で、チヌムからコンテストに参加したのは XNUMX 人だけでした。その結果、終わりに向けお悲しい結果ずなりたした。 興味深いアむデアには、倩気、亀通枋滞、Yandex タクシヌの泚文統蚈などの倖郚デヌタを䜿甚する詊みが含たれおいたした。 䞻催者はこれらの空枯が䜕なのかを明らかにしなかったが、倚くの参加者はシェレメヌチ゚ノォ、ドモゞェドノォ、ノヌヌコノォのこずだず思っおいた。 この仮定は倧䌚埌に反駁されたしたが、たずえばモスクワの気象デヌタからの特城により、怜蚌ずリヌダヌボヌドの䞡方で結果が向䞊したした。

たずめ

  1. MLの倧䌚はクヌルで面癜いですね ここでは、デヌタ分析のスキルや、巧劙なモデルやテクニックを掻甚するこずができたす。垞識的なこずは歓迎されたす。
  2. ML はすでに膚倧な知識䜓系であり、指数関数的に増加しおいるようです。 私はさたざたな分野 (信号、写真、衚、テキスト) に粟通するずいう目暙を自分に蚭定したしたが、勉匷するこずがどれほどあるかはすでに認識しおいたした。 たずえば、これらのコンテストの埌、私はクラスタリング アルゎリズム、募配ブヌスティング ラむブラリを操䜜するための高床なテクニック (特に、GPU 䞊の CatBoost を操䜜する)、カプセル ネットワヌク、ク゚リ キヌ倀の泚意メカニズムなどを研究するこずにしたした。
  3. kaggleだけではだめ 少なくずも T シャツを獲埗するのが簡単なコンテストは他にもたくさんあり、他の賞品を獲埗するチャンスも倚くありたす。
  4. 通信する 機械孊習ずデヌタ分析の分野にはすでに倧芏暡なコミュニティがあり、Telegram、Slack にはテヌマ別グルヌプがあり、Mail.ru、Yandex、その他の䌁業の真剣な人々が質問に答え、初心者やこの分野で道を歩み続ける人たちを支揎したす。知識の。
  5. 前のポむントに觊発されたすべおの人に、蚪問するこずをお勧めしたす デヌタフェスト — 10月11日ずXNUMX日にモスクワで開催される倧芏暡な無料カンファレンス。

出所 habr.com

コメントを远加したす