DE202017105184U1 - Tiefes Maschinenlernen zum Ausführen einer Berührungsbewegungsvorhersage - Google Patents

Tiefes Maschinenlernen zum Ausführen einer Berührungsbewegungsvorhersage Download PDF

Info

Publication number
DE202017105184U1
DE202017105184U1 DE202017105184.6U DE202017105184U DE202017105184U1 DE 202017105184 U1 DE202017105184 U1 DE 202017105184U1 DE 202017105184 U DE202017105184 U DE 202017105184U DE 202017105184 U1 DE202017105184 U1 DE 202017105184U1
Authority
DE
Germany
Prior art keywords
motion prediction
user input
motion
prediction model
input object
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.)
Active
Application number
DE202017105184.6U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202017105184U1 publication Critical patent/DE202017105184U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04162Control or interface arrangements specially adapted for digitisers for exchanging data with external devices, e.g. smart pens, via the digitiser sensing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Computerlesbares Speichermedium, das Anweisungen enthält, die, wenn sie ausgeführt werden, veranlassen, dass wenigstens ein Prozessor eines Computersystems durch Ausführen der folgenden Schritte die Bewegung von Nutzereingabeobjekten vorhersagt: Erhalten einer ersten Menge von Bewegungsdaten, die einem Nutzereingabeobjekt zugeordnet sind, durch eine oder mehrere Computervorrichtungen, wobei die erste Menge von Bewegungsdaten einen Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben; Eingeben der ersten Menge von Bewegungsdaten in ein rekurrentes neuronales Netz eines maschinengelernten Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen; und Empfangen eines Bewegungsvorhersagevektors, der einen oder mehrere vorhergesagte künftige Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreibt, durch die eine oder die mehreren Computervorrichtungen als eine Ausgabe des Bewegungsvorhersagemodells.

Description

  • GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf das Maschinenlernen. Insbesondere bezieht sich die vorliegende Offenbarung auf das tiefe Maschinenlernen zum Ausführen einer Nutzereingabe-Bewegungsvorhersage.
  • In Übereinstimmung mit den Anforderungen des Gebrauchsmustergesetzes als Gebrauchsmuster zu schützen und Gegenstand des Gebrauchsmusters sind nur Vorrichtungen, wie sie in den beigefügten Ansprüchen definiert sind, aber keine Verfahren. Falls in der Beschreibung auf Verfahren Bezug genommen ist, dienen diese Bezugnahmen lediglich zur Veranschaulichung der Vorrichtung oder Vorrichtungen, für die mit den beigefügten Ansprüchen Schutz begehrt wird.
  • HINTERGRUND
  • Ein Nutzer kann eine Nutzereingabe in eine Computervorrichtung unter Verwendung eines Nutzereingabeobjekts wie etwa z. B. eines oder mehrerer Finger, eines Eingabestifts, der durch den Nutzer betätigt wird, oder anderer Nutzereingabeobjekte bereitstellen. Insbesondere kann ein Nutzer in einem Beispiel ein Nutzereingabeobjekt verwenden, um einen berührungsempfindlichen Anzeigebildschirm oder eine andere berührungsempfindliche Komponente zu berühren. Die Interaktion des Nutzereingabeobjekts mit dem berührungsempfindlichen Anzeigebildschirm ermöglicht, dass der Nutzer eine Nutzereingabe in die Computervorrichtung bereitstellt.
  • Allerdings muss ein durch einen berührungsempfindlichen Anzeigebildschirm detektiertes Berührungsereignis in bestimmten vorhandenen Computervorrichtungen einen erheblich großen Verarbeitungsstapel durchlaufen, bevor das Ergebnis des Berührungsereignisses auf dem Bildschirm angezeigt wird. Ein Berührungseingabe-Verarbeitungsstapel kann z. B. für einen Flüssigkristallanzeigebildschirm (LCD-Bildschirm) eine Kombination aus Firmware, Kernel, Rendering und vertikaler Synchronisation (V-Sync) enthalten. Außerdem kann der Verarbeitungsstapel die Softwareverarbeitung enthalten, die durch jeweilige Programme erfolgt, die die Berührungseingabe verarbeiten.
  • Die Größe und die Komplexität des Verarbeitungsstapels führen das Problem der "Berührungslatenzzeit" ein, in dem zwischen dem Zeitpunkt, zu dem das Berührungsereignis stattfindet, und dem, zu dem die Vorrichtung auf das Berührungsereignis anzusprechen scheint, eine Verzögerung auftritt. Die Berührungslatenzzeit ist eine erhebliche Herausforderung, die sich auf die Vorrichtungsleistung auswirkt.
  • Obgleich ein Teil der Berührungslatenzzeit mit besserer Softwareplanung verringert werden könnte, gibt es unabhängig davon, wie gut der Verarbeitungsstapel organisiert worden ist, eine minimale Zeitdauer dafür, dass ein Berührungsereignis verarbeitet wird und daraufhin auf dem Bildschirm ankommt.
  • ZUSAMMENFASSUNG
  • Aspekte und Vorteile von Ausführungsformen der vorliegenden Offenbarung werden teilweise in der folgenden Beschreibung dargelegt oder können aus der Beschreibung gelernt werden oder können durch die Praxis der Ausführungsformen gelernt werden.
  • Ein beispielhafter Aspekt der vorliegenden Offenbarung ist auf ein computerimplementiertes Verfahren zum Vorhersagen der Bewegung von Nutzereingabeobjekten gerichtet. Das Verfahren enthält das Erhalten einer ersten Menge von Bewegungsdaten, die einem Nutzereingabeobjekt zugeordnet sind, durch eine oder mehrere Computervorrichtungen. Die erste Menge von Bewegungsdaten beschreibt einen Ort des Nutzereingabeobjekts im Zeitverlauf. Das Verfahren enthält das Eingeben der ersten Menge von Bewegungsdaten in ein rekurrentes neuronales Netz eines maschinengelernten Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen. Das Verfahren enthält das Empfangen eines Bewegungsvorhersagevektors, der einen oder mehrere vorhergesagte künftige Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreibt, durch die eine oder die mehreren Computervorrichtungen als eine Ausgabe des Bewegungsvorhersagemodells.
  • Ein anderer beispielhafter Aspekt der vorliegenden Offenbarung ist auf eine Computervorrichtung gerichtet, die die Bewegung von Nutzereingabeobjekten vorhersagt. Die Computervorrichtung enthält wenigstens einen Prozessor. Die Computervorrichtung enthält ein maschinengelerntes Bewegungsvorhersagemodell, das ein rekurrentes neuronales Netz enthält. Das Bewegungsvorhersagemodell wird trainiert, um Bewegungsdaten zu empfangen, die die Bewegung eines Nutzereingabeobjekts angeben, und in Ansprechen auf den Empfang der Bewegungsdaten vorhergesagte künftige Orte des Nutzereingabeobjekts auszugeben. Die Computervorrichtung enthält wenigstens ein konkretes nicht transitorisches computerlesbares Medium, das Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor eine erste Menge von Bewegungsdaten, die dem Nutzereingabeobjekt zugeordnet sind, erhält. Die erste Menge von Bewegungsdaten beschreibt einen Ort des Nutzereingabeobjekts im Zeitverlauf. Die Ausführung der Anweisungen veranlasst, dass die wenigstens einen Prozessoren die erste Menge von Bewegungsdaten in das rekurrente neutrale Netz des Bewegungsvorhersagemodells eingeben. Die Ausführung der Anweisungen veranlasst, dass die wenigstens einen Prozessoren einen Bewegungsvorhersagevektor, der den einen oder die mehreren vorhergesagten künftigen Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreibt, als eine Ausgabe des Bewegungsvorhersagemodells empfangen. Die Ausführung der Anweisungen veranlasst, dass die wenigstens einen Prozessoren eine oder mehrere Tätigkeiten ausführen, die den einen oder mehreren vorhergesagten künftigen Orten, die durch den Bewegungsvorhersagevektor beschrieben sind, zugeordnet sind.
  • Ein anderer beispielhafter Aspekt der vorliegenden Offenbarung ist auf ein Computersystem gerichtet, das eine Nutzercomputervorrichtung enthält. Die Nutzercomputervorrichtung enthält wenigstens einen Prozessor und wenigstens ein nicht transitorisches computerlesbares Medium. Das wenigstens eine nicht transitorische computerlesbare Medium speichert ein maschinengelerntes Bewegungsvorhersagemodell, das dafür konfiguriert ist, Bewegungsdaten zu empfangen, die eine Bewegung eines Nutzereingabeobjekts angeben, und in Ansprechen auf den Empfang der Bewegungsdaten vorhergesagte künftige Orte des Nutzereingabeobjekts auszugeben. Das Bewegungsvorhersagemodell wurde durch Rückwärtsfortpflanzung einer Verlustfunktion über das Bewegungsvorhersagemodell trainiert. Die Verlustfunktion enthält ein Fehlerverhältnis, das eine erste Summe einer oder mehrerer Längen jeweils eines oder mehrerer Fehlervektoren, dividiert durch eine zweite Summe einer oder mehrerer Längen jeweils eines oder mehrerer Ground-Truth-Vektoren, beschreibt. Das wenigstens eine nicht transitorische computerlesbare Medium speichert Anweisungen, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass die Nutzercomputervorrichtung das maschinengelernte Bewegungsvorhersagemodell verwendet, um die vorhergesagten künftigen Orte des Nutzereingabeobjekts zu erhalten.
  • Weitere Aspekte der vorliegenden Offenbarung sind auf verschiedene Systeme, Vorrichtungen, nicht transitorische computerlesbare Medien, Nutzerschnittstellen und elektronische Vorrichtungen gerichtet.
  • Diese und weitere Merkmale, Aspekte und Vorteile verschiedener Ausführungsformen der vorliegenden Offenbarung werden besser verständlich mit Bezug auf die folgende Beschreibung und auf die beigefügten Ansprüche. Die beigefügten Zeichnungen, die in diese Gebrauchsmusterschrift integriert sind und einen Bestandteil von ihr bilden, stellen beispielhafte Ausführungsformen der vorliegenden Offenbarung dar und dienen zusammen mit der Beschreibung zur Erläuterung der zugehörigen Prinzipien.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Eine an den Durchschnittsfachmann auf dem Gebiet gerichtete ausführliche Diskussion von Ausführungsformen ist in der Beschreibung dargelegt, die auf die beigefügten Figuren Bezug nimmt, in denen:
  • 1 einen Blockschaltplan eines beispielhaften Computersystems in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 2 einen Blockschaltplan eines beispielhaften Bewegungsvorhersagemodells in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 3 einen Blockschaltplan eines beispielhaften Bewegungsvorhersagemodells in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 4 einen Blockschaltplan eines beispielhaften Bewegungsvorhersagemodells in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 5 einen Ablaufplan eines beispielhaften Verfahrens zum Vorhersagen der Bewegung von Nutzereingabeobjekten in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 6 einen Ablaufplan eines beispielhaften Verfahrens zum Trainieren eines Bewegungsvorhersagemodells in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 7 eine graphische Darstellung beispielhafter Bewegungsvektoren in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • 8 eine graphische Darstellung beispielhafter Bewegungsvektoren in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Übersicht
  • Allgemein ist die vorliegende Offenbarung auf Systeme und Verfahren gerichtet, die das Maschinenlernen wirksam einsetzen, um eine Nutzereingabebewegungsvorhersage auszuführen. Insbesondere können die Systeme und Verfahren der vorliegenden Offenbarung ein maschinengelerntes Bewegungsvorhersagemodell enthalten und verwenden, das dafür trainiert ist, Bewegungsdaten zu empfangen, die die Bewegung eines Nutzereingabeobjekts angeben, und in Ansprechen auf den Empfang der Bewegungsdaten vorhergesagte künftige Orte des Nutzereingabeobjekts auszugeben. Das Nutzereingabeobjekt kann z. B. ein Finger eines Nutzers oder ein durch den Nutzer betätigter Eingabestift sein.
  • Insbesondere kann das Bewegungsvorhersagemodell in Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung ein rekurrentes neuronales Netz (z. B. ein tief rekurrentes neuronales Netz) enthalten. In einem Beispiel kann eine Nutzercomputervorrichtung Bewegungsdaten erhalten, die einen Ort eines Nutzereingabeobjekts im Zeitverlauf beschreiben. Die Computervorrichtung kann die Bewegungsdaten in das rekurrente neuronale Netz des Bewegungsvorhersagemodells eingeben und als eine Ausgabe des Bewegungsvorhersagemodells einen Bewegungsvorhersagevektor empfangen. Der Bewegungsvorhersagevektor kann einen oder mehrere vorhergesagte künftige Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreiben.
  • Die Computervorrichtung kann den durch das Bewegungsvorhersagemodell ausgegebenen Bewegungsvorhersagevektor verwenden, um die Berührungslatenzzeit zu verringern oder sogar zu beseitigen. Insbesondere kann die Computervorrichtung in Ansprechen auf oder auf andere Weise auf den vorhergesagten künftigen Orten des Nutzereingabeobjekts basierend Operationen ausführen und dadurch die Notwendigkeit, auf den Empfang des Rests der Nutzereingabetätigkeit zu warten und den Rest der Eingabetätigkeit über einen großen Verarbeitungsstapel zu verarbeiten, beseitigen.
  • Um ein Beispiel zu geben, kann eine Computervorrichtung der vorliegenden Offenbarung Bewegungsdaten, die eine Fingerbewegung/Fingerorte, die dem Anfangsabschnitt einer Nutzerberührungstätigkeit (z. B. einem Anfangsabschnitt einer Tätigkeit des Wischens nach links) zugeordnet sind, beschreiben, in ein rekurrentes neuronales Netz eines Bewegungsvorhersagemodells eingeben. In Ansprechen auf den Empfang der Bewegungsdaten kann das Bewegungsvorhersagemodell die Fingerbewegung/die Fingerorte, die dem Rest der Nutzerberührungstätigkeit (z. B. dem Rest einer Tätigkeit des Wischens nach links) zugeordnet sind, vorhersagen. Die Computervorrichtung kann in Ansprechen auf die vorhergesagte Fingerbewegung/die vorhergesagten Fingerorte Tätigkeiten ausführen (z. B. einen Anzeigebildschirm rendern, in dem das angezeigte Objekt nach links gewischt worden ist). Somit ist es nicht erforderlich, dass die Computervorrichtung auf den Rest der Nutzerberührungstätigkeit wartet und ihn daraufhin verarbeitet. Somit kann die Computervorrichtung auf Berührungsereignisse schneller ansprechen und die Berührungslatenzzeit verringern. Zum Beispiel können hochwertige Bewegungsvorhersagen ermöglichen, dass die Berührungslatenzzeit auf Niveaus verringert wird, die durch menschliche Nutzer nicht wahrnehmbar sind.
  • Aspekte der vorliegenden Offenbarung sind insbesondere auf Computervorrichtungen anwendbar, die eine Nutzereingabe über eine Bewegung eines Nutzereingabeobjekts empfangen. Beispielhafte Nutzereingabeobjekte enthalten einen oder mehrere Finger eines Nutzers, einen durch den Nutzer betätigten Eingabestift oder andere Nutzereingabeobjekte. Insbesondere kann der Nutzer in einem Beispiel ein Nutzereingabeobjekt nutzen, um einen berührungsempfindlichen Anzeigebildschirm oder eine andere berührungsempfindliche Komponente der Computervorrichtung zu berühren. Die Bewegung des Nutzereingabeobjekts in Bezug zu dem berührungsempfindlichen Anzeigebildschirm ermöglicht, dass der Nutzer eine Nutzereingabe in die Computervorrichtung bereitstellt.
  • Insbesondere kann die Computervorrichtung eine Menge von Bewegungsdaten, die einen Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben, erzeugen oder auf andere Weise erhalten. Zum Beispiel können Daten, die von verschiedenen Sensoren (z. B. von dem berührungsempfindlichen Anzeigebildschirm oder von anderen Nutzereingabekomponenten) empfangen werden, erhoben und verarbeitet werden, um eine Menge von Bewegungsdaten zu erzeugen. Als ein Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge eines Objektorts und einer Objektzeit enthalten. Zum Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge enthalten, die den Ort des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und außerdem einen jedem Ort zugeordneten Zeitstempel bereitstellen.
  • Als ein anderes Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge enthalten, die eine Änderung des Orts des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und außerdem einen Zeitstempel oder eine Änderung der Zeit, die jedem Paar der Änderung des x- und der Änderung des y-Werts zugeordnet ist, beschreiben. In einigen Implementierungen wird die Menge von Bewegungsdaten iterativ aktualisiert, aufgefrischt oder erzeugt, während eine zusätzliche Bewegung des Nutzereingabeobjekts detektiert wird. Wie oben beschrieben wurde, kann die Menge von Bewegungsdaten in ein Bewegungsvorhersagemodell eingegeben werden, um Vorhersagen über den künftigen Ort des Nutzereingabeobjekts zu einem oder mehreren künftigen Zeitpunkten zu erhalten.
  • In abermals weiteren Implementierungen kann die Computervorrichtung zusätzliche Daten erheben, die das Nutzereingabeobjekt beschreiben, und kann sie diese Daten zusammen mit der Menge von Bewegungsdaten in das Bewegungsvorhersagemodell eingeben. Zum Beispiel können Informationen (z. B. Sensordaten) über den Nutzereingabeobjektdruck auf den berührungsempfindlichen Anzeigebildschirm, den Nutzereingabeobjektradius auf dem berührungsempfindlichen Anzeigebildschirm oder andere Nutzerobjektparameter erhoben werden und zur Verwendung bei der Vorhersage des künftigen Orts des Nutzereingabeobjekts für das Bewegungsvorhersagemodell bereitgestellt werden.
  • In Übereinstimmung mit einem anderen Aspekt der vorliegenden Offenbarung enthält das Bewegungsvorhersagemodell in einigen Implementierungen zwei Phasen. In einer ersten Phase gibt die Computervorrichtung die Menge von Bewegungsdaten in ein rekurrentes neuronales Netzwerk (z. B. in ein neuronales Long-Short-Term-Memory-Netz (LSTM-Netz), in ein neuronales Gated-Recurrent-Unit-Netz (GRU-Netz) oder in andere Formen rekurrenter neuronaler Netze) ein. Das rekurrente neuronale Netz gibt in Ansprechen auf den Empfang der Menge von Bewegungsdaten einen hochdimensionalen Kontextvektor aus.
  • In einer zweiten Phase des Bewegungsvorhersagemodells wird der hochdimensionale Kontextvektor in ein vorwärtsgekoppeltes neuronales Netz eingegeben. Außerdem gibt die Computervorrichtung in einigen Implementierungen zusammen mit dem hochdimensionalen Kontextvektor einen Zeitvektor in das vorwärtsgekoppelte neuronale Netz ein. Der Zeitvektor kann eine Liste von Zeitdauern (z. B. 10 ms, 20 ms usw.) bereitstellen, von denen gewünscht ist, dass sie durch das Bewegungsvorhersagemodell vorhergesagt werden. Somit kann der Zeitvektor einen oder mehrere künftige Zeitpunkte beschreiben, zu denen der Ort des Nutzereingabeobjekts vorhergesagt werden soll. Das vorwärtsgekoppelte Netz kann in Ansprechen auf den Empfang des hochdimensionalen Kontextvektors und des Zeitvektors einen Bewegungsvorhersagevektor ausgeben, der für jeden Zeitpunkt oder für jede Zeitdauer, der bzw. die durch den Zeitvektor beschrieben wird, einen vorhergesagten künftigen Ort des Nutzereingabeobjekts beschreibt. Zum Beispiel kann der Bewegungsvorhersagevektor für jeden künftigen Zeitpunkt ein Paar von Werten für den Ort in der x- und in der y-Dimension oder für jeden künftigen Zeitpunkt ein Paar von Werten für die Änderung der x- und der y-Dimension enthalten.
  • Die Verwendung eines wie oben beschriebenen Zweiphasen-Bewegungsvorhersagemodells kann eine Anzahl von Vorteilen schaffen. Als ein Beispiel beseitigt die Verwendung eines Zweiphasen-Bewegungsvorhersagemodells Probleme im Zusammenhang mit einer Diskrepanz zwischen Angaben der Zeit (z. B. Zeitstempeln), die in Trainingsdaten enthalten sind, gegenüber Angaben der Zeit, die durch das Modell während der tatsächlichen Feldverwendung beobachtet werden.
  • In einigen Implementierungen kann das vorwärtsgekoppelte Netz der zweiten Phase durch ein rekurrentes neuronales Decodernetz ersetzt sein. In anderen Implementierungen kann das oben beschriebene Zweiphasen-Hybrid-Bewegungsvorhersagemodell durch ein einzelnes gestapeltes rekurrentes neuronales Netz (z. B. ein neuronales LSTM-Netz) ersetzt sein. Insbesondere können in solchen Implementierungen sowohl der Zeitvektor als auch die Menge von Bewegungsdaten in das rekurrente neuronale Netz eingegeben werden. Das rekurrente neuronale Netz kann den Bewegungsvorhersagevektor in Ansprechen auf den Empfang des Zeitvektors und die Menge von Bewegungsdaten ausgeben.
  • In einigen Implementierungen kann die Computervorrichtung die Bewegungsdaten für das Nutzereingabeobjekt auf Online-Art in das rekurrente neuronale Netz einspeisen. Zum Beispiel kann während der Verwendung im Feld in jedem Fall, in dem eine Nutzereingabeobjekt-Bewegungsaktualisierung von dem einen oder den mehreren relevanten Sensoren (z. B. von dem berührungsempfindlichen Anzeigebildschirm) empfangen wird, die jüngste Bewegungsdatenaktualisierung (z. B. Werte für Änderungen von x, y und der Zeit) in das rekurrente neuronale Netz eingespeist werden. Somit können die Bewegungsdatenerhebung und die Bewegungsvorhersage iterativ ausgeführt werden, während zusätzliche Bewegungsdaten für das Nutzereingabeobjekt erhoben werden. Somit ist ein durch die Verwendung rekurrenter neuronaler Netze geschaffener Vorteil die Fähigkeit, den Kontext von vorhergehenden Aktualisierungen aufrechtzuerhalten, während neue Bewegungsaktualisierungen in der oben beschriebenen Online-Art eingegeben werden.
  • In Übereinstimmung mit einem anderen Aspekt der vorliegenden Offenbarung kann das hier beschriebene Bewegungsvorhersagemodell unter Verwendung einer neuen Verlustfunktion an Ground-Truth-Bewegungsdaten trainiert werden. Insbesondere kann ein Trainingscomputersystem die Bewegungsvorhersagemodelle unter Verwendung eines Trainingsdatensatzes, der eine Anzahl von Mengen von Ground-Truth-Bewegungsdaten für Nutzereingabeobjekte enthält, trainieren. Zum Beispiel kann der Trainingsdatensatz Bewegungsdaten enthalten, die eine große Anzahl zuvor beobachteter Bewegungstrajektorien von Nutzereingabeobjekten beschreiben.
  • In einigen Implementierungen wird ein erster Teil einer Menge von Ground-Truth-Bewegungsdaten in das Bewegungsvorhersagemodell eingegeben, um trainiert zu werden, um das Bewegungsvorhersagemodell zu trainieren. In Ansprechen auf den Empfang dieses ersten Teils gibt das Bewegungsvorhersagemodell einen Bewegungsvorhersagevektor aus, der den Rest der Menge von Ground-Truth-Bewegungsdaten vorhersagt.
  • Nach einer solchen Vorhersage kann das Trainingscomputersystem eine Verlustfunktion, die den durch das Bewegungsvorhersagemodell ausgegeben Bewegungsvorhersagevektor mit dem Rest der Ground-Truth-Bewegungsdaten, die das Bewegungsvorhersagemodell vorherzusagen versucht hat, vergleicht, anwenden oder auf andere Weise bestimmen. Das Trainingscomputersystem kann die Verlustfunktion über das Bewegungsvorhersagemodell (z. B. durch Ausführen einer abgeschnittenen Rückwärtsfortpflanzung über die Zeit) rückwärts fortpflanzen.
  • Insbesondere kann die Verlustfunktion in Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung in einigen Implementierungen die Form eines neuen Fehlerverhältnisses annehmen oder es auf andere Weise enthalten. Das Fehlerverhältnis kann als eine Summe der Längen eines oder mehrerer Fehlervektoren, dividiert durch eine Summe der Längen eines oder mehrerer Ground-Truth-Vektoren, die vorherzusagen versucht wurden, definiert werden. In anderen Implementierungen können anstelle der Summen selbst die Quadrate der Summen verwendet werden. In einigen Implementierungen kann das Trainingscomputersystem die Verlustfunktion für einen gesamten Ministapel von Trainingsdaten auf einmal bestimmen.
  • Die Verwendung eines Fehlerverhältnisses, das sich wie hier beschrieben auf das "Verhältnis von Durchschnitten" oder auf den "Durchschnitt von Summationen" stützt, verhindert Fehler der Division durch null, die auftreten würden, falls jede Fehlervektor/Ground-Truth-Vektor-Kombination getrennt betrachtet würde, da es einige Fälle (z. B. die Bewegung null des Nutzereingabeobjekts) gibt, in denen der Ground-Truth-Vektor null ist.
  • Außerdem verbessert die Verwendung des wie hier beschriebenen Fehlerverhältnisses die Skaleninvarianz des Bewegungsvorhersagemodells. Zum Beispiel können einige oder alle Trainingsdaten und/oder Feldverwendungsdaten dafür formatiert werden, die Bewegung oder den Ort in Einheiten von Pixeln zu beschreiben, die üblicherweise auflösungsabhängig sind. Somit ermöglicht die Verwendung des Fehlerverhältnisses ein Einheits-agnostisches Training. Allerdings kann die Verlustfunktion in anderen Implementierungen zusätzlich oder alternativ zu dem hier beschriebenen Fehlerverhältnis andere Fehlermaße enthalten. Alternative Fehlermaße enthalten z. B. den mittleren quadratischen Fehler, den L1-Verlust, den L2-Verlust oder andere Maße.
  • In Übereinstimmung mit einem anderen Aspekt der vorliegenden Offenbarung kann die Computervorrichtung in einigen Implementierungen für jedes von zwei oder mehr Nutzereingabeobjekten, die gleichzeitig eine Eingabe in die Vorrichtung bereitstellen, getrennte Instanzen von Bewegungsvorhersagemodellen implementieren. Als ein Beispiel können für jeden der zwei Finger jeweils in zwei getrennte parallele Bewegungsverarbeitungsmodelle getrennte Bewegungsdaten eingegeben werden, falls ein Nutzer zwei Finger nutzt, um mit dem berührungsempfindlichen Bildschirm zu interagieren. Zum Beispiel kann jedes Modell für jede ankommende Ortsaktualisierung für sein entsprechendes Nutzereingabeobjekt (z. B. den Finger) eine Vorhersage bereitstellen.
  • Außerdem kann in einigen Implementierungen jedes Bewegungsvorhersagemodell so lange aufrechterhalten werden, wie Ortsaktualisierungen für sein entsprechendes Nutzereingabeobjekt empfangen werden. Mit anderen Worten, für jedes Nutzereingabeobjekt kann für die Lebensdauer eines solchen Nutzereingabeobjekt ein rekurrentes neuronales Netz aufrechterhalten werden. Zum Beispiel kann sich die "Lebensdauer" eines bestimmten Fingers über die Zeitdauer erstrecken, für die der Finger mit dem berührungsempfindlichen Bildschirm in Kontakt ist. Nach der Lebensdauer des Nutzereingabeobjekts kann die Computervorrichtung einen Cache, der dem rekurrenten neuronalen Netz des Bewegungsvorhersagemodells für das Nutzereingabeobjekt zugeordnet ist, löschen. Auf diese Weise kann ein rekurrentes neuronales Netz seinen internen Arbeitsspeicher verwenden, um die Bewegung eines Nutzereingabeobjekts über die Lebensdauer des Nutzereingabeobjekts besser vorherzusagen.
  • In Übereinstimmung mit einem anderen Aspekt der vorliegenden Offenbarung kann eine Anwendung, ein Programm oder eine andere Komponente der Computervorrichtung (z. B. eine Handschrifterkennungsanwendung) den Bewegungsvorhersagevektor verarbeiten oder auf andere Weise bereitgestellt bekommen. Die Anwendung kann die vorhergesagten künftigen Orte des Nutzereingabeobjekts so behandeln, als ob sich das Nutzereingabeobjekt bereits zu diesen vorhergesagten Orten bewegt hätte. Zum Beispiel kann die Handschrifterkennungsanwendung die Handschrift auf der Grundlage der vorhergesagten künftigen Orte, die durch den Bewegungsvorhersagevektor bereitgestellt werden, erkennen. Somit braucht die Anwendung nicht zu warten, damit der Rest der Nutzereingabetätigkeit über einen großen Verarbeitungsstapel empfangen und verarbeitet wird, wodurch die Latenzzeit verringert wird.
  • Somit schafft die vorliegende Offenbarung auf dem Maschinenlernen beruhende technische Lösungen für das technische Problem der Berührungslatenzzeit. Ein beispielhafter Vorteil der vorliegenden Offenbarung ist die verbesserte Vorhersagequalität. Insbesondere sind die hier beschriebenen neuronalen Netze ausgezeichnete Funktionsapproximatoren und bieten sie im Vergleich zu Polynomen eine weitaus reichhaltigere Vorhersagefähigkeit. Somit können die Bewegungsvorhersagemodelle der vorliegenden Offenbarung eine bessere Vorhersagegenauigkeit bereitstellen, falls sie geeignet trainiert werden.
  • Zusätzlich zur verringerten Berührungslatenzzeit kann die vorliegende Offenbarung in Szenarien, in denen die Nutzerbewegungseingabe für die Computervorrichtung bereitgestellt wird, zu einer Anzahl zusätzlicher technischer Vorteile einschließlich z. B. ruhigerer Fingernachführung, verbesserter Handschrifterkennung, schnellerer und genauerer Nutzersteuerung nutzermanipulierbarer virtueller Objekte (z. B. Objekte innerhalb eines Spiels) und zu vielen weiteren Vorteilen führen.
  • Ein weiterer beispielhafter technischer Vorteil der vorliegenden Offenbarung ist die verhältnismäßig niedrige Arbeitsspeichernutzung/Arbeitsspeicheranforderung. Insbesondere summieren die hier beschriebenen neuronalen Netze effektiv die Trainingsdaten und komprimieren sie zu einer kompakten Form (z. B. zu dem neuronalen Netz selbst). Dies verringert stark die Menge an Arbeitsspeicher, der notwendig ist, um den Vorhersagealgorithmus zu speichern und zu implementieren.
  • Ein anderer beispielhafter technischer Vorteil der vorliegenden Offenbarung ist die verbesserte Skalierbarkeit. Insbesondere verringert die Modellierung der Bewegungsdaten durch neuronale Netze stark die Recherchezeit, die in Bezug auf die Entwicklung eines von Hand gefertigten Bewegungsvorhersagealgorithmus notwendig ist. Zum Beispiel müsste der Entwickler für von Hand gefertigte Bewegungsvorhersagealgorithmen den Algorithmus an Daten iterieren und eindeutige Vorgehensweisen zur Behandlung verschiedener Szenarien entwerfen. Demgegenüber kann das Netz an geeigneten Trainingsdaten trainiert werden, was in einem massiven Maßstab erfolgen kann, falls es das Trainingssystem zulässt, um wie hier beschriebene neuronale Netze zu verwenden. Außerdem können neuronale Netze leicht überarbeitet werden, während neue Trainingsdaten verfügbar gemacht werden.
  • Nunmehr anhand der Figuren werden beispielhafte Ausführungsformen der vorliegenden Offenbarung ausführlicher diskutiert.
  • Beispielhafte Vorrichtungen und Systeme
  • 1 zeigt ein beispielhaftes Computersystem 100 zur Vorhersage der Bewegung von Nutzereingabeobjekten in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Das System 100 enthält eine Nutzercomputervorrichtung 102, ein Maschinenlerncomputersystem 130 und ein Trainingscomputersystem 150, die über ein Netz 180 kommunikationstechnisch gekoppelt sind.
  • Die Nutzercomputervorrichtung 102 kann irgendein Typ einer Computervorrichtung wie etwa z. B. eine Personal-Computer-Vorrichtung (z. B. Laptop oder Desktop), eine Mobilcomputervorrichtung (z. B. Smartphone oder Tablet), eine Spielekonsole oder ein Spielecontroller, eine am Körper tragbare Computervorrichtung, eine eingebettete Computervorrichtung oder irgendein anderer Typ einer Computervorrichtung sein.
  • Die Nutzercomputervorrichtung 102 enthält einen oder mehrere Prozessoren 112 und einen Arbeitsspeicher 114. Der eine oder die mehreren Prozessoren 112 können irgendeine geeignete Verarbeitungsvorrichtung (z. B. ein Prozessorkern, ein Mikroprozessor, eine ASIC, ein FPGA, ein Controller, ein Mikrocontroller usw.) sein und können ein Prozessor oder mehrere Prozessoren, die funktional verbunden sind, sein. Der Arbeitsspeicher 114 kann ein oder mehrere nicht transitorische computerlesbare Speichermedien wie etwa RAM, ROM, EEPROM, EPROM, Flash-Arbeitsspeichervorrichtungen, Magnetplatten usw. und Kombinationen davon enthalten. Der Arbeitsspeicher 114 kann Daten 116 und Anweisungen 118 speichern, die durch den Prozessor 112 ausgeführt werden, um zu veranlassen, dass die Nutzercomputervorrichtung 102 Operationen ausführt.
  • Die Nutzercomputervorrichtung 102 kann ein oder mehrere Bewegungsvorhersagemodelle 120 speichern oder enthalten. Zum Beispiel können das eine oder die mehreren Bewegungsvorhersagemodelle 120 von dem Maschinenlerncomputersystem 130 über das Netz 180 empfangen werden, in dem Nutzercomputervorrichtungs-Arbeitsspeicher 114 gespeichert werden und daraufhin durch den einen oder die mehreren Prozessoren 112 verwendet oder auf andere Weise implementiert werden. In einigen Implementierungen kann die Nutzercomputervorrichtung 102 mehrere parallele Instanzen eines einzelnen Bewegungsvorhersagemodells 120 implementieren (um z. B. für mehrere Nutzereingabeobjekte eine parallele Bewegungsvorhersage auszuführen).
  • Außerdem kann die Nutzercomputervorrichtung 102 eine Nutzereingabekomponente 122 enthalten, die eine Nutzereingabe über Bewegung eines Nutzereingabeobjekts empfängt. Die Nutzereingabekomponente 122 kann z. B. eine berührungsempfindliche Komponente (z. B. ein berührungsempfindlicher Anzeigebildschirm oder ein berührungsempfindliches Touchpad) sein, die empfindlich für die Berührung eines Nutzereingabeobjekts (z. B. eines Fingers oder eines Eingabestifts) ist. Allerdings kann die Nutzereingabekomponente 122 andere Komponenten enthalten, die in der Lage sind, eine Nutzereingabe durch Bewegung eines Nutzereingabeobjekts zu empfangen. Zum Beispiel kann die Nutzereingabekomponente 122 die Bewegung eines Nutzereingabeobjekts durch Computersichtsysteme, die durch eine Kamera der Vorrichtung 102 erhobene Bilder analysieren, oder durch Verwendung von Radar (z. B. Miniaturradar), um eine berührungslose gestenbasierte Nutzereingabe zu detektieren, nachführen. Somit ermöglicht die Bewegung eines Nutzereingabeobjekts in Bezug zu der Nutzereingabekomponente 122, dass der Nutzer eine Nutzereingabe in die Computervorrichtung 102 bereitstellt.
  • Das Maschinenlerncomputersystem 130 enthält einen oder mehrere Prozessoren 132 und einen Arbeitsspeicher 134. Der eine oder die mehreren Prozessoren 132 können irgendeine geeignete Verarbeitungsvorrichtung (z. B. ein Prozessorkern, ein Mikroprozessor, eine ASIC, eine FPGA, ein Controller, ein Mikrocontroller usw.) sein und können ein Prozessor oder mehrere Prozessoren, die funktional verbunden sind, sein. Der Arbeitsspeicher 134 kann ein oder mehrere nicht transitorische computerlesbare Speichermedien wie etwa RAM, ROM, EEPROM, EPROM, Flash-Arbeitsspeichervorrichtungen, Magnetplatten usw. und Kombinationen davon enthalten. Der Arbeitsspeicher 134 kann Daten 136 und Anweisungen 138, die durch den Prozessor 132 ausgeführt werden, um zu veranlassen, dass das Maschinenlerncomputersystem 130 Operationen ausführt, speichern.
  • In einigen Implementierungen enthält das Maschinenlerncomputersystem 130 eine oder mehrere Servercomputervorrichtungen oder ist es auf andere Weise durch solche implementiert. In Fällen, in denen das Maschinenlerncomputersystem 130 mehrere Servercomputervorrichtungen enthält, können diese Servercomputervorrichtungen in Übereinstimmung mit sequentiellen Computerarchitekturen, parallelen Computerarchitekturen oder einigen Kombinationen davon arbeiten.
  • Das Maschinenlerncomputersystem 130 speichert oder enthält auf andere Weise ein oder mehrere maschinengelernte Bewegungsvorhersagemodelle 140. Die Bewegungsvorhersagemodelle 140 können z. B. verschiedene maschinengelernte Modelle wie etwa neuronale Netze (z. B. tief rekurrente neuronale Netze) oder andere nichtlineare Mehrschichtmodelle sein oder auf andere Weise enthalten. Beispielhafte Bewegungsvorhersagemodelle 140 sind anhand von 24 diskutiert.
  • Das Maschinenlerncomputersystem 130 kann die Bewegungsvorhersagemodelle 140 über Interaktion mit dem Trainingscomputersystem 150, das über das Netz 180 kommunikationstechnisch gekoppelt ist, trainieren. Das Trainingscomputersystem 150 kann getrennt von dem Maschinenlerncomputersystem 130 sein oder kann ein Teil des Maschinenlerncomputersystems 130 sein.
  • Das Trainingscomputersystem 150 enthält einen oder mehrere Prozessoren 152 und einen Arbeitsspeicher 154. Der eine oder die mehreren Prozessoren 152 können irgendeine geeignete Verarbeitungsvorrichtung (z. B. ein Prozessorkern, ein Mikroprozessor, eine ASIC, eine FPGA, ein Controller, ein Mikrocontroller usw.) sein und können ein Prozessor oder mehrere Prozessoren, die funktional verbunden sind, sein. Der Arbeitsspeicher 154 kann ein oder mehrere nicht transitorische computerlesbare Speichermedien wie etwa RAM, ROM, EEPROM, EEPROM, Flash-Arbeitsspeichervorrichtungen, Magnetplatten usw. und Kombinationen davon enthalten. Der Arbeitsspeicher 154 kann Daten 156 und Anweisungen 158, die durch den Prozessor 152 ausgeführt werden, um zu veranlassen, dass das Trainingscomputersystem 150 Operationen ausführt, speichern. In einigen Implementierungen enthält das Trainingscomputersystem 150 ein oder mehrere Servercomputervorrichtungen oder ist es auf andere Weise als diese implementiert.
  • Das Trainingscomputersystem 150 kann einen Modelltrainer 160 enthalten, der die in dem Maschinenlerncomputersystem 130 gespeicherten maschinengelernten Modelle 140 unter Verwendung verschiedener Trainings- oder Lerntechniken wie etwa z. B. Rückwärtsfortpflanzung (z. B. abgeschnittene Rückwärtsfortpflanzung über die Zeit) trainiert. Der Modelltrainer 160 kann eine Anzahl von Verallgemeinerungstechniken (z. B. Weight Decays, Dropouts usw.) ausführen, um die Verallgemeinerungsfähigkeit der Modelle, die trainiert werden, zu verbessern.
  • Insbesondere kann der Modelltrainer 160 ein Bewegungsvorhersagemodell 140 auf der Grundlage einer Menge von Trainingsdaten 142 trainieren. Die Trainingsdaten 142 können Ground-Truth-Bewegungsdaten (z. B. Ground-Truth-Vektoren, die aufgezeichnete Nutzereingabeobjektwege, Trajektorien, Orte oder andere Bewegungsdaten beschreiben) enthalten. In einigen Implementierungen können die Trainingsbeispiele durch die Nutzercomputervorrichtung 102 (z. B. auf der Grundlage von Nutzereingabetätigkeiten, die durch den Nutzer der Nutzercomputervorrichtung 102 ausgeführt werden) bereitgestellt werden. Somit kann das für die Nutzercomputervorrichtung 102 bereitgestellte Modell 120 in solchen Implementierungen durch das Trainingscomputersystem 150 an nutzerspezifischen Bewegungsdaten trainiert werden, die von der Nutzercomputervorrichtung 102 empfangen werden.
  • Der Modelltrainer 160 enthält eine Computerlogik, die genutzt wird, um eine gewünschte Funktionalität bereitzustellen. Der Modelltrainer 160 kann in Hardware, in Firmware und/oder in Software, die einen Universalprozessor steuert, implementiert werden. Zum Beispiel enthält der Modelltrainer 160 in einigen Implementierungen Programmdateien, die in einer Speichervorrichtung gespeichert sind, in einen Arbeitsspeicher geladen werden und durch einen oder mehrere Prozessoren ausgeführt werden. In anderen Implementierungen enthält der Modelltrainer 160 einen oder mehrere Sätze durch einen Computer ausführbarer Anweisungen, die in einem konkreten computerlesbaren Speichermedium wie etwa in einer RAM-Festplatte oder in optischen oder magnetischen Medien gespeichert sind.
  • Das Netz 180 kann irgendein Typ eines Kommunikationsnetzes wie etwa ein lokales Netz (z. B. ein Intranet), ein Weitverkehrsnetz (z. B. das Internet) oder eine Kombination davon sein und kann irgendeine Anzahl verdrahteter oder drahtloser Übertragungsstrecken enthalten. Allgemein kann die Kommunikation über das Netz 180 unter Verwendung einer breiten Vielfalt von Kommunikationsprotokollen (z. B. TCP/IP, HTTP, SMTP, FTP), Codierungen oder Formaten (z. B. HTML, XML) und/oder Schutzschemata (z. B. VPN, sicheres HTTP, SSL) über irgendeinen Typ einer verdrahteten und/oder drahtlosen Verbindung ausgeführt werden.
  • 1 stellt ein beispielhaftes Computersystem dar, das zum Implementieren der vorliegenden Offenbarung verwendet werden kann. Andere Computersysteme können ebenfalls verwendet werden. Zum Beispiel kann die Nutzercomputervorrichtung in einigen Implementierungen den Modelltrainer und den Trainingsdatensatz enthalten. In diesen Implementierungen können die Bewegungsvorhersagemodelle lokal bei der Nutzercomputervorrichtung sowohl trainiert als auch verwendet werden.
  • Beispielhafte Bewegungsvorhersagemodelle
  • 2 zeigt ein beispielhaftes Bewegungsvorhersagemodell 200 in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Das Bewegungsvorhersagemodell 200 enthält ein rekurrentes neuronales Netz 202. Das rekurrente neuronale Netz 202 kann z. B. ein tief rekurrentes neuronales Netz sein. Das rekurrente neuronale Netz 202 kann z. B. ein neuronales Mehrschicht-LSTM-Netz oder ein neuronales Mehrschicht-GRU-Netz sein.
  • Das rekurrente neuronale Netz 202 kann eine jüngste Bewegungshistorie 206 eines Nutzereingabeobjekts als eine Eingabe empfangen. Die jüngste Bewegungshistorie 206 kann z. B. die Form einer Ortsaktualisierung annehmen. Die jüngste Bewegungshistorie 206 kann den Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben.
  • Als ein Beispiel kann die Bewegungshistorie 206 einen oder mehrere Einträge des Objektorts und der Zeit enthalten. Die Menge von Bewegungsdaten kann z. B. einen oder mehrere Einträge enthalten, die den Ort des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und ebenfalls einen jedem Ort zugeordneten Zeitstempel bereitstellen.
  • Als ein anderes Beispiel kann die Bewegungstrajektorie 206 einen oder mehrere Einträge enthalten, die eine Änderung des Orts des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und außerdem einen Zeitstempel oder eine Änderung der Zeit, der bzw. die jedem Paar der Änderung des x-Werts und der Änderung des y-Werts zugeordnet ist, beschreiben.
  • In einigen Implementierungen wird die Bewegungshistorie 206 auf Online-Art in das rekurrente neuronale Netz 202 eingegeben. Zum Beispiel können während der Verwendung im Feld in jedem Fall, in dem von dem relevanten Sensor bzw. von den relevanten Sensoren (z. B. von dem berührungsempfindlichen Anzeigebildschirm) eine Nutzereingabeobjekt-Bewegungsaktualisierung 206 empfangen wird, die jüngste Bewegungsdatenaktualisierung 206 (z. B. die Werte für Änderungen von x, y und für die Zeit) in das rekurrente neuronale Netz 202 eingespeist werden. Somit ist ein durch das rekurrente neuronale Netz 202 geschaffener Vorteil die Fähigkeit, Kontexte von vorhergehenden Aktualisierungen 206 aufrechtzuerhalten, während neue Bewegungsaktualisierungen 206 auf die oben beschriebene Online-Art eingegeben werden.
  • In abermals weiteren Implementierungen können in das rekurrente neuronale Netz 202 zusammen mit der Bewegungshistorie 206 zusätzliche Daten eingegeben werden, die das Nutzereingabeobjekt beschreiben. Zum Beispiel können Informationen (z. B. Sensordaten) über den Nutzereingabeobjektdruck auf den berührungsempfindlichen Anzeigebildschirm, den Nutzereingabeobjektradius auf dem berührungsempfindlichen Anzeigebildschirm oder andere Nutzereingabeobjektparameter erhoben und für das rekurrente neuronale Netz 202 bereitgestellt werden.
  • In Ansprechen auf den Empfang der Bewegungshistorie 206 kann das rekurrente neuronale Netz 202 einen hochdimensionalen Kontextvektor 210 ausgeben. Der hochdimensionale Kontextvektor 210 kann z. B. Merkmale für über einhundert Dimensionen besitzen.
  • Außerdem enthält das Bewegungsvorhersagemodell 200 ein vorwärtsgekoppeltes neuronales Netz 204. Das vorwärtsgekoppelte neuronale Netz 204 empfängt den hochdimensionalen Kontextvektor 210. Außerdem empfängt das vorwärtsgekoppelte neuronale Netz 204 Informationen, die wenigstens einen künftigen Zeitpunkt 208 beschreiben. Die Informationen 208 können z. B. ein Zeitvektor sein, der eine Liste von Zeitdauern (z. B. 10 ms, 20 ms, 30 ms usw.). bereitstellt, von denen gewünscht ist, dass sie durch das Bewegungsvorhersagemodell 200 vorhergesagt werden
  • In Ansprechen auf den Empfang des hochdimensionalen Kontextvektors 210 und des wenigstens einen künftigen Zeitpunkts 208 gibt das vorwärtsgekoppelte neuronale Netz 204 einen Bewegungsvorhersagevektor 212 aus. Der Bewegungsvorhersagevektor 212 kann für jeden der wenigstens einen künftigen Zeitpunkte 208 einen vorhergesagten künftigen Ort des Nutzereingabeobjekts beschreiben.
  • Als ein anderes Beispiel zeigt 3 ein anderes beispielhaftes Bewegungsvorhersagemodell 300 in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Das Bewegungsvorhersagemodell 300 enthält ein rekurrentes neuronales Netz 302. Das rekurrente neuronale Netz 302 kann ähnlich dem rekurrenten neuronalen Netz 202 aus 2 sein.
  • Allerdings enthält das rekurrente neuronale Netz 302 in dem Modell 300 aus 3 sowohl eine jüngste Bewegungshistorie eines Nutzereingabeobjekts 304 als auch Informationen, die wenigstens einen künftigen Zeitpunkt 306 beschreiben. In Ansprechen auf den Empfang der Bewegungshistorie 304 und des wenigstens einen künftigen Zeitpunkts 306 gibt das rekurrente neuronale Netz 302 einen Bewegungsvorhersagevektor 308 aus. Der Bewegungsvorhersagevektor 308 kann für jeden der wenigstens einen künftigen Zeitpunkte 306 einen vorhergesagten künftigen Ort des Nutzereingabeobjekts beschreiben.
  • Als ein abermals anderes Beispiel zeigt 4 ein anderes beispielhaftes Bewegungsvorhersagemodell 400 in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Wie durch gleiche Bezugszeichen für verschiedene sowohl in 2 als auch in 4 dargestellte Komponenten und Daten angegeben ist, ist das Modell 400 sehr ähnlich dem Modell 200 aus 2. Allerdings enthält das Modell 400 anstelle des vorwärtsgekoppelten Netzes 204 des Modells 200 aus 2 eine rekurrentes neuronales Decodernetz 404.
  • Beispielhafte Verfahren
  • 5 zeigt einen Ablaufplan eines beispielhaften Verfahrens 500 zum Vorhersagen der Bewegung von Nutzereingabeobjekten in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung.
  • Bei 502 erhält eine Computervorrichtung eine erste Menge von Bewegungsdaten, die einem Nutzereingabeobjekt zugeordnet sind. Die erste Menge von Bewegungsdaten können einen Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben. Zum Beispiel können von verschiedenen Sensoren (z. B. von einem berührungsempfindlichen Anzeigebildschirm oder von anderen Nutzereingabekomponenten) empfangene Daten erhoben und verarbeitet werden, um die Menge von Bewegungsdaten zu erzeugen. Als ein Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge des Objektorts und der Zeit enthalten. Zum Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge enthalten, die den Ort des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und außerdem einen jedem Ort zugeordneten Zeitstempel bereitstellen.
  • Als ein anderes Beispiel kann die Menge von Bewegungsdaten einen oder mehrere Einträge enthalten, die eine Änderung des Orts des Nutzereingabeobjekts sowohl in der x- als auch in der y-Dimension und außerdem einen Zeitstempel oder eine Änderung der Zeit, die jedem Paar der Änderung des x- und der Änderung des y-Werts zugeordnet ist, beschreiben. In einigen Implementierungen wird die Menge von Bewegungsdaten iterativ aktualisiert, aufgefrischt oder erzeugt, während eine zusätzliche Bewegung des Nutzereingabeobjekts detektiert wird. Somit kann das Verfahren 500 z. B. auf iterative Weise ausgeführt werden, während Ortsaktualisierungen empfangen werden.
  • Bei 504 gibt die Computervorrichtung die erste Menge von Bewegungsdaten in ein rekurrentes neuronales Netz eines Bewegungsvorhersagemodells ein. In einigen Implementierungen kann die Computervorrichtung zusätzliche Daten erheben, die das Nutzereingabeobjekt beschreiben, und diese Daten zusammen mit der Menge von Bewegungsdaten bei 504 in das Bewegungsvorhersagemodell eingeben. Zum Beispiel können Informationen (z. B. Sensordaten) über den Nutzereingabeobjektdruck auf den berührungsempfindlichen Anzeigebildschirm, den Nutzereingabeobjektradius auf dem berührungsempfindlichen Anzeigebildschirm oder andere Nutzereingabeobjektparameter erhoben und zur Verwendung bei der Vorhersage des künftigen Orts des Nutzereingabeobjekts für das Bewegungsvorhersagemodell bereitgestellt werden.
  • In einigen Implementierungen enthält das Bewegungsvorhersagemodell zwei Phasen. In einer ersten Phase gibt die Computervorrichtung die Menge von Bewegungsdaten in ein rekurrentes neuronales Netz (z. B. ein neuronales Long-Short-Term-Memory-Netz (LSTM-Netz), in ein neuronales Gated-Recurrent-Unit-Netz (GRU-Netz) oder in andere Formen rekurrenter neuronaler Netze ein. Das rekurrente neuronale Netz gibt in Ansprechen auf den Empfang der Menge von Bewegungsdaten einen hochdimensionalen Kontextvektor aus.
  • In einer zweiten Phase des Bewegungsvorhersagemodells wird der hochdimensionale Kontextvektor in ein vorwärtsgekoppeltes neuronales Netz eingegeben. Außerdem gibt die Computervorrichtung in einigen Implementierungen zusammen mit dem hochdimensionalen Kontextvektor einen Zeitvektor in das vorwärtsgekoppelte neuronale Netz ein. Der Zeitvektor kann eine Liste von Zeitdauern (z. B. 10 ms, 20 ms usw.) bereitstellen, von denen gewünscht ist, dass sie durch das Bewegungsvorhersagemodell vorhergesagt werden. Somit kann der Zeitvektor einen oder mehrere künftige Zeitpunkte beschreiben, zu denen der Ort des Nutzereingabeobjekts vorhergesagt werden soll.
  • In Ansprechen auf den Empfang des hochdimensionalen Kontextvektors und des Zeitvektors kann das vorwärtsgekoppelte Netz für jeden Zeitpunkt oder für jede Zeitdauer, der bzw. die durch den Zeitvektor beschrieben ist, einen Bewegungsvorhersagevektor ausgeben, der einen vorhergesagten künftigen Ort des Nutzereingabeobjekts beschreibt. Insbesondere empfängt die Computervorrichtung wieder anhand von 5 bei 506 als eine Ausgabe des Bewegungsvorhersagemodells den Bewegungsvorhersagevektor, der jeweils für einen oder mehrere künftige Zeitpunkte einen oder mehrere vorhergesagte künftige Orte des Nutzereingabeobjekts beschreibt.
  • In einigen Implementierungen kann das vorwärtsgekoppelte Netz der zweiten Phase durch ein rekurrentes neuronales Decodernetz ersetzt sein. In anderen Implementierungen kann das oben beschriebene Zweiphasen-Hybrid-Bewegungsvorhersagemodell durch ein einzelnes gestapeltes rekurrentes neuronales Netz (z. B. ein neuronales LSTM-Netz) ersetzt sein. Insbesondere in solchen Implementierungen können sowohl der Zeitvektor als auch die Menge von Bewegungsdaten bei 504 in das rekurrente neuronale Netz eingegeben werden. Bei 506 kann das rekurrente neuronale Netz den Bewegungsvorhersagevektor in Ansprechen auf den Empfang des Zeitvektors und der Menge von Bewegungsdaten ausgeben.
  • In einigen Implementierungen kann die Computervorrichtung die Bewegungsdaten für das Nutzereingabeobjekt in das rekurrente neuronale Netz bei 504 auf Online-Art einspeisen. Zum Beispiel kann während der Verwendung im Feld in jedem Fall, in dem bei 502 von dem relevanten Sensor bzw. von den relevanten Sensoren (z. B. von dem berührungsempfindlichen Anzeigebildschirm) eine Nutzereingabeobjekt-Bewegungsaktualisierung empfangen wird, bei 504 die letzte Bewegungsdatenaktualisierung (z. B. Werte für Änderungen von x, y und der Zeit) in das rekurrente neuronale Netz eingespeist werden. Somit können die Bewegungsdatenerhebung bei 502 und die Bewegungsvorhersage bei 504506 iterativ ausgeführt werden, während zusätzliche Bewegungsdaten für das Nutzereingabeobjekt erhoben werden. Somit ist ein Vorteil, der durch die Verwendung rekurrenter neuronaler Netze geschaffen wird, die Fähigkeit, den Kontext von vorhergehenden Aktualisierungen aufrechtzuerhalten, während neue Bewegungsaktualisierungen in der oben beschriebenen Online-Art eingegeben werden.
  • Bei 508 führt die Computervorrichtung eine oder mehrere Tätigkeiten aus, die durch eine Eingabeoption angefordert werden, die einen oder mehrere durch den Bewegungsvorhersagevektor beschriebene vorhergesagte künftige Orte enthält. Zum Beispiel können die vorhergesagten künftigen Orte des Nutzereingabeobjekts so behandelt werden, als ob sie durch die Nutzereingabekomponente (z. B. durch den berührungsempfindlichen Anzeigebildschirm) empfangen würden. Somit kann der vorhergesagte Ort des Nutzereingabeobjekts dazu verwendet werden, eine Nutzereingabetätigkeit (z. B. eine Tätigkeit des Wischens nach links), deren Anfangsteil durch die bei 502 erhaltene Menge von Bewegungsdaten beschrieben ist, abzuschließen. Somit können vorhergesagte künftige Nutzereingabeobjektorte einer angeforderten Tätigkeit (z. B. Berechnungstätigkeiten, die durch das Wischen nach links angefordert werden) entsprechen und kann die angeforderte Tätigkeit bzw. können die angeforderten Tätigkeiten (z. B. Rendern des Anzeigebildschirms in der Weise, dass ein zuvor auf dem Bildschirm angezeigtes Element nach link gewischt worden ist) bei 508 ausgeführt werden.
  • 6 zeigt einen Ablaufplan eines beispielhaften Verfahrens 600 zum Trainieren eines Bewegungsvorhersagemodells in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Insbesondere können die hier beschriebenen Bewegungsvorhersagemodelle in Übereinstimmung mit einem anderen Aspekt der vorliegenden Offenbarung unter Verwendung einer neuen Verlustfunktion an Ground-Truth-Bewegungsdaten trainiert werden. Ein Trainingscomputersystem kann die Bewegungsvorhersagemodelle unter Verwendung eines Trainingsdatensatzes trainieren, der eine Anzahl von Mengen von Ground-Truth-Bewegungsdaten für Nutzereingabeobjekte enthält. Der Trainingsdatensatz kann z. B. Bewegungsdaten enthalten, die eine große Anzahl zuvor beobachteter Bewegungstrajektorien von Nutzereingabeobjekten beschreiben.
  • Als ein Beispiel zeigt 7 eine graphische Darstellung beispielhafter Bewegungsvektoren in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Insbesondere stellt 7 eine Menge von Ground-Truth-Bewegungsdaten dar, die vier Ground-Truth-Bewegungsvektoren enthält: 700, 702, 704 und 706. Diese Ground-Truth-Bewegungsvektoren 700, 702, 704 und 706 können eine Menge von Ground-Truth-Bewegungsdaten bilden, die für das Training des Modells verwendbar sind. Die Ground-Truth-Bewegungsvektoren 700, 702, 704 und 706 können eine zuvor beobachtete Nutzereingabeobjekttrajektorie/Nutzereingabeobjektspur beschreiben. 7 ist als ein vereinfachtes Beispiel zur Erläuterung gegeben und die vorliegende Offenbarung ist nicht auf das in 7 gezeigte Beispiel beschränkt.
  • Wieder anhand von 6 gibt die Computervorrichtung bei 602 einen ersten Teil einer Menge von Ground-Truth-Bewegungsdaten in ein Bewegungsvorhersagemodell ein. Zum Beispiel kann die Computervorrichtung bei 602 den ersten Ground-Truth-Bewegungsvektor 700 in das Bewegungsvorhersagemodell eingeben. Die Eingabe des ersten Ground-Truth-Bewegungsvektors 700 ist nur als ein Beispiel gegeben. In anderen Fällen können bei 602 mehr als ein Ground-Truth-Bewegungsvektor eingegeben werden.
  • In Ansprechen auf den Empfang dieses ersten Teils gibt das Bewegungsvorhersagemodell einen Bewegungsvorhersagevektor aus, der den Rest der Menge von Ground-Truth-Bewegungsdaten vorhersagt. Somit empfängt die Computervorrichtung bei 604 einen Bewegungsvorhersagevektor als eine Ausgabe des Bewegungsvorhersagemodells.
  • Als ein Beispiel kann wieder anhand von 7 das Bewegungsvorhersagemodell in Ansprechen auf den Empfang des ersten Ground-Truth-Bewegungsvektors 700 einen Bewegungsvorhersagevektor ausgeben, der drei vorhergesagte künftige Orte für das Nutzereingabeobjekt identifiziert. Dieser Bewegungsvorhersagevektor ist durch die vorhergesagten Vektoren 722, 724 und 726 zusammen graphisch dargestellt. Zum Beispiel verläuft der erste vorhergesagte Vektor 722 von dem letzten bekannten Ort des Nutzereingabeobjekts zu dem ersten vorhergesagten künftigen Ort des Nutzereingabeobjekts; verläuft der zweite vorhergesagte Vektor 724 von dem ersten vorhergesagten künftigen Ort zu dem zweiten vorhergesagten künftigen Ort; und verläuft der dritte vorhergesagte Vektor 726 von dem zweiten vorhergesagten künftigen Ort zu dem dritten vorhergesagten künftigen Ort. Die Aufnahme dreier vorhergesagter künftiger Orte in den Bewegungsvorhersagevektor ist nur als ein Beispiel gegeben. Der Bewegungsvorhersagevektor kann irgendeine Anzahl (z. B. einen oder mehrere) vorhergesagte künftige Orte (z. B. wie durch den Eingabezeitvektor geführt) enthalten.
  • Wieder anhand von 6 bestimmt die Computervorrichtung bei 606 eine Verlustfunktion, die eine Differenz zwischen dem Bewegungsvorhersagevektor und einem zweiten Teil der Menge von Ground-Truth-Bewegungsdaten beschreibt. Die Verlustfunktion kann z. B. in Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung in einigen Implementierungen die Form eines neuen Fehlerverhältnisses annehmen oder es auf andere Weise enthalten. Das Fehlerverhältnis kann als eine Summe von Längen eines oder mehrerer Fehlervektoren, dividiert durch eine Summe der Längen eines oder mehrerer Ground-Truth-Vektoren, die vorherzusagen versucht wurden, definiert sein. In anderen Implementierungen können anstelle der Summen selbst die Quadrate der Summen verwendet werden. In einigen Implementierungen kann das Trainingscomputersystem die Verlustfunktion für einen gesamten Ministapel von Trainingsdaten auf einmal bestimmen.
  • Als ein Beispiel können wieder anhand von 7 auf der Grundlage einer Differenz zwischen den vorhergesagten Vektoren 722, 724, 726 und in dieser Reihenfolge entsprechenden Ground-Truth-Bewegungsvektoren 702, 704 und 706 in dieser Reihenfolge eine Menge von Fehlervektoren 742, 744 und 746 definiert werden. Um das Beispiel fortzusetzen, kann das Fehlerverhältnis als die Summe der Längen der Vektoren 742, 744 und 746, dividiert durch die Summe der Längen der Vektoren 702, 704 und 706, definiert sein. In einigen Implementierungen wird dieses Fehlerverhältnis für einen gesamten Stapel von Trainingsdaten, nicht nur für ein einzelnes Paar von Ground-Truth-Daten und Bewegungsvorhersagevektoren, bestimmt.
  • Die Verwendung eines Fehlerverhältnisses, das sich auf das "Verhältnis von Durchschnitten" oder "den Durchschnitt von Summationen" wie hier beschrieben stützt, verhindert Fehler der Division durch null, die auftreten würden, falls jede Fehlervektor/Ground-Truth-Vektor-Kombination getrennt betrachtet würde, da es dort einige Fälle (z. B. die Bewegung null des Nutzereingabeobjekts) gibt, in denen der Ground-Truth-Vektor null ist.
  • Außerdem verbessert die Verwendung des Fehlerverhältnisses wie hier beschrieben die Skaleninvarianz des Bewegungsvorhersagemodells. Zum Beispiel können einige oder alle der Trainingsdaten und/oder der Feldverwendungsdaten dafür formatiert werden, die Bewegung oder den Ort in Einheiten von Pixeln zu beschreiben, die üblicherweise auflösungsabhängig sind. Somit ermöglicht die Verwendung des Fehlerverhältnisses ein Einheits-agnostisches Training. Allerdings kann die Verlustfunktion in anderen Implementierungen zusätzlich oder alternativ zu dem hier beschriebenen Fehlerverhältnis andere Fehlermaße enthalten. Alternative Fehlermaße enthalten z. B. den mittleren quadratischen Fehler, den L1-Verlust, den L2-Verlust oder andere Maße.
  • Wieder anhand von 6 trainiert die Computervorrichtung bei 608 das Bewegungsvorhersagemodell auf der Grundlage der Verlustfunktion. Die Computervorrichtung kann z. B. eine abgeschnittene Rückwärtsfortpflanzung über die Zeit ausführen, um die Verlustfunktion über das Bewegungsvorhersagemodell rückwärts fortzupflanzen. Optional können bei 608 eine Anzahl von Verallgemeinerungstechniken (z. B. Weight Decays, Dropouts usw.) ausgeführt werden, um die Verallgemeinerungsfähigeit der Modelle, die trainiert werden, zu verbessern.
  • Nachdem das Modell bei 608 trainiert worden ist, kann es für eine Nutzercomputervorrichtung zur Verwendung beim Vorhersagen der Bewegung eines Nutzereingabeobjekts bei der Nutzercomputervorrichtung bereitgestellt und in ihr gespeichert werden. Insbesondere kann die in 602608 beschriebene Trainingsprozedur mehrmals (z. B. bis sich eine Zielverlustfunktion nicht verbessert) wiederholt werden, um das Modell zu trainieren.
  • Als ein anderes Beispiel zeigt 8 eine graphische Darstellung beispielhafter Bewegungsvektoren in Übereinstimmung mit beispielhaften Ausführungsformen der vorliegenden Offenbarung. Insbesondere stellt 8 eine Menge von Ground-Truth-Bewegungsdaten dar, die vier Ground-Truth-Bewegungsvektoren enthält: 800, 802, 804 und 806. Diese Ground-Truth-Bewegungsvektoren 800, 802, 804 und 806 können eine Menge von Ground-Truth-Bewegungsdaten bilden, die für das Training des Modells geeignet sind. Die Ground-Truth-Bewegungsvektoren 800, 802, 804 und 806 können eine zuvor beobachtete Nutzereingabeobjekttrajektorie/Nutzereingabeobjektspur beschreiben. 8 ist als ein vereinfachtes Beispiel zur Erläuterung gegeben und die vorliegende Offenbarung ist nicht auf das in 8 gezeigte Beispiel beschränkt.
  • Um das Beispiel fortzusetzen, kann ein Bewegungsvorhersagemodell in Ansprechen auf den Empfang des ersten Ground-Truth-Bewegungsvektors 800 einen Bewegungsvorhersagevektor ausgeben, der für das Nutzereingabeobjekt drei vorhergesagte künftige Orte identifiziert. Die Bewegungsvorhersagevektoren sind zusammen durch vorhergesagte Vektoren 822, 824 und 826 graphisch dargestellt. Zum Beispiel verläuft der erste vorhergesagte Vektor 822 von dem letzten bekannten Ort des Nutzereingabeobjekts zu dem ersten vorhergesagten künftigen Ort des Nutzereingabeobjekts; verläuft der zweite vorhergesagte Vektor 824 von dem letzten bekannten Ort des Nutzereingabeobjekts zu dem zweiten vorhergesagten künftigen Ort; und verläuft der dritte vorhergesagte Vektor 826 von dem letzten bekannten Ort des Nutzereingabeobjekts zu dem dritten vorhergesagten künftigen Ort. Die Aufnahme dreier vorhergesagter künftiger Orte in den Bewegungsvorhersagevektor ist nur beispielhaft gegeben. Der Bewegungsvorhersagevektor kann irgendeine Anzahl (z. B. einen oder mehrere) vorhergesagte künftige Orte (z. B. wie durch den Eingabezeitvektor geführt) enthalten.
  • Außerdem kann eine Menge von Fehlervektoren 842, 844 und 846 in dieser Reihenfolge auf der Grundlage einer Differenz zwischen den vorhergesagten Vektoren 822, 824 und 826 und jeweils den entsprechenden Orten, die durch die Ground-Truth-Bewegungsvektoren 802, 804 und 806 bereitgestellt werden, definiert werden. Um das Beispiel fortzusetzen, kann das Fehlerverhältnis als die Summe der Längen der Vektoren 842, 844 und 846, dividiert durch die Summe der Länge des Vektors 802, der Länge der Vektoren 802 + 804 und der Länge der Vektoren 802 + 804 + 806, definiert werden. In einigen Implementierungen wird dieses Fehlerverhältnis für einen gesamten Stapel von Trainingsdaten, nicht nur für ein einzelnes Paar von Ground-Truth-Daten und Bewegungsvorhersagevektoren, bestimmt.
  • Zusätzliche Offenbarung
  • Die hier diskutierte Technologie nimmt Bezug auf Server, Datenbanken, Softwareanwendungen und andere computergestützte Systeme sowie Tätigkeiten, die ausgeführt werden, und Informationen, die zu und von diesen Systemen gesendet werden. Die inhärente Flexibilität computergestützter Systeme ermöglicht eine große Vielfalt möglicher Konfigurationen, Kombinationen und Teilungen von Aufgaben und der Funktionalität zwischen und unter Komponenten. Zum Beispiel können hier diskutierte Prozesse unter Verwendung einer einzelnen Vorrichtung oder Komponente oder mehrerer Vorrichtungen oder Komponenten, die zusammenarbeiten, implementiert werden. Datenbanken und Anwendungen können in einem einzelnen System oder verteilt über mehrere Systeme implementiert werden. Verteilte Komponenten können sequentiell oder parallel arbeiten.
  • Obgleich der vorliegende Gegenstand in Bezug auf verschiedene spezifische beispielhafte Ausführungsformen davon ausführlich beschrieben worden ist, ist jedes Beispiel beispielhaft und nicht zur Beschränkung der Offenbarung gegeben. Der Fachmann auf dem Gebiet kann beim Erreichen eines Verständnisses des Vorstehenden leicht Änderungen, Varianten und Entsprechungen solcher Ausführungsformen erzeugen. Dementsprechend schließt der Gegenstand die Aufnahme solcher Änderungen, Varianten und/oder Hinzufügungen zu dem vorliegenden Gegenstand, wie sie dem Durchschnittsfachmann auf dem Gebiet einfallen, nicht aus. Zum Beispiel können Merkmale, die als Teil einer Ausführungsform dargestellt oder beschrieben sind, mit einer anderen Ausführungsform verwendet werden, um eine abermals weitere Ausführungsform zu liefern. Somit soll die vorliegende Offenbarung solche Änderungen, Varianten oder Entsprechungen enthalten.
  • Obgleich 5 bzw. 6 zur Veranschaulichung und Diskussion Schritte zeigen, die in einer bestimmten Reihenfolge ausgeführt werden, sind die Verfahren der vorliegenden Offenbarung insbesondere nicht auf die besondere dargestellte Reihenfolge oder Anordnung beschränkt. Die verschiedenen Schritte der Verfahren 500 und 600 können auf verschiedene Arten weggelassen, umgestellt, kombiniert und/oder angepasst werden, ohne von dem Schutzumfang der vorliegenden Offenbarung abzuweichen.

Claims (23)

  1. Computerlesbares Speichermedium, das Anweisungen enthält, die, wenn sie ausgeführt werden, veranlassen, dass wenigstens ein Prozessor eines Computersystems durch Ausführen der folgenden Schritte die Bewegung von Nutzereingabeobjekten vorhersagt: Erhalten einer ersten Menge von Bewegungsdaten, die einem Nutzereingabeobjekt zugeordnet sind, durch eine oder mehrere Computervorrichtungen, wobei die erste Menge von Bewegungsdaten einen Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben; Eingeben der ersten Menge von Bewegungsdaten in ein rekurrentes neuronales Netz eines maschinengelernten Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen; und Empfangen eines Bewegungsvorhersagevektors, der einen oder mehrere vorhergesagte künftige Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreibt, durch die eine oder die mehreren Computervorrichtungen als eine Ausgabe des Bewegungsvorhersagemodells.
  2. Computerlesbares Speichermedium nach Anspruch 1, wobei das Erhalten der ersten Menge von Bewegungsdaten, die dem Nutzereingabeobjekt zugeordnet sind, durch die eine oder die mehreren Computervorrichtungen das Erhalten der ersten Menge von Bewegungsdaten, die einem Finger eines Nutzers oder einem durch den Nutzer betätigten Eingabestift zugeordnet sind, durch die eine oder die mehreren Computervorrichtungen umfasst, wobei die erste Menge von Bewegungsdaten eine Bewegung des Fingers oder des Eingabestifts in Bezug zu einem berührungsempfindlichen Bildschirm beschreiben.
  3. Computerlesbares Speichermedium nach Anspruch 1 oder Anspruch 2, wobei das Eingeben der ersten Menge von Bewegungsdaten in das maschinengelernte rekurrente neuronale Netz des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen das Eingeben der ersten Menge von Bewegungsdaten in ein maschinengelerntes neuronales Long-Short-Term-Arbeitsspeicher-Netz (LSTM-Netz) des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen umfasst.
  4. Computerlesbares Speichermedium nach einem der Ansprüche 1–3, das ferner Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor die folgenden Schritte ausführt: Empfangen eines hochdimensionalen Kontextvektors durch die eine oder die mehreren Computervorrichtungen als eine Ausgabe des rekurrenten neuronalen Netzes; und Eingeben des hochdimensionalen Kontextvektors und eines Zeitvektors, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in ein vorwärtsgekoppeltes neuronales Netz des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen; wobei das Empfangen des Bewegungsvorhersagevektors durch die eine oder die mehreren Computervorrichtungen als die Ausgabe des Bewegungsvorhersagemodells das Empfangen des Bewegungsvorhersagevektors als eine Ausgabe des vorwärtsgekoppelten neuronalen Netzes durch die eine oder die mehreren Computervorrichtungen umfasst.
  5. Computerlesbares Speichermedium nach einem der Ansprüche 1–3, das ferner Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor die folgenden Schritte ausführt: Empfangen eines hochdimensionalen Kontextvektors durch die eine oder die mehreren Computervorrichtungen als eine Ausgabe des rekurrenten neuronalen Netzes; und Eingeben des hochdimensionalen Kontextvektors und eines Zeitvektors, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in das rekurrente neuronale Decodernetz des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen; wobei das Empfangen des Bewegungsvorhersagevektors als die Ausgabe des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen das Empfangen des Bewegungsvorhersagevektors als eine Ausgabe des rekurrenten neuronalen Decodernetzes durch die eine oder die mehreren Computervorrichtungen umfasst.
  6. Computerlesbares Speichermedium nach einem der Ansprüche 1–3, wobei: das Eingeben der ersten Menge von Bewegungsdaten in das maschinengelernte rekurrente neuronale Netz durch die eine oder die mehreren Computervorrichtungen das Eingeben der ersten Menge von Bewegungsdaten und eines Zeitvektors, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in das rekurrente neuronale Netz durch die eine oder die mehreren Computervorrichtungen umfasst; und das Empfangen des Bewegungsvorhersagevektors als die Ausgabe des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen das Empfangen des Bewegungsvorhersagevektors als eine Ausgabe des rekurrenten neuronalen Netzes durch die eine oder die mehreren Computervorrichtungen umfasst.
  7. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei das Erhalten der ersten Menge von Bewegungsdaten, die dem Nutzereingabeobjekt zugeordnet sind, durch die eine oder die mehreren Computervorrichtungen umfasst: Erhalten der ersten Menge von Bewegungsdaten, die wenigstens einen Wert, der eine Änderung des Orts des Nutzereingabeobjekts in einer x-Dimension beschreibt, wenigstens einen Wert, der eine Änderung des Orts des Nutzereingabeobjekts in einer y-Dimension beschreibt, und wenigstens einen Wert, der eine Änderung der Zeit beschreibt, bereitstellen, durch die eine oder die mehreren Computervorrichtungen; oder Erhalten der ersten Menge von Bewegungsdaten, die wenigstens zwei Werte, die wenigstens zwei Orte des Nutzereingabeobjekts in der x-Dimension beschreiben, wenigstens zwei Werte, die wenigstens zwei Orte des Nutzereingabeobjekts in der y-Dimension beschreiben, und wenigstens zwei Werte, die wenigstens zwei Zeiten beschreiben, bereitstellen, durch die eine oder die mehreren Computervorrichtungen.
  8. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, das ferner Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor die folgenden Schritte ausführt: Trainieren des Bewegungsvorhersagemodells auf der Grundlage einer Menge von Trainingsdaten durch die eine oder die mehreren Computervorrichtungen; wobei das Trainieren des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen das Rückwärtsfortpflanzen einer Verlustfunktion über das Bewegungsvorhersagemodell durch die eine oder die mehreren Computervorrichtungen umfasst; und wobei die Verlustfunktion ein Fehlerverhältnis umfasst, das eine erste Summe einer oder mehrerer Längen jeweils eines oder mehrerer Fehlervektoren, dividiert durch eine zweite Summe einer oder mehrerer Längen jeweils eines oder mehrerer Ground-Truth-Vektoren, beschreibt.
  9. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei: das Erhalten der ersten Menge von Bewegungsdaten durch die eine oder die mehreren Computervorrichtungen das iterative Erhalten mehrerer Bewegungsaktualisierungen, die jeweils den Ort des Nutzereingabeobjekts im Zeitverlauf aktualisieren, durch die eine oder die mehreren Computervorrichtungen umfasst; das Eingeben der ersten Menge von Bewegungsdaten in das rekurrente neuronale Netz durch die eine oder die mehreren Computervorrichtungen das iterative Eingeben jeder der mehreren Bewegungsaktualisierungen in das rekurrente neuronale Netz, während sie iterativ erhalten werden, durch die eine oder die mehreren Computervorrichtungen umfasst; und das Empfangen des Bewegungsvorhersagevektors durch die eine oder die mehreren Computervorrichtungen als die Ausgabe des Bewegungsvorhersagemodells das iterative Empfangen mehrerer Bewegungsvorhersagevektoren als Ausgaben des Bewegungsvorhersagemodells durch die eine oder die mehreren Computervorrichtungen umfasst.
  10. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, das ferner Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor die folgenden Schritte ausführt: Löschen eines Caches, der dem rekurrenten neuronalen Netz zugeordnet ist, bei einer Bestimmung, dass das Nutzereingabeobjekt keine Nutzereingabe mehr bereitstellt, durch die eine oder die mehreren Computervorrichtungen.
  11. Computerlesbares Speichermedium, das Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor auf Berührungseingaben von einem Nutzereingabeobjekt anspricht, wobei die Berührungseingaben bei einer berührungsempfindlichen Vorrichtung empfangen werden, und in Übereinstimmung mit den Schritten eines der Ansprüche 1 bis 10 eine Bewegung des Nutzereingabeobjekts vorhersagt, wobei die erste Menge von Bewegungsdaten auf den Berührungseingaben beruht, die bei der berührungsempfindlichen Vorrichtung empfangen werden, und wobei es ferner Anweisungen umfasst, die, wenn sie ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor den Schritt des Ausführens einer oder mehrerer Operationen in Abhängigkeit von dem Bewegungsvorhersagevektor ausführt.
  12. Vorrichtung, die ein computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche enthält und dafür konfiguriert ist, Anweisungen auszuführen, die in dem computerlesbaren Speichermedium enthalten sind.
  13. Computervorrichtung, die die Bewegung von Nutzereingabeobjekten vorhersagt, wobei die Computervorrichtung umfasst: wenigstens einen Prozessor; ein maschinengelerntes Bewegungsvorhersagemodell, das ein rekurrentes neuronales Netz umfasst, wobei das Bewegungsvorhersagemodell dafür trainiert worden ist, Bewegungsdaten zu empfangen, die die Bewegung eines Nutzereingabeobjekts angeben, und in Ansprechen auf den Empfang der Bewegungsdaten vorhergesagte künftige Orte des Nutzereingabeobjekts auszugeben; und wenigstens ein konkretes nicht transitorisches computerlesbares Medium, das Anweisungen speichert, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass der wenigstens eine Prozessor: eine erste Menge von Bewegungsdaten erhält, die dem Nutzereingabeobjekt zugeordnet sind, wobei die erste Menge von Bewegungsdaten einen Ort des Nutzereingabeobjekts im Zeitverlauf beschreiben; die erste Menge von Bewegungsdaten in ein rekurrentes neuronales Netz des maschinengelernten Bewegungsvorhersagemodells eingibt; als Ausgabe des Bewegungsvorhersagenmodells einen Bewegungsvorhersagevektor empfängt, der den einen oder die mehreren vorhergesagten künftigen Orte des Nutzereingabeobjekts jeweils für einen oder mehrere künftige Zeitpunkte beschreibt; und eine oder mehrere Tätigkeiten ausführt, die dem einen oder den mehreren vorhergesagten künftigen Orten, die durch den Bewegungsvorhersagevektor beschrieben sind, zugeordnet sind.
  14. Computervorrichtung nach Anspruch 13, wobei die erste Menge von Bewegungsdaten einem Finger eines Nutzers oder einem durch den Nutzer betätigten Eingabestift zugeordnet ist, und wobei die erste Menge von Bewegungsdaten die Bewegung des Fingers oder des Eingabestifts in Bezug zu einem berührungsempfindlichen Bildschirm beschreibt.
  15. Computervorrichtung nach Anspruch 13 oder Anspruch 14, wobei das rekurrente neuronale Netz ein neuronales Long-Short-Term-Memory-Netz (LSTM-Netz) umfasst.
  16. Computervorrichtung nach einem der Ansprüche 13 bis 15, wobei: das Bewegungsvorhersagemodell ferner ein vorwärtsgekoppeltes neuronales Netz umfasst, das dafür konfiguriert ist, eine Ausgabe des rekurrenten neuronalen Netzes zu empfangen, wobei die Ausgabe des rekurrenten neuronalen Netzes einen hochdimensionalen Kontextvektor umfasst; die Ausführung der Anweisungen ferner veranlasst, dass der wenigstens eine Prozessor zusammen mit dem hochdimensionalen Kontextvektor einen Zeitvektor, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in das vorwärtsgekoppelte neuronale Netz des Bewegungsvorhersagemodells eingibt; der wenigstens eine Prozessor den Bewegungsvorhersagevektor als eine Ausgabe des vorwärtsgekoppelten neuronalen Netzes empfängt.
  17. Computervorrichtung nach einem der Ansprüche 13 bis 15, wobei: das Bewegungsvorhersagemodell ferner ein rekurrentes neuronales Decodernetz umfasst, das dafür konfiguriert ist, eine Ausgabe des rekurrenten neuronalen Netzes zu empfangen, wobei die Ausgabe des rekurrenten neuronalen Netzes einen hochdimensionalen Kontextvektor umfasst; die Ausführung der Anweisungen ferner veranlasst, dass der wenigstens eine Prozessor zusammen mit dem hochdimensionalen Kontextvektor einen Zeitvektor, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in das rekurrente neuronale Decodernetz des Bewegungsvorhersagemodells eingibt; der wenigstens eine Prozessor den Bewegungsvorhersagevektor als eine Ausgabe des rekurrenten neuronalen Decodernetzes empfängt.
  18. Computervorrichtung nach einem der Ansprüche 13 bis 15, wobei: die Ausführung der Anweisungen ferner veranlasst, dass der wenigstens eine Prozessor zusammen mit der ersten Menge von Bewegungsdaten einen Zeitvektor, der den einen oder die mehreren künftigen Zeitpunkte beschreibt, in das rekurrente neuronale Netz eingibt; der wenigstens eine Prozessor den Bewegungsvorhersagevektor als eine Ausgabe des rekurrenten neuronalen Netzes empfängt.
  19. Computervorrichtung nach einem der Ansprüche 13 bis 18, wobei: das Bewegungsvorhersagemodell durch Rückwärtsfortpflanzung einer Verlustfunktion über das Bewegungsvorhersagemodell trainiert wurde; und die Verlustfunktion ein Fehlerverhältnis umfasst, das eine erste Summe einer oder mehrerer Längen jeweils eines oder mehrerer Fehlervektoren, dividiert durch eine zweite Summe einer oder mehrerer Längen jeweils eines oder mehrerer Ground-Truth-Vektoren, beschreibt.
  20. Computersystem, das umfasst: eine Nutzercomputervorrichtung, wobei die Nutzercomputervorrichtung umfasst: wenigstens einen Prozessor; und wenigstens ein nicht transitorisches computerlesbares Medium, das speichert: ein maschinengelerntes Bewegungsvorhersagemodell, das dafür konfiguriert ist, Bewegungsdaten zu empfangen, die die Bewegung eines Nutzereingabeobjekts angeben, und in Ansprechen auf den Empfang der Bewegungsdaten vorhergesagte künftige Orte des Nutzereingabeobjekts auszugeben, wobei das Bewegungsvorhersagemodell durch Rückwärtsfortpflanzung einer Verlustfunktion über das Bewegungsvorhersagemodell trainiert wird, wobei die Verlustfunktion ein Fehlerverhältnis umfasst, das eine erste Summe einer oder mehrerer Längen jeweils eines oder mehrerer Fehlervektoren, dividiert durch eine zweite Summe einer oder mehrerer Längen jeweils eines oder mehrerer Ground-Truth-Vektoren, beschreibt; und Anweisungen, die, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, veranlassen, dass die Nutzercomputervorrichtung das maschinengelernte Bewegungsvorhersagemodell verwendet, um die vorhergesagten künftigen Orte des Nutzereingabeobjekts zu erhalten.
  21. Computersystem nach Anspruch 20, wobei das Bewegungsvorhersagemodell ein rekurrentes neuronales Netz umfasst.
  22. Computersystem nach Anspruch 20 oder 21, das ferner umfasst: ein Trainingscomputersystem, das die Verlustfunktion über das Bewegungsvorhersagemodell rückwärts fortpflanzt, um das Bewegungsvorhersagemodell zu trainieren.
  23. Computersystem nach einem der Ansprüche 20 bis 22, wobei die Nutzercomputervorrichtung eine berührungsempfindliche Vorrichtung umfasst, die dafür konfiguriert ist, Berührungseingaben von einem Nutzereingabeobjekt zu empfangen, wobei die Bewegungsdaten auf den Berührungseingaben beruhen, und wobei die Anweisungen, wenn sie ausgeführt werden, ferner veranlassen, dass die Nutzercomputervorrichtung in Abhängigkeit von den vorhergesagten künftigen Orten des Nutzereingabeobjekts eine oder mehrere Operationen ausführt.
DE202017105184.6U 2016-09-08 2017-08-29 Tiefes Maschinenlernen zum Ausführen einer Berührungsbewegungsvorhersage Active DE202017105184U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/259,917 US10514799B2 (en) 2016-09-08 2016-09-08 Deep machine learning to perform touch motion prediction
US15/259,917 2016-09-08

Publications (1)

Publication Number Publication Date
DE202017105184U1 true DE202017105184U1 (de) 2018-01-03

Family

ID=59714158

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202017105184.6U Active DE202017105184U1 (de) 2016-09-08 2017-08-29 Tiefes Maschinenlernen zum Ausführen einer Berührungsbewegungsvorhersage

Country Status (5)

Country Link
US (2) US10514799B2 (de)
EP (2) EP4369159A1 (de)
CN (2) CN109716361B (de)
DE (1) DE202017105184U1 (de)
WO (1) WO2018048598A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699185B2 (en) * 2017-01-26 2020-06-30 The Climate Corporation Crop yield estimation using agronomic neural network
KR102302643B1 (ko) 2017-04-21 2021-09-14 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
KR20200010640A (ko) * 2018-06-27 2020-01-31 삼성전자주식회사 모션 인식 모델을 이용한 자체 운동 추정 장치 및 방법, 모션 인식 모델 트레이닝 장치 및 방법
WO2020039273A1 (en) * 2018-08-21 2020-02-27 Sage Senses Inc. Method, system and apparatus for touch gesture recognition
CN110890930B (zh) 2018-09-10 2021-06-01 华为技术有限公司 一种信道预测方法、相关设备及存储介质
WO2020058560A1 (en) * 2018-09-17 2020-03-26 Nokia Solutions And Networks Oy Object tracking
CN110162175B (zh) * 2019-05-16 2022-04-19 腾讯科技(深圳)有限公司 基于视觉的触觉测量方法、装置、设备及存储介质
TWI719591B (zh) * 2019-08-16 2021-02-21 緯創資通股份有限公司 物件追蹤方法及其電腦系統
US11205065B2 (en) * 2019-10-18 2021-12-21 Alpine Electronics of Silicon Valley, Inc. Gesture detection in embedded applications
US11717748B2 (en) 2019-11-19 2023-08-08 Valve Corporation Latency compensation using machine-learned prediction of user input
CN110865767A (zh) * 2019-11-20 2020-03-06 深圳传音控股股份有限公司 应用程序的运行方法、装置、设备及存储介质
WO2021137849A1 (en) * 2019-12-30 2021-07-08 Google Llc Distributed machine-learned models across networks of interactive objects
GB2591765B (en) * 2020-02-04 2023-02-08 Peratech Holdco Ltd Classifying mechanical interactions
CN113448482B (zh) * 2020-03-25 2024-09-13 华为技术有限公司 触控屏的滑动响应控制方法及装置、电子设备
JP7163545B2 (ja) 2020-03-30 2022-11-01 東芝情報システム株式会社 タッチパネル装置及びタッチパネル用プログラム
CN113496268B (zh) * 2020-04-08 2024-07-05 北京图森智途科技有限公司 一种轨迹预测方法和装置
CN114092751A (zh) * 2020-07-09 2022-02-25 北京图森未来科技有限公司 一种轨迹预测方法和装置
WO2022081157A1 (en) * 2020-10-15 2022-04-21 Google Llc Transporter network for determining robot actions
CN114418159B (zh) * 2021-10-29 2023-01-03 中国科学院宁波材料技术与工程研究所 肢体运动轨迹及其预测误差的预测方法、系统和电子装置
CN114224577B (zh) * 2022-02-24 2022-05-17 深圳市心流科技有限公司 智能假肢的训练方法、装置、电子设备、智能假肢及介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4752906A (en) 1986-12-16 1988-06-21 American Telephone & Telegraph Company, At&T Bell Laboratories Temporal sequences with neural networks
JP2676397B2 (ja) 1989-01-05 1997-11-12 株式会社エイ・ティ・アール視聴覚機構研究所 動的システムの運動軌道生成方法
US5105468A (en) 1991-04-03 1992-04-14 At&T Bell Laboratories Time delay neural network for printed and cursive handwritten character recognition
US5412754A (en) 1992-06-30 1995-05-02 At&T Corp. Reverse time delay neural network for pattern generation
US5742702A (en) 1992-10-01 1998-04-21 Sony Corporation Neural network for character recognition and verification
US5930781A (en) 1992-10-27 1999-07-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Neural network training by integration of adjoint systems of equations forward in time
US5812698A (en) 1995-05-12 1998-09-22 Synaptics, Inc. Handwriting recognition system and method
US6038338A (en) 1997-02-03 2000-03-14 The United States Of America As Represented By The Secretary Of The Navy Hybrid neural network for pattern recognition
US6610917B2 (en) 1998-05-15 2003-08-26 Lester F. Ludwig Activity indication, external source, and processing loop provisions for driven vibrating-element environments
US20120056846A1 (en) 2010-03-01 2012-03-08 Lester F. Ludwig Touch-based user interfaces employing artificial neural networks for hdtp parameter and symbol derivation
US9354804B2 (en) * 2010-12-29 2016-05-31 Microsoft Technology Licensing, Llc Touch event anticipation in a computing device
US20130009896A1 (en) 2011-07-09 2013-01-10 Lester F. Ludwig 3d finger posture detection and gesture recognition on touch surfaces
US8194926B1 (en) 2011-10-05 2012-06-05 Google Inc. Motion estimation for mobile device user interaction
US9224090B2 (en) 2012-05-07 2015-12-29 Brain Corporation Sensory input processing apparatus in a spiking neural network
US20130297539A1 (en) 2012-05-07 2013-11-07 Filip Piekniewski Spiking neural network object recognition apparatus and methods
US8487896B1 (en) * 2012-06-27 2013-07-16 Google Inc. Systems and methods for improving image tracking based on touch events
US9703473B2 (en) 2013-01-24 2017-07-11 Facebook, Inc. Predicting touch input
US10181098B2 (en) * 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
US9678506B2 (en) * 2014-06-19 2017-06-13 Skydio, Inc. Magic wand interface and other user interaction paradigms for a flying digital assistant
US9248834B1 (en) 2014-10-02 2016-02-02 Google Inc. Predicting trajectories of objects based on contextual information
WO2016106238A1 (en) * 2014-12-24 2016-06-30 Google Inc. Augmenting neural networks to generate additional outputs
WO2016172872A1 (zh) * 2015-04-29 2016-11-03 北京旷视科技有限公司 用于验证活体人脸的方法、设备和计算机程序产品
CN105787582A (zh) * 2015-12-24 2016-07-20 清华大学 股票风险预测方法和装置

Also Published As

Publication number Publication date
EP4369159A1 (de) 2024-05-15
CN117332812A (zh) 2024-01-02
US20180067605A1 (en) 2018-03-08
EP3510529B1 (de) 2023-12-27
CN109716361A (zh) 2019-05-03
CN109716361B (zh) 2023-09-15
US11740724B2 (en) 2023-08-29
US20200089366A1 (en) 2020-03-19
WO2018048598A1 (en) 2018-03-15
EP3510529A1 (de) 2019-07-17
US10514799B2 (en) 2019-12-24

Similar Documents

Publication Publication Date Title
DE202017105184U1 (de) Tiefes Maschinenlernen zum Ausführen einer Berührungsbewegungsvorhersage
DE102018111905A1 (de) Domänenspezifische Sprache zur Erzeugung rekurrenter neuronaler Netzarchitekturen
DE112018002822T5 (de) Klassifizieren neuronaler netze
DE112017002799T5 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE202019106182U1 (de) Neuronenarchitektursuche mit faktorisiertem hierarchischem Suchraum
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
DE102008017846A1 (de) Verfahren und Benutzerschnittstelle für die grafische Darstellung von medizinischen Daten
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE112017000669T5 (de) Semantische Segmentierung auf der Grundlage einer globalen Optimierung
DE112019006156T5 (de) Erkennung und behandlung von unsachgemässen eingaben durch neuronale netzwerke
DE102020000404A1 (de) Steuerparametereinstellvorrichtung
DE102017219282A1 (de) Verfahren und Vorrichtung zum automatischen Erzeugen eines künstlichen neuronalen Netzes
DE102020210352A1 (de) Verfahren und Vorrichtung zum Transferlernen zwischen modifizierten Aufgaben
DE102019203634A1 (de) Verfahren und Vorrichtung zum Ansteuern eines Roboters
EP3557487A1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE112015002933T5 (de) Immunverfahren zum Erfassen einer Anwenderverhaltensweise in einem elektronischen Transaktionsprozess
WO2021008836A1 (de) Vorrichtung und computerimplementiertes verfahren für die verarbeitung digitaler sensordaten und trainingsverfahren dafür
DE112016006769B4 (de) Verfahren für Gebärdenspracheneingaben in eine Benutzerschnittstelle eines Fahrzeugs und Fahrzeug
DE112019006317T5 (de) Implementierung eines mehrschichtigen neuronalen netzwerks unter verwendung einer einzigen physikalischen schicht aus analogen neuronen
EP3901713A1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
DE112015005501T5 (de) Alterungsprofilbildungsmaschine für physikalische Systeme
DE112021005555T5 (de) Multitasking-lernen über gradienteilung zur umfangreichen menschlichen analyse

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06N0007000000

Ipc: G06N0003020000

R151 Utility model maintained after payment of second maintenance fee after six years