AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

Kaggle散歩(2021年7月)

Kaggle散歩(2021年7月)

今月の課題:

 

7月1日(木)

European Gravitational Observatory - EGO:17 teams, 3 months to go 

新たなコンペがスタートした。

G2Net Gravitational Wave Detection
Find gravitational wave signals from binary black hole collisions

f:id:AI_ML_DL:20210701101003p:plain

https://www.kaggle.com/c/g2net-gravitational-wave-detection/overview

Observation of Gravitational Waves from a Binary Black Hole Merger
B. P. Abbott et al. (LIGO Scientific Collaboration and Virgo Collaboration)

On September 14, 2015 at 09:50:45 UTC the two detectors of the Laser Interferometer Gravitational-Wave Observatory simultaneously observed a transient gravitational-wave signal. The signal sweeps upwards in frequency from 35 to 250 Hz with a peak gravitational-wave strain of 1.0 × 10−21. It matches the waveform predicted by general relativity for the inspiral and merger of a pair of black holes and the ringdown of the
resulting single black hole. The signal was observed with a matched-filter signal-to-noise ratio of 24 and a false alarm rate estimated to be less than 1 event per 203 000 years, equivalent to a significance greater than 5.1σ. The source lies at a luminosity distance of 410þ160 −180 Mpc corresponding to a redshift z ¼ 0.09þ0.03 −0.04 . In the source frame, the initial black hole masses are 36þ5 −4M⊙ and 29þ4 −4M⊙, and the final black hole mass is 62þ4 −4M⊙, with 3.0þ0.5 −0.5M⊙c2 radiated in gravitational waves. All uncertainties define 90% credible intervals. These observations demonstrate the existence of binary stellar-mass black hole systems. This is the first direct detection of gravitational waves and the first observation of a binary black hole merger.

2015年9月14日09:50:45UTCに、レーザー干渉計重力波観測所の2つの検出器が一時的な重力波信号を同時に観測しました。信号は、周波数が35〜250 Hzで上方にスイープし、重力波のピークひずみは1.0×10-21です。これは、ブラックホールのペアのインスピレーションと合併、および結果として生じる単一のブラックホールのリングダウンの一般相対性理論によって予測された波形と一致します。信号は、整合フィルターの信号対雑音比が24で、誤警報率が20 3000年あたり1イベント未満と推定され、5.1σを超える有意性で観測されました。光源は、赤方偏移z¼0.09þ0.03-0.04に対応する410þ160-180Mpcの光度距離にあります。ソースフレームでは、初期のブラックホールの質量は36þ5-4M⊙と29þ4-4M⊙であり、最終的なブラックホールの質量は62þ4-4M⊙であり、3.0þ0.5-0.5M⊙c2が重力波で放射されます。すべての不確実性は90%の信頼区間を定義します。これらの観測は、バイナリ恒星質量ブラックホールシステムの存在を示しています。これは、重力波の最初の直接検出であり、連星ブラックホールの合併の最初の観測です。by Google翻訳

 

Virgoは、イタリア、フランス、オランダ、ポーランドハンガリー、スペインの6か国の研究所による科学的コラボレーションの一部である。アメリカ・ワシントン州ハンフォード・サイトルイジアナ州リビングストンにある2つのLIGO干渉計を含む、Virgoと同様の他の大型干渉計は、いずれも重力波を検出するという同じ目標を持っている。 2007年以降、VirgoとLIGOは、それぞれの検出器で記録されたデータを共有して共同で解析し、その結果を共同で発表することに同意している[1]。干渉検出器には指向性がなく(掃天観測する)、弱くて頻度の低い1回限りのイベントの信号を探しているため、信号の妥当性を確認し、信号源の方向を推定するためには、複数の干渉計で重力波を同時に検出する必要がある。from Wikipedia

 

7月2日(金)

European Gravitational Observatory - EGO:45 teams, 3 months to go

PyCBCによる画像化のコードが公開されている。そこで例示されていた10件のデータのうちの6件のラベルが1であったが、そのうちの3件しか、目視で判定できなかった

f:id:AI_ML_DL:20210702120240p:plain

From "Introduction to the Data Challenge" by Filip Morawski NCAC PAS

PyCBCを使うかどうかは別にして、画像化は必須だろうな。

コードコンペでないので、テストデータも自由に画像処理できるから、ハイスコアの競争になりそうだな。

余談になるが、スペクトルデータを数値配列のまま、簡単なNNでtrainingしてみた。いろいろやってみたが、どうにもならなかった。1本のスペクトルは4096チャンネルだから、64x64の画像に相当し、情報量としては十分だと思うが、スペクトル間の違いを認識するには、1次元配列のままではだめ、ということを実感した。

 

スペクトル画像およびPyCBC処理画像に変換してデータセットを作成しようかと思っていたら、すでに作って公開されている。それをEfficientNetBnで処理して、上位に顔を出している。すごいな。きれいに書かれたコードだ。

 

7月3日(土)

European Gravitational Observatory - EGO:81 teams, 3 months to go

ensembleだけのコードが公開された。ただし、ensembleデータの1つは公開者の予測データである。ensembleのベースになりうる自分の予測データのレベルを上げていかないと、すぐに置いていかれそうだ。

始まったばかりなのに、trainコードのチューニングもしないで、チューニングコードのチューニングで遊んでいるだけではいけないのだが、つい、チューニングゲームに夢中になる。F1で「オーバーテイク・パラダイス」や「トラフィック・バラダイス」というのが流行っているようだ。これにならって、「チューニング・パラダイス」と呼んでみようか。

 

7月4日(日)

European Gravitational Observatory - EGO:110 teams, 3 months to go

 In this competition, you’ll aim to detect GW signals from the mergers of binary black holes. Specifically, you'll build a model to analyze simulated GW time-series data from a network of Earth-based detectors.

シミュレーションによって作成されたスペクトルを解析する、ということでは、開催・中断中の次のコンペ "SETI Breakthrough Listen - E.T. Signal Search, Find extraterrestrial signals in data from deep space"と同様である。違うのは重力波は検出されたが、地球外生命体からの信号はまだ検出されていないことである。重力波は理論的根拠が存在するが、地球外生命体からの信号には、理論的根拠が存在しない(だろうと思われる)。

検出器に現れる重力波信号のシミュレーションスペクトルに関する概略説明は、次のように記述されている。

The parameters that determine the exact form of a binary black hole waveform are the masses, sky location, distance, black hole spins, binary orientation angle, gravitational wave polarisation, time of arrival, and phase at coalescence (merger). These parameters (15 in total) have been randomised according to astrophysically motivated prior distributions and used to generate the simulated signals present in the data, but are not provided as part of the competition data.

2016年の論文で発表されたGW150914の周波数分布のデータでは、特徴的なコントラストが認められるが、そのような例は1部にすぎないと書かれている。つまり、容易に見分けがつかないから、これまでの方法よりも正確かつ高速に判定できるモデルを提案してくださいということのようだ。

さらに、重力波の研究者たちは、より高精度の機器を、地球レベルでこれまでよりも多くの場所で稼働させ、かつ、連動させて同時検出することで発生源の特定精度を増したり、検出精度を高めることによって重力波の発生原因をより正確に把握する技術開発が進められていて、ディープラーニングは、その開発には不可欠の技術要素として期待されているようである。

 

7月5日(月)

European Gravitational Observatory - EGO:127 teams, 3 months to go

ノイズ成分と重力波成分について勉強しよう。

Gravitational wave denoising of binary black hole mergers with deep learning 

Wei Wei and E.A. Huerta, PhysicsLettersB800(2020)135081
Gravitational wave detection requires an in-depth understanding of the physical properties of gravitational wave signals, and the noise from which they are extracted. Understanding the statistical properties of noise is a complex endeavor, particularly in realistic detection scenarios. In this article we demonstrate that deep learning can handle the non-Gaussian and non-stationary nature of gravitational wave data, and showcase its application to denoise the gravitational wave signals generated by the binary black hole mergers GW150914, GW170104, GW170608 and GW170814 from advanced LIGO noise. To exhibit the accuracy of this methodology, we compute the overlap between the time-series signals produced by our denoising algorithm, and the numerical relativity templates that are expected to describe these gravitational wave sources, finding overlaps O0.99. We also show that our deep learning algorithm is capable of removing noise anomalies from numerical relativity signals that we inject in real advanced LIGO data. We discuss the implications of these results for the characterization of gravitational wave signals.

重力波の検出には、重力波信号の物理的特性と、それらが抽出されるノイズを深く理解する必要があります。ノイズの統計的特性を理解することは、特に現実的な検出シナリオでは、複雑な作業です。この記事では、ディープラーニング重力波データの非ガウスおよび非定常性を処理できることを示し、高度なブラックホール連星GW150914、GW170104、GW170608、およびGW170814によって生成された重力波信号のノイズを除去するアプリケーションを紹介します。 LIGOノイズ。この方法論の精度を示すために、ノイズ除去アルゴリズムによって生成された時系列信号と、これらの重力波源を記述すると予想される数値相対論テンプレートとの間のオーバーラップを計算し、オーバーラップO0.99を見つけます。また、深層学習アルゴリズムが、実際の高度なLIGOデータに注入する数値相対論信号からノイズ異常を除去できることも示しています。これらの結果が重力波信号の特性評価に与える影響について説明します。Google翻訳

 

7月6日(火)

European Gravitational Observatory - EGO:143 teams, 3 months to go

この論文を理解しよう:

Observation of Gravitational Waves from a Binary Black Hole Merger
B. P. Abbott et al. (LIGO Scientific Collaboration and Virgo Collaboration)

Ⅰ. INTRODUCTION

重力波の存在は、1916年にアインシュタインが予言した。空間の歪の横波が光速で伝播する。--- transverse waves of spatial strain that travel at the speed of light ---

同年、Schwarzschildは場の方程式の解を発表し、1958年頃には(Finkelstein, Kruskal)その方程式がブラックホールを記述していると理解され、1963年には(Kerr)回転するブラックホールの解に一般化された。

さらに相対論的2体力学の解析的研究が進み、2005年には(Pretorius, Campanelli et al., Baker et al.,)2体ブラックホールの合体(合併)により発生する重力波を計算した結果が報告されている。Pretoriusの計算によれば、合体によって約5%の質量が失われ、それがエネルギーとして放出される。

重力波の検出は、1960年代に実験が始まった。200年代になると、日本のTAMA 300、ドイツのGEO 600、米国のLIGO、イタリアのVirgoが設置され、2002年から2011年にはこれらの合同観測が行われていた。

重力波の検出に成功したのは、LIGOであった。

Ⅱ. OBSERVATION

On September 14, 2015 at 09:50:45 UTC, the LIGO Hanford, WA, and Livingston, LA, observatories detected the coincident signal GW150914

そのとき、Virgo検出器はアップグレード中。GEO 600は十分な感度ではないかもしれないが観測モードに入っていなかった。TAMA 300は言及されていない。

日本の状況:TAMA 300の後継機KAGRAは2010年に開発が開始され、2013年には開発経過が論文発表され(Phys. Rev. D 88, 043007)、そこには2017年に稼働予定と書かれている。The construction of KAGRA started in 2010 and it is planed to start the operation of the detector at its full configuration in 2017.:2015年の大発見に間に合わなかった。

f:id:AI_ML_DL:20210706135628p:plain

GW150914は、2つのブラックホールが対になってから合体して1つのブラックホールになって、質量を減じるまでの全過程が捉えらている。一体になる直前で重力波の周波数は35 Hzから150 Hzまで高くなっている。

この波形を見てから、コンペのスペクトル(Yaroslav Isaienkov氏の公開コードから借用したラベル1のスペクトルを下に示す)を見ると、ちょっとおかしな感じがする。

GW150914のスペクトルは、スパンが0.2秒であり、下に示すスペクトルのスパンは2秒である。

GW150914データがコンペの概要説明に張り付けられていて、そのデータが開催されている論文へもリンクがはられているので、門外漢はこのデータが頭に刷り込まれる。

下に示すスペクトルはラベルが1だからGWが検出されているということだが、GW15094のGWが、8周期の間に周波数が35 Hzから150 Hzまで変化しているのに対し、下のスペクトルは、約24周期の間に周波数の変化は認められず、12 Hzであるというのは、どう理解すればよいのか、まったくわからない。

f:id:AI_ML_DL:20210706151401p:plain

Ⅲ. DETECTORS
重力波をどうやって検出するのか。マイケルソン干渉計がベースになっている。直交するアームの長さの変動をマイケルソン干渉計で検出する。LIGOは4 km、Virgoは3 kmである。

干渉検出器には指向性がなく(掃天観測する)、弱くて頻度の低い1回限りのイベントの信号を探しているため、信号の妥当性を確認し、信号源の方向を推定するためには、複数の干渉計で重力波を同時に検出する必要がある。by Wikipedia
このことは、コンペと関係あるかもしれない。H1とL1は特性が同じだから、GWが検出されていれば、GWの信号強度(ひずみの大きさ)が同じで、位相が6 msずれる、ということになるのではないだろうか。VirgoはLIGOよりも感度が悪いので、スペクトルにノイズがみられるが、位相がいくらかずれて、GWが検出されるはず。これらのスペクトルを画像化してCNNで分類するのが良さそうに思うが、3つのスペクトルをモデルにどういうふうに認識させるのが良いのだろうか。

検出器の模式図を下に示す。LIGOは2本のアームがあり、それぞれのアームは試験質量として作用する2枚の鏡からなる。検出器を通過する重力波は、アームの長さを変える。x方向とy方向のアームの長さの変化の差が、x方向とy方向に分けた光がそれぞれの方向に設置した鏡で反射されて戻ってきた光の位相の差として検出する。重力波を十分な感度で検出するために、いくつかの工夫が施されている。1つは、光共振器で300倍に増幅(増感)する。1つは、部分透過性のpower-recycling mirrorの採用で、20 Wのレーザービームが100 kWに増大する。1つは出口に設置した部分透過性signal-recycling mirrorによりアームキャビティのバンド幅の拡幅による重力波信号抽出の最適化。

 

f:id:AI_ML_DL:20210706234158p:plain

右上に示されている振幅スペクトル密度amplitude spectral densityは、重力波ひずみ振幅gravitational-wave strain amplitude換算で表示されている。ショットノイズのような縦線が多く見られるが、キャリブレーション用、test massの吊り下げ線の振動モード、交流電源などに起因しているものも含まれている。

重力波がest massに作用して発生するひずみをキャリブレーションするために、レーザービームによる光子圧力photon pressureを用いる。このキャリブレーションレーザーを用いて、シミュレーションにより作成した重力波の波形を模擬的に発生させてテストを行っている。

環境からのかく乱をモニターするために多くのセンサーを配置し、かつ、正確に同期させて情報を収集し集約している。

Ⅳ. DETECTOR VALIDATION

GW150914の観測の前後数時間における定常観察中に観測された信号は、感度においても、一時的なノイズにおいても、その他の期間中に観測された状況との違いは認められなかった。このことを証明するために膨大な作業を行ったと推察される。

GW150914で検出された信号と比べると、外部要因で発生する可能性のある信号強度は6%以下であることを確認している。

さらに、2つのサイト(HanfordとLivingston)で、外部かく乱により、疑似信号が同時に検出される可能性もないことを確認した。

Ⅴ SEARCHES

2つの方法で重力波の信号探索を行った。1つは、相対性理論から予測される重力波の波形を用いたフィルタリング、1つは、一般的な一時的な信号で、最小限の仮定の下に作成した波形を探すという方法である。独立に探索した結果、両法でbinary black hole mergerからの強い信号を探し当てることができた。さらに2つの観測地点の結果が、観測場所の距離に相当する時間差をもって一致した。

バックグラウンド信号の評価、ノイズの評価も非常に複雑で難しく、多大な労力を要する作業のようである。

(自己流の検討:GW150914の信号は約0.2秒間である。1時間の測定データから単純に探し出すにしても、18000枚のスペクトル画像から1枚の候補を探し出すことになる。それも、0.2秒のスペクトルが途中で途切れていると正しく拾い上げることはできないので、実際には、0.02秒ステップぐらいで時間をずらしながら、あるかないかわからないスペクトルを見つけ出す作業となる。)

 

7月8日(木)

論文読みの続き:

A. Generic transient search

時間周波数形態time-frequency morphologyをベースに排他的な3種類に分ける。

C1:noise transient:1次的に大きくなったノイズ

C2:all remaining event:C1とC3以外のすべて

C3:events with frequency that increases with time:周波数が時間とともに増大:G150914はC3に該当する。

GW170608のtime-frequencyとtime-seriesを示す。G150914と同様に、時間‐周波数画像中に周波数変化に特徴的なコントラスト(カーブした明るい領域)が見られる。

f:id:AI_ML_DL:20210708111428p:plain

Gravitational wave denoising of binary black hole mergers with deep learning, WeiWeia and E.A.Huertaa

コンペでも、C3に分類される重力波が検出されているスペクトルはtime-frequency画像を用いると、比較的容易に分類できているようである。

f:id:AI_ML_DL:20210708121329p:plain

C2とC3の識別、C1と(C1+C2)の識別に関する記述が見当たらないので、引用文献を調べてみよう。

Observing gravitational-wave transient GW150914 with minimal assumptions

B. P. Abbott et al., arXiv:1602.03843v2 [gr-qc] 22 Aug 2016

著者は約1000名の連名となっている。

Ⅱ. DATA QUALITY AND BACKGROUND ESTIMATION

"time-shift" methodがbackgroundを見積もるには効果的。

Ⅲ. SEARCHES FOR GRAVITATIONAL WAVE BURSTS

coherent Waveburst (cWB)

omicron-LALInference-Bursts (oLIB)

BayesWave

これら3つのアルゴリズムは、探索の戦略が異なる。

A. Coherent WaveBurst (cWB)

20004年から、LIGO, Virgo, およびGEOのデータ解析に用いられていた。GW150914では、データ取得から3分後には結果を得ていた。低遅延条件では16-2048 Hzの帯域のデータを解析し、オフラインでは16-1024 Hzの帯域のデータを解析している。

1. cWB pipeline overview

広い範囲の重力波の波形を対象にしていて、特定の波形を前提にした解析方法ではない。2つのLIGO検出器の同期事象を識別し、最尤解析法により重力波の波形を再構築しする。

the data are whitened and converted to the time-frequency domain using the Wilson-Daubechies-Meyer wavelet transfoem.

Data from both detectors are then combined to obtain a time-frequency power map.

白色化:pycbcにwhiten( )がある。

時間-周波数ドメイン:GW150914では、32-512 Hzだが、コンペはどの周波数の重力波をシミュレーションスペクトルとして追加したのかは、不明である。

検出器を結び付ける:これは、公開コードを見ると、1つの図にまとめているようである。重ね合わせるのか、並列にするのか、両方を比較してみよう。

 

7月9日(金)

  • European Gravitational Observatory - EGO
  • 205 teams
  • , 3 months to go

重力波検出器の概要を学んだ。

重力波検出器で測定したスペクトルの99%はノイズで、その中から重力波を探し出す過程の概略を学んだ。

2体ブラックホールの合体の過程で放出される重力波の計算過程を学んだ。

ここからは、コンペサイトのコードで、どのように信号処理して重力波の有無を予測するモデルを構築しているのかを学ぼう。

 

7月10日(土)

European Gravitational Observatory - EGO:213 teams, 3 months to go 

スペクトルの画像化は、Q-transformが主流となっている。

重力波のシミュレーション条件が明かされていないので、周波数とその分布、時間変化などが不明なので、広めに設定しておくということになるのだろうか。

最終的に提出するモデルに関する注意書き:

Your final score may not be based on the same exact subset of data as the public leaderboard, but rather a different private data subset of your full submission — your public score is only a rough indication of what your final score is.

You should thus choose submissions that will most likely be best overall, and not necessarily on the public subset.

コンペが始まってまだ10日くらいしか経っていない。現在のトップは0.875だが、最終スコアは0.95くらいになるのだろうか。

さて、これから、どうしようか。

1つは、pycbcを使えるようになって、重力波を理解することかな。

Wikipediaによれば、

PyCBCは、主にPythonプログラミング言語で記述されたオープンソースのソフトウェアパッケージであり、重力波天文学および重力波データ分析で使用するために設計されています。[1] PyCBCには、重力波データ分析で一般的な他のタスクの中でも、信号処理、FFT、整合フィルタリング、重力波形生成のためのモジュールが含まれています。[1]

このソフトウェアは、重力波データを分析し、重力波を検索し、天体物理学的ソースの特性を測定するために、LIGOおよびVirgoの科学者と一緒に重力波コミュニティによって開発されています。LIGOとVirgoの観測所からの重力波データを分析して、中性子星[2]とブラックホール[3] [4] [5] [6]の合体からの重力波を検出し、それらの統計的有意性を決定するために使用されています。 。[7] PyCBCベースの分析は、大規模なコンピューティングリソースのためにOpen ScienceGridと統合できます。[8]PyCBCに基づくソフトウェアは、天文学的な追跡のために重力波データを迅速に分析するために使用されてきました。

GitHubチュートリアルがあるので、そこを利用してみよう。

gwastro/PyCBC-Tutorials

How to access LIGO data
How to do some basic signal processing
Data visualization of LIGO data in time-frequency plots
Matched filtering to extract a known signal

 

7月11日(日)

European Gravitational Observatory - EGO:220 teams, 3 months to go

公開コードのいくつかは、CQT1992v2を使っているので、CQTについて調べてみた。2020年の論文:nnAudio: An on-the-fly GPU Audio to Spectrogram Conversion Toolbox Using 1D Convolutional Neural Networks:

I. INTRODUCTION

SPECTROGRAMS, as time-frequency representations of audio signals, have been used as input for neural network models since the 1980s [1–3]. Different types of spectrograms are tailored to different applications. For example, Mel spectrograms and Mel frequency cepstral coefficients (MFCCs) are designed for speech-related applications [4, 5], and the constant-Q transformation is best for music related applications [6, 7]. Despite recent advances in end-to-end learning in the audio domain, such as WaveNet [8] and SampleCNN [9], which make model training on raw audio data possible, many recent publications still use spectrograms as the input to their models for various applications [10].(注)CQTは、constant-Q transformationの略である。

解析対象は、オーディオ信号である。オーディオ信号の定義は、Wikipediaによれば、

An audio signal is a representation of sound, typically using either a changing level of electrical voltage for analog signals, or a series of binary numbers for digital signals. Audio signals have frequencies in the audio frequency range of roughly 20 to 20,000 Hz, which corresponds to the lower and upper limits of human hearing. Audio signals may be synthesized directly, or may originate at a transducer such as a microphone, musical instrument pickup, phonograph cartridge, or tape head. Loudspeakers or headphones convert an electrical audio signal back into sound.

 

重力波の解析なので、PyCBCのチュートリアル; "How to do some basic signal processing" を眺めてみよう。

最初に、GW150914を含む32秒間の測定データ:

f:id:AI_ML_DL:20210711130701p:plain

次は、GW150914を含む1秒間の測定データ:10 Hz程度の低い周波数のシグナルだが、この周波数のノイズが最も大きいノイズのようだ。

コンペで提供されているスペクトルと非常に良く似ている。

f:id:AI_ML_DL:20210711131117p:plain

低周波のノイズを除去するためにハイパスフィルターを適用する。

high_data = data[ifo].highpass_fir(15, 512)  # Highpass point is 15 Hz

f:id:AI_ML_DL:20210711131850p:plain

ここでパワースペクトル密度(power spectral density : PSD)の概念が導入される。ノイズパワーがどの周波数でどのように変化するかを知ることは重要。低周波数や特定の周波数で大きなノイズパワーが発生する。60 Hzの電源ノイズ、吊るしたミラーのバイオリンモード、種々の装置の共鳴によるものなどがある。

f:id:AI_ML_DL:20210711140136p:plain

ここでデータの白色化を行う。ノイズからの偏差を可視化するために、ある周波数領域でデータを白色化するのは効果的である。過剰量がゼロからの偏差として見えるようになる。白色化によってパワースペクトル密度が平坦化される。全ての周波数の寄与が等価になる。白色化してからバンドパスフィルターをかけることによって特定の周波数領域が可視化される。

f:id:AI_ML_DL:20210711142318p:plain

GW150914のデータ付近に30-250 Hzのバンドパスフィルターをかけることにより、この現象と無関係の周波数領域が除去される。

f:id:AI_ML_DL:20210711144631p:plain

着目する領域を拡大する。

f:id:AI_ML_DL:20210711150939p:plain

検出装置間の時間差7 msを補正することによって、H1とL1のスペクトルは一致する。

f:id:AI_ML_DL:20210711151004p:plain

Q変換プロットによりデータ中の過剰領域をの可視化する。CQTとして知られている時間-周波数表現を用いて、重力波データを可視化するためによく用いられる方法。

f:id:AI_ML_DL:20210711151032p:plain

f:id:AI_ML_DL:20210711151054p:plain

CQT1992v2を使ってみた。

想定しているサンプリング周波数は、数十kHzのようである。重力波検出器のサンプリング周波数は2048 Hzで、1桁違う。そのためか、Q変換後の画像の形状や解像度を自由に変えることはできなかった。もう少し調べてみよう。 

pycbcはチュートリアルである程度理解できたと思って使ってみたが、whiton、grangeなどは、詳細にふみこまないと、設定できない。公開コードで使われている条件を使えば、論文に掲載されているような画像は得られるが、パラメータの意味を理解してからでないと・・・。

 

7月12日(月)

European Gravitational Observatory - EGO:236 teams, 3 months to go

CQT1992v2の検討:

sr, hop_length, fmin, fmax, n_bins, bins_per_octave, norm, window, center, pad_mode, trainable, output_format, verbose, device

これらのパラメータをプログラム上で変更しながら効果を調べた。調べられる範囲で。

bins_per_ovtaveを変更すると、波数軸の解像度が変わっているように見えた。

hop_lengthを変更すると時間軸の解像度が変わっているように見えた。デフォルトの512は無意味に見えた。

波数分布図の見かけの解像度を上げて、efficientnetを走らせてみたが、時間がかかるので途中でやめた。KaggleのGPUでは時間内にtrainingが終わらないような感じなので、解像度を上げることで予測精度が向上するようであれば、TPUを使うことを検討する必要がある。

ラベル1の画像:重力波が検出されている画像を何十枚か眺めてみたが、3枚の画像すべてけ検出されていると目視で判定できる画像は10%もないように思う。そんな易しい課題である筈はないと思うのだが、どうすれば良いのか、わからない。


7月13日(火)

European Gravitational Observatory - EGO:247 teams, 3 months to go

スコアが上がらないな。GW150914の重力波検出に始まって数多くの重力波が検出されている。このコンペは、埋もれた信号を、データサイエンスの力でどこまで掘り出せるかを競うものであり、主催者の目的が明確で、挑戦的な内容になっているような気がしている。Q変換画像からヒトの目で検知できるものは、予測結果が1.0に集中し、そこから急激に減衰し、0.8くらいで最小値になったあと徐々に高くなって、0.2付近にブロードなピークを持つ。0.7から1.0の間の分布が少なすぎる(小さすぎる)ように思う。

(上に転記した)pycbcのチュートリアルに示されているような手順にしたがって丁寧に解析し、シミュレーションによって作成した様々な重力波の波形を用いて波形探索を行い、重力波受信領域を絞り込み、絞り込んだ領域について、さらに詳細な解析をしてはじめて明らかになるような重力波の検出プロセスを、機械学習モデルによって簡略化することが求められているのだろう。

重力波が検出されているかどうかの判定:15 Hz以下の低周波成分の除去:ローパスフィルターとハイパスフィルターの組み合わせ:3つの検出器で、ある時間差以内に、同時検出されている事:検出されている≡周波数変換画像において特定の領域の強度が高い:

EfficientNetのサイズによって予測精度はどのくらい違うのか、調べてみた。

B1からB7まで変えたとき、val_aucは、およそ、0.861から0.863まで変化した。B7の計算時間はB1の2.8倍かかった。サイズ効果はほぼ単調増大であったが、こういうのは非常に珍しい。モデルサイズだけ変えるのは容易なので、時間さえあれば、他のパラメータを固定して、計算させてみるのだが、このように、val_aucがモデルサイズに対して単調に増大するのは珍しい。imagenetやciferのようにデータ量が膨大な場合にこのようになるようだ。このコンペもデータ量は多い方だと思う。

 

7月15日(木)

Radiological Society of North America:50 teams, 3 months to go

RSNA-MICCAI Brain Tumor Radiogenomic Classification
Predict the status of a genetic biomarker important for brain cancer treatment 

multi-parametric MRI (mpMRI)の画像からMGMT promoter methylationが生じているかどうかを判定するもの。データサイズは大きいが、訓練画像は585セットしかない。1セットの画像は、4種類のMRI画像からなる。4種類の画像セット全体を使って訓練することはできるのか。1種類毎に訓練/予測して最後に多数決をとるとか、平均をとるとか。

公開コードの1つは、1組の画像から何枚か等間隔で抜き出した画像を重ね合わせて2次元化(平均化)した画像を使っているようである。それでもある程度のスコアが出ているところが面白い。重ね合わせるかわりに、並べてみるのも面白そうだ。

汎用的なモデルに当てはめようとせずに、病巣の特徴を抽出するためにどうすれば良いのかを、いろいろ、考えてみよう。

 

7月16日(金)

RSNA-MICCAI Brain Tumor Radiogenomic Classification:65 teams, 3 months to go 

このコンペに関する論文がある。

U.Baid, et al., “The RSNA-ASNR-MICCAI BraTS 2021 Benchmark on Brain Tumor Segmentation and Radiogenomic Classification”, arXiv:2107.02314, 2021.

セグメンテーションと分類(MGMT)の2つのテーマが走っていて、Kaggleが後者のテーマを受け持っている。

 

***ペースダウン*** 

 

8月1日(日)

毎日、Kagglerやってたけど、2週間くらい前から状況が変化してきていて、これからは、土日Kagglerになると思う。コンペへの参加の仕方も変わってくるだろうと思う。

結果を求めることよりも、データの前処理技術を向上することや、新規な予測モデルを作ることなどに力を入れていきたいと思っている。

 

・・・2021年7月のKaggle散歩は本日をもって終了する! ・・・

 

10月19日にKaggleから届いたメール

Congratulations!

You received a Silver medal for 'RSNA-MICCAI Brain Tumor Radiogenomic Classification'

すっかり忘れていたので驚いた。

リーダーボードを見ると、確かに、トップ5%以内に入っている。

public leaderboardでは、下位(70%くらい)であった。

自分の投稿した結果を見ると、Public スコアは大きく違わないにもかかわらず、2件以外は、Privateスコアが-1.000となっている。

overfittingにならないように注意した結果だと言えなくもないが、運が良かっただけのような気もする。

 

f:id:AI_ML_DL:20210701010117p:plain

style=168 iteration=500

f:id:AI_ML_DL:20210701010256p:plain

style=168 iteration=50

f:id:AI_ML_DL:20210701010409p:plain

style=168 iteration=5