プロセス最適化における戦略の有効性を示す研究は数多く存在します。一般的には、「1因子ずつ」またはOFAT実験と「実験計画法」アプローチの比較が行われます。未知の高次元プロセス空間(例えば10因子以上)に直面した場合、研究者は解釈が容易なOFAT法に頼ることがよくあります。一般的に、どの戦略が他の戦略よりも優れているかを評価するためだけに、同じ目的に向けた複数の実験を実行するのは、コストがかかりすぎ、ロジスティクス的にも困難です。これらの問題を回避するため、私たちは12個の未知の連続因子とカテゴリ因子を備えたポリメラーゼ連鎖反応(PCR)シミュレータを用いて、これらの疑問を探求しました。
私たちのチームは、電子材料業界におけるプロセス最適化の長年の経験(元Apple社などの従業員)に基づいています。私たちは、数多くの要因とそれらの複雑な相互作用が多くの反応に及ぼす影響をシミュレートできる、全く未知の研究分野から意図的にシミュレーターを探し、選択しました。実験を自動化するために、PythonのWeb自動化スクリプトを使用しました。シミュレーターとスクリプトを使用することで、私たち自身の職業人生で見てきたような現実の制約と実験予算を模倣しながら、多くの実験を実行できます。実行予算ルールを遵守しながら、業界で一般的に使用されているOFATタイプの戦略2つと、DOEおよび高度DOEジャンルの戦略2つ、合計4つの戦略の効率と精度を比較します。すべての実験分析とモデリングにはJMPを使用し、客観的な戦略比較を試みています。
最適化戦略と複雑な多次元プロセスの比較に関するウェビナーへようこそ。私の名前はAsit Rairkar、共同研究者のJeffrey Kellyです。これは10月に開催される2024 JMP Discovery USAカンファレンスでの発表です。以下は講演の概要です。まずは自己紹介、そして私たちの研究の動機とアプローチについてお話しします。次に、プロセス最適化のために採用した4つのアプローチに用いた方法論と背景について簡単に説明します。そして、結果と考察、そして今後の研究への提案を発表します。これは、私たちが他に何ができるかについて、皆様と自由に議論していただくための、いわばオープンエンドな場です。
改めて、Asit Rairkarと申します。Samaasa Consultingの社長を務めており、JMPのパートナーとしてJMPとプロセス最適化のトレーニングとコンサルティングを提供しています。ベイエリアのApple社で約20年間勤務しました。Apple社、Applied Materials社、太陽光発電スタートアップ企業のMiasolé社、そして後にLAM Research社に買収されたNovellus社で、リーダーシップを発揮してきました。バッテリー、太陽光発電、半導体のプロセス開発と製品開発に携わり、主に薄膜分野、特に電子材料分野に携わってきました。JMP/DOEのエバンジェリストとして20年以上活動しています。DOEへの愛は、私が博士課程に在籍していたアリゾナ州立大学で、技術系の古典とも言える書籍を執筆したMontgomery博士のDOE講座を受講したことに始まります。ぜひご連絡ください。私たちのLinkedInアカウントはこちらに掲載しています。メールアドレスはasit@samaasa.comです。このトピックやその他私たちと話し合いたいことに関して、批評、コメント、提案、改善、または単なるディスカッションを提案していただければ幸いです。
それでは、ジェフに自己紹介をしてもらいます。
ジェフ・ケリーです。プロセスエンジニアリングとバッテリー、半導体、特に薄膜プロセスに携わってきました。スイッチバック・システムズ、アップル、IPSという小さなバッテリーメーカー、そしてアイダホ州ボイジーにあるマイクロン・テクノロジーズで勤務し、そこで半導体分野でキャリアをスタートしました。そこでDOE(実験計画法)やその他の解析にJMPを使い始めました。JMPを使い始めて約20年になります。最初のライセンスはJMP 4だったと思います。それでは、Asitに戻って話を始めましょう。
ありがとうございます。私たちはAppleで一緒に働いており、もう10年来の知り合いです。この件に限らず、様々なテーマで協力し、議論を重ねてきました。今回も一緒に取り組めることを大変嬉しく思っています。
この講演の動機は非常にシンプルです。これは何度も議論されてきた一般的なテーマですが、大小を問わず、多くの企業で、特に多数の因子、膨大な数の因子、複雑なプロセス空間を扱う場合、一度に1つの因子ずつ実験を行いたいと考えるクライアントやチームに、依然として遭遇します。彼らは一度に1つの因子ずつの方が説明と実行がはるかに容易だと考えています。もう一つの動機は、OFATとDOEの比較が、常に小さな因子セットに対して行われ、提示されていることです。大きな因子セットでこの比較を行い、提示するのは非常に困難です。また、OFATとDOEの異なるバリエーションはあまり多くありません。最後に、この講演の最大の動機は、私がキャリアを通じてずっとこの比較を行いたいと思っていたからです。しかし、ご想像のとおり、私が所属する企業の経営陣に「同じ異なる問題を解決するために4つの異なるアプローチを行うのに、4倍の予算をくれませんか?純粋に学術的な演習のためだけに」と頼んだとしても、誰もそのような予算をくれなかったでしょう。
OFATと最新のDOEを客観的に比較したいと考えていました。特に、右側の図に示すように、複雑な山と谷が多数存在する、複雑で非単調なプロセスを扱っている場合です。ドメインの専門家から「プロセスはこうなるかもしれない」と説明されると、エンジニアや科学者はDOEに懐疑的になり、一度に1つの要素のみを扱う実験に頼り、非常に慎重になります。これが私たちの動機です。それでは、再びジェフにバトンタッチして、私たちのアプローチとOFATのアプローチについて説明してもらいます。その後、私がDOEについて説明を引き継ぎます。ありがとうございました。
これを実際に行うには費用がかかりすぎるため、シミュレーターが必要でした。そこで、最終的にオンラインでPCRシミュレーターを見つけました。これはウェブベースで、DOEに用いた4つの戦略を比較するのに使用できました。このシミュレーターは11個の連続変数と1個のカテゴリ因子を取り込み、2つの連続応答を生成します。私たちにとって、これは完全なブラックボックスです。PCRの専門家ではなく、技術も、その背後にある化学的な仕組みさえも熟知していません。このシミュレーターのおかげで、DOEの規律を駆使し、入力する数値をいじることなく、望む応答を得ることができました。さらに、入力と出力もコーディングしました。JMPでの分析はもう少しブラックボックス的で、異なるDOE戦略を比較するために見たい結果、つまり検定結果を提供してくれました。こうしたことに取り組むとき、現実世界でこれを実行する場合、テストを実行したい領域のいずれかに関する専門知識を持っているとわかっていると便利です。
多くの指針と実験設計が可能になり、より良い意思決定に役立ちます。しかし、今回のケースでは、良い比較ができたと思います。次のスライドをご覧ください。
これが現実世界でどのように再現されるか、そして私たちのシミュレータがそれをどのように反映、あるいは阻害するかについて言及したいと考えました。シミュレータを選んだ主な理由の一つは、現実世界では実行予算が限られていることです。私たちのシミュレータのように12因子の完全実施要因計画を実行すると、4,000回以上の実行が必要になります。もちろん、シミュレータでさえ自動化は困難で、実行に長い時間がかかります。しかし、私たちは実験実装を各DOEタイプにつき30回の実行に制限しました。これは現実世界での予算を反映しています。次に私たちが直面する現実のシナリオは、プロセス空間において、エンジニアがカテゴリ因子を避けたり、事前に処理したりすることです。例えば、化学物質を最適化する前に、その化学物質のメーカーを決定したりするかもしれません。カテゴリ因子を避ける人もいます。これはDOEを様々な点で複雑にするようです。そのため、私たちのOFAT設計では、一度に1因子ずつ、まずカテゴリ因子を選択し、事前に実行しました。
OFAT設計のもう一つの特徴は、実行する入力の順序が任意であることです。そのため、私たちはカテゴリ因子を選択しました。現実世界では、因子制約も存在します。これらはプロセスや装置、基質、容器のサイズなどに組み込まれています。私たちのシミュレータでは、これらはシミュレータ自体によって与えられます。これらはPCRに含まれる化学物質の量に関連しており、いくつかの実験を通して、因子制約の式を見つけることができました。これにより、使用できるパラメータ、つまり入力パラメータの範囲が制限されました。
現実世界では、実験時間と計測時間のバランスが常に問題となります。実験を依頼する研究室の優先順位によっては、実験の実行に1時間から1日かかる場合があり、計測データを取得するには1週間かかることもあります。シミュレーターを使えば、状況は一変します。結果はすぐに得られ、そのデータをJMPでほぼ即座に分析できます。そのため、処理が少し速くなります。逆に、逆の場合もあるので、これらを考慮しました。
実行の失敗。現実世界では、実行に失敗することもあります。実行を逃すこともあります。停電や機器のダウンタイムなどが原因かもしれません。技術者が休暇を取って何かを間違えることもあります。現実世界では何でも起こり得ます。今回のケースでは、実行できなかった実験、何かが欠けていたとしても、自動化によって埋め戻すことができました。これは次の箇条書きで説明されているレシピ管理の項目です。現実世界では、レシピ管理が利用できる場合と利用できない場合があります。理想的には、値を入力すると、その値がマシンに直接ダウンロードされ、プログラムした通りに実験が実行されるシステムが必要です。私たちのケースでは、Seleniumというプラットフォームを使用してPythonスクリプトでこれをエミュレートし、すべての入力を自動化することができました。これは、私たちの目的に合わせたレシピ管理を模倣したものです。現実世界では、機器のパフォーマンスに影響を与えるような極端な設定を行うこともできます。スポッター システムの電源のようなもので、最高設定と最低設定で動作させていると、結果が歪んでしまいます。
良い性能は得られません。このようなシステムや他の多くのシステムでテストを実行する場合、プロセス機器の上限と下限を避ける必要があります。私たちのシミュレータシステムでも同様にこれを避けており、同様の理由から、付録のスライドにも係数限界値を示しています。
現実世界におけるノイズの問題もあります。人、機械、方法など、あらゆるものがプロセスシステムにノイズをもたらす可能性があります。シミュレータ自体にもノイズが組み込まれています。プログラミング自体の中で、同じ入力要因を与えても、空気やノイズの出力はごくわずかであることがわかりました。私たちもそれを体験することができました。次のスライドをご覧ください。
4種類の異なる実験デザインを使用しました。1つ目は…「1因子ずつ」は、逐次的に1因子ずつ行う方法です。異なる設定で実験を行い、実験を進めるにつれて、一度に1因子ずつ変更しました。2つ目はOFAT2で、1因子ずつ、つまり2因子ずつです。因子の組み合わせをグループ化し、最後に新しいベースラインで最適化しました。DSDは、決定的スクリーニングデザインと空間充填デザインです。
OFAT1 については後ほど詳しく説明します。先ほども言ったように、一度に 1 つのパラメータを微調整し、それぞれのパラメータをその設定に最適な値に設定して、同じ戦略を続けます。右側を見ると表があります。これは私たちが作成した仮想的な実験です。これは実際の結果ではなく、あくまで仮説です。最初の実験では、実験の最初の実行で X4 を調べます。X4 を調べ、L1 と L2 を比較すると、L1 の方が値が高いことがわかります。Y を最適化しています。この L1 の値を X と X1 のプラスとマイナスの比較に持ち越し、最適な設定は 110 となり、この設定が X1 の場合はプラス、X4 の場合は L1 になります。X2 を見て、プラスとマイナスの設定を比較します。さて、これが興味深いのは、X2 の最適設定がたまたまゼロ設定だったことです。これは前回の比較で既に実行済みなので、110 になります。
X2を0に設定し、X3のプラスとマイナスを比較すると、X3のマイナス設定が最適値で115であることがわかります。これらをすべて新しいベースライン検証実行に設定すると、出力は120となり、これが今回の実行セットにおける最高最適値となります。
OFAT 2 に移ります。同じように、因子を一つずつ処理しますが、今回はグループ化します。中心となるベースラインを中心に因子を一つずつ調整し、サブグループの因子を最適な値に設定して新しいベースラインを作成します。そして、次のサブグループの他のグループでも同じ戦略を繰り返します。右側のチャートをご覧ください。先ほども述べたように、これは別の仮説実験です。最初のグループの X1 と X4 を見てみましょう。まずは X4 から始めます。X4 のカテゴリ因子として、L1 と L2 を調べます。最高値が 105 になったら、X1 のプラスとマイナスを比較するためにベースラインにリセットし、マイナスが最適値になるようにします。X1 と X4 のマイナスと L2 を使用して、新しいベースラインを確立します。これをテストすると、出力は 108 になります。これが新しいベースラインです。次に、次のサブグループのテストに進み、X2 のプラスとマイナスを比較します。
最高最適値は115です。ベースラインにリセットし、プラスとマイナスの比較としてX3を実行すると、最高値は114になります。今のところ、X2とX3が正の値で各因子の最適値となっています。これを新しいベースラインに持ち込み、全ての因子に対する最適値、つまり出力の最高値は125で、マイナスプラスプラスL2とします。その後、先ほど言ったように、画面設計とSFDを完成させます。
ジェフ、ありがとう。これらは、私たち二人がこれまでのキャリアの中で経験し、他のグループが使用しているのを見てきた、一度に1因子ずつを扱う私たちのアプローチでした。また、最新のDOEも使用しました。決定的スクリーニング計画という2つのアプローチを採用しました。決定的スクリーニング計画は、飽和計画の発展形で、JMPの親会社であるSASのブラッドリー・ジョーンズが2011年に導入しました。プラケット・バーマン計画のような従来の飽和計画に比べて、その無駄のなさゆえに非常に強力です。非常に汎用性が高く、特に多数の因子や混合因子、連続変数やカテゴリ変数の場合に有効です。最大の利点は、交絡なしに主効果を抽出できることです。また、実験予算が限られていても、2因子交互作用や2次曲率を抽出できる可能性があります。特に、専門知識と組み合わせることで、どの因子が2次交互作用や2因子交互作用を持つかがわかるため、優先順位付けが可能になります。また、連続的な実験にも利用でき、重要でない要素を一度読み取り、さらに実験を構築してプロセスをさらに最適化することができます。
また、新しいデザインである空間充填デザインも実験しました。ただし、これは30分の講演であるため、DSDと空間充填デザインの設定方法や内部の仕組み、そして詳細な分析について詳しく説明する時間はありません。デモを録画し、弊社ウェブサイトで公開しています。このデモでは、デザインの設定方法や、仮想PCRシミュレータを使った実験の実行方法などを説明しています。データの取得方法や行った分析についても説明しています。また、community.jmp.comには、DSDとSFDの仕組みに関するウェブサイトやビデオが豊富に用意されています。これらの仕組みや機能についてご質問がある場合、あるいは単に議論や批評、フィードバックをご希望の場合は、お気軽にご連絡ください。喜んでご対応させていただきます。繰り返しになりますが、DSDとSFDの両方のデモは、弊社ウェブサイトのこちらのリンクからご覧いただけます。空間充填設計は、コンピュータ アルゴリズムが基本的に 12 因子のハイパーパラメータ空間にポイントを作成し、各ポイントが他のポイントから可能な限り離れるように疑似ランダム方式でポイントを分散させて空間全体を埋めるという特殊なカテゴリの設計です。
説明と理解が少し複雑なため、多くの人が空間充填計画を避けがちです。しかし、最新の分析手法やモデリング技術、ニューラルネット、機械学習と組み合わせることで、空間充填計画は非常に強力になります。空間充填計画の唯一の欠点は、レシピ管理ソフトウェアがないと実行が非常に複雑になることです。例えば、実験計画チームと実験実行チームが異なる場合、散在する計画点のマトリックスに混乱し、間違った値を入力したり、前回の実験実行時の因子組み合わせ設定から値を削除し忘れたりする可能性があります。これらの値が引き継がれ、計画マトリックスで意図されていない実行が行われてしまう可能性があります。したがって、空間充填計画を実行する場合は、レシピ管理ソフトウェアの使用を強くお勧めします。これらが、2種類のDOEと2種類のOFATを比較した例です。それでは、生の結果についてジェフにバトンタッチします。生の結果はこちらです。
ここからが面白い結果になると思います。右側のグラフを見てください。左側の2つのOFAT(赤と青)と、右側の2つのDOE法(紫と緑)を比較しています。グラフのX軸、つまり下部には実行回数、Y軸には応答Y1とY2があります。これらが最適化の対象となるものです。ざっと見てみると、実行回数が進むにつれて、両方のOFATが増加する傾向にあることがわかります。これは、最適化された値が次の実行に引き継がれるためです。出力、つまり目標とする最適値が増加しているのが分かります。これをDOE法と比較して興味深いと思ったのは、かなり無秩序に見え、値が上昇しているにもかかわらず、あまり進歩していないように見えることです。あまり学習していないように見えます。
これは、例えば、実験の途中で経営幹部が結果を確認して意思決定を行いたい場合のケースです。しかし、DOE で得られる結果に満足する人はいないでしょう。OFAT では、最適値には達していないものの、進捗状況が確認できるなど、かなり混乱した状況に陥るでしょう。DOE のメリット、特に大きなメリットは、プロセスで何が起こっているのかを真に理解できることです。その情報に基づいてモデルを構築できます。これは OFAT では得られないメリットです。OFAT では、最適値に到達してから設定を行います。DOE では、数式というモデルが得られます。最適な値を設計するために必要な値を入力し、その位置を把握できます。DOE により、より複雑なプロセス空間をより深く理解し、実際に何が起こっているのかをより深く理解できるようになります。
それでは、DSDの結果を見てみましょう。繰り返しになりますが、DSDとSFDのデモを全て説明する時間はありません。そのデモは当社のウェブサイトに録画されているので、ご参考までにリンクを貼っておきます。DSDについてですが、ジェフが言ったように、DOEとSFD(DOE)の利点は、プロセス空間全体のモデル方程式が得られることです。これにより、プロセス空間が実際にどのように機能しているかをより深く理解できます。JMPを使用したDSD設計では、自動化された分析スクリプトが提供されており、データを入力すると、デモで示されているように、分析スクリプトをクリックするだけで分析を実行できます。最初の段階では、DSDは重要でない主効果を読み取ります。この場合、Y1ではX1、X3、X4が除去されており、他にもいくつか除去されています。一方、Y2ではX3、X4が除去されています。
DSDではプロファイラーも作成できます。これは予測方程式のようなもので、Y1の主効果と、ご覧の通りいくつかの主効果、そして特にX2などのいくつかの因子における二次効果の推定値を提供します。モデル方程式、つまり縮小モデル方程式も作成されます。この縮約モデル方程式では、有意でない効果は除外され、有意な効果とその主効果、いくつかの2因子交互作用、そしていくつかの二次曲率に関する方程式が得られます。そして、これらを組み込みの望ましさ関数と組み合わせて使用することで、望ましさを最大化することができます。これにより、Y1とY2の予測出力が望ましいレベルに到達します。今回のケースでは、Y1をより重要視して、Y1とY2を最大化したいと考えています。DSDモデラーは、モデル方程式がY1とY2で最良の結果をもたらすと判断する因子設定のセットを提供します。これを第1ラウンドで使用してシミュレータに戻り、検証実験を実行します。さらに、今後の作業では、連続的な実験を重ね、そのレベルを超えて最適化を進めていきます。
SFDも同様です。先ほど述べたように、SFDは12個のパラメータからなるハイパーパラメータ空間全体に点が散在する複雑な設計です。JMPには、このモデルを分析するためのスクリプトが組み込まれています。デモ版も弊社のウェブサイトに掲載されています。DOEの設定方法、データの収集方法、そして分析方法をご覧いただけます。DSDとSFDの仕組みについては詳しく説明していませんので、ご不明な点がございましたらお気軽にお問い合わせください。JMPにはスクリプトが組み込まれています。実行すると、SFDガウス過程モデルは12個のパラメータからなる非常に複雑な非単調なプロセスプロファイラー面を生成します。一部の因子はY1とY2の応答に大きな影響を与えていないように見えますが、SFDは非単調な予測プロファイラーを生成する能力があり、単純なDSDでは説明できない山や谷を説明できます。 SFD モデルは、主効果が何であるか、または二次効果が何であるかをあまり重視しないため、説明的というよりは予測的である傾向があります。
12個のパラメータからなる全体的な予測式が得られます。JMPに組み込まれている望ましさ関数を使って、望ましさを最大化できます。これにより、モデル式がY1とY2で最良の結果をもたらすと想定する、X1からX12までの組み合わせの設定が得られます。これらの因子分解された式をシミュレータや実験計画装置に入力し、検証実験を実行して、DOEとDOE、またはOFATとDOEを比較します。
これが私たちが行ったことです。4つのアプローチがあり、最終的なOFAT予測結果、つまりY1とY2の予測される最良の望ましさの結果について、3回の検証を行いました。先ほど述べたように、Y1をY2よりもわずかに重要視したのは、あくまでも目安としてです。左側の2つのOFATは、Y1を100~250の範囲、Y2を97~98の範囲に最大化することしかできません。一方、DOEは、Y1を350以上、Y2を99近くまで引き上げる、より優れたプロセス最適化を実現できます。ノイズにも多少のばらつきが組み込まれていることも分かります。繰り返しますが、これはDOEの専門家が既に持っている結論であり、エバンジェリストが何度も疑念を抱いたことですが、DOEはOFATと比較して、多くの要因と非常に複雑なプロセス空間の場合でも、プロセス最適化問題の処理においてはるかに優れ、効率的です。
しかし、DOEがもたらす3つの主な利点は、まず第一に、プロセス空間の予測式、つまりモデルが得られることです。専門知識と組み合わせることで、DOEはさらに強力になります。専門知識を用いて実験設計を導き、その出力を活用できるからです。DOEの出力分析と専門知識を組み合わせることで、科学が何を伝えているのか、プロセスシステムの内部動作が何をしているのかを真に理解し、より良い実験を設計し、さらに最適化を進めることができます。第三に、OFATと比較して、DOEは将来の実験に非常に適応しやすいことです。OFATでは、一度に1つの要素を微調整し、段階的な改善を続けるため、最良のシグナルが得られない可能性があり、包括的なプロセス空間の全体像を理解することは絶対にできません。繰り返しますが、私たちはDOEがOFATよりも優れていると結論付けました。これは、特にJMPコミュニティ全体、特にDOEの専門家やJMPのエバンジェリストにとって、新しい結論ではありません。
しかし、私たちはこれを複雑な 12 要素システムに対して実行し、4 つの異なるアプローチにわたって包括的に実行しました。
これらの結果には非常に満足しており、今後の課題についてさらに議論を重ねていきたいと考えています。繰り返しになりますが、これはあくまでも箇条書きの提案に過ぎませんが、読者の皆様からのご意見をお待ちしております。ご批評、フィードバック、コメント、ご提案、議論など、ぜひお寄せください。この研究を継続し、実行できる余裕があれば、実行予算を拡大し、30回の実行回数を増やしたいと考えています。これは、私たちがこれまで行ってきた典型的な方法です。また、プロセスモデルのガイダンスに基づいて因子設定を拡張し、設計を拡張し、相互作用を分離してさらに最適化するための実行回数を増やしたいと考えています。より多くの分析手法も検討します。ニューラルネットワークの使用も考えられます。自己検証型アンサンブルモデリングやベイズ最適化も活用できますが、特に後者はあまり馴染みがありません。ですから、私たちもこの分野の勉強をしています。この例から学びたいと思っています。また、より多くのシミュレータを開発したいと考えています。実験予算は必ずしも簡単に得られるとは限らないため、シミュレーターは学習者にとって大きな利点となります。
最後に、PythonスクリプトをJMPに直接統合し、授業や学生がDOEを直接設計し、シミュレーターで自動化してデータを高速に取得し、その場で最適化戦略を分析・比較できるようにしたいと考えています。繰り返しになりますが、これは今後の作業に関する議論のための箇条書きです。皆様からのご意見をお待ちしております。LinkedInからご連絡いただくか、asit@samaasa.comまでメールでご連絡ください。
最後に、この研究にご協力いただいた皆様に心より感謝申し上げます。特に、バーチャルPCRシミュレーターを開発してくださったPhelan & Associates社には感謝申し上げます。Phelan & Associates社については、参考文献リストに記載しております。Phelan & Associates社には連絡を取りましたが、残念ながら連絡が取れませんでした。もし、このシミュレーターを使って共同研究できる点があれば、ぜひお聞かせください。この録音を許可してくださったJackieとKirstenに感謝します。JMPカンファレンスを開催してくださったJMPコミュニティの皆様にも感謝申し上げます。心から感謝申し上げます。