UCLA Researchers Create All-Optical Diffractive Deep Neural Network That is 3D Printed
Using a 3D printer, a research team at the UCLA Samueli School of Engineering has created an artificial neural network that can analyze large volumes
www.photonics.com
UCLA Researchers Create All-Optical Diffractive Deep Neural Network That is 3D Printed
Using a 3D printer, a research team at the UCLA Samueli School of Engineering has created an artificial neural network that can analyze large volumes of data and identify objects at the speed of light. Called a diffractive deep neural network (D2NN), the technology uses the light scattering from an object to identify it. The technology is based on a deep learning-based design of passive diffractive layers that work collectively.
The team created a computer-simulated design, then used a 3D printer to create thin, 8 cm-sq polymer wafers. Each wafer was created with uneven surfaces to help diffract light coming from an object.
Optical device for data storage and compute operations
Abstract
Generally, techniques related to an optical computer system and use thereof are described. In an example, an optical computer system includes a multi-purpose optical device, an imager, and an image sensor. The multi-purpose optical device is configured for different purposes, such as for data storage and for compute operations. The configuration utilizes diffractive optical layers that include different diffraction elements. The imager displays an image to the multi-purpose optical device. The image encodes command-related data depending on the purpose to be invoked, such a data location for a data read or input for a compute command. Light of the image travels to the multi-purpose device and is diffracted from the diffractive optical layers. The diffracted light is detected by the image sensor that converts it into an output.
BACKGROUND
Demand for high data storage is increasing. For example, as video games become more complex, the size of the video game data and files increases. When this size is larger than the capacity of current disc-based media, such media may no longer be usable. Instead, a client-server architecture can be set up, where the video game data and files are stored on the server for download to the client. However, network download speeds may increase the loading time and, hence, delay the availability of a video game to a video game player.
Furthermore, the complexity of compute operations is increasing. Referring back to the video game example, the use of artificial intelligence (AI) to perform various video-game related operations is becoming popular. However, AI processing can levy a large computational burden on the client and/or the server. For instance, dedicated computing hardware or compute cycles can be allocated to such processing, rendering such resources unavailable to other video game processes.
Hence, there is a need to improve the resources for high data storage and complex compute operations.
BRIEF SUMMARY
Generally, techniques related to an optical computer system and use thereof are described. In an example, the optical computer system includes an optical device configured to store data and perform one or more compute operations, such as a multi-purpose optical device. The optical device includes a plurality of diffractive optical layers made out of one or more solid materials. A first diffractive optical layer of the plurality of diffractive optical layers includes an optical data storage portion and a first optical compute portion. The optical data storage portion stores at least a subset of the data. The first optical compute portion includes diffraction elements that correspond to a sub-operation of the one or more compute operations. A second diffractive optical layer of the plurality of diffractive optical layers includes a second optical compute portion. The first optical compute portion and the second optical compute portion are arranged based on light diffraction from the first optical compute portion to the second optical compute portion. The optical computer system also includes an imager configured to display an image to the optical device. Further, the optical computer system includes an image sensor configured to receive light diffracted from the optical device based on the image.
In an example, the optical device is arranged between the imager and the image sensor. The optical device is transmissive of the light. In another example, the imager and the image sensor are arranged on a same side relative to the optical device. In this example, the optical device is reflective of the light.
In an example, each of the plurality of diffractive optical layers includes an optical compute portion and corresponds to a layer or an artificial neural network. Each of the plurality of diffractive optical layers further includes an optical data storage portion.
In an example, the optical data storage portion is a holographic data storage portion. The holographic data storage portion and the first optical compute portion are arranged side-by-side.
In an example, the imager includes an array of light sources, beam manipulation optics, and an optical modulator mounted on an actuator. The image sensor includes an array of light sensors mounted on the actuator.
In an example, the image is displayed as a monochromatic image having a wavelength between 400 nm and 700 nm.
In an example, the optical computer system further includes an actuator. The imager is attached to the actuator. The actuator is configured to move the imager between a first position corresponding to the optical data storage portion and a second position corresponding to the first optical compute portion.
In an example, the imager includes an array of light sources. A first portion of the array has a first position corresponding to the optical data storage portion. A second portion of the array has a second position corresponding to the first optical compute portion.
In an example, the diffraction elements of the first optical compute portion includes pixels that are smaller in size than pixels of the imager and pixels of the image sensor.
In an example, the first diffractive optical layer and the second diffractive optical layer are attached together via an optical glue in a stack arrangement. The optical device further includes an ultraviolet light blocking film attached to the first diffractive optical layer. The one or more solid materials include a polymeric material transparent to light having a wavelength between 400 nm and 700 nm.
In an example, the first diffractive optical layer includes electronic ink that form the diffraction elements.
In an example, computer-readable instructions are stored on a non-transitory computer medium. Upon execution on a computer system, such as the optical computer system, these instructions cause the computer system to perform operations. The operations include displaying, to the optical device of the computer system, a first image based on a data read command. The operations also include reading the data from the optical data storage portion based on first light diffracted from the optical device in response to the first image. Further, the operations includes displaying, to the optical device, a second image based on a compute command for a compute operation. The operations also include detecting an output of performing the compute operation by the optical device. The output is detected based on second light diffracted from the optical device in response to the second image.
In an example, the first image encodes a location of the data on the optical data storage portion. The second image encodes an input to the compute operation. The first image and the second image are displayed sequentially or in parallel.
A further understanding of the nature and the advantages of the embodiments disclosed and suggested herein may be realized by reference to the remaining portions of the specification and the attached drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example video game console that includes an optical computer system, according to embodiments of the present disclosure.
FIG. 2 illustrates an example optical computer system, according to embodiments of the present disclosure.
FIG. 3 illustrates another example optical computer system, according to embodiments of the present disclosure.
FIG. 4 illustrates an example reader head of an optical computer system, according to embodiments of the present disclosure.
FIG. 5 illustrates another example reader head of an optical computer system, according to embodiments of the present disclosure.
FIG. 6 illustrates an example multi-purpose optical device, according to embodiments of the present disclosure.
FIG. 7 illustrates an example diffractive optical layer of a multi-purpose optical device, according to embodiments of the present disclosure.
FIG. 8 illustrates an example flow for reading data and performing a compute operation on an optical computer system, according to embodiments of the present disclosure.
FIG. 9 illustrates an example of a hardware system suitable for implementing a computer system, according to embodiments of the present disclosure.
DETAILED DESCRIPTION
Generally, techniques related to an optical computer system and use thereof are described. In an example, an optical computer system includes a multi-purpose optical device, an imager, and an image sensor. The imager displays an image to the multi-purpose optical device. The image is optically processed through diffractive optical layers of the multi-purpose optical device and the diffracted light from the multi-purpose optical device is detected by the image sensor. The multi-purpose optical device is configured to store data and perform one or more compute operations. For instance, at least one of the diffractive optical layers include an optical data storage portion that stores the data. Further, some or all of the diffractive optical layers include optical compute portions. In turn, each of the optical compute portions includes diffraction elements that diffract light to a next optical compute operations and the light diffraction collectively through the optical compute portions corresponds to an optical compute operation. Based on the information encoded in the image, data can be read from the optical data storage and/or the optical compute operation can be invoked. For instance, when the image encodes a data location on the optical data storage portion, light travels through the diffractive optical layers to that location and out from the multi-purpose device and is detected by the image sensor. The image sensor converts the detected light into a read of the data stored at that data location. In comparison, when the image encodes an input to the compute operation, light travels through the optical compute portions and out from the multi-purpose device and is detected by the image sensor. Here, the image sensor converts the detected light into an output of optically performing the operation on the input.
To illustrate, consider an example of an optical computer system implemented as an optical disk drive. In this illustrative example, the multi-purpose optical device represents an optical disk or card, and the imager and image sensor represent a reader head. More specifically, the multi-purpose optical device includes a plurality of diffractive optical layers made out of polymeric material, such as plastic, transparent to light having a wavelength between 400 nm and 700 nm. These layers are attached with transparent optical glue in a stack arrangement. Each of the diffractive optical layers includes an optical data storage portion and an optical compute portion arranged side-by-side. In turn, each optical data storage portion stores data holographically, meaning the data is stored as collection interference patterns. Each of the optical compute portions corresponds to a layer of an artificial neural network and its diffraction elements are arranged to optically perform the equivalent transformation of the corresponding neural network layer. The artificial neural network is pre-trained to perform a compute operation. The various optical compute portions are arranged such that light is diffracted through these portions in a manner equivalent to data transformations between the neural network layers. The imager includes an array of monochromatic light sources, such as an array of micro light emitting diodes (.mu.LEDs), beam manipulation optics, and an optical modulator mounted on an actuating arm. The image sensor includes an array of CCD or CMOS sensors also mounted on the actuating arm. Upon a first image encoding the location of data to be read from a particular optical data portion, the actuating arm moves the imager and the image sensor to a position parallel to the optical data storage portions and the first image is emitted as a light from the imager. The light is diffracted through the optical data storage portions, including through the data location. The image sensor detects the diffracted light that is output from the multi-purpose optical device and converts the diffracted light to read data. Upon a second image encoding input for the compute operation, the actuating arm moves the imager and the image sensor to a position parallel to the optical compute portions and the second image is emitted as a light from the imager. The light is diffracted through the optical compute portions. The image sensor detects the diffracted light that is output from the multi-purpose optical device and converts the diffracted light to an output of the compute operation.
The optical computer system provides various technical advantages according to embodiments of the present disclosure. For example, high data storage can be achieved in a small footprint. In particular, one terabit of data can be stored in one square millimeter within each of the diffractive optical layers. In addition, data reads and compute operations can be performed at the speed of light. Hence, such an optical computer system can free up other computing resources to perform other operations.
In the interest of clarity of explanation, various embodiments of the present disclosure are described in connection with a video game system that includes an optical computer system. However, the embodiments are not limited as such and similarly apply to any computer system that integrates or interfaces with such an optical system, including a personal computer, a mobile device, or a datacenter. Also in the interest of clarity of explanation, various embodiments of the present disclosure are described in connection with a multi-purpose optical device that stores data holographically and that optically perform compute operations of a pre-trained artificial neural network. However, the embodiments are not limited as such and similarly apply to other types of optical storage including, for instance, pit-based storage, and/or to other types of artificial intelligence models.
FIG. 1 illustrates an example video game console 110 that includes an optical computer system 114, according to embodiments of the present disclosure. As illustrated, the video game console 110 interfaces with a display 120 to present interactive content of a video game to a video game player 130. The video game console 110 executes the video game. Some or all of the video game data can be stored on the optical computer system 114 (e.g., on optical data storage portions thereof). Additionally or alternatively, some or all of the operations of the video game can be executed on the optical computer system 114 (e.g., on optical compute portions thereof).
In an example, the video game console 110 includes the optical computer system 114 along with other computational resources. As illustrated in FIG. 1, these computational resources include a graphics processing unit (GPU) 118, although other components are possible such as a memory, a central processing unit (CPU), and the like as further illustrated in FIG. 9. The optical computer system 114 provides optical data storage, such as holographic data storage, and optical compute operations, such as operations of an AI model implemented as a collection of diffractive optical layers. Hence, data can be read from and compute operations can be performed by the optical computer system 114 at the speed of light. In addition, some of the data storage and some of the compute operations can be moved from the other computational resources to the optical computer system 114, thereby freeing up these resources for other tasks.
In an illustration, the optical computer system 114 is used for two purposes. First, to store video game data of the video game. In this way, depending on a context of the video game, the relevant video game data can be read from the optical computer system 114 and rendered by the GPU 118 on the display 120. Second, the optical computer system 114 is set-up to perform speech recognition. In this way, natural language utterances of the video game player 130 can be translated into text that, in turn, can be translated into game commands and/or displayable text on the display 120 or displays of other video game players. In particular, a neural network can be pre-trained for speech recognition on an offline system. And the trained neural network can be implemented as the collection of diffractive optical layers of the optical computer system 114.
In the illustrative example, audio input 113 is sent from a computational resource to the optical computer system 114 over an application programming interface (API) 112. The audio input is converted into an image for display by an imager to a multi-purpose optical device of the optical computer system 114. The diffracted light out from the multi-purpose optical device can be detected by an image sensor of the optical computer system 114 and converted to an output text 115. This output text 115 can be sent back to the same or different computational resource over the API 112 or a different API.
Similarly, a context of the video game can be sent over an API to the optical computer system 114. In response, the context is converted into an image for display by the imager to the multi-purpose optical device. The diffracted light can be detected by the image sensor and converted into video game data. This video game data can be sent to the GPU 118 as graphics input 117 over an API 116. The GPU 118 renders the video game content as graphics output 119 that is then sent over the same or a different API for presentation at the display 120.
According to this illustrative example, some of the operations of the video game console 110 can be allocated to the optical computer system 114, including video game data reads and speech recognition. Such operations can be run in parallel with operations performed by other computational resources of the video game console 110.
In the interest of clarity of explanation, various embodiments of the present disclosure are described in connection with data storage and with compute operations for speech recognition as an application on an optical computer system. However, the embodiments are not limited as such and apply to other possible purposes that can be implemented as diffractive optical layers, including other types of compute operations (e.g., object detection, speech synthetization, and other applications). Generally, a compute operation of an application can be defined as a set of interrelated operations. Each of such operations can be implemented as an diffractive optical layer of a multi-purpose optical device and the different diffractive optical layers can be arranged depending on the dependencies between the sub-operations.
In addition, the optical computer system can include a plurality of multi-purpose optical devices, one for each supported application. A single multi-purpose optical device that supports a plurality of applications can also or alternatively be used. In this case, each diffractive optical layer can contain one or more optical compute portions corresponding to one of the supported applications. For instance, if speech recognition and object detection were to be supported as a ten-layer neural network and a fifteen-layer neural network, respectively, the multi-purpose optical device can include fifteen diffractive optical layers. Ten of these diffractive optical layers can have optical compute portions for the two applications side-by-side, and remaining five of the diffractive optical layers can have optical computer portions for only the object detection application.
In other words, a multi-purpose optical device of an optical computer system represents an optical device configured for multiple purposes. In one example, the purposes are for data storage and a particular application. In another example, the purposes are for different applications without data storage. In yet another example, the purposes are for a plurality of data storages and a plurality of applications.
Furthermore, although FIG. 1 illustrates an optical computer system on a video game console, such a system can be implemented differently. For instance, the optical computer system can be installed on a server communicatively coupled with the video game console and/or can be part of an optical disk for a video game, where the optical disk can be inserted in the video game console.
Last edited: