人気ブログランキング |

<   2020年 05月 ( 4 )   > この月の画像一覧

お知らせ:BOM/部品表に関するオンラインセミナー講演を行います(6月16日)

お知らせです。
来る6月16日(火)に、BOM/部品表に関する有償オンラインセミナーを行います。昨年12月に行った対面セミナーのアンコール版です(お陰様で昨年は満員でした)。ただし昨今の情勢を鑑み、オンラインで受講可能としております。

2004年に「BOM/部品表入門」を上梓して以来、わたしは15年以上にわたって、BOM=部品表のマネジメント重要性を、訴え続けてきました。幸い本書はいまだに現役で、累計1万部以上が売れたばかりか、中国語版もかなり好評です。

いやしくも製造業である限り、どの企業も、BOMは必ず持っています(そうでなければ材料も購入できませんから)。しかし、BOMのデータをきちんとマネジメントできている会社は、決して多くないようです。なぜ、BOMのマネジメントが難しいのか。それは、生産の中核に位置づけられる基準情報であるにもかかわらず、複数の部門がいろいろなフェーズとタイミングで関わるからです。

とくに近年は、
 ・新製品開発・投入のサイクルが早くなった、
 ・製造のサプライチェーンが国境をまたいで海外に伸びた、
 ・企業買収や提携が進んだ、
などの要因が相まって、BOMデータの維持運用を難しくしています。

他方、最近は製造業でも「DX」ブームの声とともに、データ・サイエンスやデータ・マネジメントに関心が集まり、あらためてBOMのあり方が注目されているようです。さらに、BOP(Bill of Process=工程表)概念の普及や、海外を中心としたPLM(Product Lifecycle Management)ソフトウェアの発達など、この分野での進展も確かにあります。

今回は、前回の内容をさらにバージョンアップし、著書に述べた量産型製造業だけでなく、BOMを扱いにくい個別受注生産にも光を当て、「自分で考え身につく」セミナーを目指します。

BOM/部品表マネジメントに関心のある方のご来聴を、心よりお待ちしております。


<記>

BOM/部品表の基礎と効果的な活用ノウハウ

日時: 2020年6月16日(火) 10:30~17:30
主催: 日本テクノセンター(東京・新宿)

セミナー詳細: 下記よりお申し込みください(有償です)
なお、PC環境等の制限によりオンライン視聴が難しい方は、日本テクノセンター研修室でも受講が可能です。


よろしくお願いします。
               (佐藤知一)

<関連エントリ>
  
  

by Tomoichi_Sato | 2020-05-28 21:48 | サプライチェーン | Comments(0)

AIで設計は自動化できるか(3) 〜機械にできる仕事、人間が果たすべき仕事

「佐藤さん。AIを使って、設計を自動化することができると思われますか?」

――おやおや。何かご相談があるという話でしたが、いきなり難しい質問ですね。どうしてそんなことを考えておられるのですか。

「自分はこのところずっと技術部門で、いわゆるPLMと呼ばれるような設計用のITツールに関わる仕事をしています。ただ、単に設計図面や部品表を共有するだけではなく、もっと画期的に設計の生産性を向上するには、AIの力が必要だろうと思って調べはじめたんです。そうしたら佐藤さんの会社の、『ITグランドプラン2030』構想が検索に引っかかりました。その中に『AI設計』という活動があって、興味を持ったんです。」
AIで設計は自動化できるか(3) 〜機械にできる仕事、人間が果たすべき仕事_e0058447_22300144.jpg
日揮ホールディングスHPより引用(https://www.jgc.com/jp/news/assets/pdf/20181218_1.pdf

――なるほど。ただ、我々のようなプラント・エンジニアリング会社と御社では、設計業務も随分違うと思います。御社では、なぜAIに自動設計させたいのですか? 狙いはなんでしょう。

「それは…ですから、設計生産性の画期的な向上です。」

――と言うと? 御社では設計の生産性がこまるほど低いのですか?

「いえ、そう言うと語弊がありますが…ただ設計のミスとかは、案外多いですね。出図の後の、変更のフォローも悩みの種です。」

――つまり、省力化と正確性の向上を図りたいから、AIに設計をやらせたいと。そういうことですか?

「佐藤さんの会社では、違う狙いがあるんですか?」

――正確性の向上も、目的の1つにはありますよ。でもそれは部分に過ぎません。他に、例えば大量で単調な設計作業を肩代わりさせたいから、ということもあります。プラントの世界では、追いかけなければならない設計対象品目の数が、半端なく多いですからね。でも、一番最終的な狙いは、これまでの人間では発想できなかった設計を得たいから、です。

「そこなんです! 自分が言いたかったことも。今まで思いつかなかったような形状の製品を設計する。これができれば凄いじゃないですか。佐藤さんの会社が発表されているロードマップを見ると、『革新的なプロセス機器の自動設計』が最終ゴールに描かれています。これがそういう意味ですよね?」


――その通りです。非常にクリティカルな操作条件の反応器や熱交換器などを、まったく新しい形状で設計できるようになることを、目指してます。でもそのためには、3D Printerや新素材の開発も同時に必要でしょうがね。それも同じロードマップに入っています。

「なるほど。ただ、そこに至る道筋とステップが、よく分かりません。なんだか一本道ではなくて2つの線が合流した形になってますよね。これはどういう意味ですか?」

――それを説明するには、まずこのロードマップ図の見方を説明しなければなりません。ロードマップの横軸は、図中のそれぞれのテーマの狙いを示しています。図の左側に位置するのは、短期的な狙いです。ここではキャパシティーアップと書いていますが、これは私たちの組織の生産性を上げると言う意味です。」

「生産性。まさに私たちの課題と同じです。」

――図の真ん中へんに位置するのは、品質向上・リスク低減です。すなわちプロジェクトをより可視化して、突然問題が吹き出すことを防ぐのが目的です。そして1番右側にするのは、新しいデザインや価値を、顧客に提供することです。つまり左側にあるのは短期的な課題、真ん中が中期的で、一番右はより長期的な狙いになります。

「AI設計は、比較的左側に寄っていますね。」

――その通りです。そして縦軸は、それぞれの取り組みの難易度を表しています。上に行けば行くほど、難しい。ですから、このロードマップの全体配置で言うと、左下のほうにある取り組みは、短期的な狙いで、かつ、難易度も低いですから、すぐ着手べき、となります。逆に右上のほうにあるテーマは、長期的な狙いで、難しいですから、当然将来の取り組みになります。ですから、全体としては、左下から右上に向かって、我々のいわば「デジタルジャーニー」の道筋があるわけです。

「なるほど、図の構造はよくわかりました。」

――それで、AI設計に話を戻します。出発点になるのが1番左下の、単純作業の自動化です。先程言ったように、私たちの設計業務には、多量で単調な作業がかなり含まれています。チェック作業とか、ツールや図面間の転記作業とか。そこでRPAなどを使って自動化し、エンジニアをつまらない作業から解放する。

「RPAはAIとは言えないですが。」

――もちろんです。ただ、こうやって設計作業を棚卸しし、最初に整理しておく必要があります。その上でAIの応用を考えねばならない。ところで、AIのエンジンと言うのは、買ってくれば、そのままポンと使える道具ではありません。そこには設計の知識やルールの埋め込みが必要になります。そのためには、ベテランのエンジニアが持っている暗黙知を、形式知化して、AIのエンジンが理解できる形に埋め込んでやらなければいけません。

「それが左上にある、『シニア技術の形式知化・ルール化』なんですね。ただ、どうしてこれは、こんな外れた場所にあるんでしょうか?」

――われわれはこのテーマに、昔から何度も取り組んできたんです。ところが、なかなかうまくいきませんでした。難易度が高いので、図の左上にあるのです。

「実は、うちの会社でも、同じような問題に突き当たっています。なぜこれって難しいのでしょうね?」

――理由はいくつかあると思います。単純に、シニアが忙しすぎて、時間を捻出できない、から始まって、センスや感覚論で説明してしまう傾向があるとか、いろいろです。でも1つの問題は、設計プロセスを形式化するための、方法論なり技術が、曖昧だったことにあります。そこで我々は、DSMという手法を導入して取り組むことにしました。

「DSMって、なんですか?」

――Design Structure Matrixの略で、米国のD. V. Stewardが1981年に、設計プロセスのモデル化のために提案した技法です。設計変数(設計諸元)をマトリクスの縦横に取って、設計における依存関係を表現します。Bという設計変数を導出するのに、設計変数Aが必要だったら、マトリクスのB行のA列に1を記入します。記法は単純ですが、複雑な設計プロセスを形式知化し、設計上の問題を抽出することができます。
AIで設計は自動化できるか(3) 〜機械にできる仕事、人間が果たすべき仕事_e0058447_22323129.jpg
「というと?」

――通常の順次導出関係は、対角線よりも左下にある”1"で示されます。逆に、対角線よりも右上に1があったら、それは設計の後工程から前工程へのフィードバック(つまり手戻り)を示すのです。そこで設計変数の順序入れ替えやグルーピングを行って、マトリクスを整理し、プロセスを改善するのです。もちろん、1のマス目で表される、それぞれの設計変数間の導出関係の後ろには、計算ロジックがある訳です。

「なるほど」

――わたし達は、シニア技術の形式知化から、メインのAI設計の流れに合流する点を、「AIローディング・ポイント」とよんでいます。これをちゃんとやらないと、設計へのAIの活用は成り立ちません。

「その次にある『プロットプラン自動設計』というのは何ですか?」

――プロットプランとはプラントの配置計画のことで、空間設計の基礎になるものです。化学プラントの設計では、最初にプロセスシステム、つまり全体の機能的な設計をします。電気工学で言う回路設計だと思ってください。それから、システムを構成する個々の要素、つまり機器や配管などの空間的な配置を決めます。これがプロットプランです。プロットプランは全体コストに大きな影響を及ぼすので、エンジニアリング会社の競争力の源泉ですが、考慮すべき要素も多く、現在はベテランにかなりを頼っています。

「そこでAIの登場ですね」

――うーん、そうなんですが、話はそう単純じゃありません。プロットプランはコストを左右する、といいましたが、じゃあ単に、敷地面積や配管の物量だけを最小化すればいいかというと、そうではないんです。施工性であるとか、地下埋設物の存在とか、操業時のアクセス性とか、かなりいろいろな要素が関わります。つまり、評価尺度が複数あって、しかもあちらを立てればこちらが立たず、というトレードオフ関係が生じやすいのです。

「そうなると、最適化問題という訳ですか」

――そうです。それも多目的最適化問題になります。多目的最適化ではパレート・フロンティアとか、いろんな概念とテクニックが登場しますが、要するに答えは一つとは限らないのです。しかも、配管長とかケーブル長とか敷地面積などは、明示的に計算できますから、最適化エンジンの中に組み込めますが、施工性とか操作性は、ある意味とても定量化しにくいものです。だから、エンジンには組み込めない。

「じゃあ、どうするんですか?」

――出てきた答えを、人間が評価するしか無いのですよ。多目的最適化エンジンに、制約条件と目標値を与えて、複数のケースを計算させてみる。その結果を、エンジニアが評価して、部分的には修正して、またエンジンを動かす。こういった、一種のマン・マシン・ループの生じる仕事になります。

「それは、あまりうれしくないですね」

――そうでしょうか。でも、現在はすべてのプロットプラン設計作業を、ベテラン技術者がやっていますから、限られた納期の中では1ケースのプランを作るのが精一杯です。それが、複数ケースを比較評価して、ベターなものを選べるのだったら、十分うれしいと思います。

「なるほど、省力化は図れるのですね」

――いや、省力化よりも大事なことがあります。それは、技術者が『評価』という、価値ある仕事に集中できることです。さまざまな観点・尺度から、設計成果物を評価し、必要に応じて改善する。この部分は、AIにはできません。計算機には価値観も思想もありませんからね。人間の大事な仕事なんです。従来は設計のバルキーな計算や作図作業にほとんどの時間を取られ、せいぜい設計結果のチェック&レビューくらいしかできませんでした。評価尺度についても、十分意識化してこなかった。そこは大きな前進になります。

「ふーん。そうなると、AIの出番はどうなるのですか?」

――まあGartner社などは、最適化もAIの領域内に含めていますが、技術的には以前からあったものです。それで、現在、世の中でAIと呼ばれているものは、ほぼ機械学習、それも深層学習です。その中心機能は、パターン認識、つまり類似性の判別と判定にあります。具体的には、画像認識による個人の顔の特定や、音声認識などのアプリケーションですね。もちろん、故障の予知保全なんかも応用分野の一つです。

「そこは弊社でも注目しているところです」

――そうですか。ところで、パターン認識技術って、設計に応用できると思いますか?

「できるんじゃないでしょうか。過去の設計事例から類似パターンを引っ張り出して、サジェスチョンしてくれるとか、でるといいなと思っています。」

――たしかに、サジェスト機能くらいなら、ありえるでしょう。保証はないけど、おおよその答えを言うだけですから。でもね、いやしくも科学法則に縛られた理工学領域の設計では、ベストの類似パターンを探し出してきたって、その計算結果が制約条件を満たさなければ、アウトですよ。設計の世界では、yesかnoかは白黒はっきりしています。耐荷重が100kgの条件なのに、出てきた答えが98kgしかなかったら、アウトプットには使えないのです。そこは、SFじゃないけど「冷たい方程式」が支配する領域なんです。

「だったら、シミュレーション機能と統合して、条件を満たす順に類似結果を表示したらどうですか。PLMの中に過去の設計図面をすべて登録し、PLM得意のシミュレーションI/Fを使って計算すればいいでしょう。そこから人間が、いいものを選ぶ」

――はい。だから、機械学習は、わたしのいう「選択的設計問題」だったら使いやすいと思うのです。もちろん、過去の設計成果物が、きちんとデジタル化され、かつ、設計変数や制約条件などのメタデータも、標準形式化され登録されている前提ですが。

「まあ、そこはちょっとハードルが高いですけれど、頑張れば可能ですね」

――ですね。で、そのとき課題になるが、設計ルールや、設計変数間の関係、つまり設計知識の扱いなんです。過去の図面は、頑張ればデジタル化できるでしょう。ただ、メタデータやルールや知識を、扱いやすい形式にする部分がポイントです。今の深層学習系AIソフトと、一世代前のルール型AIや知識ベースの両方が、じつは設計の自動化には必要なのです。

「ふーむ。でもIBM Watsonなんかは、何でも知っているという話ですが」

――クイズ番組に出るような知識ならね(笑)。ただ、御社の設計作業に関する知識は、知らないんじゃないですか。それをインプットするのは、御社の仕事のはずです。

「たしかに。」

――しかも、今のAIが活用できるのは、選択型問題や、演繹的決定による設計問題に限られます。先ほど説明したプロットプランのような最適化問題は、パターン認識ではアプローチできません。ましてや、形状や構造を設計する、システム合成問題は、なお難しいでしょう。

「じゃあ、AIでの設計は不可能、と思われるのですか?」

――そうは言いません。今の深層学習とパターン認識によるアプローチの最大の問題は、過去の設計データの蓄積に依存している点です。深層学習は、万の単位の教師データを必要とします。しかし、設計という行為は、つねに一回限りです。製造では全く同じ製品を繰返し作ります。だからパターン認識による欠陥検出や故障予知などがきくのです。他方、設計は、全く同じ図面を再生産することはしません。毎回、必ず何かが違うのです。エンジニアリングには「個別性の罠」があるのです。

「ますます、不可能に思えてきましたが」

――それは、過去の設計結果に頼ろうとするからです。そうではなくて、計算機が、自分で設計結果を生み出していけば良いのです。少しずつ、設計パラメータを変えて、結果を計算する。そして、評価関数を与えてやって、良いものを選んでいく。計算機は飽くことなく、いくらでもランダムな組合せで設計をジェネレートします。そこから、よりベターなパラメータ群を選んでいく。

「それって、強化学習ですね」

――そうです。AIで設計を自動化したかったら、強化学習しかないのですよ。このように、計算機が自分でベターな設計を生成していく手法を、Generative Designといいますが、その代表例が、「トポロジー最適化」の技術です。これは、機械部品などの形状について、人間がある初期値を与えてやり、そこから自動的に肉付けを変えていって、もっとも重量が少なく強度の高い結果を求めていくような手法です。すでに商用のソフトウェアも存在します。

「やっと、トンネルの向こうに光が見えてきたような気がします」

――そうですか。ただね、強化学習では、設計をジェネレートするたびに、その評価をしなければならないのです。単純な構造部品なら、重量と強度の計算程度ですみます。しかし、たとえば熱交換器程度でも、ちゃんと評価しようとすると、毎回、熱伝導計算と計算機流体力学の両方を解かなければなりません。かなりマシンパワーを食う計算です。

「でも、マシンパワーはクラウドと並列化技術のおかげで指数関数的に進化し続けています。そういう意味では、強化学習による設計も、楽観視して良さそうですね。」

――まあ、そうだといいですね。ただ、ちょっと気になる点もあります。現在のAIコミュニティを見ていると、強化学習の分野は倒立振子問題から始まって、ロボットアームの制御みたいな、連続変数の制御問題の枠組みばかりを注視しているように感じられます。トポロジー最適化のような、形状の連続的変形の問題は、それでもいい。連続変数の最適化制御問題は、非線形性が強くても、最後は偏微分方程式を力づくで解く方向に進めます。

「はあ。」

――ところが、形状の設計ではなくシステム構造の設計となると、問題は離散的な設計変数の組になります。離散系の最適化問題は、連続系とは全く異なる難しさがあるんです。詳しい話は省きますが、NP完全になりやすいので、経験的なヒューリスティックが必要になる。そのことを、ORの分野の人はよく知っていますが、まだAI系の人は無頓着に思えます。

「というと、結局、AIは設計をどこまで自動化できるんでしょうか?」

――将来に渡って、設計エンジニアは不要にはならない、ということです。要求を分析し問題構造を理解する、設計の知識ベースを入力・更新する、複数の目的関数を設定する、でてきた結果を評価する、必要に応じてそれを修正する、そして設計のツール自体を進化させる。こうした仕事は、相変わらず人間に残ります。もしAIが将来、設計技術者を不要にすると思うなら、それは無用な心配です。むしろ今のAIは、設計に活用しようとすると、ずいぶん寸法が足りない。一寸法師のようなものです。
 一寸法師だって、大勢を上手に使えば、エンジニアの退屈な仕事はそれなりに手助けしてくれます。ただ、それを上手に進化させられるかは、わたし達にかかっているのです。


<関連エントリ>
 (2020-05-07)
  (2020-05-15)



by Tomoichi_Sato | 2020-05-24 23:12 | 考えるヒント | Comments(1)

AIで設計を自動化できるか? (2) 〜「良い設計」の条件を考える

前回の記事「設計とはどういう行為か、AIで設計を自動化できるか?」 でも書いたとおり、設計とは『機能を形状・構造に落としこむ』(そして必要な場合は制御機構も与える)行為である。だから、設計は典型的な逆問題になる。逆問題とは、アウトプット(結果)から、インプットやプロセス(入力・過程)を逆算する問題だ。一般的には、一意に解けない。だからこそ、設計者のスキルやセンスの活躍する領域がでてくる。

設計者に、スキルの高低とかセンスの良しあしがあることを、否定するエンジニアは少ないだろう。毎回、画一的な答えを出すだけなら、ロボットでも代替できる。だが、設計者はロボットではないはずだ。では、設計者という人間のスキルやセンスとは、何を指すのか。

当たり前だが、それは、「良い設計」を作れる能力を意味している。誰が見ても、「うーむ、良い設計だ」と感心する出来栄えのアウトプットを、ある程度コンスタントに生み出せる能力。そういう人は、スキルが高い、センスが良い、と言えよう。

では、「良い設計」とは、何なのか? 

良しあしを言うからには、そこに、何らかの評価尺度と基準があるはずである。前回の記事では、機能・構造・制御の3要素に関連して、3つの評価項目を取り上げた。

(1) 有用性:有用でないモノは、作るに値しない。有用性とは「機能」が生み出すもので、設計対象の性質やふるまいのうち、使用者の期待に合致する(あるいは他の機能を助ける)部分を指す。若干ニュアンスはかわるが、「機能性」と呼んでも良い。

(2) 存続性:ちゃんと存続しないモノ(作っても瞬時に壊れるような物)は、使えない。存続性は、「構造・形状」(と材質)が、保証する。力学的安定性ともいう。ただしソフトウェアのような無体物は、構造的単純性(スパゲッティ状態でないこと)で置き換えて、解釈すべきだろう。

(3) 操作性:使用者の意思に沿って動かないモノは、使えない。操作性は、「制御」の機構が実現するもので、制御性といっても良い。普通はそのために、ユーザ・インタフェースが必要になる。

言いかえると、ユーザの期待を上回るような機能・性能があり、形状や構造は単純ながら堅牢安定で、かつユーザの意のままに動かせるようなモノを作れたら、良い設計だという事になる。

しかし、評価基準はこれだけか? そんなことはない。

まず、真っ先に設計者の脳裏に浮かぶのは、『コスト』であろう。コストが優先、コストは安いほうが良い。これは多くのエンジニアに刻み込まれた価値観だ(とくに日本では)。もちろん、正確に言うと、「同じ性能や品質が実現できるならば、コストは安いほうが良い」である。コストダウンで性能や品質が犠牲になっては、本末転倒だ(だが、しばしば設計者が、「コストダウン優先」という『転倒』を、要求されたりするのが見受けられるが)。

その「コスト」はさらに、設計作業それ自体の人件費、材料部品の購入費、そして製造や検査の労務費、機械設備の減価償却費や光熱費、などから構成される。このうち、最後の製造間接費は普通、企業の製造部門が固定費として担うので、設計部門の責任範囲外だ。しかし設計人件費・材料費・労務費のどこまでが、設計部門の「コスト」の対象になるかは、その企業の組織ポリシー次第でかわる。

だから、ある者は、たとえ材料費が少し増えても、製造の手間が下がれば、全体コストが下がるから「良い設計」と思い、別の者は、材料費さえ下がれば、製造が面倒になっても「良い設計」だと考える(労務費は設計者の責任範囲外の場合)、といった現象がおきる。もちろん、設計作業の人件費しか見ない者もあるだろう(製造を外部企業に委託している場合など)。このように、何が良い設計なのかは、その会社の経営のモノサシにかなり依存するのだ。

さて、同じ性能や品質が実現できるなら、コストは安いほうが良い、と上に書いたが、では「性能」や「品質」は、どんな評価尺度なのか? とくに設計が実現すべき『品質』とは何なのか。まさか、製造品質のことではあるまい(さすがに普通それは製造部門の責任だ)。では、設計図や仕様書に誤りがないこと? 誤字や転記ミスがなければ、「良い設計」になるのか? それって最低限、守るべきことではないか。

設計における品質の問題とは、ユーザの要件や無意識的期待への合致、で測られるべきであることを思い出そう。そこで、よくITの分野で行うように、「機能要件」と「非機能要件」という角度からとらえなおすほうが、分かりやすい。

 性能=機能要件に属する特性
 品質=非機能要件で決まる特性

たとえば自動車でいえば、『移動』という主要な機能目的に直接付随する特性、つまり走行距離、最高速度、可載重量、馬力、加速性、燃費、回転半径などが、性能の範囲だ。逆に、高速安定性だとか剛性だとか衝突安全性、そして空間の広さや居住性、運転のしやすさといった非機能要件が、品質と関係する。良い設計というのは、機能要求を満たしつつ、非機能要件も適度に満足させるバランス感にある。

つまり、設計とは、与えられた制約条件の中で、複数の評価尺度を、なるべく最大化するような設計変数の組を見つける作業である、ととらえることができる。ORの分野の用語でいいかえると、設計とは多目的最適化問題なのである。

そして、複数の評価尺度の間には、しばしば、「あちらを立てればこちらが立たず」というトレードオフの関係が生じる。自動車の例を続けると、走行距離を伸ばすには燃料タンクを大きくすることになる。だが、そうすると車体重量がまして、燃費や加速性が犠牲になる。加速性を上げるためにエンジンの馬力を上げると、今度は燃費が下がる、じゃあ車体を軽量化しようとすると、高速安定性が損なわれるし材料コストが上がる、といった具合だ。

AI(機械学習)の分野には、「ノー・フリー・ランチ定理」と呼ばれる定理がある。すべての最適化問題に対して、最強の性能となるようなアルゴリズムは存在しない、という定理だ。魔法の「銀の弾丸」はない、といってもいい。設計で突き当たるトレードオフの問題は、この定理を思い出させる。どこかを強めると、どこかが弱くなるのだ。

そこで、評価尺度の間にトレードオフが生じるとき、どの項目を優先して、どこは犠牲にすべきかを決める、より高いレベルの指針が必要になる。これを『設計思想』Design phylosophyと呼ぶ。良い設計とは、すなわち設計思想の明確な仕事である。ジョブズの生みだしたiPhoneは、たしかに設計思想の明確な製品だった。逆に設計思想の薄弱な、八方美人的な製品は、個性が薄く人を引きつける力が弱くなる。

もっとも、自動車や携帯電話のような複雑なシステム製品の設計となると、それ自体が設計変数の多い大規模な問題で(部品点数だけでも相当になる)、評価尺度の項目も多く、非常に難しい。これに比べて、前回取り上げた、椅子の設計だったら、形状も構造もずっと単純だ。設計変数も、ずっと少ない。座面の高さや耐荷重量、脚の本数などの主要な設計パラメータは、たぶん所与で決まっているだろう。

そのような場合、主に問題となるのは、形状と材質を与えたとき、所定の力学的強度を満たすかどうか、のチェックであろう。これなら単純なシミュレーション計算(場合によっては手計算)で確認することができる。さらにキャスターなどの制御機構を考え、総重量を求め、部品表とコストを計算し・・という具合に、設計作業は順次、進んでいく。こういう仕事ならば、手順書を作って、スキルの低い設計者や外部に委託することも可能になる。

いや、もっと単純な設計作業だって、無いわけではない。それは、あらかじめ決まっている選択肢の中から、要求仕様に基づいて、条件に合致する物を選ぶような作業である。わたしの職場では、よくこうした仕事を「カタログ・エンジニア」とよんだりする。分厚いカタログの中から、適切な製品や部品を選んで、その特性を仕様書に転記するだけの作業だからだ。

このように考えると、設計という仕事には、カタログから選ぶだけの単純な作業から、複雑なシステム製品の内部構造と制御機構を実現する仕事まで、大きく4つくらいのレベルがあることが分かる。それは、考えるべき設計変数の数と、評価尺度の複雑性に応じて、図のようにマッピングすることができよう。
AIで設計を自動化できるか? (2) 〜「良い設計」の条件を考える_e0058447_08224645.jpg
つまり、設計行為には4つのレベルがあると考えられる

1. 選択的決定:いわゆるカタログ・エンジニア
2. 演繹的決定:設計計算で主要な設計変数を逐次導出する
3. 最適化決定:評価関数を最大化する設計変数の組を探索する
4. システム合成:多軸的な評価関数をバランスよく満たすような構造と制御機構を合成する

当然ながら、この順番で設計は難しくなる。ただ、4の「システム合成」の高度な大仕事も、その中のプロセスを細かく分解してみると、部分的機能モジュールの最適化決定や演繹的決定、あるいは単純な部品の選択的決定、などが含まれているのが分かるだろう。そして設計チームの中で、スキルに応じて、そうした作業が振り分けられていくはずである。

このように考えると、AIで設計を自動化できるか、という問いに、さらに一歩近づいた訳である。その答えについては、次回の記事で考えてみよう。


<関連エントリ>
 →
(2019-09-22)



by Tomoichi_Sato | 2020-05-15 12:18 | 考えるヒント | Comments(0)

設計とはどういう行為か、AIで設計を自動化できるか?

2月の中旬、まだ大勢の人の集まる会合が可能だった頃(なんだか遠い昔のようだが)、「日本学術振興会 プロセスシステム工学第143委員会」(通称「PSE143委員会」)という場に招かれ、講演をさせていただいた。会合全体のテーマは「新しい設計手法・視点」で、わたしは『システム設計は果たして工学たりうるか?』と題するお話をした。

設計とは何か、という問題について、最近あれこれの角度から考えてみている。わたし自身はエンジニアリング会社でずっと働いており、とくに駆け出しの頃は、設計部門でキャリアを積んだ。今は設計の現場から離れてしまったが、今でも設計の良し悪しこそ、その後の仕事の質や利益を、大きく左右すると信じている。そして、プロジェクト・マネジメントの分野に設計論が欠けていることが問題だ、とは以前も書いたとおりだ。

では、ひるがえって、設計とはどういう行為なのか、設計の質とは何が決めるのか、そして昨今皆が注目しているAI(人工知能)という道具は、設計において役立つのかどうか。こうした議論は、あまり十分されていないように感じる。そこで、上記の講演の内容を一部再録する形で、読者諸賢の検討の俎上に差し出そうという次第である。

ちなみに委員会の名称にある「プロセスシステム工学」とは、簡単に言うと化学プラントの全体設計及び制御に関する工学、というほどの意味である。プラントというのは、外観を見た方はご存知の通り、装置や機器を多数の配管が網の目のように縦横無尽につないだ形をしている。あれ自体が、非常に複雑なハードウェア・システムなのである(もちろん制御ソフトウェアもその上で動く)。だから、わたしの講演タイトルにある『システム設計』は、ITソフトウェアの設計というよりも、もっと広い意味でとらえていただきたい。

さて。そもそも、設計とはどういう行為なのか。設計という仕事を、真っ向から研究対象としてとらえた学問は存在するのか。すなわち、『設計論』の系譜とは、どうなっているのか?

不思議なことに、ここがまず、出発点として曖昧なのである。読者の中には理工学系の教育を受けた方も少なくないと思う。では、一般的に設計とはなにか、どういう原理で考え、どう進めるものなのか、教わった方は多いだろうか? わたし自身の記憶は、あいまいだ。工学部では、それぞれの専門領域の手法論は細かに教わる。だが、分野を横断した、一般的な設計論というのを、あまり聞いた覚えがない。

じつは早くも1960年代に、この点を問題視した人がいた。後に東大総長となる故・向坊隆である。彼は応用化学系の研究者だったが、戦後日本における工学教育の見直しの必要を説き、エンジニアが共通に学ぶべき『基礎工学』の21の科目を提案した。その第10科目が「設計論」で、第21科目は「システム工学」だった。

設計論を担当した渡辺茂は、後に著書「設計論」(岩波書店、1975)をまとめる。彼の「設計の定義」は、こうだ:

「設計とは思いついた“あるもの”に具体的な形を与え、その着想の正しさを確認することであって、次の三つの行動からなりたっている。
1. “あるもの”を作りたいときめる
2. それに形を与え、使用する素材をきめる  
3. その作り方をきめる」
設計とはどういう行為か、AIで設計を自動化できるか?_e0058447_19543325.jpg
・・感心しましたか?

率直に言うと、「何それ?」というのが、読んだ時のわたしの感想だ。渡辺茂は機械工学の人だった。だから形と素材に、主要な関心がある。しかし、電子回路の設計や、プラントの制御方式に悩んでいる設計者にとって、<形を与え、素材を決める>と言われて、心に響くとは、とても思えない。ソフトウェア設計者には、いうに及ばずだろう。

もう少し時代が下って、1979年。東大の精密機械工学科の吉川弘之は、設計についての公理的理論として『一般設計学』を提案する。一般設計学では、基本的な概念として「実体」,「実体概念」,「属性概念」が定義され、位相空間論の方法が用いられる。たとえば、「公理1(認識公理):実体は属性(あるいは機能,形態などの抽象概念)によって認識あるいは記述することが可能である」、といった具合だ。

わたしはここで、その内容を詳しく解説するつもりはない。あまりに抽象的で難解だからだ。もしご興味があれば、たとえば、下記の講義録などを参照されたい。

また、後に角田譲は、位相空間論ではなく「チャンネル理論」の数学的枠組みを用いて、「抽象設計論」を提案する(2001年)。その内容については、以下の文献も参考になる。
菊地誠(2003): 一般設計学と抽象設計論に関する考察. 京都大学数理解析研究所講究録 1318, 136-148,

ただ、エンジニアとして正直に言うと、上記のような公理論的な枠組みをいただいても、実際の設計の仕事にどう活かしたらいいか、さっぱり分かりません、との感想になってしまう。

という訳で、いつものことながら、自分で納得できる答えを自分で考えるしかない、という事になった。
設計とは、どういう行為か? わたしの答えは、こうである。

設計とは、『機能を形状・構造に落としこむ』作業である。
設計対象に可動部分があったり、対象が入力を出力に変換する仕組み(システム)である場合は、その構造に、制御機構を与える作業が続く。

これだと分かりにくいだろうから、具体的な例をあげてみよう。たとえば、椅子を設計することを考える。

椅子は、人がその上に一時的に腰掛けるためのものだ。すなわち、一定の高さに座面を提供することが、その機能である。そこで、座面の高さ、かかる体重(外力)などが、主要な設計パラメータになる。設計パラメータというのは、問題固有の特徴的な設計変数のことだ。
設計とはどういう行為か、AIで設計を自動化できるか?_e0058447_19565226.jpg
野良の切り株だって、座る役には立つ。だから、考えている椅子が、もし「切り株」のように、単一の材料からなる場合、形と材質だけを決めれば、事足りる(構造の概念は不要だ)。

だが、もちろん異なる形状と材質からなる、座面と、それを支持する脚部からなる「構造」を考えてもよい。そして普通の椅子は、そうなっている。この場合、座面の広さ・材質、座面を支える脚の形状と本数、地面との接し方、などの設計変数を決める。

その上で、手で持ち上げられる重さにおさめたい、とか、耐荷重は最大100kgとか、回転できるようにしたいとか、背もたれも必要だとか、さまざまな要求仕様や、製造上の制約条件を加味して、考えを進める必要がある。

最終的には、製造する人にとって必要な、製作図面と、部品表(BOM)と、製造仕様書とを設計のアウトプットとして出さなければならない。もし売り物にするならば、さらに「使用説明書」(ユーザマニュアル)もいるだろう。

ところで、椅子の設計において、形状や構造はたしかに分かる。だが、椅子の「制御」とは何だろうか? そんなものは必要なのか? どこかにマイコンをつけて、モータをサーボ制御するのか?

そう思うのは、制御ということを、現代制御理論の枠組みで捉えすぎるからである。制御の原義とは、「設計対象のふるまい方を、ユーザの意思や動きに合致させる仕組み」なのだ。それはユーザとの入出力操作により、性能(有用性)や安定性を変えるメカニズムである。

椅子の場合はどうか? たとえば、キャスターつきの脚部は、ある意味、椅子の位置を「制御」しやすくするための仕組みだ。また、そのキャスターにストッパーがついていたら、それは移動性のみならず、安定度を確保するための制御の仕組みでもある。また、座面の高さや、背もたれの角度の調節メカニズムだって、立派な制御機構である。

ちなみに、上に述べた「機能」と「構造」の概念についても、きちんと記しておいたほうがいいだろう。

機能とは、設計対象のふるまいや、対象がもたらす変化のうち、ユーザの期待に合致して(あるいは他の機能とつながって)有用なところを意味する。すなわち、製品の生み出すアウトプット(物・運動・情報)や、あるいは働きを「機能」と呼ぶのだ。椅子ならば、座面を提供して人の体重を支えることが、主たる機能である。ちなみに、アウトプットや変化を生むだけでなく、自然な変化を防ぐ事も、「働き」の一種である。だから、塗装は鉄のサビを防ぐ「機能」を持っている、という。

構造とは、モノとして存続性(安定性)があり、そのふるまいにおいて機能(有用性)がもたらされるような、要素の形と材質の組合せをいう。なお、これは設計対象が、物理的な実体を持つような場合の話である。ソフトウェアとか、あるいは「企業組織を設計する」際のように、実体がない設計対象の場合は、「構造」とは、要素的な機能のかたまり(モジュール)と、その連携関係のことを示す。

余談だが、宮崎駿の映画「風立ちぬ」で、主人公の堀越二郎が、食堂で出てきた魚の骨をつまみあげて、「なんて見事な形なんだ」と賛嘆するシーンがあった。堀越は航空機工学のエンジニアだから、部品の形状に、非常に興味がある。

機械・土木・建築など、物理的な形状に近い設計の分野では、『形状』は機能と、構造(力学的構造)を橋渡しする、重要な要素である。だから最初の定義に、『機能を形状・構造に落としこむ』と書いたのだ。ちなみに電子回路の設計や、化学プラントのプロセスシステム設計(=プラントの回路設計)では、機能的な要素の結合関係が重要であって、物理的な距離は、まあ副次的な役割にとどまる。そして無体物の設計では、形状は問題にならない。

少し長くなってきたので、これまでのところを簡単にまとめよう。

1.設計とは、『機能を形状・構造に落としこむ』作業である。必要な場合は、さらに制御機構を与える作業が続く。

2.機能とは、設計対象のふるまいや変化のうち、ユーザの期待に合致する(あるいは他の機能とつながる)ところを意味する。つまり「有用性」が評価基準となる(無用なものは設計する価値がない)

3.構造とは、設計対象を構成する要素の形と、つながり・組合せを意味する。機能として期待するふるまいをし、かつモノとしての「存続性」(力学的安定性)が評価基準となる

4.制御とは、設計対象のふるまい方を、ユーザの意思や動きに合致させる仕組みであり、ユーザとの入出力操作により、性能や方向性・安定性を変える。つまり「操作性」が評価基準となる

さて、わたし達が工学部で習うような実験手法とか、あるいは利用可能な計算ソフトなどがやってくれる仕事は、基本的に「形状・構造が与えられたときに、その性能・ふるまいを計測・予測する」道具である。有限要素法による構造力学計算も、空洞実験やCFDの流体力学計算も、電子回路シミュレータも、分子軌道法による計算化学も、そうした手法論である。

だが、設計という仕事において必要とされるのは、ちょうどその逆の動きだ。つまり、
「形状・構造 → 機能・性質」
ではななく、
「機能・性質 → 形状・構造」
を考えなければならない。

形状・構造から出発して、機能や性質を導出するプロセスは、手順は複雑かもしれないが、答えは一意に決まる。しかし機能から、それを実現する構造・形状を求める作業は、一意に決まるとは限らない。おそらく非常に広い可能性の領域から、適切な形状や組み合わせを求める必要がある。

つまり、設計とは典型的な逆問題なのである。『逆問題』とは、アウトプットからインプットを推測する(あるいはインプットの変換プロセスを推定する)タイプの問題だ。そして、逆問題の答は、一意に決まらない場合が多い。でも、設計においては、何か答えを出さなくてはならない。だから、ここに設計者の経験値や「センス」が介在する余地が生まれるのだ。

設計という仕事には、サイエンスだけでなく、アートの部分がある。「良い設計」と「ダメな設計」が分かれるのは、このためだ。答えが一つしかないなら、設計に良し悪しなど生じるはずがない。だが、現実には設計者のスキルが、重要な役割を果たすのだ。

こう考えてくると、「AIで設計を自動化できるか?」という問題も、アプローチの方向が見てくる。長くなってきたので、この続きは項を改めて、また書こう。


<関連エントリ>


by Tomoichi_Sato | 2020-05-07 20:07 | 考えるヒント | Comments(0)