Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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? #29

Open
LiuFengadd opened this issue Aug 3, 2021 · 6 comments

Comments

@LiuFengadd
Copy link

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?

@karenl7
Copy link
Collaborator

karenl7 commented Aug 6, 2021

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).

@LiuFengadd
Copy link
Author

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?

@karenl7
Copy link
Collaborator

karenl7 commented Aug 6, 2021

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.

@LiuFengadd
Copy link
Author

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?

@karenl7
Copy link
Collaborator

karenl7 commented Sep 2, 2021

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.

@LiuFengadd
Copy link
Author

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants