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: 11887225Abstract: 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: GrantFiled: May 4, 2021Date of Patent: January 30, 2024Assignee: Apple Inc.Inventors: Hessam Bagherinezhad, Maxwell Horton, Mohammad Rastegari, Ali Farhadi
-
Patent number: 11669585Abstract: 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: GrantFiled: June 25, 2019Date of Patent: June 6, 2023Assignee: Apple Inc.Inventors: Carlo Eduardo Cabanero del Mundo, Ali Farhadi
-
Patent number: 11657124Abstract: 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: GrantFiled: December 10, 2018Date of Patent: May 23, 2023Assignee: 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: 11625580Abstract: 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: GrantFiled: May 29, 2020Date of Patent: April 11, 2023Assignee: Apple Inc.Inventors: Mitchell Noss Wortsman, Ali Farhadi, Mohammad Rastegari
-
Patent number: 11443536Abstract: 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: GrantFiled: June 3, 2019Date of Patent: September 13, 2022Assignee: The Allen Institute for Artificial IntelligenceInventors: Ali Farhadi, Mohammad Rastegari, Vicente Ignacio Ordonez Roman
-
Publication number: 20220222550Abstract: 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: ApplicationFiled: January 24, 2022Publication date: July 14, 2022Inventors: 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: 11373393Abstract: 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: GrantFiled: January 23, 2020Date of Patent: June 28, 2022Assignee: Apple Inc.Inventors: Joseph Redmon, Ali Farhadi
-
Patent number: 11354538Abstract: 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: GrantFiled: June 22, 2020Date of Patent: June 7, 2022Assignee: Apple Inc.Inventors: Hessam Bagherinezhad, Ali Farhadi, Mohammad Rastegari
-
Patent number: 11335094Abstract: 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: GrantFiled: August 13, 2019Date of Patent: May 17, 2022Assignee: Apple Inc.Inventors: Maxwell Christian Horton, Ali Farhadi
-
Patent number: 11263540Abstract: 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: GrantFiled: May 6, 2019Date of Patent: March 1, 2022Assignee: 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: 20210264211Abstract: 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: ApplicationFiled: May 4, 2021Publication date: August 26, 2021Inventors: Hessam BAGHERINEZHAD, Maxwell HORTON, Mohammad RASTEGARI, Ali FARHADI
-
Patent number: 11030486Abstract: 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: GrantFiled: April 16, 2019Date of Patent: June 8, 2021Assignee: XNOR.ai, Inc.Inventors: Hessam Bagherinezhad, Maxwell Horton, Mohammad Rastegari, Ali Farhadi
-
Publication number: 20210049366Abstract: 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: ApplicationFiled: August 13, 2019Publication date: February 18, 2021Inventors: Maxwell Christian Horton, Ali Farhadi
-
Publication number: 20200410318Abstract: 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: ApplicationFiled: June 25, 2019Publication date: December 31, 2020Inventors: Carlo Eduardo Cabanero del Mundo, Ali Farhadi
-
Publication number: 20200387776Abstract: 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: ApplicationFiled: June 3, 2020Publication date: December 10, 2020Inventors: Ali FARHADI, Mohammad RASTEGARI
-
Publication number: 20200380342Abstract: 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: ApplicationFiled: May 29, 2020Publication date: December 3, 2020Inventors: Mitchell Noss WORTSMAN, Ali FARHADI, Mohammad RASTEGARI
-
Publication number: 20200364499Abstract: 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: ApplicationFiled: June 22, 2020Publication date: November 19, 2020Inventors: Hessam BAGHERINEZHAD, Ali FARHADI, Mohammad RASTEGARI
-
Patent number: 10691975Abstract: 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: GrantFiled: July 17, 2018Date of Patent: June 23, 2020Assignee: XNOR.AI, INC.Inventors: Hessam Bagherinezhad, Ali Farhadi, Mohammad Rastegari
-
Publication number: 20200184037Abstract: 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: ApplicationFiled: December 10, 2018Publication date: June 11, 2020Inventors: Peter Zatloukal, Matthew Weaver, Alexander Kirchhoff, Dmitry Belenko, Ali Farhadi, Mohammad Rastegari, Andrew Luke Chronister, Keith Patrick Wyss, Chenfan Sun
-
Publication number: 20200160087Abstract: 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: ApplicationFiled: January 23, 2020Publication date: May 21, 2020Inventors: Joseph Redmon, Ali Farhadi