Vergleich von Ansätzen zum Training von Vektorquantisierern in Neuronalen Netzen
Bachelorarbeit,Studienarbeit,Projektarbeit
Im Rahmen des Projekts FG Audio Processing

Description

Vektorquantisierung von Latentdaten künstlicher neuronaler Netze ist eine wesentliche Komponente vieler leistungsfähiger Modelle. Ein Vektorquantisierer besteht aus dem sogenannten Codebuch - einer vergleichsweise kleinen Sammlung von (Code-)Vektoren -, aus dem zu gegebenen Eingangsdaten die naheliegensten Vektoren ausgewählt und vom Vektorquantisierer ausgegeben werden. Hierdurch ist unter anderem eine deutliche Reduktion der Datenrate möglich - jedoch auf Kosten einer mehr oder weniger großen Verzerrung der Eingangsdaten.

Die Leistungsfähigkeit des Gesamtsystems - neuronales Netz inklusive Vektorquantisierer - hängt ganz wesentlich von einer sinnvollen Codevektorauswahl ab, die im Mittel für eine möglichst geringe Verzerrung der jeweiligen Eingangsdaten sorgen sollte.
Für maximale Leistungsfähigkeit des Gesamtsystems muss das Training von neuronalem Netz und Vektorquantisierer gemeinsam erfolgen, was durch die Nichtdifferenzierbarkeit des Vektorquantisierers erschwert wird. Verschiedene Ansätze in der Literatur befassen sich damit, die Nichtdifferenzierbarkeit des Vektorquantisierers zu umgehen, sodass ein gradientenbasiertes Training dennoch möglich ist. Beispiele sind das sehr verbreitete straight-through-estimation [1] (STE), Softquantisierung [2] oder Rauschsubstitution [3]. Bislang fehlt es aber an umfassenden Vergleichen zwischen diesen Ansätzen.

Im Rahmen dieser Arbeit sind die wesentlichen Ansätze aus der Literatur zum Training von Vektorquantisierern zu implementieren und zu evaluieren. Hierzu werden zunächst künstliche Standardprobleme betrachtet und anschließend die verschiedenen Methoden in bekannten Modellen auf bekannten Problemen evaluiert.

[1] https://arxiv.org/abs/1711.00937
[2] https://openaccess.thecvf.com/content_ICCV_2019/papers/Gong_Differentiable_Soft_Quantization_Bridging_Full-Precision_and_Low-Bit_Neural_Networks_ICCV_2019_paper.pdf
[3] https://medium.com/data-science/improving-vector-quantization-in-vector-quantized-variational-autoencoders-vq-vae-915f5814b5ce

Requirements

  • Selbstständiges Arbeiten
  • Gute Pythonkenntnisse (inkl. Pytorch)
  • Kenntnisse im Bereich künstlicher neuronaler Netze

Contact person: Reemt Hinrichs