[論文] 信用データではSSLはGBMに届きません。しかし統合すると改善します
信用の貸し倒れ予測で、自己教師あり学習(SSL)はGBMより良い性能を出せるでしょうか。公開データ(AMEX)で実験したところ、SSL単体ではGBMに届きませんが、GBMの特徴量に統合すると統計的に意味のある改善が見られました。そしてそのゲインは、GBMが安全と見た顧客の中に隠れた貸し倒れに集中していました。
この記事は連載「論文」シリーズの第1回です。自分で回した実験を一つ、実務者の目線で噛み砕いて紹介します。
Part 3で、表形式の信用データでは、ディープラーニングではなく決定木ベースのブースティング(GBM)のほうが性能が良いと述べました。そして、ディープラーニングが活きる場所はコアモデルではなく非構造化の補助データの側だとも書きました。この記事は、まさにその境界を公開データで直接実験した記録です。
問いはシンプルです。信用の貸し倒れ予測で、自己教師あり学習(SSL)はGBMより良い性能を出せるでしょうか。自己教師あり学習は、ラベルなしで生データから表現を学ぶ方法で、BERTやGPTがテキストで、SimCLRやMAEが画像で大きな成功を収めたあのアプローチです。これを顧客の取引系列に適用するとどうなるでしょうか。
先に結論を言うと、問いそのものが少しずれています。SSLはGBMを置き換える候補ではありません。GBMに補助的な特徴量として加えるときだけ、一貫して役に立ちます。その過程を四つに分けて整理しました。
実験はこうしました
公開データだけを使いました。AMEX Default Prediction(Kaggle 2022)の顧客45万9千名、一人あたり最大13か月の匿名化された取引記録です。顧客単位で80/10/10に分け、すべての実験が同じ分割を使うよう固定しました。
性能はこの大会の公式指標を使います。貸し倒れ(少数クラス)をどれだけよく捉えるかを、Giniと上位4%の捕捉率で混ぜたスコアで、0.79付近で0.001の差が意味を持つほど細かい指標だと押さえておけば十分です。
比較対象は二つです。
- GBMベースライン: 手作りの特徴量1,291個 + LightGBM。公開された上位ソリューションの設定そのままで、リーダーボードtop-10水準(test 0.79558)です。
- SSLエンコーダ: 小さなトランスフォーマー(約87万パラメータ)を四つの方式(マスキング、次ステップ予測、コントラスティブ、ハイブリッド)で事前学習しました。
すべてノートPCのGPU1台(8GB)で20時間ほど、クラウド費用0円で回しました。
発見1: SSL単体ではGBMに届きません
四つのSSL方式をすべてfine-tuneしても、最良でtest 0.79267でした。GBMベースライン0.79558に届きません。差は0.003ほどと小さいですが、評価の組み合わせ八つのうち、GBMより良かったものは一つもありませんでした。方向は一貫しています。
面白いのはラベルを減らしたときです。SSLの定番の長所は「ラベルが少ないときに強い」ですが、ここでは逆でした。ラベルを1%、5%、25%、100%と減らしながら比べると、GBMがすべての区間で良く、差はラベルが少ないほどむしろ広がりました。1%では差が0.05まで開きました。
理由は察しがつきます。4千名で87万パラメータのトランスフォーマーを学習させるのは過剰です。一方でLightGBMは強い正則化で少ないデータでも安定し、何よりドメイン知識が凝縮された特徴量1,291個をもとに、必要な分だけ育ちます。Part 3で述べた「表データでは決定木が強い」が、ここでも確認できます。
発見2: 評価方法によって結果が変わります
これは少し衝撃的でした。同じように事前学習したエンコーダを、二つの方法で評価しました。一つはエンコーダを固定したままロジスティック回帰だけを付ける方法(linear probe)、もう一つはエンコーダまで全部学習し直す方法(full fine-tune)です。
ところが、四つの方式の順位が評価方法によって完全にひっくり返りました。「ハイブリッド」方式はlinear probeで最下位でしたが、full fine-tuneでは1位でした。同じモデルなのに、二つの評価のスコア差が0.058も出ました。
ここから得られる教訓は明確です。ある論文はlinear probeだけを見て「この方式が一番弱い」と結論づけ、別の論文はfine-tuneだけを見て「一番強い」と正反対の結論を出しうる、ということです。どちらも自分の実験の中では正しい。だから、tabular SSLの結果を見るときは、どの評価方法を使ったかをまず確認しなければなりません。
発見3: しかしGBMと統合すると改善します
ここで結果が変わります。SSLエンコーダが作った128次元の埋め込みを捨てずに、既存の特徴量1,291個にそのまま統合してGBMに入れてみました。
最初は異なる三つの事前学習シードで繰り返し、三回ともベースラインより良い結果でした(平均 +0.00142、t=4.1)。ただ、シード三つでは分散を楽観的に見積もりやすいので、六つに増やして見直しました。六つともベースラインより良かったものの、ゲインは平均 +0.00117(test 0.79675)、標準偏差 0.00098、t値は約2.9(自由度5)に下がりました。最初より小さく、正直な値です。それでも六つのシードがすべて同じ方向だという点は、このゲインが偶然ではないことを示します。
数字そのものは小さいです。ただ、この小さなゲインがどこから来るのかを掘り下げると、それほど小さくはありません。
SSLは何を補うのか: ドメイン知識の半分を再発見
GBMに入る特徴量1,291個は、単なる前処理ではありません。「最後の値」「トレンドの傾き」「欠損パターン」といったもので、数十年のドメイン知識がデータパイプラインにあらかじめ刻まれた結果に近いものです。言うなれば、人が手で行った事前学習です。
では、SSLのニューラルネット事前学習は、それとどれくらい重なるのでしょうか。GBMが最も重要と見た上位100個の特徴量を外して学習し直すと、スコアが0.00592下がります。そこにSSLの埋め込みを加えると、そのうち0.00324が回復しました。回復率は約55%です。
言い換えると、SSLは、専門家が手で作った上位特徴量が持つ情報の半分ほどを、ラベルなしで生データから自力で再発見します。残りの半分は見つけられません。業務カレンダーの意味や欠損の定性的な解釈のように、生の信号に表れていない情報だからです。
そのゲインはどこに隠れているのか: 安全に見える顧客
平均 +0.001ほどが、すべての顧客に均等に広がっている理由はありません。GBMの予測スコアで顧客を10分割し、分位ごとにゲインを見たところ、片側に集中していました。
GBMが「この人は貸し倒れることはほぼない」と確信した安全な分位(予測下位0〜3分位)で、ゲインが +0.02から +0.03に集中しました。残りの分位ではほぼ0です。
なぜこれが重要かは、Part 1の非対称なコストを思い出せば分かります。信用で最も高くつく間違いは、貸し倒れる顧客を「安全」と誤分類することです。損失が100%現実化するからです。SSLの埋め込みが捉えるのは、まさにその安全に見える顧客の中に隠れた貸し倒れ、つまりsilent defaultです。平均の数字が示すよりも、実際の有用性は大きいのです。
だから実務では
整理すると、こうです。
- SSL単体のモデルでGBMを置き換えようとしないでください。単体の性能はGBMに届きません。ラベルが少ないほど顕著です。
- 代わりに補助的な特徴量として使ってください。エンコーダ一つの128次元埋め込みを既存の特徴量に加えてGBMに入れると、安定したゲインが得られます。コストも事前学習1時間ほどで、GBMのハイパーパラメータをもう一度回すより軽いです。
- 平均ではなく分位ごとの損失で判断してください。+0.001は小さく見えても、安全な分位の隠れた貸し倒れを減らす効果はそれより大きいです。
- エンコーダは一つで十分です。欲を出して四つのエンコーダの埋め込みをすべて統合してみたら、学習スコアは上がってもtestはむしろ下がりました。典型的な過学習です。「事前学習の方式を多く足すほど良い」というNLPの直感は、ここでは通用しませんでした。
正直な限界
この結果は、次の限界の中でのみ有効です。
- データが一つです。AMEXという一つのデータセットなので、ほかの信用分野への一般化は保証できません。
- エンコーダが小さいです。87万パラメータなので、もっと大きくすれば55%の回復率が上がる余地があります。
- シードは六つです。最初の三つではt=4.1でしたが、六つに増やすとt≈2.9と、より正直で保守的な信号になりました。さらに増やす余地は残っています。
- ランダム分割で、このデータではまともなout-of-time検証が難しいです。AMEXは匿名化の過程で、すべての顧客の最後の取引が2018年3月の一か月に固まっており、時間で分けても数日の差にしかなりません。景気サイクルや季節性のような本当の時間移動を試すには、時間の幅が広いほかのデータが必要です。Part 3で強調したout-of-time検証をきちんと行うことが、最も重要な今後の課題です。
これらの限界の中でも、六つのシードがすべて正の方向であること、55%という回復率、そして一つの分位に集中したゲインは、確かな信号だと考えています。
おわりに
SSLが信用で「通用する、しない」は、最初から間違った問いでした。本当の問いは「どこでどう役に立つのか」でした。SSLはGBMの競争相手ではなく、補助的な特徴量です。その価値はGBMが安全と見た顧客の隠れた貸し倒れに集中しており、エンコーダは一つで十分です。
Part 3で「ディープラーニングが活きる場所は非構造化の補助データ」と書きましたが、この記事はその一文を数字で確かめた記録です。
付録: コードとデータ
- データ: AMEX Default Prediction (Kaggle 2022), 公開データ
- コードと論文: github.com/HangilKim11/blog-research/tree/main/ssl-credit-risk
- 再現: 8GBのノートPC GPU 1台で20時間ほど