...クラウドコンピューティングと音響モデリングに基づく深層学習
実験室で細胞から臓器組織を成長させるために、研究者は細胞を一箇所に保つ非侵襲的な方法を必要としています。有望なアプローチの1つは、音響構造化です。これには、音響エネルギーを使用して、細胞が組織内で発達するときに、細胞を目的の位置に配置して保持することが含まれます。研究者たちは、マイクロ流体デバイスに音波を適用することにより、ミクロンスケールのセルを直線や格子などの単純なパターンに変えました。
私の同僚と私は、深層学習と数値モデリングを組み合わせたアプローチを開発しました。これにより、セルを独自のアーキテクチャのはるかに複雑な回路に配置できます。MATLABでワークフロー全体を実行し、並列コンピューティングを使用して、シミュレーターからトレーニングデータセットを生成したり、深層学習ニューラルネットワークをトレーニングしたりするなどの重要なステップを高速化することで、数週間の労力を節約しました。
マイクロチャネルを使用した音響モデリング
マイクロ流体デバイスでは、流体粒子および流体媒介粒子またはセルは、さまざまな形状に構成できるサブミリメートルサイズのマイクロチャネルで駆動されます。これらのマイクロチャネル内に音響パターンを作成するために、インターデジタルトランスデューサー(IDT)は、チャネル壁に向けられた表面音響波(SAW)を生成します(図1a)。チャネル内の液体では、音波がチャネル壁の圧力に等しい最小および最大圧力を生成します(図1b)。したがって、チャネル壁の形状は、チャネルに特定の音場が得られるように調整できます[1](図1c)。音場は、これらの音波からの力が最小化される場所に対応するパターンで流体内に粒子を分配します(図1d)。
図1-マイクロチャネルの音響構造
特定のチャネル形状から生じる音場を計算することは可能ですが、その逆は不可能です。目的の領域を作成するためにチャネル形状を設計することは、何にとっても簡単な作業ではありませんが、グリッドのような単純なパターンではありません。ソリューションスペースは事実上無制限であるため、分析的アプローチは適用できません。
新しいワークフローでは、シミュレートされた結果(ランダム化された形式)の大規模なコレクションと詳細な学習を使用して、この制限を克服します。同僚と私は、MATLABで既知の形状から圧力場をシミュレートすることにより、直接的な問題を初めて解決しました。次に、その結果を使用して、深いニューラルネットワークをトレーニングし、逆の問題を解決しました。つまり、目的の音場を作成するために必要なマイクロチャネルの形状を決定します。
直接的な問題の解決:圧力場のモデリング
以前の作業で、私たちのチームは、平面波上の任意の点が球面波の点源であると仮定するHuygens-Fresnel原理を使用して、特定のチャネルジオメトリの圧力領域を決定する問題を解決するシミュレーションエンジンをMATLABで開発しました(図2)。
図2-特定のチャネルジオメトリ用に作成された音圧フィールド
シミュレーションエンジンは、さまざまなマトリックス操作に依存しています。これらの操作はMATLABで実行されるため、各シミュレーションには数分の1秒かかり、数万の固有の形状とそれに対応する2D圧力領域をシミュレートする必要がありました。Parallel Computing Toolboxを使用して、マルチコアワークステーションでシミュレーションを並行して実行することにより、このプロセスを加速しました。
必要なデータを取得したら、それを使用して深層学習ネットワークをトレーニングし、特定の圧力領域からチャネルの形状を推測し、基本的に入力と出力の順序を逆にしました。
逆問題を解決するために深層学習ニューラルネットワークをトレーニングする
まず、トレーニングプロセスを加速するために、シミュレートされた圧力領域でしきい値が決定されました。その結果、2次元のブール行列151 x 151が作成され、それを1次元のベクトルに変換(「フラット化」)し、それが深層学習ネットワークへの入力になりました。出力ニューロンの数を最小限に抑えるために、チャネル形状の輪郭をキャプチャしたフーリエ係数の表現を使用しました(図3)。
図3-係数(左から右)で20度回転した等辺三角形のフーリエ系列の近似20、3、10、20
Deep Network Designerアプリケーションを使用して元のネットワークを構築し、プログラムで改良して、精度、汎用性、学習速度のバランスを取りました(図4)。NVIDIA Titan RTX GPUで適応トルク推定ソルバー(ADAMオプティマイザー)を使用してネットワークをトレーニングしました。
図4-完全に接続された4つの隠れ層を持つニューラルネットワーク
結果の確認
トレーニングされたネットワークを検証するために、それを使用して特定の圧力フィールドからチャネルジオメトリを導出し、そのジオメトリをシミュレーションエンジンへの入力として使用して、圧力フィールドを再構築しました。次に、元の圧力場と作成した圧力場を比較しました。2つのフィールド内の最小圧力と最大圧力は互いに近接しています(図5)。
図5-深層学習ネットワーク検証ワークフロー
次に、一連の実際のテストを実行しました。粒子を収集したい領域を示すために、MicrosoftPaintを使用して特殊な画像をペイントしました。それらには、私たちの方法なしでは取得するのが難しい、多くの異なる単一および複数行の画像が含まれていました。次に、トレーニングされたネットワークを使用して、これらの定義された領域を作成するために必要なチャネルのジオメトリを定義しました。最後に、パートナーの助けを借りて、目的の形状に基づいてさまざまなマイクロ流体デバイスを製造しました。次に、これらのデバイスのそれぞれに、液体に懸濁した1μmのポリスチレン粒子を形成されたチャネルに注入し、界面活性剤をデバイスに誘導した。結果は、私たちの特殊な画像で示された領域に沿った粒子の凝集を示しました(図6)。
図6-下:Microsoft Paint(紫)で描かれた領域は、これらの領域での粒子の凝集に必要なシミュレートされた音場に重ね合わされています。上:結果は、製造されたマイクロ流体デバイス内の懸濁ポリスチレン粒子のサンプルです
クラウドに行く
このプロジェクトの次のフェーズを見越して、深部学習ネットワークを更新し、押しつぶされたベクトル係数とフーリエ係数をそれぞれ使用するのではなく、入力として音場画像を使用し、出力としてチャネル形状画像を生成します。この変更により、フーリエ系列では簡単に判別できず、時間の経過とともに変化する可能性のあるチャネル形状を使用できるようになることが期待されます。ただし、トレーニングには、はるかに大きなデータセット、より複雑なネットワークアーキテクチャ、および大幅に多くの計算リソースが必要になります。その結果、ネットワークとそのトレーニングデータをクラウドに転送します。
幸い、MathWorks Cloud Centerは、HPCクラウドインスタンスをすばやくスピンアップおよびスピンアウトするための便利なプラットフォームを提供します。クラウドで科学研究を行う上で退屈な側面の1つは相互運用性です。これには、クラウドとローカルマシン間でアルゴリズムとデータを移動することが含まれます。 MATLAB Parallel Serverは、クラウドコンピューティングのより複雑な側面を抽象化し、メニューを数回クリックするだけでローカルまたはクラウドで実行できるようにします。この使いやすさにより、問題を解決するために必要なツールではなく、科学的な問題に集中することができます。
NVIDIAGPUを利用したAmazonWeb ServicesインスタンスでMATLABを使用して、AmazonS3バケットに格納されているデータで更新されたネットワークをトレーニングする予定です。次に、ローカルワークステーションでトレーニングされたネットワークを使用して、結論を導き出し(高性能コンピューティングを必要としない)、さまざまなパターンや音場を試すことができます。この作業により、物理学を使用した他の機械学習プロジェクトの生データが提供されます。
機械と深層学習についてもっと学びたい場合は、適切なコースに立ち寄ってください。簡単ではありませんが、エキサイティングです。また、HABRプロモーションコード は、バナーの割引に10%を追加することで、新しいことを学ぶための努力に役立ちます。