固定⼩数点MPCの精度保証解析と⾼速化 • クライアントの多様性に寄り添う連合学習 a) 分散学習アルゴリズム b) 顔認証タスクの実機実装 EMB61で発表予定︕ 11/17(Thu) 14:30-15:00 近似 東京⼤学⼤学院情報理⼯学系研究科 コンピューティングシステム学研究室 概要 モデル予測制御(MPC) 固定⼩数点モデル予測制御の精度保証解析と⾼速化 貢献 応⽤ 汎⽤的で⾼性能な制御を達成するモデ ル予測制御は⼤規模な問題や組み込み機 器においてはサンプリングレートが低下 することから,適⽤が制限されている. 本研究では,固定⼩数点演算による精度 保証付きMPCを⽤いて,ハードウェアリ ソースと速度のトレードオフを考慮しな がら⾼速化を⽬指す. MPCの固定⼩数点実装に対して,EMPC を⽤いて動的に反復初期点を与える形に 拡張することで,以下を達成. 1)固定⼩数点MPCを従来より⾼速化 2)解精度を保証するための最適な 固定⼩数点ビット数と反復回数を導出 3)メモリ使⽤量と実⾏時間の トレードオフをとる設計を可能に 本研究により,MPCの適⽤幅を様々な 機器⽤件に広げられ,ロボットや航空機 の姿勢制御,⾼精度の観測機器系などで 精度やコストの改善を期待できる 提案⼿法 評価 連合学習の難しいポイント ✓ 分散データの統計的な性質がバラバラ ✓ 多様なHW仕様の違いにより処理時間がバラバラ → 多様性を包摂する連合学習の枠組みが重要 a) 学習アルゴリズムへの取り組み b) 実機実装の取り組み ・分散データの秘匿性を担保して機械学習に活⽤ → ⾦融、⽣体認証等の領域でデータ利活⽤の期待 <latexit sha1_base64="L9IJ1iNZ47EMbPJjpnhVMsIoYEc=">AAACxHichVFNSxtBGH7cfqiprbG9CF4Wg5IeGiYiWtpDAxbpMYmNClkJs9uJDs5+sDuJ2EV/gH/AQ08teCj9Af0BvQhezSE/QTwqePHgm92FolL7LrPzzDPv884z89qBkpFmrD9kPHr85OnwyGju2djzF+P5iZerkd8JHdFwfOWH6zaPhJKeaGiplVgPQsFdW4k1e3tpsL/WFWEkfe+z3g3Ehss3PdmWDtdEtfIfLNuNd/Za0lKirXkY+jtmSplvTEtobloetxU328WUfm+5XG85XMUfSfW6lS+wEkvCvA/KGSggi6qf/w0LX+DDQQcuBDxowgocEX1NlMEQELeBmLiQkEz2BfaQI22HsgRlcGK36b9Jq2bGerQe1IwStUOnKBohKU3MsB77yS7YMfvFztj1P2vFSY2Bl12a7VQrgtb4weTK1X9VLs0aW39VD3rWaONt4lWS9yBhBrdwUn336+HFyrv6TDzLfrBz8v+d9dkfuoHXvXSOaqL+7QE/NnmhF6MGle+24z5YnSuVF0rztflCpZK1agRTmEaR+rGICj6higbVP8IJTtEzlg1lREYnTTWGMs0r3Apj/wbSL6nM</latexit> wi w ⌘rf(w; Di) <latexit sha1_base64="C7QBleeQImuLzlCp8nuFBqBn6ww=">AAACtXichVHLShxBFD22STTmMWOyCbgZMhhcDbdFVARhwE1W4iOjgj1puttqLewX1TUjpukfyAfEhasEXIgf4MZdSMgPuPATJEsFN1nkTk9DSERzm+o6deqeW6fqukkgU010MWAMPnj4aGj48ciTp8+eV6qjL9bSuKM80fLiIFYbrpOKQEaipaUOxEaihBO6gVh3dxd6++tdoVIZR+/0fiLaobMdSV96jmbKrpLlhtlebgXC145S8V7N8pXjZWaeLeZW2gntTM6b+fvFfp4t7WqdGlRE7TYwS1BHGUtx9RQWthDDQwchBCJoxgEcpPxtwgQhYa6NjDnFSBb7AjlGWNvhLMEZDrO7/N/m1WbJRrzu1UwLtcenBDwUK2sYp3M6piv6QSd0Sb/urJUVNXpe9nl2+1qR2JWPr1Zv/qsKedbY+aO617OGj9nCq2TvScH0buH19d0PB1ercyvj2Rv6Qj/Z/2e6oK98g6h77R0ti5XDe/y47IVfjBtk/tuO22BtsmFON6aWp+rNZtmqYYzhNSa4HzNo4i2W0OL6n3CGb/huzBhtY8vw+6nGQKl5ib/CiH8DArukxQ==</latexit> w 1 N N X i=1 wi 反復更新 Clients Server モデル送受信 F2MKD [3]︓Clientに寄り添った個別のモデルを学習 ✓ FogとClientでデータを共有 – 集めたデータを⼊⼒としてモデルの知識蒸留を Fog–Client間の双⽅向で⾏う Server Fog Clients Fogモデル Clientモデル 0.0 0.2 0.4 0.6 0.8 1.0 (a) (b) (c) 0 100 200 300 400 500 0.0 0.2 0.4 0.6 0.8 1.0 (d) 0 100 200 300 400 500 (e) 0 100 200 300 400 500 (f) ௨৴ϥϯυ CA F2MKD FedFog FML Solo 学習ラウンド Clientの精度 Scenario Fog partitioning Client partitioning (a) IID IID (b) NonIID(2) (c) NonIID(1) (d) NonIID(2) IID (e) NonIID(1) (f) NonIID(1) IID 個別のモデルは 不要なケース ・顔画像を⼊⼒し本⼈か否かを 認証するシステムを構築 → 顔画像は秘匿したい︕ – Server︓Microsoft Azure VM – Clients︓シングルボードコンピュータ等 <latexit sha1_base64="M4e5h2P82f3OW4ZRYtsMDEyV9C4=">AAACZHichVFNSwJBGH7cvswsLQmCICQxOskYUtFJ6NLRj/wAE9ndRltcd5fdVTLpD9S16NCpICL6GV36Ax38A0F0NOjSodd1IUqqd5iZZ555n3eemZEMVbFsxroeYWR0bHzCO+mb8k/PBIKzc3lLb5oyz8m6qptFSbS4qmg8Zyu2youGycWGpPKCVN/u7xda3LQUXdu12wYvN8SaplQVWbSJSh9WghEWY06Eh0HcBRG4kdKDt9jDPnTIaKIBDg02YRUiLGolxMFgEFdGhziTkOLscxzDR9omZXHKEImt01ijVcllNVr3a1qOWqZTVOomKcOIsid2x3rskd2zF/bxa62OU6PvpU2zNNByoxI4Wci+/6tq0Gzj4Ev1p2cbVWw6XhXybjhM/xbyQN86uuhltzLRzgq7Zq/k/4p12QPdQGu9yTdpnrmEjz4g/vO5h0F+LRZfjyXSiUgy4X6FF4tYxiq99waS2EEKOTqX4xRnOPc8C34hJMwPUgWPqwnhWwhLn/UEifM=</latexit> x <latexit sha1_base64="fQhEUmfToFEYNlx+hdtFpU+YzgI=">AAACZnichVHLSsNAFD2Nr1pfVREFN8VScSHlRkTFVcGNy2qtClpKEqd1ME1Ckha0+AOCW7twpSAifoYbf8CFf6C4VHDjwts0IFrUO8zMmTP33Dkzozum9Hyix4jS0dnV3RPtjfX1DwwOxYdHNj276hoib9im7W7rmidMaYm8L31TbDuu0Cq6Kbb0g5Xm/lZNuJ60rQ3/0BGFila2ZEkams9UzirKYjxJaQoi0Q7UECQRRtaOX2MXe7BhoIoKBCz4jE1o8LjtQAXBYa6AOnMuIxnsCxwjxtoqZwnO0Jg94LHMq52QtXjdrOkFaoNPMbm7rEwgRQ90Q690T7f0TB+/1qoHNZpeDnnWW1rhFIdOJnLv/6oqPPvY/1L96dlHCUuBV8nenYBp3sJo6WtHjdfc8nqqPk2X9ML+L+iR7vgGVu3NuFoT6+eI8QeoP5+7HWzOpdWF9PzafDIzG35FFJOYwgy/9yIyWEUWeT63jFOcoRF5UgaVMWW8lapEQs0ovoWS+AS6t4q9</latexit> ni <latexit sha1_base64="BSkiGt/BBSx6dVaQjPSw4pDPEzw=">AAACmXichVG7SgNBFD1ZXzG+4qMQ0ohBUZAwkaCiTcTCYBWNUcFI2N1MdHFf7E4CJuQH/AELGxUsoh/gB9j4Axb5BLFUsLHwZrMgGox3mZ0zZ+65c2auYuuaKxhrBKSu7p7evmB/aGBwaHgkPDq251olR+VZ1dIt50CRXa5rJs8KTej8wHa4bCg631dON5r7+2XuuJpl7oozmx8Z8rGpFTVVFkTlwxObczm1YIm1nGJUc+KEC7k2nw9HWYx5MdUO4j6Iwo+0FX5ADgVYUFGCAQ4TgrAOGS59h4iDwSbuCFXiHEKat89RQ4i0JcrilCETe0r/Y1od+qxJ62ZN11OrdIpOwyHlFGbYM6uzN/bE7tkL+/yzVtWr0fRyRrPS0nI7P3I+mfn4V2XQLHDyreroWaCIFc+rRt5tj2neQm3py5WLt8zqzkx1lt2wV/J/zRrskW5glt/V222+c9nBj0Je6MWoQfHf7WgHe4ux+FIssZ2IJhf8VgURwTTmqB/LSCKFNLJUv4Ir1HEnRaR1KSVttVKlgK8Zx4+QMl80a5fH</latexit> G(·; ✓) <latexit sha1_base64="T7pAOSyBng1CN3QUgP82hdC+y2k=">AAACnXichVG7SgNBFD1Z3++oTcDCYFAsJEwkqFgFRLAQMdEYwWjYXUcdsi92JwFd4gf4AxZWihYi2voBNv6AhZ8glgo2Ft5sFkRFvcvsnDlzz50zczXHEJ5k7DGiNDW3tLa1d3R2dff09kX7B9Y8u+LqPK/bhu2ua6rHDWHxvBTS4OuOy1VTM3hBK8/V9wtV7nrCtlblvsM3TXXXEjtCVyVRpWisaKpyT9P8XG3L3y5KYXIvbpVErRRNsCQLIv4TpEKQQBjLdvQWRWzDho4KTHBYkIQNqPDo20AKDA5xm/CJcwmJYJ+jhk7SViiLU4ZKbJn+u7TaCFmL1vWaXqDW6RSDhkvKOEbZA7tkL+yeXbEn9v5rLT+oUfeyT7PW0HKn1HcUW3n7V2XSLLH3qfrTs8QOZgKvgrw7AVO/hd7QVw+OX1Zmc6P+GDtjz+T/lD2yO7qBVX3VL7I8d/KHH4280ItRg1Lf2/ETrE0mU1PJdDadyEyErWrHEEYwTv2YRgYLWEae6h/iHNe4UYaVeWVRWWqkKpFQM4gvoRQ+AKXjmiM=</latexit> Rd⇥ni <latexit sha1_base64="NF+guRIhMKMoDwMoqBOez5KuTHs=">AAACnnichVHLLgRBFD3aa7wHG2IzMSEWMqkRQawmkYiNYBgmMUy6WqGiX+muGaEzsfcDFlYkFiJh6QNs/ICFTxBLEhsLd3o6EQS3U12nTt1z61Rd7prSV4w91mn1DY1NzbGW1rb2js6ueHfPqu+UPEPkDMd0vDzXfWFKW+SUVKbIu57QLW6KNb43U91fKwvPl469og5csWHpO7bcloauiCrG+wvcCvYrRVmQdsHS1S7nQbayGWxVivEkS7EwEj9BOgJJRLHoxG9RwBYcGCjBgoANRdiEDp++daTB4BK3gYA4j5AM9wUqaCVtibIEZejE7tF/h1brEWvTulrTD9UGnWLS8EiZwBB7YJfshd2zK/bE3n+tFYQ1ql4OaOY1rXCLXcd9y2//qiyaFXY/VX96VtjGVOhVknc3ZKq3MGr68uHJy/J0digYZufsmfyfsUd2Rzewy6/GxZLInv7hh5MXejFqUPp7O36C1bFUeiI1vjSezIxGrYphAIMYoX5MIoM5LCJH9Y9wgWvcaAltVpvXFmqpWl2k6cWX0PIfck+a7g==</latexit> wi 2 Rd <latexit sha1_base64="MNufod/I9dxTMrzHBNWwvDiUse8=">AAACoHichVHLLgRBFD3a+zmDjcRGTIiFTGpkglhJbOyYYRCGTlcro6Jf6a6ZhM4sbP2AhRWJiNiw8gE2fsDCJ4gliY2FOz2dCILbqa5Tp+65daou9ywZKMYeG7TGpuaW1rb2js6u7p5EsrdvJXDLvikKpmu5/ho3AmFJRxSUVJZY83xh2NwSq3xvrra/WhF+IF1nWe17YtM2So7ckaahiNKTg0Vuh0FVl0XpFG1D7XIe5qtboaPLqp5MsTSLYugnyMQghTgW3eQtitiGCxNl2BBwoAhbMBDQt4EMGDziNhES5xOS0b5AFR2kLVOWoAyD2D36l2i1EbMOrWs1g0ht0ikWDZ+UQxhhD+ySvbB7dsWe2PuvtcKoRs3LPs28rhWenjgaWHr7V2XTrLD7qfrTs8IOpiOvkrx7EVO7hVnXVw6OX5Zm8iPhKDtjz+T/lD2yO7qBU3k1z3Mif/KHH05e6MWoQZnv7fgJVibSmcl0NpdNzY7HrWrDIIYxRv2YwizmsYgC1T/EBa5xow1r89qClqunag2xph9fQlv/AIiGm9A=</latexit> si 2 Rni 類似度の算出 →閾値以上で本⼈と認証 顔画像の撮影 ランドマークによる正規化 DNNによる特徴ベクトル抽出 →深層距離学習に利⽤ GitHub リポジトリ 統合 モデル更新 GT ⼊⼒ 類似度 5 0.7604 0.1704 0.2476 8 0.1132 0.6359 0.2333 9 0.3259 0.3669 0.7526 独⾃実装 Flower API Ø 認証結果の例 – 本⼈に対する類似度は⾼く – 他⼈に対する類似度は低く 学習(∵連合学習による協調) Ø 処理時間の評価 – ClientのHW性能の違い から遊休時間が⽣じる Jetsonの遊休時間 学習ラウンド 処理時間 [s] [1] ⼭﨑雄輔, ⾼瀬英希, “フォグコンピューティングを活⽤したサーバクライアン ト間双⽅向知識蒸留を⽤いる連合学習⼿法F2MKD,” SWoPP 2022, 海峡メッセ下関, ⼭⼝, 2022年7⽉. (IEICE CPSY研優秀若⼿発表賞) [2] ⼭﨑雄輔, 細合晋太郎, ⾼瀬英希, “顔認証タスクを事例とした連合学習システム の実機実装,” IPSJ-EMB61 2022, パシフィコ横浜, 神奈川, 2022年11⽉. [3] Y. Yamasaki and H. Takase, “Fog-enabled federated learning with mutual knowledge distillation: F2MKD,” in Proc. CCNC 2023, Jan. 2023. (to appear) 概要 連合学習 クライアントの多様性に寄り添う連合学習 貢献 応⽤ センシティブなデータを中央のAIシステム には集めず機械学習を可能にする連合学習 について,Clientの多様性に着⽬しそれら を包摂する枠組みを提案する. a) 知識蒸留とFogコンピューティングの 活⽤による個別のモデルを学習可能に b) 顔認証タスクを事例とした実践的な 実機実装及び性能評価 データの秘匿性が重要である 医療や⾏政分野でのデータ利活⽤を促進 a) 分散学習アルゴリズムの提案 b) 顔認証タスクを 事例とした実機実装 研究業績 D3-AIプロジェクト 個別のモデルが 有効なケース 以下の「信頼」を備えるAIシステムの創出 (1) データや機械学習モデルのプライバシーが利⽤者 や設計者の意図通りに保護されること (2) AIシステムの健全な利⽤者が公平にAIの恩恵を受 けられること (3) 利⽤環境の変動にシステムが⾃動的に適応し安⼼ してシステムを利⽤できること (4) 省エネルギーで動作し環境負荷が⼩さいこと • Distributed︓分散データを利活⽤し • Dynamic︓時空間的な性質の変動に適応し • Diverse︓利⽤者の多様性を尊重する RPiでもJetsonでも Diverseに使⽤可 デモ展⽰ あり〼 <latexit sha1_base64="kyCpwhzoRwuYygayvcycEFnbVXs=">AAACiXichVG7TgJBFL2sLwQV1MbEhkgwVmTWoBIqEhpLHvJIgJDdddAJ+8rugEHCD1jaWGCjiYWx9wds/AELPsFYYmJj4d1lE6NEvJvdOXPmnrtncmRTZTYnZOgTZmbn5hf8i4Hg0vJKKLy6VrKNtqXQomKohlWRJZuqTKdFzrhKK6ZFJU1WaVluZZzzcodaNjP0I941aV2TTnTWZIrEkarUZK131m/sNcJREiduRSaB6IEoeJU1wo9Qg2MwQIE2aEBBB45YBQlsfKogAgETuTr0kLMQMfecQh8CqG1jF8UOCdkWfk9wV/VYHffOTNtVK/gXFV8LlRGIkRdyT0bkmTyQV/L556yeO8Px0sVVHmup2QhdbBQ+/lVpuHI4/VZN9cyhCUnXK0Pvpss4t1DG+s751aiQysd62+SWvKH/GzIkT3gDvfOu3OVofjDFj4xe+hiP+DuMSVDajYv78UQuEU0nvaD8sAlbsINpHEAaDiELRTeFSxjAtRAURCEppMatgs/TrMOPEjJfmWGS1Q==</latexit> w5 <latexit sha1_base64="uhZqpJXb1laUVfgZjy6aSKAHJXU=">AAACiXichVE9T8JQFL3ULwQV1MXEhUgwTuTVEG2YSFgc+ZCPBAhp6wNf6FfagsGGP+Do4oCLJg7G3T/g4h9w4CcYR0xcHLwtTYwS8TbtO++8e27Py5EMhVk2IaMANze/sLgUXA6FV1bXItH1jbKld02ZlmRd0c2qJFpUYRot2cxWaNUwqahKCq1Inax7XulR02K6dmz3DdpQxbbGWkwWbaSqdUl1zgZNoRmNkyTxKjYNeB/Ewa+cHn2EOpyADjJ0QQUKGtiIFRDBwqcGPBAwkGuAg5yJiHnnFAYQQm0Xuyh2iMh28NvGXc1nNdy7My1PLeNfFHxNVMYgQV7IPRmTZ/JAXsnnn7Mcb4brpY+rNNFSoxm52Cp+/KtScbXh9Fs107MNLRA8rwy9Gx7j3kKe6HvnV+NiupBwdskteUP/N2REnvAGWu9dvsvTwnCGHwm9DDAe/ncY06C8n+QPkql8Kp4R/KCCsA07sIdpHEIGjiAHJS+FSxjCNRfmeE7g0pNWLuBrNuFHcdkvn7uS2A==</latexit> w8 <latexit sha1_base64="wms8/cP9eBlmlQYX7Zgp0veD6+Q=">AAACiXichVG7TgJBFL2sLwQV1MbEhkgwVmTWEEUqEhpLHvJIgJDdddAJ+8rugEHCD1jaWGCjiYWx9wds/AELPsFYYmJj4d1lE6NEvJvdOXPmnrtncmRTZTYnZOgTZmbn5hf8i4Hg0vJKKLy6VrKNtqXQomKohlWRJZuqTKdFzrhKK6ZFJU1WaVluZZzzcodaNjP0I941aV2TTnTWZIrEkarUZK131m8cNMJREiduRSaB6IEoeJU1wo9Qg2MwQIE2aEBBB45YBQlsfKogAgETuTr0kLMQMfecQh8CqG1jF8UOCdkWfk9wV/VYHffOTNtVK/gXFV8LlRGIkRdyT0bkmTyQV/L556yeO8Px0sVVHmup2QhdbBQ+/lVpuHI4/VZN9cyhCUnXK0Pvpss4t1DG+s751aiQysd62+SWvKH/GzIkT3gDvfOu3OVofjDFj4xe+hiP+DuMSVDajYt78UQuEU0nvaD8sAlbsINp7EMaDiELRTeFSxjAtRAURCEppMatgs/TrMOPEjJfodmS2Q==</latexit> w9 IPSJ-EMB61で発表予定 [2] 11/17(Thu) 14:30–15:00 予測区間 N 予測区間 N ⽬標値 ! 現時刻 現時刻 最初の要素を実 際の⼊⼒とする 誤差⾯積が最⼩に なるよう⼊⼒決定 状態 " ⼊⼒ # MPCは制約付き線形時不変系 の制御に⽤いられる汎⽤⼿法 ⼆次計画問題(QP)を解く Ø 応⽤上の課題 EMPC)⾼速だが区分領域数がパラメタ数に対して指数爆 発するため,⼩サイズの問題のみ適⽤可能 IMPC)⾼負荷のため,⾼い制御サンプリングレートが必要 な領域への適⽤が制限(ex. ロボットの姿勢制御) !!"# = #!! + %&!, !! ∈ ) 状態 " #! $∗ = min # )$*) + ," $) !. .. ) = #! , … , #%&' ∈ Ζ 制御 対象 ⼆次計画問題 Plant *∗ = min % .& /. + (1!)& . 3. 5. . = &', … , &()# ∈ Ζ initial state 8 9* for : = 1, … , <* do QP solver iteration IMPC ̃ .+ , >+ ← @ABCDE F GℎADA ! ∈ ℛAJKCL+ Ø Implicit MPC・Explicit MPC ü 固定⼩数点演算,近似EMPCを⽤いて,IMPC を⾼速化する ü 解精度を保証するために必要な反復回数と固定 ⼩数点ビット数を導出する QPを反復法で解く Implicit MPC (IMPC)と,オフラインで厳密解を得る Explicit MPC (EMPC)がある.EMPCで は右図のような状態空間の線形区分領 域をメモリに保持する Step 1. 近似分割領域を得る Step 2. 近似分割領域(ℛ"#$%&)ごとの近似解およ び,解精度保証に必要反復回数を定理[1]に従って 導出,メモリに格納する Step 3. 動的に初期値・反復回数を定め制御する D Previous Proposal [2] W = 4 W = 5 17 36/36 35/31.9 31/28.0 20 33/33 32/28.9 28/25.0 ∞ 32/32 31/28.9 28/24.6 B# & 0 !# !, B, & 1 解精度0.1を保証する 反復回数の最⼤値/平均値 バネマス系での シミュレーション 従来法より, 平均反復回数24% 最⼤反復回数15% 程度の削減 近似度でメモリ量 と速度のトレード オフを調節できる 必要な解精度を保 証するために最適 な反復回数-固定 ⼩数点ビット数' を求められる 本ケースでは ( = 19あれば最適 [1] 前⽥志温, 中村宏, and ⾼瀬英希. "精度保証付き⾼速モデル予測制御の固定⼩数 点実装に向けた検討." 電⼦情報通信学会技術研究報告; 信学技報. [2] Peyrl, Helfried, et al "Parallel implementations of the fast gradient method for high-speed MPC” Control Engineering Practice 33 (2014): 22-34 参考⽂献 Ø 最適な固定⼩数点ビット数と反復回数を導出 Ø ⾼速化を達成 近似度 W 本研究の⼀部は,JST CREST JPMJCR21D2の⽀援によるものである. 資料URL ぜひとも お⽴ち寄りを︕