TensorFlow est particulièrement indiqué pour l'apprentissage en profondeur, c'est-à-dire les réseaux de neurones avec beaucoup de couches et des topologies étranges.
C'est ça. C'est une alternative à Theano , mais développée par Google.
Dans TensorFlow et Theano, vous programmez symboliquement. Vous définissez votre réseau neuronal sous la forme d'opérations algeabreic (ces nœuds sont multipliés par ces poids puis une transformation non linéaire est appliquée, bla bla bla), qui sont représentés en interne par un graphique (qui dans le cas de TensorFlow, mais pas Theano, vous pouvez réellement voir pour déboguer votre réseau de neurones).
Ensuite, TensorFlow (ou Theano) propose des algorithmes d'optimisation qui font le gros du travail pour déterminer quels poids minimisent la fonction de coût que vous souhaitez minimiser. Si votre réseau de neurones est destiné à résoudre un problème de régression, vous souhaiterez peut-être minimiser la somme des différences au carré entre les valeurs prédites et les vraies valeurs. TensorFlow fait le gros travail de différenciation de votre fonction de coût et tout cela.
EDIT: J'ai oublié de mentionner que, bien sûr, les SVM peuvent être considérés comme un type de réseau neuronal , donc évidemment, vous pouvez former un SVM à l'aide des outils d'optimisation TensorFlow. Mais TensorFlow n'est livré qu'avec des optimiseurs basés sur la descente de gradient qui sont un peu stupides à utiliser pour entraîner un SVM, sauf si vous avez beaucoup d'observations, car il existe des optimiseurs spécifiques pour SVM qui ne restent pas coincés dans les minima locaux.
En outre, il convient probablement de mentionner que TensorFlow et Theano sont des cadres assez bas niveau. La plupart des gens utilisent des frameworks construits sur eux et plus faciles à utiliser. Je ne proposerai rien ici, car cela générerait sa propre discussion. Voir ici les suggestions de packages faciles à utiliser.