Editable Neural Networks

ICLR 2020 8-22-2020

Motivation

it is crucially important to correct model mistakes quickly as they appear during training the neural network. In this work, we investigate the problem of neural network editing — how one can efficiently patch a mistake of the model on a particular sample, without influencing the model behavior on other samples. Namely, we propose Editable Training, a model-agnostic training technique that encourages fast editing of the trained model.

Editing Neural Networks

  • f(x,θ)f(x,\theta) : a neural network

  • Lbase(θ)\mathcal{L}_{base}(\theta) : task-specific objective loss function

The goal is to change model's predictions on a subset of inputs, corresponding to misclassified objects, without affecting other inputs, by changing the model parameters θ\theta .

An editor function could be used to formalized this: θ^=Edit(θ,le)\hat{\theta}=Edit(\theta,l_e) , with a constraint: le(θ^)0l_e(\hat{\theta})\leq0

  • θ^\hat{\theta} is the changed parameters

For example, multi-class classification.

  • le(θ^)=maxyi(logp(yix,θ^)logp(yrefx,θ^))l_e(\hat{\theta}) = \max_{y_i} (\log p(y_i|x, \hat{\theta}) - \log p(y_{ref}|x,\hat{\theta})) where yrefy_{ref} is the desired label.

if under the constraint: le(θ^)0l_e(\hat{\theta})\leq0 ,

The constraint: le(θ^)0l_e(\hat{\theta})\leq0 is satisfied iff argmaxyilogp(yix,θ^)=yref\arg \max_{y_i} \log p(y_i|x, \hat{\theta})=y_{ref}

So the goal is how to design the editor neural network.

Reference:

Last updated