Patents by Inventor Ali Farhadi

Ali Farhadi 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).

  • 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: 11669585
    Abstract: In one embodiment, a method includes receiving an input tensor corresponding to a media object at a binary convolutional neural network, wherein the binary convolutional neural network comprises at least one binary convolution layer comprising one or more weights, and wherein the media object is associated with a particular task, binarizing the input tensor by the at least one binary convolution layer, binarizing the one or more weights by the at least one binary convolution layer, and generating an output corresponding to the particular task by the binary convolutional neural network based on the binarized input tensor and the binarized one or more weights.
    Type: Grant
    Filed: June 25, 2019
    Date of Patent: June 6, 2023
    Assignee: Apple Inc.
    Inventors: Carlo Eduardo Cabanero del Mundo, 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: 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
  • 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
  • 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: 11373393
    Abstract: Systems and methods are disclosed for image-based object detection and classification. For example, methods may include accessing an image from an image sensor; applying a convolutional neural network to the image to obtain localization data to detect an object depicted in the image and to obtain classification data to classify the object, in which the convolutional neural network has been trained in part using training images with associated localization labels and classification labels and has been trained in part using training images with associated classification labels that lack localization labels; annotating the image based on the localization data and the classification data to obtain an annotated image; and storing, displaying, or transmitting the annotated image.
    Type: Grant
    Filed: January 23, 2020
    Date of Patent: June 28, 2022
    Assignee: Apple Inc.
    Inventors: Joseph Redmon, Ali Farhadi
  • 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: 11335094
    Abstract: In one embodiment, a method includes accessing a plurality of verified videos depicting one or more subjects, generating, based on the verified videos, a plurality of verified-video feature values corresponding to the subjects, generating, using one or more video transformations based on the verified videos, a plurality of fake videos, generating, based on the fake videos, a plurality of fake-video feature values, training a machine-learning model to determine whether a specified video is a genuine video, wherein the machine-learning model is trained based on the verified-video feature values and the fake-video feature values. The machine-learning model may be trained to classify the specified video in a genuine-video class or a fake-video class, and the machine-learning model maybe trained based on an association between a genuine-video class and the verified-video feature values and an association between a fake-video class and the fake-video feature values.
    Type: Grant
    Filed: August 13, 2019
    Date of Patent: May 17, 2022
    Assignee: Apple Inc.
    Inventors: Maxwell Christian Horton, Ali Farhadi
  • 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: 20210049366
    Abstract: In one embodiment, a method includes accessing a plurality of verified videos depicting one or more subjects, generating, based on the verified videos, a plurality of verified-video feature values corresponding to the subjects, generating, using one or more video transformations based on the verified videos, a plurality of fake videos, generating, based on the fake videos, a plurality of fake-video feature values, training a machine-learning model to determine whether a specified video is a genuine video, wherein the machine-learning model is trained based on the verified-video feature values and the fake-video feature values. The machine-learning model may be trained to classify the specified video in a genuine-video class or a fake-video class, and the machine-learning model maybe trained based on an association between a genuine-video class and the verified-video feature values and an association between a fake-video class and the fake-video feature values.
    Type: Application
    Filed: August 13, 2019
    Publication date: February 18, 2021
    Inventors: Maxwell Christian Horton, Ali Farhadi
  • Publication number: 20200410318
    Abstract: In one embodiment, a method includes receiving an input tensor corresponding to a media object at a binary convolutional neural network, wherein the binary convolutional neural network comprises at least one binary convolution layer comprising one or more weights, and wherein the media object is associated with a particular task, binarizing the input tensor by the at least one binary convolution layer, binarizing the one or more weights by the at least one binary convolution layer, and generating an output corresponding to the particular task by the binary convolutional neural network based on the binarized input tensor and the binarized one or more weights.
    Type: Application
    Filed: June 25, 2019
    Publication date: December 31, 2020
    Inventors: Carlo Eduardo Cabanero del Mundo, 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
  • 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
  • Publication number: 20200184037
    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: Application
    Filed: December 10, 2018
    Publication date: June 11, 2020
    Inventors: Peter Zatloukal, Matthew Weaver, Alexander Kirchhoff, Dmitry Belenko, Ali Farhadi, Mohammad Rastegari, Andrew Luke Chronister, Keith Patrick Wyss, Chenfan Sun
  • Publication number: 20200160087
    Abstract: Systems and methods are disclosed for image-based object detection and classification. For example, methods may include accessing an image from an image sensor; applying a convolutional neural network to the image to obtain localization data to detect an object depicted in the image and to obtain classification data to classify the object, in which the convolutional neural network has been trained in part using training images with associated localization labels and classification labels and has been trained in part using training images with associated classification labels that lack localization labels; annotating the image based on the localization data and the classification data to obtain an annotated image; and storing, displaying, or transmitting the annotated image.
    Type: Application
    Filed: January 23, 2020
    Publication date: May 21, 2020
    Inventors: Joseph Redmon, Ali Farhadi