Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フィードフォワードニューラルネットワークを用いた記号入出力制御系に対する制御器設計 / Con...

Avatar for konakalab konakalab
November 13, 2025

フィードフォワードニューラルネットワークを用いた記号入出力制御系に対する制御器設計 / Controller Design for Augmented Systems with Symbolic Inputs and Outputs Using Feedforward Neural Network

電子情報通信学会システム数理と応用研究会(2025年11月13日)で発表したスライドです.

https://ken.ieice.org/ken/paper/20251113vcon/

記号的な入出力を持つ動的なシステムに対し,機械学習による制御系設計をニューラルネットワークを利用して実現しました.

Avatar for konakalab

konakalab

November 13, 2025
Tweet

More Decks by konakalab

Other Decks in Science

Transcript

  1. 研究背景 従来の制御器設計 • システムの数式モデルに 基づく制御器設計 • 複雑なシステムではモデルを 求めることが困難 データ駆動制御 •

    システムの入出力データに 基づく制御器設計 [1] 金子修. データ駆動制御のこれまでの流 れと最新の研究動向計測と制御
  2. 問題設定(制御対象) • 制御対象の入出力 • 入出力データはそれぞれ 𝑵𝑼 、𝑵𝒀 通りに記号化 𝒖 ∈

    𝑈 = {𝒖 , 𝒖 , ⋯ 𝒖 } 𝒚 ∈ 𝑌 = {𝒚 , 𝒚 , ⋯ 𝒚 } 制御対象 メモリ𝑴𝒖 制御対象 メモリ𝑴𝒚 制御器
  3. 問題設定(制御対象) • 制御対象の入出力 • 入出力データはそれぞれ 𝑵𝑼 、𝑵𝒀 通りに記号化 𝒖 ∈

    𝑈 = {𝒖 , 𝒖 , ⋯ 𝒖 } 𝒚 ∈ 𝑌 = {𝒚 , 𝒚 , ⋯ 𝒚 } 制御対象 入力 出力 メモリ𝑴𝒖 制御対象 メモリ𝑴𝒚 制御器
  4. 問題設定(メモリ) • メモリ • メモリ𝑴𝒚 、𝑴𝒖 はそれぞれ 𝒏𝒂 、 𝒏𝒃

    サンプル過去からの出力、 入力を記憶するメモリ 𝑘 入力時系列 出力時系列 𝑴 (𝑛 = 3) 𝑴 (𝑛 = 2) 𝒚(𝑘) 𝒖(𝑘) メモリ𝑴𝒖 制御対象 メモリ𝑴𝒚 制御器
  5. 問題設定(制御器) • 制御器の入出力 𝒖(𝑘) 𝒀(𝑘) 𝑼(𝑘) 𝒚(𝑘) 𝒚 (𝑘) 目的:

    入出力時系列を用いて、与えられた参照出力 に対して、制御対象の出力を近づける入力を 選択する メモリ𝑴𝒖 制御対象 メモリ𝑴𝒚 制御器 制御器
  6. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 時刻kに対する学習データ・教師データ対
  7. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 𝑛 = 3 時刻kに対する学習データ・教師データ対
  8. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 𝑛 = 3 時刻kに対する学習データ・教師データ対 𝑛 = 3
  9. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 時刻kに対する学習データ・教師データ対 𝑛 = 3 𝑛 = 3
  10. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 𝑛 = 2 時刻kに対する学習データ・教師データ対 𝑛 = 3 𝑛 = 3
  11. 学習方法 • 学習データ取得方法(2/2) 𝑘 𝒀 𝑘 = [𝒚 𝑘 ,

    𝒚 𝑘 − 1 , ⋯ 𝒚 (𝑘 − 𝑛 )] 𝑼 𝑘 = [𝒖 𝑘 − 1 , ⋯ 𝒖 (𝑘 − 𝑛 )] 𝒚 𝑘 = 𝒚 (𝑘) 𝒚 𝑘 = 𝒚 (𝑘 + 𝑛 ) 𝒗 𝑘 = 𝒖 (𝑘) 学習データ 教師データ 時刻kに対する学習データ・教師データ対 𝑛 = 3 𝑛 = 2 𝑛 = 3
  12. 数値実験の条件(制御対象) • 制御対象の状態方程式 𝑥 (𝑘 + 1) = 𝑥 (𝑘)

    1 + 𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 制御対象
  13. 数値実験の条件(制御対象) • 制御対象の状態方程式 𝑥 (𝑘 + 1) = 𝑥 (𝑘)

    1 + 𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 [3]Narendra and Kannan Parthasarathy. Identification and Control of Dynamical Systems Using Neural Networks 制御対象 𝑥 𝑘 + 1 = 𝑥 𝑘 1 + 𝑥 𝑘 + 𝑢 (𝑘) 離散時間系のベンチマークモデル 1ステップ前 の状態変数を 追加
  14. 数値実験の条件(制御対象) • 制御対象の状態方程式 𝑥 (𝑘 + 1) = 𝑥 (𝑘)

    1 + 𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 [3]Narendra and Kannan Parthasarathy. Identification and Control of Dynamical Systems Using Neural Networks 制御対象 𝑥 𝑘 + 1 = 𝑥 𝑘 1 + 𝑥 𝑘 + 𝑢 (𝑘) 離散時間系のベンチマークモデル
  15. 数値実験の条件(制御対象) • 入力の記号化 𝑢 ∈ 𝑈 = {−0.7,0,0.7} 𝒖 ∈

    𝑈 = { 1,0,0 , 0,1,0 , [0,0,1]} 制御対象 ワンホットエンコーディング
  16. 数値実験の条件(制御対象) • 記号化関数 制御対象 𝑥 (𝑘 + 1) = 𝑥

    (𝑘) 1 + 𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 [𝑥 , 𝑥 ]の状態空間を分割して 対応する記号を割り当てる
  17. 数値実験の条件(制御対象) 𝑥 (𝑘 + 1) = 𝑥 (𝑘) 1 +

    𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 [𝑥 , 𝑥 ]に対して、対応するラベルを 割り当てる
  18. 数値実験の条件(制御対象) 𝑥 (𝑘 + 1) = 𝑥 (𝑘) 1 +

    𝑥 (𝑘) + 𝑢(𝑘) 𝑥 𝑘 + 1 = 𝑥 𝑘 𝒚 𝑘 = 𝒉 𝑥 𝑘 , 𝑥 𝑘 [𝑥 , 𝑥 ]に対して、対応するラベルを 割り当てる 𝑌 = { 1,0,0.0 , 0,1,0,0 , 0,0,1,0 , [0,0,0,1]} ワンホットエンコーディング