Systems, media, and methods for meta-grating development

A neural network-based system optimizes metagrating designs by shifting features and adjusting loss values to minimize non-zero-order diffraction and color shift, improving the optical performance of films by reducing perceptual artifacts and enhancing transmission efficiency.

JP2026511638APending Publication Date: 2026-04-143M INNOVATIVE PROPERTIES CO
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
3M INNOVATIVE PROPERTIES CO
Filing Date
2024-03-14
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing metagrating technologies struggle to produce diverse and efficient designs that minimize non-zero-order diffraction and color shift, leading to perceptual artifacts such as haze and rainbows in optical films.

Method used

A system utilizing a neural network-based approach to generate metagrating designs by shifting features, determining loss values, and updating the network to optimize for improved spectral response and reduced color shift, incorporating training processes with diffraction and efficiency performance values.

Benefits of technology

The system effectively generates metagrating designs that minimize non-zero-order diffraction and color shift, enhancing the optical performance of films by reducing perceptual artifacts and improving transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026511638000001_ABST
    Figure 2026511638000001_ABST
Patent Text Reader

Abstract

This disclosure provides an apparatus comprising at least one non-temporary computer-readable storage medium storing instructions, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium. The processing circuit, upon executing the instructions, provides randomized data to a neural network, receives a metagrating design from the neural network, generates a plurality of efficiency performance values ​​based on the metagrating design, where each efficiency performance value is associated with one light source angle included in a plurality of predetermined light source angles, determines a loss value based on the plurality of efficiency performance values, updates the neural network based on the loss value, and outputs the neural network to an external device or at least one of the at least one non-temporary computer-readable storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Electromagnetic metagrating (also known as metagratings) can modulate or otherwise affect the behavior of electromagnetic waves through structures that are sufficiently smaller than the wavelength (deeply sub-wavelength structures). For example, optical metagrating can modulate the behavior of wavelengths within or near the wavelengths of the visible spectrum. Certain applications such as augmented reality films, in-display fingerprint reader films, switchable privacy films, LIDAR, and / or anti-photography films may utilize optical metagrating.

Summary of the Invention

[0002] In one embodiment, the present disclosure provides an apparatus including at least one non-temporary computer-readable storage medium storing instructions and a processing circuit coupled to the at least one non-temporary computer-readable storage medium. When the processing circuit executes the instructions, it provides randomized data to a neural network, receives a metagrating design from the neural network, generates a plurality of efficiency performance values based on the metagrating design, where each efficiency performance value included in the plurality of efficiency performance values is associated with one of the light source angles included in a plurality of predetermined light source angles, determines a loss value based on the plurality of efficiency performance values, updates the neural network based on the loss value, and is configured to output the neural network to at least one of an external device or the at least one non-temporary computer-readable storage medium.

[0003] In another embodiment, the disclosure provides an apparatus comprising at least one non-temporary computer-readable storage medium storing instructions, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium. The processing circuit is configured to, upon executing the instructions, provide randomized data to a neural network, receive a metagrating design from the neural network, generate a plurality of efficiency performance values ​​based on the metagrating design, where each efficiency performance value in the plurality of efficiency performance values ​​is associated with one light source angle in a plurality of predetermined light source angles, determine a loss value based on the plurality of efficiency performance values, update the neural network based on the loss value, and then provide randomized data to a neural network, receive a target metagrating design from the neural network, and output the target metagrating design to an external device or at least one of the at least one non-temporary computer-readable storage medium.

[0004] In yet another embodiment, the disclosure provides an apparatus comprising at least one non-temporary computer-readable storage medium storing instructions, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium. The processing circuit, upon executing the instructions, provides randomized data to a neural network, receives a metagrating design from the neural network, the metagrating design comprises a plurality of one-dimensional features, determines a maximum feature based on the plurality of features, shifts the maximum feature within the metagrating design, determines a loss value based on the metagrating design, updates the neural network based on the loss value, and outputs the neural network to an external device or at least one of the at least one non-temporary computer-readable storage medium.

[0005] In yet another embodiment, the Disclosure provides an apparatus comprising at least one non-temporary computer-readable storage medium storing instructions, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium. The processing circuit is configured to, upon executing the instructions, provide randomized data to a neural network, receive a metagrating design from the neural network, shift the maximum features within the metagrating design, determine a loss value based on the metagrating design, and update the neural network based on the loss value, thereby providing randomized data to a neural network, receiving a target metagrating design from the neural network, and outputting the target metagrating design to an external device or at least one of the at least one non-temporary computer-readable storage medium.

[0006] These and additional features provided by the embodiments described herein will be better understood by referring to the following detailed description together with the drawings. [Brief explanation of the drawing]

[0007] [Figure 1] Figure 1 is a block diagram illustrating an exemplary system in which a device having communication capabilities is utilized and managed, in accordance with aspects of this disclosure.

[0008] [Figure 2] Figure 2 is a block diagram showing the operational perspective of the system shown in Figure 1.

[0009] [Figure 3] Figure 3 shows an exemplary metagrating in accordance with the aspects of this disclosure.

[0010] [Figure 4] Figure 4 shows an exemplary generation network in accordance with the aspects of this disclosure.

[0011] [Figure 5A] Figure 5A shows an exemplary metagrating design with a discontinued feature in accordance with the aspects of this disclosure.

[0012] [Figure 5B] Figure 5B shows a concatenation of copies of the metagrating design from Figure 5A.

[0013] [Figure 5C] Figure 5C shows an exemplary metagrating design that includes the interrupted features of Figure 5A, which are aggregated to form a continuous feature, in accordance with aspects of this disclosure.

[0014] [Figure 6] Figure 6 shows an exemplary process for shifting the features of a metagrating design in accordance with the aspects of this disclosure.

[0015] [Figure 7A] Figure 7A shows an exemplary diagram illustrating incident light at an angle θ according to the aspects of this disclosure and the corresponding reflection due to optical metagrating.

[0016] [Figure 7B] Figure 7B shows an exemplary diagram illustrating incident light at an angle θ according to the side of this disclosure and the corresponding transmission by optical metagrating.

[0017] [Figure 8] Figure 8 shows an exemplary process for training a metagrating design generator using diffraction performance values ​​in accordance with aspects of this disclosure.

[0018] [Figure 9] Figure 9 shows an exemplary process for training a metagrating design generator using efficiency performance values ​​in accordance with aspects of this disclosure.

[0019] [Figure 10]FIG. 10 shows an exemplary process for training a metagrating design generator using diffraction performance values and / or efficiency performance values in accordance with aspects of the present disclosure.

[0020] [Figure 11] FIG. 11 shows an exemplary process for generating a metagrating design in accordance with aspects of the present disclosure. **DETAILED DESCRIPTION**

[0021] FIG. 1 is a block diagram showing an exemplary system 2 in which a device having a communication function is utilized and managed in accordance with aspects of the present disclosure. System 2 includes a metagrating design system (MDS) 6, which is configured to provide a metagrating design function to a computing device 25 in accordance with aspects of the present disclosure. As described herein, MDS 6 enables an authorized user (e.g., one of users 24A-24N) to generate a metagrating design. By interacting with MDS 6, a design expert can, for example, generate a metagrating design, train a metagrating generator, and / or simulate a metagrating design. In general, MDS 6 provides design and simulation functions.

[0022] As shown in the example in Figure 1, System 2 represents a computing environment in which a computing device (e.g., one of the computing devices 25) can electronically communicate with the MDS 6 via one or more computer networks 4. Network 4 may include one or more wired and / or wireless connections. For example, Network 4 may include connections defined by the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of protocols, ZigBee® network connections (compliant with the IEEE 802.15 family of standards), 5G® network connections, short-range wireless (e.g., Bluetooth® and / or Near Field Communication (NFC)) connections, Ethernet® connections, and / or coaxial connections.

[0023] One or more of users 24A to 24N may use a computing device 25 to interact with the MDS 6 via the network 4. For example, an end-user's computing device 25 may include, be, or be part of, a laptop, desktop computer, tablet computer, or mobile device such as a so-called "smartphone."

[0024] Users 24 (e.g., 24A-24N) interact with MDS6 to generate metagrating designs, train metagrating generators and / or models, simulate metagrating designs, and / or utilize applications related to metagrating designs. For example, users 24 may generate metagrating designs that satisfy one or more design parameters. Users 24 may also interact with MDS6 to simulate metagrating designs and evaluate the performance of one or more metagrating designs. MDS6 may enable users 24 to train generators and / or models for creating metagrating designs. In some examples, MDS6 may present a web-based interface via a web server (e.g., an HTTP server), or client-side applications may be deployed on computing devices 25 used by users 24, such as desktop computers, laptop computers, mobile devices such as smartphones and tablets, or similar devices.

[0025] Figure 2 is a block diagram showing the operational perspective of one implementation example of MDS6 shown in Figure 1. While Figure 2 shows one implementation of MDS6 consistent with aspects of this disclosure, it will be understood that other architectures of MDS6 (whether single-device or distributed architectures) may also be consistent with aspects of this disclosure.

[0026] In the example in Figure 2, the MDS6 includes one or more processors 28 and memory 32. In some examples, the memory 32 and processors 28 may be integrated into a single hardware unit such as a system-on-a-chip (SoC) or integrated circuit (IC). Each of the processors 28 may include one or more of the following: a multicore processor, a controller, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), processing circuits (e.g., fixed-function circuits, programmable circuits, or any combination of fixed-function and programmable circuits), or equivalent discrete logic circuits or integrated logic circuits. The memory 32 may include any form of memory for storing data and executable software instructions, such as random-access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), and flash memory.

[0027] The memory 32 and processor 28 provide a computer platform for running the operating system 36. The operating system 36 provides a multitasking operating environment for running one or more software components 68. As shown in the figure, the processor 28 connects to external systems and devices, such as interfaces deployed in the computing device 60, via the input / output (I / O) interface 34. The I / O interface 34 incorporates network interface hardware, such as one or more wired and / or wireless network interface controllers (NICs), and can communicate via a communication channel 75 (which may represent one or more network-enabled communication connections, such as packet-switched networks). In the implementation shown in Figure 2, the bus 70 provides inter-component connectivity between the processor 28, the memory 32, and the I / O interface 34. The bus 70 may represent a half-duplex or full-duplex bus that provides data transfer functionality between two or more of the processor 28, the memory 32, the I / O interface 34, and / or other hardware components of the MDS6. The bus 70 may represent various types of system buses or computer buses, including one or more bus networks. Regardless of the implemented topology, bus 70 can incorporate various types of inter-component connectivity hardware that comply with first, second, third, or fourth generation bus or bus network technologies defined by the IEEE, and / or other bus or bus network technologies defined by standards under development or to be adopted in the future, in a variety of examples.

[0028] In a specific example in Figure 2, the software component 68 of MDS6 includes a metagrating design generation application 68A, a generator training application 68B, and a simulator application 68C. In some example approaches, one or more of the software components 68 represent executable software instructions that can take the form of one or more software applications, software packages, software libraries, hardware drivers, and / or application programming interfaces (APIs). Furthermore, any of the software components 68 may output and / or receive data via the I / O interface 34.

[0029] Aspects of memory 32 that provide non-volatile storage and / or long-term storage support local storage of data repository 72. In the example in Figure 2, data repository 72 includes metagrating designs 74A, performance metrics 74B, and simulation data 74C. One or more software components 68 may call processor 28 and memory 32 to access one or more data repositories 72 to retrieve data for various purposes such as comparing, processing, relaying, and / or displaying the metagrating designs, performance metrics, and / or simulation data. In some examples, software components 68 may implement read / write functionality to data repositories 72 and use it to access and use information available from data repositories 72, or to modify information currently stored in data repositories 72. In implementations where MDS6 represents a distributed computing system, one or more data repositories 72 may be located remotely from processor 28, and in these implementations, software components 68 may access data repositories 72 using the NIC hardware of the I / O interface 34.

[0030] The Metagrating Design Generation Application 68A operates as an application for generating metagrating designs using a generator and / or model (e.g., a machine learning model). In some examples, the Metagrating Design Generation Application 68A may implement other processes related to metagrating generation, such as a feature shifting process. As described below, the Metagrating Design Generation Application 68A can generate metagrating designs for metagratings used in a variety of applications (e.g., optical metagratings for augmented reality films, in-display fingerprint reader films, switchable privacy films, LiDAR, and / or anti-photographic films). The Generator Training Application 68B operates as an application for training machine learning models, such as neural networks and / or generators, that generate metagrating designs. In some examples, the Generator Training Application 68B may implement other processes related to metagrating generation, such as a feature shifting process. In some examples, the Generator Training Application 68B can output the trained generator and / or model to the Metagrating Design Generation Application 68A. The simulator application 68C operates as an application that simulates a metagrating design in order to generate performance metrics for a given metagrating design.

[0031] Figure 3 shows an exemplary metagrating 300 according to aspects of the present disclosure. As shown, the metagrating 300 is contained in a metagrating apparatus 304. The metagrating 300 may be placed between a superstrate 308 and a substrate 312. In some examples, one or more sides of the metagrating 300 may be exposed to air, meaning that the superstrate 308 and / or substrate 312 may be air. In some examples, the superstrate 308 and / or substrate 312 may comprise one or more solid materials such as polymers (e.g., polyethylene terephthalate and / or polyvinyl butyral) and / or silica glass. In some examples, the superstrate 308 and / or substrate 312 may be a uniform material having a predetermined thickness. In some examples, the superstrate 308 and / or substrate 312 may comprise multiple material layers, each having a predetermined thickness. In some examples, the superstrate 308 and / or substrate 312 may be the same. The metagrating 300 may have a predetermined thickness and may contain two materials arranged to produce a desired effect (e.g., improved transmission efficiency for a specific wavelength and angle of incidence). Each material contained in the metagrating 300 may extend across the entire thickness of the metagrating 300. While the metagrating 300 is a three-dimensional material, its extent along the z-axis remains constant, and its arrangement along the x-axis of the metagrating 300 may be variable. Therefore, although the thickness of the materials (and consequently the thickness of the metagrating 300) is also an element in the structure of the metagrating, the arrangement of the materials can be considered a one-dimensional issue.

[0032] The physical properties of the metagrating apparatus 304 may include the refractive index of the material contained in the upper layer 308 and / or the substrate 312, the dispersion refractive index of the material contained in the metagrating 300, the thickness of the metagrating 300, and the pitch of the metagrating 300. In some examples, if the desired thickness and / or pitch of the metagrating 300 is unknown, the thickness and / or pitch may be adjusted during training. In some examples, the mirror symmetry of the structure contained in the metagrating 300 may be defined as symmetry or asymmetry with respect to the x-axis. Metagrating designs that utilize symmetry can reduce the training computation time by up to approximately 50%.

[0033] The optical properties of the metagrating apparatus 304 may include the position of the light source relative to the upper layer 308 and / or substrate 312, the optical mode (e.g., reflection, transmission, and / or absorption), polarization (e.g., transverse electric field wave, transverse magnetic field wave, and / or unpolarized), optical order (one or more orders), one or more wavelengths, one or more deflection angles, one or more azimuthal incidence angles, and / or desired optical efficiency. The generator in this disclosure may be trained to produce a metagrating that satisfies one or more sets of specifications defining the optical properties. In some examples, certain optical properties (e.g., one or more diffraction angles) may be specified by the user, while other optical properties (e.g., thickness values ​​and / or pitch values) may be generated by the generator. In this way, the generator may be tuned to meet specific performance requirements set by the user. In some examples, the generator may generate feature information for one or more features included in the metagrating design. In some examples, for each feature, the feature information may include material values ​​and / or position values. Material values ​​may indicate the type of material and / or material properties (e.g., wavelength, refractive index, and / or other optical performance information). Position values ​​may indicate the location of features along the pitch of the metagrating design.

[0034] Referring to Figure 4, an exemplary generative network 400 in accordance with aspects of this disclosure is shown. In some examples, the generative network 400 may be implemented as a generator and / or as part of a generator. In some examples, the generative network 400 may be a neural network such as a convolutional neural network (CNN). The generative network 400 may include a plurality of convolutional layers 404A-G. The generative network 400 may include a plurality of leaky ReLU activations. The generative network 400 may include periodic padding in each convolutional layer 404A-G. Periodic padding can build periodicity in the generative network 400. The generative network 400 may generate metagratings that are used as tiles on one or more periodic surfaces, and building periodicity in the generative network 400 can improve the performance of the generated metagratings. In some examples, the architecture of the generative network 400 may include a varying number of layers, filter sizes, and / or upscaling, and the generator training application 68B may train the generative network 400 using various network hyperparameters such as the learning rate, batch size, and / or number of steps.

[0035] Referring to Figures 5A, 5B, and 5C, Figure 5A shows an exemplary metagrating design with interrupted features in accordance with aspects of this disclosure. Figure 5B shows a concatenation of copies of the metagrating design of Figure 5A. Figure 5C shows an exemplary metagrating design including the interrupted features of Figure 5A that are aggregated to form continuous features, in accordance with aspects of this disclosure. In some examples, the generator may produce metagrating designs with interrupted features. Without considering the interrupted features, the generator may produce copies of the same metagrating design, in which case the only difference between the metagrating designs is the periodicity of the features, thereby limiting the diversity of the metagratings. Periodicity of the metagrating design may be considered by shifting the interrupted features to form continuous features.

[0036] In some examples, the training and / or generation process may include aggregating the interrupted features to form the largest possible feature. This process may include identifying the largest possible feature in the metagrating design and then placing that largest possible feature at the first end of the metagrating design. In some examples, the first end may be the left end of the metagrating design. To shift the largest feature to the first end of the metagrating design, this process may include generating two copies of the surface with the interrupted features (e.g., the metagrating design in Figure 5A) and generating a concatenation of the first copy of the metagrating design, the metagrating design, and the second copy of the metagrating design. As shown in Figure 5B, the first copy of the metagrating design is concatenated at the first end of the metagrating design, and the second copy of the metagrating design is concatenated at the second end of the metagrating design. Thus, this process may include concatenating multiple copies of the surface with the interrupted features.

[0037] This process may involve shifting the maximum feature to the first end of the metagrating design. In this way, the periodicity of the metagrating design is taken into account, and the maximum consecutive feature is continuously included in the metagrating design. In some examples, this process may involve using an image similarity module to detect similar metagrating designs within a batch of metagrating designs after the maximum feature has been shifted. After detection, all relatively similar images are shifted to the same representation with the maximum feature at the beginning of the metagrating design. It is desirable to train the generator to produce diverse shapes rather than producing the same shape with different periodicities. In some examples, this process may generate cosine similarity values ​​for pairs of metagrating designs, which indicate the relative similarity between the metagrating designs. This process may evaluate the cosine similarity values ​​and / or penalize the generator based on the cosine similarity values.

[0038] Referring to Figures 5A, 5B, 5C, and 6, an exemplary process 600 for shifting interrupted features in accordance with aspects of this disclosure is shown. In some examples, process 600 may be implemented in the metagrating design generation application 68A and / or generator training application 68B of Figure 2. In some examples, process 600 may be implemented as an instruction on at least one non-temporary computer-readable storage medium (e.g., memory 32 in Figure 2) and executed by one or more processors (e.g., processor 28) connected to at least one non-temporary computer-readable storage medium and configured to execute said instruction.

[0039] In 604, process 600 may receive a metagrating design (e.g., the metagrating design of Figure 5A). In some examples, the metagrating design may include a number of features arranged along the x-axis of the metagrating design. In some examples, the metagrating design may include feature information relating to one or more features included in the metagrating design. In some examples, for each feature, the feature information may include material values ​​and / or position values. The material values ​​may indicate the type of material and / or material properties (e.g., wavelength value, refractive index value, and / or other optical performance information). The position values ​​may indicate the position of the feature along the pitch of the metagrating design. In some examples, each feature may be associated with a first material or a second material. In some examples, the metagrating design may include pitch values ​​relating to thickness (e.g., z-axis length) and / or width (e.g., x-axis length). Process 600 can then proceed to 608.

[0040] In 608, process 600 may binariconstitute the metagrating design. In some examples, at least some of the features included in the metagrating design may be associated with both the first and second materials. For example, if the first material is represented by the value 0 and the second material by the value 1, the features may include values ​​selected from a continuous range from 0 to 1. Process 600 may binariconstitute each feature to 0 or 1 based on a predetermined threshold. Process 600 can then proceed to 612.

[0041] In 612, process 600 may link a first copy of the metagrating design and a second copy of the metagrating design to the metagrating design. In some examples, process 600 may link the first copy of the metagrating design to the first end of the metagrating design and the second copy of the metagrating design to the second end of the metagrating design. Process 600 can then proceed to 616.

[0042] In 616, process 600 may determine the largest consecutive features to be included in the first copy of the metagrating design, the second copy of the metagrating design, and the concatenation of the metagrating designs. Process 600 can then proceed to 620.

[0043] At 620, process 600 may shift the largest contiguous feature to the first end of the metagrating design. In some examples, process 600 may shift the first end of the largest contiguous feature to the first end of the metagrating design, ensuring that the entire contiguous feature is included in the metagrating design. Process 600 can then proceed to 624.

[0044] In 624, process 600 may output the metagrating design to a user interface, an external device, or at least one non-temporary computer-readable storage medium. Process 600 may then terminate.

[0045] Figure 7A shows an exemplary diagram illustrating incident light at angle θ according to the aspects of this disclosure and the corresponding reflection by an optical metagrating. Figure 7B shows an exemplary diagram illustrating incident light at angle θ according to the aspects of this disclosure and the corresponding transmission by an optical metagrating.

[0046] Figures 7A and 7B show multiple orders of refracted and transmitted light, respectively. Optical films, such as metagratings, need to have diffraction properties and spectral responses that are appropriate for their specific applications. For example, in the case of windshield combiner films, it is desirable to minimize artifacts that impair the visual quality of the image. Light reflected or transmitted at an angle equal to the angle of incidence (assuming the top layer and substrate layer are nearly identical) is called specular or zero-order diffraction. Light diffracted at other angles is described as diffuse or non-zero order diffraction, and is labeled ±1 and ±2 in Figures 7A and 7B. Non-zero order diffraction interferes with desirable specular reflection and transmission at certain wavelengths and angles, while simultaneously causing perceptual artifacts such as haze and rainbows in optical films. Haze is the percentage of transmitted light passing through a sample that is deviated by forward scattering by no more than 0.044 radians from the incident light. A rainbow is a metagrating reaction that exhibits different responses at different wavelengths due to the dispersion of the material, and is often measured from non-zero-order reflection and transmission. As described below, the efficiency of non-zero-order diffracted light can be estimated and used to generate loss values ​​in order to train a generator to produce a metagrating design that minimizes the efficiency of non-zero diffraction orders. In some examples, the efficiency of non-zero-order diffracted light can be estimated and used to generate loss values ​​in order to train a generator to produce a metagrating design that maximizes the efficiency of non-zero diffraction orders.

[0047] Figure 8 shows an exemplary process 800 for training a metagrating design generator according to aspects of this disclosure. Specifically, process 800 can train the generator to produce metagrating designs with improved spectral response. In some examples, the metagrating design may include a metagrating (e.g., metagrating 300 in Figure 3). In some examples, the metagrating design may include and / or be associated with a metagrating apparatus and / or a part of a metagrating apparatus (e.g., metagrating apparatus 304 in Figure 3). In some examples, the metagrating design may include a top layer (e.g., top layer 308 in Figure 3) and a substrate (e.g., substrate 312 in Figure 3). In some examples, the metagrating apparatus and / or a part of a metagrating apparatus may be predetermined. In some examples, one or more sides of the metagrating may be exposed to air, meaning that the top layer and / or substrate may be air. In some examples, the top layer and / or substrate may comprise one or more solid materials such as polymers (e.g., polyethylene terephthalate and / or polyvinyl butyral) and / or silica glass. In some examples, the top layer and / or substrate may comprise a uniform material having a predetermined thickness. In some examples, the top layer and / or substrate may comprise multiple material layers, each having a predetermined thickness. In some examples, the top layer and / or substrate may be the same. The metagrating may comprise two materials having a predetermined thickness and arranged to produce a desired effect (e.g., improved transmission efficiency for a particular wavelength and angle of incidence). In some examples, the generator may be trained to output a metagrating design for a given metagrating apparatus (e.g., a given substrate and top layer). In some examples, process 800 may be implemented in the generator training application 68B and / or simulator application 68C shown in Figure 2.

[0048] In some examples, process 800 may be implemented as an instruction on at least one non-temporary computer-readable storage medium (e.g., memory 32 in Figure 2) and executed by one or more processors (e.g., processor 28) connected to at least one non-temporary computer-readable storage medium and configured to execute the instruction. In some examples, process 800 may be executed to train a generator. In some examples, the generator may include a machine learning model such as a neural network (e.g., generative network 400 in Figure 4).

[0049] In 804, process 800 may receive one or more non-zero diffraction orders. In some examples, one or more non-zero diffraction orders may be received from the user in the user interface. In some examples, one or more non-zero diffraction orders may be selected by the user as orders of interest to be minimized or maximized.

[0050] In some examples, process 800 may receive one or more physical parameter values. In some examples, one or more physical parameter values ​​may be referred to as one or more physical parameter values. One or more physical parameter values ​​may include one or more values ​​and / or ranges (e.g., specifications for a given application) that the generated metagrating design must follow. In some examples, one or more physical parameter values ​​may include a thickness value (e.g., z-axis length) and / or a pitch value (e.g., x-axis length) over the width. In some examples, one or more physical parameter values ​​may include a range of values ​​for each of the x-axis pitch and / or thickness. Process 800 can then proceed to 808.

[0051] In 808, process 800 may provide the generator with randomized data. In some examples, the randomized data may be randomized noise. In some examples, the randomized data may be a sequence of random values ​​formed in a one-dimensional input matrix. In some examples, process 800 may receive a set of randomized data (e.g., a set of 100 or more noise matrices) that can be used to train the generator. In some examples, process 800 may also provide the generator with physical parameter values. Process 800 can then proceed to 812.

[0052] In 812, process 800 may receive a metagrating design from the generator. In some examples, the metagrating design may be the metagrating design 300 shown in Figure 3. The metagrating design may include manufacturing data that enables the production of a metagrating based on the metagrating design. Thus, the metagrating design can function as a blueprint for a metagrating. In some examples, the metagrating design may include x-axis pitch values, thickness values, material information, and mapping of one or more features. The mapping of one or more features may include positional data (e.g., x-coordinates) of one or more features within the metagrating. Each feature may be a contiguous portion of a particular material. For example, a metagrating containing two materials may have 10 features, with 4 features formed from the first material and 6 features formed from the second material. In some examples, the metagrating design may include a raster surface representation of the metagrating. In some examples, process 800 may shift interrupted features within the metagrating design to create at least one larger feature. In some examples, process 800 may perform at least part of process 600 in Figure 6. In some examples, the generator may include a metagrating design shift module that performs at least part of process 600 in Figure 6, and may automatically shift features before outputting the metagrating design. Process 800 can then proceed to 816.

[0053] In 816, process 800 may generate diffraction performance values ​​based on the metagrating design. In some examples, each diffraction performance value may be associated with wavelength and / or source angle. In some examples, the diffraction performance values ​​may include transmission and / or reflection values. In some examples, each transmission and / or reflection value may be a diffraction efficiency value associated with polarization value. In some examples, process 800 may provide the metagrating design to a simulator. In some examples, the simulator may be a physically based simulator. In some examples, process 800 may provide additional data to the simulator. In some examples, process 800 may provide physical parameter values ​​to the simulator. In some examples, the physical parameter values ​​may include pitch and / or thickness values. In some examples, process 800 may scale the physical parameter values ​​before providing them to the simulator. In some examples, process 800 may provide non-zero diffraction orders to the simulator. In some examples, the simulator may simulate desired optical properties (e.g., polarization and / or modes).

[0054] In some examples, the simulator may generate one or more performance index values, such as reflectance and / or transmission values ​​for one or more wavelengths, angles, and / or orders. In some examples, the simulator may include RCWA simulators such as RETICOLO and S4 and / or FDTD simulators such as Lumerical and Meep. In some examples, the simulator may generate device gradients based on the metagrating design. In some examples, the device gradients may be associated with the refractive index values ​​of the surface of the metagrating design. Process 800 can then proceed to 820.

[0055] In 820, process 800 may determine the loss value based on the diffraction performance values. In some examples, process 800 may determine the loss value based on the sum of the diffraction performance values. In some examples, process 800 may determine the loss value based on a loss function such as a Gaussian loss function and / or a soft-plus loss function. Process 800 may use a loss function to determine the loss value based on the sum of the diffraction performance values. Process 800 can then proceed to 824.

[0056] At 824, process 800 may update the generator based on the loss value. In some cases, if a condition is not met (e.g., a predetermined number of training cycles have not been performed, a predetermined performance value has not been met, etc.), process 800 may proceed to 808 to continue training the generator. Otherwise, process 800 may proceed to 828.

[0057] In 828, process 800 may output the generator to an external device and / or at least one non-temporary computer-readable storage medium. Process 800 may then terminate.

[0058] Referring to Figure 9, process 900 is shown for training a metagrating design generator to produce metagrating designs with suppressed color shift. Color shift is a phenomenon in which the perceived color of a metagrating film changes, and can be measured in the L*a*b color space as a function of the viewing angle. Electromagnetic simulation software that relies on the RCWA method cannot simulate color shift due to changes in the viewing angle. Therefore, it is possible to generate color shift simulation data by emulating fluctuations in the light source angle. The presence or absence of color shift can be predicted from a heatmap that displays the diffraction efficiency as a function of the light source angle and the incident wavelength. Heatmap plots of devices with high color shift include directional slopes that can show the change in diffraction efficiency when the light source angle changes while the wavelength is fixed. Therefore, fluctuations in diffraction efficiency when the light source angle changes can be used to estimate color shift.

[0059] To penalize color shift, a term can be added to the loss function. Following electromagnetic simulation of the generated metagrating design, the variation in transmission and reflection efficiencies over a given order of interest for a given wavelength (randomly sampled within a specified range of wavelengths of interest) can be calculated over a given light source angle. This term is added to the loss function, and the generator is trained to create a metagrating design with reduced color shift while improving the defined transmission and reflection specifications for the overall performance of the metagrating device.

[0060] Figure 9 shows an exemplary process 900 for training a metagrating design generator according to aspects of this disclosure. Specifically, process 900 can train the generator to produce metagrating designs with minimal color shift. In some examples, the metagrating design may include a metagrating (e.g., metagrating 300 in Figure 3). In some examples, the metagrating design may include and / or be associated with a metagrating apparatus and / or a part of a metagrating apparatus (e.g., metagrating apparatus 304 in Figure 3). In some examples, the metagrating design may include a top layer (e.g., top layer 308 in Figure 3) and a substrate (e.g., substrate 312 in Figure 3). In some examples, the metagrating apparatus and / or a part of a metagrating apparatus may be predetermined. In some examples, one or more sides of the metagrating may be exposed to air, meaning that the top layer and / or substrate may be air. In some examples, the top layer and / or substrate may comprise one or more solid materials such as polymers (e.g., polyethylene terephthalate and / or polyvinyl butyral) and / or silica glass. In some examples, the top layer and / or substrate may comprise a uniform material having a predetermined thickness. In some examples, the top layer and / or substrate may comprise multiple material layers, each having a predetermined thickness. In some examples, the top layer and / or substrate may be the same. The metagrating may comprise two materials having a predetermined thickness and arranged to produce a desired effect (e.g., improved transmission efficiency for a particular wavelength and angle of incidence). In some examples, the generator may be trained to output a metagrating design for a given metagrating apparatus (e.g., a given substrate and top layer). In some examples, process 900 may be implemented in the generator training application 68B and / or simulator application 68C shown in Figure 2.

[0061] In some examples, process 900 may be implemented as an instruction on at least one non-temporary computer-readable storage medium (e.g., memory 32 in Figure 2) and executed by one or more processors (e.g., processor 28) connected to at least one non-temporary computer-readable storage medium and configured to execute the instruction. In some examples, process 900 may be executed to train a generator. In some examples, the generator may include a machine learning model such as a neural network (e.g., generative network 400 in Figure 4).

[0062] In 904, process 900 may receive multiple light source angles and multiple wavelengths. In some examples, the multiple light source angles and multiple wavelengths may be received from the user in a user interface. In some examples, the multiple light source angles and multiple wavelengths may be selected by the user as orders of interest to be minimized or maximized.

[0063] In some examples, process 900 may receive one or more physical parameter values. In some examples, one or more physical parameter values ​​may be referred to as one or more physical parameter values. One or more physical parameter values ​​may include one or more values ​​and / or ranges (e.g., specifications for a given application) that the generated metagrating design must follow. In some examples, one or more physical parameter values ​​may include a thickness value (e.g., z-axis length) and / or a pitch value (e.g., x-axis length) over the width. In some examples, one or more physical parameter values ​​may include a range of values ​​for each of the x-axis pitch and / or thickness. Process 900 can then proceed to 908.

[0064] In 908, process 900 may provide the generator with randomized data. In some examples, the randomized data may be randomized noise. In some examples, the randomized data may be a sequence of random values ​​formed in a one-dimensional input matrix. In some examples, process 900 may receive a set of randomized data (e.g., a set of 100 or more noise matrices) that can be used to train the generator. In some examples, process 900 may also provide the generator with physical parameter values. Process 900 can then proceed to 912.

[0065] In step 912, process 900 may receive a metagrating design from the generator. In some examples, the metagrating design may be the metagrating design 300 shown in Figure 3. The metagrating design may include manufacturing data that enables the production of a metagrating based on the metagrating design. Thus, the metagrating design can function as a blueprint for a metagrating. In some examples, the metagrating design may include x-axis pitch values, thickness values, material information, and mappings of one or more features. The mappings of one or more features may include positional data (e.g., x-coordinates) of one or more features within the metagrating. Each feature may be a contiguous portion of a particular material. For example, a metagrating containing two materials may have 10 features, with 4 features formed from the first material and 6 features formed from the second material. In some examples, the metagrating design may include feature information relating to each feature included in the metagrating design. In some examples, for each feature, the feature information may include material values ​​and / or positional values. Material values ​​may indicate the type of material and / or material properties (e.g., wavelength value, refractive index value, and / or other optical performance information). Position values ​​may indicate the position of a feature along the pitch of the metagrating design. In some examples, each feature may be associated with a first or second material. In some examples, the metagrating design may include a raster surface representation of the metagrating. In some examples, process 900 may shift interrupted features in the metagrating design to create at least one larger feature. In some examples, process 900 may perform at least part of process 600 in Figure 6. In some examples, the generator may include a metagrating design shift module that performs at least part of process 600 in Figure 6 and automatically shifts features before outputting the metagrating design. Process 900 can then proceed to 916.

[0066] In 916, process 900 may generate efficiency performance values ​​based on the metagrating design. In some examples, each efficiency performance value may be associated with one wavelength and / or one light source angle included in a plurality of light source angles and a plurality of wavelengths. In some examples, the efficiency performance values ​​may include transmission and / or reflection values. In some examples, the efficiency performance values ​​may be diffraction efficiency values. In some examples, each light source angle included in a plurality of light source angles may be associated with transmission and reflection values. In some examples, process 900 may provide the metagrating design to a simulator. In some examples, the simulator may be a physically based simulator. In some examples, process 900 may provide additional data to the simulator. In some examples, process 900 may provide physical parameter values ​​to the simulator. In some examples, the physical parameter values ​​may include pitch and / or thickness values. In some examples, process 900 may scale the physical parameter values ​​before providing them to the simulator. In some examples, the simulator may simulate desired optical properties (e.g., polarization and / or modes).

[0067] In some examples, the simulator may generate one or more performance index values, such as reflectance and / or transmission values ​​for one or more wavelengths, angles, and / or orders. In some examples, the simulator may include RCWA simulators such as RETICOLO and S4 and / or FDTD simulators such as Lumerical and Meep. In some examples, the simulator may generate device gradients based on the metagrating design. In some examples, the device gradients may be associated with the refractive index values ​​of the surface of the metagrating design. Process 900 can then proceed to 920.

[0068] In 920, process 900 may determine the loss value based on the efficiency performance value. In some examples, process 900 may determine the loss value based on the variance of the efficiency performance value. In some examples, process 900 may determine the loss value based on a loss function such as a soft-plus loss function. Process 900 may use a loss function to determine the loss value based on the variance of the efficiency performance value. Process 900 can then proceed to 924.

[0069] At 924, process 900 may update the generator based on the loss value. In some cases, if a condition is not met (e.g., a predetermined number of training cycles have not been performed, a predetermined performance value has not been met, etc.), process 900 may proceed to 908 to continue training the generator. Otherwise, process 900 may proceed to 928.

[0070] In 928, process 900 may output the generator to an external device and / or at least one non-temporary computer-readable storage medium. Process 900 may then terminate.

[0071] Figure 10 shows an exemplary process 1000 for training a metagrating design generator according to aspects of this disclosure. Specifically, process 1000 can train the generator to produce metagrating designs with improved spectral response and minimal color shift. In some examples, the metagrating design may include a metagrating (e.g., metagrating 300 in Figure 3). In some examples, the metagrating design may include and / or be associated with a metagrating apparatus and / or a part of a metagrating apparatus (e.g., metagrating apparatus 304 in Figure 3). In some examples, the metagrating design may include a top layer (e.g., top layer 308 in Figure 3) and a substrate (e.g., substrate 312 in Figure 3). In some examples, the metagrating apparatus and / or a part of a metagrating apparatus may be predetermined. In some examples, one or more sides of the metagrating may be exposed to air, meaning that the top layer and / or substrate may be air. In some examples, the top layer and / or substrate may comprise one or more solid materials such as polymers (e.g., polyethylene terephthalate and / or polyvinyl butyral) and / or silica glass. In some examples, the top layer and / or substrate may comprise a uniform material having a predetermined thickness. In some examples, the top layer and / or substrate may comprise multiple material layers, each having a predetermined thickness. In some examples, the top layer and / or substrate may be the same. The metagrating may comprise two materials having a predetermined thickness and arranged to produce a desired effect (e.g., improved transmission efficiency for a particular wavelength and angle of incidence). In some examples, the generator may be trained to output a metagrating design for a given metagrating apparatus (e.g., a given substrate and top layer). In some examples, process 1000 may be implemented in the generator training application 68B and / or simulator application 68C shown in Figure 2.

[0072] In some examples, process 1000 may be implemented as an instruction on at least one non-temporary computer-readable storage medium (e.g., memory 32 in Figure 2) and executed by one or more processors (e.g., processor 28) connected to at least one non-temporary computer-readable storage medium and configured to execute the instruction. In some examples, process 1000 may be executed to train a generator. In some examples, the generator may include a machine learning model such as a neural network (e.g., generative network 400 in Figure 4).

[0073] In step 1004, process 1000 may receive multiple metagrating application parameter values. In some examples, the multiple metagrating application parameter values ​​may include one or more non-zero diffraction orders received in step 804 of Figure 8 and multiple light source angles and multiple wavelengths received in step 904 of Figure 9. In some examples, process 1000 may receive one or more physical parameter values ​​as described in step 804 of Figure 8 and / or step 904 of Figure 9. One or more physical parameter values ​​may be included in the multiple metagrating application parameter values. Process 1000 can then proceed to step 1008.

[0074] In step 1008, process 1000 may provide randomized data to the generator. In some examples, the randomized data may be randomized noise as described in Figure 808 and / or Figure 908. In some examples, process 1000 may also provide physical parameter values ​​to the generator. Process 1000 can then proceed to step 1012.

[0075] In 1012, process 1000 may receive a metagrating design from the generator. In some examples, the metagrating design may be the metagrating design 300 shown in Figure 3. The metagrating design may include manufacturing data that enables the production of a metagrating based on the metagrating design. Thus, the metagrating design can function as a blueprint for a metagrating. In some examples, the metagrating design may include x-axis pitch values, thickness values, material information, and mappings of one or more features. The mappings of one or more features may include positional data (e.g., x-coordinates) of one or more features within the metagrating. Each feature may be a contiguous portion of a particular material. For example, a metagrating containing two materials may have 10 features, with 4 features formed from the first material and 6 features formed from the second material. In some examples, the metagrating design may include feature information for each feature included in the metagrating design. In some examples, for each feature, the feature information may include material values ​​and / or positional values. Material values ​​may indicate the type of material and / or material properties (e.g., wavelength value, refractive index value, and / or other optical performance information). Position values ​​may indicate the position of a feature along the pitch of the metagrating design. In some examples, each feature may be associated with a first or second material. In some examples, the metagrating design may include a raster surface representation of the metagrating. In some examples, process 1000 may shift interrupted features in the metagrating design to create at least one larger feature. In some examples, process 1000 may perform at least part of process 600 in Figure 6. In some examples, the generator may include a metagrating design shift module that performs at least part of process 600 in Figure 6 and automatically shifts features before outputting the metagrating design. Process 1000 can then proceed to 1016.

[0076] In step 1016, process 1000 may generate performance values ​​based on the metagrating design. In some examples, the performance values ​​may include the diffraction performance values ​​described in Figure 8, step 816 and the efficiency performance values ​​in Figure 9, step 916. Process 1000 can then proceed to step 1020.

[0077] In 1020, process 1000 may determine the loss value based on the performance value. In some examples, the loss value may be a final loss value determined based on the efficiency performance value, the diffraction performance value described in 816 of Figure 8, and the efficiency performance value in 916 of Figure 9. Process 1000 can then proceed to 1024.

[0078] At 1024, process 1000 may update the generator based on the loss value. In some cases, if a condition is not met (e.g., a predetermined number of training cycles have not been performed, a predetermined performance value has not been met, etc.), process 1000 may proceed to 1008 to continue training the generator. Otherwise, process 1000 may proceed to 1028.

[0079] In 1028, process 1000 may output the generator to an external device and / or at least one non-temporary computer-readable storage medium. Process 1000 may then terminate.

[0080] Figure 11 shows an exemplary process 1100 for generating a metagrating design in accordance with aspects of the present disclosure. Specifically, process 1100 can generate a metagrating design that can be manufactured for various metagrating apparatuses. In some examples, the metagrating design may include a metagrating (e.g., metagrating 300 in Figure 3). In some examples, the metagrating design may include and / or be associated with a metagrating apparatus and / or a part of a metagrating apparatus (e.g., metagrating apparatus 304 in Figure 3). In some examples, the metagrating design may include a top layer (e.g., top layer 308 in Figure 3) and a substrate (e.g., substrate 312 in Figure 3). In some examples, the metagrating apparatus and / or a part of a metagrating apparatus may be predetermined. In some examples, one or more sides of the metagrating may be exposed to air, meaning that the top layer and / or substrate may be air. In some examples, the top layer and / or substrate may comprise one or more solid materials such as polymers (e.g., polyethylene terephthalate and / or polyvinyl butyral) and / or silica glass. In some examples, the top layer and / or substrate may comprise a uniform material having a predetermined thickness. In some examples, the top layer and / or substrate may comprise multiple material layers, each having a predetermined thickness. In some examples, the top layer and / or substrate may be the same. The metagrating may comprise two materials having a predetermined thickness and arranged to produce a desired effect (e.g., improved transmission efficiency for a particular wavelength and angle of incidence). In some examples, the generator may be trained to output a metagrating design for a given metagrating apparatus (e.g., a given substrate and top layer). In some examples, process 1100 may be implemented in the metagrating design generation application 68A, the generator training application 68B, and / or the simulator application 68C shown in Figure 2.

[0081] In some examples, process 1100 may be implemented as an instruction on at least one non-temporary computer-readable storage medium (e.g., memory 32 in Figure 2) and executed by one or more processors (e.g., processor 28) connected to at least one non-temporary computer-readable storage medium and configured to execute the instruction.

[0082] In 1104, process 1100 may receive one or more metagrating application parameter values. In some examples, one or more metagrating application parameter values ​​may be selected by the user. In some examples, one or more metagrating application parameter values ​​may include one or more physical parameter values ​​and / or performance parameter values. In some examples, one or more physical parameter values ​​may be the physical parameter values ​​408 in Figure 4. In some examples, one or more physical parameter values ​​may be referred to as one or more physical parameter values. One or more physical parameter values ​​may include one or more values ​​and / or ranges (e.g., specifications for a given application) that the generated metagrating design must adhere to. In some examples, one or more physical parameter values ​​may include physical parameter values ​​such as thickness values ​​(e.g., z-axis length) and / or pitch values ​​(e.g., x-axis length) over width. In some examples, one or more physical parameter values ​​may include ranges of values ​​for x-axis pitch and thickness, respectively.

[0083] In some examples, the performance parameter values ​​may include one or more user-defined metagrating specifications in Figure 4, 416. The performance parameter values ​​may be selected (e.g., by the user) to train the generator to produce a metagrating design with desired performance quality. In some examples, the performance parameter values ​​may include reflectance, transmission, and / or absorption values ​​for one or more wavelengths, angles, and / or orders. In some examples, the performance parameter values ​​may be generated using equations 2 and / or 3 above. Process 1100 can then proceed to 1108.

[0084] In 1108, process 1100 may select a generator based on one or more metagrating application parameter values. In some examples, process 1100 may select a trained generator that satisfies each of the one or more metagrating application parameter values. In some examples, process 1100 may select a generator from a database of pre-trained generators. In some examples, process 1100 may train a generator to produce a metagrating design that satisfies each of the one or more metagrating application parameter values. In some examples, process 1100 may perform at least part of process 800 in Figure 8, process 900 in Figure 9, and / or process 1000 in Figure 10 to train a generator using one or more metagrating application parameter values. After a generator has been selected and / or trained, process 1100 may then proceed to 1112.

[0085] In step 1112, process 1100 may provide randomized data to the generator. In some examples, process 1100 may receive randomized data from a user and / or a database. In some examples, the randomized data may be randomized noise. In some examples, the randomized data may be a sequence of random values ​​formed in a one-dimensional input matrix. Process 1100 may then proceed to step 1116.

[0086] In 1116, process 1100 may receive a metagrating design from the generator. In some examples, the metagrating design may be the metagrating design 304 shown in Figure 4. The metagrating design may include manufacturing data that enables the production of a metagrating based on the metagrating design. Thus, the metagrating design can function as a blueprint for the metagrating. In some examples, the metagrating design may include x-axis pitch values, thickness values, material information, and mapping of one or more features. The mapping of one or more features may include positional data (e.g., x and y coordinates) of one or more features within the metagrating. Each feature may be a contiguous portion of a particular material. For example, a metagrating containing two materials may have 10 features, with 4 features formed from the first material and 6 features formed from the second material. In some examples, the metagrating design may include a raster surface representation of the metagrating.

[0087] In some examples, process 1100 may shift interrupted features in the metagrating design to create at least one larger feature. In some examples, process 1100 may perform at least part of process 600 in Figure 6. Process 1100 can then proceed to 1120.

[0088] In 1120, process 1100 can output the metagrating design to a user interface, an external device, or at least one non-temporary computer-readable storage medium. Process 1100 can then terminate.

[0089] In the detailed description of these exemplary embodiments, references are made to the accompanying drawings illustrating specific embodiments in which the invention may be carried out. The embodiments shown are not intended to exhaust all embodiments according to the invention. Other embodiments may be used, and structural or logical modifications may be made without departing from the scope of the invention. Accordingly, the following detailed description should not be interpreted restrictively, and the scope of the invention is defined by the appended claims.

[0090] Unless otherwise explicitly stated, all numerical values ​​used in the specifications and claims to represent feature sizes, quantities, and physical properties are understood in all cases to be modified by the terms “approximately,” “roughly,” or “substantially.” Therefore, unless otherwise indicated, the numerical parameters set forth in the above specification and the appended claims are approximations that may vary depending on the desired properties sought by a person skilled in the art utilizing the teachings disclosed herein.

[0091] As used herein and in the appended claims, the singular forms “a,” “an,” and “the” encompass embodiments having multiple referenced objects unless the context clearly indicates otherwise. As used herein and in the appended claims, the term “or” is used in a general sense to include “and / or” unless the context clearly indicates otherwise.

[0092] Depending on the embodiment, certain actions or events of the method described herein may be performed in a different order, or may be added, combined, or omitted entirely (for example, not all of the described actions or events are necessary to carry out the method). Furthermore, in certain examples, the actions or events may not be performed sequentially, but rather simultaneously through multithreading, interrupt handling, or multiple processors.

[0093] The technologies described herein may be implemented in hardware, software, firmware, or any combination thereof, at least in part. For example, various aspects of the technologies described may be implemented within one or more processors, which include one or more microprocessors, CPUs, GPUs, DSPs, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits, and any combination of such components. The terms “processor” or “processing circuit” may generally refer to the aforementioned logic circuits (e.g., fixed-function circuits, programmable circuits, or any combination of fixed-function circuits and programmable circuits), either in combination with other logic circuits or by themselves. A control unit including hardware may also perform one or more of the technologies described herein.

[0094] Such hardware, software, and firmware may be implemented within the same device or in separate devices to support the various operations and functions described herein. Furthermore, any of the described units, modules, or components may be implemented together or individually as interoperable logic devices. The description of modules and units as having distinct characteristics is intended to highlight different functional aspects and does not necessarily mean that those modules or units must be implemented by separate hardware or software components. Rather, the functions associated with one or more modules or units may be performed by separate hardware or software components or integrated within common or separate hardware or software components.

[0095] The technologies described herein may be embodied or encoded in a computer-readable medium, such as a computer-readable storage medium containing instructions. Instructions embedded or encoded in a computer-readable storage medium can, for example, cause a programmable processor or other processor to perform such a method when the instructions are executed. Computer-readable storage media may include random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), flash memory, hard disks, CD-ROMs, floppy disks, cassettes, magnetic media, optical media, or other computer-readable media.

[0096] Various examples are described. These and other examples are within the scope of the following claims.

Claims

1. The system comprises at least one non-temporary computer-readable storage medium in which instructions are stored, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium, wherein when the processing circuit executes the instructions, Randomized data is provided to the neural network, The metagrating design is received from the aforementioned neural network, Based on the metagrating design, a plurality of efficiency performance values ​​are generated, where each efficiency performance value included in the plurality of efficiency performance values ​​is associated with one light source angle included in a plurality of predetermined light source angles. The loss value is determined based on the aforementioned multiple efficiency performance values, The neural network is updated based on the loss value. The neural network is configured to output to an external device or to at least one of the at least one non-temporary computer-readable storage mediums. Device.

2. The apparatus according to claim 1, wherein each efficiency performance value included in the plurality of efficiency performance values ​​is further associated with wavelengths included in a plurality of predetermined wavelengths.

3. The apparatus according to claim 2, wherein the processing circuit is further configured to receive the plurality of predetermined wavelengths from the user interface when it executes the command.

4. The apparatus according to claim 1, wherein the processing circuit is further configured to receive the plurality of predetermined light source angles from the user interface when it executes the command.

5. The apparatus according to claim 1, wherein the plurality of efficiency performance values ​​include a transmission efficiency performance value.

6. The apparatus according to claim 1, wherein the plurality of efficiency performance values ​​include a reflectance efficiency performance value.

7. The apparatus according to claim 1, wherein the plurality of efficiency performance values ​​include a plurality of reflection efficiency performance values ​​and a plurality of transmission efficiency performance values, and each light source angle included in the plurality of predetermined light source angles is associated with at least one reflection efficiency performance value included in the plurality of reflection efficiency performance values ​​and at least one transmission efficiency performance value included in the plurality of transmission efficiency performance values.

8. The apparatus according to claim 7, wherein each efficiency performance value included in the plurality of efficiency performance values ​​is further associated with one wavelength included in a plurality of predetermined wavelengths, and each wavelength included in the plurality of predetermined wavelengths is associated with at least one reflection efficiency performance value included in the plurality of reflection efficiency performance values ​​and at least one transmission efficiency performance value included in the plurality of transmission efficiency performance values.

9. Based on the aforementioned metagrating design, the plurality of efficiency performance values ​​are generated. To provide the aforementioned metagrating design to the simulator, The apparatus according to claim 1, further comprising receiving the plurality of efficiency performance values ​​from the simulator.

10. Determining the loss value based on the aforementioned multiple efficiency performance values, The apparatus according to claim 1, comprising calculating a variance value based on the plurality of efficiency performance values.

11. Furthermore, determining the loss value based on the aforementioned multiple efficiency performance values ​​is possible. The apparatus according to claim 10, comprising calculating a loss value based on the variance value using a loss equation.

12. The apparatus according to claim 11, wherein the loss equation is a soft plus equation.

13. When the processing circuit further executes the instruction, For each of the multiple non-zero orders, diffraction performance values ​​based on the metagrating design are generated. A second loss value is determined based on the diffraction performance values ​​related to the plurality of non-zero orders. The neural network is configured to be further updated based on the second loss value. The apparatus according to claim 1.

14. To generate the diffraction performance value for each of the aforementioned non-zero orders, To provide the aforementioned metagrating design to the simulator, The apparatus according to claim 13, further comprising receiving the diffraction performance values ​​associated with each of the plurality of non-zero orders from the simulator.

15. Determining the second loss value is Calculating the sum of the diffraction performance values ​​related to the aforementioned multiple non-zero orders, The apparatus according to claim 13, further comprising determining the second loss value based on the sum of the diffraction performance values ​​using a loss function.

16. The apparatus according to claim 15, wherein the loss function is a Gaussian loss function.

17. The apparatus according to claim 15, wherein the loss function is a soft plus loss function.

18. The apparatus according to claim 13, wherein the diffraction performance value is the diffraction efficiency value.

19. The apparatus according to claim 13, wherein each of the diffraction performance values ​​associated with the plurality of non-zero orders is further associated with a predetermined wavelength.

20. The apparatus according to claim 13, wherein each of the diffraction performance values ​​associated with the plurality of non-zero orders is further associated with a predetermined angle.

21. The apparatus according to claim 13, wherein the metagrating design includes feature information, a pitch value, and a thickness value related to at least one feature included in the metagrating design.

22. The apparatus according to claim 21, wherein the feature information includes material values ​​and positional values ​​for each feature included in the metagrating design.

23. The apparatus according to claim 13, wherein the diffraction performance value includes at least one of a transmission value or a reflection value.

24. The apparatus according to claim 23, wherein each of the at least one of the transmission or reflection values ​​is a diffraction efficiency value related to the polarization value.

25. The apparatus according to claim 13, wherein the metagrating design is an optical film design.

26. The system comprises at least one non-temporary computer-readable storage medium in which instructions are stored, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium, wherein when the processing circuit executes the instructions, Providing randomized data to the neural network, Receiving a metagrating design from the aforementioned neural network, Based on the aforementioned metagrating design, a plurality of efficiency performance values ​​are generated, wherein each of the plurality of efficiency performance values ​​is associated with one of a plurality of predetermined light source angles. The loss value is determined based on the aforementioned multiple efficiency performance values, Updating the neural network based on the aforementioned loss value, Randomized data is provided to a neural network that has been pre-trained to generate metagrating designs by repeating the process. The target metagrating design is received from the aforementioned neural network, The target metagrating design is configured to be output to an external device or to at least one of the at least one non-temporary computer-readable storage mediums. Device.

27. The aforementioned neural network further, For each of the multiple non-zero orders, the diffraction performance values ​​based on the metagrating design are generated, A second loss value is determined based on the diffraction performance values ​​related to the plurality of non-zero orders, Further updating the neural network based on the second loss value, It is pre-trained to generate metagrating designs by repeating the process. The apparatus according to claim 26.

28. The system comprises at least one non-temporary computer-readable storage medium in which instructions are stored, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium, wherein when the processing circuit executes the instructions, Randomized data is provided to the neural network, A metagrating design is received from the aforementioned neural network, where the metagrating design includes a plurality of one-dimensional features. Based on the aforementioned multiple features, the maximum feature is determined, Shift the maximum feature within the metagrating design, Based on the aforementioned metagrating design, the loss value is determined, The neural network is updated based on the loss value. The neural network is configured to output to an external device or to at least one of the at least one non-temporary computer-readable storage mediums. Device.

29. The apparatus according to claim 28, wherein determining the most significant feature includes concatenating multiple copies of the metagrating design.

30. Determining the aforementioned most prominent feature is Connecting a first copy of the metagrating design to the first end of the metagrating design, Connecting a second copy of the metagrating design to the second end of the metagrating design, The apparatus according to claim 28, comprising detecting the largest continuous one-dimensional feature contained in at least one of the metagrating design, a first copy of the metagrating design, or a second copy of the metagrating design.

31. Shifting the maximum feature within the metagrating design is The apparatus according to claim 30, comprising shifting the first end of the largest continuous one-dimensional feature to the first end of the metagrating design.

32. When the processing circuit further executes the instruction, Secondary randomized data is provided to the neural network, A second metagrating design is received from the neural network, wherein the second metagrating design includes a second plurality of one-dimensional features. Based on the aforementioned second set of features, a secondary maximum feature is determined. Shift the secondary maximum feature within the second metagrating design described above. The loss value is further determined based on the second metagrating design described above. The apparatus according to claim 28.

33. When the processing circuit further executes the instruction, Based on the aforementioned metagrating design and the second metagrating design, the cosine similarity value is calculated. The apparatus according to claim 32, further configured to determine the loss value based on the second metagrating design.

34. The apparatus according to claim 28, wherein the processing circuit is further configured to convert the metagrating design into binary when it executes the instruction.

35. When the processing circuit further executes the instruction, Based on the metagrating design, a plurality of efficiency performance values ​​are generated, and each of the plurality of efficiency performance values ​​is associated with a light source angle included in a plurality of predetermined light source angles. The apparatus according to claim 28, configured to determine the loss value based on the plurality of efficiency performance values.

36. The system comprises at least one non-temporary computer-readable storage medium in which instructions are stored, and a processing circuit coupled to the at least one non-temporary computer-readable storage medium, wherein when the processing circuit executes the instructions, Providing randomized data to a neural network, Receiving a metagrating design from the aforementioned neural network, Shifting the maximum feature within the aforementioned metagrating design, The loss value is determined based on the aforementioned metagrating design, Updating the neural network based on the aforementioned loss value, By repeating this process, randomized data is provided to a neural network that has been pre-trained to generate metagrating designs. The target metagrating design is received from the aforementioned neural network, The target metagrating design is configured to be output to an external device or to at least one of the at least one non-temporary computer-readable storage mediums. Device.

37. The aforementioned neural network further, Based on the metagrating design, a plurality of efficiency performance values ​​are generated, and each of the plurality of efficiency performance values ​​is associated with one of the plurality of predetermined light source angles. The loss value is determined based on the aforementioned multiple efficiency performance values, The apparatus according to claim 36, which is pre-trained to generate metagrating designs by repeating the process.