This post has been republished via RSS; it originally appeared at: Microsoft Tech Community - Latest Blogs - .
Project Bonsai
- Assess programmed concepts from the web UI. Users can now assess programmed concepts from the web UI! Simply click the "New assessment" button in the Bonsai UI to run an assessment for your programmed concept.
- Run assessments with unmanaged simulators from the web UI. Users can now comment out the "package" keyword in their Inkling simulator statement. Clicking "Run assessment" presents a dropdown that lists all managed and unmanaged simulators registered with the workspace. Learn more
- Goal improvements for robustness. A learned policy becomes more robust to noise and perturbations as it goes beyond satisfying each objective to keeping a buffer away from the failure boundary. For example, if the objective in an optimization problem is to minimize power draw for a process below 10 kW, a policy that achieves 9.8 kW is successful, but is less robust than one that achieves 8.5 kW. Bonsai now provides the following robustness features:
- Goal robustness charts: you can now see how a training concept continues to learn a more robust policy after all goals are satisfied and goal satisfaction reaches 100%.
- Robustness-optimized training. The system will now ensure that overall robustness never drops during training: the concept's policy will always be the highest-robustness policy found so far.
- Improved success definition for drive objectives: to better capture the idea that the policy should not only reach the target range but keep the system in that range, the new definition requires the objective to be satisfied in the last step of the episode to be successful. See the Inkling reference for details.
- Goals can now be based on brain actions. You can now pass the brain's previous action to the goal statement as input and reference it in the associated objectives. For example, if the action is a valve position adjustment, you can encourage the brain to use small adjustments by using it in a minimize objective:
goal(s: State, a: Action) { minimize ValveMovement: a.adjustment in Goal.RangeBelow(0.1) # other task objectives here } -
Simulator configurations can now include strings. Some simulations use file-based configuration that varies by scenario. You can now use filenames and other strings in SimConfig types, as follows:
Use these in lesson scenario to randomize the parameter:type SimConfig { number_of_frogs: number<1..100 step 1> config_files: string<""puddle.cfg"", ""lake.cfg"", ""pool.cfg""> }scenario { config_files: string<""lake.cfg"", ""pool.cfg""> } - See context when editing code in the visual editor. We've heard feedback that editing code elements like goals, functions, and types in the visual editor was hard because you could not see the global context of the brain—type names, function names, etc. We have addressed this by moving the code editor into the central panel, so you can access the global tab while editing.
Bonsai Connectors
- New "Works with Bonsai" partners. The following simulation platforms were recently added to the Works with Bonsai partner list:
- Cosmo Tech
- Aveva Dynamic Simulation (DYNSIM)
- Siemens PSE gPROMS
- Hadean Distributed Cloud Platform
- Robot Operating System (ROS)
Documentation and training
- Build a platform connector walks Bonsai Connector developers through the first phase of developing a generalize connector for a simulation software platform.
- Package your connector for managed scaling walks Bonsai Connector developers through the process of containerizing a dedicated connector and sample sim for upload to a Bonsai workspace.
