def optimize_beta( beta, bottleneck_loss):
        """
        perform a step for updating the adaptive beta
        :param beta: old value of beta
        :param bottleneck_loss: current value of bottleneck loss
        :return: beta_new => updated value of beta
        """
        # please refer to the section 4 of the vdb_paper in literature
        # for more information about this.
        # this performs gradient ascent over the beta parameter
        bottleneck_loss=bottleneck_loss.detach()
        beta_new = max(0, beta + (1e-6 * bottleneck_loss)) #alpha:1e-6
        
        # return the updated beta value:
        return beta_new