Mit dem Aufkommen großer Text-Bild-Modelle ist es sehr einfach geworden, ein attraktives Bild zu erstellen. Der Benutzer muss lediglich eine einfache Eingabeaufforderung mit der Fingerbewegung eingeben. Nachdem wir das Bild durch eine Reihe von Vorgängen erhalten haben, werden wir unweigerlich mehrere Fragen haben: Kann das auf der Grundlage der Eingabeaufforderung generierte Bild unsere Anforderungen erfüllen? Welche Art von Architektur sollten wir aufbauen, um den verschiedenen Anforderungen der Benutzer gerecht zu werden? Können große Modelle bei bestimmten Aufgaben weiterhin die Vorteile und Fähigkeiten aufrechterhalten, die aus Milliarden von Bildern gewonnen wurden?
Um diese Fragen zu beantworten, führten Forscher aus Stanford eine umfangreiche Umfrage zu verschiedenen Bildverarbeitungsanwendungen durch und kamen zu den folgenden drei Ergebnissen:
Erstens sind die in einer bestimmten Domäne verfügbaren Daten tatsächlich besser als das Training eines allgemeinen Modells Es gibt weniger Daten, was sich hauptsächlich darin widerspiegelt, dass beispielsweise der größte Datensatz zu einem bestimmten Problem (z. B. Gestenverständnis usw.) normalerweise weniger als 100.000 beträgt, was 5 × 10^4 weniger als der große ist -skaliger, multimodaler Text-Bild-Datensatz LAION 5B Größenordnung. Dies erfordert, dass das neuronale Netzwerk robust ist, um eine Überanpassung des Modells zu vermeiden, und eine gute Generalisierung bei der Behandlung spezifischer Probleme aufweist.
Zweitens stehen bei der datengesteuerten Verarbeitung von Bildaufgaben nicht immer große Rechencluster zur Verfügung. Hier werden schnelle Trainingsmethoden wichtig, Methoden, die große Modelle für bestimmte Aufgaben innerhalb akzeptabler Zeit und Speicherkapazität optimieren können. Darüber hinaus können in der nachfolgenden Verarbeitung Feinabstimmungen, Transferlernen und andere Vorgänge erforderlich sein.
Abschließend werden verschiedene Probleme, die bei der Bildverarbeitung auftreten, auf unterschiedliche Weise definiert. Bei der Lösung dieser Probleme kann der Bilddiffusionsalgorithmus zwar auf „prozedurale“ Weise angepasst werden, z. B. durch Einschränkung des Rauschunterdrückungsprozesses, Bearbeitung der Aufmerksamkeitsaktivierung mehrerer Köpfe usw., diese handgefertigten Regeln werden jedoch im Wesentlichen durch menschliche Anweisungen diktiert. In Anbetracht einiger spezifischer Aufgaben wie Tiefenbild, Pose-Person usw. erfordern diese Probleme im Wesentlichen die Interpretation von Roheingaben für ein Verständnis auf Objekt- oder Szenenebene, was handgefertigte prozedurale Ansätze weniger durchführbar macht. Um Lösungen für mehrere Aufgaben bereitzustellen, ist daher ein durchgängiges Lernen unerlässlich.
Basierend auf den oben genannten Erkenntnissen schlägt dieser Artikel eine End-to-End-Architektur für neuronale Netzwerke ControlNet vor, die das Diffusionsmodell (z. B. Stable Diffusion) durch Hinzufügen zusätzlicher Bedingungen steuern und so den Zeicheneffekt verbessern und das Zeichnen von Linien realisieren kann . Generieren Sie Vollfarbbilder, generieren Sie Bilder mit der gleichen Tiefenstruktur und optimieren Sie die Handgenerierung durch Handschlüsselpunkte.
Papieradresse: https://arxiv.org/pdf/2302.05543.pdf
Projektadresse: https://github.com/lllyasviel/ControlNet
Welche Wirkung hat ControlNet?
Canny Edge Detection: Durch Extrahieren von Strichzeichnungen aus dem Originalbild können Bilder mit derselben Zusammensetzung generiert werden.
Tiefenerkennung: Durch Extrahieren der Tiefeninformationen im Originalbild kann eine Karte mit derselben Tiefenstruktur generiert werden.
ControlNet mit semantischer Segmentierung:
Erkennen Sie gerade Linien von Places2 mithilfe der lernbasierten tiefen Hough-Transformation und generieren Sie dann Untertitel mithilfe von BLIP.
HED-Kantenerkennungssymbol.
Symbol zur Erkennung der menschlichen Körperhaltung.
ControlNet ist eine neuronale Netzwerkarchitektur, die vorab trainierte Bilddiffusionsmodelle mit aufgabenspezifischen Bedingungen erweitert. Schauen wir uns zunächst die Grundstruktur von ControlNet an.
ControlNet manipuliert die Eingabebedingungen neuronaler Netzwerkblöcke, um das Gesamtverhalten des gesamten neuronalen Netzwerks weiter zu steuern. Hier bezieht sich „Netzwerkblock“ auf eine Gruppe neuronaler Schichten, die als gemeinsame Einheit zum Aufbau neuronaler Netzwerke zusammengefasst werden, wie z. B. Resnet-Block, Multi-Head-Aufmerksamkeitsblock und Transformer-Block.
Nehmen wir als Beispiel 2D-Features, gegeben eine Feature-Map x ϵ R^h×w×c, wobei {h, w, c} die Höhe, Breite bzw. Anzahl der Kanäle sind. Ein neuronaler Netzwerkblock F (・; Θ) mit einem Parametersatz Θ transformiert x in eine andere Merkmalskarte y, wie in Gleichung (1) unten gezeigt.
Dieser Vorgang ist in Abbildung 2-(a) unten dargestellt.
Die neuronalen Netzwerkblöcke sind durch eine einzigartige Faltungsschicht namens „Null-Faltung“ verbunden, bei der es sich um eine 1×1-Faltungsschicht mit Null-Initialisierung von Gewichten und Bias handelt. Der Forscher stellt die Nullfaltungsoperation als Z (・;・) dar und verwendet zwei Parameterinstanzen {Θ_z1, Θ_z2}, um die ControlNet-Struktur zu bilden, wie in der folgenden Formel (2) gezeigt.
wobei y_c zur Ausgabe dieses neuronalen Netzwerkblocks wird, wie in Abbildung 2-(b) unten dargestellt.
ControlNet im Bilddiffusionsmodell
Am Beispiel der stabilen Diffusion stellten die Forscher vor, wie man ControlNet zur Steuerung groß angelegter Diffusionsmodelle mit aufgabenspezifischen Bedingungen verwenden kann. Stable Diffusion ist ein groß angelegtes Text-zu-Bild-Diffusionsmodell, das auf Milliarden von Bildern trainiert wird, im Wesentlichen ein U-Netz, das aus einem Encoder, Zwischenblöcken und einem mit Resten verbundenen Decoder besteht.
Wie in Abbildung 3 unten dargestellt, verwenden Forscher ControlNet, um jede Schicht des U-Netzes zu steuern. Beachten Sie, dass die Art und Weise, wie ControlNet hier verbunden ist, recheneffizient ist: Da die ursprünglichen Gewichte gesperrt sind, erfordert die Gradientenberechnung auf dem ursprünglichen Encoder kein Training. Und da die Hälfte der Gradientenberechnungen des Originalmodells reduziert wird, kann das Training beschleunigt und GPU-Speicher eingespart werden. Das Training eines Stable Diffusion-Modells mit ControlNet erfordert nur etwa 23 % mehr GPU-Speicher und 34 % mehr Zeit pro Trainingsiteration (getestet auf einer einzelnen Nvidia A100 PCIE 40G).
Konkret verwendeten die Forscher ControlNet, um trainierbare Kopien von 12 Codierungsblöcken und einem Stable Diffusion-Zwischenblock zu erstellen. Die 12 Codierungsblöcke gibt es in 4 Auflösungen, 64×64, 32×32, 16×16 und 8×8, mit 3 Blöcken in jeder Auflösung. Der Ausgang wird dem U-Netz mit 12 Restverbindungen und 1 Zwischenblock hinzugefügt. Da es sich bei Stable Diffusion um eine typische U-Net-Struktur handelt, ist es wahrscheinlich, dass diese ControlNet-Architektur in anderen Diffusionsmodellen verwendet werden kann.
Training und Boosting-Training
Bei einem Bild z_0 fügt der Diffusionsalgorithmus dem Bild schrittweise Rauschen hinzu und erzeugt ein verrauschtes Bild z_t, wobei t die Häufigkeit ist, mit der Rauschen hinzugefügt wird. Wenn t groß genug ist, nähert sich das Bild reinem Rauschen an. Bei einer Reihe von Bedingungen, einschließlich Zeitschritt t, Textaufforderungen c_t und aufgabenspezifischen Bedingungen c_f, lernt der Bilddiffusionsalgorithmus ein Netzwerk ϵ_θ, um das zu einem verrauschten Bild z_t hinzugefügte Rauschen vorherzusagen, wie in Gleichung (10) unten gezeigt.
Während des Trainingsprozesses ersetzten die Forscher zufällig 50 % der Textaufforderungen c_t durch leere Zeichenfolgen, was sich positiv auf die Fähigkeit von ControlNet auswirkt, semantische Inhalte aus der Eingabebedingungskarte zu identifizieren.
Darüber hinaus diskutierten die Forscher auch mehrere Strategien zur Verbesserung des ControlNets-Trainings, insbesondere wenn Computergeräte sehr begrenzt (z. B. Laptops) oder sehr leistungsfähig (z. B. verfügbar) sind Extremfall großer GPU-Computing-Cluster).
Weitere technische Details finden Sie im Originalpapier.
Das obige ist der detaillierte Inhalt vonDie Reduzierung der KI-Dimensionalität greift menschliche Maler an, vinzentinische Diagramme werden in ControlNet eingeführt und Tiefen- und Kanteninformationen sind vollständig wiederverwendbar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!