スタディ一覧

スタディ 01 · 強化学習・グラフニューラルネットワーク

強化学習を用いてTSPの経路を生成するグラフモデル

2018.09–2021.06・学部研究生
公開コード

都市をグラフで表現し、経路へ追加する都市を強化学習で選ぶ探索プログラムを実装しました。

  1. 1グラフによる表現

    都市、距離、訪問状況

  2. 2Structure2Vec + Q-learning

    各都市に対するQ値の算出

  3. 3都市の選択と経路への挿入

    モデルが選択した都市をヒューリスティックに基づいて挿入

強化学習の設計

状態
都市のつながり(隣接行列)と距離、すでに経路に入った都市
行動
次に経路へ加える都市を選ぶ
報酬
都市を加えて伸びた経路長をそのまま減点

NeurIPS 2017グラフ組み合わせ最適化研究を参考にした実装

Reinforcement learningStructure2VecDeep Q-learningGraph neural networkTensorFlowNumPy

担当した役割と成果

研究目標
都市が増えるほど組み合わせの数が急激に増えるTSPで、既存のアルゴリズムより速く短い経路を見つけることが目標でした。指導教員とともに強化学習で取り組みました。
担当する役割
参考文献のグラフ表現とQ学習(Q-learning)のアイデアに基づき、TSP環境、モデル、学習ループ、挿入ルールを統合する実験用コードを実装しました。
成果
都市の位置、距離、訪問状況をグラフとして入力し、モデルが選んだ都市を挿入ヒューリスティックで経路に追加する探索プログラムを作成しました。公開コードでベースラインと比較する実験を行い、学習がうまく機能しなかった原因も突き止めました。

自ら実装・分析したもの

  • ノード、エッジ、訪問状態を含むグラフ環境と、経路コストの記録
  • Structure2Vec埋め込みとQ値評価
  • 複数ステップの報酬累積と経験サンプリングをつなぐ探索ループ
  • 都市はモデルが選択し、挿入場所は挿入ヒューリスティックが決定する構造

ベースとなった研究・公開モデル

  • NeurIPS 2017グラフ組み合わせ最適化研究のStructure2Vec・強化学習アプローチ

実験結果と試行錯誤

短縮学習では、ランダム挿入と比較して改善は見られませんでした。

元の設定で学習させたところ、ポリシーがすべての都市に対して同じQ値を出力し、都市が番号順に選択される結果となりました。

  • TensorFlow 2.15
  • 3シード
  • エピソード数:10,000 → 100
50都市のデータセットにおいて、学習済みポリシーと最遠挿入法が、1都市ずつ経路を構築していく様子を示すアニメーション。学習済みポリシーは番号順に都市を選択し、OR-Toolsと比較して1.12倍の長さの経路を生成します。一方、最遠挿入法は1.08倍の長さの経路を生成します。
都市数50の課題における経路生成の過程です。学習ポリシー(左)は番号順に都市を選択し、OR-Toolsの結果と比較して1.12倍の長さの経路を生成しました。一方、最遠挿入(右)では1.08倍の長さの経路となりました。以下の表は、複数の課題における平均値を示しています。
  • +12%上記「50都市」の例:OR-Toolsによる、より長い経路の計算結果
  • 改善状況未確認ランダム順序の挿入と比較した短縮学習
  • 2つコード内で特定された原因
  1. 期待

    学習されたQ値に基づき、経路が短くなるような都市を選択する

  2. 当時の判断

    学習が進むほど経路コストは下がったが最適解には届かず、都市が多く十分に探索できなかったと考えた

  3. 実際

    すべての都市のQ値が同じになったため、番号順に選択しました。

  4. 原因

    正規化を行わずに近傍の和をとったことで値が急増し、TDターゲットが開始都市のみを参照するようになっていた

問題と解決策

  1. 問題都市数ごとに行列のサイズが異なるため、入力サイズが固定されたニューラルネットワークにそのまま入れられませんでした。

    解決Structure2Vecで都市ごとに埋め込みを作り、評価ネットワークが未訪問の都市ごとにQ値を付けるようにしました。

  2. 問題次の都市を選択するだけでは、経路上のどの位置に配置するかは決まりません。

    解決都市の選択は学習モデルが行い、挿入位置は経路長が最も増加しにくい場所を探すヒューリスティックが決定するという組み合わせを採用しました。

  3. 問題短い経路が出現しても、それが学習効果によるものなのか、挿入ルールの効果によるものなのかを判別するのは困難です。

    分析・検証都市の順序をランダムにした場合でも、同様の挿入ルールを適用して比較を行い、Q値およびTDターゲットの算出過程を追跡しました。ショートカット学習(short-cut learning)においては、学習ポリシーの改善は確認されませんでした。

実験の比較と詳細な結果

50都市のデータセットにおける、学習済みポリシーが生成した経路とOR-Toolsによる経路。学習ポリシーのパスは1.12倍長く、左側には長いエッジが交差しています。
完成した2つの経路です。学習ポリシーによる経路(左)は、OR-Toolsによる経路よりも1.12倍長く、長いエッジが交差しています。
20都市問題における、経路が構築されていく4つの段階。選択された都市、切断されたエッジ、および新しいエッジが表示されています。
経路の作成方法です。ポリシーによって次の都市(オレンジ色の点)が選択されると、挿入関数が、経路の長さが最も増えにくい箇所のエッジ(点線)を切断し、新しいエッジで接続します。
50都市および100都市問題における、手法別の平均経路長の比率。学習ポリシー:1.13および1.12、ランダム順挿入:1.14および1.13、最遠挿入:1.05および1.06。
OR-Tools を 1.00 とした平均パス長。学習方針はランダムな順序挿入とほぼ同じであり、単純な最元挿入よりも長かった。
OR-Tools解に対する平均経路長の比・学習範囲は都市30~400個・3つのseedの学習方策がすべて同じ経路を出しました
都市数(課題数)学習済みポリシーランダム順序 + 挿入円の挿入最近傍点学習済みポリシー vs ランダム(ウィルコクソン検定のp値)
20(100)・学習範囲外1.111.111.031.180.96
50 (50)1.131.141.051.210.24
100 (30)1.121.131.061.220.38

観察された原因と残された課題

  1. Q値爆症

    正規化なしで完全グラフ全体を加算したため、Q値が数百万単位まで増大し、更新時の損失が10¹⁵のオーダーにまで跳ね上がりました。

  2. TD目標値エラー

    目標値が「残りの都市」ではなく、常に「開始都市」のQ値に基づいて計算されており、nステップ後の状態も1つずれていました。

  3. エピソードを100回分に短縮

    大きなグラフは1エピソードあたり約45秒かかるため、10,000回繰り返すとシード(seed)あたり5日以上かかります。回数のみを減らし、その他の設定はそのままにしました。

結果の読み方

  • 原論文の完全な再現ではない(ターゲットネットワークなし、nステップ方式が異なる)
  • 設定されたエピソードの1%のみを学習
  • 最後まで学習させた場合の性能は不明
次の実験で補完すべき点
  • 小さな問題で、まず正解と照らし合わせてみる
  • 近傍合計の正規化と目標値修正
  • ランダム順序の基準線を最初から配置する
最近のプロジェクトに関連する点

初めてニューラルネットワークを自分でコードとして実装した研究でした。グラフの要素や関係性を学習入力として表現した経験が、家具のパネルや面を認識する現在の研究につながっています。

家具パネルを認識し、サイズ変更を算出するAI