DE102022111402A1 - GENERATIVE DOMAIN ADAPTATION IN A NEURONAL NETWORK - Google Patents
GENERATIVE DOMAIN ADAPTATION IN A NEURONAL NETWORK Download PDFInfo
- Publication number
- DE102022111402A1 DE102022111402A1 DE102022111402.3A DE102022111402A DE102022111402A1 DE 102022111402 A1 DE102022111402 A1 DE 102022111402A1 DE 102022111402 A DE102022111402 A DE 102022111402A DE 102022111402 A1 DE102022111402 A1 DE 102022111402A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- level
- domain
- neural network
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006978 adaptation Effects 0.000 title description 3
- 230000001537 neural effect Effects 0.000 title 1
- 238000013528 artificial neural network Methods 0.000 claims abstract description 143
- 230000006870 function Effects 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000009826 distribution Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 67
- 238000013527 convolutional neural network Methods 0.000 claims description 14
- 238000010606 normalization Methods 0.000 claims description 10
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 abstract description 18
- 238000012549 training Methods 0.000 description 45
- 238000004891 communication Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 30
- 238000012546 transfer Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet. Der Speicher speichert Anweisungen, die durch den Prozessor ausführbar sind, um den Prozessor dazu zu veranlassen, eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen; eine Einbettung der Eingabequellendomänendaten zu erzeugen; einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen; Ausgabezieldomänendaten in der Zieldomäne, die eine Semantik beinhalten, die den Eingabequellendomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer Domänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Daten aus dem Ziel erzeugen, zu erzeugen; und eine Verlustfunktion zu modifizieren, sodass latente Attribute, die der Einbettung entsprechen, aus einer gleichen Wahrscheinlichkeitsverteilung ausgewählt werden.A system includes a computer that includes a processor and memory. The memory stores instructions executable by the processor to cause the processor to generate a low-level representation of the input source domain data; create an embedding of the input source domain data; generate a high-level feature representation of features of the input source domain data; generate output target domain data in the target domain containing semantics corresponding to the input source domain data by processing the high-level feature representation of the features of the input source domain data using a low-level domain decoder layer of the neural network that generates data from the target; and modify a loss function so that latent attributes corresponding to the embedding are selected from an equal probability distribution.
Description
GEBIET DER TECHNIKFIELD OF TECHNOLOGY
Die Offenbarung betrifft neuronale Netzwerke in Fahrzeugen.The disclosure concerns neural networks in vehicles.
ALLGEMEINER STAND DER TECHNIKGENERAL STATE OF THE ART
Neuronale Netzwerke sind Maschinenlernmodelle, die eine oder mehrere Schichten von nicht linearen Einheiten einsetzen, um eine Ausgabe für eine empfangene Eingabe vorherzusagen. Einige neuronale Netzwerke beinhalten zusätzlich zu einer Ausgabeschicht eine oder mehrere verborgene Schichten. Die Ausgabe jeder verborgenen Schicht wird als Eingabe für die nächste Schicht in dem Netzwerk verwendet, d. h. die nächste verborgene Schicht oder die Ausgabeschicht. Jede Schicht des Netzwerks erzeugt eine Ausgabe aus einer empfangenen Eingabe gemäß aktuellen Werten eines jeweiligen Satzes von Gewichtungen.Neural networks are machine learning models that employ one or more layers of nonlinear units to predict an output for a received input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as input to the next layer in the network, i.e. H. the next hidden layer or the output layer. Each layer of the network produces an output from a received input according to current values of a respective set of weights.
KURZDARSTELLUNGSHORT PRESENTATION
Neuronale Netzwerke werden für viele Aufgaben verwendet, mit denen autonome Fahrzeuge betrieben werden. Zum Beispiel kann ein neuronales Netzwerk Bilddaten eingeben, die durch einen Fahrzeugsensor erfasst wurden, um Objekte in einer Umgebung um ein Fahrzeug zu bestimmen, und die Daten bezüglich der Objekte verwenden, um einen Fahrzeugweg zu bestimmen, auf dem das Fahrzeug betrieben werden soll. Neuronale Netzwerke können auch dazu trainiert werden, Befehle zu bestimmen, die von einem Insassen eines Fahrzeugs gesprochen werden, und das Fahrzeug auf Grundlage des bestimmten Befehls zu betreiben. Gesprochene Befehle können zum Beispiel gesprochene Formulierungen beinhalten, wie etwa „fahren“, „anhalten“ und „links abbiegen“. Neuronale Netzwerke können auch dazu trainiert werden, Videodaten zu verarbeiten, um zum Beispiel eine reale Position für ein Fahrzeug auf Grundlage von visueller Odometrie zu bestimmen. Die visuelle Odometrie ist eine Technik zum Bestimmen einer Position eines Fahrzeugs auf Grundlage eines Verarbeitens einer Sequenz von Videobildern, um eine Fahrzeugposition auf Grundlage von Änderungen der Positionen bestimmter Merkmale in der Sequenz von Videobildern zu bestimmen. Merkmale sind Anordnungen von Pixelwerten, die in zwei oder mehr Videobildern bestimmt werden können. Neuronale Netzwerke können trainiert werden, um diese Aufgaben zu erfüllen, indem große Mengen an Trainingsdaten gesammelt werden, die Beispiele für Eingabedaten und entsprechende Ground Truth beinhalten. Die Eingabedaten können Bilder von Umgebungen um Fahrzeuge sein, die Objekte, wie etwa andere Fahrzeuge und Fußgänger, beinhalten. In anderen Beispielen können Trainingsdaten Befehle beinhalten, die von einer Vielzahl von unterschiedlichen Personen gesprochen werden, die unterschiedliche Stimmeigenschaften aufweisen. Ground Truth sind Daten, die der korrekten Ausgabe entsprechen, die von einem neuronalen Netzwerk gewünscht wird, und von einer Quelle erfasst wurden, die von dem neuronalen Netzwerk unabhängig ist. In dem Beispiel von Bilddaten können menschliche Beobachter die Trainingsbilder betrachten und die Identität und die Position von Objekten in den Bilddaten bestimmen. In dem Beispiel von gesprochenen Befehlen können menschliche Zuhörer die gesprochenen Befehle anhören und den richtigen Fahrzeugbefehl bestimmen, der dem gesprochenen Befehl entspricht.Neural networks are used for many tasks that power autonomous vehicles. For example, a neural network may input image data acquired by a vehicle sensor to determine objects in an environment around a vehicle and use the data regarding the objects to determine a vehicle path over which the vehicle should operate. Neural networks can also be trained to determine commands spoken by an occupant of a vehicle and operate the vehicle based on the specific command. For example, spoken commands may include spoken phrases such as “drive,” “stop,” and “turn left.” Neural networks can also be trained to process video data, for example to determine a real-world position for a vehicle based on visual odometry. Visual odometry is a technique for determining a position of a vehicle based on processing a sequence of video images to determine a vehicle position based on changes in the positions of certain features in the sequence of video images. Features are arrangements of pixel values that can be determined in two or more video images. Neural networks can be trained to accomplish these tasks by collecting large amounts of training data that includes examples of input data and corresponding ground truth. The input data may be images of environments around vehicles that include objects such as other vehicles and pedestrians. In other examples, training data may include commands spoken by a variety of different people who have different vocal characteristics. Ground truth is data that corresponds to the correct output desired by a neural network and has been acquired from a source independent of the neural network. In the image data example, human observers can view the training images and determine the identity and location of objects in the image data. In the example of spoken commands, human listeners can listen to the spoken commands and determine the correct vehicle command that corresponds to the spoken command.
Ein Problem bei Trainingsdaten besteht darin, dass eine große Anzahl, typischerweise größer als 1000, von Trainingsbeispielen erforderlich sein kann, um ein neuronales Netzwerk zu trainieren. Da jedes Trainingsbeispiel eine entsprechende Ground Truth erfordert, kann das Zusammenstellen von Trainingsdatensätzen sehr teuer sein und für seine Umsetzung viele Personenstunden menschlicher Arbeit erfordern. Zusätzliche neuronale Netzwerke können trainiert werden, um simulierte Trainingsdaten einschließlich Ground Truth aus einer kleineren Anzahl von realen Beispielen zu erzeugen und dadurch die Zeit und die Kosten zu reduzieren, die erforderlich sind, um Trainingsdatensätze für neuronale Netzwerke zu erzeugen. Auf diese Weise erzeugte Trainingsdatensätze sind nur nützlich, wenn die simulierten Trainingsdaten genau den realen Daten entsprechen, die zum Erzeugen der simulierten Trainingsdaten verwendet werden. In dieser Schrift erörterte Techniken verbessern den Prozess des Erzeugens von Trainingsdatensätzen unter Verwendung neuronaler Netzwerke, indem Techniken zum Erzeugen genauer simulierter Trainingsdaten auf Grundlage von begrenzten Mengen an eingegebenen realen Trainingsdaten verbessert werden, wodurch die Zeit und die Kosten reduziert werden, die zum Erzeugen von Trainingsdatensätzen für das Training neuronaler Netzwerke erforderlich sind. In dieser Schrift beschriebene Techniken können die Erzeugung von Trainingsdatensätzen durch neuronale Netzwerke verbessern, indem sie die Bestimmung von Verlustfunktionen verbessern. Verlustfunktionen werden beim Trainieren von neuronalen Netzwerken verwendet, indem erzeugte Ergebnisse mit Ground Truth verglichen werden, um Unterschiede zwischen dem erzeugten Ergebnis und der entsprechenden Ground Truth zu bestimmen.One problem with training data is that a large number, typically greater than 1000, of training examples may be required to train a neural network. Because each training example requires a corresponding ground truth, assembling training datasets can be very expensive and require many person-hours of human labor to implement. Additional neural networks can be trained to generate simulated training data including ground truth from a smaller number of real examples, thereby reducing the time and cost required to generate neural network training data sets. Training data sets generated in this way are only useful if the simulated training data exactly matches the real data used to generate the simulated training data. Techniques discussed in this paper improve the process of generating training data sets using neural networks by improving techniques for generating accurate simulated training data based on limited amounts of input real training data, thereby reducing the time and cost required to generate training data sets are required for training neural networks. Techniques described in this paper can improve the generation of training data sets by neural networks by improving the determination of loss functions. Loss functions are used in training neural networks by comparing generated results with ground truth to determine differences between the generated result and the corresponding ground truth.
Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet. Der Speicher speichert Anweisungen, die durch den Prozessor ausführbar sind, um den Prozessor dazu zu veranlassen, eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten durch Verarbeiten von Quellendomänendaten unter Verwendung einer Quellendomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die Daten aus der Quellendomäne entspricht, zu erzeugen, um eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen; eine Einbettung der Eingabequellendomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, zu erzeugen; eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten durch Verarbeiten der Einbettung des Eingabequellendomänenbildes unter Verwendung einer Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, zu erzeugen, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen; Ausgabezieldomänendaten in der Zieldomäne, die eine Semantik beinhalten, die den Eingabequellendomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer Domänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene zu erzeugen, die Daten aus dem Ziel erzeugen; und eine Verlustfunktion zu modifizieren, sodass latente Attribute, die der Einbettung entsprechen, aus einer gleichen Wahrscheinlichkeitsverteilung ausgewählt werden.A system includes a computer that includes a processor and memory. The memory stores instructions executable by the processor to cause the processor to generate a low-level representation of the input source domain data by processing source domain data using a low-level source domain encoder layer of a neural network corresponding to data from the source domain to generate a low-level representation of the input source domain data; generate an embedding of the input source domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; to generate a high-level feature representation of features of the input source domain data by processing the embedding of the input source domain image using a high-level decoder layer of the neural network shared by data from the source and target domains to produce a high-level feature representation of features generate the input source domain data; generate output target domain data in the target domain containing semantics corresponding to the input source domain data by processing the high-level feature representation of the features of the input source domain data using a low-level domain decoder layer of the neural network that generates data from the target; and modify a loss function so that latent attributes corresponding to the embedding are selected from an equal probability distribution.
In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Modifizieren der Verlustfunktion durch Berechnen einer maximalen mittleren Abweichung zwischen einem ersten latenten Attribut, das einer Quellendomäne entspricht, und einem zweiten latenten Attribut, das einer Zieldomäne entspricht.In other features, the processor is further programmed to: modify the loss function by calculating a maximum mean deviation between a first latent attribute corresponding to a source domain and a second latent attribute corresponding to a target domain.
In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Modifizieren der Verlustfunktion auf Grundlage einer Vorhersage von einem Diskriminator, wobei die Vorhersage eine Domäne angibt, die einem latenten Attribut entspricht.In other features, the processor is further programmed to: modify the loss function based on a prediction from a discriminator, the prediction indicating a domain corresponding to a latent attribute.
In anderen Merkmalen umfasst der Diskriminator eine oder mehrere Faltungsschichten, eine oder mehrere Batch-Normalisierungsschichten und eine oder mehrere Schichten einer gleichgerichteten linearen Einheit.In other features, the discriminator includes one or more convolution layers, one or more batch normalization layers, and one or more rectified linear unit layers.
In anderen Merkmalen umfasst eine letzte Schicht des Diskriminators eine Softmax-Schicht.In other features, a final layer of the discriminator includes a softmax layer.
In anderen Merkmalen erzeugt der Diskriminator einen mehrdimensionalen Vektor, der die Vorhersage darstellt.In other features, the discriminator produces a multidimensional vector representing the prediction.
In anderen Merkmalen umfasst der mehrdimensionale Vektor einen vierdimensionalen Vektor, der vier Domänen entspricht.In other features, the multidimensional vector includes a four-dimensional vector corresponding to four domains.
In anderen Merkmalen umfasst der mehrdimensionale Vektor einen zweidimensionalen Vektor, der zwei Domänen entspricht.In other features, the multidimensional vector includes a two-dimensional vector corresponding to two domains.
In anderen Merkmalen umfasst eine Verlustfunktion für den Diskriminator Folgendes: LD = Z̃AAlog D(ZAA)+Z̃BBlog D(ZBB) + Z̃ABlog D(ZAB)+Z̃BAlog D(ZBA), wobei LD als die Verlustfunktion definiert ist, Z̃AA, Z̃BB, Z̃AB, Z̃BA als Kennzeichnungen für die entsprechende Domäne definiert sind, log D als eine Schätzung definiert ist, dass die Wahrscheinlichkeit für das latente Attribut einer spezifischen Domäne entspricht, und ZAA, ZAB, ZBA, ZBB als vorhergesagte Domänenausgaben definiert sind.In other features, a loss function for the discriminator includes: L D = Z̃ AA log D(Z AA )+Z̃ BB log D(Z BB ) + Z̃ AB log D(Z AB )+Z̃ BA log D(Z BA ), where L D is defined as the loss function, Z̃ AA , Z̃ BB , Z̃ AB , Z̃ BA are defined as labels for the corresponding domain, log D is defined as an estimate that the probability for the latent attribute corresponds to a specific domain, and Z AA , Z AB , Z BA , Z BB are defined as predicted domain outputs.
In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Erzeugen einer Darstellung auf niedriger Ebene der Eingabezieldomänendaten durch Verarbeiten der Eingabezieldomänendaten unter Verwendung einer Zieldomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Zieldomäne ist; Erzeugen einer Einbettung der Eingabezieldomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; Erzeugen einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabezieldomänendaten durch Verarbeiten der Einbettung des Eingabezieldomänenbildes unter Verwendung der Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; und Erzeugen von Ausgabequellendomänendaten aus der Quellendomäne, die eine Semantik beinhalten, die den Eingabezieldomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale des Zielquellendomänenbilds unter Verwendung einer Quellendomänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Quellendomäne ist.In other features, the processor is further programmed to: generate a low-level representation of the input target domain data by processing the input target domain data using a target domain low-level neural network encoder layer specific to data from the target domain; generating an embedding of the input target domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; generating a high-level feature representation of features of the input target domain data by processing the embedding of the input target domain image using the high-level decoder layer of the neural network shared by data from the source and target domains; and generating output source domain data from the source domain that includes semantics corresponding to the input target domain data by high processing the feature representation Level of features of the target source domain image using a low-level source domain decoder layer of the neural network specific to data from the source domain.
Ein Verfahren umfasst Folgendes: Erzeugen einer Darstellung auf niedriger Ebene der Eingabequellendomänendaten durch Verarbeiten von Quellendomänendaten unter Verwendung einer Quellendomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die Daten aus der Quellendomäne entspricht, um eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen; Erzeugen einer Einbettung der Eingabequellendomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; Erzeugen einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten durch Verarbeiten der Einbettung des Eingabequellendomänenbildes unter Verwendung einer Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen; Erzeugen von Ausgabezieldomänendaten in der Zieldomäne, die eine Semantik beinhalten, die den Eingabequellendomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer Domänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Daten aus dem Ziel erzeugen; und Erzeugen von Ausgabequellendomänendaten aus der Quellendomäne, die eine Semantik beinhalten, die den Eingabezieldomänendaten entsprechen, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale des Zielquellendomänenbilds unter Verwendung einer Quellendomänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Quellendomäne ist.A method includes: generating a low-level representation of the input source domain data by processing source domain data using a low-level source domain encoder layer of a neural network corresponding to data from the source domain to generate a low-level representation of the input source domain data; generating an embedding of the input source domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; Generate a high-level feature representation of features of the input source domain data by processing the embedding of the input source domain image using a high-level decoder layer of the neural network shared by data from the source and target domains to produce a high-level feature representation of features of the input source domain data to create; generating output target domain data in the target domain that includes semantics corresponding to the input source domain data by processing the high-level feature representation of the features of the input source domain data using a low-level domain decoder layer of the neural network that generates data from the target; and generating output source domain data from the source domain that includes semantics corresponding to the input target domain data by processing the high-level feature representation of the features of the target source domain image using a low-level source domain decoder layer of the neural network specific to data from the source domain.
In anderen Merkmalen beinhaltet das Verfahren Folgendes: Modifizieren der Verlustfunktion durch Berechnen einer maximalen mittleren Abweichung zwischen einem ersten latenten Attribut, das einer Quellendomäne entspricht, und einem zweiten latenten Attribut, das einer Zieldomäne entspricht.In other features, the method includes: modifying the loss function by calculating a maximum mean deviation between a first latent attribute corresponding to a source domain and a second latent attribute corresponding to a target domain.
In anderen Merkmalen beinhaltet das Verfahren Folgendes: Modifizieren der Verlustfunktion auf Grundlage einer Vorhersage von einem Diskriminator, wobei die Vorhersage eine Domäne angibt, die einem latenten Attribut entspricht.In other features, the method includes: modifying the loss function based on a prediction from a discriminator, the prediction indicating a domain corresponding to a latent attribute.
In anderen Merkmalen umfasst der Diskriminator eine oder mehrere Faltungsschichten, eine oder mehrere Batch-Normalisierungsschichten und eine oder mehrere Schichten einer gleichgerichteten linearen Einheit.In other features, the discriminator includes one or more convolution layers, one or more batch normalization layers, and one or more rectified linear unit layers.
In anderen Merkmalen umfasst eine letzte Schicht des Diskriminators eine Softmax-Schicht.In other features, a final layer of the discriminator includes a softmax layer.
In anderen Merkmalen erzeugt der Diskriminator einen mehrdimensionalen Vektor, der die Vorhersage darstellt.In other features, the discriminator produces a multidimensional vector representing the prediction.
In anderen Merkmalen umfasst der mehrdimensionale Vektor einen vierdimensionalen Vektor, der vier Domänen entspricht.In other features, the multidimensional vector includes a four-dimensional vector corresponding to four domains.
In anderen Merkmalen umfasst der mehrdimensionale Vektor einen zweidimensionalen Vektor, der zwei Domänen entspricht.In other features, the multidimensional vector includes a two-dimensional vector corresponding to two domains.
In anderen Merkmalen umfasst eine Verlustfunktion des Diskriminators Folgendes: LD = Z̃AAlog D(ZAA)+Z̃BBlog D(ZBB) + Z̃ABlog D(ZAB)+Z̃BAlog D(ZBA), wobei LD als die Verlustfunktion definiert ist, Z̃AA , Z̃BB , Z̃AB , Z̃BA als Kennzeichnungen für die entsprechende Domäne definiert sind, log D als eine Schätzung definiert ist, dass die Wahrscheinlichkeit für das latente Attribut einer spezifischen Domäne entspricht, und ZAA, ZAB, ZBA, ZBB als vorhergesagte Domänenausgaben definiert sind.In other features, a loss function of the discriminator includes: L D = Z̃ AA log D(Z AA )+Z̃ BB log D(Z BB ) + Z̃ AB log D(Z AB )+Z̃ BA log D(Z BA ), where L D is defined as the loss function, Z̃ AA , Z̃ BB , Z̃ AB , Z̃ BA are defined as labels for the corresponding domain, log D is defined as an estimate that the probability for the latent attribute corresponds to a specific domain, and Z AA , Z AB , Z BA , Z BB are defined as predicted domain outputs.
In anderen Merkmalen beinhaltet das Verfahren Erzeugen einer Darstellung auf niedriger Ebene der Eingabezieldomänendaten durch Verarbeiten der Eingabezieldomänendaten unter Verwendung einer Zieldomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Zieldomäne ist; Erzeugen einer Einbettung der Eingabezieldomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; Erzeugen einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabezieldomänendaten durch Verarbeiten der Einbettung des Eingabezieldomänenbildes unter Verwendung der Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; und Erzeugen von Ausgabequellendomänendaten aus der Quellendomäne, die eine Semantik beinhalten, die den Eingabezieldomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale des Zielquellendomänenbilds unter Verwendung einer Quellendomänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Quellendomäne ist.In other features, the method includes generating a low-level representation of the input target domain data by processing the input target domain data using a target domain low-level neural network encoder layer specific to data from the target domain; generating an embedding of the input target domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; Generating a high-level feature representation of features of the input target domain data by processing the embedding of the input target domain image using the high-level decoder layer of the neural network Layer shared by data from the source and target domains; and generating output source domain data from the source domain that includes semantics corresponding to the input target domain data by processing the high-level feature representation of the features of the target source domain image using a low-level source domain decoder layer of the neural network specific to data from the source domain.
Die vorliegende Offenbarung beschreibt ein Domänenanpassungsnetzwerk, das Daten, wie etwa ein Bild, aus einer Quellendomäne empfangen kann und die Daten in Daten aus einer Zieldomäne umwandelt, die eine ähnliche Semantik wie die Quellendomänendaten aufweisen, z. B. werden semantische Inhalte innerhalb eines Bildes beibehalten. Semantik bezieht sich im vorliegenden Zusammenhang auf Daten, wie etwa Objekte innerhalb eines Bildes, die zwischen den Bildern beibehalten werden sollen. Im Allgemeinen unterscheidet sich die Quellendomäne, z. B. ein Tagesbild oder ein Bild einer virtuellen Umgebung, von der Zieldomäne, z. B. einem Nachtbild oder einem realen Bild. Zum Beispiel unterscheidet sich eine Verteilung von Pixelwerten in Bildern aus der Quellendomäne von der Verteilung von Pixelwerten in Bildern aus der Zieldomäne. Somit können Bilder, welche die gleiche Semantik aufweisen, unterschiedlich aussehen, wenn ein Bild aus der Quellendomäne und das andere Bild aus der Zieldomäne stammt. Zum Beispiel kann es sich bei der Quellendomäne um Bilder einer virtuellen Umgebung handeln, die eine reale Umgebung simuliert, und kann es sich bei der Zieldomäne um Bilder der realen Umgebung handeln.The present disclosure describes a domain adaptation network that can receive data, such as an image, from a source domain and transforms the data into data from a target domain that has similar semantics to the source domain data, e.g. B. semantic content is retained within an image. Semantics, in this context, refers to data, such as objects within an image, that should be maintained between images. Generally the source domain is different, e.g. B. a daily image or an image of a virtual environment, from the target domain, e.g. B. a night picture or a real picture. For example, a distribution of pixel values in images from the source domain is different from the distribution of pixel values in images from the target domain. Thus, images that have the same semantics may look different if one image comes from the source domain and the other image comes from the target domain. For example, the source domain may be images of a virtual environment that simulates a real environment and the target domain may be images of the real environment.
Quellendomänenbilder können Bilder einer virtuellen Umgebung sein, die eine reale Umgebung simuliert, mit der ein autonomes oder halbautonomes Fahrzeug interagieren soll, während die Zieldomänenbilder Bilder der realen Umgebung sein können, wie sie von dem Fahrzeug aufgenommen wurden. Während des Trainings wird eine Verlustfunktion verwendet, um eine oder mehrere Gewichtungen des Domänenanpassungsnetzwerks zu aktualisieren. Wie in dieser Schrift ausführlicher beschrieben, kann eine Verlustfunktion derart modifiziert werden, dass latente Attribute einer Einbettung aus einer gleichen Wahrscheinlichkeitsverteilung ausgewählt werden, um realistischere Daten in der Zieldomäne zu erzeugen.Source domain images may be images of a virtual environment that simulates a real environment with which an autonomous or semi-autonomous vehicle is intended to interact, while the target domain images may be images of the real environment as captured by the vehicle. During training, a loss function is used to update one or more weights of the domain adaptation network. As described in more detail herein, a loss function can be modified to select latent attributes of an embedding from an equal probability distribution to produce more realistic data in the target domain.
Durch Umwandeln von Quellendomänenbildern in Zieldomänenbilder können die Zieldomänenbilder verwendet werden, um eine Steuerrichtlinie für das Fahrzeug zu entwickeln, oder während des Trainierens eines neuronalen Netzwerks, das verwendet wird, um durch das Fahrzeug durchzuführende Handlungen auszuwählen. Somit kann eine Leistung des Fahrzeugs in der realen Umgebung verbessert werden, indem das neuronale Netzwerk und/oder die Steuerrichtlinie zusätzlichen Situationen ausgesetzt wird/werden, die in einer virtuellen Umgebung erzeugt werden.By converting source domain images into target domain images, the target domain images can be used to develop a control policy for the vehicle or while training a neural network used to select actions to be performed by the vehicle. Thus, performance of the vehicle in the real environment can be improved by exposing the neural network and/or the control policy to additional situations generated in a virtual environment.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
-
1 ist ein Diagramm eines beispielhaften Fahrzeugsystems.1 is a diagram of an example vehicle system. -
2 ist ein Diagramm eines beispielhaften Servers.2 is a diagram of an example server. -
3 ist ein Diagramm eines beispielhaften Domänenübertragungsnetzwerkes.3 is a diagram of an exemplary domain communications network. -
4 ist ein weiteres Diagramm des beispielhaften Domänenübertragungsnetzwerkes.4 is another diagram of the example domain transfer network. -
5 ist ein weiteres Diagramm des beispielhaften Domänenübertragungsnetzwerkes, das einen Diskriminator beinhaltet.5 is another diagram of the example domain transfer network that includes a discriminator. -
Die
6A bis6D sind Diagramme eines beispielhaften Diskriminators.The6A until6D are diagrams of an example discriminator. -
7 ist ein Diagramm, das beispielhafte Schichten des Diskriminators veranschaulicht.7 is a diagram illustrating example layers of the discriminator. -
8 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks.8th is a diagram of an example deep neural network. -
9 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen von Zieldomänendaten aus Quellendomänendaten veranschaulicht.9 is a flowchart that illustrates an example process for generating target domain data from source domain data. -
10 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen von Quellendomänendaten aus Zieldomänendaten veranschaulicht.10 is a flowchart that illustrates an example process for generating source domain data from target domain data.
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Computer 110 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausführbar sind.The
Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem halbautonomen Modus oder einem nicht autonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem teilautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.The
Der Computer 110 kann eine Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug durch Steuern eines oder mehrere von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs 105 und zum Bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll, beinhalten. Des Weiteren kann der Computer 110 dazu programmiert sein, zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.The
Der Computer 110 kann mehr als einen Prozessor, der z. B. in elektronischen Steuereinheiten (electronic controller units - ECUs) oder dergleichen beinhaltet ist, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125 beinhaltet sind, z. B. eine Antriebsstrangsteuerung, eine Bremssteuerung, eine Lenkungssteuerung usw., beinhalten oder kommunikativ an diese gekoppelt sein, z. B. über das Kommunikationsmodul 130 des Fahrzeugs 105, wie nachstehend ausführlicher beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, welches das globale Positionsbestimmungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 Standortdaten des Fahrzeugs 105 anfordern und empfangen. Die Standortdaten können in einer bekannten Form vorliegen, z. B. in Geokoordinaten (Breiten- und Längenkoordinaten).The
Der Computer 110 ist im Allgemeinen zur Kommunikation über das Kommunikationsmodul 130 des Fahrzeugs 105 und zudem mithilfe eines internen drahtgebundenen und/oder drahtlosen Netzwerks des Fahrzeugs 105, z. B. einem Bus oder dergleichen in dem Fahrzeug 105, wie etwa einem Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen angeordnet.The
Über das Kommunikationsnetzwerk des Fahrzeugs 105 kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. Fahrzeugsensoren 115, Betätigungselemente(n) 120, Fahrzeugkomponenten 125, eine(r) Mensch-Maschine-Schnittstelle (human machine interface - HMI) usw. Alternativ oder zusätzlich kann das Kommunikationsnetzwerk des Fahrzeugs 105 in Fällen, in denen der Computer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Fahrzeugsensoren 115 Daten an den Computer 110 bereitstellen.Via the communication network of the
Die Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen beinhalten, die bekanntermaßen Daten an den Computer 110 bereitstellen. Zum Beispiel können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. beinhalten, der/die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und relative Standorte, Größen und Formen von Objekten und/oder Verhältnissen bereitstellt/bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschließlich zweiter Fahrzeuge 106) usw. bezogen auf den Standort des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 beinhalten, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind und der/die Daten von einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellt/bereitstellen.The
Die Betätigungselemente 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Elektromotoren oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Betätigungselemente 120 können dazu verwendet werden, Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.The actuators 120 of the
Im Zusammenhang der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Abbremsen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele für die Komponenten 125 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente (wie nachstehend beschrieben), eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen beweglichen Sitz usw.In the context of the present disclosure, a
Des Weiteren kann der Computer 110 dazu konfiguriert sein, über ein Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder eine Schnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über drahtlose Kommunikation von Fahrzeug-zu-Fahrzeug (vehicle-tovehicle - V2V) oder Fahrzeug-zu-Infrastruktur (vehicle-to-infrastructure - V2X) mit einem anderen Fahrzeug, mit einem Remote-Server 145 (in der Regel über das Kommunikationsnetzwerk 135) zu kommunizieren. Das Modul 130 könnte einen oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Netzwerktopologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Modul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth®, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetze (wide area networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.Furthermore, the
Das Kommunikationsnetzwerk 135 kann einer oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen sein, einschließlich jeder gewünschten Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und jeder gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.The
Ein Computer 110 kann im Wesentlichen kontinuierlich, periodisch, und/oder wenn durch einen Server 145 usw. angewiesen, Daten von den Sensoren 115 empfangen und analysieren. Ferner können herkömmliche Objektklassifizierungs- oder Objektidentifizierungstechniken verwendet werden, z. B. in einem Computer 110 auf der Grundlage von Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. Fahrzeug, Person, Stein, Schlagloch, Fahrrad, Motorrad usw., sowie physische Merkmale von Objekten zu identifizieren.A
Das Domänenübertragungsnetzwerk 300 verarbeitet die Quellendomänendaten 302 unter Verwendung einer oder mehrerer Quellendomänencodiererschichten 310 des neuronalen Netzwerks auf niedriger Ebene, die für Daten aus der Quellendomäne spezifisch sind, um eine Darstellung 312 auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen. Zum Beispiel werden die Quellendomänencodiererschichten 310 des neuronalen Netzwerks auf niedriger Ebene verwendet, wenn Daten aus der Quellendomäne codiert werden und nicht, wenn Daten aus der Zieldomäne codiert werden. Die Darstellung 312 auf niedriger Ebene ist die Ausgabe der letzten der Codiererschichten auf niedriger Ebene.The
Das Domänenübertragungsnetzwerk 300 verarbeitet dann die Darstellung 312 auf niedriger Ebene unter Verwendung einer oder mehrerer Codiererschichten 320 des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, um eine Einbettung 322 der Eingabequellendomänendaten 302 bzw. der Eingabezieldomänendaten 304 zu erzeugen. Das heißt, die Codiererschichten 320 des neuronalen Netzwerks auf hoher Ebene werden verwendet, um die Einbettung 322 auf Grundlage der Quellendomänendaten und Zieldomänendaten zu erzeugen. Die Einbettung 322 kann ein Vektor von Wahrscheinlichkeitsverteilungen sein, wobei jede Wahrscheinlichkeitsverteilung ein latentes Attribut oder latente Attribute der Eingabedaten darstellt. Im vorliegenden Zusammenhang bedeutet ein Vektor eine geordnete Sammlung von numerischen Werten und ein latentes Attribut ist ein Merkmal innerhalb der Eingabedaten. Zum Beispiel kann ein latentes Attribut für ein Eingabebild einer Person ein Merkmal sein, das ein Auge oder eine Nase darstellt. In einem anderen Beispiel kann ein latentes Attribut für ein Eingabebild eines Fahrzeugs ein Merkmal sein, das einen Reifen, einen Stoßfänger oder einen Fahrzeugkarosserieabschnitt darstellt.The
Das Domänenübertragungsnetzwerk 300 verarbeitet die Einbettung 322 der Eingabequellendomänendaten unter Verwendung einer oder mehrerer Decodiererschichten 330 des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, um eine Merkmalsdarstellung 332 auf hoher Ebene von Merkmalen der Eingabequellendomänendaten 302 zu erzeugen. Die Darstellung eines latenten Attributs auf hoher Ebene ist die Ausgabe der letzten der Codiererschichten 330 auf hoher Ebene.The
Das Domänenübertragungsnetzwerk 300 verarbeitet dann die Merkmalsdarstellung 332 auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer oder mehrerer Zieldomänendecodiererschichten 340 des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für das Erzeugen von Daten aus der Quellendomäne sind, um Ausgabezieldomänendaten 342 zu erzeugen, die aus der Zieldomäne stammen, aber eine ähnliche Semantik wie die Eingabequellendomänendaten 302 aufweisen. Eine ähnliche Semantik bedeutet, dass die Zieldomänendaten 342 Regionen mit Pixelwerten aufweisen, die den gleichen Objekten entsprechen wie Regionen mit Pixelwerten in Eingabequellendomänendaten 302. Zum Beispiel können die Ausgabezieldomänendaten 342 eine Verteilung von Pixelwerten aufweisen, die mit denen von Daten aus der Zieldomäne übereinstimmt, aber eine ähnliche Semantik wie die Eingabequellendomänendaten 302 aufweisen, was bedeutet, dass die Ausgabezieldomänendaten 342 Objekte beinhalten, die durch einen Benutzer als dieselben Objekte erkennbar sind, die in den Eingabequellendomänendaten 302 beinhaltet sind. Zum Beispiel können Zieldomänendaten 342 einen Anhänger beinhalten, der eine A-Rahmen-Deichsel aufweist, die einer A-Rahmen-Anhängerdeichsel entspricht, die in den Eingabequelldomänendaten 302 vorkommt.The
Während des Trainings kann das Domänenübertragungsnetzwerk 300 auch Ausgabequellendomänendaten 362 aus Eingabezieldomänendaten 304 erzeugen, d. h., um Zieldomänendaten in Quellendomänendaten umzuwandeln, die eine ähnliche Semantik wie die ursprünglichen Zieldomänendaten aufweisen.During training, the
In einer beispielhaften Umsetzung verarbeitet das Domänenübertragungsnetzwerk 300 die Zieldomänendaten 304 unter Verwendung einer oder mehrerer Zieldomänencodiererschichten 350 des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Zieldomäne sind, um eine Darstellung 352 auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen, um Eingabezieldomänendaten 304 umzuwandeln. Die Zieldomänencodiererschichten 350 des neuronalen Netzwerks auf niedriger Ebene können nur verwendet werden, wenn Daten aus der Zieldomäne codiert werden und nicht, wenn Daten aus der Quellendomäne codiert werden.In an exemplary implementation, the
Das Domänenübertragungsnetzwerk 300 verarbeitet dann die Darstellung 352 auf niedriger Ebene unter Verwendung der einen oder mehreren Codiererschichten 320 des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, um eine Einbettung 324 der Eingabezieldomänendaten 304 zu erzeugen.The
Das Domänenübertragungsnetzwerk 300 verarbeitet die Einbettung 324 der Eingabezieldomänendaten unter Verwendung der einen oder mehreren Decodiererschichten 330 des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, um eine Merkmalsdarstellung 334 auf hoher Ebene von Merkmalen der Zieldomänendaten 304 zu erzeugen. Ähnlich der Einbettung 322 kann die Einbettung 324 ein Vektor von Wahrscheinlichkeitsverteilungen sein, wobei jede Wahrscheinlichkeitsverteilung ein latentes Attribut der Eingabedaten darstellt.The
Das Domänenübertragungsnetzwerk 300 verarbeitet dann die Merkmalsdarstellung 334 auf hoher Ebene der Merkmale der Eingabezieldomänendaten unter Verwendung einer oder mehrerer Quellendomänendecodiererschichten 360 des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für das Erzeugen von Daten aus der Quellendomäne sind, um Ausgabequellendomänendaten 362 zu erzeugen, die aus der Quellendomäne stammen, aber eine ähnliche Semantik wie die Eingabezieldomänendaten 304 aufweisen. Das heißt, die Ausgabequellendomänendaten 362 weisen Verteilungsdatenwerte auf, die mit denen von Daten aus der Quellendomäne übereinstimmen, aber eine ähnliche Semantik wie die Eingabezieldomänendaten 304 aufweisen. Zum Beispiel kann ein Quellendomänenbild, das ein oder mehrere darin abgebildete Objekte aufweist, für die Zieldomäne erzeugt werden, sodass die erzeugten Zieldomänenbilder aus der Zieldomäne zu stammen scheinen, aber die Semantik der entsprechenden Quellendomänenbilder beibehalten, z. B. das eine oder die mehreren Objekte abbilden. Während des Trainings werden die Zieldomänendecodiererschichten 340 des neuronalen Netzwerks auf niedriger Ebene gemeinsam mit den Zieldomänencodiererschichten 350 des neuronalen Netzwerks und den Quellendomänendecodiererschichten 310 des neuronalen Netzwerks auf niedriger Ebene trainiert.The
Die Eingabedaten XA können Daten in der Quellendomäne sein, wobei der Index „A“ eine erste Domäne, z. B. ein Tagesbild, darstellt, und die Eingabedaten XB können Daten in der Zieldomäne sein, wobei der Index „B“ eine zweite Domäne der Daten darstellt, z. B. ein Nachtbild. Die Daten X'AA, X'BA, X'AB, X'BB stellen Ausgabedaten dar, die durch das Domänenübertragungsnetzwerk 300 erzeugt werden, wobei die Indizes jeweils Inter- und Intradomänenübertragungen der Daten X' darstellen. Wenn zum Beispiel die Eingabedaten ein Bild sind, das ein oder mehrere Objekte in der ersten Domäne abbildet, kann das Domänenübertragungsnetzwerk 300 Bilder X'AA, X'BA, X'AB, X'BB erzeugen, die ein Bild darstellen, welches das eine oder die mehreren Objekte in der ersten Domäne (X'AA), z. B. tagsüber, einer zweiten Domäne (X'BB), z. B. nachts, einer dritten Domäne (X'AB), z. B. morgens, und einer vierten Domäne (X'BB), z. B. in der Dämmerung, abbildet. Die Elemente Z AA, ZAB, ZBA, ZBB stellen das latente Attribut oder die latenten Attribute dar, die durch die Codiererschichten 320 des neuronalen Netzes auf hoher Ebene erzeugt werden.The input data a daily image, and the input data X B may be data in the target domain, where the index "B" represents a second domain of the data, e.g. B. a night picture. The data X' AA , X' BA , X' AB , For example, if the input data is an image depicting one or more objects in the first domain, the
Während des Trainings kann das Domänenübertragungsnetzwerk 300 eine herkömmliche Verlustfunktion des Domänenübertragungsnetzwerks 300 modifizieren, sodass latente Attribute aus der gleichen Wahrscheinlichkeitsverteilung ausgewählt werden. Eine herkömmliche Verlustfunktion kann einen Verlustwert durch Berechnen einer Wahrscheinlichkeit bestimmen, dass ein Ergebnis und Ground-Truth-Daten der gleichen Wahrscheinlichkeitsverteilung entsprechen. In dieser Schrift beschriebene Techniken fügen die Bedingung hinzu, dass latente Attribute aus der gleichen Wahrscheinlichkeitsverteilung ausgewählt werden. Durch Auswählen von latenten Attributen aus der gleichen Wahrscheinlichkeitsverteilung können Merkmale innerhalb der Eingabequellendomänendaten 304 in den Ausgabezieldomänendaten 342 dargestellt werden. Zum Beispiel können Merkmale, wie vorstehend erörtert, Abschnitte von Objekten darstellen, die in einem Bild abgebildet sind.During training, the
Die herkömmliche Verlustfunktion kann durch Minimieren einer herkömmlichen maximalen mittleren Abweichung (maximum mean discrepancy - MMD) zwischen den Einbettungen 322, 324, z. B. den latenten Attributen ZAA, ZAB, ZBA, ZBB, modifiziert werden. Die maximale mittlere Abweichung kann als eine numerische Differenz zwischen den Einbettungen 322, 324 definiert sein, wie etwa die Differenz zwischen einem Mittelwert einer Wahrscheinlichkeitsverteilung aus der Einbettung 322 und einem Mittelwert einer Wahrscheinlichkeitsverteilung aus der Einbettung 324. Während des Trainings des Domänenübertragungsnetzwerks 300 kann die maximale mittlere Abweichung verwendet werden, um die herkömmliche Verlustfunktion zu modifizieren, um eine oder mehrere Gewichtungen innerhalb des Domänenübertragungsnetzwerks 300 zu aktualisieren. Die Gleichungen 1 bis 6 veranschaulichen die Modifikation der herkömmlichen Verlustfunktion (loss function -LF) unter Verwendung der maximalen mittleren Abweichung:
Wie in
Wie in den
Gleichung 7 veranschaulicht eine Verlustfunktion für einen Diskriminator 502, die einen vierdimensionalen Vektor erzeugt:
Der Diskriminator 502 kann mehrere verschiedene Arten von Schichten auf Grundlage von Konnektivität und Gewichtungsverteilung beinhalten. Wie in
Ein tiefes neuronales Netzwerk, das unter Verwendung der in dieser Schrift beschriebenen Techniken trainiert wird, kann das Training von tiefen neuronalen Netzwerken verbessern, indem ein One-Shot- oder Few-Shot-Training ermöglicht wird. Wie vorstehend erörtert, kann das Erzeugen von Trainingsdatensätzen für ein tiefes neuronales Netzwerk das Erfassen von Tausenden von beispielhaften Eingabebildern zusammen mit der entsprechenden Ground Truth erfordern. Der Trainingsdatensatz sollte eine Vielzahl von Beispielen aller unterschiedlichen Arten von Objekten beinhalten, die in Beispielen aller Umweltbedingungen trainiert werden, die während des Betriebs des tiefen neuronalen Netzwerks erwartet werden. Zum Beispiel kann ein tiefes neuronales Netzwerk trainiert werden, um Fahrzeuganhänger zu identifizieren und zu lokalisieren. Während des Trainings sollten alle Arten und Konfigurationen von Anhängern, die beim Betreiben eines Fahrzeugs auftreten können, in einem Trainingsdatensatz beinhaltet sein. Ferner sollte jede Art und Konfiguration von Anhängern in dem Trainingsdatensatz in jeder der unterschiedlichen Umweltbedingungen beinhaltet sein, die beim Betreiben des tiefen neuronalen Netzwerks auftreten können. Die Umweltbedingungen beinhalten Wetter- und Lichtbedingungen, wie etwa Regen, Schnee, Nebel, helles Sonnenlicht, Nacht usw.A deep neural network trained using the techniques described in this paper can improve the training of deep neural networks by enabling one-shot or few-shot training. As discussed above, generating training datasets for a deep neural network may require acquiring thousands of example input images along with the corresponding ground truth. The training data set should contain a variety of examples of all different types of objects trained in examples of all environmental conditions expected during operation of the deep neural network. For example, a deep neural network can be trained to identify and locate vehicle trailers. During training, all types and configurations of trailers that may occur when operating a vehicle should be included in a training data set. Furthermore, each type and configuration of followers in the training data set should be included in each of the different environmental conditions that may occur when operating the deep neural network. Environmental conditions include weather and lighting conditions such as rain, snow, fog, bright sunlight, night, etc.
Das Erfassen eines Trainingsdatensatzes, der eine Vielzahl von Bildern beinhaltet, die alle Arten und Konfigurationen von zu identifizierenden und lokalisierenden Objekten unter allen Arten von Umweltbedingungen beinhaltet, kann teuer und zeitaufwändig sein. In dieser Schrift erörterte Techniken können das Trainieren von tiefen neuronalen Netzwerken verbessern, indem sie ermöglichen, dass die tiefen neuronalen Netzwerke trainiert werden, indem ein einzelnes Eingabebild verwendet wird und das Eingabebild modifiziert wird, um unterschiedliche Arten von Objekten in unterschiedlichen Konfigurationen unter unterschiedlichen Umweltbedingungen zu simulieren. Zum Beispiel kann eine neue Art oder Konfiguration eines Objekts durch ein Fahrzeug während des Betriebs erfasst werden. Das einzelne Bild eines Objekts kann an einen Servercomputer zurückgesendet und verwendet werden, um ein tiefes neuronales Netzwerk durch Simulieren einer Vielzahl von Ausrichtungen und Positionen des neuen Objekts auf Grundlage von zuvor erfassten Trainingsbildern, die Ground Truth beinhalten, neu zu trainieren. In dieser Schrift beschriebene Techniken ermöglichen das Trainieren eines tiefen neuronalen Netzwerks unter Verwendung begrenzter Trainingsdatensätze, wodurch Zeit und Geld gespart werden.Acquiring a training data set that includes a variety of images containing all types and configurations of objects to be identified and located under all types of environmental conditions can be expensive and time-consuming. Techniques discussed in this paper can improve the training of deep neural networks by allowing the deep neural networks to be trained using a single input image and modifying the input image to produce different types of objects in different configurations under different environmental conditions simulate. For example, a new type or configuration of an object may be detected by a vehicle during operation. The single image of an object can be sent back to a server computer and used to retrain a deep neural network by simulating a variety of orientations and positions of the new object based on previously acquired training images that contain ground truth. Techniques described in this paper enable training a deep neural network using limited training data sets, saving time and money.
In dieser Schrift beschriebene Techniken können auf tiefe neuronale Netzwerke angewendet werden, die Bilddaten, Videodaten und Daten aus menschlicher Sprache verarbeiten. Bilder können unter Verwendung von neuronalen Faltungsnetzwerken verarbeitet werden. Neuronale Faltungsnetzwerke beinhalten Faltungsschichten, die Bilder codieren, um latente Variablen zu bilden, die durch Faltungsschichten decodiert werden können, welche die latenten Variablen rekonstruieren, um Ausgabebilddaten zu bilden. Videodaten und Daten aus menschlicher Sprache können unter Verwendung von rekurrenten neuronalen Netzwerken verarbeitet werden. Rekurrente neuronale Netzwerke beinhalten einen Speicher, der Ergebnisse aus einer Vielzahl von vorherigen Decodierungsschichten und vorherigen Codierungsschichten speichert, um sie mit aktuellen Codierungs- und Decodierungsschichten zu kombinieren. In einem beispielhaften rekurrenten neuronalen Netzwerk, das Videodaten verarbeitet, können die Codierungs- und Decodierungsschichten Faltungsschichten beinhalten. In einem beispielhaften rekurrenten neuronalen Netzwerk, das menschliche Sprache verarbeitet, können die Codierungs- und Decodierungsschichten vollständig verbundene Schichten sein. Beispielhafte neuronale Faltungsnetzwerke oder rekurrente neuronale Netzwerke können als Domänenübertragungsnetzwerke konfiguriert sein, die Verlustfunktionen und Diskriminatoren beinhalten, wie vorstehend in Bezug auf die
Die Knoten 805 werden mitunter als künstliche Neuronen 805 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen nachzubilden. Ein Satz von Eingaben (dargestellt durch die Pfeile) in jedes Neuron 805 wird jeweils mit jeweiligen Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine, unter Umständen um einen Bias angepasste, Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann einer Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 805 eine Ausgabe bereitstellt. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt geeigneter Funktionen handeln, die in der Regel basierend auf einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in
Das DNN 800 kann dahingehend trainiert werden, Daten, z. B. von dem CAN-Bus des Fahrzeugs 105, Sensoren oder einem anderen Netzwerk, als Eingabe zu akzeptieren und eine Verteilung möglicher Ausgaben auf Grundlage der Eingabe zu erzeugen. Das DNN 800 kann mithilfe von Ground-Truth-Daten trainiert werden, d. h. Daten über eine reale Bedingung oder einen realen Zustand. Zum Beispiel kann das DNN 800 durch einen Prozessor des Servers 145 mit Ground-Truth-Daten trainiert oder mit zusätzlichen Daten aktualisiert werden. Das DNN 800 kann über das Netzwerk 135 an das Fahrzeug 105 übertragen werden. Die Gewichtungen können zum Beispiel unter Verwendung einer Gauß-Verteilung eingeleitet werden und ein Bias für jeden Knoten 805 kann auf null gesetzt werden. Das Trainieren des DNN 800 kann Aktualisieren von Gewichtungen und Bias durch geeignete Techniken beinhalten, wie etwa Rückpropagierung mit Optimierungen. Ground-Truth-Daten können unter anderem Daten, die Objekte innerhalb von Daten vorgeben, oder Daten beinhalten, die einen physischen Parameter vorgeben, z. B. Winkel, Geschwindigkeit, Entfernung oder Winkel eines Objektes bezogen auf ein anderes Objekt.The
Bei Block 915 wird die Darstellung auf niedriger Ebene unter Verwendung einer oder mehrerer Codiererschichten des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, verarbeitet, um eine Einbettung, z. B. latente Attribute, der Eingabezieldomänendaten zu erzeugen. Bei Block 920 werden die Einbettungen der Eingabequellendomänendaten unter Verwendung einer oder mehrerer Decodiererschichten des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, verarbeitet, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen.At
Bei Block 925 wird die Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer oder mehrerer Zieldomänendecodiererschichten des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für das Erzeugen von Daten aus der Zieldomäne sind, verarbeitet, um Ausgabezieldomänendaten zu erzeugen, die aus der Zieldomäne stammen, aber eine ähnliche Semantik wie die Eingabequellendomänendaten aufweisen.At block 925, the high-level feature representation of the features of the input source domain data is processed using one or more low-level target domain decoder layers of the neural network specific to generating data from the target domain to generate output target domain data derived from the target domain , but have similar semantics to the input source domain data.
Bei Block 930 werden eine oder mehrere Gewichtungen des Domänenübertragungsnetzwerks auf Grundlage einer Verlustfunktion aktualisiert. In einer beispielhaften Umsetzung wird die maximale mittlere Abweichung zwischen verschiedenen Einbettungen berechnet. In dieser Umsetzung wird die maximale mittlere Abweichung verwendet, um eine herkömmliche Verlustfunktion zu modifizieren. In einer anderen beispielhaften Umsetzung beinhaltet das Domänenübertragungsnetzwerk einen Diskriminator und der Diskriminator erzeugt eine Vorhersage, zu welcher Domäne eine Einbettung gehört. Die Vorhersage kann mit Ground-Truth-Daten verglichen werden und die Verlustfunktion für den Diskriminator kann auf Grundlage des Vergleichs aktualisiert werden. Zusätzlich oder alternativ können Gewichtungen des Domänenübertragungsnetzwerkes auf Grundlage des Vergleichs aktualisiert werden. Das Domänenübertragungsnetzwerk kann seine Gewichtungen gemäß einer Aktualisierungsregel, z. B. einer ADAM-Aktualisierungsregel, einer Aktualisierungsregel mit stochastischem Gradientenabstieg (SGD), aktualisieren. Der Prozess 900 endet dann.At
Bei Block 1020 wird die Einbettung der Eingabezieldomänendaten unter Verwendung der einen oder mehreren Decodiererschichten des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt werden, verarbeitet, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabezieldomänendaten zu erzeugen. Bei Block 1025 wird die Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabezieldomänendaten unter Verwendung einer oder mehrerer Quellendomänendecodiererschichten des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für das Erzeugen von Daten aus der Quellendomäne sind, verarbeitet, um Ausgabequellendomänendaten zu erzeugen, die aus der Quellendomäne stammen, aber eine ähnliche Semantik wie die Eingabequellendomänendaten aufweisen.At
Bei Block 1030 werden eine oder mehrere Gewichtungen des Domänenübertragungsnetzwerks auf Grundlage einer Verlustfunktion aktualisiert. In einer beispielhaften Umsetzung wird die maximale mittlere Abweichung zwischen verschiedenen Einbettungen berechnet. In dieser Umsetzung wird die maximale mittlere Abweichung verwendet, um eine herkömmliche Verlustfunktion zu modifizieren. In einer anderen beispielhaften Umsetzung beinhaltet das Domänenübertragungsnetzwerk einen Diskriminator und der Diskriminator erzeugt eine Vorhersage, zu welcher Domäne eine Einbettung gehört. Die Vorhersage kann mit Ground-Truth-Daten verglichen werden und die Verlustfunktion für den Diskriminator kann auf Grundlage des Vergleichs aktualisiert werden. Zusätzlich oder alternativ können Gewichtungen des Domänenübertragungsnetzwerkes auf Grundlage des Vergleichs aktualisiert werden. Das Domänenübertragungsnetzwerk kann seine Gewichtungen gemäß einer Aktualisierungsregel, z. B. einer ADAM-Aktualisierungsregel, einer Aktualisierungsregel mit stochastischem Gradientenabstieg (SGD), aktualisieren.At
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder der QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem Folgende: einen Fahrzeugbordcomputer, eine Computer-Workstation, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.In general, the computing systems and/or devices described may employ any of a variety of computer operating systems, including, but not limited to, versions and/or variants of the Ford Sync® application, the AppLink/Smart Device Link middleware, the Microsoft Automotive® operating system, the operating system Microsoft Windows®, the Unix operating system (e.g. the Solaris® operating system, distributed by Oracle Corporation of Redwood Shores, California), the AIX UNIX operating system, distributed by International Business Machines of Armonk, New York, the Linux operating system, the Operating systems Mac OSX and iOS, distributed by Apple Inc. in Cupertino, California, the BlackBerry OS, distributed by Blackberry, Ltd. in Waterloo, Canada, and the Android operating system, developed by Google, Inc. and the Open Handset Alliance, or the QNX® CAR Platform for Infotainment, offered by QNX Software Systems. Examples of computing devices include, but are not limited to, the following: a vehicle onboard computer, a computer workstation, a server, a desktop, notebook, laptop or handheld computer or other computing system and/or other computing device.
Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTMI, usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung vielfältiger computerlesbarer Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.Computers and computing devices generally include computer-executable instructions, where the instructions may be executed by one or more computing devices, such as those listed above. Computer-executable instructions may be compiled or evaluated by computer programs created using a variety of programming languages and/or technologies, including, but not limited to, and either alone or in combination, Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic , Java Script, Perl, HTML, etc. Some of these applications can be compiled and executed on a virtual machine, such as the Java Virtual Machine, the Dalvik Virtual Machine or the like. In general, a processor (e.g. a microprocessor) receives instructions, e.g. B. from memory, a computer-readable medium, etc., and executes those instructions, thereby performing one or more processes, including one or more of the processes described in this document. Such instructions and other data may be stored and transmitted using a variety of computer-readable media. A file in a computing device is generally a collection of data stored on a computer-readable medium such as a storage medium, random access memory, etc.
Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nicht transitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Nicht flüchtige Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher beinhalten. Flüchtige Medien können zum Beispiel einen dynamischen Direktzugriffsspeicher (dynamic random-access memory - DRAM) gehören, der üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der mit einem Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.Memory may include a computer-readable medium (also referred to as a processor-readable medium), which includes any non-transitory (e.g., tangible) medium that is involved in providing data (e.g., instructions) to be read by a computer ( B. by a processor of a computer) can be read. Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media can include, for example, image and magnetic disks and other permanent storage devices. Volatile media may include, for example, dynamic random-access memory (DRAM), which is typically main memory. Such instructions may be transmitted through one or more transmission media, including coaxial cables, copper wire and fiber optics, including Wires that make up a system bus that is coupled to a processor of an ECU. Common forms of computer-readable media include, for example, the following: a floppy disk, a foil storage disk, a hard drive, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD, any other optical medium, punched cards, punched tape, any other physical medium with hole patterns, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or any other memory cartridge or any other medium that can be read by a computer.
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung beinhaltet, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Ein Dateisystem kann von einem Computerbetriebssystem aus zugänglich sein und es kann Dateien beinhalten, die in verschiedenen Formaten gespeichert sind. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.Databases, data repositories or other data stores described in this document may include various types of mechanisms for storing, accessing and retrieving various types of data, including a hierarchical database, a set of files in a file system, an application database in a user's own format, a relational database management system (RDBMS), etc. Each such data store is generally included in a computing device employing a computer operating system, such as one of those mentioned above, and is implemented in one or more of a variety of ways accessed via a network. A file system may be accessible from a computer operating system and may include files stored in various formats. An RDBMS generally uses the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the previously mentioned PL/SQL language.
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on computer-readable media (e.g., disks, memories, etc.) associated therewith .) are saved. A computer program product may include such instructions stored on computer-readable media for performing the functions described in this document.
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift dem Zweck der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.With respect to the media, processes, systems, procedures, heuristics, etc. described in this document, it is to be understood that although the steps of such processes, etc. have been described as occurring in a particular order, such processes may be implemented in such a way that the steps described are carried out in an order that differs from the order described in this document. It is further understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. In other words, the descriptions of processes in this document are for the purpose of illustrating certain embodiments and should in no way be construed as limiting the claims.
Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es wird erwartet und ist beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und ausschließlich durch die folgenden Patentansprüche eingeschränkt ist.Accordingly, it is to be understood that the foregoing description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided will become apparent to those skilled in the art upon reading the foregoing description. The scope of the invention should be determined not with reference to the foregoing description, but rather with reference to the appended claims in conjunction with the full scope of equivalents to which such claims are entitled. It is expected and intended that there will be future developments in the prior art discussed in this document and that the systems and methods disclosed will be incorporated into such future embodiments. Overall, it is to be understood that the invention may be modified and varied and is limited solely by the following claims.
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich etwas Anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.All expressions used in the claims are intended to have their general and ordinary meaning as understood by those skilled in the art, unless expressly stated otherwise in this document. In particular, the use of the singular articles, such as "a", "an", "the", "the", "that", etc., is to be interpreted as meaning that one or more of the listed elements are mentioned, unless a patent claim expressly states this states the opposite restriction.
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor ausführbar sind, um den Prozessor zu Folgendem zu veranlassen: Erzeugen einer Darstellung auf niedriger Ebene der Eingabequellendomänendaten durch Verarbeiten von Quellendomänendaten unter Verwendung einer Quellendomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die Daten aus der Quellendomäne entspricht, um eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen; Erzeugen einer Einbettung der Eingabequellendomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; Erzeugen einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten durch Verarbeiten der Einbettung des Eingabequellendomänenbildes unter Verwendung einer Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen; Erzeugen von Ausgabezieldomänendaten in der Zieldomäne, die eine Semantik beinhalten, die den Eingabequellendomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer Domänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Daten aus dem Ziel erzeugen; und Modifizieren einer Verlustfunktion, sodass latente Attribute, die der Einbettung entsprechen, aus einer gleichen Wahrscheinlichkeitsverteilung ausgewählt werden.According to the present invention, there is provided a system comprising a computer including a processor and a memory, the memory storing instructions executable by the processor to cause the processor to: generate a low-level representation of the Input source domain data by processing source domain data using a low-level source domain encoder layer of a neural network corresponding to data from the source domain to form a low-level representation of the input source domain to generate personal data; generating an embedding of the input source domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; Generate a high-level feature representation of features of the input source domain data by processing the embedding of the input source domain image using a high-level decoder layer of the neural network shared by data from the source and target domains to produce a high-level feature representation of features of the input source domain data to create; generating output target domain data in the target domain that includes semantics corresponding to the input source domain data by processing the high-level feature representation of the features of the input source domain data using a low-level domain decoder layer of the neural network that generates data from the target; and modifying a loss function so that latent attributes corresponding to the embedding are selected from an equal probability distribution.
Gemäß einer Ausführungsform sind die Codiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die Decodiererschicht des neuronalen Netzwerks auf niedriger Ebene und die Decodiererschicht des neuronalen Netzwerks auf hoher Ebene in neuronalen Faltungsnetzwerken beinhaltet.According to one embodiment, the low-level neural network encoder layer, the high-level neural network encoder layer, the low-level neural network decoder layer, and the high-level neural network decoder layer are included in convolutional neural networks.
Gemäß einer Ausführungsform sind die Codiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die Decodiererschicht des neuronalen Netzwerks auf niedriger Ebene und die Decodiererschicht des neuronalen Netzwerks auf hoher Ebene in rekurrenten neuronalen Netzwerken beinhaltet.According to one embodiment, the low-level neural network encoder layer, the high-level neural network encoder layer, the low-level neural network decoder layer, and the high-level neural network decoder layer are included in recurrent neural networks.
Gemäß einer Ausführungsform beinhalten die Eingabequellendomäne und die Zieldomäne Bilddaten, Videodaten und Daten aus menschlicher Sprache.According to one embodiment, the input source domain and the target domain include image data, video data, and human speech data.
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die Verlustfunktion durch Berechnen einer maximalen mittleren Abweichung zwischen einem ersten latenten Attribut, das einer Quellendomäne entspricht, und einem zweiten latenten Attribut, das einer Zieldomäne entspricht, zu modifizieren.According to one embodiment, the processor is further programmed to modify the loss function by calculating a maximum average deviation between a first latent attribute corresponding to a source domain and a second latent attribute corresponding to a target domain.
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die Verlustfunktion auf Grundlage einer Vorhersage von einem Diskriminator zu modifizieren, wobei die Vorhersage eine Domäne angibt, die einem latenten Attribut entspricht.According to one embodiment, the processor is further programmed to modify the loss function based on a prediction from a discriminator, the prediction indicating a domain corresponding to a latent attribute.
Gemäß einer Ausführungsform umfasst der Diskriminator eine oder mehrere Faltungsschichten, eine oder mehrere Batch-Normalisierungsschichten und eine oder mehrere Schichten einer gleichgerichteten linearen Einheit.According to one embodiment, the discriminator includes one or more convolution layers, one or more batch normalization layers, and one or more rectified linear unit layers.
Gemäß einer Ausführungsform umfasst eine letzte Schicht des Diskriminators eine Softmax-Schicht.According to one embodiment, a final layer of the discriminator comprises a softmax layer.
Gemäß einer Ausführungsform erzeugt der Diskriminator einen mehrdimensionalen Vektor, der die Vorhersage darstellt.According to one embodiment, the discriminator generates a multidimensional vector representing the prediction.
Gemäß einer Ausführungsform umfasst der mehrdimensionale Vektor einen vierdimensionalen Vektor, der vier Domänen entspricht.According to one embodiment, the multidimensional vector includes a four-dimensional vector corresponding to four domains.
Gemäß einer Ausführungsform umfasst der mehrdimensionale Vektor einen zweidimensionalen Vektor, der zwei Domänen entspricht.According to one embodiment, the multidimensional vector includes a two-dimensional vector corresponding to two domains.
Gemäß einer Ausführungsform umfasst eine Verlustfunktion für den Diskriminator LD = Z̃AAlogD(ZAA)+Z̃BBlogD(ZBB) + Z̃ABlogD (ZAB) +ZBAlogD (ZBA)' wobei LD als die Verlustfunktion definiert ist, Z̃AA, Z̃BB, Z̃AB, Z̃BA als Kennzeichnungen für die entsprechende Domäne definiert sind, log D als eine Schätzung definiert ist, dass die Wahrscheinlichkeit für das latente Attribut einer spezifischen Domäne entspricht, und ZAA, ZAB, ZBA, ZBB als vorhergesagte Domänenausgaben definiert sind.According to one embodiment, a loss function for the discriminator comprises L D = Z̃ AA logD(Z AA )+Z̃ BB logD(Z BB ) + Z̃ ABl ogD (Z AB ) +Z BA logD (Z BA ) ' where L D is the loss function is defined, Z̃ AA , Z̃ BB , Z̃ AB , Z̃ BA are defined as labels for the corresponding domain, log D is defined as an estimate that the probability for the latent attribute corresponds to a specific domain, and Z AA , Z AB , Z BA , Z BB are defined as predicted domain outputs.
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Darstellung auf niedriger Ebene der Eingabezieldomänendaten durch Verarbeiten der Eingabezieldomänendaten unter Verwendung einer Zieldomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Zieldomäne ist, zu erzeugen; eine Einbettung der Eingabezieldomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, zu erzeugen; eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabezieldomänendaten durch Verarbeiten der Einbettung des Eingabezieldomänenbildes unter Verwendung der Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, zu erzeugen; und Ausgabequellendomänendaten aus der Quellendomäne, die eine Semantik beinhalten, die den Eingabezieldomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale des Zielquellendomänenbilds unter Verwendung einer Quellendomänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die spezifisch für Daten aus der Quellendomäne ist, zu erzeugen.According to one embodiment, the processor is further programmed to generate a low-level representation of the input target domain data by processing the input target domain data using a low-level target domain encoder layer of a neural network specific to data from the target domain; an embedding of the input target domain data through processing generate the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; generate a high-level feature representation of features of the input target domain data by processing the embedding of the input target domain image using the high-level decoder layer of the neural network shared by data from the source and target domains; and generate output source domain data from the source domain containing semantics corresponding to the input target domain data by processing the high-level feature representation of the features of the target source domain image using a low-level source domain decoder layer of the neural network specific to data from the source domain.
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Erzeugen einer Darstellung auf niedriger Ebene der Eingabequellendomänendaten durch Verarbeiten von Quellendomänendaten unter Verwendung einer Quellendomänencodiererschicht eines neuronalen Netzwerks auf niedriger Ebene, die Daten aus der Quellendomäne entspricht, um eine Darstellung auf niedriger Ebene der Eingabequellendomänendaten zu erzeugen; Erzeugen einer Einbettung der Eingabequellendomänendaten durch Verarbeiten der Darstellung auf niedriger Ebene unter Verwendung einer Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird; Erzeugen einer Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten durch Verarbeiten der Einbettung des Eingabequellendomänenbildes unter Verwendung einer Decodiererschicht des neuronalen Netzwerks auf hoher Ebene, die von Daten aus der Quellen- und Zieldomäne gemeinsam genutzt wird, um eine Merkmalsdarstellung auf hoher Ebene von Merkmalen der Eingabequellendomänendaten zu erzeugen; Erzeugen von Ausgabezieldomänendaten in der Zieldomäne, die eine Semantik beinhalten, die den Eingabequellendomänendaten entspricht, durch Verarbeiten der Merkmalsdarstellung auf hoher Ebene der Merkmale der Eingabequellendomänendaten unter Verwendung einer Domänendecodiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Daten aus dem Ziel erzeugen; und Modifizieren einer Verlustfunktion, sodass latente Attribute, die der Einbettung entsprechen, aus einer gleichen Wahrscheinlichkeitsverteilung ausgewählt werden.According to the present invention, a method includes: generating a low-level representation of the input source domain data by processing source domain data using a low-level source domain encoder layer of a neural network corresponding to data from the source domain to generate a low-level representation of the input source domain data; generating an embedding of the input source domain data by processing the low-level representation using a high-level encoder layer of the neural network shared by data from the source and target domains; Generate a high-level feature representation of features of the input source domain data by processing the embedding of the input source domain image using a high-level decoder layer of the neural network shared by data from the source and target domains to produce a high-level feature representation of features of the input source domain data to create; generating output target domain data in the target domain that includes semantics corresponding to the input source domain data by processing the high-level feature representation of the features of the input source domain data using a low-level domain decoder layer of the neural network that generates data from the target; and modifying a loss function so that latent attributes corresponding to the embedding are selected from an equal probability distribution.
In einem Aspekt der Erfindung sind die Codiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die Decodiererschicht des neuronalen Netzwerks auf niedriger Ebene und die Decodiererschicht des neuronalen Netzwerks auf hoher Ebene in neuronalen Faltungsnetzwerken beinhaltet.In one aspect of the invention, the low-level neural network encoder layer, the high-level neural network encoder layer, the low-level neural network decoder layer, and the high-level neural network decoder layer are included in convolutional neural networks.
In einem Aspekt der Erfindung sind die Codiererschicht des neuronalen Netzwerks auf niedriger Ebene, die Codiererschicht des neuronalen Netzwerks auf hoher Ebene, die Decodiererschicht des neuronalen Netzwerks auf niedriger Ebene und die Decodiererschicht des neuronalen Netzwerks auf hoher Ebene in rekurrenten neuronalen Netzwerken beinhaltet.In one aspect of the invention, the low-level neural network encoder layer, the high-level neural network encoder layer, the low-level neural network decoder layer, and the high-level neural network decoder layer are included in recurrent neural networks.
In einem Aspekt der Erfindung beinhalten die Eingabequellendomäne und die Zieldomäne Bilddaten, Videodaten und Daten aus menschlicher Sprache.In one aspect of the invention, the input source domain and the target domain include image data, video data and human speech data.
In einem Aspekt der Erfindung beinhaltet das Verfahren Modifizieren der Verlustfunktion durch Berechnen einer maximalen mittleren Abweichung zwischen einem ersten latenten Attribut, das einer Quellendomäne entspricht, und einem zweiten latenten Attribut, das einer Zieldomäne entspricht.In one aspect of the invention, the method includes modifying the loss function by calculating a maximum mean deviation between a first latent attribute corresponding to a source domain and a second latent attribute corresponding to a target domain.
In einem Aspekt der Erfindung beinhaltet das Verfahren Modifizieren der Verlustfunktion auf Grundlage einer Vorhersage von einem Diskriminator, wobei die Vorhersage eine Domäne angibt, die einem latenten Attribut entspricht.In one aspect of the invention, the method includes modifying the loss function based on a prediction from a discriminator, the prediction indicating a domain corresponding to a latent attribute.
In einem Aspekt der Erfindung umfasst der Diskriminator eine oder mehrere Faltungsschichten, eine oder mehrere Batch-Normalisierungsschichten und eine oder mehrere Schichten einer gleichgerichteten linearen Einheit.In one aspect of the invention, the discriminator includes one or more convolution layers, one or more batch normalization layers, and one or more rectified linear unit layers.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022111402.3A DE102022111402A1 (en) | 2022-05-06 | 2022-05-06 | GENERATIVE DOMAIN ADAPTATION IN A NEURONAL NETWORK |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022111402.3A DE102022111402A1 (en) | 2022-05-06 | 2022-05-06 | GENERATIVE DOMAIN ADAPTATION IN A NEURONAL NETWORK |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022111402A1 true DE102022111402A1 (en) | 2023-11-09 |
Family
ID=88414263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022111402.3A Pending DE102022111402A1 (en) | 2022-05-06 | 2022-05-06 | GENERATIVE DOMAIN ADAPTATION IN A NEURONAL NETWORK |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022111402A1 (en) |
-
2022
- 2022-05-06 DE DE102022111402.3A patent/DE102022111402A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102018121595B4 (en) | UNSUPERVISED TRAINING OF AGENTS FOR AUTONOMOUS DRIVING APPLICATIONS | |
DE102021108470A1 (en) | REALISTIC PICTURE PERSPECTIVE TRANSFORMATION USING NEURAL NETWORKS | |
DE102020122357A1 (en) | DRIVER AWARENESS SYSTEM | |
DE102020122086A1 (en) | MEASURING CONFIDENCE IN DEEP NEURAL NETWORKS | |
DE102020128978A1 (en) | TRAINING DEEP NEURAL NETWORKS WITH SYNTHETIC IMAGES | |
DE102021112616A1 (en) | SELF-MONITORED ESTIMATION OF A WATCHED VEHICLE FLOAT | |
EP3828758A1 (en) | Object classification method, object classification circuit, motor vehicle | |
DE102021128041A1 (en) | IMPROVEMENT OF A VEHICLE NEURAL NETWORK | |
DE102021109395A1 (en) | METHODS, SYSTEMS AND DEVICES FOR USER UNDERSTANDABLE EXPLAINABLE LEARNING MODELS | |
DE102021101281A1 (en) | PRIORITY VEHICLE MANAGEMENT | |
DE102022123187A1 (en) | Adaptive reduction of neural network systems | |
DE102022132111A1 (en) | SYSTEMS AND METHODS FOR DETECTING DEEP NEURAL NETWORK INFERENCE QUALITY USING IMAGE/DATA MANIPULATION WITHOUT GROUND TRUTH INFORMATION | |
DE102021104178A1 (en) | DYNAMICALLY ROUTED FIELD DISCRIMINATOR | |
DE102021122407A1 (en) | SEGMENTATION AND CLASSIFICATION OF POINT CLOUD DATA | |
DE102020127051A1 (en) | Method for determining safety-critical output values using a data analysis device for a technical entity | |
DE102023209384A1 (en) | SYSTEM AND METHOD FOR DISTRIBUTION-AWARENESS TARGET PREDICTION FOR MODULAR AUTONOMOUS VEHICLE CONTROL | |
DE102022123358A1 (en) | FREQUENCY-BASED FEATURE RESTRICTION FOR A NEURAL NETWORK | |
US20220188621A1 (en) | Generative domain adaptation in a neural network | |
DE102023100515A1 (en) | CALIBRATION OF HOLOGRAPHIC DISPLAYS THROUGH MACHINE LEARNING | |
DE102021131484A1 (en) | MEASURING TRUST IN DEEP NEURAL NETWORKS | |
DE102022127647A1 (en) | CALIBRATING PARAMETERS WITHIN A VIRTUAL ENVIRONMENT USING REINFORCEMENT LEARNING | |
DE102021107247A1 (en) | DOMAIN TRANSLATION NETWORK TO PERFORM AN IMAGE TRANSLATION | |
DE102022123257A1 (en) | Selective elimination of the counteracting robustness features of neural networks | |
DE102022125228A1 (en) | AUTOMATED DRIVING SYSTEM WITH THE DESIRED LEVEL OF DRIVING AGGRESSIVITY | |
DE102020127253A1 (en) | QUANTIFYING PHOTOREALISM IN SIMULATED DATA WITH GAN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R082 | Change of representative |
Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE |