Generating CAPTCHA using generative imaging model

By generating diverse image challenges through generative imaging models and combining similarity or difference descriptions, the problem of traditional CAPTCHA being easily recognized by machines is solved, thus improving security and user experience.

CN120937002APending Publication Date: 2025-11-11MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480017381.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-22
Filing Date
2024-03-01
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Traditional CAPTCHA images are easily recognized by machines, offer a dull user experience, and are difficult to provide effective security protection.

Method used

The system uses a generative imaging model to generate multiple images based on variables of multiple categories (such as subject, verb, setting, style) and provides similarity or difference descriptions. Users complete challenges by selecting or describing images, and the system trains users to provide accurate prompts.

Benefits of technology

It improves the security and user experience of CAPTCHA by using diverse image challenges that are difficult for machines to recognize, while training a generative imaging model for effective user interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120937002A_ABST
    Figure CN120937002A_ABST
Patent Text Reader

Abstract

Methods and systems are provided for generating a fully automated common Turing Test (CAPTCHA) image. In some examples, the method includes: generating a plurality of images using a generative imaging model; providing a user with the plurality of images and a description corresponding to one of a similarity or a difference between the plurality of images; receiving a selection of an image of the plurality of images; determining whether the selection is correct based on the provided description; and outputting an indication of whether the selection is correct.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] The fully automated Public Turing Test (CAPTCHA) is a security measure known as challenge-response authentication. Compared to computers attempting to break into a system, CAPTCHA helps protect the system by requiring users to complete simple tests to prove that the user is human, such as preventing spam and password decryption.

[0002] Regarding these and other general considerations, embodiments have been described. Moreover, although relatively specific problems have been discussed, it should be understood that the embodiments are not limited to solving the specific problems identified in the background art. Summary of the Invention

[0003] Various aspects of this disclosure relate to methods, systems, and media for generating CATPHA images and training users to provide accurate cues to generative imaging models.

[0004] In some examples, a generative imaging model is used to generate one or more images for CATPCHA. The images may be generated based on variables of multiple categories (e.g., including subject, verb, setting, style, etc.). Each of the one or more images may be generated based on a corresponding prompt. The images may be provided to a user (e.g., via a graphical user interface). In some examples, the images are multiple images, which are provided to the user along with a description corresponding to one of the similarities or differences between the multiple images. In such examples, the selection of an image from the multiple images may be received (e.g., via user input), and the correctness of the selection may be determined based on the provided description. In some examples, a description of one or more images (e.g., in natural language) is received (e.g., via user input). This description may be compared to the corresponding prompt on which the one or more images are based, such that an indication of whether the description is correct can be output. In some examples, when the images are multiple images, the description includes similarities or differences between the multiple images, and the description is compared to the similarities or differences between the prompt on which the images are based. In addition, in some examples, descriptions of one or more images are received as part of a training process that teaches the user how to provide accurate prompts to the generative model.

[0005] This summary is provided to present a simplified selection of concepts, which are further described in the following detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Additional aspects, features, and / or advantages of the examples will be set forth in part in the description which follows, and will be apparent in part from the description, or may be learned by practice of this disclosure. Attached Figure Description

[0006] Non-restrictive and non-exhaustive examples are described with reference to the following figures.

[0007] Figure 1 An overview of an example system based on some aspects described in this article is illustrated.

[0008] Figure 2 The illustration shows a sample CAPTCHA generated based on some of the aspects described in this article.

[0009] Figure 3 An example method for generating a CATPCHA with an image and receiving a selection corresponding to the image, based on some aspects described herein, is illustrated.

[0010] Figure 4A The illustration shows a first example image that can be generated for CAPTCHA according to some aspects described herein.

[0011] Figure 4B The diagram illustrates the compatibility based on some aspects described in this article. Figure 4A The first image is provided together with the second image as an example.

[0012] Figure 5 An example system for training a user to provide accurate prompts to an image generator, based on some aspects described in this paper, is illustrated.

[0013] Figure 6 The illustration shows an example vector space based on some aspects described in this paper.

[0014] Figure 7 An example method is illustrated for generating a CAPTCHA with an image and receiving input corresponding to a description of the image, based on some aspects described herein.

[0015] Figure 8 An example method is illustrated for generating a CAPTCHA with an image and receiving input corresponding to a description of the image, based on some aspects described herein.

[0016] Figure 9A and Figure 9B The diagram illustrates an overview of example generative machine learning models that can be used based on the aspects described in this article.

[0017] Figure 10 A block diagram of an example physical component of a computing device that can be used to implement various aspects of this disclosure is illustrated.

[0018] Figure 11 A simplified block diagram of a computing device that can be used to implement various aspects of this disclosure is shown.

[0019] Figure 12 This is a simplified block diagram of a distributed computing system in which the various aspects of this disclosure can be implemented. Detailed Implementation

[0020] In the following detailed description, reference is made to the accompanying drawings, which form a part of the description, and specific embodiments or examples are illustrated by way of illustration. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from this disclosure. The aspects may be practiced as methods, systems, or devices. Accordingly, embodiments may take the form of hardware implementations, entirely software implementations, or implementations combining software and hardware aspects. Therefore, the following detailed description should not be considered limiting, and the scope of this disclosure is defined by the appended claims and their equivalents.

[0021] As mentioned above, the fully automated Public Turing Test (CAPTCHA) is a security measure known as challenge-response authentication. Compared to computers attempting to break into the system, CAPTCHA helps protect the system by requiring users to complete simple tests to prove that they are human, such as preventing spam and password decryption.

[0022] Traditional CAPTCHA is uninteresting, often reusing the same images over and over again (e.g., images of fire hydrants, bicycles, pedestrian crossings, traffic lights, etc.). These recurring images can be retrieved from image databases and / or scraped from images found on the Internet. Furthermore, given the development of new, advanced machine learning techniques, traditional CAPTCHA can be relatively insecure.

[0023] Generative image models (such as DALL-E 2 and Stable Diffusion) can create images with a near-infinite number of themes, covering a wide range of art and photographic styles. These can include mythological and impossible subjects, yet remain instantly recognizable to the human eye. This diversity of styles and content means that very few (if any) image recognition techniques that manipulate adversarial proxies can effectively identify all images and defeat CAPTCHA.

[0024] This disclosure describes several ways in which image generation artificial intelligence (AI) models can empower the next generation of CAPTCHA with increased safety. Furthermore, active interaction with these controls can be used to train and improve the image generation model itself by feeding positive / negative human detections back into the model training loop.

[0025] In some examples, the image selection type CATPCHA can be provided with images generated by AI (e.g., generative image models). For example, a user can be given the instruction to "select images with horses." Images can be created using horses of various styles, locations, settings, etc. Multiple images with horses and multiple images without horses can be shown to the user, prompting the user to select any and all images with the desired label (e.g., containing horses).

[0026] In some examples, users can describe images. For instance, one or more AI-generated images with multiple describable elements can be shown to the user. A text box can be presented to the user, prompting them to type a description of the image's content. A countdown timer can indicate how much time the user has left to complete the challenge before one or more images are replaced by one or more new images. As the user types, several factors can be evaluated and processed by the AI ​​to determine whether the user is a robot or a human. These factors can include the rhythm and regularity of keystrokes, the occurrence of errors, typos, backspace, etc. The typed content (in any language) can be interpreted by the AI ​​model to determine whether it describes the generated image or how accurate the description is.

[0027] In some examples provided herein, multiple images can be generated using a generative imaging model. These multiple images can be generated based on variables categorized into multiple classes, such as subject (e.g., person, animal, object), verbs (e.g., sit, swim, jump), setting (farm, underwater, space), and style (e.g., cartoon, Picasso, watercolor, pop art, vintage, other art styles). Multiple images can be provided to the user. In some examples, descriptions corresponding to the similarities and / or differences between the multiple images can be provided, allowing the user to select one or more images based on these descriptions. In some examples, the user can provide descriptions corresponding to aspects of one or more images and / or the similarities / differences between one or more images. The mechanisms disclosed herein can determine whether the selection and / or the user-provided descriptions are correct and provide such indications.

[0028] The advantages of the aspects disclosed herein can include an improved user experience, such as by providing images that are more relevant to the user completing the CAPTCHA challenge. Furthermore, the aspects described herein can enhance the security of systems protected by CAPTCHAs generated according to the teachings provided herein. Moreover, according to some of the aspects described herein, users can be trained on how to effectively and accurately draft prompts for generative imaging models. At least according to this disclosure, those skilled in the art will recognize additional and / or alternative advantages.

[0029] Figure 1An example of a system 100 based on some aspects of the disclosed subject matter is shown. System 100 may be a system for generating CAPTCHA. System 100 includes one or more computing devices 102, one or more servers 104, input data sources 107, and a communication network or network 108.

[0030] Computing device 102 can receive input data 111 from input data source 107, which may be, for example, a camera, microphone, a computer-executed program that generates the input data, and / or a memory storing data corresponding to the input data. Input data 111 may be, for example, voice query, text query, touch, gesture, keystroke, mouse click, gaze, or some other user input data that can be recognized by those skilled in the art. Additionally or alternatively, network 108 can receive input data 111 from input data source 107.

[0031] Computing device 102 may include a communication system 112, a CAPTCHA generator 114, an input analyzer 116, and / or a cue trainer 118. In some examples, computing device 102 may execute at least a portion of the CAPTCHA generator 114 to generate one or more images via an AI model (such as a generative imaging model). For example, one or more cuees may be provided to the AI ​​model, allowing the model to generate images based on one or more variables from multiple categories. In some examples, computing device 102 may execute at least a portion of the input analyzer 116 to compare input provided by a user with cuees used to generate the CAPTCHA. Based on this comparison, it can be determined whether the provided input is correct or incorrect. In some examples, computing device 102 may execute at least a portion of the cue trainer 118 to provide instructions to a user for guessing a cue corresponding to an image generated using the AI ​​model. In some examples, cue trainer 118 may provide feedback on whether the user's guess of the cue is correct, incorrect, and / or the degree to which the guess is correct / incorrect.

[0032] Server 104 may include a communication system 112, a CAPTCHA generator 122, an input analyzer 124, and / or a cue trainer 126. In some examples, server 104 may execute at least a portion of the CAPTCHA generator 122 to generate one or more images via an AI model (such as a generative imaging model). For example, one or more cuees may be provided to the AI ​​model, allowing the model to generate images based on one or more variables from multiple categories. In some examples, server 104 may execute at least a portion of the input analyzer 124 to compare input provided by a user with cuees used to generate the CAPTCHA. Based on this comparison, it can be determined whether the provided input is correct or incorrect. In some examples, server 104 may execute at least a portion of the cue trainer 126 to provide instructions to a user for guessing a cue corresponding to an image generated using the AI ​​model. In some examples, cue trainer 126 may provide feedback on whether the user's guess of the cue is correct, incorrect, and / or the degree to which the guess is correct / incorrect.

[0033] Additionally or alternatively, in some examples, computing device 102 may transmit data received from input data source 107 to server 104 via communication network 108, which may execute at least a portion of CAPTCHA generator 114 / 122, input analyzer 116 / 124, and / or cue trainer 118 / 126. In some examples, CAPTCHA generator 114 / 122, input analyzer 116 / 124, and / or cue trainer 118 / 126 may execute the following in conjunction. Figure 3 , Figure 7 and / or Figure 8 The described method / process 300, 700 and / or 800, or one or more parts thereof.

[0034] In some examples, computing device 102 and / or server 104 can be any suitable computing device or combination of devices, such as a desktop computer, vehicle computer, mobile computing device (e.g., laptop computer, smartphone, tablet computer, wearable computer, etc.), server computer, virtual machine executed by a physical computing device, web server, etc. Furthermore, in some examples, multiple computing devices 102 and / or multiple servers 104 may be present. Those skilled in the art will recognize that input data 111 can be received at one or more of the multiple computing devices 102 and / or one or more of the multiple servers 104, enabling the mechanisms described herein to generate CAPTCHA and / or analyze user input associated with CAPTCHA.

[0035] In some examples, input data source 107 can be any suitable input data source (e.g., microphone, camera, sensor, etc.). In more specific examples, input data source 107 can include storage for storing input data (e.g., local storage of computing device 102, local storage of server 104, cloud storage, portable storage connected to computing device 102, portable storage connected to server 104, privately accessible storage, publicly accessible storage, etc.). In another more specific example, input data source 107 can include an application configured to generate input data. In some examples, input data source 107 can be local to computing device 102. Additionally or alternatively, input data source 107 can be located remotely from computing device 102 and can transmit input data 111 to computing device 102 (and / or server 104) via a communication network (e.g., communication network 108).

[0036] In some examples, communication network 108 can be any suitable communication network or combination of communication networks. For example, communication network 108 can include a Wi-Fi network (which may include one or more wireless routers, one or more switches, etc.), a peer-to-peer network (e.g., a Bluetooth network), a cellular network (e.g., a 3G network, 4G network, 5G network, etc., conforming to any suitable standard), a wired network, etc. In some examples, communication network 108 can be a local area network (LAN), a wide area network (WAN), a public network (e.g., the Internet), a private or semi-private network (e.g., a corporate or university intranet), any other suitable type of network, or any suitable combination of networks. Figure 1 The communication links shown (arrows) can be any suitable communication link or combination of communication links, such as wired links, fiber optic links, Wi-Fi links, Bluetooth links, cellular links, etc.

[0037] Figure 2 An example CAPTCHA 200 generated according to some aspects described herein is illustrated. CAPTCHA 200 includes instructions or descriptions 202 and multiple images, such as a first image 204, a second image 206, a third image 208, and a fourth image 210.

[0038] Instruction 202 can correspond to one of the similarities or differences between multiple images. For example, Figure 2The illustrated instruction 202 instructs the user to “select all images showing horses.” Therefore, the illustrated instruction 202 corresponds to the similarity between each of the multiple images 204-210. In some examples, instruction 202 corresponds to the differences between each of the multiple images 204-210, such as by stating “select images that do not show horses.” Instructions can be more specific and / or more general than the examples above. For example, instruction 202 could guide the user to simply select one or more images that do not belong to the other images, without explicitly stating why said image does not belong (e.g., because it does not show the same subject, verb, setting, and / or style as other images).

[0039] In some examples, multiple images 204-210 are generated using artificial intelligence and / or machine learning models (such as generative imaging models). A generative imaging model can be a deep learning model developed to generate images based on natural language descriptions (e.g., prompts). For example, the first image 204, the second image 206, and the third image 208 can all be generated using the same first prompt (e.g., a Picasso image of a horse jumping over a fence in space). In contrast, the fourth image 210 can be generated using a second prompt different from the first prompt (e.g., a Picasso image of a lion jumping over a fence in space).

[0040] The cue used to generate multiple images 204-210 may include variables of multiple categories. For example, variables of multiple categories may include subject (e.g., animal, person, object, etc.), verb (e.g., jump, swim, sit, etc.), setting (e.g., desert, underwater, space, farm, etc.), and / or style (e.g., cartoon, Picasso, pop art, retro, pixelated, etc.). Examples of additional and / or alternative categories of variables and / or specific variables provided herein will be recognized by those skilled in the art. It should be understood that the length of the cue (e.g., the number of variable categories and / or the number of variables included in the cue) may affect the safety standards of the cue. For example, a longer cue may be relatively safer than a shorter cue.

[0041] In some examples, prompts may be generated based on user-specific interests (e.g., from a database of personal data collected with the user's permission). Additionally or alternatively, prompts may be generated based on the user's demographic characteristics (e.g., age, race, ethnicity, education, employment, etc.). Additionally or alternatively, prompts may be generated based on geographic boundaries corresponding to the user's location and / or cultural norms associated with those geographic boundaries. Additional and / or alternative personalization techniques related to user characteristics are readily recognized by those skilled in the art and can make the corresponding CATPCHA relatively more effective and / or more enjoyable for the user.

[0042] To generate images based on the aspects provided herein, cues can be created by fixing variables for one or more of the multiple categories and changing (e.g., randomizing) variables for one or more other categories, such that there are distinguishable differences / similarity among the images generated based on the various cues. For example, in multiple images 204-210, the first, second, and third images 204-208 are generated based on cues having the same subject, setting, verb, and style. However, the fourth image 210 has only the same setting, verb, and style, where the subject has been changed (e.g., from a horse to a lion).

[0043] A user can respond to instruction 202 to select one or more of images 204-210. For example, a user can correctly select images 204-206 displaying a horse. However, if the user tries to select image 210, the selection will be incorrect. Those skilled in the art will recognize that, although... Figure 2 The example shows four images, but any number of images can be generated. Furthermore, although... Figure 2 The correct answer to instruction 202 in the example includes selecting three images, but those skilled in the art should recognize that selecting a different number of images may be correct in other examples.

[0044] Furthermore, in some examples, CAPTCHA 200 may include a timer (not shown) that provides the user with an indication of how much time they have to select one or more of a plurality of images 204-210. If the user fails to select the correct image within the time specified by the timer and / or if the user's selection is incorrect, the mechanisms provided herein may generate a new set of images 204-210. Additionally or alternatively, in some examples, in response to the user's failure to select the correct image within the specified time and / or making an incorrect selection, CAPTCHA may lock the user out of the system and / or provide a notification of the failed access attempt.

[0045] Figure 3 An example method 300 for generating a CATPHA image is illustrated, based on some aspects described herein. In the example, aspects of method 300 are performed by a device, such as those described above. Figure 1 The computing device 102 and / or server 104 are discussed.

[0046] Method 300 begins with operation 302, where multiple images (e.g., Figure 2 Images 204-210 are generated using AI models (such as generative imaging models). Multiple images can be generated based on variables of multiple categories. For example, multiple images can be generated based on a cue that includes variables of multiple categories.

[0047] Variables across multiple categories may include subjects (e.g., animals, people, objects, etc.), verbs (e.g., jump, swim, sit, etc.), settings (e.g., desert, underwater, space, farm, etc.), and / or styles (e.g., cartoon, Picasso, pop art, retro, pixelated, etc.). Those skilled in the art will recognize additional and / or alternative categories of variables and / or examples of specific variables provided herein. It should be understood that the length of the prompt (e.g., the number of categories of variables included in the prompt and / or the number of variables) may affect the safety criteria of the prompt. For example, a longer prompt may be relatively safer than a shorter prompt.

[0048] In some examples, prompts may be generated based on user-specific interests (e.g., from a database of personal data collected with the user's permission). For example, prompts may be based on user-specific interests or history using cookies, web beacons, and / or other web tracking techniques recognized by those skilled in the art. Additionally or alternatively, prompts may be generated based on the user's demographic characteristics (e.g., age, race, ethnicity, education, employment, etc.). Additionally or alternatively, prompts may be generated based on geographic boundaries corresponding to the user's location and / or cultural norms associated with those geographic boundaries. Additional and / or alternative personalization techniques related to the user's characteristics are recognized by those skilled in the art and may make the corresponding CATPCHA relatively more effective and / or more pleasant for the user.

[0049] To generate images based on the aspects provided herein, cues can be created by fixing variables in one or more of multiple categories and changing (e.g., randomizing) variables in one or more other categories, such that there are distinguishable differences / similarity between images generated based on the various cues. Variables can be retrieved from a database corresponding to variables of a given category and / or a database corresponding to multiple categories, including indications of which category a given variable is associated with.

[0050] At operation 304, a user may be provided with multiple images and a corresponding description of one of the similarities or differences between the multiple images (e.g., between one or more images that form the multiple images). As discussed earlier herein, the similarity or difference may be associated with one or more categories of variables of multiple categories. Furthermore, providing multiple images may include, for example, displaying multiple images and / or descriptions to the user via a display screen of a computing device. Additionally or alternatively, the images and / or descriptions may be provided via audio corresponding to the images and / or descriptions.

[0051] In some examples, the description may be generated based on one or more variables used to generate multiple images. For example, based on the similarity or difference between prompts used to generate multiple images, the description may instruct the user to select one or more images based on similarity or difference. Additionally or alternatively, the description may be extracted from a pre-prepared database of descriptions.

[0052] At operation 306, a selection of an image from a plurality of images is received. In some examples, the selection may be of multiple images. The selection may be based on input received from the user. For example, the input may be a voice query, a text query, touch, gesture, keystroke, mouse click, gaze, or some other input that can be recognized by a person skilled in the art as corresponding to the selection.

[0053] At operation 308, the correctness of the selection is determined based on the description provided at operation 304. For example, when images are generated, they may include instructions on which images to generate based on prompts that include the same and / or different variables. Additionally or alternatively, the prompts for generating images may be analyzed to determine the semantic similarity between the prompts and the provided description.

[0054] If the selection is incorrect based on the provided description, the process branch "No" to operation 310, where an indication that the selection is incorrect is output. For example, if the user selects one or more images that are not associated with the description, the selection may be incorrect. As another example, if the user fails to select one or more images that are associated with the description, the selection may also be incorrect.

[0055] An indication that a selection is incorrect can be an audio and / or visual indication. Additionally or alternatively, an indication that a selection is incorrect can be the execution of a process, such as locking the user outside the system protected by the CAPTCHA generated via method 300. In some examples, the multiple images are a first plurality of images, and when method 300 reaches operation 310, method 300 can return to operation 302 and generate a second plurality of images using a generative imaging model. Thus, in some examples, the user may have multiple opportunities to correctly select an image based on the provided description.

[0056] If the selection is correct based on the provided description, the flow branch "Yes" proceeds to operation 312, where an indication that the selection is correct is output. For example, if the user selects each image in the images associated with the description, the selection is likely correct.

[0057] The correct selection instruction can be an audio and / or visual instruction. Additionally or alternatively, the correct selection instruction can be the execution of a process, such as authorizing access to a system protected by CAPTCHA generated via method 300. In some examples, the multiple images are a first set of multiple images, and when method 300 reaches operation 312, method 300 can return to operation 302 and generate a second set of multiple images using a generative imaging model. Therefore, in some examples, it may be necessary for the user to correctly select images multiple times based on the provided description, such as to increase security before authorized access to the system.

[0058] Method 300 may terminate at operation 312 and / or operation 314. Alternatively, method 300 may return to operation 302 to provide the following iterative loop: generating multiple images using a generative imaging model, providing the user with the multiple images having their descriptions, receiving a selection of one or more of the multiple images, and determining whether the selection is correct.

[0059] Based on some aspects described in this article, Figure 4A The illustration shows an example first image 410 that can be generated for CATPCHA, and Figure 4B The illustration shows a second example image 420 that can also be generated for CAPTCHA. Figure 4A It was generated using a generative imaging model with the cue "Shiba Inu playing fetch in space". In comparison, Figure 4B It was generated using a generative imaging model with the cue "Shiba Inu playing fetch underwater".

[0060] In some of the examples provided herein, a user may be provided with a single image (such as one of the first image 410 or the second image 420) as part of CAPTCHA. Alternatively, in some examples, a user may be provided with multiple images (such as both the first image 410 and the second image 420) as part of CAPTCHA.

[0061] In examples where a user is provided with a single image, the user can be prompted to provide a description of that single image. For example, if the user is provided with the first image 410 in CAPTCHA, the user can pass CAPTCHA by providing the correct description "Shiba Inu playing fetch in space". In some examples, the user can provide different descriptions, but these different descriptions can be determined to be sufficiently similar to the correct description so that the user can still pass CAPTCHA. Sufficient similarity can be based on: generating an input embedding based on the received description and comparing it with a prompt embedding generated based on the prompt used to generate the first image 410.

[0062] In the example where the user is provided with multiple images (e.g., first image 410 and second image 420), the user can be prompted to provide a description of each image (similar to what was discussed above regarding providing a single image to the user). Additionally or alternatively, the user can be prompted to provide a description of the similarity or differences between the multiple images (e.g., between first image 410 and second image 420). For example, refer to... Figure 4A and Figure 4B For example, with the first image 410 and the second image 420, a user prompted to describe the differences between the first image 410 and the second image 420 can accurately provide a description including that the first image 410 has a "space" setting, while the second image 420 has a "water" setting. Variations in the exact language of the description are acceptable based on a comparison of the embedding of the description with the embedding of the differences between the prompts used to generate the first image 410 and the prompts used to generate the second image 420.

[0063] Referring again to the example first image 410 and second image 420, a user prompted to describe the similarity between first image 410 and second image 420 can accurately provide a description including that both images show Shiba Inus playing fetch. Variations in the exact language used for the description are acceptable, based on comparing the embedding of the description with the embedding of the similarity between the prompt used to generate first image 410 and the prompt used to generate second image 420. For example, in some configurations of the mechanism provided herein, a user can be correct by stating that both first image 410 and second image 420 show Shiba Inus and / or both show dogs playing fetch. This tolerance between perfectly correct and sufficiently correct answers is configurable for specific use cases, and the system may be relatively more secure (e.g., less accessible) if a stricter tolerance is utilized.

[0064] Figure 5 An example system 500 for training a user to provide accurate prompts to an image generator, according to some aspects described herein, is illustrated. The example system 500 includes a first image 502, a second image 504, instructions 506, a first input interface 508, and a second input interface 510. The system 500 may include a graphical user interface on which the first image 502, the second image 504, and / or the instructions 506 are displayed. Furthermore, the first input interface 508 and / or the second input interface 510 may be integrated into the graphical user interface.

[0065] The first image 502 can be generated using a generative imaging model based on prompts. The prompts can include variables of multiple categories (e.g., subject, action, style, setting, other factors), such that the first image 502 is generated based on variables of multiple categories. Figure 5The first image 502 shown was generated based on the prompt "Cartoon wolf howling at the moon through a stained glass window".

[0066] System 500 includes instructions 506. Instructions 506 instruct the user to attempt to guess a clue that generates the first image 502. In some examples, instructions 506 may include allowing the user to try guessing the clue that generates the first image 502 multiple times. In some examples, instructions 506 may provide the user with the option to abandon guessing, such as by providing input indicating this, and may reveal the clue that generates the first image 502.

[0067] The user's guess can be provided via a first input interface 508. The first input interface 508 may receive the user's guess in the form of text (e.g., received via a text box, chat window, etc.), audio (e.g., received from a microphone, audio file, etc.), or as another input corresponding to the guess provided in response to the prompt for generating the first image 502. In some examples, the first input interface 508 may also include one or more buttons, such as for submitting the guess.

[0068] After receiving the guess, the example system 500 can use a generative imaging model to generate a second image 504 based on the guess. For example, in Figure 5 In this context, the guess is provided as "wolf." Therefore, "wolf" is used as a cue to generate the second image 504. However, as those skilled in the art will recognize, the second image 504 appears different from the first image 502. Accordingly, the mechanism provided herein can determine that the second image 504 is not similar enough to the first image 502 to constitute a correct guess. Alternatively, in some examples with relatively loose tolerances, the second image 504 can be determined to be sufficiently similar to the first image 502.

[0069] The user can provide subsequent guesses via the first input interface 508 to update the second image 504 to attempt to make it resemble the first image 502. Alternatively, the user can abandon the guess and / or believe they have guessed correctly and provide such an indication to the second input interface 510. The second input interface 510 can be configured to receive text data, audio data, gaze data, gesture data, keystroke data, mouse data, or another type of input instructing the user to terminate the guessing process (e.g., because they abandon, or because they believe they guessed correctly). Figure 5 In the example shown, the second input interface 510 includes a button that a user can select to display a prompt to generate the first image 502. By selecting the button on the second input interface 510, a prompt to generate the first image 502 can be provided to the user (e.g., in the form of a visual and / or audio instruction).

[0070] Typically, System 500 provides gamification to train users on how to effectively and accurately draft cues for generative imaging models. With the increasing prevalence of generative and large language models in daily life, training users on how to effectively interact with such models can be advantageous, allowing them to be integrated into various aspects of users' lives. At least according to this disclosure, those skilled in the art will recognize the additional and / or alternative advantages.

[0071] Figure 6 An example vector space 600 is shown according to some aspects described herein. Vector space 600 includes multiple feature vectors, such as a first feature vector 602, a second feature vector 604, a third feature vector 606, a fourth feature vector 608, and a fifth feature vector 610. Each of the multiple feature vectors 602, 604, 606, and 608 corresponds to a corresponding embedding 603, 605, 607, 609 generated based on cue information (e.g., cue used to generate one or more CATPHA images, similarity between cue vectors, differences between cue vectors, etc.). Embeddings 603, 605, 607, and 609 may be semantic embeddings. The fifth feature vector 610 is generated based on an input embedding 611 (e.g., a description provided by a user of the CATPHA images, similarity between images, and / or differences between images).

[0072] Feature vectors 602, 604, 606, 608, and 610 each have measurable distances between them. For example, the distances between feature vectors 602, 604, 606, and 608 and the fifth feature vector 610 corresponding to the input embedding 611 can be measured using cosine similarity. Alternatively, the distances between feature vectors 602, 604, 606, and 608 and the fifth feature vector 610 can be measured using another distance measurement technique (e.g., an n-dimensional distance function) that is readily recognized by those skilled in the art.

[0073] The similarity between each of feature vectors 602, 604, 606, and 608 and feature vector 610 corresponding to input embedding 611 can be determined, for example, based on the measured distance between feature vectors 602, 604, 606, and 608 and feature vector 610. The similarity between feature vectors 602, 604, 606, and 608 and feature vector 610 can be used to group or cluster feature vectors 602, 604, 606, and 608 into one or more feature vector sets, such as set 612, thereby generating a set or subset of embeddings within a relevance threshold.

[0074] In some examples, set 612 may include a predetermined number of feature vectors, such that the feature vector set is given a predetermined size. Additionally or alternatively, in some examples, the distance between each feature vector in feature vectors 602, 604, 606, 608 and feature vector 610 corresponding to input embedding 611 may be compared with a predetermined threshold.

[0075] Embeddings 603 and 605, corresponding to feature vectors 602 and 604 respectively, can correspond to similar cues (e.g., provided to a generative image model). For example, embedding 603 can be associated with a first image generated by the generative image model, and embedding 605 can be associated with a second image generated by the generative image model.

[0076] Set 612 can be stored in a data structure, such as a metric graph, an ANN tree, a kd-tree, an octree, another n-dimensional tree, or another data structure capable of storing a vector space representation, as may be recognized by those skilled in the art. Furthermore, the memory corresponding to the data structure in which set 612 is stored can be arranged or stored within the data structure in such a way that the embeddings and / or vectors in set 612 are grouped together. In some examples, feature vectors generated according to the mechanism described herein and their corresponding embeddings can be stored indefinitely. Additionally or alternatively, in some examples, when new feature vectors and / or embeddings are generated and stored, the new feature vectors and / or embeddings can overwrite older feature vectors and / or embeddings stored in memory (e.g., based on metadata indicating the version of the embedding) to improve memory capacity. Additionally or alternatively, in some examples, feature vectors and / or embeddings can be deleted from memory at specified time intervals and / or based on the amount of available memory to improve memory capacity.

[0077] Typically, the ability to store embeddings corresponding to cues used to generate images via generative image models allows users to associate, compare, and / or provide feedback based on input descriptions and cues used to generate images in a novel manner that benefits computational efficiency. The mechanisms described herein are efficient in reducing memory usage and the processing resources required to search the stored content, for example, because the embeddings occupy relatively little space in memory compared to alternative data objects such as text, video, images, etc. Additional and / or alternative advantages will be appreciated by those skilled in the art.

[0078] Figure 7 The illustrations depict some aspects of generating CATPCHA images according to the description herein (e.g., similar to those regarding...). Figure 4A and Figure 4B Example method 700 (discussed). Alternatively, in some examples, Figure 7It is a method used to train users to provide accurate prompts for generating images (e.g., similar to the method about...). Figure 5 (As discussed). In the example, aspects of method 700 are executed via the device, such as those mentioned above. Figure 1 The computing device 102 and / or server 104 under discussion.

[0079] Method 700 begins with operation 702, where one or more images (e.g., Figure 4A and Figure 4B The first image 410 and / or the second image 420, or Figure 5 The first image 502 and the second image 504 are generated using a generative imaging model. Each of the one or more images is generated based on a corresponding cue. The cue may include variables of multiple categories, such that each image is generated based on variables of multiple categories.

[0080] Variables across multiple categories may include subjects (e.g., animals, people, objects, etc.), verbs (e.g., jump, swim, sit, etc.), settings (e.g., desert, underwater, space, farm, etc.), and / or styles (e.g., cartoon, Picasso, pop art, retro, pixelated, etc.). Those skilled in the art will recognize additional and / or alternative categories of variables and / or examples of specific variables provided herein. It should be understood that the length of the prompt (e.g., the number of categories of variables included in the prompt and / or the number of variables) may affect the safety criteria of the prompt. For example, a longer prompt may be relatively safer than a shorter prompt.

[0081] In some examples, prompts may be generated based on user-specific interests (e.g., from a database of personal data collected with the user's permission). Additionally or alternatively, prompts may be generated based on the user's demographic characteristics (e.g., age, race, ethnicity, education, employment, etc.). Additionally or alternatively, prompts may be generated based on geographic boundaries corresponding to the user's location and / or cultural norms associated with those geographic boundaries. Those skilled in the art will recognize additional and / or alternative personalization techniques related to the user's characteristics, which can make the generated image relatively more recognizable and / or more pleasant to the user.

[0082] To generate images based on the aspects provided herein, cues can be created by fixing variables for one or more of a plurality of categories and changing (e.g., randomizing) variables for one or more other of the plurality of categories, such that there are distinguishable differences / similarity among images generated based on the various cues. Variables can be retrieved from a database of variables corresponding to a given category and / or a database of multiple categories, including indications of which category a given variable is associated with.

[0083] At operation 704, one or more images are provided to the user. Providing images may include displaying images, such as via a display screen of a computing device. For example, the images may be integrated into a graphical user interface displayed on the screen.

[0084] At operation 706, a description of one or more images is received. This description may be in natural language. For example, a user may provide the description via text input including natural language and / or via voice input including natural language. In some examples, the description may be a guess about what the prompt for generating one or more provided images is (e.g., such as...). Figure 5 The first input interface 508 is shown.

[0085] At operation 708, descriptions of one or more images are compared with corresponding cues for the images. In some examples, the comparison is a standard text comparison using techniques recognized by those skilled in the art. In some examples, the comparison includes generating an input embedding based on the received description. For example, the received description may be fed to a model, such as a machine learning model, trained to generate embeddings based on natural language. At operation 702, the cue embedding may also be generated based on cues used to generate one or more images. For example, the cue may be fed to a model, such as a machine learning model, trained to generate embeddings based on the cue.

[0086] The distance between the input embedding and the cue embedding can be determined, for example, in a vector space. This distance can be determined based on cosine similarity or another distance measure that is recognized by those skilled in the art. This distance can be compared with a similarity threshold (e.g., as can be configured for a specific use case) to determine whether the description is correct (e.g., whether the cue embedding is sufficiently similar to the input embedding, even if not precisely, based on the similarity threshold).

[0087] At operation 710, it is determined whether the descriptions of one or more images are correct. For example, this determination may include checking the results of comparing the descriptions of one or more images with the corresponding prompts for the images.

[0088] If the description is determined to be incorrect, the process branch "No" to operation 712, where an indication that the description is incorrect is output. For example, if the description of one or more images provided by the user is not similar enough to the prompts for one or more images, the description can be determined to be incorrect. As another example, if one or more images are multiple images, and the user fails to provide a description of the similarity or difference between the images and the prompts for the images that is sufficiently similar or different, the description can be determined to be incorrect.

[0089] Indications that a selection is incorrect can be audio and / or visual. Additionally or alternatively, indications that a selection is incorrect can be the execution of a process, such as locking the user out of the system protected by a CAPTCHA generated via method 700. In some examples, one or more images are one or more images of a first set, and when method 700 reaches operation 712, method 700 can return to operation 702 and generate one or more images of a second set using a generative imaging model. Therefore, in some examples, the user may have multiple opportunities to correctly describe the images.

[0090] In some examples, the indications suggest that the description is incorrect, and method 700 also includes (e.g., from...) Figure 5 The second input interface 510 receives a signal corresponding to the user ceasing to provide a description (e.g., giving up guessing a description of an image). Subsequently, prompts can be provided to generate one or more images based on this. By providing prompts to a user who has given up guessing, the user is able to learn what they were expected to guess. Such a gamified learning process can be beneficial in teaching users how to provide relatively accurate prompts for generating one or more images, which may be useful in the case of a user interface with a generative imaging model.

[0091] If the description is determined to be correct, the process branch "Yes" to operation 714, where an indication that the description is correct is output. For example, if the description of one or more images provided by the user is sufficiently similar to the prompts for one or more images, the description can be determined to be correct. As another example, if one or more images are multiple images, and the description of the similarity or difference between the images provided by the user is sufficiently similar to the similarity or difference between the prompts for the images, the description can be determined to be correct.

[0092] The correct instruction regarding description can be an audio and / or visual instruction. Additionally or alternatively, the correct instruction regarding selection can be the execution of a process, such as authorizing access to a system protected by CAPTCHA generated via method 700. In some examples, one or more images are one or more images of a first set, and when method 700 reaches operation 712, method 700 can return to operation 702 and generate one or more images of a second set using a generative imaging model. Therefore, in some examples, a user may be required to correctly describe the images multiple times, such as to add security before being authorized to access the system.

[0093] Method 700 may terminate at operation 712 and / or operation 714. Alternatively, method 700 may return to operation 702 to provide the following iterative loop: generating one or more images using a generative imaging model, receiving their descriptions, and determining whether the image descriptions are correct.

[0094] Figure 8 An example method 800 for generating a CATPHA image is illustrated, based on some aspects described herein. In the example, aspects of method 800 are executed via a device, such as those described above. Figure 1 The computing device 102 and / or server 104 under discussion.

[0095] Method 800 begins with operation 802, in which multiple images (e.g., first image 410 and second image 420) are generated using a generative imaging model. Each of the multiple images is generated based on a corresponding cue. The cue may include variables of multiple categories, such that each image is generated based on variables of multiple categories.

[0096] Variables across multiple categories may include subjects (e.g., animals, people, objects, etc.), verbs (e.g., jump, swim, sit, etc.), settings (e.g., desert, underwater, space, farm, etc.), and / or styles (e.g., cartoon, Picasso, pop art, retro, pixelated, etc.). Those skilled in the art will recognize additional and / or alternative categories of variables and / or examples of specific variables provided herein. It should be understood that the length of the prompt (e.g., the number of variable categories included in the prompt and / or the number of variables) may affect the prompt's security standards. For example, a longer prompt may be relatively more secure than a shorter prompt.

[0097] In some examples, prompts may be generated based on user-specific interests (e.g., from a database of personal data collected with the user's permission). Additionally or alternatively, prompts may be generated based on the user's demographic characteristics (e.g., age, race, ethnicity, education, employment, etc.). Additionally or alternatively, prompts may be generated based on geographic boundaries corresponding to the user's location and / or cultural norms associated with those geographic boundaries. Those skilled in the art will recognize additional and / or alternative personalization techniques related to the user's characteristics, which can make the corresponding CATPCHA relatively more effective and / or more enjoyable for the user.

[0098] To generate images based on the aspects provided herein, cues can be created by fixing variables for one or more of a plurality of categories and changing (e.g., randomizing) variables for one or more other categories, such that there are distinguishable differences / similarity between images generated based on the various cues. Variables can be retrieved from a database corresponding to variables of a given category and / or a database corresponding to multiple categories, including indications of which category a given variable is associated with.

[0099] At operation 804, multiple images are provided to the user. Providing multiple images may include, for example, displaying multiple images via a display screen of a computing device. Additionally or alternatively, the images may be provided via audio corresponding to the images.

[0100] At operation 806, a description of the similarity or difference between multiple images is received. This description can be in natural language. For example, a user can provide the description via text input including natural language and / or via voice input including natural language.

[0101] In some examples, the similarity or difference between cues can be based on the similarity or difference between variables across multiple categories. For example, the first image may have a different subject, verb, setting, or style than the second image. Alternatively or additionally, the first image may have the same subject, verb, setting, or style as the second image. Accordingly, the description may include identifying which variables in the cues upon which the generation of the first and second images is based differ between the first and second images.

[0102] At operation 808, the description is compared with the prompt (e.g., the prompt upon which generating multiple images is based) for similarity or difference. In some examples, this comparison includes generating an input embedding based on the received description. For example, the received description may be fed to a model, such as a machine learning model, trained to generate embeddings based on natural language. The prompt embedding may also be generated based on the similarity or difference between the prompts used to generate multiple images at operation 802. For example, the similarity or difference may be identified and fed to a model, such as a machine learning model, trained to generate the embedding.

[0103] The distance between the input embedding and the cue embedding can be determined, for example, in a vector space. This distance can be determined based on cosine similarity or another distance measure that is recognized by those skilled in the art. This distance can be compared with a similarity threshold (e.g., as can be configured for a specific use case) to determine whether the description is correct (e.g., based on the similarity threshold, whether the cue embedding is sufficiently similar to the input embedding, even if not precisely).

[0104] At operation 810, it is determined whether the descriptions of one or more images are correct. For example, this determination may include checking the results of comparing the similarity or differences between the descriptions of multiple images and the image prompts.

[0105] If the description is determined to be incorrect, the process branch "No" to operation 812, where an indication is output that the description is incorrect. For example, if the description provided by the user is not similar enough to or differs sufficiently from a prompt containing one or more images, the description can be determined to be incorrect.

[0106] Indications that a selection is incorrect can be audio and / or visual. Additionally or alternatively, indications that a selection is incorrect can be the execution of a process, such as locking the user out of the system protected by a CAPTCHA generated via method 800. In some examples, the images are from a first set, and when method 700 reaches operation 812, method 800 can return to operation 802 and generate a second set of images using a generative imaging model. Therefore, in some examples, the user may have multiple opportunities to correctly describe the similarity and / or differences between the images.

[0107] If the description is determined to be correct, the process branch "Yes" to operation 814, where the output indicates that the description is correct. For example, if the similarity or difference between the description provided by the user and the prompt in the image is sufficiently similar, the description can be determined to be correct.

[0108] The correct instruction regarding the description may be an audio and / or visual instruction. Additionally or alternatively, the correct instruction regarding the selection may be the execution of a process, such as authorizing access to a system protected by CAPTCHA generated via method 800. In some examples, the images are images from a first set, and when method 800 reaches operation 812, method 800 may return to operation 802 and generate a second set of images using a generative imaging model. Therefore, in some examples, a user may be required to correctly describe the similarity and / or differences between images multiple times, such as to increase security before being authorized to access the system.

[0109] Method 800 may terminate at operation 812 and / or operation 814. Alternatively, method 800 may return to operation 802 to provide the following iterative loop: generating multiple images using a generative imaging model, receiving descriptions of similarity or difference between the multiple images, and determining whether the descriptions of the images are correct.

[0110] Figure 9A and Figure 9B The diagram illustrates an overview of example generative machine learning models that can be used based on the aspects described in this article. First, refer to... Figure 9AConceptual diagram 900 depicts an overview of a pre-trained generative model package 904 that processes input 902 according to the aspects described herein to generate output for a CAPTCHA image 906. Examples of pre-trained generative model packages 904 include, but are not limited to, Megatron-Turing Natural Language Generation Model (MT-NLG), Generative Pre-trained Transformer 3 (GPT-3), Generative Pre-trained Transformer 4 (GPT-4), BigScience BLOOM (Large Open Science Open Access Multilingual Language Model), DALL-E, DALL-E 2, Stable Diffusion, or Jukebox.

[0111] In the example, the generative model package 904 is pre-trained based on a variety of inputs (e.g., various human languages, various programming languages, and / or various content types) and therefore does not need to be fine-tuned or trained for a specific scenario. Instead, the generative model package 904 can be pre-trained more generally such that the input 902 includes a cue that is generated, selected, or otherwise designed to induce the generative model package 904 to produce a specific generative model output 906. For example, the cue includes, therefore, the context and / or one or more completion prefixes of the generative model package 904 preloaded accordingly. As a result, the generative model package 904 is induced to generate an output based on the cue, which includes a predicted sequence of tokens associated with the cue (e.g., up to a token constraint of the generative model package 904). In the example, the predicted sequence of tokens is further processed (e.g., by output decoding 916) to produce the output 906. For example, each token is processed to identify a corresponding word, phrase, or other content that forms at least a portion of the output 906. It should be understood that input 902 and generative model output 906 can each include any type of content, including but not limited to text output, image output, audio output, video output, program output, and / or binary output. In the example, input 902 and generative model output 906 can have different content types, such as when the generative model package 904 includes a generative multimodal machine learning model.

[0112] Therefore, generative model package 904 can be used in any of multiple scenarios, and furthermore, different generative model packages can be used to replace generative model package 904 with virtually no modification to other related aspects (e.g., similar to those discussed in this paper). Figures 1 to 8 (Those aspects described). Therefore, the generative model package 904 operates as a tool for performing machine learning processing, wherein certain inputs 902 are generated programmatically or otherwise determined to the generative model package 904, thereby causing the generative model package 904 to produce a model output 906, which can then be used for further processing.

[0113] Generative modeling package 904 can be provided or otherwise used according to any of the various paradigms. For example, generative modeling package 904 can be used on computing devices (e.g., Figure 1 The generative model package 904 can be used locally on computing device 102, or it can be accessed remotely from a machine learning service. In other examples, aspects of the generative model package 904 are distributed across multiple computing devices. In some instances, the generative model package 904 can be accessed via an application programming interface (API), as may be provided by the operating system of the computing device and / or by the machine learning service and other examples.

[0114] Referring now to aspects of generative model package 904, generative model package 904 includes input tokenization 908, input embedding 910, model layer 912, output layer 914, and output decoding 916. In the example, input tokenization 908 processes input 902 to generate input embedding 910, which includes a sequence of symbolic representations corresponding to input 902. Accordingly, input embedding 910 is processed by model layer 912, output layer 914, and output decoding 916 to produce model output 906. An example architecture corresponding to generative model package 904 is... Figure 9B The architecture described herein is discussed in further detail below. Even so, it should be understood that the architecture shown and described herein should not be considered limiting, and any of a variety of other architectures may be used in other examples.

[0115] Figure 9B This is a conceptual diagram depicting an example architecture 950 of a pre-trained generative machine learning model that can be used according to the aspects described herein. As mentioned above, any of the various alternative architectures and corresponding ML models can be used in other examples without departing from the aspects described herein.

[0116] As shown in the figure, architecture 950 processes input 902 to produce generative model output 906, and its aspects are discussed above. Figure 9A The discussion took place. Architecture 950 was depicted as a converter model comprising encoder 952 and decoder 954. Encoder 952 processes input embeddings 958 (which in various aspects can be similar to...). Figure 9A The input embedding (910) includes a sequence of symbolic representations corresponding to input 956. In the example, input 956 includes input content 902, which may include user input and / or machine-generated input, such as prompts, commands, context, etc.

[0117] Furthermore, position encoding 960 can incorporate information about the relative and / or absolute positions of the tags for the input embedding 958. Similarly, output embedding 974 includes a sequence of symbolic representations corresponding to output 972, and position encoding 976 can similarly incorporate information about the relative and / or absolute positions of the tags for output embedding 974.

[0118] As shown in the figure, encoder 952 includes example layer 970. It should be understood that any number of such layers can be used, and the architecture depicted is simplified for illustrative purposes. Example layer 970 includes two sub-layers: a multi-head attention layer 962 and a feedforward layer 966. In the example, residual connections are included around each layer 962, 966, followed by normalization layers 964 and 968, respectively.

[0119] Decoder 954 includes example layer 990. Similar to encoder 952, any number of such layers can be used in other instances, and the architecture depicted for decoder 954 is simplified for illustrative purposes. As shown, example layer 990 includes three sublayers: a masked multi-head attention layer 978, a multi-head attention layer 982, and a feedforward layer 986. Aspects of multi-head attention layer 982 and feedforward layer 986 can be similar to those discussed above regarding multi-head attention layer 962 and feedforward layer 966, respectively. Additionally, masked multi-head attention layer 978 performs multi-head attention on the output of encoder 952 (e.g., output 972). In the example, masked multi-head attention layer 978 prevents a position from focusing on subsequent positions. This masking, combined with offset embedding (e.g., offsetting by one position, as shown in multi-head attention layer 982), ensures that the prediction for a given position depends on the known output for one or more positions smaller than the given position. As shown in the figure, residual connections are also included around layers 978, 982 and 986, followed by normalized layers 980, 984 and 988, respectively.

[0120] Multi-head attention layers 962, 978, and 982 can each use a set of linear projections to linearly project the query, key, and value to their corresponding dimensions. Each linear projection can be processed using an attention function (e.g., dot product or additive attention) to produce an n-dimensional output value for each linear projection. The resulting values ​​can be concatenated and projected again, allowing the values ​​to be processed subsequently, such as... Figure 9B As shown (e.g., through the corresponding normalization layers 964, 980 or 984).

[0121] Feedforward layers 966 and 986 can each be a fully connected feedforward network applied to each location. In the example, feedforward layers 966 and 986 each include multiple linear transformations with linear rectifier unit activation between them. In the example, each linear transformation is the same across different locations, while different parameters can be used compared to other linear transformations of the feedforward network.

[0122] Furthermore, aspects of the linear transformation 992 can be similar to the linear transformations discussed above regarding multi-head attention layers 962, 978, and 982, and feedforward layers 966 and 986. Softmax 994 can also convert the output of the linear transformation 992 into the predicted next label probability, as shown in output probability 996. It should be understood that the architectures shown are provided as examples, and in other examples, any of various other model architectures can be used according to the disclosed aspects. In some cases, multiple iterations of processing are performed according to the above aspects (e.g., using...). Figure 9A Generative model package 904 or Figure 9B The encoder 952 and decoder 954 in the model generate a series of output tokens (e.g., words), which are then combined to produce a complete sentence (and / or any other content). It should be understood that other generative models can generate multiple output tokens in a single iteration and thus can use a reduced number of iterations or a single iteration.

[0123] Therefore, the output probability 996 can thus form an embedded output 906 according to the aspects described herein, such that the output of the generative ML model (e.g., which may include structured output) is used as input for determining the action according to the aspects described herein. In other examples, the embedded output 906 is provided as the generated output for a CAPTCHA image.

[0124] Figure 10 Figure 9 and the associated description provide a discussion of various operating environments in which the aspects of this disclosure can be practiced. However, regarding Figure 10 The devices and systems shown and discussed up to Figure 9 are for illustrative purposes and not intended to limit the wide range of computing device configurations that can be used to practice the aspects of this disclosure described herein.

[0125] Figure 10 This is a block diagram illustrating the physical components (e.g., hardware) of a computing device 1000 that can utilize various aspects of this disclosure. The computing device components described below are applicable to the computing device described above, including... Figure 1The computing device 1000 may include at least one processing unit 1002 and system memory 1004 in a basic configuration. Depending on the configuration and type of the computing device, the system memory 1004 may include, but is not limited to, volatile storage devices (e.g., random access memory), non-volatile storage devices (e.g., read-only memory), flash memory, or any combination of these memories.

[0126] System memory 1004 may include operating system 1005 and one or more program modules 1006 suitable for running software application 1020, such as one or more components supported by the system described herein. As an example, system memory 1004 may store a CAPTCHA generator 1024, an input analyzer 1026, and / or a prompting trainer 1028. Operating system 1005 may, for example, be adapted to control the operation of computing device 1000.

[0127] Furthermore, aspects of this disclosure can be practiced in conjunction with graphics libraries, other operating systems, or any other applications, and are not limited to any particular application or system. This basic configuration is... Figure 10 The components within the dashed line 1008 are shown in the diagram. The computing device 1000 may have additional features or functions. For example, the computing device 1000 may also include additional data storage devices (removable and / or non-removable), such as disks, optical discs, or magnetic tapes. Such additional storage devices... Figure 10 The removable storage device 1009 and the non-removable storage device 1010 are shown in the middle.

[0128] As described above, multiple program modules and data files can be stored in system memory 1004. When executed on processing unit 1002, program module 1006 (e.g., application 1020) can perform processes including but not limited to the aspects described herein. Other program modules that can be used according to aspects of this disclosure may include email and contact applications, word processing applications, spreadsheet applications, database applications, PowerPoint presentation applications, drawing or computer-aided applications, etc.

[0129] Furthermore, aspects of this disclosure can be implemented on circuits including discrete electronic components, packages or integrated electronic chips containing logic gates, circuits utilizing microprocessors, or single chips containing electronic components or microprocessors. For example, aspects of this disclosure can be implemented via a system-on-a-chip (SOC), wherein... Figure 10Each or many of the components shown can be integrated onto a single integrated circuit. Such a SoC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or “burned in”) onto a chip substrate as a single integrated circuit. When operating via the SoC, the capabilities described herein regarding the client switching protocol can be operated via dedicated logic integrated onto a single integrated circuit (chip) along with other components of the computing device 1000. Some aspects of this disclosure can also be practiced using other techniques capable of performing logical operations, such as AND, OR, and NOT, including but not limited to mechanical, optical, fluid, and quantum technologies. Furthermore, some aspects of this disclosure can be practiced within a general-purpose computer or in any other circuit or system.

[0130] The computing device 1000 may also have one or more input devices 1012, such as a keyboard, mouse, pen, voice or speech input device, touch or swipe input device, etc. It may also include output devices 1014, such as a monitor, speaker, printer, etc. The above devices are examples, and other devices may be used. The computing device 1000 may include one or more communication connections 1016 that allow communication with other computing devices 1050. Examples of suitable communication connections 1016 include, but are not limited to, radio frequency (RF) transmitters, receivers, and / or transceiver circuitry; universal serial buses (USB), parallel and / or serial ports.

[0131] As used herein, the term "computer-readable medium" can include computer storage media. Computer storage media can be volatile and non-volatile, removable and non-removable media implemented in any method or technology including those used for storing information such as computer-readable instructions, data structures, or program modules. System memory 1004, removable storage device 1009, and non-removable storage device 1010 are examples of computer storage media (e.g., memory storage). Computer storage media can include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, cassette tape, magnetic tape, disk storage or other magnetic storage devices, or any other article of manufacture that can be used to store information and is accessible by computing device 1000. Any such computer storage medium may be part of computing device 1000. Computer storage media does not include carrier waves or other propagated or modulated data signals.

[0132] Communication media can be embodied in computer-readable instructions, data structures, program modules, or other data in modulated data signals (such as carrier waves or other transmission mechanisms), and include any information delivery medium. The term "modulated data signal" can describe a signal whose one or more characteristics are set or altered in a manner that encodes information in the signal. By way of example and not limitation, communication media can include wired media such as wired networks or direct wired connections, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

[0133] Figure 11 This is a block diagram illustrating one aspect of the architecture of a computing device. That is, the computing device can be combined with system (e.g., architecture) 1102 to achieve several aspects. In some examples, system 1102 is implemented as a "smartphone" capable of running one or more applications (e.g., browser, email, calendar, contact manager, messaging client, game, and media client / player). In some aspects, system 1102 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and a wireless phone.

[0134] One or more applications 1166 may be loaded into memory 1162 and run on or associated with operating system 1164. Examples of applications include telephone dialers, email programs, personal information management (PIM) programs, word processing programs, spreadsheet programs, internet browser programs, messaging programs, etc. System 1102 also includes a non-volatile storage area 1168 within memory 1162. The non-volatile storage area 1168 may be used to store persistent information that should not be lost when system 1102 is powered off. Applications 1166 may use and store information in the non-volatile storage area 1168, such as emails or other messages used by email applications. A synchronization application (not shown) also resides on system 1102 and is programmed to interact with a corresponding synchronization application residing on the host computer to keep the information stored in the non-volatile storage area 1168 synchronized with the corresponding information stored on the host computer. It should be understood that other applications can be loaded into memory 1162 and run on the mobile computing device 1100 described herein (e.g., an embedded object memory insertion engine, an embedded object memory retrieval engine, etc.).

[0135] System 1102 has a power supply 1170, which can be implemented as one or more batteries. The power supply 1170 may also include an external power source, such as an AC adapter or a power docking station for replenishing or recharging the batteries.

[0136] System 1102 may also include a radio interface layer 1172 that performs functions of transmitting and receiving radio frequency communications. Radio interface layer 1172 facilitates wireless connectivity between system 1102 and the "outside world" via a communications operator or service provider. Transmissions to and from radio interface layer 1172 are conducted under the control of operating system 1164. In other words, communications received by radio interface layer 1172 can be propagated to application 1166 via operating system 1164, and vice versa.

[0137] Visual indicator 1120 can be used to provide visual notifications, and / or audio interface 1174 can be used to generate audible notifications via audio transducer 1125. In the illustrated example, visual indicator 1120 is a light-emitting diode (LED), and audio transducer 1125 is a speaker. These devices can be directly coupled to power supply 1170 such that when activated, they remain on for the duration indicated by the notification mechanism, even if processor 1160 and / or dedicated processor 1161 and other components may be turned off to conserve battery power. LEDs can be programmed to remain on indefinitely until the user takes action to indicate the device's power-on status. Audio interface 1174 is used to provide and receive audible signals to and from the user. For example, in addition to being coupled to audio transducer 1125, audio interface 1174 can also be coupled to a microphone to receive audible input, such as to facilitate telephone conversations. According to various aspects of this disclosure, the microphone can also be used as an audio sensor to facilitate control of notifications, as described below. System 1102 may also include a video interface 1176, which enables the operation of the airborne camera 1130 to record still images, video streams, etc.

[0138] The computing device implementing system 1102 may have additional features or functions. For example, the computing device may also include additional data storage devices (removable and / or non-removable), such as disks, optical discs, or magnetic tapes. Such additional storage devices... Figure 11 It is shown in the non-volatile storage region 1168.

[0139] As described above, data / information generated or captured by the computing device and stored via system 1102 can be stored locally on the computing device, or the data can be stored on any number of storage media, which can be accessed by the device via radio interface layer 1172 or via a wired connection between the computing device and a separate computing device associated with the computing device (e.g., a server computer in a distributed computing network such as the Internet). It should be understood that such data / information can be accessed via the computing device via radio interface layer 1172 or via a distributed computing network. Similarly, such data / information can be easily transferred between computing devices for storage and use based on known data / information transmission and storage components (including email and collaborative data / information sharing systems).

[0140] As mentioned above, Figure 12 The diagram illustrates one aspect of the architecture of a system for processing data received at a computing system from a remote source, such as a personal computer 1204, a tablet computing device 1206, or a mobile computing device 1208. The content displayed at server device 1202 can be stored in different communication channels or other storage types. For example, various documents can be stored using a directory service 1224, a web portal 1225, an email service 1226, instant messaging storage 1228, or a social networking site 1230.

[0141] Application 1220 (e.g., similar to application 1020) can be adopted by a client communicating with server device 1202. Additionally or alternatively, a CAPTCHA generator 1221, an input analyzer 1222, and / or a cue trainer 1223 can be adopted by server device 1202. Server device 1202 can provide data to and from client computing devices such as personal computer 1204, tablet computing device 1206, and / or mobile computing device 1208 (e.g., smartphone) via network 1215. As an example, the aforementioned computer system can be embodied in personal computer 1204, tablet computing device 1206, and / or mobile computing device 1208 (e.g., smartphone). In addition to receiving graphical data that can be preprocessed at the graphics originating system or post-processed at the receiving computing system, any of these examples of computing devices can obtain content from storage 1216.

[0142] As understood from the foregoing disclosure, one aspect of this technology relates to a method for generating captcha images. The method includes: generating a plurality of images using a generative imaging model; providing a user with the plurality of images and descriptions corresponding to at least one of similarity and difference between the plurality of images; receiving a selection of an image from the plurality of images; determining whether the selection is correct based on the provided descriptions; and outputting an indication of whether the selection is correct. In some examples, each of the plurality of images is generated based on variables of multiple categories. In some examples, the variables of the multiple categories include subject, verb, setting, and style. In some examples, similarity or difference is associated with a variable of one category from the multiple categories. In some examples, providing the plurality of images includes displaying the plurality of images on a display screen of a computing device. In some examples, the plurality of images is a first plurality of images indicating an incorrect selection, and the method further includes generating a second plurality of images using a generative imaging model.

[0143] Another aspect of this technology relates to a method for generating captcha images. The method includes: generating one or more images using a generative imaging model, wherein each of the one or more images is generated based on a corresponding cue; providing the one or more images to a user; receiving a description of the one or more images; comparing the description of the one or more images with the corresponding cue for each image; and outputting an indication of whether the description is correct based on the comparison. In some examples, the description includes natural language. In some examples, each of the multiple images is generated based on variables of multiple categories. In some examples, the variables of multiple categories include subject, verb, setting, and style. In some examples, the comparison includes: generating an input embedding based on the received description; generating a cue embedding based on the cue used to generate the one or more images; determining a distance between the input embedding and the cue embedding in a vector space; and comparing the distance with a similarity threshold to determine whether the description is correct. In some examples, the one or more images are multiple images, and the description includes a description of one of the similarities and differences between the multiple images. In some examples, providing multiple images includes displaying multiple images on a display screen of a computing device. In some examples, the indication indicates that the description is incorrect, and the method also includes: receiving a signal corresponding to the user terminating the provision of the description; and providing a prompt on which one or more images were generated.

[0144] Another aspect of this technology relates to a method for generating captcha images. The method includes: generating a plurality of images using a generative imaging model, wherein each of the plurality of images is generated based on a corresponding cue; providing the plurality of images to a user; receiving a description of similarity or difference between the plurality of images; comparing the description with the similarity or difference between the cues on which the plurality of images are based; and outputting an indication of whether the description is correct based on the comparison. In some examples, the description includes natural language. In some examples, each of the plurality of images is generated based on variables of multiple categories. In some examples, the variables of multiple categories include subject, verb, setting, and style. In some examples, the similarity or difference between cues is based on the similarity or difference between multiple variable categories. In some examples, the comparison includes: generating an input embedding based on the received description of similarity or difference; generating a cue embedding based on the similarity or difference between cues; determining a distance between the input embedding and the cue embedding in a vector space; and comparing the distance with a similarity threshold to determine whether the description is correct.

[0145] For example, aspects of this disclosure are described above with reference to block diagrams and / or operational illustrations of methods, systems, and computer program products according to aspects of this disclosure. Functions / actions indicated in the blocks may not occur in the order shown in any flowchart. For example, depending on the functions / actions involved, two blocks shown consecutively may actually be performed substantially simultaneously, or the blocks may sometimes be performed in reverse order.

[0146] The descriptions and illustrations of one or more aspects provided in this application are not intended to limit or restrict the scope of this disclosure in any way. The aspects, examples, and details provided in this application are considered sufficient to convey ownership and enable others to make and use the claimed aspects of this disclosure. The claimed disclosure should not be construed as limited to any aspect, example, or detail provided in this application. Various features (structures and methods) are intended to be selectively included or omitted, whether shown and described in combination or separately, to produce embodiments with a particular set of features. After the descriptions and illustrations provided in this application, those skilled in the art can contemplate variations, modifications, and alternatives falling within the spirit of the broader aspects of the overall inventive concept embodied in this application, without departing from the broader scope of the claimed disclosure.

Claims

1. A method for generating a captcha image, the method comprising: Generate multiple images using a generative imaging model; Provide the user with the plurality of images and a description corresponding to one of the similarities and differences between the plurality of images; Receive a selection of an image from the plurality of images; Determine whether the selection is correct based on the provided description; and Output an indication of whether the selection is correct.

2. The method of claim 1, wherein each of the plurality of images is generated based on variables of a plurality of categories.

3. The method of claim 2, wherein the plurality of categories of variables includes subject, verb, setting, and style.

4. The method of claim 2, wherein the similarity or difference is associated with a variable of the category among the plurality of categories.

5. The method of claim 1, wherein the plurality of images is a first plurality of images, wherein the indication indicates that the selection is incorrect, and wherein the method further comprises generating a second plurality of images using the generative imaging model.

6. A method for generating a captcha image, the method comprising: One or more images are generated using a generative imaging model, each of which is generated based on a corresponding prompt; Provide the user with one or more of the images; Receive a description of the one or more images; Compare the description of the one or more images with the corresponding prompt for the image; as well as Based on the comparison, an indication is output as to whether the description is correct.

7. The method of claim 6, wherein each of the plurality of images is generated based on variables of a plurality of categories.

8. The method of claim 7, wherein the plurality of categories of variables includes subject, verb, setting, and style.

9. The method of claim 6, wherein the comparison comprises: An input embedding is generated based on the received description; Based on the prompts used to generate the one or more images, a prompt embedding is generated; Determine the distance between the input embedding and the cue embedding in the vector space; as well as The distance is compared with a similarity threshold to determine whether the description is correct.

10. The method of claim 6, wherein the one or more images are a plurality of images, and wherein the description includes a description of one of the similarities and differences between the plurality of images.

11. The method of claim 6, wherein the indication indicates that the description is incorrect, and wherein the method further comprises: Receive a signal corresponding to the user's termination of the provided description; as well as Provide the prompt on which the one or more images are generated.

12. A method for generating a captcha image, the method comprising: Multiple images are generated using a generative imaging model, each of which is generated based on a corresponding prompt; Provide the user with the aforementioned multiple images; Receive a description of the similarity or difference between the plurality of images; Compare the similarity or difference between the description and the prompt on which the plurality of images are generated; as well as Based on the comparison, an indication is output as to whether the description is correct.

13. The method of claim 12, wherein each of the plurality of images is generated based on variables of a plurality of categories.

14. The method of claim 13, wherein the plurality of categories of variables includes subject, verb, setting, and style.

15. The method of claim 12, wherein the comparison comprises: The input embedding is generated based on the received similarity or difference description; Generate a prompt embedding based on the similarity or difference between the prompts; Determine the distance between the input embedding and the cue embedding in the vector space; as well as The distance is compared with a similarity threshold to determine whether the description is correct.