क्या TensorFlow एक पूरी मशीन लर्निंग लाइब्रेरी है?


11

मैं TensorFlow में नया हूं और मुझे इसका उपयोग करने से पहले TensorFlow की क्षमताओं और कमियों को समझना होगा। मुझे पता है कि यह एक गहरा सीखने का ढांचा है, लेकिन इसके अलावा जो अन्य मशीन लर्निंग एल्गोरिदम हैं, जिनका उपयोग हम टेंसर प्रवाह के साथ कर सकते हैं। उदाहरण के लिए क्या हम TensorFlow का उपयोग करके SVM ​​या यादृच्छिक जंगलों का उपयोग कर सकते हैं? (मुझे पता है यह पागल लगता है)

संक्षेप में, मैं जानना चाहता हूं कि TensorFlow द्वारा कौन सी मशीन लर्निंग एल्गोरिदम का समर्थन किया जाता है। क्या यह सिर्फ गहरी सीख है या कुछ और है?


1
TensorFlow में कार्यान्वित सपोर्ट वेक्टर मशीन: github.com/AidanGG/tensorflow_tmva/wiki/Support-Vector-Machine
नील स्लेटर

3
बस यह सुनिश्चित करने के लिए: TensorFlow एक गहन शिक्षण पुस्तकालय नहीं है। केरस (जो बैकेंड के रूप में टेंसोरफ्लो का उपयोग कर सकते हैं) ऐसी लाइब्रेरी है। TensorFlow कई हार्डवेयर (CPU, GPU और अन्य) पर उन्हें निष्पादित करने के लिए भारी संगणना (एक कम्प्यूटेशनल ग्राफ का उपयोग करके) को संभालने का एक स्मार्ट तरीका है।
रॉबिन

जवाबों:


15

यह एक बड़ा निरीक्षण है, लेकिन आज अनिवार्य रूप से दो प्रकार की मशीन लर्निंग लाइब्रेरी उपलब्ध हैं:

  1. डीप लर्निंग (CNN, RNN, पूरी तरह से जुड़े जाल, रैखिक मॉडल)
  2. बाकी सब कुछ (SVM, GBM, रैंडम फ़ॉरेस्ट्स, Naive Bayes, K-NN, आदि)

इसका कारण यह है कि गहन शिक्षण अन्य पारंपरिक प्रशिक्षण विधियों की तुलना में बहुत अधिक कम्प्यूटेशनल रूप से गहन है, और इसलिए उन्हें पुस्तकालय के गहन विशेषज्ञता की आवश्यकता होती है (उदाहरण के लिए, GPU और वितरित क्षमताओं का उपयोग करके)। यदि आप पायथन का उपयोग कर रहे हैं और एल्गोरिदम की सबसे बड़ी चौड़ाई के साथ एक पैकेज की तलाश कर रहे हैं, तो स्किकिट-सीखें। वास्तव में, यदि आप गहरी शिक्षा और अधिक पारंपरिक तरीकों का उपयोग करना चाहते हैं तो आपको एक से अधिक पुस्तकालय का उपयोग करने की आवश्यकता होगी। कोई "पूर्ण" पैकेज नहीं है।


1
क्या यह जवाब दो साल बाद भी मान्य है? ऐसा लग रहा है कि TensorFlow तब से बहुत बड़ा हो गया है।
जॉन सुलिवन

7

TensorFlow को विशेष रूप से गहरी सीखने के लिए संकेत दिया गया है, जिसमें बहुत सारी परतें और अजीब टोपोलॉजी वाले तंत्रिका नेटवर्क हैं।

बस। यह थीनो का एक विकल्प है , लेकिन Google द्वारा विकसित किया गया है।

TensorFlow और Theano दोनों में, आप प्रतीकात्मक रूप से कार्यक्रम करते हैं। आप अपने तंत्रिका नेटवर्क को अल्जीबरीक ऑपरेशन के रूप में परिभाषित करते हैं (इन नोड्स को इन वज़न से गुणा किया जाता है और फिर एक गैर-रेखीय परिवर्तन लागू किया जाता है, bla bla bla), जो आंतरिक रूप से एक ग्राफ द्वारा दर्शाया जाता है (जो TensorFlow के मामले में, लेकिन थीनो नहीं, आप वास्तव में अपने तंत्रिका नेटवर्क को डिबग करने के लिए देख सकते हैं)।

फिर, TensorFlow (या Theano) अनुकूलन एल्गोरिदम प्रदान करते हैं जो यह पता लगाने के भारी काम करते हैं कि आप जो भी लागत फ़ंक्शन को कम करना चाहते हैं उसे कम से कम क्या होगा। यदि आपका तंत्रिका नेटवर्क एक प्रतिगमन समस्या को हल करने के लिए है, तो आप अनुमानित मूल्यों और सच्चे मूल्यों के बीच चुकता अंतर की राशि को कम करना चाह सकते हैं। TensorFlow आपके लागत फ़ंक्शन और उस सभी को अलग करने का भारी काम करता है।

EDIT: उल्लेख करना भूल गया कि, बेशक, SVM को एक प्रकार के तंत्रिका नेटवर्क के रूप में देखा जा सकता है , इसलिए, जाहिर है, आप TensorFlow अनुकूलन उपकरणों का उपयोग करके एक SVM को प्रशिक्षित कर सकते हैं। लेकिन TensorFlow केवल ग्रेडिएंट डीसेंट-बेस्ड ऑप्टिमाइज़र के साथ आता है जो कि SVM को प्रशिक्षित करने के लिए उपयोग करने के लिए थोड़ा बेवकूफ हैं जब तक कि आपके पास बहुत सारी टिप्पणियां नहीं हैं, क्योंकि SVM के लिए विशिष्ट ऑप्टिमाइज़र हैं जो स्थानीय मिनीमा में अटक नहीं जाते हैं।

इसके अलावा, शायद उल्लेख के लायक है, कि TensorFlow और Theano बहुत कम स्तर के ढांचे हैं। अधिकांश लोग उन चौखटों का उपयोग करते हैं जो उनके ऊपर बने होते हैं, और उपयोग करने में आसान होते हैं। मैं यहां कोई भी सुझाव नहीं दूंगा, क्योंकि यह अपनी चर्चा उत्पन्न करेगा। पैकेज का उपयोग करने के लिए आसान के लिए यहां सुझाव देखें ।


1
Theano Google द्वारा विकसित नहीं किया गया है। उनकी वेबसाइट के अनुसार , यह "मुख्य रूप से शिक्षाविदों द्वारा विकसित किया गया है।" Tensorflow Google द्वारा विकसित किया गया था ।
डेण्टिस्टन

1
@ डेंटिस्टन हां, मुझे पता है। मेरे कहने का मतलब है "TensorFlow Theano का एक विकल्प है और TensorFlow Google द्वारा विकसित किया गया है"। मैं TensorFlow की बात कर रहा था, थीनो की नहीं। बुरा लग रहा है, क्षमा करें।
रिकार्डो क्रूज़

5

रेयान ज़ोटी एक अच्छा जवाब देता है, लेकिन यह बदल रहा है। के अलावा के साथ रैंडम वन , ढाल बढ़ाने , और करने के लिए बायेसियन तरीकों TensorFlow, यह एक वन-स्टॉप समाधान बनने के दिशा में आगे बढ़ रहा है। अधिक पारंपरिक एल्गोरिदम यहां सूचीबद्ध हैं । TensorFlow के पास विशेष रूप से वादा है, क्योंकि यह अच्छी तरह से पैमाने पर बनाया गया है और GPU संचालन का समर्थन करता है। हालांकि, scikit learnपारंपरिक वन-स्टॉप शॉप है जहां आप कई मानक एल्गोरिदम पा सकते हैं। वे आम तौर पर नवीनतम और महान नहीं होते हैं, इसलिए आप विशेष रूप से पुस्तकालयों के लिए भी चाहेंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.