एक ऑटोएन्कोडर बनाना
ऑटोएन्कोडर्स के कई दिलचस्प उपयोग हैं, जैसे anomaly detection या image denoising. इनका लक्ष्य इनपुट जैसा ही आउटपुट बनाना होता है. इनपुट को कम-आयामी स्पेस में कम्प्रेस किया जाता है, जिसे encode किया जाता है. फिर मॉडल उसे वापस उसके मूल रूप में decode करना सीखता है.
आप हस्तलिखित अंकों के MNIST डेटासेट को encode और decode करेंगे. हिडन लेयर इमेज का 32-डायमेंशनल निरूपण एन्कोड करेगी, जबकि मूल इमेज 784 पिक्सेल (28 x 28) की होती है. ऑटोएन्कोडर मूल 784 पिक्सेल वाली इमेज को 32 पिक्सेल की कम्प्रेस्ड इमेज में बदलना सीखेगा और फिर उसी एन्कोडेड रिप्रेजेंटेशन से मूल 784 पिक्सेल वाली इमेज को पुनः प्राप्त करना सीखेगा.
Sequential मॉडल और Dense लेयर्स आपके उपयोग के लिए तैयार हैं.
चलिए, एक ऑटोएन्कोडर बनाते हैं!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ डीप लर्निंग परिचय
अभ्यास निर्देश
- एक
Sequentialमॉडल बनाएँ. - एक dense लेयर जोड़ें, जिसमें एन्कोडेड इमेज के डायमेंशन्स जितने न्यूरॉन्स हों, और
input_shapeमें ओरिजिनल इमेज के पिक्सेल्स की संख्या दें. - एक अंतिम लेयर जोड़ें, जिसमें इनपुट इमेज के पिक्सेल्स जितने न्यूरॉन्स हों.
- अपने
autoencoderकोadadeltaoptimizer औरbinary_crossentropyloss के साथ compile करें, फिर उसका सारांश दिखाने के लिए summarize करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Start with a sequential model
autoencoder = ____
# Add a dense layer with input the original image pixels and neurons the encoded representation
autoencoder.add(____(____, input_shape=(____, ), activation="relu"))
# Add an output layer with as many neurons as the orginal image pixels
autoencoder.add(____(____, activation = "sigmoid"))
# Compile your model with adadelta
autoencoder.compile(optimizer = ____, loss = ____)
# Summarize your model structure
____