Recruit Data Blog

  • はてなブックマーク

目次

はじめに

R&D組織でシニアマネージャーをしている高橋 諒です。New Orleansで開催された機械学習の国際会議 「Neural Information Processing Systems 2022」 に参加してきました。 本記事ではNeurIPS 2022の概要と私が気になったポスター発表を4本紹介します。紹介で用いる図は断りのない限り論文や発表スライドから引用したものです。

NeurIPS 2022開催概要

今年のNeurIPSは3年ぶりにオフライン開催が復活し、

  • 11/28~12/01: 招待講演やポスター発表@New Orleans
  • 12/02~12/09: チュートリアルや口頭発表@バーチャル

のハイブリッド開催でした。

2,672本のポスター発表(Main Conferenceトラックのみ)に加え、招待講演ではニューラルネットワーク研究の先駆者であるGeoffrey Hinton博士が登壇するなど豪華な内容となったNeurIPS 2022。各種Statsを確認していきたいと思います。

採択論文

まずは公式サイトで提供されていた論文マップをもとに、どのようなテーマの論文が採択されていたのかを見てみました。グルーピングは私個人の見解によるものですので、参考程度でお願いします。

NeurIPS 2022の論文マップ
NeurIPS 2022の論文マップ(公式サイトより引用)

昨年 と比べるとFairnessやFederated Learningがクラスタとして分かりやすくなってきた点が特徴かもしれません。また昨年はTransformerの名を冠した発表が数多く見られましたが、今年は少し減少傾向な感じがします。

採択数については、9,634本の投稿に対して2,672本の採択(採択率: 27.7%)がされていました。久しぶりのオフライン開催ということで、昨年よりも投稿数が増加していますね。口頭発表には184本がメイントラックとして選ばれ、16本が昨年より追加された"Datasets & Benchmarks"トラックに選ばれていました。

採択論文のトピック分析

論文マップとも少し重複しますが、Opening Remarksで採択論文のタイトルに対するBi-gramでの出現頻度集計の結果が発表されていたのでご紹介します。

まずはTOP10までです。

NeurIPS 2022論文タイトル集計(Bi-gram)
採択論文タイトルのBi-gram集計Top10(Opening Remarksの資料より引用)

Neural NetworkやReinforcement Learningなどお馴染みのトピックが上位に来ている一方、Federated Learningの出現頻度が高いことがOpening Remarksでも指摘されていました。

TOP11~30までの顔ぶれもご紹介します。

NeurIPS 2022論文タイトル集計TOP11-30(Bi-gram)
採択論文タイトルのBi-gram集計Top11~30(Opening Remarksの資料より引用)

こちらにもOptimal TransportやDistribution Shiftなど例年とは少し異なるトピックが出現しており、直近の研究動向の変化が見て取れます。

ポスター発表

ここからはNeurIPS 2022のポスター発表の中から私が個人的に興味を持った論文を4本紹介します。

Dataset Distillation using Neural Feature Regeression

データセット蒸留(Dataset Distillation) はオリジナルとなる大規模なデータセットから上手く情報を抽出した少量のデータセットを生成し、その生成したデータセットでモデルを学習することで学習コストの低下やデータセットの蓄積/シェアを容易にすることを目的とするKnowledge Distillation手法の1つです。要するに、大規模な元データと同じぐらいの精度を少ないデータで実現できるように、学習データを生成しちゃおうというアイデアですね。このプロセスは二段階のメタラーニングとして表現できます。

Dataset Distillationの定式化

ここでAlg(θ, S)は初期パラメータθと蒸留により生成したデータセットS(ラベルとデータの対)を入力として、何かしらの学習アルゴリズムAlgにより最適化されたニューラルネットワークのパラメータセットを表しています。このパラメータの学習部分をinner-levelと呼びます。L(Alg(θ, S), τ)はinner-levelで得たパラメータを持つニューラルネットワークをオリジナルのデータセットに適用したときのバリデーションロスを示します。実際には、初期値によるノイズが発生するので、その損失の期待値であるF(S)を最小化する生成データセットSを求める(outer-level)というのがゴールになります。 このプロセスにおける課題は下記の2つであると著者らは述べています。

  1. outer-levelを解くためにはinner-levelの勾配(メタ勾配: ∇S L(Alg(θ, S), τ))を求める必要があり計算コストとメモリが膨大になる
  2. 少量の生成データに対してモデルパラメータの学習を行うため過学習しやすい

1の課題に対しては、メタ勾配の計算においてニューラルネットワークの特徴量抽出部は固定して、最終層(線形分類器)のパラメータのみを対象とするアプローチをとっています。そうすることでL(Alg(θ, S), τ)はカーネルリッジ回帰の形でシンプルに表現することができ、メタ勾配の計算がシンプルになります。

inner-levelの式変換

蒸留データセットSの更新はそれぞれ、データについてはXSXS - α∇XSL、ラベルについてはYSYS - α∇YSLで行い、更新されたSを用いてモデルパラメータθを更新する流れになります。

2の課題に対してはPθからランダムに初期化したモデルのプール{θi}i=1,…,mを作成し、そのプールからメタ勾配計算とその更新タイミングごとにサンプリングする方法を提案しています。こうすることで多様なモデルパラメータに対して生成データセットSをフィットさせることになるため過学習を防ぐことを目指しています。

CIFAR-100 に対して1クラスに対して1枚の蒸留データを作成して学習した場合のテスト精度の結果(a)を見ると、提案手法(FRePo)が他のデータ蒸留手法に比べて100倍短い学習時間でSOTAの精度を実現できています。更にモデルサイズを大きくしていった際の最大GPUメモリ使用量においても最大10倍近い削減ができています。

FRePo実験結果: テストデータへの精度とGPUメモリ使用量

実際に生成されたデータを見てみると、既存手法よりも明らかに自然で実データに近いことがわかります。

FRePo実験結果: 生成されたデータの比較

CLIPDraw: Exploring Text-to-Drawing Synthesis through Language-Image Encoders

この論文では、入力したテキストの内容に沿って自然な絵を生成するCLIPDrawという手法を提案しています。その名の通りテキストと画像共通のマルチモーダル空間を学習する CLIP をベースとしています。 テキストから画像を生成するタスクについてはConditional GANをベースにしたものを始め、最近だと DALL・E Stable Diffusion など活発に研究が行われています。CLIPDrawの特徴は生成ネットワークを学習するのではなく、Synthesis through optimizationという方式を採っている点です。Synthesis through optimizationはランダムに生成した画像と入力文に対する誤差を逆伝播させながら生成画像を最適化していくというアイデアになります。この方式を採用することで、CLIPDrawでは事前学習済みのCLIPモデルがあれば、追加で学習を行う必要がないというのが提案手法の魅力の1つになります。

CLIPDrawの全体図

CLIPDrawでは写実的な画像を生成するのではなく、入力テキストを上手く表現した絵を生成することを目的としています。この上手く表現しているかどうかの判定は事前学習済みのCLIPモデルのテキストエンコーダと画像エンコーダを利用します。具体的には入力された文章のテキストエンコーダ出力と生成した画像の画像エンコーダ出力のcos類似度を算出する形になります。 肝心の画像の生成のプロセスは下記の通りです。

  1. 3-5個の制御点を持つベジェ曲線, 線の太さ, RGBAをパラメータ要素とする曲線N本をランダムに配置して初期画像を生成。
  2. その画像をD枚に複製し、それぞれにランダムなAugmentationを実施
  3. 2の画像をCLIPモデルの画像エンコーダに、入力として与えられたテキストをテキストエンコーダに渡して、cos類似度を算出する
  4. cos類似度ベースの損失を逆伝搬させて、曲線のパラメータを更新する
  5. 2-4を繰り返す
CLIPDraw実験結果: 生成画像比較

実験結果を見てみると、他のSynthesis through optimizationを利用した既存手法に比べ、シンプルかつ入力文章をよく表現した画像を生成していることがわかります。生成プロセスの2に記載したAugmentationをしなかった場合には全く入力文を想起できない画像が生成されている点は面白いですね。

CLIPDraw実験結果: 考察

更に興味深い点としては、CLIPDrawで生成した画像には時折、入力された文章に含まれる単語を画像内に描画するケースがある点です。例えば、“Yeti taking a selfie"という入力文に対する生成画像では右上に"Yeti"という単語が描画されていますね。また、日本語で"自転車"を入力にした場合には、GoogleMapsでの経路のようなものが描画された上で右上に漢字のようなものが登場しています。 “Fast Food"を入力を渡すと、McDonaldのロゴとハンバーガーの他にジョギングしている人が描画されます。これは"fast"の持つ意味の多様性を表現していると考えられます。

CLIPDrawのソースコードは下記URLから確認することができるので、色々な入力文を渡して遊んでみるのも楽しいと思います。 https://colab.research.google.com/github/kvfrans/clipdraw/blob/main/clipdraw.ipynb

Diffusion-LM Improves Controllable Text Generation

続いて紹介するのは画像生成系で大きな成果を残しているDiffusionモデルを文章生成に応用した論文です。 自己回帰型の大規模言語モデル(e.g., GPT-3 , PaLM )を用いることで高い品質の文章を生成できることは周知の事実ですが、実世界での応用においては多様な条件(トピック、文章の構成など)にフィットした文章を生成したいケースがほとんどかと思います。その場合、言語モデル自体をその条件にフィットするデータでFine-tuneするのが王道的なアプローチですが、多様な条件に対してそれぞれのモデルを作成するのはコストがかかりますし、複数の条件を満たす文章の生成は困難です。 これに対し、学習済み言語モデルのパラメータを固定した上で、条件を満たすかどうかの判定を行う分類器を別で作成し、その分類器の結果を使って生成プロセスを操作するPlug and Playアプローチが存在します。しかし、こちらのアプローチも、特に自己回帰型の言語モデルでは順番に単語を生成していく性質上、文章の構成や内挿など文章全体や将来的な単語にも操作が必要となるような条件では上手く機能しません。 このPlug and PlayアプローチをDiffusionモデルに適用したというのがこの論文の提案内容になります。

Diffusion−LMの全体図

まず重要なのは、提案手法においては自己回帰型ではなく単語ベクトルの集合体としての文章全体に対して条件を満たすかどうかの分類器を適用しフィードバックしていくという点です。これにより、既存手法で生じていた問題を解決していきます。 Diffusionモデルを自然言語に適用するにあたり、大きく2つの課題が存在します。

  1. 離散型である単語(文章)をどのように連続値としての空間に埋め込むか
  2. 連続値として得られたベクトルをどのように単語に丸めるのか
Diffusion-LMにおける単語と連続値ベクトルの変換方法

これらの課題を解決する工夫については少々複雑になるため詳細は割愛しますが、キーポイントはDiffusionモデルのパラメータと単語の埋め込みをEnd-to-endで学習するという点になります。End-to-endにするために順方向(noising)におけるテキストwからx0の間にマルコフ遷移を仮定し、逆方向(denoising)ではx0を離散的なテキストであるwに的確に変換(丸め込み)できるようにステップを追加し、目的関数をリパラメトライズしています。

Diffusion-LM実験結果: 生成文章

実際に E2Eデータセット ROCStoriesデータセット で学習した提案モデルに対し、6つの生成条件を設定して文章を生成した結果が上の表になります。シンプルなコンテンツに対する条件だけでなく、文構造や内挿といった複雑な条件にも上手く対応した文章生成ができていることが確認できます。 学習やdenoisingが遅いという問題はあるようですが、画像解析で活躍しているDiffusionモデルが自然言語処理でも革新を起こしそうですね。

TransTab: Learning Transferable Tabular Transformers Across Tables

テーブルデータに対する機械学習モデリングでは一般的に、学習とテストでテーブル構造は同じであることを仮定しています。では学習とテストでテーブル構造が異なる場合はどうしたら良いでしょうか?この論文ではテーブル構造が変わっても柔軟に対応ができるTransferable Tabular Transformer(TransTab)を提案しています。

TransTabの想定適用ケース

TransTabでは上の図のように、ある時期からカラムが追加されたことで学習データ内でカラムが一部しか被っていないようなケース(右上)や全く別のデータを用いて学習した学習済みモデルを異なるドメインのデータでFine-tuneして適用するケース(左下)にも対応できます。 キーとなるアイデアはテーブルデータにおける要素とは何なのかを考えることにあります。例えば画像データにおける要素はピクセルであり、自然言語処理では単語やトークンが要素となります。一方でテーブルデータでは各列のセルの値を要素として扱います。列は一意なインデックスとして扱われ、モデルはセルの値を学習と推論に利用します。TransTabでは列名とセルの値を複合したセンテンスを要素として扱います。例えば、性別(gender)という列に{man: 0, woman: 1}という規則に従って0が入っている場合、TransTabでは”gender is man“という文章に変換してインプットにします。

TransTabの全体図

上の図がTransTabのモデルアーキテクチャになります。インプットとなるテーブルデータの各列とセルの値をトークンに変換するinput processerという処理がこの提案手法の肝になります。このトークン化では列名の意味表現を利用するため、学習データに含まれない列が現れたとしてもトークン化した際にその列が持つ意味合いを考慮できることになります。これにより、TransTabでは"smoking history"という列と"previous smoked"という列が2つの異なるテーブルに存在していたときに、その2つの列が本質的に同じことを指しているという事実をモデルに組み込むことができます。 また、提案手法では各列のデータ形式(categorical/text/binary/numerical)によって処理を分けています。例えば、binaryデータ形式でセルの値が0の場合は、計算コストを考慮して、その要素は省略するなど、データ形式ごとに工夫をしています。こうしてデータ形式によってそれぞれの処理を行いトークン化された各列の要素はレコード単位で結合され1つの埋め込みベクトルとなります。こうして得られた各データの埋め込みベクトルをtransformerブロックのインプットとして渡して学習を行います。

論文中では5つのデータセットでTransTabの性能を実験しています。実験に利用したデータセットはいずれも 臨床試験での生死を予測する二値分類用のデータセット で、データ構成は異なるものになります。

TransTab実験結果: データセット概要

これら5つのデータセットに対して、4つのユースケースでの性能検証を行っています。このブログではそのうち3つの結果を紹介します。 1つ目はFeature Incremental Learningです。実応用においてあるタイミングで追加される特徴量が発生したり、情報が入らなくなる列が発生することはしばしばありますよね。このケースではそれぞれのデータセットを3つのサブセット1,2,3に分割し、サブセット1のいくつかの列を削除、サブセット2ではその削除した列の一部を追加、サブセット3では削除された残りの列すべてを追加という形で、2つのタイミングで追加で得られるデータが増えたシチュエーションを再現しています。TransTab以外の手法においては、下記2パターンで学習と評価を行い、結果が良い方を採択しています。

  • 1~3すべてのサブセットを学習に利用するが、サブセット1に含まれる列(特徴量)のみで学習と評価を行う
  • サブセット3のみを使って学習と評価を行う

TransTabは3つのサブセットすべてを使い、且つそれぞれのサブセットに含まれるすべての特徴量を学習に使用することができます。各手法でのROC-AUCは下記の通りです。

TransTab実験結果: Feature Incremental Learning結果

TransTabは5つのデータセットすべてに対してROC-AUCが最も高くなっています。これは既存手法がデータの数か扱う特徴量の数のどちらかを犠牲にしているのに対し、TransTabではどちらもフルに学習に使うことが出来ているためでしょう。

2つ目のユースケースは転移学習です。このユースケースではそれぞれのデータセットを2つのサブセット(set1, set2)に分割し、そのサブセット間の50%の列は共通、残りの50%はもう片方のサブセットに含まれない列となるように加工を施します。既存手法ではそれぞれのサブセット内で学習と評価を行います。TransTabはset1で評価をする場合には、まずset2で事前学習を行い、set1の学習データでFine-tuneを行ったモデルを適用します。

TransTab実験結果: 転移学習結果

このユースケースでもほとんどのパターンでTransTabが高いROC-AUCを叩き出しています。これはTransTabがある程度異なる構造を持つテーブルデータ間であっても共通する知識や意味合いを学習できていることを示しています。

最後に紹介するユースケースはZero-shot Learningです。このユースケースではそれぞれのデータセットを3つの同じサンプルサイズを持つサブセット(set1, set2, set3)に分割し、各サブセット間で被りが生じないように列を割り振ります。そのため各サブセット間で共通する特徴量は目的変数以外は存在しない状態になります。このサブセットに対して下記3パターンで精度比較をしています。

  • Zero-shot … set1とset2を学習したモデルでset3のデータに対して予測を行う
  • Transfer … set1とset2を学習したモデルに対してset3の一部のデータでFine-tuneを行った上でset3の残りのデータに対して予測を行う
  • Supervised … set3のデータで学習をして、set3のデータに対して予測を行う
TransTab実験結果: Zero-shot Learning結果

驚くことにほとんどのデータセットに対してZero-shot Learningがset3のデータで学習を行っているSupervised LearningよりもROC-AUCで上回っています。同じデータセットを分割しているため、完璧なZero-shot Learningと言えるかは論点になりそうですが、TransTabが学習データからある程度汎用的な知識を取得できているということは言えそうです。今後、TransTabがテーブルデータにおける基盤モデルの基礎技術になるかもしれませんね。

おわりに

いかがでしたでしょうか?本記事では、NeurIPS 2022の概要とポスター発表から気になった論文4本について紹介しました。 後半では分野ごとの研究トレンドをまとめます。

一緒に働きませんか?

弊社では、様々な職種のエンジニアを募集しています。興味のある方は、以下の採用ページをご覧ください。

Ryo Takahashi

シニアマネージャー

Ryo Takahashi

R&Dや非構造データ解析を担当しています