Slide 1

Slide 1 text

機械学習を用いた モータ設計の技術動向 清水 悠生* 桂井 麻里衣** *立命館大学 / 株式会社MotorAI **同志社大学 2023/03/15 @令和5年電気学会全国大会 S16 機械学習を活用した回転機設計技術の最前線 -モータ設計・解析分野でAIは役に立つのか?- @YuYuMoYuYu 発表資料はこちら

Slide 2

Slide 2 text

2 目次 ✓ 本シンポジウムを楽しむための機械学習の基礎 ✓ 機械学習を用いたモータ設計の技術動向 ✓ 大規模モデルがモータ分野に与える影響

Slide 3

Slide 3 text

3 目次 ✓ 本シンポジウムを楽しむための機械学習の基礎 ✓ 機械学習を用いたモータ設計の技術動向 ✓ 大規模モデルがモータ分野に与える影響

Slide 4

Slide 4 text

4 機械学習は何をする? ✓ 機械学習の役割は入力と出力の関係を関数化すること 形状 速度 トルク 運転特性 有限要素解析 数値 𝑥 数値 𝑦 𝑦 = 𝑓(𝑥) 関数 𝑓 を近似! (参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=SyWwoMpP_P4

Slide 5

Slide 5 text

5 何を”学習”している? ✓ 学習とはデータに適していそうな関数を見つけること (参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=RLlTmbyJORM 電流 トルク 電流 トルク 関数化 データ 学習した関数 学習のステップ ① 「どんな関数を使うか」を決める ⇒ T=aI で最も良いパラメータ a を見つけよう! ② 「良さ/悪さ」を決める ⇒ 最も2乗誤差が小さくなる a を見つけよう! ③ 探す(パラメータの最適化) ˆ T aI =

Slide 6

Slide 6 text

6 学習の難しさと過学習 ✓ 実際には「どんな関数が適切か」は不明な場合が多い ✓ 自由度の高い関数を使えば、「良い」関数は作れてしまう ⇒未知のデータに対しては「良くない」場合も(過学習) ✓ 学習した関数が未知データにも「良い」か評価する必要有 ⇒学習データを訓練/テストデータに分割して使用 1次関数で学習 5次関数で学習 15次関数で学習 訓練データ以外の データに関しては 予測精度が低下 T aI b = + 5 4 ... T aI bI = + + 15 14 ... T aI bI = + + 100 99 ... T aI bI = + + I T I T I T I T 100次関数で学習 訓練データに 対する誤差が0

Slide 7

Slide 7 text

7 代表的な回帰モデル(非ニューラルネット) ✓ パラメータ数を抑えながら、多様な表現が可能な 様々な回帰モデルが提案されてきた(下記は一例) 手法 関数 良さ/悪さの定義 (E :誤差関数) 最小二乗法 線形結合の関数や カーネル法による関数 リッジ回帰 線形結合の関数や カーネル法による関数 サポート ベクタ回帰 線形結合の関数や カーネル法による関数 ガウス 過程回帰 線形結合の関数や カーネル法による関数 勾配ブース ティング (XGBoostなど) 複数の回帰木の アンサンブル学習 ˆ y y − 2 2 ˆ E  = − + y y w ˆ y y − 予測 正則化項 2 ˆ E = − y y 訓練データ ˆ y y − ( ) 2 ˆ E h  = − + y y w ε-不感誤差 ( ) 1 1 cov   − − = + y K I 共分散行列 ˆ y y − 2乗誤差や絶対誤差など 2 ˆ E = − y y

Slide 8

Slide 8 text

8 多層パーセプトロン/人工ニューラルネットワーク(1/2) *MLP: Multilayer Perceptron/ANN: Artificial Neural Network ✓ パラメータ数を抑えながら、多様な表現が可能な関数 (参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=Mw4j4yPsFtg ポイント①:深くすること⇒単純な関数の繰り返しで複雑な関数を表現 ( ) 2 2 1 y f x x = = − ( ) ( ) ( ) 8 128 ... y f f f x x = = + ( ) ( ) ( )2 2 4 2 2 1 1 8 ... y f f x x x = = − − = + x y x y x y x1 x2 x3 y z1 z2 z3 z4 x z y f(x) g(z) Ex) 単純な関数も 繰り返すと複雑に! 単純な関数を繰り返しているだけ ( ) 1 1 2 3 , , z f x x x =

Slide 9

Slide 9 text

9 多層パーセプトロン/人工ニューラルネットワーク(2/2) *MLP: Multilayer Perceptron/ANN: Artificial Neural Network ✓ パラメータ数を抑えながら、多様な表現が可能な関数 (参考) アイシア=ソリッド, ディープラーニングの世界 https://www.youtube.com/watch?v=Mw4j4yPsFtg ポイント②:線形と非線形の融合⇒パラメータの数を抑える工夫 x1 x2 x3 y z1 z2 z3 z4 x z y f(x) g(z) 単純な関数を繰り返しているだけ 1次関数の合成:1次関数にしかならない 2次関数の合成:パラメータ数爆発 ⇒1次関数+単純な非線形関数を適用 1次関数 非線形関数 (活性化関数) ( ) ( ) 1 1 2 3 1 1 2 2 3 3 , , z f x x x a x a x a x b  = = + + + 活性化関数の例 ReLU (Rectified Linear Unit) x  (x) ( ) ( ) ( ) 0 0 0 x x x x     =     0

Slide 10

Slide 10 text

10 畳み込みニューラルネットワーク *CNN: Convolutional Neural Network ✓ 画像は数値が並んでいるだけ、それ自体に意味を持たない ✓ 畳み込み層により画像の特徴量を抽出する + + = 256 256 赤成分 行列 緑成分 行列 青成分 行列 パターン 一致度を畳み込みで計算 (各要素の積の和) 画像 特徴マップ パターンとの一致度を抽出 (黒いほど一致)

Slide 11

Slide 11 text

11 その他のNNモデル(生成モデルなど) ✓ 本シンポジウムに登場する手法のみを抜粋 ◆ オートエンコーダ(AE: Autoencoder) 3層以上のニューラルネットで 入力と出力が同じデータとなるよう 教師なし学習をさせる手法 ◆ 変分オートエンコーダ(VAE: Variational Autoencoder) 入出力の再構成誤差の他に 潜在変数が標準正規分布に従うよう 学習させる手法 ◆ 敵対的生成ネットワーク(GAN: Generative Adversarial Network) 本物そっくりのデータを生成する生成器と データの真偽を識別する識別機が 競争的に学習する生成モデル x x’ Encoder Decoder x x’ Encoder Decoder z 潜在変数 ( ) ~ 0, z I N x x’ Discriminator Generator z 潜在変数 0/1

Slide 12

Slide 12 text

12 初学者向け; おすすめの回帰モデル(超偏見) ✓ 表形式データで、データ数が1万以下? ⇒初手:リッジ回帰 (線形), サポートベクタ回帰 (非線形/RBFカーネル) リッジ回帰: https://yuyumoyuyu.com/2021/01/03/regularizedleastsquares/ サポートベクター回帰: https://yuyumoyuyu.com/2021/01/10/supportvectorregression/ ✓ 表形式データで、データ数が1万以上? ⇒初手:XGBoost(最速)、次にMLP(Optunaでハイパラ最適化) XGBoost: https://yuyumoyuyu.com/2021/02/21/ensembledecisiontree/ ✓ 画像データ? ⇒初手: ResNet-18(CNNの一種) *Pytorchの標準モデルが使いやすい *データ数が少なければ転移学習/ファインチューニング ※もちろんこれら以外にも適切な手法はたくさんあります

Slide 13

Slide 13 text

13 目次 ✓ 本シンポジウムを楽しむための機械学習の基礎 ✓ 機械学習を用いたモータ設計の技術動向 ✓ 大規模モデルがモータ分野に与える影響

Slide 14

Slide 14 text

14 国際会議の動向 COMPUMAG 2023 Topic 15 AI and machine learning technologies IEMDC 2023 SS4 Learning-based Electric Machine Design & Optimization ✓ 国際会議ではセッションが組まれるように

Slide 15

Slide 15 text

15 0 5 10 15 2015 2016 2017 2018 2019 2020 2021 2022~ 発表論文数 (件) 発表年 論文投稿数 ✓ 論文数は増加傾向にあるものの 異常検知分野や制御分野に比べると数は少ない モータ設計分野の機械学習応用に関する論文発表件数(2022/08まで)

Slide 16

Slide 16 text

16 研究の性質 ✓ 最適化までを含めた論文がほとんど (論文としての新規性を見出しやすいため?) ⇒それ以外にも嬉しいことはたくさんある! 形状最適化 (72%) トポロジー最適化 (28%)

Slide 17

Slide 17 text

17 機械学習で関数化したら何が嬉しい? ✓ 高速な演算 形状, 変数 特性 ✓ 補間ができる 関数化のおかげで解を瞬時に計算(vs 解析) ・多くの形状候補を検討, 最適化できる ・設計変更もスムーズに対応できる ・設計者がパラメータを弄って遊べる (教育的効果) 𝑦 = 𝑓(𝑥) ✓ 微分可能性(木系除く) だから データ 機械学習 離散的なデータから連続的な関数化 ・最低限のデータから多くの情報を入手 ・より詳細なパラメータ設計ができる だから 微分可能な関数で関数化 ・特性を向上する設計指針がわかる ・平坦さに着目すると 形状にロバストな最適化ができる だから 形状 特性 こっちを 検討! 形状 特性 公差に ロバスト!

Slide 18

Slide 18 text

18 対話的なモータ設計のイメージ 寸法で表現 画像で表現 Shimizu+, IEEE Energy Convers., 2023 Shimizu, IEEE Access, 2023 相電流 DC電圧 形状変化(トルク向上) 形状変化(低速効率向上) 形状変化(高速効率向上)

Slide 19

Slide 19 text

19 機械学習活用のプロセス 訓練データセットの作成 (有限要素解析/実機評価など) 入力変数の定義 予測対象の設定 機械学習によるモデリング モータ設計への応用 (データ解析/最適化など) 典型的なフロー(教師あり学習) 最重要!!

Slide 20

Slide 20 text

20 機械学習活用を始めるための重要な問い 明日までに あなたが解きたい問題に 関連するデータを 1000組集めてください

Slide 21

Slide 21 text

21 有限要素解析でデータを集める場合 ✓ たくさんのデータを効率的に集める方法を考えると 解きたい課題(入出力変数)がクリアに 訓練データセットの作成 (有限要素解析/実機評価など) 入力変数の定義 予測対象の設定 機械学習によるモデリング モータ設計への応用 効率 減磁 脈動 トルク 入力条件 出力特性 解析 電流 回転速度 温度 磁性材料 … + 形状 条件

Slide 22

Slide 22 text

22 TMEICの研究事例 ✓ 設計者の仕様選択を支援するシステム ✓ 機械学習用のデータが元々整理されていたからこその成果 (引用) https://www.tmeic.co.jp/news_event/pressrelease/2022/20220921.pdf

Slide 23

Slide 23 text

23 目次 ✓ 本シンポジウムを楽しむための機械学習の基礎 ✓ 機械学習を用いたモータ設計の技術動向 ✓ 大規模モデルがモータ分野に与える影響

Slide 24

Slide 24 text

24 大規模モデルとオープンソースの流れ ✓ 特に2022年下半期以降、多くの大規模モデルが発表、公開 ✓ 毎日のように新たなAIサービスが発表され続けている https://theresanaiforthat.com/timeline/

Slide 25

Slide 25 text

25 Stable DiffusionとChatGPT ✓ Stable Diffusion (‘22/08/23) 高精細な画像の生成・加工が可能 オープンソースで公開されたため 派生サービスが乱立するように ✓ ChatGPT (‘22/11/30) 大規模言語モデルを使用して 高度な対話(チャット)が可能に 公開からわずか2か月で 1億のユーザーに到達 https://stability.ai/blog/stable-diffusion-public-release https://openai.com/blog/chatgpt

Slide 26

Slide 26 text

26 大規模モデルによりモータ設計分野はどうなる? ① 全てのモータ設計者が 最低限のデータ解析技術を身に着けて 設計業務に活用する時代へ ② 大規模モデルを活用して 高度なモータ設計を自動的に行う モータ設計AIの構築 (⇒こっちは僕たちの仕事)

Slide 27

Slide 27 text

27 プログラミングが容易に活用できる時代に

Slide 28

Slide 28 text

28 プログラミングが容易に活用できる時代に 機械学習自体を扱う障壁は更に低く ⇒だからこそ、データが非常に重要に!

Slide 29

Slide 29 text

29 本発表のまとめと伝えたかったこと ✓ 機械学習の役割は“関数化” データを関数化(モデリング)することで様々な利点 ✓ モータ設計分野でも少しずつAI技術が活用され始めている ✓ 専門領域のデータを収集しておくことが非常に重要 ✓ 大規模モデルの台頭により プログラミングや機械学習分野への参入障壁は更に低く ✓ ⇒ 始めるなら今しかない!

Slide 30

Slide 30 text

30

Slide 31

Slide 31 text

31 大規模モデルを活用しよう ✓ 本編に入りきらなかった事例たち

Slide 32

Slide 32 text

32 ②ChatGPTを活用したロボット/ドローン制御 ✓ 制御用の関数, APIをLLMが認識しやすいように設計 ✓ 自然言語でLLMに指令、それを基にLLMが制御プログラムを設計 https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/

Slide 33

Slide 33 text

33 ②Stable Diffusionを用いたfMRI信号⇒画像生成 ✓ 被験者のfMRI信号から、被験者が見た画像を生成 ✓ Stable Diffusionへ入力するMLPのみを学習 (引用) https://www.biorxiv.org/content/10.1101/2022.11.18.517004v2.full.pdf

Slide 34

Slide 34 text

34 ② GPT-4 ✓ GPT-X(ChatGPTの中身)が画像まで扱えるように!精度も向上! https://cdn.openai.com/papers/gpt-4.pdf 問題 GPT-4の回答