# US 12,602,441 B2 · Self-supervised learning through data augmentation for recommendation systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,441 B2
- Document ID: US12602441B2
- Status: Granted
- Kind: B2
- Application number: 17/986,667
- Filed: 2022-11-14
- Published: 2024-05-16
- Granted: 2026-04-14
- Earliest claimed: 2022-11-14
- Assignees: Roblox Corporation
- Applicants: Roblox Corporation
- Inventors: Xiaohong Gong; Frank Ong
- Web page: https://patentgrep.com/patent/US12602441B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06N 3/045: Combinations of networks
- G06N 3/08: Learning methods
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computer-implemented method to train a machine-learning model to recommend virtual experiences to a user. The method includes receiving training data that includes original training examples corresponding to a set of virtual experiences, where individual training examples comprise user features and item features. The method further generating augmented training examples by modifying one or more of a user feature or an item feature from corresponding original training examples. The method further extracting respective representation embeddings from the original training examples and the augmented training examples. The method further includes determining a loss function such that: a first loss between representation embeddings of individual original training examples and representation embeddings of corresponding augmented training examples is minimized and a second loss between the representation embeddings of individual original training examples and representation embeddings of non-corresponding augmented training examples is maximized.

## Claims

### Claim 1

A computer-implemented method to train a machine-learning model to recommend virtual experiences to a user, the method comprising:
receiving training data that includes original training examples corresponding to a set of virtual experiences, where individual training examples comprise user features and item features;
generating augmented training examples by modifying one or more of a user feature or an item feature from corresponding original training examples;
extracting respective representation embeddings from the original training examples and the augmented training examples; and
determining, by a machine-learning model, a loss function, wherein the machine-learning model includes a user tower and an item tower, wherein the user tower includes a first deep neural network (DNN) that generates user embeddings based on the user features and the item tower includes a second DNN that generates item embeddings based on the item features and wherein the loss function is determined such that:
a first loss for the user tower between representation embeddings of individual original training examples and representation embeddings of corresponding augmented training examples is minimized; and
a second loss for the item tower between the representation embeddings of individual original training examples and representation embeddings of non-corresponding augmented training examples is maximized.

### Claim 2 (depends on 1)

The method of claim 1, wherein the original training examples include a sparse feature that includes a plurality of values, and generating the augmented training examples comprises setting at least one of the plurality of values of the sparse feature to zero.

### Claim 3 (depends on 2)

The method of claim 2, wherein generating the augmented training examples comprises setting all of the plurality of values of the sparse feature to zero to mask the sparse feature.

### Claim 4 (depends on 1)

The method of claim 1, wherein the augmented training examples include a sparse feature that includes a sequence of two or more values, and generating the augmented training examples comprises reordering at least a subset of the two or more values.

### Claim 5 (depends on 1)

The method of claim 1, wherein the augmented training examples include a sparse feature that includes a sequence of two or more values, and generating the augmented training examples comprises selecting a continuous subsequence from the sequence of two or more values, wherein the continuous subsequence excludes at least one value of the two or more values.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, prior to determining the loss function, projecting the respective representation embeddings to a loss computation space.

### Claim 7 (depends on 1)

The method of claim 1, wherein the original training examples include a feature embedding comprising a plurality of bits, and generating the augmented training examples comprises modifying one or more of the plurality of bits.

### Claim 8 (depends on 1)

The method of claim 1, wherein the machine-learning model is a recommender model that identifies candidate virtual experiences or a ranking model that ranks the candidate virtual experiences to recommend to the user.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving first user features for a first user;
generating candidate virtual experiences;
determining, by the machine-learning model, a ranked subset of the candidate virtual experiences; and
providing a user interface that includes the ranked subset of the candidate virtual experiences.

### Claim 10 (depends on 1)

The method of claim 1, wherein the user embeddings are further based on sequence user features that are generated from user interactions with different virtual experiences and attention modeling.

### Claim 11 (depends on 10)

The method of claim 10, wherein the attention modeling is trained by generating event embeddings for each set of user sequence features that correspond to a same user interaction sequence, generating weight vectors that correspond to the event embeddings, and generating a weighted embedding by multiplying the event embeddings by the weight vectors.

### Claim 12 (depends on 10)

The method of claim 10, wherein the attention modeling is trained by generating event embeddings for each set of user sequence features that correspond to a same user interaction sequence, providing the event embeddings as input to a neural network, outputting weight vectors with the neural network, and generating a weighted embedding by multiplying the event embeddings by the weight vectors.

### Claim 13 (depends on 10)

The method of claim 10, wherein the attention modeling is trained by generating event embeddings for each set of user sequence features that correspond to a same user interaction sequence, pooling the event embeddings and concatenating pooled event embeddings with the event embeddings as input along with other context features to a neural network, outputting weight vectors with the neural network, and generating a weighted embedding by multiplying the event embeddings by the weight vectors.

### Claim 14

A device comprising:
a processor; and
a memory coupled to the processor, with instructions stored thereon that, when executed by the processor, cause the processor to perform operations comprising:
receiving training data that includes original training examples corresponding to a set of virtual experiences, where individual training examples comprise user features and item features;
generating augmented training examples by modifying one or more of a user feature or an item feature from corresponding original training examples;
extracting respective representation embeddings from the original training examples and the augmented training examples; and
determining, by a machine-learning model, a loss function, wherein the machine-learning model includes a user tower and an item tower, wherein the user tower includes a first deep neural network (DNN) that generates user embeddings based on the user features and the item tower includes a second DNN that generates item embeddings based on the item features and wherein the loss function is determined such that:
a first loss for the user tower between representation embeddings of individual original training examples and representation embeddings of corresponding augmented training examples is minimized; and
a second loss for the item tower between the representation embeddings of individual original training examples and representation embeddings of non-corresponding augmented training examples is maximized.

### Claim 15 (depends on 14)

The device of claim 14, wherein the original training examples include a sparse feature that includes a plurality of values, and generating the augmented training examples comprises setting at least one of the plurality of values of the sparse feature to zero.

### Claim 16 (depends on 15)

The device of claim 15, wherein generating the augmented training examples comprises setting all of the plurality of values of the sparse feature to zero to mask the sparse feature.

### Claim 17

A non-transitory computer-readable medium with instructions stored thereon that, when executed by one or more computers, cause the one or more computers to perform operations, the operations comprising:
receiving training data that includes original training examples corresponding to a set of virtual experiences, where individual training examples comprise user features and item features;
generating augmented training examples by modifying one or more of a user feature or an item feature from corresponding original training examples;
extracting respective representation embeddings from the original training examples and the augmented training examples; and
determining, by a machine-learning model, a loss function, wherein the machine-learning model includes a user tower and an item tower, wherein the user tower includes a first deep neural network (DNN) that generates user embeddings based on the user features and the item tower includes a second DNN that generates item embeddings based on the item features and wherein the loss function is determined such that:
a first loss for the user tower between representation embeddings of individual original training examples and representation embeddings of corresponding augmented training examples is minimized; and
a second loss for the item tower between the representation embeddings of individual original training examples and representation embeddings of non-corresponding augmented training examples is maximized.

### Claim 18 (depends on 17)

The computer-readable medium of claim 17, wherein the original training examples include a sparse feature that includes a plurality of values, and generating the augmented training examples comprises setting at least one of the plurality of values of the sparse feature to zero.

### Claim 19 (depends on 18)

The computer-readable medium of claim 18, wherein generating the augmented training examples comprises setting all of the plurality of values of the sparse feature to zero to mask the sparse feature.

### Claim 20 (depends on 17)

The computer-readable medium of claim 17, wherein the user embeddings are further based on sequence user features that are generated from user interactions with different virtual experiences and attention modeling.
