class_docstr: Predict the RSSM's z^(t+1), given h(t), z^(t), and a(t).
  
  Disagreement (stddev) between the N networks in this model on what the next z^ would
  be are used to produce intrinsic rewards for enhanced, curiosity-based exploration.
  
  TODO
code: def __init__(
      self, *, num_networks, model_size, intrinsic_rewards_scale
  ):
      super().__init__(name="disagree_networks")
  
      self.model_size = model_size
      self.num_networks = num_networks
      self.intrinsic_rewards_scale = intrinsic_rewards_scale
  
      self.mlps = []
      self.representation_layers = []
  
      for _ in range(self.num_networks):
          self.mlps.append(
              MLP(
                  model_size=self.model_size,
                  output_layer_size=None,
                  trainable=True,
              )
          )
          self.representation_layers.append(
              RepresentationLayer(
                  model_size=self.model_size, name="disagree"
              )
          )
  
file_path: ray/python/ray/rllib/algorithms/dreamerv3/tf/models/disagree_networks.py
imports: from ray.rllib.algorithms.dreamerv3.tf.models.components.mlp import MLP
  from ray.rllib.algorithms.dreamerv3.tf.models.components.representation_layer import RepresentationLayer
  from ray.rllib.utils.framework import try_import_tf, try_import_tfp
label_desc: Use image node_id 1 to create a new DisagreeNetworks object from inherited base classes: tf.keras with example: obj = DisagreeNetworks()