जब एक पेपर लिखना / किसी विषय के बारे में प्रस्तुति देना जो तंत्रिका नेटवर्क के बारे में है, तो आमतौर पर नेटवर्क वास्तुकला की कल्पना करता है।
स्वचालित रूप से सामान्य आर्किटेक्चर की कल्पना करने के अच्छे / सरल तरीके क्या हैं?
जब एक पेपर लिखना / किसी विषय के बारे में प्रस्तुति देना जो तंत्रिका नेटवर्क के बारे में है, तो आमतौर पर नेटवर्क वास्तुकला की कल्पना करता है।
स्वचालित रूप से सामान्य आर्किटेक्चर की कल्पना करने के अच्छे / सरल तरीके क्या हैं?
जवाबों:
यदि न्यूरल नेटवर्क को टेन्सरफ्लो ग्राफ के रूप में दिया जाता है, तो आप इस ग्राफ को टेंसोरबोर्ड के साथ देख सकते हैं ।
यहाँ कैसे MNIST CNN दिखता है:
आप नाम / स्कोप (जैसे "ड्रॉपआउट", "सॉफ्टमैक्स", "fc1", "conv1", "conv2") स्वयं जोड़ सकते हैं।
निम्नलिखित केवल बाएं ग्राफ के बारे में है। मैं सही आधे पर 4 छोटे रेखांकन को अनदेखा करता हूं।
प्रत्येक बॉक्स मापदंडों के साथ एक परत है जिसे सीखा जा सकता है। अनुमान के लिए, जानकारी नीचे से ऊपर की ओर बहती है। एलिप्स वे परतें होती हैं जिनमें सीखा हुआ पैरामीटर नहीं होता है।
बक्सों के रंग का कोई अर्थ नहीं है।
मुझे धराशायी छोटे बक्से ("ग्रेडिएंट्स", "एडम", "सेव") के मूल्य पर यकीन नहीं है।
मैंने हाल ही में एनएन आर्किटेक्चर को आकर्षित करने और एसवीजी के निर्यात के लिए एक उपकरण बनाया है, जिसे एनएन-एसवीजी कहा जाता है
Caffe में आप NetParameter प्रोटोबफ़र खींचने के लिए caffe / draw.py का उपयोग कर सकते हैं :
मतलाब में, आप दृश्य (नेट) का उपयोग कर सकते हैं
Keras.js :
मैं केआरएस-अनुक्रमिक-एससीआई (अस्वीकरण: मैं लेखक हूं) का उपयोग करके एएससीआईआई विज़ुअलाइज़ेशन जोड़ूंगा ।
CIFAR-10 ( इस ट्यूटोरियल से ) के लिए एक छोटा नेटवर्क होगा:
OPERATION DATA DIMENSIONS WEIGHTS(N) WEIGHTS(%)
Input ##### 32 32 3
Conv2D \|/ ------------------- 896 2.1%
relu ##### 30 30 32
MaxPooling2D Y max ------------------- 0 0.0%
##### 15 15 32
Conv2D \|/ ------------------- 18496 43.6%
relu ##### 13 13 64
MaxPooling2D Y max ------------------- 0 0.0%
##### 6 6 64
Flatten ||||| ------------------- 0 0.0%
##### 2304
Dense XXXXX ------------------- 23050 54.3%
softmax ##### 10
VGG16 के लिए यह होगा:
OPERATION DATA DIMENSIONS WEIGHTS(N) WEIGHTS(%)
Input ##### 3 224 224
InputLayer | ------------------- 0 0.0%
##### 3 224 224
Convolution2D \|/ ------------------- 1792 0.0%
relu ##### 64 224 224
Convolution2D \|/ ------------------- 36928 0.0%
relu ##### 64 224 224
MaxPooling2D Y max ------------------- 0 0.0%
##### 64 112 112
Convolution2D \|/ ------------------- 73856 0.1%
relu ##### 128 112 112
Convolution2D \|/ ------------------- 147584 0.1%
relu ##### 128 112 112
MaxPooling2D Y max ------------------- 0 0.0%
##### 128 56 56
Convolution2D \|/ ------------------- 295168 0.2%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
MaxPooling2D Y max ------------------- 0 0.0%
##### 256 28 28
Convolution2D \|/ ------------------- 1180160 0.9%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 7 7
Flatten ||||| ------------------- 0 0.0%
##### 25088
Dense XXXXX ------------------- 102764544 74.3%
relu ##### 4096
Dense XXXXX ------------------- 16781312 12.1%
relu ##### 4096
Dense XXXXX ------------------- 4097000 3.0%
softmax ##### 1000
नेट्रॉन नामक एक ओपन सोर्स प्रोजेक्ट है
नेट्रॉन न्यूरल नेटवर्क, डीप लर्निंग और मशीन लर्निंग मॉडल के लिए एक दर्शक है।
नेट्रॉन ONNX (.onnx, .pb), केरस (.h5, .keras), कोरमल (.mlmodel) और टेन्सरफ्लो लाइट (.tflite) का समर्थन करता है। Netron को Caffe (.caffemodel), Caffe2 (predict_net.pb), MXNet (-symbol.json), TensorFlow.js (model.json, .pb) और TensorFlow (.pb, .meta) के लिए प्रयोगात्मक समर्थन प्राप्त है।
Keras
Keras.utils.vis_utils मॉड्यूल एक (Graphviz का प्रयोग करके) Keras मॉडल साजिश उपयोगिता कार्य प्रदान
निम्नलिखित एक नेटवर्क मॉडल दिखाता है कि पहली छिपी हुई परत में 50 न्यूरॉन्स होते हैं और 104 इनपुट चर की अपेक्षा करते हैं।
plot_model(model, to_file='model.png', show_shapes=True, show_layer_names=True)
पायथन पैकेज इस तरह एसवीजी, पीएनजी, या पीआईएल छवियों का उत्पादन करने के लिए conx
फ़ंक्शन के साथ सक्रियण नेटवर्क की कल्पना कर सकता है net.picture()
:
कॉनक्स केरस पर बनाया गया है, और केरस के मॉडल में पढ़ सकते हैं। प्रत्येक बैंक के कॉलॉरम को बदला जा सकता है, और यह सभी बैंक प्रकार दिखा सकता है।
अधिक जानकारी यहां पाई जा सकती है: http://conx.readthedocs.io/en/latest/
मैं एक ड्रैग-एंड-ड्रॉप न्यूरल नेटवर्क विज़ुअलाइज़र (और अधिक) पर काम कर रहा हूं। यहाँ LeNet जैसी वास्तुकला के लिए एक दृश्य का एक उदाहरण है। फैन-आउट और फैन-इन वाले मॉडल भी काफी आसानी से मॉडल किए जाते हैं। आप वेबसाइट https://math.mit.edu/ennui/ पर जा सकते हैं
आर में, nnet
एक प्लॉट फ़ंक्शन के साथ नहीं आता है, लेकिन उसके लिए कोड यहां प्रदान किया गया है ।
वैकल्पिक रूप से, आप और अधिक हाल और IMHO बेहतर पैकेज बुलाया उपयोग कर सकते हैं neuralnet
जो एक सुविधाओं plot.neuralnet
समारोह है, तो आप सिर्फ कर सकते हैं:
data(infert, package="datasets")
plot(neuralnet(case~parity+induced+spontaneous, infert))
neuralnet
ज्यादा पुराना होने के nnet
कारण nnet
इसका उपयोग नहीं किया जाता है और इसे आर-क्रैन के साथ भेज दिया जाता है। लेकिन neuralnet
सहित अधिक प्रशिक्षण एल्गोरिदम, है लचीला backpropagation जो Tensorflow तरह संकुल में भी कमी है, और विकल्प hyperparameter करने के लिए बहुत अधिक मजबूत है, और अधिक सुविधाओं के समग्र है।
तंत्रिका नेटवर्क विज़ुअलाइज़ेशन पर कुछ उपन्यास वैकल्पिक प्रयास हैं।
कृपया ये लेख देखें:
तेजस्वी 'एआई ब्रेन स्कैन' से पता चलता है कि नए कौशल सीखने के दौरान कौन सी मशीनें देखती हैं
एक AI 'मस्तिष्क' के अंदर - मशीन लर्निंग क्या दिखता है?
ये दृष्टिकोण तंत्रिका नेटवर्क ऑपरेशन की कल्पना करने के लिए अधिक उन्मुख हैं, हालांकि, एनएन वास्तुकला भी परिणामस्वरूप आरेखों पर कुछ हद तक दिखाई देता है।
उदाहरण:
कागजात के लिए प्रति निफ्टी नहीं, लेकिन उन लोगों को दिखाने के लिए बहुत उपयोगी है जो तंत्रिका नेटवर्क के बारे में बहुत कुछ नहीं जानते हैं कि उनकी टोपोलॉजी क्या दिख सकती है। यह जावास्क्रिप्ट लाइब्रेरी (Neataptic) आपको अपने नेटवर्क की कल्पना करने देता है:
आप डीप विज़ुअलाइज़ेशन के माध्यम से लोकप्रिय पेपर अंडरस्टैंडिंग न्यूरल नेटवर्क्स को पढ़ सकते हैं जो कि कंसट्रक्शनल नेट के विज़ुअलाइज़ेशन पर चर्चा करता है। इसका कार्यान्वयन न केवल प्रत्येक परत को प्रदर्शित करता है, बल्कि सक्रियण, वज़न, डेकोनोवोल्यूशन और कई अन्य चीजों को दर्शाता है जो कागज में गहराई से चर्चा करते हैं। यह कोड में है caffe'
। दिलचस्प हिस्सा यह है कि आप पूर्व-प्रशिक्षित मॉडल को अपने साथ बदल सकते हैं।
Tensorspace-JS नेटवर्क वास्तुकला के 3 डी दृश्य के लिए एक शानदार उपकरण है:
और यहाँ कैसे एक कार्यक्रम लिखने के बारे में एक अच्छी पोस्ट है: