ブラウザをアップデートしてください。 Liquid Instrumentsを最適にご利用いただくには、Chrome、Edge、Firefox、またはSafariを最新バージョンにアップデートしてください。 Microsoft Edge をアップデートする.
液体機器のロゴ
製品
ハードウェアプラットフォーム
もく:デルタ
もく:デルタ
New
高度な設計と検証
Moku:Pro
Moku:Pro多目的テストおよび測定用
Moku:Lab
Moku:Lab実験研究室向け
Moku:Go
Moku:Go迅速なテストとデバッグのために
ハードウェアの比較
ハードウェアの比較すべてのMokuハードウェアを並べて表示
テクノロジー
GenInst Studio
New
パーソナライズされた楽器を生成する
統合計測器あなたの指先でプロ級の楽器
ニューラルネットワークFPGA によるニューラル ネットワーク統合
マルチインストゥルメントモード機器を組み合わせてカスタマイズされた試験システムを作成
Mokuコンパイルコーディング、コンパイル、Moku の FPGA へのデプロイ
ソフトウェア
もくOSWindows、macOS、iPadOS、visionOS 用の Moku アプリをダウンロードしてください。
APIPython、MATLAB、LabVIEW
ユーティリティファイル変換用のコマンドラインおよびグラフィカルツール
インストゥルメンツ
分析
オシロスコープ
スペクトラムアナライザ
周波数応答アナライザ
ロックインアンプ
位相計
ロジックアナライザ/パターンジェネレーター
タイム&周波数アナライザ
データロガー
世代
波形発生器
任意波形発生器
コントロールとコンディショニング
PIDコントローラー
デジタルフィルターボックス
FIRフィルタービルダー
レーザーロックボックス
カスタム&ユーティリティ
GenInst Studio
New
ギガビットストリーマー
カスタム楽器
ニューラルネットワーク
マルチインストゥルメントモード
用途
光学・フォトニクス
顕微鏡・分光器
光子計数
量子光学
航空宇宙と防衛
A&D計測機器
コンポーネントテスト
自動テスト
半導体テスト
制御システムとボーデ線解析
MEMSテスト
AIと機械学習
生成計測
New
ニューラルネットワーク
教育支援
教育と研究
資料
アプリノート
Blog
ケーススタディ
コースワーク
ガイド
製品ドキュメント
出版物
ウェビナー
ホワイトペーパー
サポート
会社
お問い合わせ
私たちに関しては
リーダーシップ
Partners
お知らせ & 最新情報
メディア掲載
イベントカレンダー
Careers
ストア
もく:デルタ
Moku:Pro
Moku:Go
Moku:Proをアップグレード
Moku:Labをアップグレード
Moku:Goをアップグレード
0
見積もりを取得 購入する
Blog

ニューラル ネットワークの作成

Moku ニューラル ネットワークを使用して、前提条件のダウンロードから Moku:Pro でのテストまで、シンプルなネットワークを作成する方法

2024 年 10 月 21 日

    ニューラルネットワークを作成するために、このステップバイステップの例では、 合計.ipynb、期待される出力は単に入力の合計であり、1つの隠れ層のみを使用します。この単純な操作はさまざまな方法で実行できますが、 Moku ニューラルネットワーク 単純な代数から複雑な推論まで、ほぼすべての機能を実装できます。他の例を見る こちら ニューラルネットワークガイドをダウンロードする こちら.

    一般的な前提条件

    Moku ニューラル ネットワークの使用を開始するには、次のものが必要です。

    • Mokuデバイス
    • Mokuアプリ バージョン3.3以降は、WindowsまたはmacOSでダウンロード可能です。
    • Pythonのインストール(バージョン3.11以降)。Moku Pythonについてはこちらをご覧ください。 インストールガイド 詳細については、次のリンクを参照してください。 アナコンダPython のインストールは v3.11 以上である必要があります。使用しているバージョンが不明な場合は、コマンド プロンプトまたはターミナルで Python –version または python3 –version を使用して Python のバージョンを確認してください。

    Pythonの前提条件

    Pythonをマシンにインストールしたら、以下のコマンドを実行してMoku Neural Network APIをコンピュータのコマンドラインまたはターミナルウィンドウにインストールします。これにより、APIがインストールされ、必要な依存関係がすべて取得されます。pip install 'moku[neuralnetwork]'これにより、次のものがインストールされます。 

    • Moku ニューラルネットワーク API
    • ナンピー 1.26.4
    • Ipyカーネル6.29.5
    • マトプロットライブラリ3.9.2
    • テキドム4.66.5
    • テンソルフロー 2.16.2
    • SciPy (この例では必須ですが、一般的には必要ありません) 

    Pythonを定期的に使用している場合は、これらのパッケージのほとんどはすでにインストールされている可能性があります。確認するには、コマンドプロンプトまたはターミナルを開いて次のように入力します。 ピップインストールXここで、 X インストールするパッケージの名前です。パッケージがすでにインストールされている場合、コマンドは次のようなメッセージを返します。 (base) jessicapatterson@Jessicas-MacBook-Pro ~ % pip install numpy Requirement already satisfied: numpy in /opt/anaconda3/lib/python3.12/site-packages (1.26.4) Tensorflowのインストール手順は、計算にGPUを使用するかどうかによって異なります。インストール方法の正確な手順については、以下を参照してください。 Tensorflowの 特に GPU を使用する予定がある場合は、ドキュメントを参照してください。今のところは、pip install tensorflow を使用して、インストールされていることを確認してください。 (base) jessicapatterson@Jessicas-MacBook-Pro ~ % pip install tensorflowインストールしたら、次のコマンドを使用して Tensorflow を呼び出してテンソルを作成してみてください。(base) jessicapatterson@Jessicas-MacBook-Pro ~ % python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" このコマンドがエラーなしで実行された場合、インストールは完了しており、次のステップに進むことができます。「TensorFlow ライブラリは AVX 命令を使用するようにコンパイルされましたが、これらはお使いのマシンでは利用できません」というエラーが返された場合、残念ながらお使いのコンピューターでは Tensorflow を実行できません。この問題の解決策については、ドキュメントを参照してください。 (base) jessicapatterson@Jessicas-MacBook-Pro ~ % python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))" tf.Tensor(258.68292, shape=(), dtype=float32)

    シンプルなニューラルネットワークのトレーニング

    最初のニューラルネットワークでは、オプションのバイアス/オフセット項を使用して入力チャネルの加重合計を生成するモデルをトレーニングします。重みとバイアスは、Pythonで作成された人工トレーニングデータによって決定されます。次に、パラメータをMokuニューラルネットワーク機器にロードし、 もくオシロスコープ そして、内蔵の波形ジェネレーター。この例では、Python コードの簡単かつ対話的な実行のために Jupyter ノートブックを使用します。ただし、お好みの IDE で作成および実行されるシンプルな Python スクリプトでも十分です。まず、Anaconda ウィンドウから Jupyter を起動し、sum.ipynb Python ノートブックをアップロードして開きます。

    ステップ1: インポートと関数定義

    まず最初のコード ブロック (図 1) を実行します。これにより、必要な依存関係がすべてインポートされ、ニューラル ネットワーク API が呼び出されます。最初のコード ブロックがエラーなしで実行された場合は、すべての準備が整っており、次のステップに進むことができます。エラーが返された場合は、上記のセクションをチェックして、すべての前提条件がインストールされていることを確認してください。

    図1:sum.ipynbに必要なインポート 次に、図2に示すようにトレーニング用の信号を生成します。シミュレーションデータから3つの入力チャネルと1つの出力チャネルが必要です。Moku:Proを使用して、実際のトレーニングデータを生成または取得することもできます。生成した入力信号を目的の合計出力と並べてプロットすることで、トレーニングデータを検証します(図3)。

    図 2: シミュレートされたトレーニング データの生成。

    図 3: モデルのトレーニングのためのシミュレートされたトレーニング入力と望ましい出力。次に、モデルをトレーニングするためのデータを準備する必要があります。まず、入力を次の形式の行列に再形成します(N,3) と出力は (N,1) を実行してからモデルに送信します。このコードを図 4 に示します。

    図4:トレーニング用データの転置。この例では、既存のデータでトレーニングは十分ですが、追加のトレーニングデータを生成したり、入力と出力をスケーリングしたりすることもできます。スケーリングを適用する場合は、実行時にMokuニューラルネットワークでも同じスケーリングを適用する必要があります。

    ステップ 2: モデルを定義する

    これで、ニューラル ネットワーク モデルを構築できます。まず、「linn_model」というオブジェクトを作成します。これは、Moku ニューラル ネットワーク インストルメントの構成と制約を表します。図 5 のモデル オブジェクトをインスタンス化したら、以前に生成したトレーニング データをモデルに渡すことができます。

    図 5: モデルのインスタンス化。次に、配列を作成してモデルを定義します。配列の各要素は、ニューラルネットワークのレイヤーに対応します。これらの要素はタプルであり、そのレイヤーのニューロン数と活性化関数を示します。たとえば、(16, 'relu') は、ReLU 活性化関数を持つ 16 個のニューロンのレイヤーを示します。入力レイヤーと出力レイヤーを除き、各レイヤーのニューロン数と活性化関数はユーザーが決定します。sum.ipynb モデルは単一のニューロンを使用していますが (図 7)、そのモデル定義をコメントアウトして、追加のオプションを試してみてください。各レイヤーで異なる活性化関数とニューロン数を使用できます。  

    図6:モデル定義の構築。このセルを実行すると、図7に示すモデル定義が作成されます。

    図 7: sum.ipynb モデルの定義。独自のモデルを作成する場合、最大 5 つの全結合層 (隠れ層とも呼ばれます) を含めることができ、各層には最大 100 個のニューロンが含まれます。各層の活性化関数として、ReLU、tanh、softsign、線形、シグモイドから選択できます。層の出力は、次の層に進む前にこの活性化関数を通過します。これらがない場合、ニューラル ネットワークの操作は完全に線形になり、単一の操作に縮小されます。

    ステップ3: モデルをトレーニングしてフィードバックを表示する

    モデルを定義したので、次はモデルをトレーニングして、目的のマッピングを表現する必要があります。これは、いくつかの基本的な引数を指定して fit_model() 関数を呼び出すだけです。モデルを 500 エポック (トレーニング ステップ) トレーニングし、上記のトレーニング データの 10% を検証用に取っておきます。また、損失関数が停滞したときにトレーニングを停止する早期停止構成も設定します。このアプローチは、モデルが一般性を犠牲にしてトレーニング データを非常に正確に予測する「過剰適合」を回避するのに役立ちます。完了までの時間を短縮できるという利点もあります。

    トレーニングエポック

    図8:モデルのトレーニング。トレーニングが完了したら、トレーニング損失と検証損失をプロットして、トレーニングの成功度を評価します。図9の損失はトレーニングが進むにつれて減少しますが、これは予想通りの結果です。  

    図9:トレーニング時の損失と検証損失のプロット。図10に示すように、トレーニングが完了した後の予測出力をプロットすることで、モデルの妥当性を検証できます。2番目のプロットのスケールに注目してください。予測出力と目標出力の差が非常に小さいことがわかります。

    図 10: モデルからの望ましい出力と予測された出力をプロットします。

    ステップ4: パラメータを保存する

    これで完全にトレーニングされたモデルができたので、Moku で実行する準備が整いました。Moku ニューラル ネットワークで使用するために、モデルを .linn ファイルに保存します (図 11)。

    図 11: ネットワーク モデルを Moku ニューラル ネットワークと互換性のある .linn に保存する機能。

    Moku を使用したモデルのデプロイと検証

    In マルチインストゥルメントモード Moku:Pro (図 12) で、スロット 1 に Moku ニューラル ネットワークを配置し、スロット 2 にオシロスコープを配置します。次に、オシロスコープの出力をニューラル ネットワークの入力に接続します。次に、「変更を適用」をクリックし、FPGA が構成されるのを待ちます。

    図12:Moku:Proのマルチインストゥルメントモードの設定。次に、ニューラルネットワークメニューを開き、図13に示すように、図の下にある「ネットワーク設定を読み込む」ボタンを使用して、Pythonスクリプトで生成されたsum.linnファイルをアップロードします。予想どおり、3つの入力、1つの出力、および線形活性化関数を持つ1つのレイヤーが表示されるはずです。

    ニューラルネットワーク、単一ニューロンと層

    図 13: sum.linn がロードされた Moku ニューラル ネットワーク。オシロスコープを開き、右下隅の正弦波アイコンをクリックして組み込みの波形発生器を開きます。図 14 に示すように、モデルの機能をテストするために 2 つの信号を生成します。この例では、振幅 1 Vpp、周波数 1 kHz の正弦波と、振幅 500 mVpp、周波数 100 Hz の正弦波の 2 つの正弦波を使用します。

    図13:組み込み波形発生器の設定例。オシロスコープのチャンネルAに加算された信号が表示されるはずです。マウスでオシロスコープの表示範囲を調整して信号を確認してください。加算された2つの正弦波は、図15の信号に似ているはずです。

    図15:Mokuニューラルネットワークの出力。図16に示すように、カーソルと内蔵の測定機能を使用してネットワークの動作を確認し、期待される振幅と周波数成分をテストするか、Mokuを使用します。 スペクトラムアナライザ追加の信号タイプ、周波数、またはその他のパラメータを使用して、自由にネットワークをテストしてください。

    図 16: Moku ニューラル ネットワークの出力の検証。

    結論

    ここから、提供されているサンプルスクリプトを修正したり、独自のスクリプトを作成して、他のMoku機器と統合できる独自の強力な機械学習モデルを作成できます。再構成可能な高性能テストおよび計測機器スイートと統合された唯一のFPGAベースのニューラルネットワークを使用して、制御システムをリアルタイムで実行したり、実験出力を予測したり、その他さまざまなことができます。ビデオチュートリアルをご希望ですか? オンデマンドのウェビナーを視聴する高速で柔軟な信号解析、クローズドループ フィードバックなどを実現する FPGA ベースのニューラル ネットワークを実装する方法を学習します。

    Mokuニューラルネットワークの詳細

    提供されている残りの例を確認し、仕様を確認し、Mokuニューラルネットワークについて学習を続けてください。質問がありますか?お問い合わせください。 こちら.

    ユーザーフォーラムに参加してください

    新機能のご提案がありますか?あるいは、ヒントを共有したいですか?ユーザーフォーラムでは、使用例、新機能の発表、製品のアップデートなど、Liquid Instrumentsとグローバルユーザーコミュニティとのつながりをワンストップで提供しています。

    Mokuをデモモードで試す Mokuアプリをダウンロード → よくある質問への回答 知識ベースをご覧ください → Mokuユーザーとつながる ユーザーフォーラムに参加する →

    その他のおすすめブログ記事

    Blog
    ジェネレーティブ・インストゥルメンテーションとは何ですか?

    特殊な測定、リアルタイム信号処理、制御機能などを含む、カスタマイズされたテストソリューションを作成するためのAI対応技術

    日付: 14年2026月XNUMX日

    Blog
    テスト・計測におけるFPGAベースのカスタマイズの5つの利点

    ユーザーがプログラム可能なFPGAを搭載した計測機器が、従来の試験装置のラックをどのように置き換えているのか、そしてそれがあなたの研究室にとって何を意味するのか。

    注目: Mokuクラウドコンパイル

    日付: 2026 年 5 月 22 日

    Blog
    MokuOS 4.2で、より高速でパワフルなリアルタイムカスタマイズを実現

    MokuOS 4.2では、簡単なソフトウェアアップデートだけで、Moku:Deltaの帯域幅の向上、リアルタイム処理の高速化、および利用可能な楽器の増加が実現します。

    日付: 2026 年 3 月 19 日

    すべてのブログに戻る

    ナビゲーション

    • 製品
    • インストゥルメンツ
    • 資料
    • サポート
    • 会社
    • お問い合わせ
    • プライバシーポリシー
    • 利用規約

    営業所

    米国
    (619) 332-6230
    12526 ハイブラフドライブ
    Suite 150
    サンディエゴ、カリフォルニア州92130

    Australia
    +61 2 6171 9730
    243ノースボーンアベニュー
    Suite 1、レベル1
    リンハム、ACT 2602

    Australia
    +61 3 7073 3594
    スイート5C、レベル5、
    スワンストン通り700番地
    カールトン、ビクトリア州 – 3058

     

     

    公式SNS

    LinkedIn YouTubeでご覧いただけます。 X Facebook Instagram

    公式WeChat

    © 2026 Liquid Instruments. All rights reserved.