Selbermach Samstag

Welche Themen interessieren euch, welche Studien fandet ihr besonders interessant in der Woche, welche Neuigkeiten gibt es, die interessant für eine Diskussion wären und was beschäftigt euch gerade?

Welche interessanten Artikel gibt es auf euren Blogs? (Schamlose Eigenwerbung ist gerne gesehen!)

Welche Artikel fandet ihr in anderen Blogs besonders lesenswert?

Welches Thema sollte noch im Blog diskutiert werden?

Für das Flüchtlingsthema oder für Israel etc gibt es andere Blogs

Zwischen einem Kommentar, der nur einen Link oder einen Tweet ohne Besprechung des dort gesagten enthält, sollten mindestens 5 Kommentare anderer liegen, damit noch eine Diskussion erfolgen kann.

Ich erinnere auch noch mal an Alles Evolution auf Twitter und auf Facebook.

Wer mal einen Gastartikel schreiben möchte, auch gerne einen feministischen oder sonst zu hier geäußerten Ansichten kritischen, der ist dazu herzlich eingeladen

Es wäre nett, wenn ihr Artikel auf den sozialen Netzwerken verbreiten würdet.

Künstliche neuronale Netze 101

Dies ist ein Gastartikel von Pingpong

Da es zum Thema künstliche Intelligenz immer wieder viele Fragen, Diskussionen und Bedenken gibt, sollen in diesem Artikel die Grundlagen erklärt werden: Wie genau funktioniert das eigentlich, wenn Maschinen lernen? Dazu schauen wir uns die künstlichen neuronalen Netze geenauer an. Diese sind der Motor hinter den großen Sprachmodellen, den Bildgeneratoren, der automatischen Übersetzung und dem ganzen KI-Hype der letzten Jahre. Ich versuche die ganze Sache möglichst simpel und intuitiv zu halten, es soll ein 101, also ein einfacher Einstieg in das Thema sein.

Da Künstliche Intelligenz stark auf Mathematik aufbaut, wird dabei notgedrungen auch etwas Mathematik vorkommen. Das beschränkt sich jedoch auf Oberstufenmathematik – mehr braucht es nicht, um den Computer lernen zu lassen!

1. Funktionen und Parameter

Als Beispiel nehme ich die Polynomfunktionen zweiten Grades, also die bekannten quadratischen Funktionen, die jeder aus der Schule kennt. Diese Funktionen haben die Form f(x)=ax2+bx+c wobei a,b,c die Parameter der Funktion sind. Man kann sich das ganze als Box vorstellen, mit Einstellknöpfen für die Parameter.

In Schule sind die Parameter meist fix vorgegeben. Man arbeitet mit einer konkreten Funktion, z.B. für a=2, b=-1.3 und c=3.4 ist es die Funktion f(x)=2x21.3x+3.4. Dann kann man für verschiedene Werte von x den Funktionswert f(x) bestimmen und allerhand Analysis mit dieser Funktion betreiben.

Bei neuronalen Netzen hat man einen etwas anderen Blick auf die Funktionen. Anstatt die Parameter zu fixieren und x zu variieren, ist es bei den neuronalen Netzen in einem gewissen Sinn gerade umgekehrt: Der input x ist vorgegeben, und man interessiert sich dafür, wie sich die Funktion verhält, wenn man die Parameter variiert. Ich habe zu diesem Zweck eine interaktive Visualisierung erstellt, wo man das ausprobieren kann: https://claude.ai/public/artifacts/1c3efa8e-7e8c-42ce-b422-08b43815a5c4

Am besten öffnet man die Visualisierung in einem neuen tab, sodass man zwischen dem Artikel und der Visualisierung hin und her schalten kann. In der Visualisierung gibt es drei Schieberegler, mit denen man die Parameter a,b,c ändern kann. Unterhalb sieht man jeweils, wie sich die Funktion sowie deren Graphen ändert.

Beim Lernen mit neuronalen Netzen dreht sich alles um folgende zentrale Fragestellung: Wie muss ich die Regler für die Parameter einstellen, damit die Funktion das tut was ich möchte? Der Umstand, dass die Parameter eine wichtige Rolle spielen, ist auch in der Notation abgebildet. Die Parameter sind ein Teil des input, daher schreibt man explizit f(x,[a,b,c]). In Worten: „Eine Funktion f mit den inputs x (Variable) und [a,b,c] (Parameter)“. Und weil Mathematiker faul sind und gerne Schreibarbeit sparen, fasst man a,b,c zu einem dreidimensionalen Parametervektor p=[a,b,c] zusammen und schreibt: f(x,p). Wichtig ist hier, sich die Dinge im Kopf zu behalten: x ist ein einzelner skalarer Wert, aber p ist ein dreidimensionaler Vektor (In der Schulmathematik hat man wie gesagt meist fixe Parameter, daher spart man sich diese explizite Notation und schreibt nur f(x)).

1.1 Beispiel

Im folgenden wird als einfaches Motivationsbeispiel ein kleines machine learning Problem aufgesetzt. Zunächst müssen wir klären, wie „was ich möchte“ spezifiziert wird. Im machine learning wird das durch Trainigsdaten gemacht. Anstatt der Funktion Regeln vorzugeben, gibt man ihr Beispiele. Die Beispiele haben die Form: Wenn ich diesen Wert (x) in die Funktion reinstecke, möchte ich, dass jener Wert (f(x)=y) herauskommt.

In der interaktiven Visualisierung kann man 6 custom points eingeben. Diese werden dann als rote Kreuze in der Visualisierung dargestellt. Diese Input-Output Paare (x- und y Koordinate) sind die Trainingsdaten, sie legen das gewünschte Verhalten der Funktion fest.

Die 6 input-Werte sind: 1.6, -2.3, -1.1, 0, 3.5, 4.3

Die 6 output-Werte sind: -5.3, -41.8, -27.1, -14.3, -3, -4.3

Die Aufgabe lautet: Passe mit den Schiebereglern die Parameter der quadratischen Funktion an, sodass der Funktionsgraph möglichst genau auf den roten Kreuzen liegt. Es lohnt sich, ein bisschen mit der Visualisierung herumzuspielen und zu versuchen die Aufgabe zu lösen, bevor man weiterliest.

ACHTUNG SPOILER: Eine mögliche Lösung lautet a=-1.3, b=7.9 und c=-14.7

Nun kann man einwenden, ok, ich habe mit der Hand probiert bis es passt, was ist da jetzt dabei? Die ganze Magie der neuronalen Netze besteht darin, dass es eine automatische Methode, d.h. einen Algorithmus, gibt, der genau das macht. Wenn man nochmal auf das erste Bild von der Funktion als Box mit Drehreglern zurückkommt, dann gibt es quasi ein Orakel, das so lange an den Reglern dreht, bis die Funktion das gewünschte Verhalten hat. Es ist wie Zauberei!

2. Optimierung

Der spannende Punkt ist, wie genau dieser Algorithmus funktioniert. Um das zu verstehen braucht man ein paar Grundlagen aus der mathematischen Optimierung. Bei der Optimierung geht es darum, das Minimum (oder Maximum) einer Funktion zu finden. Formal notiert man ein Optimierungsproblem als minxf(x). In Worten: finde jenen Wert x, sodass der Funktionswert f(x) so klein wie möglich (minimal) ist.

Vorhin bestand das Ziel darin, mit den Reglern zu spielen sodass der Funktionsgraph auf den roten Kreuzen liegt. Um das zu automatisieren, muss man das Ziel in die Sprache der Mathematik übersetzen. Das funktioniert folgendermaßen: Man weiß zu jedem input-Wert xi welchen output-Wert yi man haben möchte. Der Index i nummeriert die einzelnen Trainingspaare, damit wir nicht durcheinander kommen. Das erste Trainigspaar ist beispielsweise x1=1.6, y1=5.3.

Am Anfang, wenn man die „richtigen“ Parameter p nicht kennt, wird der Funktionswert f(xi,p) für einen gegebenen input-Wert xi natürlich überhaupt nicht dem genwünschten output-Wert yi entsprechen. Man stellt also den quadratischen Fehler zwischen dem Funktionswert f(xi,p) und dem gewünschten Ergebnis auf:

E(xi,yi,p)=(f(xi,p)yi)2.

Der Fehler ist selber eine Funktion, ich nenne sie E (von engl. error), und sie hat 3 inputs: Das jeweilige Input-Output-Paar xi,yi und die Parameter p. Im folgenden wird es dann darum gehen, diesen Fehler zu minimieren.

Den Fehler für das erste Input-Output-Paar x1,y1 und die Parameter p=[1,0,0] rechnet man zB so aus: p enthält ja die Parameter a,b,c und für a=1, b=0, c=0 erhält man die kanonische Quadratfunktion f(x,p)=x2. Damit berechnet man: f(1.6,p)=1.62=2.56

(Wir benutzen weiterhin die Notation f(x,p), obwohl wir eine konkrete Parameterkonfiguration betrachten. Das soll explizit machen, dass es sich bei den Parametern prinzipiell um einen veränderbaren input handelt.)

Der gewünschte Wert ist aber y1=5.3, d.h. der Fehler ist (einsetzen der Werte in die Funktion E)

E(1.6,5.3,p)=(2.56(5.3))2=61.7796

Wenn man für die Parameter hingegen p=[-1,1,0] hat, ergibt das die Funktion f(x,p)=x2+x. Der Funktionswert ist dann f(1.6,p)=(1.62)+1.6=0.96 und der Fehler ist

E(1.6,5.3,p)=(0.96(5.3))2=4.342=18.8356

Hier sieht man schon, wohin die Reise geht. Bei der Fehlerfunktion E sind es nicht wie üblich die Werte für x die frei variieren, sondern die Parameterwerte p. Das ist die „verkehrte“ machine learning Sichtweise, die ganz oben angesprochen wurde. In der Schule ist x die Variable, und die Parameter sind fix. Bei neuronalen Netzen hat man eine Menge an vorgebenen Trainigsdaten, und die Parameter sind variabel. Diese Sichtweise korrespondiert genau dazu, wenn man in der Visualisierung an den Reglern für a,b,c spielt und damit die Parameter ändert. Das ist einer der wesentlichen gedanklichen Schritte, den man braucht um neuronale Netze zu verstehen.

2.1 Loss-Funktion

Was jetzt noch zu tun bleibt, ist, die Fehler von allen Input-Output-Paaren aufzusummieren. Damit erhält man die sogenannte Loss-Funktion:

L(X,Y,p)=iE(xi,yi,p)=i(f(xi,p)yi)2

Hier bezeichnet X,Y die Menger alle Input-Output-Paare xi,yi. Die Loss-Funktion sagt, wie groß der Fehler über alle Input-Output-Paare für eine bestimmte Konfiguration der Parameter p ist. Um deutlich zu machen, dass die Parameter der variable input sind, ordnet man die inputs um und notiert

L(p,X,Y)

sodass die Variable wie gewohnt an erster Stelle steht.

(Oft macht man auch diesselbe – diesmal aber umgekehrt! – Vereinfachung wie in der Schule: da die Trainingsdaten fix vorgegeben sind lässt man die X,Y weg und schreibt einfach nur L(p)).

Nun kann man das Optimierungsproblem aufstellen:

minpL(p,X,Y)

In Worten: Finde die Parameter p, sodass der Wert der Loss-Funktion mit den Trainigsdaten X,Y minimal ist. Da die Loss-Funktion die Summe aller Abweichungen der Funktionswerte f(xi,p) zu den gewünschten Werten yi ist, entspricht dieses Problem genau dem, was man händisch in der Visualisierung machen kann: An den Parametern drehen, bis der Funktionsgraph möglichst gut auf den roten Kreuzen liegt.

2.2 Gradientenabstieg

Im Kontext neuronale Netze wird das Optimierungsproblem üblicherweise mit einer Variante von Gradientenabstieg (engl. gradient descent) gelöst. Der Gradientenabstieg ist DAS Arbeitspferd hinter der ganzen KI, sämtliche großen neuronalen Netze verwenden das in der einen oder anderen Form.

Die Grundidee von gradient descent ist sehr einfach: Angenommen man hat eine Funktion f(x) die man minimieren möchte, und einen Punkt x an dem man gerade ist (Achtung, hier haben wir wieder die übliche Sichtweise, wo x die Variable ist! Man benötigt oft eine gewisse Flexibilität, da je nach Kontext die eine oder andere Sichtweise verwendet wird…). Dann möchte man wissen, in welche Richtung muss man sich bewegen, d.h. muss x kleiner oder größer werden, damit sich der Funktionswert verringert – man möchte ja das Minimum der Funktion finden. Jetzt gibt es ein Orakel, welches einem sagt in welche Richtung man gehen muss. Dann geht man ein Stück in diese Richtung, d.h. man steht an einem neuen Punkt x. Nun fragt man wieder das Orakel, macht wieder einen Schritt in diejenige Richtung wo der Funktionswert sich verringert, und immer so weiter bis man das Minimum erreicht hat.

Das Orakel ist der Gradient. Aus der Kurvendiskussion in der Schule kennt man vielleicht noch die Ableitung f(x). Der Gradient ist im Prinzip dasselbe wie die Ableitung. Nur sagt man im mehrdimensionalen zur Ableitung Gradient, und statt f(x) notiert man f(x) (gesprochen: Nabla f). Ebenfalls aus der Kurvendiskussion kann man sich eventuell erinnern, dass die Ableitung die Änderungsrate der Funktion ist. Das ist genau das, was man braucht: Die Ableitung (Gradient) sagt einem, wie sich der Funktionswert ändert, wenn man x ändert. Und wenn man weiß, wie sich der Funktionswert ändert, dann weiß man in welche Richtung man gehen muss damit der Funktionswert kleiner wird.

Beispiel

Angenommen man hat eine einfache Funktion, zB f(x)=3x22.3x+1.7. Die Ableitung für die Funktion kann man leicht ausrechnen:

f(x)=6x2.3

Wenn die Ableitung in einem Punkt positiv x ist, bedeutet das der Funktionswert wächst, wenn man x größer macht. Sagen wir, wir sind im Punkt x=3.1. Die Ableitung an diesem Punkt ist f(3.1)=63.12.3=16.3. Der Wert ist positiv, d.h. an diesem Punkt gilt: Wenn man x größer macht, wird f(x) ebenfalls größer.

Neue Situation, wir sind jetzt in einem anderen Punkt x=1.1. Die Ableitung an diesem Punkt ist f(1.1)=8.9. Der Wert ist negativ, d.h. an diesem Punkt gilt: Wenn man x kleiner macht, wird f(x) größer.

Allgemein sagt der Gradient an einem Punkt x, in welche Richtung die Funktion am stärksten wächst. Wenn man also das Minimum der Funktion sucht, dann braucht man nur ein Stück in die entgegengesetzte Richtung zu gehen. Das ist das Grundprinzip des Gradientenabstieg.

2.2.1 Gradientenabstieg auf der Loss-Funktion

Wir widmen uns wieder der Loss-Funktion aus Abschnitt 2.2 (Achtung, jetzt sind die Parameter p wieder die Variable!). Im Prinzip funktioniert die Optimierung der Loss-Funktion genau so, wie vorhin beschrieben. Man muss die Loss-Funktion ableiten, und zwar nach den Parametern. Und da es 3 Parameter gibt, ist das Ergebnis (der Gradient) ein dreidimensionaler Vektor. Diese Ableitungen funktionieren so, wie man es aus der Schule kennt: Wenn man beispielsweise nach dem Parameter a ableitet, betrachtet man die restlichen Variablen als konstant. Dasselbe Spiel macht man dann für die Parameter b und c. Da die Loss-Funktion eine verkettete Funktion ist und sich die Parameter ganz „innen“ befinden, muss man für die Berechnung der Ableitung die Kettenregel anwenden (Den Gradient selber ausrechnen ist als Übung sehr empfehlenswert!).

Ich habe hier alles in einem kleinen python notebook implementiert: https://colab.research.google.com/github/pingpong402/networks101/blob/main/simple_quadratic.ipynb

Man kann das notebook starten, indem man links oben auf den Play-Button drückt Dazu muss man mit seinem google Konto angemeldet sein, damit man das script in sein eigenes Colab kopieren kann. Wer das nicht möchte kann auch eine anonyme virtuelle Maschine starten, indem man auf den „launch binder“ button klickt. Dazu ist keine Anmeldung notwendig. Nach einer kurzen Wartezeit erhält man eine interaktive Jupyter Notebook Umgebung, in der das script geladen ist. Man kann es dann oben in der Menüleiste mit dem Play Button starten.

Das script führt Gradientenabstieg auf der Loss-Funktion aus, um die optimalen Parameter zu lernen. Es verwendet kein machine learning Framework, alles ist hier wirklich mit der Hand gemacht. Für das kleine Beispiel geht das sehr einfach: es sind weniger als 40 Zeilen Code, und das eigentliche „Lernen“ (die Optimierung) sind weniger als 5 Zeilen. Man erhält als Ergebnis die gelernten Parameter, sowie eine Visualisierung wie sich der Loss während der Optimierung entwickelt und wie die Funktion mit den gelernten Parametern aussieht:

Am Anfang startet man mit initialen Parametern p=[1,0,0]. Die entsprechende Funktion passt überhaupt nicht zu den Trainingsdaten, und der Loss ist groß. Nach der Optimierung hat der Algorithmus folgende Parameter gefunden: p=[-1.4, 8.5, -15.1]. Der Loss ist sehr klein, und die entsprechende Funktion liegt ziemlich genau auf den Trainingsdaten. Glückwunsch, hiermit hat man ein echtes machine learning Beispiel durchexerziert!(Wie gut passen die Parameter, die man beim händischen Probieren gefunden hat, zu den Parametern die der Algorithmus findet?)

Man kann in dem script herumspielen, z.B. die initialen Parameter ändern, oder die Anzahl der Iterationen für den Gradientenabstieg. Fortgeschrittene können auch andere Trainigsdaten definieren und eine neue Funktion lernen (Aber Vorsicht, da hier lediglich mit einer quadratischen Funktion gearbeitet wird kann nicht jede Konfiguration von Trainingsdaten gelernt werden!).

3. Modellierung von Neuronalen Netzwerken

Nun ist dieses kleine Beispiel ganz nett, es hat aber zugegeben wenig mit den beeindruckenden Ergebnissen der großen KI-Systeme zu tun. Das liegt im wesentlichen daran, dass in dem kleinen Beispiel die Funktion f – eine quadratische Funktion – nur geringe deskriptive Kraft hat. Sie hat lediglich 3 Parameter, und damit kann man nur eine kleine Klasse von Funktionen abdecken. Entsprechend sind die Probleme, die man damit lösen kann, recht eingeschränkt. Interessanter wird die ganze Sache, wenn man Funktionen mit viel mehr Parametern verwendet. Dabei nimmt man aber nicht einfach Polynomfunktionen höherer Ordnung, z.B. eine Polynomfunktion vom Grad 100. Man verwendet stattdessen eine ganz andere Struktur bzw Architektur.

Eine der bekanntesten und meist verwendeten Architekturen ist das Multilayer Perzeptron (MLP). Das MLP ist tatsächlich dem Gehirn nachempfunden. Es besteht aus einer Reihe von Einheiten (Neuronen), wobei jedes Neuron mehrere inputs hat und diese mit einer einfachen Funktion in einen Output transformiert. Jedes Neuron ist im Prinzip genau dasselbe wie die mathematische Box von ganz zu Beginn. Es gibt Inputs, Drehregler für die Parameter, und einen Output. Nur verwendet man keine Polynomfunktionen, sondern die Funktion der Neuronen hat folgende Struktur:

f(x)=φ(iaixi+b), x=[x1,x2,,xi]Rn

Diese Funktion besteht aus zwei Teilen: „innen“ wird eine einfache lineare Transformation berechnet (gewichtete Summe und Konstante), mit den Parametern a,b. Auf dieses Ergebnis wird dann eine nichtlineare Aktivierungsfunktion φ() angewandt. Für diese nichtlineare Funktion gibt es einige weitverbreitete Möglichkeiten, beispielsweise die logistische Funktion, die tanh Funktion oder die ReLu (rectified linear unit) Funktion. Diese Funktionen sind im folgenden abgebildet:

(Die Bezeichnung Aktivierungsfunktion bezieht sich auf die Parallele zur Funktionsweise von echten Neuronen, die ab einem bestimmten input-Schwellwert aktiviert werden und feuern.)Die Aktivierungsfunktionen sind zwar relativ einfache Funktionen, spielen aber eine wichtige Rolle. Echte neuronale Netzwerke bestehen i.d.R. aus mehreren hintereinander geschalteten Layern von Neuronen. Man kann zeigen, dass sich alle diese Layer auf einen einzigen Layer reduzieren lassen, wenn man keine nichtlinearen Aktivierungsfunktionen verwendet. Erst durch die Aktivierungsfunktion wird das neuronale Netzwerk tatsächlich „mächtiger“, wenn man mehr Layer hintereinander schaltet.

Ein weiterer wesentlicher Unterschied von „richtigen“ neuronalen Netzen zu dem kleinen machine learning Beispiel von vorhin besteht darin, dass in dem kleinen Beispiel der Input und der Output jeweils eine Zahl, d.h. ein skalarer Wert war. Bei neuronalen Netzen arbeitet man hingegen mit mehrdimensionale Vektoren. D.h. der input x ist ein Vektor, und xi bezeichnet die Komponenten dieses Vektors. Die Anzahl der Parameter für die gesamte Funktion f eines einzelnen Neuron hängt demnach von der Dimension d des Input ab: Ein Neuron hat d+1 Parameter. d Parameter für die ai (ein ai für jede Komponente des input Vektors) und ein zusätzlicher für das b. Die Aktivierungsfunktion hat keine Parameter. Man beachte hier, dass der Input eines Neuron ein Vektor ist, der Output ist jedoch ein skalarer Wert, eine einzelne Zahl.

Die einfachste Version des MLP ist dreilagig und besteht aus einem input Layer, einem sogenannten hidden Layer mit einer frei wählbaren Anzahl von Neuronen, und einem output Layer. Die Anzahl der Einheiten im input und output Layer richtet sich nach dem konkreten Anwendungsfall. Eine schematische Darstellung eines MLP mit 3 Einheiten im input Layer, 3 Einheiten im hidden layer, und 2 Einheiten im output Layer sieht zB folgendermaßen aus:

Jede der Einheiten ist eine Funktion wie oben beschrieben (lineare Transfomration und nichtlineare Aktivierungsfunktion), man stellt es sich am besten mit dem Bild von ganz zu Beginn vor: eine mathematische Box mit inputs, outputs, und Drehreglern für die Parameter. Die Pfeile geben an, wie die inputs und outputs der einzelnen Boxen miteinander verbunden sind.

Man kann dieses Bild der mathematischen Box auf verschiedenen Ebenen anwenden. Beispielsweise kann man sich auch den ganzen hidden Layer als eine Box vorstellen (mit einer Anzahl von kleineren Boxen im Inneren). Und man kann sich das ganze Netzwerk als eine große Box vorstellen, die im Inneren aus mehreren Layern besteht, die selbst wiederum aus den einzelnen Neuronen bestehen. Es ist immer dasselbe allgemeine Prinzip: Es gibt inputs, outputs, und Drehregler für Parameter. Wenn man sich das ganze Netzwerk als eine große Box vorstellt, dann hat diese natürlich sehr viel mehr Drehregler als eine der kleineren Boxen im Inneren.

Der große Erfolg der neuronalen Netze beruht darauf, dass diese Architektur sehr flexibel ist. Gleichzeitig hat sich herausgestellt, dass die resultierende Gesamtfunktion (also die große Box, wo man das ganze Netzwerk als eine Funktion betrachtet) ungeheuer ausdrucksstark ist, und man eine ganze Menge interessante Probleme damit lösen kann. Tatsächlich kann man zeigen, dass ein MLP mit einem hidden layer und nichtlinearen Aktivierungsfunktionen eine universelle Approximationseigenschaft besitzt: Man kann damit jede(!) stetige Funktion beliebig genau darstellen. (Der Pferdefuß an solchen theoretischen Beweisen ist die Kluft zur Praxis: Man braucht dafür u.U. unendlich viele Enheiten im hidden Layer…)

3.1 Einfaches Beispiel mit MLP

Wir können das einfache Beispiel mit den 6 Punkten mit dem MLP lernen. Die Loss Funktion ist nach wie vor die Summe der Fehler über alle Trainingsbeispiele:

L(X,Y,p)=iE(xi,yi,p)=i(f(xi,p)yi)2

Nur ist jetzt die Funktion f nicht mehr ein einfaches Polynom zweiten Grades, sondern es ist die Gesamtfunktion des MLP. Das MLP sieht folgendermaßen aus:

Da wir eine einzelne Zahl als input und output haben, gibt es jeweils eine Einheit im input bzw. output Layer. Der hidden Layer hat eine frei wählbare Anzahl von Einheiten, in diesem Fall verwenden wir zwei. Für dieses einfache MLP kann man die Gesamtfunktion explizit aufschreiben. Die Funktionen im hidden layer berechnen

h1(x)=φ(a1x+b1),  h2(x)=φ(a2x+b2)

und der output bzw die Gesamtfunktion f des ganzen Netzwerk lautet:

f(x,p)=a3h1(x)+a4h2(x)+b3=a3φ(a1x+b1)+a4φ(a2x+b2)+b3

mit den Parametern p=[a1,a2,a3,a4,b1,b2,b3]

Die nichtlineare Aktivierungsfunktion im output Layer lässt man weg. Diese würde den Output sonst einschränken. ZB mit der tanh Funktion wäre der Output des ganzen Netzwerk eingeschränkt auf [-1,1], und mit der ReLU Funktion wäre es beschränkt auf positive Zahlen. Die Anzahl der Parameter für jede Einheit ergibt sich nach obiger Formel d+1, mit d der Dimension des input. Der input für den hidden layer ist eindimensional, d.h. jedes Neuron hat zwei Parameter. Der input für den output Layer ist zweidimensional, d.h. das Neuron hat drei Parameter. Insgesamt hat die Funktion für das ganze MLP 7 Parameter.

Nun geht man wieder nach Schema F vor: Den Gradienten der Loss Funktion ausrechnen und Optimierung mittels Gradientenabstieg ausführen. Natürlich ist der Gradient jetzt schon ein bisschen komplizierter. Die Funktion hat 7 Parameter, d.h. der Gradient ist ein 7-dimensionaler Vektor. Für die Berechnung muss man mehrmals die Kettenregel anwenden. Der Parameter a2 ist beispielsweise „innerhalb“ der quadratischen Fehlerfunktion und nochmals „innerhalb“ der nichtlinearen Aktivierungsfunktion φ.

Die ganze Sache ist hier in einem notebook implementiert: https://colab.research.google.com/github/pingpong402/networks101/blob/main/network_quadratic.ipynb

Und das Ergebnis sieht folgendermaßen aus:

Das ist jetzt wirklich ein echtes neuronales Netzwerk dem man hier beim Lernen zuschauen kann! Und das tolle dabei, es kann im Gegensatz zu dem einfach quadratischen Polynom von vorhin tatsächlich auch andere Funktionen lernen. Man kann in dem script zusätzliche Trainigspunkte hinzufügen, dann versucht das Netzwerk eine neue Funktion zu lernen sodass der Funktionsgraph möglichst gut auf allen Punkten liegt. Hier ist beispielsweise das Ergebnis mit einem zusätzlichen Punkt [-4, 20]:


Dieses letzte Ergebnis ist immer noch mit nur 2 Neuronen im hidden layer (entspricht 7 Parametern für die Gesamtfunktion des Netzwerks). Das script ist so aufgebaut, dass man die Anzahl frei wählen kann – und natürlich wird die ganze Sache noch interessanter wenn man mehr Neuronen im hidden layer verwendet. Dadurch steigt die Ausdruckskraft des Netzwerks, und es kann die Trainingsdaten besser lernen. Hier ist das Ergebnis mit 20 Neuronen im hidden layer (entspricht 61 Parameter für das ganze Netzwerk):


Man sieht, dass das Netzwerk hier viel besser lernen kann, nach 4000 Iterationen ist der loss bereits im Bereich 101, wo er vorher mit 2 Neuronen noch bei 101 lag. Am Schluss liegt die gelernte Funktion quasi perfekt auf den Trainingsdaten.

3.2 Ziffernerkennung mit MLP

Bewaffnet mit dieser Technik kann man nun daran gehen, interessante und nützliche Probleme lösen. Als abschließendes Beispiel wollen wir jetzt mit einem MLP automatisch Ziffern erkennen. Als Trainingsdaten verwenden wir den MNIST-Datensatz (das ist quasi das „hello world“ der machine learning Welt). Die Daten sehen folgendermaßen aus:

Der input ist ein 28×28 Pixel großes Bild mit handgeschriebenen Ziffern. Der output (das Label) ist die jeweilige Zahl, die auf dem Bild dargestellt ist. Insgesamt gibt es in dem Datensatz 70.000 solcher input-output Paare. Das Netzwerk soll eine Funktion lernen, die, wenn man vorne ein Bild hineinsteckt, hinten sagt welche Zahl es ist. Das ist schon ein einigermaßen schwieriges Problem. Die große Attraktivität der neuronalen Netze besteht darin, dass man sich nicht damit herumschlagen muss allerhand komplizerte Regeln zu erdenken um das Verhalten der Netzwerkfunktion (nicht vergessen, das Netzwerk ist im Grunde „nur“ eine große mathematische Funktion. Eine Box mit input, output, und Drehreglern für die Parameter) festzulegen. Man macht es genau so wie vorhin: Man gibt dem Netzwerk einfach die Trainingsbeispiele, und lässt die Parameter mit Gradientenabstieg so lernen, dass die Funktion das gewünschte Verhalten hat.

Im folgenden sehen wir uns die wesentlichen Modellierungsschritte im Detail an. Als erstes geht es darum, wie man ein Bild als input für das Netzwerk verwenden kann. Bisher war der input immer eine Zahl, so wie man es aus der Schule kennt. f(x) ist eine Funktion, und x nimmt bestimmte Zahlenwerte an, die man dann in die Funktion einsetzt um den Funktionswert zu berechnen. Wie geht das, wenn x ein Bild ist? In Abschnitt 3 wurde bereits angedeutet, dass man bei den „richtigen“ großen neuronalen Netzwerken mehrdimensionale Vektoren als input verwendet. Anstatt einer einzelnen Zahl steckt man gleich einen ganzen Vektor in die Funktion hinein. Das funktioniert grundsätzlich genau gleich, wie man es aus der Schule gewohnt ist. Eine einfache mehrdimensionale Funktion wäre beispielsweise

f(x)=3x1+sin(x1+x2)x22, mit x=[x1,x2]R2

Statt einer einzelnen Zahl x hat man in der Funktion alle Komponenten xi des Vektors. Um ein Bild als input zu verwenden, nimmt man einfach alle Pixelwerte und macht daraus einen langen Vektor. Im vorliegenden Fall haben die input Bilder die Größe von 28×28 Pixel, d.h. der input Vektor hat 2828=784 Dimensionen.

Der input Layer des MLP hat dementsprechend nun nicht mehr ein Neuron, sondern 784, für jede Komponente des input Vektor eines. Der hidden Layer hat nach wie vor eine frei wählbare Anzahl von Neuronen, aber jedes Neuron im hidden Layer bekommt nun den ganze 784-dimensionalen Vektor als input. Die Anzahl der Parameter für ein einzelnes Neuron ist d+1, d.h. ein einzelnes Neuron im hidden Layer hat nun schon 785 Parameter!

Für den output Layer wäre es verlockend, wieder ein einzelnes Neuron zu verwenden, sodass der output direkt die Zahl ist. Es hat sich aber gezeigt, dass man dem Netzwerk damit Ausdruckskraft nimmt. Daher verwendet man stattdessen einen überparametrisierten output: Anstatt einer einzelnen Zahl ist der output ein 10-dimensionaler Vektor. Am besten stellt man es sich so vor, dass der output Vektor eine Wahrscheinlichkeitsverteilung über alle 10 möglichen Ziffern ist. Das endgültige Ergebnis ist dann jene Zahl, die die höchste Wahrscheinlichkeit hat. Beispielsweise könnte der output Vektor lauten y=[0, 0, 0.3, 0, 0.6, 0, 0.1, 0, 0, 0], grafisch dargestellt:

 [output-encoding-example.png]In Worten: die Ziffer 2 hat die Wahrscheinlichkeit 0.3, die 4 hat WS 0.6 und die 6 hat WS 0.1. In diesem Fall würde man als Ergebnis die Ziffer 4 nehmen, sie hat die höchste Wahrscheinlichkeit. Natürlich muss man nun die Trainingsdaten entsprechend anpassen, diese enthalten ja als Label nur die Zahl. Dazu wandelt man die jeweilige Zahl in den sogenannten one-hot Vektor um. Das ist ein Vektor, bei dem genau diejenige Komponente den Wert eins hat, die der Zahl entspricht, alle anderen sind 0. Für die Zahl 8 wäre der one-hot Vektor beispielsweise y=[0, 0, 0, 0, 0, 0, 0, 0, 1, 0], grafisch dargestellt:


Als letzte Änderung verwendet man nun auch im output layer eine Nichtlinearität. In dem Beispiel vorher haben wir die weggelassen, weil wir beliebige Funktionswerte als output ermöglichen wollten. Jetzt hat der output Vektor aber eine strukturelle Einschränkung: Die Werte sind alle zwischen 0 und 1, und damit es eine Wahrscheinlichkeitsverteilung ist sollen sich die 10 Konponenten zu 1 aufsummieren. Das erreicht man, indem man den Vektor durch die sogenannte softmax Funktion schickt. Die softmax funktion ist definiert als

softmax(x)=exp(xi)iexp(xi),  x=[x1,x2,,xn]Rn

wobei exp() die Exponentialfunktion ist. Der softmax „verstärkt“ quasi alle Komponenten xi mit der Exponentialfunktion, und normalisiert dann mit der Summe. Und weil die Verstärkung durch die Exponentialfunktion umso größer ist, je größer die Zahl die man hineinsteckt, dominiert der größte Wert alle anderen. Deshalb nennt man das ganze softmax, es ist eine Approximation an die Maximum-Funktion. Als netten Nebeneffekt erhält man auch noch, dass sich die Komponenten nach dem softmax auf 1 summieren, d.h. sie bilden eine Wahrscheinlichkeitsverteilung.

Das gesamte MLP sieht nun folgendermaßen aus:


Jede Einheit im input Layer nimmt eine Komponente des 784-dimensionalen input Vektor entgegen. Die Einheiten im hidden Layer, hier im Beispiel 6 Neuronen, bekommen jeweils den 784-dimensionalen input Vektor und berechnen damit ihre gewichtete Summe und die nichtlineare Aktivierungsfunktion. Die Neuronen im output layer bekommen jeweils einen 6-dimensionalen Vektor (jedes der 6 Neuronen im hidden layer erzeugt eine einzelne Zahl als output), und berechnen damit ihre gewichtete Summe. Der resultierende 10-dimensionale Vektor (weil es 10 Neuronen im output layer sind) geht in den softmax, und das ist dann der output Vektor y.Das ganze MLP kann man wieder als Funktion f(x,p) betrachten, und diesmal gibt es eine ganze Menge Parameter! Wieviele es in diesem Beispiel mit 6 Neuronen im hidden Layer sind kann man ausrechnen: Die Neuronen im input Layer haben keine Parameter, sie führen keine Berechnung aus. Die Neuronen im hidden Layer haben jeweils d+1 Parameter, mit d=784. Es gibt 6 hidden Neuronen, das sind 4710 Parameter. Die Neuronen im output layer haben d=6, und es gibt 10 Neuronen, d.h. 70 Parameter im output Layer. Insgesamt hat das MLP 4780 Parameter.Wir können die Parameter mit zufälligen Werten initialisieren, und einmal beobachten was passiert wenn man ein paar input Bilder durch das Netzwerk schickt:

Hier sieht man 8 zufällig ausgewählte input Bilder, und darunter jeweils eine grafische Darstellung des output Vektors, den das Netzwerk ausrechnet. Da die Parameter zufällige Werte haben, berechnet das Netzwerk irgendeinen Datenmüll (wobei es im Fall der 7 in der zweiten Zeile sogar zufällig ein richtiges Ergebnis gibt).Die Aufgabe ist dieselbe wie ganz am Anfang: Passe die Parameter so an, dass der output dem gewünschten Ergebnis, d.h. in diesem Fall dem one-hot Vektor der die richtige Zahl kodiert, entspricht. Nur hat das Netzwerk jetzt immerhin 4780 Parameter an denen man drehen kann, das ist schon eine andere Dimension. Aber davon lässt sich der machine learning Engineer nicht abschrecken, sondern er minimiert die Loss Funktion mit Schema F: Gradient nach den Parametern ausrechnen und Gradientenabstieg ausführen. Tatsächlich ist das Ausrechnen des Gradienten – jetzt immerhin ein 4780-dimensionaler Vektor – nicht viel schwieriger als im Fall des einfachen MLP mit 7 Parametern, weil sich die Struktur oft wiederholt. Wenn man beispielsweise die Ableitung für das a1 in der linearen Transformation eines Neuron im hidden Layer ausgerechnet hat, dann sind die restlichen 783 Ableitungen für die a2,a3,,a784 quasi auch schon fertig. Und für die übrigen Neuronen im hidden Layer ist es dann im wesentlichen nur mehr Kopierarbeit, weil die Ableitungen alle dieselbe Struktur haben. Man muss nur aufpassen, dass man den Datenfluss richtig abbildet. Deshalb sind solche schematischen Darstellungen wie in der Grafik oben äußerst nützlich, sie zeigen aus der Vogelperspektive wie die einzelnen Teile des MLP miteinander verbunden sind und welcher Vektor wohin geht.

Ich habe das ganze wieder in einem python notebook implementiert: https://colab.research.google.com/github/pingpong402/networks101/blob/main/network_mnist.ipynb In der Tat ist es fast dasselbe script wie zuvor, wo wir mit dem einfachen MLP die Funktion mit den 6 Punkten gelernt haben. Lediglich eine kleine Anpassung für den zusätzlichen softmax im output layer, und die Visualisierung ist jetzt ein bisschen aufwändiger. Aber der grundsätzliche Algorithmus sind dieselben paar Zeilen.

(Wer dieses script in der anonymen virtuellen Maschine laufen lassen möchte muss viel Geduld mitbringen. Man bekommt bei binder nur recht wenig Rechenleistung, das Service ist ja gratis. Die Optimierung läuft sehr langsam und es dauert lange. Es empfiehlt sich, dieses script in colab laufen zu lassen, da geht es recht flott.)

Auf der rechten Seite sind wieder 8 zufällige input Bilder sowie der aktuelle output während dem Lernen abgebildet. Man sieht sehr gut, wie die Parameter der Netzwerkfunktion angpeasst werden, sodass der output möglichst dem gewünschten one-hot Vektor entspricht. Manchmal dauert das ein bisschen: Bei dem Bild der 8 in der zweiten Zeil glaubt das Netzwerk zuerst eine Zeitlang es wäre eine 3, dann glaubt es kurz es wäre eine 5, und dann nach ca 140 Iterationsschritten sind die Parameter so angepasst, dass es korrekt die 8 erkennt. Manchmal funktioniert es auch gar nicht: Das Bild der 5 in der ersten Zeile wird bis zum Schluss nicht korrekt erkannt, dads Netzwerk glaubt nach wie vor es sei eine 1 (wobei diese 5 zugegebenermaßen recht schlampig geschrieben ist). Auf der linken Seite sieht man die Entwicklung des Loss sowie die Genauigkeit über alle Trainingdaten. Ich habe hier „nur“ 20.000 der 70.000 Trainingsbeispiele verwendet, damit die Sache ein bisschen schneller geht. Damit erreicht das MLP mit 6 hidden Neuronen eine Genauigkeit von 88%, d.h. 88% der 20.000 Bilder werden richtig erkannt. Nicht schlecht für ein Netzwerk mit knapp 5000 Parametern!Natürlich machen wir jetzt das Netzwerk wieder mächtiger, indem wir mehr hidden Neuronen verwenden. Hier ist das Ergebnis mit 30 Einheiten im hidden Layer, das MLP hat dann knapp 24.000 Parameter und erreicht eine Genauigkeit von 95%:


Ich habe den Gradientenabstieg nach 400 Iterationsschritten (dauert ca. 10 Minuten) abgebrochen, aber man sieht, dass die Optimierung noch nicht konvergiert ist. Die Loss-Kurve sinkt weiterhin, und vermutlich hätte das MLP eine noch höhere Genauigkeit erreicht wenn man noch weiter trainiert hätte. Man kann gerne in dem script herumspielen und zB einmal richtig lange trainieren, vielleicht 2000 Iterationen oder so, um zu sehen wie hoch man mit der Genauigkeit kommt. Fortgeschrittene können das script auch verwenden um mit eigenen Trainingsdaten andere Probleme zu lösen. Alles was man tun muss ist die Variablen X (input Daten) und Y (gewünschter output) mit seinen eigenen Daten zu ersetzen (X und Y sind numpy Arrays, jede Spalte ist ein Trainingsbeispiel).

4. Fazit

Machine Learning und künstliche neuronale Netze sind keine Hexerei. Es ist im Prinzip angewandte lineare Algebra und Analysis. Einer der Grundpfeiler, auf dem das ganze Gebiet ruht, ist die Optimierung mit Gradientenabstieg. Weiters braucht man jede Menge Trainingsdaten und Rechenleistung, die großen modernen neuronalen Netze haben viele Milliarden Parameter. Um noch einmal auf das Bild von ganz zu Beginn zurück zu kommen: Es sind mathematische Boxen mit input, output und vielen Milliarden Drehreglern. Das Training besteht darin, die Drehregler so anzupassen, dass die Funktion das tut was man will, d.h. wie es durch die Trainingsbeispiele vorgegeben ist. Gut, dass diese aufwändige Arbeit der Computer macht 🙂

Disclaimer: Beim Schreiben dieses Textes wurde keine KI verwendet. Die Bilder wurden teilweise mit Gemini erzeugt.

„Hot Boys Cry“: Ihr seid Maskulinisten mit Nagellack

Die Taz stellt eine interessante Gruppe vor:

Ein Dutzend Männer beugen sich nach vorn, werfen die linke Hand an den rechten Fuß, den rechten Arm in die Luft. Dann heißt es: Ausfallschritte, Kniebeugen und Armkreise. Die Männer tragen Laufschuhe, Thermohosen und -shirts, auf Mützen und Pullis steht „Hot Boys Cry“. Lounge-Musik erfüllt den kargen Pop-up-Store in Prenzlauer Berg, in der Mitte liegt ein shabby-chicer Perserteppich, dahinter die obligatorischen Monstera-Pflanzen. Auf einem Bildschirm laufen Aufnahmen eines Fotoshootings, bei dem Männer weinen.

„Hot Boys Cry“ ist ein interessanter Name, der vielleicht einfach nur dem gleichen Gedanken folgt wie „Big is beautifull“ in Bezug auf Frauen. Man will etwas oder man ist auf eine bestimmte Art und will das es positiv gesehen wird.

Aber weinende Männer sind wahrscheinlich ähnlich attraktiv wie dicke Frauen. Dabei kann Verletzlichkeit bzw das Zeigen von Gefühlen natürlich attraktiv sein. Oder besser gesagt: Es ist weniger Attraktion als vielmehr die Phase danach: Es geht um Bindung, darum den anderen zu verstehen und zu sehen, dass er gewisse Emotionen hat, sie reflektiert und sich dabei auch in gewisser Weise verletzlich macht.

Das Gegenteil davon wäre Jammern, sich rechtfertigen, emotionale Abhängigkeit oder das Einfordern von Bestätigung.

Also auf der einen Seite „Sagt mir das du mich liebst, ich habe Angst du liebst mich nicht“ und auf der anderen Seite „Ich fühle etwas für dich und es gefällt mir – ich finde wir sollten das ausbauen“

Ein Mann der mit seinem Leben nicht zurechtkommt und deswegen weint ist etwas anderes als jemand, dem man tiefe Gefühle für etwas anmerkt was Bedeutung hat.

Tränen können insofern ein Zeichen von Schwäche oder von tiefen Gefühlen sein.

„Ich habe diese Marke nach meiner Depression gegründet, um einen Weg zu finden, um über meine Struggles zu sprechen“, sagt Gründer Alexander Nicolaus. „Damals konnte ich das nicht.“ Rund zwölf Männer lauschen ihm im Halbkreis. Die Gruppe hat sich an diesem Morgen versammelt, um bei minus sechs Grad gemeinsam sechs Kilometer durch Mitte zu joggen. Bevor sie in die Kälte aufbrechen, mahnt Nicolaus: „Es ist kein Wettbewerb!“

Und gut für sie, wenn es ihnen hilft. Es muss nicht attraktiv sein, sofern sie damit mit dem Leben besser zurechtkommen. Wobei das wahrscheinlich auch eine Typsache ist. Die einen wollen sprechen, die anderen suchen Lösungen.

Der 31-Jährige ist Gründer des Start-ups „Hot Boys Cry“. Die Eigenbezeichnung klingt ambitioniert: „Eine Bewegung, die moderne Männlichkeit neu definiert“. Das Motto: „Vulnerabilität ist hot“. Hier sollen gesellschaftliche Tabus rund um männliche Emotionen aufgebrochen, Männer an ihre Emotionalität herangeführt und ein Raum geschaffen werden, in dem sie über ihre Gefühle sprechen können.

Wie gesagt: Wenn das jemanden hilft und für ihn das richtige ist, wenn er vielleicht ein Gruppengefühl erlebt, welches im einen neuen Sinn gibt, dann ist das doch wunderbar.

Ich glaube nicht, dass man Männlichkeit damit neu definiert. Und das „Hot“ Label wird da den meisten Männern auch nicht überzeugend vorkommen.

Communityfeeling durch Yoga und Eisbaden

Aufgebaut werden soll die Community „nicht toxischer Männer“ durch gemeinsame Events, sogenannte Cry Sessions: Coffee Raves, Breathwork-Sessions, Joggen, Eisbaden, Yoga oder Pilates. Auch geführte Hypnosen, stille Waldspaziergänge und Paneltalks mit Psychotherapeuten über Männer und Emotionen gehören dazu. Und die Kommerzialisierung von Selbstreflexion und Gemeinschaft zieht: Auf Instagram hat das Berliner Start-up 46.000 Follower. Inzwischen finden auch Events in Amsterdam, Antwerpen und München statt. Organisiert werden sie in Whatsapp-Gruppen.

Das man dann immer gleich andere Formen von Mann Sein abwerten muss, als toxisch, finde ich schade.

Auf einem Regal am Eingang des Pop-up-Stores in Prenzlauer Berg liegen Feuerzeuge, Socken, Notizblöcke und Taschentücher mit der Aufschrift „Hot Boys Cry“. Daneben: Eine scharfe Hot-Sauce, die die „ganz toughen Alpha-Männer, die keine Gefühle zeigen dürfen“, zum Weinen bringen soll. An den Wänden hängen Fotos weinender Männer und Zettel mit Botschaften, wie: „Das Stärkste, was ein Mann tun kann, ist zu sagen, wenn es ihm nicht gut geht.“

Wenn wir über Depression reden finde ich es gut, wenn alle Optionen ausgenutzt werden.

Ich muss sagen: Für mich wäre ein „Heulgruppe“ nichts, aber ich bin auch nicht depressiv. Was nicht bedeutet, dass ich nicht auch mal trübsinnig und unzufrieden bin oder das Gefühl habe überlastet zu sein etc. Das alles kenne ich gut. Es würde mir nur nichts bringen, dann unbedingt zu weinen.

Auf einer Kleiderstange gegenüber hängt die „emotional Streetwear“: „Hot Boys Cry“-Pullis, -Shirts und -Taschen. Shirts kosten 45 Euro, Pullover bis zu 120 Euro. „Die Mode soll ein Gesprächsstarter und ein niedrigschwelliger Einstieg sein“, erklärt Nicolaus. Mit den Erlösen finanziert er unter anderem die Aktivitäten, die größtenteils kostenlos sind.

Ich habe mal einen Beitrag aus Instragram rausgegriffen damit man mal ein Beispiel hat

Bei einem hippen sportlichen Modeltyp könnte das T-Shirt gar nicht so schlecht sein in den passenden linken Zirkeln. Eine gewisse neugierig machende Botschaft die evtl gerade durch den Widerspruch zum Stereotyp ein Costly Signal wäre oder jedenfalls cool.

Interessanterweise haben sie auf der Seite eben gerade keine depressiven unattraktiven Männer, die die Shirts anhaben. Wenn insofern „Hot Boys“ tatsächlich Programm ist…

Nach rund 40 Minuten kehren die Männer von ihrer Laufrunde zurück. Sie atmen schwer, ihre Hauchwolken hängen in der kalten Morgenluft. Drinnen wartet dampfender Kaffee auf sie.

Anders als bei Anbietern, wie Urban Sports, die sinnbildlich für die Individualisierung der Großstädter stehen, kommen hier Menschen beim Sport miteinander ins Gespräch. Die Events sind kostenlos und erlauben Männern über ihre Gefühle zu sprechen. Eigentlich gibt es wenig auszusetzen – und trotzdem: Warum braucht es in einer von Boys Clubs geprägten Welt einen weiteren, der Männer in Horden vereint? Warum müssen Männer wieder in den Wald gehen, Eisbaden und scharfe Soßen essen?

War ja klar, dass das irgendwie als Raumeinnahme gewertet werden wird. Männer die Tränen und Heißsein für sich reklamieren dringen ja quasi auch in klassisch weiblich besetzte Motive ein. Und dann auch noch als „Horde“ und in der Öffentlichkeit.

Männer können jammernd beklagen wie toxisch sie sind und ewige Besserung gegenüber der Frau als Ally geloben, aber sie können als Gruppe nicht positiv besetzt sein. Schon gar nicht mit eigenen Problemen.

Vorwurf der Performativität

Als Mann kann man es eben nie recht machen. Da heulen sie und stellen sich gegen toxische Männlichkeit, dass kann eben auch nur performativ sein, erst recht, wenn man dann noch meint, dass man „Hot“ sei. Und noch schlimmer wenn man es dann auch noch tatsächlich wäre.

Und tatsächlich wirkt es oft so, als sei ein Ziel von „Hot Boys Cry“, Frauen zu imponieren. Auf Instagram heißt es etwa: „95 Prozent der Frauen wollen Männer, die sich öffnen“ oder „Hot Girls lieben softe Männer“. Weder ist es feministisch aus cis-männlicher Perspektive von „Hot Girls“ zu sprechen noch sollte die Selbstreflexion dazu dienen, Frauen rumzukriegen

Sehr richtig. Der Ally dient stumm und darf insbesondere keine Kekse erwarten. Er muss sich nicht an Frauen wenden (die haben schon genug zu tun) sondern an andere Männer und denen ihre Schlechtigkeit vorhalten.

Eine Gruppe von Männern, die meint, dass sie gut bei Frauen ankommen ist per se schlecht.

Gründer Nicolaus stellt klar: „Mit ‚hot‘ ist nicht Aussehen gemeint, sondern die Arbeit an sich selbst – in Kontakt mit den eigenen Gefühlen zu sein, Verletzlichkeit zuzulassen, offen und tolerant zu sein.“ Anfangs seien die Gruppen zudem gemischtgeschlechtlich gewesen. Doch viele Männer hätten ihm zurückgemeldet, dass sie sich reine Männerevents wünschten, weil sie sich dort sicherer fühlten, sich zu öffnen.

Da macht er es sich etwas einfach. So einfach kann er sich nicht rausreden.
Und dazu noch „die Männer fühlten sich sicherer ohne Frauen“. Was soll das denn bedeuten? Männer sind doch wohl die Gefahr für Frauen und nicht umgekehrt.

Ein weiterer bisweilen auf Instagram geäußerter Kritikpunkt lautet, dass es bei „Hot Boys Cry“ primär um selbstzentrierte Optimierung von Emotionen gehe – eine Art neoliberale Selbstreflexion. Echte feministische Solidarität und profeministische Männerarbeit hingegen bedeute, die eigenen patriarchalen Verstrickungen zu erkennen und Frauen im Alltag zu unterstützen – beim Putzen, Kochen, in der Kinderbetreuung, durch Fürsorge und Ko-Regulation.

Sage ich ja!

 

Nicolaus räumt ein: „Wir können da noch einen besseren Job machen.“ Geplant seien etwa Aufklärungsworkshops mit der feministischen Laufgruppe „Outrun the Patriarchy“. Außerdem sei es das Ziel, mehr Männer außerhalb einer urbanen Bubble zu erreichen, die sich ohnehin kritisch mit ihrer Männlichkeit auseinandersetzt.

Gleichzeitig findet er: „Es ist schwierig, den richtigen Mittelweg zu finden zwischen zu therapeutisch und zu oberflächlich.“ Kritik erhalte er von allen Seiten. Während Linke ihm Performativität vorwerfen, kommentieren Rechte unter seinen Posts: „2–3 Jahre Dagestan.“ Dabei handelt es sich um einen queerfeindlichen Trend, der ein toxisches Männlichkeitsbild glorifiziert. Dagestan – eine autonome Republik im russischen Nordkaukasus – gilt als Hochburg des Mixed Martial Arts. Der Kommentar meint, jemand solle dorthin geschickt werden, um Disziplin, Härte und Gewalt zu lernen.

Immerhin liegen beide nicht falsch – Sport ist ein sehr gutes Mittel gegen Depression, wenn ich es richtig in Erinnerung habe.

„Ich versuche noch herauszufinden, wie man am besten die Brücke schlägt“, sagt Nicolaus. Sein bisheriges Konzept: Joggen und Kaffeeklatsch als Einstiegsaktivität, damit Männer sich in der Gruppe wohlfühlen, bevor sie an Sessions wie Breathwork, Sound-Healing oder Hypnose teilnehmen.

Und tatsächlich scheint so eine Community zu entstehen: Ein Teilnehmer, der aus Honduras nach Berlin gezogen ist, zeigt sich dankbar für die Gruppe: „Das Leben kann in einer Großstadt sehr einsam sein“, sagt er. Hier wisse er, dass er über alles sprechen könne, was ihm auf dem Herzen liegt. Ein anderer Teilnehmer, der selbst eine Männergruppe leitet, ist ebenso begeistert von der Community. Beim Joggen seien sie sofort tief ins Gespräch eingestiegen, über Themen wie die Vaterschaft mit Bonuskindern, die nicht biologisch eigene Kinder sind.

Auch interessant, dass so etwas so politisiert werden kann. Wenn sich Männer zusammenfinden um über ihre Gefühle und Probleme zu reden sollte es eigentlich aus Sicht des Feminismus gut sein. Aber dort herrscht eben die Ansicht vor, dass der gute Ally Probleme von Frauen durch Männer angehen soll, indem er auf andere Männer einwirkt. Und nicht etwa Probleme darin sehen sehen, dass eine Frau bereits Kinder hat und er die Rolle des Vaters in der Beziehung übernimmt.

Zum Abschied posieren die frisch gebackenen Freunde für ein gemeinsames Gruppenfoto auf der verschneiten Straße. Sie rufen: „Hot Boys Cry!“

Der Slogan trägt sicherlich zur Polarisierung bei

„Kriterien, die ich in letzter Zeit von mehreren Klienten einer Partnervermittlung gehört habe: keine wohlhabenden Ex-Freunde.“

Ein „Matchmakerin“ für Männer, also jemand der für Männer Partnerinnen sucht schrieb auf Twitter:

Criteria I’ve heard from multiple matchmaking clients recently: no rich ex-boyfriends. Guys explain it like:
– I want to introduce her to the good life
– I don’t want to hear comparisons (e.g. „oh, my last boyfriend had a home at the Yellowstone Club too…“)
I get it. Who wants to feel like a re-run?!

Oder übersetzt:

Kriterien, die ich in letzter Zeit von mehreren Klienten einer Partnervermittlung gehört habe: keine wohlhabenden Ex-Freunde.

Die Männer erklären es so:
– Ich möchte sie in das gute Leben einführen.
– Ich will keine Vergleiche hören (z. B. „Oh, mein letzter Freund hatte auch ein Haus im Yellowstone Club …“).

Ich verstehe es. Wer will sich schon wie eine Wiederholung fühlen?!

Einerseits leuchtet das ein: Es ist ja klassische intrasexuelle Konkurrenz. Der Millionär hat Angst vor dem Milliardär und fühlt sich ihm unterlegen.

Und gerade wer meint, dass er mit seinem Reichtum für Frauen interessant wird wird am liebsten eine haben wollen, die eben nicht die Nase rümpft, weil die Yacht zu klein ist im Vergleich zu der auf der sie vorher war.

Klingt aber auch allgemein nach einem sehr gefährlichen Suchschema. Man will ja quasi Golddigger, aber eben gerade solche, denen man reich genug ist.

Weswegen man eigentlich zwangsläufig Abstriche machen muss: Idealerweise nimmt man eine Frau, die einem noch reicheren nicht hübsch genug wäre oder aber eine die meint, dass man im Verhältnis zu den Faktoren Reichtum etc (er) und Schönheit etc (sie) einigermaßen gleichwertig ist und darauf setzt, dass auch er ein langfristiges Interesse hat.

Das ist das alte Dilemma schöner Frauen und reicher Männer: Beide müssen befürchten, dass sie nur wegen dieser jeweiligen Faktoren interessant sind und insoweit evtl austauschbar.

Es ist ja nicht umsonst eine männliche Fantasie, dass man als Prinz untertaucht und eine Frau findet, die einen als „Nichtprinz“ kennenlernt und liebt. Und man ist dann aber Prinz, so dass man auf jeden Fall ihrer würdig ist.

In der Hinsicht ist „keine reichen anderen Männer vorher“ ein gewisses Armutszeugnis, wenn auch verständlich.
Idealerweise sollte sie sich in reichen Kreisen bewegt haben (zB weil ihre Eltern reich sind) und einen trotzdem wollen?
Oder sie sollte selbst eine gewisse Position haben, so dass sie nicht nur an dem sozialen Aufstieg interessiert ist?

Der Ansatz, dass sie sich in das Leben verliebt, dass sie durch einen hat (und nicht in die Person) scheint mir gefährlich zu sein

Selbermach Mittwoch

Bitte Kommentare bündeln, wenn sie nur aus einzelnen Tweets und kurzem Kommentar bestehen und man sehr viele davon plant.

Zwischen einem Kommentar, der nur einen Link oder einen Tweet ohne Besprechung des dort gesagten enthält, sollten mindestens 5 Kommentare anderer liegen, damit noch eine Diskussion erfolgen kann.

Dark Romance und „die anregendste Szene, die du je gelesen hast“ (ab 18)

Meine neue Faszination sind ja Dark Romance Bücher, insbesondere begründet durch „Morning Glory Milking Farm“, ein Buch das ich bereits gelesen habe, ich hoffe noch zu einer Besprechung zu kommen.

Gerade wurde auf Reddit in dem „Dark Romance“ Subreddit ein interessanter Artikel aufgemacht, der „the most pussy throbbing scene you’ve ever read?“ lautetet (ChatGPT schlägt als Übersetzung: „Die am meisten die Muschi zum Pochen bringende Szene, die du je gelesen hast?“ vor).

Die dort zitierte Szene stammt aus diesem Buch: Love & Lies Under the Mistletoe

Zum Inhalt:

Only one person can save Christmas this year, and it’s not Santa.
It’s my ex.

Christmas is never fun in my house. My family might be billionaires, but we’re living proof that money doesn’t buy happiness.
This year, though…this year really takes the cake.
I didn’t expect my father to ruin Christmas altogether. I didn’t think I was going to leave dinner early with the dire need to run back to college…and I surely didn’t expect the only person who would make it all better would be my ex.
He calls drunk, but I don’t want to talk to him.
So he shows up at my house in the middle of the night. And he reminds me exactly why I never moved on from him.

Santa doesn’t save Christmas.
But Daddy surely does.

Die Szene selbst wird bei Reddit wie folgt angekündigt:

heir first scene is everything to me. this entire book is everything to me. i’m not ashamed to say i’ve read this book about 10 times in a couple of months. also love how he does aftercare.

Die Szene:

Feeling overwhelmed by the sensations, I relax my legs. But he keeps going, his tongue stroking me without stopping. “Chris,” I whimper. “Too much.” When I try to pull away, he grips my thighs pushing me against his face harshly. “The first one was for you,” he growls. “The second one is for me.”

“Daddy is going to fuck you until you remember why he’s the one who owns you.”

“Don’t waste your time calling for him. God doesn’t answer little whores. Only I do.”

“Take Daddy like the good girl I know you can be, and I promise I’ll reward you for it.”

“I’m going to push my dick inside this pretty cunt of yours so many times you’ll still feel me when you try to get over me with someone else.”

“Make sure you tell me how much you hate me again when you come all over my dick, baby.”

ladies and ladies, christopher daddy murray.

Mit fällt bei diesen Romanen immer auf, dass der Mann dort das absolut Blödeste sagen kann, solange es von einer Position der Dominanz kommt und der Text dann so weiter geht, dass sie es großartig findet.

Wir haben viele patriarchale Elemente:

  • Sie sagt es ist ihr zuviel, er macht trotzdem weiter, noch dazu mit der ausdrücklichen Ankündigung, dass er jetzt was für sich macht (wenn auch sie zum Orgasmus bringen)
  • Er sagt „er besitzt sie“ schrecklich, Frauen als Objekt
  • Er beleidigt sie als Hure
  • Er stellt sich als Preis da, den sie nicht wert ist und den sie letztendlich auch nicht erhalten wird

Wäre es ein Dialog in einem „Normalen Porno“ würden Frauen sich darüber lustig machen. So ist es „the most pussy throbbing scene you’ve ever read“ (zumindest für die Erstellerin des Beitrags).

 

Der Epstein in Marc Röhlig

Marc Röhlig schreibt im Spiegel:

Die Epstein-Files machen mich wütend. Nicht nur das, was dort zu lesen ist. Die Mailwechsel und vielfach dokumentierten Hinweise auf Missbrauch sind abscheulich, ohne Frage. Aber der Umgang mit den Files – gerade von uns Männern – macht mich genauso fassungslos.

Seit bald zwei Wochen sind diese Dokumente einsehbar , für jedermann. Sie werden durchforstet, analysiert, kommentiert, mit einer sensationsgierigen Akribie, mit ehrlichem Schauer. Fast niemand, der keine Meinung hat. Fast niemand, der sich nicht schockiert zeigt. Fast niemand, der das »System Epstein« nicht verurteilt.
Das »System Epstein« ist das »System Mann«
Aber genügt das? Ist es nur das »System Epstein«, um das es hier geht – oder nicht eher ein »System Mann«?
Vielleicht sollte Mann nicht nur über Epstein reden – sondern auch über den Epstein in uns!

Wer meint, dass er einen Epstein in sich hat, der sollte in der Tat darüber reden. Aber die allermeisten Männer finden präpubertäre Mädchen sexuell vollkommen uninteressant und stehen auf volljährige Frauen. Sie wollen keine Frauen umbringen oder vergewaltigen

Und warum überhaupt nur die Männer? Steckt nicht auch eine kleine Ghislaine Maxwell in vielen Frauen? Oder eine Sarah Kellen (Früher als Assistentin Epsteins tätig
Von mehreren Opfern beschuldigt, Mädchen angeworben und Termine koordiniert zu haben), Lesley Groff oder Adriana Ross. Und wie viele Frauen hatten Ahnung davon, was da passiert ist und haben ebenfalls nichts gesagt?

(…)

Klar, diesen Epstein tragen wir nicht automatisch in uns. Die wenigsten Männer vergewaltigen Minderjährige, reichen Mädchen an ihre Kumpel weiter, betätigen sich als Zuhälter. Not all men , dieser Satz hat eine Richtigkeit.

„Die wenigsten … not all men“. Beides in der Tat fast das gleiche.

Aber bei Epsteins System geht es weiter. Wer die Mails liest, mit denen sich Epstein und seine Freunde aus Politik, Wirtschaft und Wissenschaft über Mädchen, Models und mögliche Sexpartys austauschten, liest Abwertungen von Frauen in fast jeder Zeile. Es sind Sprüche aus einer Überlegenheit, die kein Gefühl und kein Gespür für das Gegenüber erahnen lassen.
(…)

Wenn man den Spiegel liest, dann liest man Abwertungen von Männern in sehr vielen Zeilen.

Und das trägst du mit lieber Marc. Du findest es sogar gut. Du möchtest selbst solche Artikel schreiben und dich in die Reihe der Männerhasser einreihen (mit dem Unterschied, dass du einer von den Guten Männern bist, und nicht einer von den schlechten normalen Männern über die du dich erhebst)

In vielen Betrachtungen zum Fall Epstein geht es bisher um Macht : Mächtige Männer hätten da agiert, die sich mit Geld und Einfluss gegenseitig stärken und schützen. Diese Freakshow nun offenzulegen, ist wichtig, aber nur ein Teil der Wahrheit.
Denn man muss nicht reich sein, um ein Arschloch zu sein.
Misogynie braucht keine Macht. Oder zumindest kein Geld. Macht kommt auch ohne Privatjet oder Luxusinsel aus. Männer würdigen Frauen herab, wenn sie sie unterbrechen, wenn sie ihnen gleiche Löhne vorenthalten, wenn sie ihre eigenen Karrieren darauf gründen, dass sich schon eine Frau um Haushalt, Kinder oder zu pflegende Eltern kümmern wird. Oder wenn sie Missbrauchsopfern eine Teilschuld geben. Und sei es durch nicht ausgesprochene Gedanken wie: Wer sich so aufreizend anzieht, darf sich nicht über ungewollte Berührungen wundern.

Der übliche feministische Umschwung: Du vergewaltigst zwar keine Frauen, aber du würdigst ja auch irgendwie Frauen herab und damit bist du schon ein kleiner Epstein.
Eigentlich ja eine widerliche Gleichsetzung.

Dazu noch mit dem Gender Pay Gap begründet, der quasi fast vollständig zu bereinigen ist und dessen evtl verbleibende Differenz keine Diskriminierung belegt 

Und wiederum lässt er auch die Frauen außen vor: Es ist ja nicht so, dass sie ihre Zielvorstellungen einer Ehe nicht umsetzen, die meist so aussieht, dass der Mann Vollzeit arbeitet und sie nur Teilzeit und sie sich dann um die Kinder kümmern dürfen.

„Mißbrauchsopfern eine Teilschuld geben“ ist auch wunderbar vage. Aber auch das ist keine rein männliche Sache. Frauen hassen „Schlampen“ (wenn sie nicht selbst welche sind) und würden ihnen natürlich auch Schuld geben, wenn etwas passiert. Und sie würden ebenso anderen Frauen Leichsinnigkeit vorhalten etc.

Aber warum an sich selbst arbeiten, warum ein besserer Mann werden, wenn es doch so bequem ist, lieber auf die noch schlimmeren Männer zu zeigen?

Weil sie eben deutlich, deutlich, deutlich schlimmer sind und in keiner Weise damit zu vergleichen. Und weil Gruppenschuld eine miese Sache ist.

Epstein kommt da wie gerufen. Ein »Monster« halt, es fällt leicht, sich als »guter Mann« von Typen wie Woody Allen, Donald Trump oder Bill Clinton zu distanzieren. Aber dann in der Umkleide vor den Jungs mit einem Blondinenwitz Lacher einheimsen?

Ein Blondinenwitz kann großartig sein. Wie auch ein Witz über Männer. Aus dem einem folgt das andere nicht.

Thalia Theater: Prozess gegen Deutschland

Und die KI-Zusammenfassung:

„Prozess gegen Deutschland“ ist kein klassisches Theaterstück mit Schauspielern und fiktiver Handlung, sondern ein theatrales Untersuchungs- und Diskursformat von Milo Rau, das vom 13.–15. Februar 2026 im Hamburger Thalia Theater (im Rahmen der Lessingtage) aufgeführt wurde.Grundidee & Aufbau

  • Die Bühne wird zum Gerichtssaal umgestaltet (mit Richtertisch, Zeugenstand, Videoleinwänden etc.).
  • Es gibt keine Schauspieler und keinen auswendig gelernten Text.
  • Stattdessen treten echte Personen auf: Jurist:innen, Expert:innen, Politiker:innen, Journalist:innen, Aktivist:innen und „normale“ Bürger:innen.
  • Das Ganze ist als fiktives Gerichtsverfahren strukturiert, das aber sehr nah an realen juristischen Abläufen orientiert ist.

Zentrale Anklagepunkte (Hauptthemen)Die Verhandlung dreht sich vor allem um die Frage:

Ist die AfD eine verfassungsfeindliche Partei, die „aggressiv-kämpferisch“ gegen die freiheitlich-demokratische Grundordnung vorgeht – und erfüllen die Voraussetzungen für ein Parteiverbot nach Art. 21 Abs. 2 GG?

Weitere diskutierte Nebenfragen (in separaten „Fällen“):

  • Verherrlicht die AfD Gewalt?
  • Sind rechtsextreme und faschistoide Positionen in der Partei systemisch?
  • Rassismus, Hass und Gewalt gegen Minderheiten
  • (Teilweise auch:) Verantwortung von Tech-Konzernen / Social-Media-Regulierung (z. B. Verbot für unter 16-Jährige)

Wichtigste Rollen (real existierende Personen)

  • Vorsitzende Richterin: Herta Däubler-Gmelin (ehem. Bundesjustizministerin)
  • Anklage / Staatsanwaltschaft: u. a. Gabriele Heinecke (bekannte linke Anwältin)
  • Verteidigung: u. a. Personen aus dem konservativen/rechten Spektrum
  • Zeug:innen / Sachverständige (Auswahl): Frauke Petry (ex-AfD), Joanna Cotar, Harald Martenstein, Carsten Brosda (Kultursenator Hamburg), Correctiv-Journalist:innen, AfD-nahe Influencer, Susan Neiman, Michel Abdollahi u.v.m.
  • Geschworenenjury: 7 normale Hamburger Bürger:innen (repräsentativ ausgelost)

Ablauf (sehr grob)

  1. Eröffnungsplädoyers (Anklage + Verteidigung)
  2. Zeugenverhöre & Befragungen (über mehrere Tage)
  3. Plädoyers / Schlussreden
  4. Beratung & Urteilsverkündung durch die Jury (am Sonntagabend, 15. Feb. 2026)

Urteil der Jury (fiktiv, aber symbolisch sehr beachtet)

  • 5:2-StimmenJa zur Prüfung eines Verbotsverfahrens vor dem Bundesverfassungsgericht
  • Zusätzlich: Mehrheit für Ausschluss von staatlicher Parteienfinanzierung
  • Keine Mehrheit für ein sofortiges Verbot (also differenziertes, kein klares „Verbot jetzt!“)

Charakter des AbendsViele Besucher und Kritiker beschreiben es als nüchtern-sachlich, stellenweise spröde, aber inhaltlich extrem spannend und emotional aufwühlend – weil reale politische Konflikte der Jahre 2024–2026 fast unvermittelt aufeinandertreffen.Kurz gesagt: Es war der Versuch, die hochbrisante Verbotsdebatte aus den Talkshows und Zeitungsspalten herauszuholen und sie in einem quasi-juristischen, aber künstlerisch gerahmten Setting durchzuspielen – mit echten Konsequenzen für die Argumentationskultur, aber ohne reale Rechtskraft.

Hier eine Zusammenfassung der wichtigsten Redebeiträge (Eröffnungsreden, Plädoyers, Zeugenaussagen und Schlussplädoyers) aus dem „Prozess gegen Deutschland“ (Thalia Theater, 13.–15. Februar 2026), basierend auf Berichten, Livestream-Ausschnitten und publizierten Texten. Da es sich um ein dreitägiges Format mit Dutzenden Beiträgen handelte, beschränke ich mich auf die prominentesten und am meisten diskutierten Positionen.Eröffnung & Auftaktplädoyers (Freitagabend)

  • Milo Rau (Regisseur/Idee): Eröffnete mit der Kernfrage, ob die Demokratie „Stück für Stück zerpflückt“ werden dürfe. Er betonte, dass der Prozess nicht nur gegen die AfD, sondern gegen ein gesellschaftliches Klima richte, in dem rechter Hass, Hetze und Gewalt gedeihen. Die AfD stehe dabei an vorderster Front.
  • Gabriele Heinecke (Anklage / Staatsanwaltschaft): Plädierte klar für ein Verbot. „Ein Verbot der AfD ist geboten und möglich. Das Verfahren muss durchgeführt werden, ehe es zu spät ist.“ Sie argumentierte mit aggressiv-kämpferischem Verhalten gegen die freiheitlich-demokratische Grundordnung (Art. 21 GG), Verherrlichung von Gewalt und systemischem Rassismus.
  • Liane Bednarz (Verteidigung): Betonte die hohen Hürden eines Verbots und warnte vor Missbrauch des Instruments gegen politische Gegner.
  • Carsten Brosda (Hamburger Kultursenator, Eröffnungsrede): Hoffte, der Prozess helfe, die Schutzwürdigkeit der Demokratie neu zu verankern und die Gesellschaft zu sensibilisieren.

Wichtige Zeugenaussagen / Sachverständigen-Beiträge (Samstag & Sonntag)

  • Frauke Petry (ehem. AfD-Co-Vorsitzende): Verteidigte die Partei als demokratische Kraft, die Kritik an Migration und Islam äußere. Sie distanzierte sich teilweise von späteren Entwicklungen (z. B. völkisch-nationalistische Strömungen), betonte aber, die AfD sei keine Bedrohung für die Verfassung.
  • Harald Martenstein (Publizist/Kolumnist): Sein Plädoyer gegen ein Verbot ging viral. Kern: Ein AfD-Verbot wäre „das Ende der Demokratie“, da man mit der Begründung, man verteidige die Demokratie, diese gerade abschaffe. Der „Kampf gegen rechts“ sei eigentlich ein Kampf gegen die Demokratie selbst – Verbote schaffen Präzedenzfälle für Zensur und Ausschluss missliebiger Meinungen.
  • Correctiv-Journalist (z. B. Jean Peters o. Ä.): Beschreibungen von Recherchen (z. B. Potsdam-Treffen), die zeigten, dass AfD-Funktionäre „Remigration“ (Vertreibung von Millionen Menschen) planten. Betonte systemische rechtsextreme und faschistoide Positionen in der Partei.
  • Susan Neiman (Philosophin): Argumentierte philosophisch gegen Rassismus und für den Schutz von Minderheiten; sah in der AfD eine Gefahr für die Menschenwürde.
  • Joana Cotar (AfD-Politikerin): Betonte, die Partei kämpfe für Freiheit und gegen Überwachung; ein Verbot wäre undemokratisch und würde Wähler entrechten.
  • Pauline Voss (stellv. NIUS-Chefredakteurin): Verteidigte konservative/rechte Positionen als legitim; kritisierte die Anklage als einseitig und „linkslastig“.
  • Michel Abdollahi (Moderator): Sprach über mediale Dynamiken und Hass im Netz; thematisierte auch Verantwortung von Plattformen.
  • Andere Zeugen (u. a. Andreas Kemper, Jason Stanley, Gilda Sahebi): Brachten Belege für rassistische Äußerungen, Verbindungen zu Neonazis und Gewaltverherrlichung; andere (z. B. konservative Historiker) warnten vor Überreaktion und Historisierung des Verbotsinstruments.

Schlussplädoyers & Urteilsverkündung (Sonntagabend)

  • Anklage (Heinecke u. a.): Abschließende Betonung, dass die AfD die Schwelle zu verfassungsfeindlichem Handeln überschritten habe – ein Verbot sei nicht nur möglich, sondern geboten, um die Demokratie zu schützen.
  • Verteidigung: Betonte Verhältnismäßigkeit, freie Meinungsäußerung und die Gefahr, dass ein Verbot die Polarisierung weiter antreibe.
  • Jury-Urteil (7 Hamburger Bürger:innen): Differenziert und knapp:
    • 5:2 dafür, dass ein Verbotsverfahren vor dem Bundesverfassungsgericht geprüft werden soll.
    • Mehrheit für Ausschluss von staatlicher Parteienfinanzierung.
    • Keine Mehrheit für ein sofortiges Verbot (also kein klares „Verbot jetzt“).

Der Prozess war bewusst ausgewogen gestaltet (rechte und linke Stimmen), blieb aber nüchtern-juristisch und emotional aufwühlend. Viele Beiträge sind in Ausschnitten auf YouTube (Thalia-Kanal) oder in Artikeln (NZZ, WELT, NDR) nachlesbar/nachhörbar.

Harald Martenstein (Publizist, Kolumnist bei WELT und BILD) hielt ein vielbeachtetes, virales Plädoyer gegen ein AfD-Verbot, das in den Medien (NZZ, Cicero, WELT, Junge Freiheit u. a.) als fulminant, polemisch und intellektuell scharf beschrieben wird. Es wurde als Schlusswort/Zeugenaussage präsentiert und löste im linksliberalen Publikum teils Betroffenheit, teils Buhrufe aus.Kernargumente (stark verdichtet)

  1. Ein Verbot wäre das Ende der Demokratie
    Ein Verbot einer Partei mit signifikanten Wähleranteilen (Millionen Stimmen) entziehe dem Staat seine demokratische Legitimation. Deutschland würde sich dadurch in ein autoritäres Regime verwandeln. Historisch sei genau diese Begründung („wir retten die Demokratie“) eine der beliebtesten bei denen gewesen, die die Demokratie anschließend abgeschafft haben.
  2. Mit der Verteidigung der Demokratie kann man sie abschaffen
    Der zentrale Satz, der viral ging: „Mit der Begründung, man verteidige die Demokratie, kann man die Demokratie auch abschaffen.“ Der „Kampf gegen rechts“ sei in Wahrheit ein Kampf gegen die Demokratie selbst, weil er demokratische Mechanismen (Wahl, freie Meinungsäußerung, Opposition) außer Kraft setze.
  3. Populismus ist kein Schimpfwort
    Das abwertend gebrauchte Wort „Populismus“ suggeriere fälschlich, es sei ein Fehler, beim Regieren auf die Zustimmung der Bevölkerung zu achten. Demokratie bedeute aber gerade, dass Mehrheiten entscheiden – auch wenn einem die Mehrheit inhaltlich nicht gefalle.
  4. Begriffliche Differenzierung nötig
    Man müsse klar unterscheiden zwischen

    • „rechts“ (legitime konservative Positionen)
    • „rechtsradikal“ oder verfassungsfeindlich (z. B. Beseitigung der Meinungsfreiheit, Entzug von Grundrechten für Teile der Bevölkerung).
      Nur Letzteres rechtfertige staatliche Maßnahmen – ein pauschales Parteiverbot sei unverhältnismäßig und gefährlich.
  5. Warnung vor Präzedenz und Intoleranz
    Ein solches Verbot schaffe einen gefährlichen Präzedenzfall: Wer heute die AfD verbiete, könne morgen jede andere unliebsame Kraft ausschließen. Demokratie heiße aushalten, Widerspruch zulassen – auch wenn er schmerzhaft sei. Der Schauprozess selbst zeige bereits, wie intolerant Teile der Gesellschaft mit abweichenden Positionen umgingen.

Wirkung & RezeptionDie Rede wurde in konservativen/rechten Medien als „Jahrhundert-Rede“ oder „Hammer-Rede“ gefeiert und erreichte Millionen Aufrufe (YouTube-Ausschnitte, Social Media). Kritiker warfen Martenstein vor, rechte Talking Points zu bedienen und die reale Gefahr der AfD zu verharmlosen. Im Saal herrschte teils angespannte Stille oder offene Ablehnung – was Martenstein als Beleg für seine These nutzte: Wer Toleranz predige, müsse sie auch praktizieren.Die Rede ist in voller Länge (oder langen Auszügen) bei NZZ, WELT, Cicero und auf YouTube (Thalia-Kanal oder Mitschnitte) nachzulesen/nachzuhören. Sie gilt als einer der emotionalsten und argumentativ schärfsten Beiträge des gesamten dreitägigen Formats.

Die offizielle Teilnehmerliste des „Prozess gegen Deutschland“ (Thalia Theater, 13.–15. Februar 2026) umfasst neben den bereits genannten Andreas Kemper (Rechtsextremismus-Forscher, oft als Kritiker der AfD), Jason Stanley (Philosoph, Autor von „How Fascism Works“) und Gilda Sahebi (Journalistin, Expertin für Rassismus und Rechtsextremismus) noch zahlreiche weitere Zeug:innen, Sachverständige, Auskunftspersonen und Expert:innen. Diese wurden als reale Personen geladen, um Argumente für und gegen ein AfD-Verbot, Rechtsextremismus, Rassismus und verwandte Themen beizutragen.Hier die wichtigsten weiteren prominenten Namen aus der offiziellen Thalia-Liste und Berichten (Auswahl, nicht vollständig, da es über 30 Beteiligte gab):

  • Frauke Petry (ehem. AfD-Co-Vorsitzende)
  • Joana Cotar (ehem. AfD-Bundestagsabgeordnete, jetzt parteilos)
  • Harald Martenstein (Publizist/Kolumnist)
  • Pauline Voss (stellv. NIUS-Chefredakteurin)
  • Eric Ahrens aka Andrew Y. (AfD-naher Influencer/Aktivist)
  • Susan Neiman (Philosophin, Einstein Forum)
  • Andreas Rödder (Historiker)
  • Valentin Schwarz (Regisseur/Opernregisseur)
  • Volker Weiß (Historiker/Rechtsextremismus-Forscher)
  • Jean Peters (Correctiv-Journalist)
  • Michel Abdollahi (Moderator/Journalist)
  • Carsten Brosda (Hamburger Kultursenator)
  • Peter Hoeres (Historiker)
  • Ingo Hasselbach (ehem. Neonazi, Aussteiger)
  • Robert Farle (Jurist/Rechtswissenschaftler)
  • Kathrin Groh (Juristin)
  • Feroz Khan (nicht näher spezifiziert in Berichten, mögl. Aktivist)
  • Aaron Korn / Jens Lehrich / Rainer Mülhoff (verschiedene Expertenpositionen)

Zusätzlich gab es Beiträge von Correctiv-Vertretern (z. B. zu Recherchen wie Potsdam-Treffen) und anderen Journalist:innen/Aktivist:innen. Einige vorgesehene Namen (z. B. Maximilian Krah, Benedikt Kaiser, Ellen Kositza) wurden in Berichten erwähnt, aber nicht alle traten letztlich auf oder wurden abgesagt.Die Auswahl war bewusst breit und ausbalanciert (rechts/konservativ vs. links/antifaschistisch), um echte Debatten zu provozieren. Die vollständige Liste findet sich auf der Thalia-Theater-Website (Produktionsseite zum Stück).

Schuldzuweisungen in der Eheberatung

Diesen Tweet einer Frau, die Familiencoachings durchführt, fand ich ganz interessant:

Without fail, every single time I’ve coached couples and been honest with the wife in the relationship, the first reaction isn’t change, questions, or conversation…
The immediate reaction is to villainize me.

Only women do this.

Tell a man the truth? He fixes it. Women’s world? The enemy is whoever tells them the truth.

Women want the lie, and they feed off the lie.

This is why real change won’t happen when men defer their authority to counselors, coaches, or therapists.

Because it tells a woman: “I’m deferring my authority to someone else because I’m not strong enough to set boundaries with my wife.” Guys, you cannot have someone else change a woman’s mind.

Change can only come from you. Women have to be incentivized for good behavior, and it starts with removing incentives for bad behavior. That means taking away resources and your attention for bad behavior. If she doesn’t get on board, walking away is the hard truth many men refuse to face.

Most men stay in bad marriages because they simp and pedestalize, using pastors, therapists, or doctors to defer their authority and pacify, delaying the inevitable: long-term divorce. In the end, you tolerate bad behavior by not setting limits in your own relationship.

Eine sehr generelle Aussage, was allein schon zu einer gewissen Skeptik einlädt. Es wird auch genug Männer geben, die Fehler nicht einsehen können und die ggfs auch eine erhebliche Schuld tragen.

Aber der Mechanismus, dass Kritik schnell als Schuldzuweisung und dann als Ungerecht angesehen wird da könnte ich mir schon eher vorstellen, dass er eher bei Frauen vorkommt. („Jetzt fallen die beide über mich her“ „die hat mir gar nicht zugehört und war nur auf seiner Seite“)

Ìch bin ja nach wie vor auch sehr skeptisch was so ein Ehecounseling oder eine Eheberatung bringt. Wenn beide einen guten Willen haben, dann sollten sie es auch so hinbekommen. Wenn nicht hilft auch das Counseling wahrscheinlich wenig.

 

Mal wieder: Paritätsgesetze mit einer Mindestanzahl weiblicher Abgeordneter

Anscheinend will die SPD mal wieder ein Paritätsgesetz:

CSU-Landesgruppenchef Alexander Hoffmann hat Forderungen aus der SPD, über eine Reform des Wahlrechts Geschlechterparität im Bundestag herzustellen, eine Absage erteilt. „Ich bezweifle, dass Parität verfassungsrechtlich realisierbar ist“, sagte Hoffmann den Zeitungen der Mediengruppe Bayern. Selbst wenn man das ins Grundgesetz schreiben würde, stelle sie einen zu hohen Eingriff in die Organisationsfreiheit der Parteien und in die Wahlfreiheit der Bürger dar.
Hoffmann ist Mitglied der Wahlrechtskommission der Koalition. Er sieht auch keine Mehrheit für eine Grundgesetzänderung, da dafür Stimmen von AfD und Linken nötig wären. Der CSU-Politiker fordert die SPD auf, bei den bisherigen Vorhaben zu bleiben. „Wir sollten uns auf das konzentrieren, was wir den Menschen versprochen haben und was im Koalitionsvertrag vereinbart ist: Wir wollen das verkorkste Ampel-Wahlrecht abschaffen. Kandidaten, die in ihrem Wahlkreis gewonnen haben, müssen auch sicher in den Bundestag einziehen. Alles andere ist für den Wähler nicht nachvollziehbar“, sagte Hoffmann den Zeitungen der Mediengruppe Bayern.

Ich bin auch der Meinung, dass man – jedenfalls mit Richtern, die das rein rechtlich und nicht ideologisch prüfen – ein Paritätsrecht ohne Verfassungsänderung nicht hinbekommt (und selbst dann könnte man noch bedenken haben).

SPD bekräftigt Wunsch nach mehr Frauen im Bundestag

Parlamentarischer Geschäftsführer Johannes Fechner bekräftigte den Wunsch der SPD nach einer Reform, die auch mehr Frauen ins Parlament bringen soll. „Uns als SPD ist wichtig, dass es mehr Frauen im Bundestag gibt, jeder Wahlkreis vertreten ist und der Bundestag nicht größer werden sollte“, sagte Fechner (SPD), der auch Mitglied der Wahlrechtskommission ist, der Mediengruppe Bayern.

Das Argument, dass man gern mehr Frauen im Bundestag hätte ist ja wenig gehaltvoll: Frauen können reine Frauenparteien stellen oder die SPD kann sich selbst eine Quote geben. Wenn sie meint, dass mehr Frauen dem Willen der Wähler entspricht, dann werden sie damit ja sogar Vorteile haben. Trotzdem sind sie ja anscheinend zu dem Schritt nicht bereit.

Ich finde es immer wieder erstaunlich, dass man nur diesen Zwangsschritt sieht, keinen Schritt der darauf aufbaut, dass Frauen das selbst schaffen. Aber gut, klassische weibliche Unterverantwortlichkeit