Quellentrennung · Verständlich erklärt

Quellentrennung mit ICA verständlich erklärt

Mehrere Stimmen im Raum, mehrere Mikrofone: Jedes Mikrofon nimmt eine Mischung auf. Die Unabhängige Komponentenanalyse (ICA) gewinnt aus diesen Mischungen die einzelnen Stimmen zurück, ohne zu wissen, wo die Mikrofone stehen oder wie stark jede Stimme in jede Aufnahme eingeht. Das gelingt nur unter Voraussetzungen. Diese Seite erklärt zuerst ohne Formeln, wie die Trennung funktioniert und wo sie endet, und danach für Fachleute mit Modell, Formeln, Messwerten und Grenzen. Sie ist zugleich der Einstieg in die Seite „Quellentrennung“, auf der weitere Verfahren folgen, wenn die Annahmen der ICA nicht passen.

Zuletzt aktualisiert:

Teil 1 · Für Einsteiger

Ein Wort unbekannt? Das Begriffsverzeichnis erklärt es in wenigen Sätzen.

Mehrere Stimmen, mehrere Mikrofone

Stellen Sie sich einen Raum vor, in dem drei Personen gleichzeitig sprechen. An drei verschiedenen Stellen steht je ein Mikrofon. Jedes Mikrofon nimmt alle drei Stimmen auf, die nahe Person laut und die entfernte leise. Am Ende liegen drei Aufnahmen vor, und in jeder sind die Stimmen durcheinander gemischt. Dieses Raumbild ist ein Vergleich und stammt nicht aus der Demo.

Die Aufgabe lautet: Aus den drei Aufnahmen soll jede Stimme einzeln zurückkommen. Dabei ist weder bekannt, wo die Mikrofone stehen, noch wo die Sprecher sitzen, noch wie stark jede Stimme in jede Aufnahme eingeht. Die Stimmen nennt man hier Quellen, die Mikrofone Messstellen. Verfahren, die diese Aufgabe lösen, heißen Quellentrennung.

Der Trick: Ungleichmäßige Quellen ergeben eine gleichmäßigere Mischung

Nehmen wir an, jede Stimme ist ungleichmäßig: lange leise, dann plötzlich laut. Legt man mehrere solche Signale übereinander, füllen die lauten Stellen der einen die leisen Stellen der anderen. Die Mischung ist dann gleichmäßiger als jede Stimme für sich. Das gilt für ungleichmäßige Quellen, die einander nicht beeinflussen.

Daraus ergibt sich die Idee der ICA (englisch Independent Component Analysis, auf Deutsch Analyse unabhängiger Komponenten). Sie ist ein Rechenverfahren. „Unabhängig“ heißt: Was eine Quelle tut, verrät nichts über die andere. Die ICA sucht unter allen möglichen Überlagerungen der Aufnahmen diejenigen, die möglichst ungleichmäßig sind. Das sind die Kandidaten für die einzelnen Quellen.

Zuerst entfernt die Rechnung, was alle Aufnahmen gleichermaßen verbindet. Danach sucht sie Schritt für Schritt die ungleichmäßigsten Überlagerungen. Das Verfahren FastICA ist eine schnelle Ausführung dieser Suche.

Wann es klappt und wann nicht

Das Verfahren setzt einiges voraus. In der Demo lässt sich jede Voraussetzung einzeln verletzen, und man sieht die Folge.

  • Genug Messstellen. Es braucht mindestens so viele Aufnahmen wie Quellen. Bei weniger Mikrofonen als Sprechern lässt sich die Mischung nicht mehr umkehren. In der Demo bricht die Trennung ein, wenn es weniger Elektroden als Nervenzellen gibt.
  • Ungleichmäßige Quellen. Eine Quelle, die immer ähnlich stark rauscht wie ein Radio zwischen zwei Sendern, ist gleichmäßig. Zwei solche Quellen lassen sich in der Demo nicht sicher trennen: Je nach Datensatz gelingt es oder nicht, weil sich keine Überlagerung als die richtige auszeichnet. Eine einzelne gleichmäßige Quelle blieb in der Demo trennbar.
  • Voneinander unabhängige Quellen. Die Quellen dürfen einander nicht beeinflussen, denn auf dieser Annahme beruht das ganze Verfahren.
  • Gleichzeitige Mischung. Jede Messstelle muss alle Quellen im selben Augenblick erfassen. Braucht der Schall unterschiedlich lange zu den Mikrofonen, verschlechtert das in der Demo die Trennung.
  • Schwaches Messrauschen. Beim Entmischen wird auch das Rauschen der Messstellen verstärkt. Beträgt es in der Demo etwa die Hälfte der Signalstärke oder mehr, ist sogar die beste einzelne Elektrode besser als das ganze Verfahren.
  • Bekannte Zahl der Quellen. Man muss dem Verfahren die Zahl der Quellen vorgeben, es schätzt sie nicht selbst. Was bei einer falschen Angabe passiert, hat die Demo nicht gemessen.

Selbst wenn alles passt, bleiben drei Dinge offen. Erstens die Reihenfolge: Das Verfahren weiß nicht, welche gefundene Stimme zu welchem Sprecher gehört. Zweitens die Lautstärke: Ob eine Stimme laut war und ihr Anteil in der Mischung klein oder umgekehrt, ergibt dieselbe Aufnahme. Das ist wie bei einem Produkt: zwei mal drei ergibt dasselbe wie sechs mal eins, am Ergebnis allein sieht man die Faktoren nicht. Drittens das Vorzeichen: Das Signal kann umgeklappt ankommen, sodass aus einem Ausschlag nach oben einer nach unten wird.

Die Demo zeigt das so: Das Verfahren beginnt mit einer zufälligen ersten Schätzung der Mischung. Die Demo lässt es mehrmals auf denselben Daten laufen, jedes Mal mit einer anderen ersten Schätzung. Dann tauchen dieselben Quellen in anderer Reihenfolge und mit anderem Vorzeichen auf.

Wie ernst ist das Modell zu nehmen?

Die Demo spielt das Bild mit Nervenzellen durch. Die Nervenzellen sind die Quellen, die Elektroden, das sind dünne Messfühler, die Messstellen. Jede Elektrode erfasst die elektrischen Ausschläge mehrerer Zellen gemischt. Gesucht ist, welche Zelle wann einen kurzen, großen Ausschlag, eine Spitze, hatte. Bei vier Nervenzellen und sechs Elektroden stimmen die gefundenen Signale besser mit den wahren überein als bei einem einfacheren Rechenverfahren und als bei der besten einzelnen Elektrode. Die Messwerte stehen im Teil für Fachleute.

Die Daten der Demo sind erzeugt, nicht gemessen. Jede Spitze einer Nervenzelle sieht genau gleich aus, und jede Elektrode addiert die Zellen mit festen Gewichten, abgesehen von der einstellbaren Laufzeit. Echte Messungen sind schwieriger. Wie sich das Verfahren bei Spitzen verhält, die genau gleichzeitig auftreten, hat die Demo nicht gesondert untersucht. Sie zeigt, wie das Verfahren arbeitet und wo seine Annahmen enden, nicht wie gut es an einer echten Messung wäre.

Was Sie mitnehmen: Soll aus gemischten Messungen auf einzelne Quellen geschlossen werden, fragen Sie vorab. Gibt es mindestens so viele Messstellen wie Quellen? Ist das Messrauschen schwächer als das Signal (in der Demo: unter der Hälfte der Signalstärke)? Sind die Quellen ungleichmäßig, und beeinflussen sie einander nicht? Das gilt, solange die Mischung gleichzeitig geschieht. Ist eine Antwort nein, kann ein anderes Verfahren besser passen; einige stehen auf der Seite „Quellentrennung“.

Hinweis: Alle Demos rechnen mit synthetischen oder frei verfügbaren Beispieldaten und laufen auf einem externen Anbieter (Datenschutz). Bitte geben Sie darin keine vertraulichen oder personenbezogenen Daten ein. Die Ergebnisse gelten für die jeweilige Demo-Instanz und lassen sich nicht ungeprüft auf reale Fälle übertragen; für darauf gestützte Entscheidungen übernehme ich keine Gewähr.

Teil 2 · Für Fachleute

Modell und Annahmen

Dieser Teil ist eigenständig lesbar. Er fasst die formale Beschreibung der Demo zusammen; die vollständige Fassung steht im Expander „📐 Mathematische Formulierung“ der Demo.

  • Modell: \(x(t) = A\,s(t) + \varepsilon(t)\) mit \(x \in \mathbb{R}^n\) (Elektroden), \(s \in \mathbb{R}^k\) (Quellen, statistisch unabhängig, höchstens eine Gauß’sch), \(A \in \mathbb{R}^{n \times k}\) und \(n \ge k\). Gesucht ist \(W\) mit \(\hat s = W x\). Identifizierbar ist \(s\) nur bis auf Permutation und Skalierung (so die App, die sich dafür auf die Quellen am Ende dieses Teils beruft). Die Mischung ist momentan und linear.
  • Szenario (erzeugt): 10 kHz; Neuronen mit biphasischer Wellenform (30 Abtastwerte, negative Spitze), Poisson-artigem Feuern (20–35 Hz) und 2 ms Refraktärzeit. Hintergrundquellen sind AR(1)-Gauß-Rauschen (φ = 0,95 bzw. 0,5) oder ein Sinusrhythmus (10 bzw. 23 Hz). Die Elektroden liegen auf einer Zeile, das Gewicht eines Neurons fällt wie \(1/(d^2+\varepsilon)\) mit dem Abstand \(d\); eine Verzögerung wirkt nur auf die Neuronen. Das Rauschen ist relativ zum Neuronen-Signal.
  • Verfahren: FastICA (Hyvärinen, 1999) in reinem numpy: Weißen per Eigenzerlegung, Fixpunkt-Iteration symmetrisch oder per Deflation, Kontrastfunktionen log cosh, Gauß-Ableitung und Kurtosis. Die Quellenzahl wird als bekannt vorgegeben. Gegen sklearn.decomposition.FastICA getestet (Zuordnungs-Korrelation > 0,99).
  • Auswertung: exakte Zuordnung Quelle zu Komponente per Bitmasken-DP, Vorzeichen und Skala per Regression; Kennzahlen sind \(\lvert\rho\rvert\), Signal-zu-Interferenz (SIR), Amari-Index und Spitzen-F1 (Treffer innerhalb von ±4 Abtastwerten).

Die Formeln

Das Mischungsmodell: Jede Elektrode misst eine gewichtete Summe der Quellen plus Rauschen.

\[x(t) = A\,s(t) + \varepsilon(t)\]

Das Weißen: Mit der Kovarianz \(C\) der zentrierten Daten \(\tilde X\) und ihrer Eigenzerlegung ergibt sich die Weißungsmatrix \(K\), und die geweißten Daten \(Z = K\tilde X\) haben die Kovarianz \(I\).

\[C = \tfrac1T \tilde X \tilde X^\top = V \Lambda V^\top\]

\[K = \Lambda_k^{-1/2} V_k^\top\]

Danach ist \(Z = R\,s\) mit orthogonalem \(R\): Unkorreliert bedeutet noch nicht unabhängig, es bleibt die Suche nach der Drehung. Sie nutzt die Nicht-Gaußianität einer Projektion \(y = w^\top z\) mit \(\lVert w \rVert = 1\). Der Kontrast vergleicht den Erwartungswert von \(G\) mit dem einer Standardnormalverteilung \(\nu\); \(G\) ist \(\log\cosh y\), \(-e^{-y^2/2}\) oder \(y^4/4\) (Kurtosis):

\[J(y) = \left(E[G(y)] - E[G(\nu)]\right)^2\]

Die symmetrische FastICA-Iteration verwendet \(g = G'\) und orthogonalisiert danach \(W\) mit \((WW^\top)^{-1/2}\); die Deflation bestimmt eine Zeile nach der anderen, jeweils orthogonal zu den bisherigen. Die Schätzquellen sind \(\hat s = W K \tilde X\).

\[W \leftarrow E[g(WZ)\,Z^\top] - \operatorname{diag}(E[g'(WZ)])\,W\]

Die Güte einer Quelle misst das Signal-zu-Interferenz-Verhältnis aus der Korrelation \(\rho\) nach der Zuordnung:

\[10\log_{10}\frac{\rho^2}{1-\rho^2}\]

Warum Gauß’sche Quellen nicht trennbar sind: Ihre Verteilung ändert sich unter Drehungen nicht, \(J\) ist konstant, und die Drehung lässt sich an nichts erkennen. Dass Mischungen unabhängiger Quellen Gauß’scher sind als die Quellen selbst, folgt aus dem zentralen Grenzwertsatz (so die App); das Argument ist Standardwissen und kein Ergebnis der Demo.

Befunde

Alle Zahlen stammen aus der README der Demo, die App-Texte sind dort als Tests hinterlegt. Wenn nicht anders angegeben, gelten 4 Neuronen und 6 Elektroden, gemittelt über 5 feste Datensätze (Zufalls-Seeds 100000–100004). „Korrelation“ ist die Korrelation der Neuronen mit ihrer Schätzung; Spitzen-F1 ist der Trefferwert der gefundenen Spitzen.

FrageBefund
Gewinnt die ICA gegen PCA und Einzelelektrode?Korrelation 0,98 gegen 0,65 bei der PCA und 0,73 bei der besten Einzelelektrode; Spitzen-F1 1,00 gegen 0,65 (PCA) und 0,61 (Elektrode).
Ist unkorreliert gleich unabhängig?Nein: Die PCA-Komponenten sind Mischungen und damit Gauß’scher. Ihre mittlere Kurtosis liegt unter der Hälfte der Quellen-Kurtosis, die ICA-Komponenten erreichen über 75 % davon. Im Standard-Zufalls-Seed haben die Neuronen die Kurtosis 99 / 35 / 41 / 43 (Gauß = 0), Sinusrhythmen −1,5.
Was richtet Rauschen an?Korrelation 0,98 (Rauschen 0,05), 0,94 (0,1), 0,84 (0,2), 0,69 (0,4), 0,51 (0,7), 0,43 (1,0). Ab etwa 0,5 ist die beste Einzelelektrode besser als die ICA (bei 0,7: 0,59 gegen 0,51), weil das Entmischen das Rauschen verstärkt.
Was richtet Laufzeitverzögerung an?Korrelation 0,98 ohne Verzögerung, dann 0,97 (1), 0,92 (2), 0,84 (4), 0,76 (8), 0,71 (12); Spitzen-F1 1,00, 0,96, 0,85, 0,84, 0,65, 0,66. Die Verzögerung ist in Abtastwerten je Einheitsabstand angegeben, ein Abtastwert sind 0,1 ms.
Was passiert mit zu wenigen Elektroden (4 Neuronen)?Korrelation 0,16 (1 Elektrode), 0,41 (2), 0,68 (3), 0,98 (4) und 0,98 (5–8); Spitzen-F1 0,16 / 0,36 / 0,69 / 1,00 für 1 bis 4 Elektroden.
Sind Gauß’sche Hintergrundquellen trennbar?Eine Gauß’sche Quelle ja (SIR 7,3 dB, ein Rhythmus 7,6 dB), zwei nicht sicher: SIR im Mittel 3,7 dB, Spanne 0,1 bis 7,3 dB je Datensatz. Das Rhythmus-Paar erreicht in jedem Datensatz 7,9–8,1 dB. Die Neuronen bleiben trennbar (0,92).
Wie lang muss die Aufnahme sein?Kaum relevant: Korrelation 0,98 schon bei 1000 Abtastwerten (0,1 s), 0,965 bei 500. Bei diesem Rauschen begrenzt das Rauschen, nicht die Datenmenge.
Welche Kontrastfunktion?log cosh und Kurtosis liefern bei allen 5 Starts dasselbe (Streuung < 1e-6), die Kurtosis am schnellsten (6 Iterationen gegen 13). Die Gauß-Ableitung landet bei einzelnen Starts schlechter (schlechtester Start 0,84, Streuung 0,027) und braucht 22 Iterationen.

Grenzen

  • Gauß-Grenze unscharf: Bei rauschfreier Aufnahme und AR(1)-Gauß-Rauschen trennt die ICA das Paar teils trotzdem (SIR bis 29 dB), weil eine endliche Stichprobe nie exakt Gauß’sch ist. Deshalb zeigt die Demo die Spanne über die Datensätze und keinen Einzelwert.
  • Synthetische Daten: Jede Spitze eines Neurons hat exakt dieselbe Form (keine Amplitudenschwankung), die Mischung ist bis auf die Verzögerung exakt linear, das Rauschen weiß und Gauß’sch, die Elektroden liegen auf einer Zeile. Überlappende Spitzen (Kollisionen) wurden nicht gesondert gemessen.
  • Quellenzahl bekannt: Bei unbekannter Zahl (Modellwahl) macht die Demo keine Aussage.
  • Nur Verteilung einzelner Zeitpunkte: FastICA nutzt nicht die zeitliche Reihenfolge der Abtastwerte. Bei einer gefalteten Mischung (Verzögerung) genügt eine einzige Matrix \(W\) nicht; der Amari-Index ist dann gegen die Mischung ohne Verzögerung gerechnet, weil es keine einzelne wahre Matrix gibt.
  • Mehrdeutigkeiten: Reihenfolge, Vorzeichen und Skala bleiben unbestimmt. Bei symmetrischer FastICA und spitzenartigen Quellen sind die Vorzeichen der Ausgabe oft alle gleich; die Mehrdeutigkeit zeigt sich erst über mehrere Starts.
  • Nicht enthalten: Die Annahmen, die ICA verlangt, lockern andere Verfahren der Seite „Quellentrennung“: SOBI nutzt die zeitliche Struktur statt der Verteilungsform, die Sparse Component Analysis erlaubt mehr Quellen als Sensoren, der Spike-Sorting-Zweig behandelt Laufzeitunterschiede, die NMF ersetzt Unabhängigkeit durch Nichtnegativität. Diese Verfahren misst die Demo nicht.

Quellen

  • Hyvärinen, A. (1999): Fast and robust fixed-point algorithms for independent component analysis. IEEE Transactions on Neural Networks 10(3), 626–634.
  • Comon, P. (1994): Independent component analysis, a new concept? Signal Processing 36(3), 287–314.
  • Quelltext, Messreihen und Tests der Demo: github.com/sebastian-hanisch/ica-demo.

Die genannten Arbeiten wurden für diese Seite nicht nachgeschlagen. Hyvärinen (1999) steht in der README, Comon (1994) im Quelltext der App; die Titel, Zeitschriften und Seitenzahlen stammen aus dem Gedächtnis des Autors und sind nicht gegen die Originale geprüft. Der zentrale Grenzwertsatz als Begründung der Nicht-Gaußianität und die Aussage, dass die Verteilung Gauß’scher Quellen drehungsinvariant ist, sind Standardwissen und stehen so nicht in der README.