Hierarchical branching deep convolutional neural networks (HD-CNNs) improve existing convolutional neural network (CNN) technology. In a HD-CNN, classes that can be easily distinguished are classified in a higher layer coarse category CNN, while the most difficult classifications are done on lower layer fine category CNNs. Multinomial logistic loss and a novel temporal sparsity penalty may be used in HD-CNN training. The use of multinomial logistic loss and a temporal sparsity penalty causes each branching component to deal with distinct subsets of categories.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A system comprising: a coarse category identification module configured to: access a dataset comprising categorized data having a number of fine categories; identify a number of coarse categories, the number of coarse categories being less than the number of fine categories; and determine, for each fine category, an associated coarse category; a pretrain module configured to: train a base convolutional neural network (CNN) to distinguish between coarse categories; and train a fine CNN for each coarse category, the fine CNN for said coarse category to distinguish between the fine categories associated with said coarse category; and a classification module configured to: receive a request to classify data; using the base CNN, determine a coarse category of the data; using the fine CNN for the determined coarse category, determine a fine category of the data; and responsive to the request, transmit the fine category of the data. 2. The system of claim 1, wherein the coarse category identification module is further configured to: divide the dataset into a training set and a value set; train a first CNN model using the training set; and generate a confusion matrix of the first CNN model using the value set; and wherein the determining, for each fine category, the associated coarse category comprises applying the affinity propagation algorithm to the confusion matrix. 3. The system of claim 2, wherein the coarse category identification module is further configured to: obtain low-dimensional feature representations for the fine categories using a Laplacian eigenmap. 4. The system of claim 2, wherein the training module is configured to train the fine CNN for each coarse category using operations comprising: training a second CNN model using the training set; generating the fine CNN for each coarse category from the second CNN; and training the fine CNN for each coarse category using a subset of the training set, the subset excluding data having fine categories not associated with said coarse category. 5. The system of claim 1, wherein: the pretrain module is further configured to combine the CNN to distinguish between coarse categories with each of the CNNs to distinguish between the fine categories to form a hierarchically deep CNN (HD-CNN); and the system further comprises a fine-tune module configured to fine-tune the HD-CNN. 6. The system of claim 5, wherein the fine-tune module is configured to fine-tune the HD-CNN using operations comprising: beginning the fine-tuning with a learning factor; training the HD-CNN by iterating over a series of training batches using the learning factor; after each iteration, comparing a training error for the training batch to a threshold; determining, based on the comparison, that the training error for the training batch is below the threshold; and in response to the determination that the training error for the training batch is below the threshold, modifying the learning factor. 7. The system of claim 5, wherein the fine-tune module is configured to fine-tune the HD-CNN using operations comprising: applying a temporal sparsity element in the evaluation of each of the CNNs to distinguish between the fine categories. 8. The system of claim 1, wherein the dataset comprising the categorized data comprises categorized images. 9. A method comprising: accessing a dataset comprising categorized data having a number of fine categories; identifying a number of coarse categories, the number of coarse categories being less than the number of fine categories; determining, for each fine category, an associated coarse category; training a base convolutional neural network (CNN) to distinguish between coarse categories, the base CNN implemented by a processor of a machine; training a fine CNN for each coarse category, the fine CNN for said coarse category to distinguish between the fine categories associated with said coarse category; receiving a request to classify data; using the base CNN, determining a coarse category of the data; using the fine CNN for the determined coarse category, determining a fine category of the data; and responsive to the request, transmitting the fine category of the data. 10. The method of claim 9, further comprising: dividing the dataset into a training set and a value set; training a first CNN model using the training set; and generating a confusion matrix of the first CNN model using the value set; and wherein the determining, for each fine category, the associated coarse category comprises applying an affinity propagation algorithm to the confusion matrix. 11. The method of claim 10, further comprising obtaining low-dimensional feature representations for the fine categories using a Laplacian eigenmap. 12. The method of claim 10, wherein the training of the fine CNN for each coarse category comprises: training a second CNN model using the training set; generating the fine CNN for each coarse category from the second CNN; and training the fine CNN for each coarse category using a subset of the training set, the subset excluding data having fine categories not associated with said coarse category. 13. The method of claim 9, further comprising: combining the base CNN with each of the fine CNNs to form a hierarchically deep CNN (HD-CNN); and fine-tuning the HD-CNN. 14. The method of claim 13, wherein the fine-tuning of the HD-CNN includes: beginning the fine-tuning with a learning factor; training the HD-CNN by iterating over a series of training batches using the learning factor; after each iteration, comparing a training error for the training batch to a threshold; determining, based on the comparison, that the training error for the training batch is below the threshold; and in response to the determination that the training error for the training batch is below the threshold, modifying the learning factor. 15. The method of claim 13, wherein the fine-tuning of the HD-CNN by the fine-tune module includes: applying a temporal sparsity element in an evaluation of each of the CNNs to distinguish between the fine categories. 16. The method of claim 9, wherein the dataset comprising the categorized data comprises categorized images. 17. A non-transitory machine-readable medium having instructions embodied thereon, the instructions executable by a processor of a machine to perform operations comprising: accessing a dataset comprising categorized data having a number of fine categories; identifying a number of coarse categories, the number of coarse categories being less than the number of fine categories; determining, for each fine category, an associated coarse category; training a base convolutional neural network (CNN) to distinguish between coarse categories, the CNN implemented by a processor of a machine; training a fine CNN for each coarse category, the fine CNN for said coarse category to distinguish between the fine categories associated with said coarse category; receiving a request to classify data; using the base CNN, determining a coarse category of the data; using the fine CNN for the determined coarse category, determining a fine category of the data; and responsive to the request, transmitting the fine category of the data. 18. The non-transitory machine-readable medium of claim 17, wherein the operations further comprise: dividing the dataset into a training set and a value set; training a first CNN model using the training set; and generating a confusion matrix of the first CNN model using the value set; and wherein the determining, for each fine category, the associated coarse category comprises applying an affinity propagation algorithm to the confusion matrix. 19. The non-transitory machine-readable medium of claim 18, wherein the operations further comprise: obtaining low-dimensional feature representations for the fine categories using a Laplacian eigenmaps. 20. The non-transitory machine-readable medium of claim 18, wherein the training of the fine CNN for each coarse category comprises: training a second CNN model using the training set; generating the fine CNN for each coarse category from the second CNN model; and training the fine CNN for each coarse category using a subset of the training set, the subset excluding data having fine categories not associated with said coarse category.