Wolfram Language

Kapsel-Netzwerke verwenden

Kapselnetze (CapsNet) sind eine neue Klasse von neuronalen Netzen, die darauf abzielen, eine Alternative zu klassischen neuronalen Faltungsnetzwerken im Bereich der Computer Vision zu bieten. CapsNets werden noch nicht in der Praxis eingesetzt, sind aber ein vielversprechendes Forschungsthema. Dieses Beispiel zeigt das ursprüngliche Kapsel-Netzwerk, das auf die MNIST-Klassifizierungsaufgabe trainiert wurde, und untersucht die Eigenschaften der von ihm berechneten Kapselvektoren.

Vewenden Sie ein vortrainiertes CapsNet-Modell aus dem Wolfram Neural Net Repository.

CapsNet sind keine reinen Klassifikatoren, sondern auch Autoencoder und können daher ihre Eingangsdaten rekonstruieren.

Anstatt skalare Neuronen mit Endwerten für jede Klasse zu haben, produziert ein CapsNet Kapselvektoren, die den Score in ihrer Norm kodieren. Zusätzlich zum skalaren Fall werden Informationen über die Merkmale der erkannten Instanz in der Ausrichtung von Kapselvektoren kodiert, ähnlich wie bei Merkmalsvektoren. Extrahieren Sie den Kapselvektor mit Länge 16 mit der höchsten Norm aus dem "Pick"-Block des Netzes.

Der "Reconstruct"-Block wird trainiert, um das Eingangsbild aus den im Kapselvektor enthaltenen Informationen als Regularizer zu rekonstruieren. Eine erfolgreiche Rekonstruktion beweist, dass Kapselvektoren die Eigenschaften der spezifischen Instanz kodieren, die in ihrer Ausrichtung erkannt wurden. Ermitteln Sie den Rekonstruktions-Operator (Reconstrcutor).

Geben Sie den zuvor ermittelten Kapselvektor in den Rekonstruktions-Operator ein.

Der von Kapselvektoren überspannte Raum weist Merkmale auf, die an latente Räume klassischer und variabler Autoencoder erinnern. Experimentieren Sie mit dem Ändern des Kapselvektors. Das Ändern des Kapselvektors kann zu Variationen von Merkmalen wie Dicke führen oder die Instanz vollständig in eine andere Klasse transformieren.

Interpolieren Sie zwischen Kapselvektoren verschiedener Ziffern.

Verwandte Beispiele

en es fr ja ko pt-br zh