Patents by Inventor Mohammad Rastegari

Mohammad Rastegari has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240144566
    Abstract: Systems and methods are disclosed for training neural networks using labels for training data that are dynamically refined using neural networks and using these trained neural networks to perform detection and/or classification of one or more objects appearing in an image. Particular embodiments may generate a set of crops of images from a corpus of images, then apply a first neural network to the set of crops to obtain a set of respective outputs. A second neural network may then be trained using the set of crops as training examples. The set of respective outputs may be applied as labels for the set of crops.
    Type: Application
    Filed: December 18, 2023
    Publication date: May 2, 2024
    Inventors: Hessam BAGHERINEZHAD, Maxwell HORTON, Mohammad RASTEGARI, Ali FARHADI
  • Patent number: 11907823
    Abstract: In one embodiment, a computing device includes an input sensor providing an input data; a programmable logic device (PLD) implementing a convolutional neural network (CNN), wherein: each compute block of the PLD corresponds to one of a multiple of convolutional layers of the CNN, each compute block of the PLD is placed in proximity to at least two memory blocks, a first one of the memory blocks serves as a buffer for the corresponding layer of the CNN, and a second one of the memory blocks stores model-specific parameters for the corresponding layer of the CNN.
    Type: Grant
    Filed: July 7, 2022
    Date of Patent: February 20, 2024
    Assignee: Apple Inc.
    Inventors: Saman Naderiparizi, Mohammad Rastegari, Sayyed Karen Khatamifard
  • Patent number: 11887225
    Abstract: Systems and methods are disclosed for training neural networks using labels for training data that are dynamically refined using neural networks and using these trained neural networks to perform detection and/or classification of one or more objects appearing in an image. Particular embodiments may generate a set of crops of images from a corpus of images, then apply a first neural network to the set of crops to obtain a set of respective outputs. A second neural network may then be trained using the set of crops as training examples. The set of respective outputs may be applied as labels for the set of crops.
    Type: Grant
    Filed: May 4, 2021
    Date of Patent: January 30, 2024
    Assignee: Apple Inc.
    Inventors: Hessam Bagherinezhad, Maxwell Horton, Mohammad Rastegari, Ali Farhadi
  • Patent number: 11657124
    Abstract: In one embodiment, a method includes receiving a user request from a client device associated with a user, accessing an instructional file comprising one or more binary inference engines and one or more encrypted model data corresponding to the one or more binary inference engines, respectively, selecting a binary inference engine from the one or more binary inference engines in the accessed instructional file based on the user request, sending a validation request for a permission to execute the binary inference engine to a licensing server, receiving the permission from the licensing server, decrypting the encrypted model data corresponding to the binary inference engine by a decryption key, executing the binary inference engine based on the user request and the decrypted model data, and sending one or more execution results responsive to the execution of the binary inference engine to the client device.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: May 23, 2023
    Assignee: Apple Inc.
    Inventors: Peter Zatloukal, Matthew Weaver, Alexander Kirchhoff, Dmitry Belenko, Ali Farhadi, Mohammad Rastegari, Andrew Luke Chronister, Keith Patrick Wyss, Chenfan Sun
  • Patent number: 11651192
    Abstract: Systems and processes for training and compressing a convolutional neural network model include the use of quantization and layer fusion. Quantized training data is passed through a convolutional layer of a neural network model to generate convolutional results during a first iteration of training the neural network model. The convolutional results are passed through a batch normalization layer of the neural network model to update normalization parameters of the batch normalization layer. The convolutional layer is fused with the batch normalization layer to generate a first fused layer and the fused parameters of the fused layer are quantized. The quantized training data is passed through the fused layer using the quantized fused parameters to generate output data, which may be quantized for a subsequent layer in the training iteration.
    Type: Grant
    Filed: February 11, 2020
    Date of Patent: May 16, 2023
    Assignee: Apple Inc.
    Inventors: James C. Gabriel, Mohammad Rastegari, Hessam Bagherinezhad, Saman Naderiparizi, Anish Prabhu, Sophie Lebrecht, Jonathan Gelsey, Sayyed Karen Khatamifard, Andrew L. Chronister, David Bakin, Andrew Z. Luo
  • Patent number: 11625580
    Abstract: Neural wirings may be discovered concurrently with training a neural network. Respective weights may be assigned to each edge connecting nodes of a neural graph, wherein the neural graph represents a neural network. A subset of edges may be designated based on the respective weights and data is passed through the neural graph in a forward training pass using the designated subset of edges. A loss function may be determined based on the results of the forward training pass and parameters of the neural network and the respective weights assigned to each edge may be updated in a backwards training pass based on the loss function. The steps of designating the subset of edges, passing data through the neural graph, determining the loss function, and updating parameters of the neural network and the respective weights may be repeated to train the neural network.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: April 11, 2023
    Assignee: Apple Inc.
    Inventors: Mitchell Noss Wortsman, Ali Farhadi, Mohammad Rastegari
  • Publication number: 20220343135
    Abstract: In one embodiment, a computing device includes an input sensor providing an input data; a programmable logic device (PLD) implementing a convolutional neural network (CNN), wherein: each compute block of the PLD corresponds to one of a multiple of convolutional layers of the CNN, each compute block of the PLD is placed in proximity to at least two memory blocks, a first one of the memory blocks serves as a buffer for the corresponding layer of the CNN, and a second one of the memory blocks stores model-specific parameters for the corresponding layer of the CNN.
    Type: Application
    Filed: July 7, 2022
    Publication date: October 27, 2022
    Inventors: Saman NADERIPARIZI, Mohammad RASTEGARI, Sayyed Karen KHATAMIFARD
  • Patent number: 11443536
    Abstract: Systems, apparatuses, and methods for efficiently and accurately processing an image in order to detect and identify one or more objects contained in the image, and methods that may be implemented on mobile or other resource constrained devices. Embodiments of the invention introduce simple, efficient, and accurate approximations to the functions performed by a convolutional neural network (CNN); this is achieved by binarization (i.e., converting one form of data to binary values) of the weights and of the intermediate representations of data in a convolutional neural network. The inventive binarization methods include optimization processes that determine the best approximations of the convolution operations that are part of implementing a CNN using binary operations.
    Type: Grant
    Filed: June 3, 2019
    Date of Patent: September 13, 2022
    Assignee: The Allen Institute for Artificial Intelligence
    Inventors: Ali Farhadi, Mohammad Rastegari, Vicente Ignacio Ordonez Roman
  • Patent number: 11410014
    Abstract: In one embodiment, a computing device includes an input sensor providing an input data; a programmable logic device (PLD) implementing a convolutional neural network (CNN), wherein: each compute block of the PLD corresponds to one of a multiple of convolutional layers of the CNN, each compute block of the PLD is placed in proximity to at least two memory blocks, a first one of the memory blocks serves as a buffer for the corresponding layer of the CNN, and a second one of the memory blocks stores model-specific parameters for the corresponding layer of the CNN.
    Type: Grant
    Filed: February 11, 2019
    Date of Patent: August 9, 2022
    Assignee: Apple Inc.
    Inventors: Saman Naderiparizi, Mohammad Rastegari, Sayyed Karen Khatamifard
  • Publication number: 20220222550
    Abstract: In one embodiment, a method includes providing, to a client system of a user, a user interface for display. The user interface may include a first set of options for selecting an artificial intelligence (AI) task for integrating into a user application, a second set of options for selecting one or more devices on which the user wants to deploy the selected AI task, and a third set of options for selecting one or more performance constraints specific to the selected devices. User specifications may be received based on user selections in the first, second, and third sets of options. A custom AI model may be generated based on the user specifications and sent to the client system of the user for integrating into the user application. The custom AI model once integrated may enable the user application to perform the selected AI task on the selected devices.
    Type: Application
    Filed: January 24, 2022
    Publication date: July 14, 2022
    Inventors: Alexander James Oscar Craver KIRCHHOFF, Ali FARHADI, Anish Jnyaneshwar PRABHU, Carlo Eduardo Cabanero DEL MUNDO, Daniel Carl TORMOEN, Hessam BAGHERINEZHAD, Matthew S. WEAVER, Maxwell Christian HORTON, Mohammad RASTEGARI, Robert Stephen KARL, JR., Sophie LEBRECHT
  • Patent number: 11354538
    Abstract: Systems and methods are disclosed for lookup-based convolutional neural networks. For example, methods may include applying a convolutional neural network to image data based on an image to obtain an output, in which a layer of the convolutional network includes filters with weights that are stored as a dictionary (D) of channel weight vectors, a respective lookup index tensor (I) that indexes the dictionary, and a respective lookup coefficient tensor (C), and in which applying the convolutional neural network includes: convolving the channel weight vectors of the dictionary (D) with an input tensor based on the image to obtain an input dictionary (S), and combining entries of the input dictionary (S) that are indexed with indices from the respective lookup index tensor (I) and multiplied with corresponding coefficients from the respective lookup coefficient tensor (C); and storing, displaying, or transmitting data based on the output of the convolutional neural network.
    Type: Grant
    Filed: June 22, 2020
    Date of Patent: June 7, 2022
    Assignee: Apple Inc.
    Inventors: Hessam Bagherinezhad, Ali Farhadi, Mohammad Rastegari
  • Patent number: 11263540
    Abstract: In one embodiment, a method includes providing, to a client system of a user, a user interface for display. The user interface may include a first set of options for selecting an artificial intelligence (AI) task for integrating into a user application, a second set of options for selecting one or more devices on which the user wants to deploy the selected AI task, and a third set of options for selecting one or more performance constraints specific to the selected devices. User specifications may be received based on user selections in the first, second, and third sets of options. A custom AI model may be generated based on the user specifications and sent to the client system of the user for integrating into the user application. The custom AI model once integrated may enable the user application to perform the selected AI task on the selected devices.
    Type: Grant
    Filed: May 6, 2019
    Date of Patent: March 1, 2022
    Assignee: APPLE INC.
    Inventors: Alexander James Oscar Craver Kirchhoff, Ali Farhadi, Anish Jnyaneshwar Prabhu, Carlo Eduardo Cabanero del Mundo, Daniel Carl Tormoen, Hessam Bagherinezhad, Matthew S. Weaver, Maxwell Christian Horton, Mohammad Rastegari, Robert Stephen Karl, Jr., Sophie Lebrecht
  • Publication number: 20210264211
    Abstract: Systems and methods are disclosed for training neural networks using labels for training data that are dynamically refined using neural networks and using these trained neural networks to perform detection and/or classification of one or more objects appearing in an image. Particular embodiments may generate a set of crops of images from a corpus of images, then apply a first neural network to the set of crops to obtain a set of respective outputs. A second neural network may then be trained using the set of crops as training examples. The set of respective outputs may be applied as labels for the set of crops.
    Type: Application
    Filed: May 4, 2021
    Publication date: August 26, 2021
    Inventors: Hessam BAGHERINEZHAD, Maxwell HORTON, Mohammad RASTEGARI, Ali FARHADI
  • Patent number: 11030486
    Abstract: Systems and methods are disclosed for training neural networks using labels for training data that are dynamically refined using neural networks and using these trained neural networks to perform detection and/or classification of one or more objects appearing in an image. Particular embodiments may generate a set of crops of images from a corpus of images, then apply a first neural network to the set of crops to obtain a set of respective outputs. A second neural network may then be trained using the set of crops as training examples. The set of respective outputs may be applied as labels for the set of crops.
    Type: Grant
    Filed: April 16, 2019
    Date of Patent: June 8, 2021
    Assignee: XNOR.ai, Inc.
    Inventors: Hessam Bagherinezhad, Maxwell Horton, Mohammad Rastegari, Ali Farhadi
  • Publication number: 20200387776
    Abstract: Input data having multiple channels may be received and passed through a convolutional neural network model to generate output data. Passing the input data through the convolutional neural network model may include passing the input data through a depth-wise convolutional layer configured to perform a convolution on the input data for each channel of the input data to generate first data. The first data is passed from the depth-wise convolutional layer through a butterfly transform layer comprising multiple sub-layers configured to perform a linear transformation of the first data to fuse the channels of the first data and generate second data, wherein the output data is based on the generated second data. The output data may be provided for further processing on a computing device.
    Type: Application
    Filed: June 3, 2020
    Publication date: December 10, 2020
    Inventors: Ali FARHADI, Mohammad RASTEGARI
  • Publication number: 20200380342
    Abstract: Neural wirings may be discovered concurrently with training a neural network. Respective weights may be assigned to each edge connecting nodes of a neural graph, wherein the neural graph represents a neural network. A subset of edges may be designated based on the respective weights and data is passed through the neural graph in a forward training pass using the designated subset of edges. A loss function may be determined based on the results of the forward training pass and parameters of the neural network and the respective weights assigned to each edge may be updated in a backwards training pass based on the loss function. The steps of designating the subset of edges, passing data through the neural graph, determining the loss function, and updating parameters of the neural network and the respective weights may be repeated to train the neural network.
    Type: Application
    Filed: May 29, 2020
    Publication date: December 3, 2020
    Inventors: Mitchell Noss WORTSMAN, Ali FARHADI, Mohammad RASTEGARI
  • Publication number: 20200364499
    Abstract: Systems and methods are disclosed for lookup-based convolutional neural networks. For example, methods may include applying a convolutional neural network to image data based on an image to obtain an output, in which a layer of the convolutional network includes filters with weights that are stored as a dictionary (D) of channel weight vectors, a respective lookup index tensor (I) that indexes the dictionary, and a respective lookup coefficient tensor (C), and in which applying the convolutional neural network includes: convolving the channel weight vectors of the dictionary (D) with an input tensor based on the image to obtain an input dictionary (S), and combining entries of the input dictionary (S) that are indexed with indices from the respective lookup index tensor (I) and multiplied with corresponding coefficients from the respective lookup coefficient tensor (C); and storing, displaying, or transmitting data based on the output of the convolutional neural network.
    Type: Application
    Filed: June 22, 2020
    Publication date: November 19, 2020
    Inventors: Hessam BAGHERINEZHAD, Ali FARHADI, Mohammad RASTEGARI
  • Publication number: 20200257955
    Abstract: In one embodiment, a computing device includes an input sensor providing an input data; a programmable logic device (PLD) implementing a convolutional neural network (CNN), wherein: each compute block of the PLD corresponds to one of a multiple of convolutional layers of the CNN, each compute block of the PLD is placed in proximity to at least two memory blocks, a first one of the memory blocks serves as a buffer for the corresponding layer of the CNN, and a second one of the memory blocks stores model-specific parameters for the corresponding layer of the CNN.
    Type: Application
    Filed: February 11, 2019
    Publication date: August 13, 2020
    Inventors: Saman Naderiparizi, Mohammad Rastegari, Sayyed Karen Khatamifard
  • Publication number: 20200257960
    Abstract: Systems and processes for training and compressing a convolutional neural network model include the use of quantization and layer fusion. Quantized training data is passed through a convolutional layer of a neural network model to generate convolutional results during a first iteration of training the neural network model. The convolutional results are passed through a batch normalization layer of the neural network model to update normalization parameters of the batch normalization layer. The convolutional layer is fused with the batch normalization layer to generate a first fused layer and the fused parameters of the fused layer are quantized. The quantized training data is passed through the fused layer using the quantized fused parameters to generate output data, which may be quantized for a subsequent layer in the training iteration.
    Type: Application
    Filed: February 11, 2020
    Publication date: August 13, 2020
    Inventors: James C. GABRIEL, Mohammad RASTEGARI, Hessam BAGHERINEZHAD, Saman NADERIPARIZI, Anish PRABHU, Sophie LEBRECHT, Jonathan GELSEY, Sayyed Karen KHATAMIFARD, Andrew L. CHRONISTER, David BAKIN, Andrew Z. LUO
  • Patent number: 10691975
    Abstract: Systems and methods are disclosed for lookup-based convolutional neural networks. For example, methods may include applying a convolutional neural network to image data based on an image to obtain an output, in which a layer of the convolutional network includes filters with weights that are stored as a dictionary (D) of channel weight vectors, a respective lookup index tensor (I) that indexes the dictionary, and a respective lookup coefficient tensor (C), and in which applying the convolutional neural network includes: convolving the channel weight vectors of the dictionary (D) with an input tensor based on the image to obtain an input dictionary (S), and combining entries of the input dictionary (S) that are indexed with indices from the respective lookup index tensor (I) and multiplied with corresponding coefficients from the respective lookup coefficient tensor (C); and storing, displaying, or transmitting data based on the output of the convolutional neural network.
    Type: Grant
    Filed: July 17, 2018
    Date of Patent: June 23, 2020
    Assignee: XNOR.AI, INC.
    Inventors: Hessam Bagherinezhad, Ali Farhadi, Mohammad Rastegari