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

Intuition of slice confidence scores #1464

Open
phihung opened this issue Sep 17, 2019 · 1 comment
Open

Intuition of slice confidence scores #1464

phihung opened this issue Sep 17, 2019 · 1 comment
Assignees
Labels
feature request no-stale Auto-stale bot skips this issue Q&A

Comments

@phihung
Copy link

phihung commented Sep 17, 2019

I'm trying to extend slicing functions to multi label classification tasks.
For the moment, snorkel only supports binary classification.
Here is the computation of slice attention

predictor_confidences = torch.cat(
    [
        # Compute the "confidence" using score of the positive class
        F.softmax(output, dim=1)[:, 1].unsqueeze(1)
        for output in predictor_outputs
    ],
    dim=-1,
)

attention_weights = F.softmax(
       indicator_preds * predictor_confidences / self.temperature, dim=1
)

My questions:
1/ Why using the prediction of the positive class as confidence score ?
2/ What should we use in multi class/ label case ?

@vincentschen vincentschen self-assigned this Sep 17, 2019
@vincentschen
Copy link
Member

Hi @phihung — thanks for your interest in slicing and for the great question!

1/ Why using the prediction of the positive class as confidence score ?

We interpret the magnitude of the logit as the "confidence" of the slice predictor — a larger magnitude suggests that the slice predictor is more confident about its learned decision boundary for examples in this slice. We'd like to use this notion of confidence in the attention mechanism— i.e. slice predictors should be downweighted if their predictions are not confident for examples in the slice! For more, see Section 3 in the paper.

2/ What should we use in multi class/ label case ?

Fundamentally, there's no blocker here, but implementations may not be trivial based on open questions (e.g. "how should we interpret confidence of a slice classifier across multi-class outputs?") We plan on addressing specific implementations moving forward!

@vincentschen vincentschen added the no-stale Auto-stale bot skips this issue label Nov 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request no-stale Auto-stale bot skips this issue Q&A
Projects
None yet
Development

No branches or pull requests

3 participants