Open LiuFengadd opened 3 years ago
We can differentiate the robustness value, while we cannot differentiate through True/False outputs. Since we can differentiate through the robustness value, we can use it within gradient-based solution methods, such as gradient descent (e.g., training neural networks).
If the robustness value is greater than zero, it is satisfied, and less than zero, it is not satisfied.For example, what's the difference between robustness greater than 20 and robustness greater than 30?In other words, what does the degree of robustness matter?Is it okay to just focus on whether it's greater than zero?
It depends on the application, and how you are using robustness. If you only care about True/False, then the robustness isn't that important. But if you want some idea of how far away from satisfaction/violation, then knowing the robustness is useful. For example, a larger robustness value will give you more confidence that if some disturbance or noise was applied to your system, then you will still satisfy the STL formula. It just really depends on your application.
Thank you, but if it's just satisfied or not satisfied, then in supervised learning, we can label the data 1 or 0 directly based on whether the formula is right or wrong.Why quantize the STL formula (>0 or <0) to learn?I have seen some papers that combine STL and machine learning with robustness.For example, you use neural networks for training, what's the advantage of quantifying STL?
It depends on your application. Sometimes True/False information is sufficient. Other times, it may be more informative to know the degree of satisfaction/violation. With robustness, we can take gradients since it is a scalar value, whereas with just True/False information, it doesn't make much sense to take gradients.
I'm still not clear about the relationship between this robustness and the gradient.For example, I construct a decision boundary with parameters (kx+b), for STL (x>a), and the robustness is the value of x-a.I can use machine learning classification algorithm to figure out the value of a, but this can only be used for a single eigenvalue (x). For multiple eigenvalues (x1, x2, x3), how to construct STL formula?How do I learn the parameters (x1, x2, x3) for constructing the formula, and how do I learn the time parameters?
Hi, I would like to ask what is the value of robustness when using machine learning prediction?The satisfactions and dissatisfactions of the binary classification qualitative judgment formula can also be predicted.What does the degree of robustness matter?