Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 WEP019

機械学習によるベータトロン振動波形のリアルタイム解析

REAL-TIME ANALYSIS OF BETATRON OSCILLATION WAVEFORMSUSING MACHINE LEARNING AT THE NewSUBARU STORAGE RING
藤井将#, 渡部圭佑, 橋本智Hitoshi Fujii#, Keisuke Watanabe, Satoshi Hashimoto
Laboratory of Advanced Science and Technology for Industry, University of Hyogo

Abstract

At the NewSUBARU synchrotron radiation facility, the betatron oscillation waveform is constantly monitored in orderto deal with the dependence of the betatron tune on the stored current and the gap value of insertion device, andfluctuations during acceleration and deceleration of the stored energy. By correcting the tune value in real time, thestability of the electron beam is improved. In order to correct the tune value in real time, it is necessary to quickly andaccurately evaluate the tune value from the waveform containing noise. Previously developed correction systems haveused complex algorithms that combine many thresholds and conditions. However, this program cannot handle various
operation modes. Also, it is difficult to maintain and update since there are many conditional branches. Therefore, wehave investigated the application of tuned waveform analysis methods using various machine learning techniques (e.g.,local outlier factor method, logistic regression, deep learning, etc.). So far, we have developed a Python code that cananalyze tune waveforms in real time with high accuracy, and confirmed that it works correctly in tests. In the future, weplan to implement it in the tune correction system and verify it in actual operation. In this paper, we will introduce thespecific application results of each machine learning method.

1.

はじめに

しかし、このシステムでは、運転状況の変化や装置の更新等により得られるスペクトルデータが変化した場合、その都度、全ての閾値を人の手で再調整する必要が生じ、柔軟性に欠ける。そこで本研究ではディープニューラルネットワークを用いて、ベータトロン振動スペクトルの「信頼度」を判定し、良いスペクトルの場合にはそのスペクトルからチューンの「ピーク位置」を同時に予測するネットワークを構築する方法を提案する。

蓄積リングを周回する電子は閉軌道の周りを水平・垂直方向にわずかに振動しながら周回している（ベータトロン振動）。リング一周あたりの振動数であるチューンの値は様々な要因（蓄積電流値、挿入光源のギャップ値、蓄積電子エネルギーの加減速等）で変動し、適切な値から外れると電子ビーム寿命の低下やビーム電流の削れが発生する。そのため兵庫県立大ニュースバル電子蓄積リングでは、運転中にチューンの値を常に監視し、水平および垂直方 2. 教師データ
向の最適値 𝜈𝜈! / 𝜈𝜈" = 6.29 / 2.23 を保つようにリア 2.1 ベータトロン振動スペクトルルタイム補正を行い電子ビームの安定性を高めてい図 1 に今回の学習で用いたベータトロン振動のスる。チューン値はベータトロン振動の周波数スペク ペクトルの例を示す。スペクトルデータは後で学習トルに対してピーク抽出を行うことによって得るこ しやすいように、周波数の範囲を固定して 1,800 点とが出来、その値を用いて四極電磁石に巻いた補助 の一次元の配列データにしている。図 1 の縦軸はスコイルの電流値を自動調整することでリアルタイム ペクトラムアナライザの信号強度であるが、横軸は補正が行われる。この際、常に綺麗なスペクトルが 周波数ではなく、配列データのインデックスとなっ得られる訳ではなく、何らかの理由によりスペクト ている。ピーク位置の学習はこのインデックスに対ルデータの質が悪化することがある。その場合、 して行われる。インデックスからベータトロン振動
誤 っ た チ ュ ー ン の 値 が 抽 出 さ れ る 可 能 性 が あ り の周波数、また、チューンへの変換は容易である。
チューン補正が失敗する。そのため、実際にチュー 2.2 自動アノテーションン補正を行う前に、補正して良いスペクトルかどうディープラーニングのネットワークを学習させるか、つまり、スペクトルから得られるチューンの値 ためには、大量の教師データが必要となる。教師が十分信頼できるかどうかを判断する必要がある。 データとは特徴量（記述子）と目的変数となる正解
現行の補正システムではスペクトルのピークの高さ の値のセットのことである。目的変数は１つの場合や半値幅、おおよその位置等、多数の閾値を設けた が多いが、今回のように複数の場合もあり得る。今
複雑なアルゴリズムによりその判断を行なっている。 の場合、特徴量はスペクトルデータそのものであり、_____________________________________________
目的変数は「信頼度とピーク位置（水平方向成分とhfujii @lasti.u-hyogo.ac.jp#- 557 -Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 WEP019垂直方向成分）」となる。スペクトルデータは簡単 するネットワークを学習するために、以下のようなに集めることができるが、問題は目的変数で、集め 信頼度付損失関数を用いた。
たスペクトル全てに対し信頼度とピーク位置という
𝐿𝐿 = − 𝑡𝑡# ln 𝑦𝑦# − (1 − 𝑡𝑡# ) ln(1 − 𝑦𝑦# )正解ラベルを付与する作業（アノテーション）が必要となる。これを手作業で行うのは骨が折れるので、(1)+𝛼𝛼𝑡𝑡# [(𝑡𝑡$ − 𝑦𝑦$ )% + (𝑡𝑡% − 𝑦𝑦% )% ]スペクトルからピークの位置を自動的に判定するピーク抽出プログラム（GFit）を作成した[1]。これ ここで 𝑦𝑦# はディープラーニングによる信頼度の推は自動アノテーションのためのものなので、高速に 定値、𝑦𝑦$ 、𝑦𝑦% はベータトロン振動の周波数ピーク判定を行う必要はなく、人間の判断と同程度に高精 の水平方向成分と垂直方向成分の推定値である。第度であれば良い。GFit はパラメータフリーのガウシ 一、第二項はバイナリ交差エントロピー誤差であり、アンフィッティングプログラムで、スペクトルデー 第三項は残差平方和の和である。𝛼𝛼 は第一、第二項
タを混合ガウスモデル、つまり、頻度分布と見做し と第三項との大きさのバランスを取るためのハイてクラスタリングを行うというアイデアに基づいて パーパラメータで、本研究では 𝛼𝛼 = 0.001 を用いた。
いる。この混合ガウスモデルに対して EM アルゴリズムや変分ベイズ法[2]などを使ってガウス分布の数（ピークの数）と位置（チューンのピーク位置）を推定する。スペクトルの信頼度（これを 𝑡𝑡# とする）は、このガウシアンフィッティングの結果から判断する。つまり、ベータトロン振動の周波数ピークは水平方向成分と垂直方向成分（これを 𝑡𝑡$ 、𝑡𝑡% とする）の 2 つとわかっているので、フィッティングの結果、ピーク数が 2 つと判定されれば 𝑡𝑡# = 1、それ以外の数であれば 𝑡𝑡# = 0 とする。ここで、信頼度が 0 と判断されるような（フィッティングが失敗する）質の悪いスペクトルデータに対してピーク位置を与えることは人間の目を持ってしても不可能なので、𝑡𝑡# = 0 の場合はダミーとして 𝑡𝑡$ = 0、𝑡𝑡% = 0の値を与えるものとする。このように GFit を用いた自動アノテーションを行うことで 9,103 個の教師データを準備した。（信頼度 1 のデータ 6,112 個、信頼度 0 のデータ 2,991 個）

Figure 1: An example of betatron oscillation spectrum. The
vertical axis is signal intensity and the horizontal axis isfrequency index; frequency is represented by the index
number of the array for simplification.

3.

ディープニューラルネットワーク

3.1 信頼度付損失関数の定義
スペクトルの信頼度とピークの位置を同時に判定

Figure 2: Illustration of the architecture of our network.
FN, FS, and S mean the number of filters, filter size, andstride size, respectively. The left-hand side of the output
layer gives an estimation value for certainty and the righthand side gives estimation values for peak positions.

- 558 -

Proceedings of the 19th Annual Meeting of Particle Accelerator Society of Japan
October 18 - 21, 2022, Online (Kyushu University)

PASJ2022 WEP019

ここで第三項に信頼度の正解の値 𝑡𝑡# が乗ぜられて ることで、正答率も変化する。この閾値がこのシスいるのがポイントで、これがゲートとして働き、質 テムの唯一のハイパーパラメータであり、現行のシの悪いスペクトルデータが来た場合にピーク位置に ステムに比べて遥かに少ない。表 1 において、左下関する学習をスキップさせることができる。つまり、 の数値は質の良いスペクトルデータであるにもかか正解を与えることが不可能な質の悪いデータが教師 わらず質が悪いと誤判断された割合を示しており、データに含まれている場合でも、とりあえずダミー これは運用上問題の少ない間違いである。しかし、の数値を入れておいて、この信頼度付損失関数を 表 1 右上の数値は、本当は質の悪いスペクトルであ使って、そのダミーを上手く回避して効率よく学習 るにもかかわらず質が良いと誤判断した割合であり、これは運用上あってはならない間違いである。このを進めることができるようになるのである。
誤判断が 10%もあるため、このネットワークをその3.2 一次元畳み込みネットワークままの形で運用するのは危険であると思われるかも
図 2 にネットワークの詳細を示す。基本構造は画 しれないが、これは GFit でのスペクトルの質（信頼像認識のために提案された AlexNet [3]と同型である 度）の判断を厳しくしているためであり、実際に誤が、二次元畳み込みではなく一次元の畳み込み層を 判断されたスペクトルを見てみると、それほど悪い用いている。また、各畳み込み層の直後にバッチ正 スペクトルでなく、そのスペクトルから予測された則化を行い、1 ブロック目と 2 ブロック目の最後に ピーク位置を使って補正をしても何の問題もないとは Max pooling ではなく Average pooling を行なって 考えられる。
いる。出力層は信頼度に関するものとピーク位置に関するものの 2 つに分岐させている。つまり、信頼度の予測のためのネットワークをピーク位置の予測 5. まとめに流用させている。これにより、２つの全く独立な信頼度付損失関数を用いた比較的浅い一次元畳みネットワークを構築するよりも効率が良くなり、ま込みニューラルネットワークにより、ベータトロンた、一般に、出力を分岐することにより過学習が抑振動スペクトルからスペクトルの信頼度とピーク位制されるという効果も期待できる。
置の予測を同時に高精度に行うことが可能であることを示した。信頼度判定の閾値は 0.5 としているが、実際に運用する際はこれをもっと大きく（例えば 0.94. 学習結果くらいに）することで信頼度の正答率をさらに上げKeras [4]という python のパッケージを用いて信頼 ることが可能である。また、隠れ層を追加し、パラ度付損失関数を実装し、一次元畳み込みネットワー メータの最適化を行うことで、容易にネットワーククを構築し学習を行なった。9,103 個の教師データを の表現力を上げることが可能である。このようなこ
4:1 に分割して、7,283 個を訓練データとして学習を とは現行の多数の閾値を設けた複雑なシステムでは行い、その結果を、残りの 1,820 個をテストデータ 不可能である。また、スペクトルデータの大きさをとして用いて検証を行なった。テストデータの内、 規格化してから学習・予測しているので、運転状況
𝑡𝑡# = 1 の（質の良い）データは 1,210 個、𝑡𝑡# = 0 の の変化や、装置の更新等により、得られるスペクト（質の悪い）データは 610 個であった。ネットワー ルデータが変化した場合でも、基本的にはこのネックのウェイト（学習されるパラメータ）の総数は トワークをそのまま使えるはずであるし、もし仮に33,843 個で、学習のために要したトータルの時間は 精度が落ちるようなことがあっても、新しい教師デスクトップパソコン（iMac）で 6 分程度であった。 データを用いて再度学習してやれば、簡単に対応す
𝑡𝑡# = 1 のデータに対するピーク位置の予測の結果と ることが出来るのも利点である。今後、このディーして二乗平均平方根誤差（RMSE）は 𝑦𝑦$ 、𝑦𝑦% それ プニューラルネットワークを実際のチューン補正シぞれで 7.189、2.482 程度となった。これは、与えら ステムに組み込み、検証を行う予定である。本研究れた範囲において、ピーク位置の予測誤差が約 1% で提案した信頼度付損失関数は、正解ラベルを付与程度ということを意味し、かなりの精度でのピーク できないような質の悪いデータが混在する場合の学抽出が出来ていることがわかる（𝑡𝑡# = 0 のスペクト 習に汎用的に適用可能な手法であり、様々な分野へルに対する RMSE には意味がない）。また、信頼度 の応用が期待される。の予測の結果（正答率）を表 1 にまとめた。

参考文献

Table 1: Success Rate for Estimation of Certainty
𝑦𝑦! > 0.5
𝑦𝑦! ≤ 0.5

𝑡𝑡! = 10.969
0.031

𝑡𝑡! = 00.100
0.900

正答率とは例えば 𝑡𝑡# = 1 のスペクトルに対し 𝑦𝑦# >0.5 という予測値であれば正解、𝑦𝑦# ≤ 0.5 という予測値であれば失敗と、それぞれの数をデータ総数で割ったものである。当然、この閾値 0.5 を増減させ[1] https://github.com/Hitoshi-FUJII/GFit[2] C. M. Bishop, “Pattern Recognition and Machine Learning”,
Springer (2006).
[3] A. Krizhevsky, I. Sutskever and G. E. Hinton,
Communication of the ACM 60 (6): 84–90 (2017).
[4] https://github.com/fchollet/keras- 559 -