部材の逐次的な付加・除去過程を訓練した強化学習エージェントによる平面トラスの位相最適化
Topology Optimization of Planar Trusses by Reinforcement Learning AgentsTrained for the Sequential Member Addition and Removal Process○林 和希*1，大崎 純*2
Kazuki HAYASHI＊1 and Makoto OHSAKI＊2*1 京都大学工学研究科建築学専攻

助教

博士(工学)

Assistant Professor, Department of Architecture and Architectural Engineering, Kyoto University, Ph.D.
*2 京都大学工学研究科建築学専攻教授

博士(工学)

Professor, Department of Architecture and Architectural Engineering, Kyoto University, Ph.D.
キーワード：構造最適化; 位相最適化; グラフ埋め込み; 強化学習; 機械学習
Keywords: Structural optimization; topology optimization; graph embedding; reinforcement learning; machine learning.

1. 序maxi n , j1,2, k 1,2

著者らはこれまで，不規則な接続関係を有するデータ(ui, j,kAi  A  10−5 , A構造から部材の特徴量を抽出するグラフ埋め込みと深層)u 1(1c)(1d)

強化学習 (Deep-Q Network, DQN) [1]を組み合わせた強化学習手法を提案した[2]．しかし，その手法は密な部材

 m ，  n はそれぞれ存在する部材の集合，存在する節点配置から逐次的に不要部材を除去する一方向的な設計プの集合である．最適化途中で剛性行列が特異となることロセスに限定されていた．強化学習エージェントが部材を防ぐため，除去したと見なす部材には式(1d)のように除去だけでなく部材付加もできるようになれば，任意の存在する部材の断面積 A を 10 倍した微小断面積を与初期位相に対してエージェントを適用した設計変更が可える．

−5能となる．
本研究では，応力・変位制約下で部材総体積を最小化

2.2. 強化学習タスクへの変換することを目的とする平面トラスの位相最適化問題に対部材付加と除去が混在する状況では強化学習エージェ

して，部材の付加と除去を同時に取り扱えるエージェン

ントが同一部材の付加・除去を繰り返すなど冗長な行動

トを定義し，グラフ埋め込みと DQN の複合手法によるを取ることで学習が困難になるおそれがある．したがっ訓練を行う．さらに，DQN の改善手法である Duelingて，以下の手順で冗長な行動を制約して部材付加・除去

Network [3]，QR-DQN [4]，Double Q-learning [5], Multi-stepのシミュレーションを行う．図 1 にプロセスを併せて図learning [6]，Prioritized Experienced Replay [7]を導入して示する．

学習効率を向上させる．

① まず，制約を満たさない疎な初期位相からスタートし，制約を満たすまで最も効率の良いと推定した部
材を逐次付加する．

2. 強化学習タスク2.1. 構造最適化問題② 制約を満たしたら，今度は制約を満たさなくなるま

節点位置と初期グランドストラクチャ（GS），支持・で最も効率の良い部材を除去する．このとき，接続荷重条件を与え，存在する（初期 GS から除去されてい部材数が 1 の不安定節点（支持点・載荷点除く）にない）部材 i の荷重条件 j での応力  i , j の絶対値が上限値

 を超えず，存在する（１本以上の存在部材が接続されている）節点 i の荷重条件 j での k 方向の変位 ui , j , k の絶接続する部材も併せて除去する．
③ 制約超過した直前の状態をエージェントが生成した解と見なす．

対値が u を超えないように部材総体積 V を最小化する
トラスの位相を求める次のような最適化問題を考える．
minimize V ( A )subject tomaxi m , j1,2(1a)(i, j) 1(1b)

日本建築学会情報システム技術委員会
第 44 回情報･システム･利用･技術シンポジウム論文集， 319-322 ， 2021 年 12 月，京都
Proceedings of the 44th Symposium on Computer Technology of Information ，Systems and Applications ， AIJ ， 319-322 ， Dec. ， 2021 ， Kyoto

図1

強化学習タスクにおける部材付加・除去過程－ 319 －

3. グラフ埋め込みと深層強化学習

3.2. 特徴量を用いた行動価値の計算

3.1. グラフ埋め込みによる特徴量抽出

本研究では，各部材を除去/付加する設計変更を考慮す

節点数を nn とし，特徴量抽出のために必要な各節点の入るため，最大で 2 nm 個の行動が存在する．トラスの各部

力 値 v̂ =  v1 , , v nn   3 nn と 各 部 材 の 入 力 値ŵ =  w1 , , w nm   7 nm を表 1, 2 にそれぞれ定義する．

材の現状態を表現した特徴行列 μ̂ から各部材に設計変更
ˆ  2nm を θ  nf 1 ， θ  nf 2 を用いを行う行動価値 Qˆ  とみなす．
これらの入力をトラスの状態 s = vˆ , w

表 1: 節点 k の入力値 v k index
12378(ˆ ( μˆ ) = V ( μˆ ) + A
ˆ ( μˆ ) − mean Aˆ ( μˆ )Q

3

入力値の説明ピン支持点なら 1, それ以外は 0荷重条件 1 で節点 に作用する 方向荷重 [kN]
荷重条件 2 で節点 に作用する 方向荷重 [kN]
表 2: 部材 i の入力値 w i index
1234567てまとめて次式で計算する．

7

入力値の説明全部材が存在する場合の荷重条件 1 での応力比
全部材が存在する場合の荷重条件 2 での応力比存在部材は 1，除去部材は 0部材除去の行動が適用可能な場合 1，その他 0部材付加の行動が適用可能な場合 1，その他 0
現在の位相における荷重条件 1 での応力比
現在の位相における荷重条件 2 での応力比)(3a)V ( μˆ ) = θT7μˆ (3b)ˆ ( μˆ ) = θTμˆ
A8(3c)

nf  nmμˆ  は μ̂ の各行の和をとった列ベクトルであり，
ˆ ( μˆ ) のˆ ( μˆ ) は Aトラス全体の特徴量とみなせる．mean A()

各行の平均をとった列ベクトルを行方向に nm 個並べたˆ ( μˆ )行列である．式(3)では，行動価値の推定に状態価値 V()ˆ ( μˆ ) − mean Aˆ ( μˆ ) の 和 を 用 い るとアドバンテージ A

Dueling Network を用いることで，どの行動をとっても次状態や報酬に差違がない場合の推定精度を改善している[3]．
ここではさらに，分布強化学習手法の 1 つである
QR-DQN [4]を用いて式(3)を改良する．DQN では行動価値 Q̂ を近似するのに対し，分布強化学習では行動価値グラフ埋め込みは節点とエッジからなるデータ（グラの分布を近似することでエージェントの性能を改善する．

フ）に対して特徴量を抽出する手法の総称である．ここ分 布 強 化 学 習 の 概 念 を 最 初 に 導 入 し た Categorical

ではエッジの特徴量を図 2 の概念に基づいて抽出する[2]．

DQN [8]では，行動価値の連続分布をカテゴリカル分布抽出する部材特徴量の次元を nf とする．線形変換を行で近似している．ただし，Categorical DQN では行動価

うための学習可能なパラメータ θ1 θ3 nf 3，θ4 nf  nf，θ5 

部材の特徴行列 μˆ (tu ) nf  nmnf  nfnf  7， θ2 nf  nf，θ6 ，

値の上下限値が既知でないとカテゴリカル分布のビン幅を用いて，が決定できない点や，証明された理論と実装で損失関数を次式で更新する．

ˆ + θ2 ( ( θ3 vˆ ) ) CTAμˆ (1) = θ1w
2

μˆ (tu +1) = θ 4μˆ (tu ) + θ5 nf  nf(  θ6 Ck CTAμˆ (t ) T

k =1の設定に乖離がある点などの問題があった．そこで，(2a)u) （ F −1 :Tn ck

QR-DQN で は 行 動 価 値 の 累 積 分 布 関 数 の 逆 関 数(2b)→ 0,1 ）をカテゴリカル分布で近似することで，Categorical DQN の問題点を解消している．ここでは，ビン数を 50 に設定する．したがって，QR-DQNの各成分についを用いるとき， θ7 と θ8 の列数はそれぞれ 50 倍となる．て絶対値をとる行列， C1 は接続行列の−1 の値をとる成

累積分布関数から行動価値 Q̂ を推定するには，各分位点分が 1 で他の成分が 0 の行列， C2 は接続行列の 1 の値において近似した逆関数の値の平均をとればよい．

C A は有向グラフの接続行列 C nm  nnをとる成分が 1 で他が 0 の行列であり， C1 +C 2 = C A の関係にある． nck nf  nmは各部材の k 端に接続する部材数を格納した行ベクトルを列方向に nf 個並べた行列である．  は負の入力に対しては 0.2 倍，0 以上の入力に3.3. 行動価値の推定誤差ある状態 s で行動 a をとり，次状態 s ' と報酬 r を観測したときに訓練パラメータ Θ = θ1 ,, θ8  を変数として対してはそのままの値を出力する Leaky ReLU と呼ば算出する行動価値 Q ( s, a | Θ ) が最小化すべき誤差  を次れる活性化関数を用いる．直接隣接していない部材の寄式で定義する．

与も考慮するため，以下では μˆ = μˆ (3) を現状態における各部材の特徴量と見なす．

 =   t −1rt +  mQ  s ',argmax Q ( s ', a ' | Θ ) | Θ  − Q ( s, a | Θ )
mt =1

a'



(4)

Θ は学習過程で得られる過去の訓練パラメータの値であり，100 ステップごとに現在の訓練パラメータと同期する．式(4)では，元の DQN の行動価値推定から以下の改良を行っている．
図 2 グラフ埋め込みの演算式(2)の概念図

報告 H12－ 320 －図 3 ブロック行列を用いたミニバッチ学習の演算過程(i) Double Q-learning

量 μ̂ B を異なるトラスの入力が互いに連成することなくま

次状態でとる行動を現在のパラメータ Θ を用いて決定し，その行動価値の評価を Θ を用いて行う[5]．行動価とめて計算できる．
同様にしてミニバッチ内全ての部材に対応する行動価値が過大に推定されることを防ぐ効果がある．

値 Q̂ B も式(3)に基づいて計算できるが，μˆ  の計算において(ii) Multi-step Q-learning

ミニバッチ内全ての部材ではなく各サンプルの部材ごと現状態から m ステップ先までの報酬を記憶し，それらに和をとることに注意する．の報酬と m ステップ先の状態での行動価値の推定値を以上の手順で行動価値の計算をミニバッチ化できたの用いて学習を行う[6]．ある行動を選択してから報酬が得で，ミニバッチ内の nb 個のサンプルの Quantile Huber loss

られるまでに遅延がある場合に学習効率を改善できる．

L̂B ( Θ ) もまとめて計算できる．

本手法では行動価値の分布を近似するため，損失関数

Prioritized experience replay を利用するにあたり，同じサL には行動価値の累積分布関数の逆関数の分位点ごとにンプルを繰り返し学習することによる不安定性を回避す

重みづけを行う Quantile Huber loss (ただし Huber loss のるため，各サンプルの Quantile Huber loss にサンプリング

パラメータは 1.0) L を用いる．

確率に応じて以下のように補正した損失関数 L を用いる．
 1 1
Li =   Li
 N B pi 

3.4. ミニバッチ学習と損失関数の補正
ミニバッチ学習では，複数のサンプルを同時に用いて訓(6)練パラメータを更新する．バッファ内に一時保存している

 は補正の強さを決めるハイパーパラメータであり，学習直近 N B 個のサンプルから取得した 1 ミニバッチ内のサン

開始時には  = 0.4 ，学習終了時には  = 1.0 となるよう，プル数を nB とする．このときのサンプリングには，エー訓練エピソード数に応じて線形に増加させる．このようにジェントにとって意外性の高いサンプルを優先的に取得して求めた nB 個の損失関数の平均値を，ミニバッチ学習する Prioritized experience replay [7]を導入する．具体的には， において最小化すべき損失関数と定義する．損失関数の勾各サンプル i に対して計算した直近の Huber loss Li を用配に基づく訓練パラメータの最適化アルゴリズムにはいてサンプリング確率 pi に以下の重みをつける．

RMSprop [9]を用いる．

pi = iNb
k =1(5a)ki = ( Li + 0.01)

0.6(5b)4. 数値例題
4.1. 解析条件

ただし，まだ一度もサンプリングされていないサンプルの i は 1.0 に設定する．
図 3 にブロック行列を用いた複数のトラスの接続関係の表現方法を示す．C( i ) ( i = 1,, nB ) は各サンプルのトラスの接続行列である．これらの接続行列を対角方向に配置することで，ミニバッチ内の接続行列が異なる複数のトラスを連成させずに 1 つの行列 C B で表現できる．また，図 1 右にミニバッチ化した節点と部材の入力 v̂ B と ŵ B を示す．サンプルによらず v̂ と ŵ の行数はそれぞれ一定なので，行方向に連結している．これらの入力を用いて，式(2)によるグ

図4

訓練に用いるトラスラフ埋め込みを行うことで，ミニバッチ内の全部材の特徴

報告 H12－ 321 －図 4 に示すような，各軸方向に 3，4 あるいは 5 グリッ

5. 結ドを有する GS を用いて訓練を行う．左上・左下の端点

複数荷重条件に対する部材応力と節点変位の制約下でをピン支持とし，右端のエッジ上の節点から１つ以上載部材総体積を最小化する平面トラスの最適化について，荷点をランダムに選ぶ．載荷点には x 軸正（または負）疎な初期位相から部材付加・除去を行うことができるグの向き, y 軸正（，または負）の向きにそれぞれ一様に 1ラフ埋め込みと強化学習の複合手法を提案した．
それぞれの部材に対して部材付加・除去の二種類の行kN の荷重を作用させて 2 つの荷重条件を定義する．

 = 200 [N/mm2]，A = 25 [mm2]，n= 100 ，N B = 10 ，動が適用できるよう行動価値の近似式を改善した．また，nB = 32 とする．学習時の  は 0.1 に設定し，u は全ての強化学習の効率化を図るため，損失関数の計算やミニバ部材が存在する場合の最大節点変位の 100 倍の値とする．

ッチ学習のサンプリング過程において DQN の改善手法

f5を適用した．
4.2. 結果

部材付加過程では不安定な位相に対してどの位置に部5000 エピソードの訓練を行い，10 エピソードごとに材を配置するかを考えるため，全ての部材が存在すると

 = 0 の greedy 方策を用いて図 6 の step 0 の状態から 1仮定した場合の応力比をグラフ埋め込みの入力に追加すエピソードのシミュレーションを行い得られた累積報酬

ることで安定トラスにおける力の流れを考慮できるようの履歴を図 5 に示す．訓練エピソードの増加に伴いエーに工夫した．しかし，数値例題においてエージェントのジェントがより多くの累積報酬を獲得する傾向が確認で部材付加性能は十分に優れているとは言えず，入力やグきる．最も多くの累積報酬を獲得した 3970 エピソード

ラフ埋め込みの演算に改良の余地がある．

学習時点での訓練パラメータ Θ を用いて，二種類のトラスの位相を最適化した結果を図 6，7 に示す．ただし， x

謝辞

軸正の方向の荷重と y 軸負の方向の荷重は学習時と同様

本研究は，JSPS 科研費 JP20H04467，京都大学若手研に別々の荷重条件として作用させ，荷重の大きさも学習

究者スタートアップ研究費，JSPS 研究活動スタート支時と同じ 1kN とする．斜材の配置が非効率ではあるが，援 JP21K20461 の助成を受けた．ここに記して謝意を表疎な初期位相から部材付加・部材除去を行うことに成功する．

した．訓練パラメータのサイズが節点・部材数に依存しないため，学習済みのエージェントがトラスの規模に依らず適用可能なことも本手法の大きな利点である．

図5(step 0)

図6(step 0)

図7

報告 H12

学習過程での累積報酬の履歴(step 6)

(step 22)

(step 23)

4×4 トラスの部材付加・除去過程(step 8)(step 23)

［参考文献］
1） Mnih, V., et al., Human-level control through deep
reinforcement learning. Nature 518, 529–533, 2015.
2） Hayashi K. and Ohsaki M., Reinforcement learning and graphembedding for binary truss topology optimization under stressand displacement constraints. Front. Built Environ., 2020;
doi:10.3389/fbuil.2020.00059.
3） Wang Z. et al., Dueling network architectures for deep
reinforcement learning. In Proc. of 33rd Int. Conf. on Machine
Learning - Volume 48, ICML’16, p. 1995–2003, New York, NY,USA, 2016.
4） Dabney W. et al., Distributional reinforcement learning withquantile regression. In Proc. of 32nd AAAI Conf. on Artificial
Intelligence (AAAI-18), p. 2892–2901, New Orleans, LA, USA,2018.
5） Hasselt H. et al., Deep reinforcement learning with double
q-learning. CoRR, 1509.06461, 2015.
6） Sutton, R. S. and Barto, A. G., Introduction to Reinforcement
Learning, MIT Press, Cambridge, MA, USA, 1st edition, 1998.
7） Schaul T. et al., Prioritized experience replay. In Proc. of 4th Int.
Conf. on Learning Representations, ICLR 2016, San Juan,Puerto Rico, 2016.
8） Bellemare M. G. et al., A distributional perspective onreinforcement learning. In Proc. of 34th Int. Conf. on Machine
Learning - Volume 70, ICML’17, p. 449–458, Sydney, NSW,
Australia, 2017.
9） Tieleman, T. and Hinton, G., Lecture 6.5—RmsProp: Divide thegradient by a running average of its recent magnitude.
COURSERA: Neural Networks for Machine Learning，2012.

(step 24)

3×5 トラスの部材付加・除去過程－ 322 －