[PYTHON] Noise2 Noise commentaire

Explication de Noise2Noise (Comment apprendre le réseau de suppression de bruit uniquement avec des images avec du bruit)

Je voudrais expliquer et résumer l'article sur la suppression du bruit Noise2 Noise: Learning Image Restoration without Clean Data. Comme il s'agissait d'un article de 2018 et qu'il avait eu un grand impact, il semble vieux d'écrire un article d'introduction, mais Qiita avait un article sur la mise en œuvre, mais il n'y avait pas d'article expliquant le contenu, donc un mémorandum Je vais le laisser tel quel. Fondamentalement, il est écrit en mettant l'accent sur la compréhensibilité afin que tout le monde puisse le lire.

Aperçu

Ces dernières années, grâce à l'apprentissage en profondeur, l'approche de restauration du signal correct à partir d'un signal endommagé (haute résolution, De-JEPG, colorisation, etc.) a été très réussie. Toutefois, si vous adoptez ces approches, vous devez disposer d'un ensemble de données correspondant aux données propres et corrompues. Si cela peut être converti d'une manière simple, telle que «image couleur en image noir et blanc» ou «image haute résolution en image basse résolution», il est facile de préparer un jeu de données, mais c'est le cas pour de nombreuses tâches. N'est pas. Même si vous pensez à collecter des images nettes, il se peut qu'il continue de satisfaire les conditions telles qu'une longue exposition et reste sujet pour toutes les données. Même si vous regardez ImageNet, etc., vous pouvez voir des images contenant du bruit lors de la prise de vue.

Formulation

Dans cet article, afin de résoudre les problèmes de ces ensembles de données, nous expliquons comment apprendre à un réseau à décoder le signal correct à partir du signal corrompu étant donné uniquement l'ensemble de données du signal corrompu. Je vais.

Tout d'abord, formulez le problème. La formule suivante est un signal d'entrée dans lequel $ \ hat {x} _i $ est endommagé, et s'il s'agit d'une image, c'est une image de bruit. Si $ y_i $ est une sortie propre, une image, cela indique une image sans bruit.

\underset{\theta}{argmin} \displaystyle \sum_i L(f_\theta(\hat{x}_i),y_i)

En gros, vous voulez apprendre la fonction $ f \ _ {\ theta} $ qui ajuste le paramètre $ \ theta $ pour convertir $ \ hat {x} _i $ en $ y \ _i $. Réglage du problème de suppression du bruit. A ce moment, l'entrée corrompue $ \ hat {x} $ doit être une variable stochastique générée selon une cible propre ($ \ hat {x} \ thicksim p (\ hat {x} | y \ _i) $).

Le point

Les points caractéristiques du papier sont les trois suivants

Je sens que je peux vraiment le faire. Surtout à la fin, je veux dire que ta tête va bien. Cependant, comme le titre de l'article le suggère, le bruit au bruit est l'idée clé de cet article.

Contexte théorique

Tout d'abord, pensons au modèle de régression (régresseur). De plus, dans cette explication théorique de base, tous les modèles et classifications supposent des régresseurs, et les modèles de classification (classifications) ne sont pas pris en compte.

Par conséquent, commençons par un exemple très simple de régression.

Supposons d'abord un ensemble de données de température ambiante non fiable de mesures {$ \ {y \ _1, y_2, y_3 } $} En d'autres termes, vous pouvez le considérer comme plusieurs mesures de température prises en plusieurs points dans la pièce. Cependant, je ne sais pas si la mesure est mauvaise ou si le thermomètre lui-même est mauvais, mais je suppose qu'il y a une erreur entre la vraie température ambiante et la valeur mesurée.

À ce stade, la stratégie la plus courante pour estimer la température ambiante réelle inconnue est de minimiser l'erreur de la valeur mesurée en fonction d'une fonction de perte = $ z $ avec l'écart moyen minimum. Est de demander.

\underset{z}{argmin} \mathbb{E}_y\{L(z, y)\}

C'est, par exemple, si vous essayez de minimiser la perte L2 (z-y) ^ 2, z sera une simple moyenne arithmétique.

z = \mathbb{E}_y\{y\}.

Je pense que c'est intuitivement facile à comprendre

De même, lorsque la perte L1 est utilisée, la valeur médiane de l'ensemble de données d'observation est obtenue comme solution optimale.

L'entraînement avec un régresseur neuronal peut être considéré comme une généralisation de la méthode ci-dessus. Voici une formalisation de la tâche de formation avec les paires d'entrée et de cible comme suit.

\underset{\theta}{argmin} \mathbb{E}_{(x,y)} \{ L(f_\theta(x),y) \}

Ces formules sont des formules DNN courantes, mais peuvent être réécrites avec les probabilités conditionnelles suivantes.

\underset{\theta}{argmin} \mathbb{E}_x \{\mathbb{E}_{y|x} \{ L(f_\theta(x),y) \}\}

Il y a des points importants que le régresseur neuronal cache à ces équations.

En d'autres termes, l'apprentissage du régresseur semble apprendre la conversion de x en y avec une correspondance 1: 1, mais en réalité, il y a plusieurs y correspondant à x, donc on peut dire qu'il s'agit d'un mappage 1: n.

Il est facile d'en voir un exemple concret, mais pour les tâches à haute résolution, l'image haute résolution de sortie $ (au moins les humains pensent qu'elle est plus haute résolution que x) pour l'image d'entrée basse résolution $ x $. On peut dire qu'il y a plusieurs y $.

De même, dans la tâche de coloration automatique, on peut dire qu'il existe plusieurs images couleur de sortie pour l'image en noir et blanc d'entrée.

Par conséquent, de nombreuses tâches utilisant le régresseur neuronal semblent connecter des points, mais en réalité, on pense qu'ils apprennent à connecter des points.

Si ces sorties étaient entraînées sur la perte L2, comme expliqué précédemment dans le jeu de données de température ambiante, la sortie apprendrait éventuellement à produire la moyenne de toutes les explications plausibles.

Par conséquent, la sortie de l'inférence de NN contient un flou spatial.

Ce flou a tourmenté les chercheurs dans de nombreuses tâches. Par exemple, il existe un problème lié au fait que les images haute résolution et les résultats de la génération GAN sont produits avec des images lissées telles que des filtres gaussiens, et les chercheurs travaillent sur cette amélioration.

Cependant, on peut dire que le problème causé par ce flou produit un sous-produit inattendu dans ce cas.

En d'autres termes, même si la cible pendant l'entraînement est contaminée par des nombres aléatoires uniformes (par exemple, le bruit gaussien et le sel et le poivre), cette capacité de moyennage amène le réseau entraîné à produire le même résultat que le résultat de l'entraînement avec une cible propre. .. Par conséquent, on peut dire que la $ f_ \ theta $ obtenue est une fonction équivalente lorsqu'elle est optimisée dans l'expression 1 et dans l'expression suivante.

\underset{\theta}{argmin} \sum_i L(f_{\theta}(\hat{x}_i),\hat{y}_i)

Cette formule élimine la cible propre $ \ hat {x} $ dont nous avions besoin auparavant.

Cette théorie est la théorie la plus importante et la plus fondamentale de Noise2Noise.

C'est la fin de l'explication de la théorie pour le moment, puis nous passerons à la phase expérimentale.

Expérience

coming soon...

Recommended Posts

Noise2 Noise commentaire
Commentaire de somme cumulée