Kaggle: SETI Breakthrough Listen – E.T. Signal Search コンペの振り返り

元のコンペから時間が経ってしまいましたが、「SETI Breakthrough Listen – E.T. Signal Search」に参加しましたので、自分の復習用も兼ねてコンペ概要のご紹介と1st place solutionの解説です。

コンペの背景と内容

カリフォルニア大学バークレー校のBreakthrough Listenチームは、世界で最も強力な望遠鏡を使って、何百万もの星をスキャンし、技術の兆候を探しています。Listenチームは地球外知的生命体探索(SETI)の一部であり、信号を検出するために直径100メートルのグリーンバンク望遠鏡を使用しています。

現在の方法では、二つのフィルターを使って探索します。まず、Listenチームは対象星のスキャンと他の空域のスキャンを交互に行います。両方のスキャンで現れる信号は、対象星の方向から来ていない可能性が高いです。次に、周波数が変わらない信号は除外します。これは、信号が望遠鏡の近くから来ている可能性が高いからです。動いている光源は、通り過ぎる消防車のサイレンのピッチが変わるように、動きを示唆する信号があるべきです。これら二つのフィルターはかなり効果的ですが、改善の余地があります。こうしたパイプラインは、特に時間や周波数の構造が複雑で、干渉が多いスペクトラム領域の信号を見逃しています。

このコンペは、Breakthrough Listenの対象のスキャンから異常な信号を特定することを目的としています。宙人の信号の確認された例がないため、チームは望遠鏡からのデータの中にいくつかのシミュレートされた信号(「針」と呼ばれる)を含めました。これらの隠された針のいくつかを特定し、モデルを訓練してより多くの信号を見つけることを目指します。

以下はFMラジオ信号の例です。(図は、コンペページより)これはGBTからではなく、ソフトウェア定義ラジオドングルに取り付けられた小さなアンテナからのものです(ラップトップに差し込んで信号を受信できる20ドルのキットです)。GBTから得るデータは非常に類似しており、ただし周波数チャンネルの数が多く、より広い即時周波数範囲をカバーし、感度もはるかに高いです。

上のスクリーンショットは、水平軸に周波数(約88.2から89.8 MHzまで)を、垂直軸に時間を表示しています。88.5 MHzの明るいオレンジの特徴は、サンフランシスコ湾エリアのラジオ局であるKQEDのFM信号です。両側の黄色い塊(スクリーンショットでポインターが示しているものの1つ)は、KQEDの「HDラジオ」信号です(FM信号と同じデータですが、デジタルでエンコードされています)。異なる周波数で他のFM局も見えます。また、対応するデジタル側帯域のない明白なFM信号(89.5 MHzで)もあります。

ブレイクスルーリッスンは、通常、2 MHzの代わりに無線スペクトルの数 GHzにわたる類似のスペクトログラムを生成します。データはフィルターバンク形式またはHDF5形式のファイルとして保存されますが、基本的には周波数と時間の関数としての強度の配列で、望遠鏡の方向、周波数スケールなどのメタデータを含むヘッダーが付属しています。チームは1年間に1 PB以上のスペクトログラムを生成し、個々のフィルターバンクファイルは数十GBになることもあります。Kaggleの課題のために、メタデータの大部分を破棄し、チームは「スニペット」と呼ぶスペクトログラムの小さな領域から成るnumpy配列を提供しています。

ブレイクスルーリッスンは、宇宙外の技術の候補である「テクノシグネチャ」を探しています。その主な障害の1つは、人間の技術(ラジオ局だけでなく、Wi-Fiルーター、携帯電話、ラジオ信号を送信するために明示的に設計されていない電子機器も含む)も無線信号を発していることです。これらの人間生成の信号を「無線周波数干渉」と呼んでいます。

無線周波数干渉からテクノシグネチャの候補を分離するために使用する1つの方法は、特定の空の位置から来たように見える信号を探すことです。通常、これは主要なターゲット星の観測と、近くの3つの星の観測を交互に行うことで行います:星「A」で5分、星「B」で5分、再び星「A」で5分、次に「C」、そして再び「A」、最後に星「D」で5分。6つの観測のセット(ABACAD)は「ケイデンス」と呼ばれます。チームは各ケイデンスの小さな周波数範囲を提供しているため、あなたが分析するデータセットは「ケイデンススニペット」と呼ばれています。

以下がその例です:

プロットのタイトルが示すように、これはボイジャー1号宇宙船です。地球から200億キロ離れていても、GBTで明確に検出されています。最初、三番目、五番目のパネルは「A」ターゲット(この場合は宇宙船)です。黄色い対角線はボイジャーからの無線信号です。宇宙船を指すと検出され、それを指さないと消えます。このプロットでの対角線は、地球と宇宙船の相対運動によるドップラー・ドリフトを持っているためです。これにより、周波数が時間とともに変化します。実際には、これはRFIを拒否する別の可能な方法です。なぜなら、RFIは時間の経過に伴って周波数が一定である傾向が高いからです。

アルゴリズムを完全に惑星間宇宙船の観測に訓練できれば良いのですが、それらの例は数が限られており、信号の種類を幅広く見つける必要もあります。そのため、テクノシグネチャの候補をシミュレートすることにしました。

これらは何万ものケイデンススニペット、つまり「針」を含む「ヘイスタック」と呼ばれています。これらの針の中には、上記のボイジャー1号の信号に似たものがいくつか含まれており、クラシカルな検出アルゴリズムでも簡単に検出できるはずです。他のものはスペクトルのノイジーな領域に隠れており、視覚的には比較的明らかかもしれませんが、電力の過剰を見つけるだけではほとんどの針を識別できないでしょう。

「針」の信号はすべて対角線のように見えるわけではなく、すべての「A」観測(ケイデンススニペットのパネル1、3、および5)の一部またはすべてにのみ存在することが共通しています。あなたの課題は、針をできるだけ多く見つけることであり、ヘイスタックからの偽陽性の数を最小限に抑えることです。

1st Place Solustion(Watercooledチーム)の紹介

CV / LBギャップ

Watercolledチームでも、他のチームと同様に、コンペの初期段階ではCVとLBのスコアに大きな差があることを報告しています。(私も参加当時は、このギャップに苦しみ最後までトリックを見抜けませんでした。)以下では、このCV/LBギャップを埋めるトリックを実際の彼らの説明(https://www.kaggle.com/competitions/seti-breakthrough-listen/discussion/266385)に沿って紹介しています。

トリック#1(s字型の信号)

特定のモデルはCVスコアが似ているにもかかわらず、LBスコアが大きく異なることがありました。異なるLBスコアを持つ異なるモデルの単一の予測を調査することから、異なるモデルが異なるLBスコアを持つ画像の確率が高いことがわかりました。

S字型の信号はテストセットにのみ現れ、一部のモデルは信号を非典型的として識別できましたが、他のモデルはできませんでした。後に、ホストによっても確認されたように、テストデータには追加のタイプの信号も含まれています。これらの信号をより良く予測し、テストデータにより適切に一般化するために、トレーニングセットにこれらの信号を追加する信号ジェネレーター(https://github.com/bbrzycki/setigenから調整されたコードベース)を追加しました。

トリック#2(バックグラウンドの違い)

コンペが終了する数週間前に、公共のリーダーボードスコアが大幅に上昇したことに多くの人が気付きました。当時2位のLBスコアに近い0.800に達しており、このコンペで非常に有望だと思われる疑似タグ付けなどに目を向けていなかったため、はソリューションをさらに向上させる可能性がありました。

このコンペの明白な側面の1つは、トレーニングデータとテストデータの間のバックグラウンドが非常に異なることです。これは視覚的な検査やトレーニングとテストの間を容易に区別できる単純なバイナリ分類子からも明白ですが、早期の擬似タグ付け実験からもわかりました。ここでは、テストからトレーニングに非常に確かなtarget=1サンプルのみを追加しました。CVは良く見えましたが、モデルは突然、テスト全体でtarget=1しか予測しなくなり、モデルはtarget=1が常にテストから来ることを完璧に学習しました。

したがって、モデルは信号ではなく背景にあまりにも焦点を当てることがあると推測し始めました。以下のプロットでは、トレーニング類似性に基づいて出力ロジットのヒストグラムを示しています。ここで、トレーニング類似性は単に画像データ(平均、標準偏差、ユニークカウント、最小、最大)に基づいていますが、モデルは背景を「知っている」場合により確実です。したがって、背景ノイズの影響を減少させたり、背景ノイズへの過剰適合を減少させる方法を探ることにしました。

さらなる調査から、画像間で重なりがあることがわかりました。これは、モデルがその背景に対してtarget=0またはtarget=1しか見ない場合、モデルが単一の背景に過剰適合する可能性があることを意味します。この調査の結果、データから一般的な背景アーティファクトを削除し、信号を増加させ、ノイズと過剰適合の可能性を減少させる試みを行うことにしました。

ただし、画像ごとのチャネル正規化のため、このプロパティを利用するのは簡単ではありません。単に1つの画像から別の画像への生の値を比較することはできません。画像間の比較を可能にするために、列ごとに正規化し、各画像の最初の列と他のすべての画像および列との平均ピクセル差を計算しました。丸め誤差と列内の可能な信号のため、0よりも大きな列距離を受け取りました。これらの重なりを使用して、一致するサンプル間の正規化された領域の差を元のデータで置き換えて、信号対ノイズ比を増加させました。以下のプロットでは、2つのサンプル間の正規化された重なり領域の差を示しています。

まとめ

watercooledチームは、上記で述べた手法を活用して、こうした手法によって、watercooledチームは2位に大差をつけて優勝しています。優勝した要因は、学習データセットとテストデータセットに対する深い洞察とその洞察に基づくデータエンジニアリング的な工夫が大きいのではないかと思います。私もこうした洞察や工夫を参考に自分のデータサイエンス力を磨いていきたいです。