学習済みブレインの使用
学習済みbrainの使用の概要
このトピックを読む前に、以下のトピックを必ず読んでください。
Bonsaiでのトレーニングが完了した後、brainをエクスポートできるようになります。その際、エクスポートしたbrainを展開し、良好に機能することを確認する必要があります。一般に、展開には次の3つのフェーズがあります。
- シミュレーションモデルのコントローラーとしての展開
- 実際のシステムのアドバイザーとしての展開
- 実際のシステムのコントローラーとしての展開
brainをエクスポートする
brainを展開する前に、まずエクスポートする必要があります。そのためには、次の手順を実行します。
- Bonsaiワークスペースに移動します。
- エクスポートするbrainのバージョンを右クリックし、[Export Version]を選択します。
- 名前を選択した後、[Export]ボタンをクリックします。
しばらくすると、エクスポートされたbrainが、右側のメニューの[Exported Brains]セクションに表示されます。これでbrainは展開可能な状態になりました。
brainを展開する
brainの展開はいくつかのフェーズに分けて行うことをお勧めします。各フェーズについて次のセクションで説明します。
シミュレーションモデルコントローラー
brainにシミュレーションモデルを駆動させて、brainのパフォーマンスを評価することをお勧めします。brainの動作を確認することで、brainについて多くのことを学ぶことができます。さらに実験ツールなどのツールを使用して多くの複製を実行すると、brainが多くの判断を経てどのように動作するかを感じ取ることができます。brainがモデルを制御できるようにするには、次の手順を実行します。
- Docker Desktopが実行中であることを確認します。
- システムトレイのDocker Desktopアイコンを右クリックし、[Switch to Linux containers]を選択します。[Switch to Windows containers]というオプションが表示される場合、このオプションは選択しないでください。そのまま次の手順に進みます。
- Bonsaiワークスペースに移動します。
- [Exported Brains]セクションで、エクスポートするbrainの[...]ボタンをクリックします。
- [View deployment instructions]を選択します。
- ウィンドウが開き、Dockerコンテナを取得して実行するためのコマンドが表示されます。そのウィンドウのコマンドを実行します。コンテナがダウンロードされ、実行されます。このコンテナはWebサービスです。監視スペースでリクエストを送信すると、学習済みの行うべきアクションが応答として返されます。
- シミュレーションモデルを開きます。
- 強化学習ツールのプロパティを開きます。
- [リクエスト時のアクション]フィールドの選択オプションから[サーバーにアクションを問い合わせる]を選択します。
- ポップアップで次の点を確認します。
- [ホスト]フィールドが「127.0.0.1」に設定されている
- [ポート]フィールドが、
docker run
コマンドのポート番号(通常は5000)と一致する
- 強化学習ツールの[適用]ボタンをクリックします。
- モデルをリセットして実行します。
モデルを実行すると、Dockerコンテナで実行中のbrainに監視内容が送信されます。brainはそのアクションをFlexSimに送り返します。これで、brainが良好に機能しており、予想外のことを何も実行していないかどうかを確認できます。多くの場合、モデルの実行を確認すると、brainの短所が明らかになります。実際のシステムで試す前に、問題に対処し、より優れたbrainに育成することができます。
システムアドバイザー
シミュレーション環境でbrainが良好に動作した場合、次にbrainを実際のシステムにアドバイザー役として展開できます。この方法の詳細はシステムごとにまったく異なりますが、基本的な手順は次のとおりです。
- brainのコンテナをサーバーとして実行します。
- モデルのトレーニングに使用されたものと同じ監視データをシステムのセンサーまたはデータベースから読み取り、作成します。
- この監視データをbrainのサーバーに送信します。
- 応答アクションを確認する方法を提供します。
この手順の目標は、学習済みbrainが何を実行するかを経験豊富な従業員に監視させ、brainが合理的なアクションを起こすかどうかを彼らに検証させることです。学習済みbrainが不合理なアクションを推奨する場合、調整や再トレーニングが必要かもしれません。
一部のシステムの展開はこの段階で終了です。データに基づいて正しく判断する方法をbrainは認識しているため、従業員はこのbrainをリソースとして使用してジョブを容易にすることができます。
システムコントローラー
一部のシステムでは、brainの指示を従業員が適用できない、あるいは適用する必要がない場合があります。このような場合、人間の監視を伴わない判断にbrainを使用できます。システムとbrainは完全なクローズドループを形成します。実行されたシステムは、監視データをbrainに自動的に送信し、brainの判断を自動的に適用します。