रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर
एन्कोडर-डिकोडर आर्किटेक्चर, bottleneck, reconstruction loss और anomaly detection में अनुप्रयोग।
रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
ऑटोएन्कोडर क्या है?
ऑटोएन्कोडर डेटा को एक छोटे कोड में संपीड़ित करना और फिर उसे पुनर्निर्मित करना सीखता है। इसके दो हिस्से होते हैं: एक एनकोडर, जो संपीड़ित करता है, और एक डिकोडर, जो पुनर्निर्माण करता है। बीच का यह संकुचन नेटवर्क को महत्वपूर्ण बातों को सीखने के लिए बाध्य करता है।
import torch
import torch.nn as nnबॉटलनेक की अवधारणा
बीच की संकरी परत को बॉटलनेक या गुप्त कोड कहते हैं। सारी जानकारी को कुछ ही संख्याओं से प्रवाहित करने पर नेटवर्क को शोर हटाकर डेटा की आवश्यक संरचना बनाए रखनी पड़ती है।
एनकोडर बनाना
28x28 चित्रों (784 पिक्सेल) के लिए एनकोडर इनपुट का आकार चरण-दर-चरण घटाता है: 784 से 256 और फिर 64-आयामी गुप्त कोड तक। प्रत्येक Linear परत के बाद ReLU अरेखीयता आती है।
encoder = nn.Sequential(
nn.Linear(784, 256),
nn.ReLU(),
nn.Linear(256, 64)
)डिकोडर बनाना
डिकोडर एन्कोडर की संरचना का अनुसरण करता है और 64-आयामी कोड को फिर से 784 पिक्सेल में विस्तारित करता है। अंतिम Sigmoid आउटपुट को [0,1] तक सीमित करता है, ताकि वे सामान्यीकृत पिक्सेल मानों से मेल खाएँ।
decoder = nn.Sequential(
nn.Linear(64, 256),
nn.ReLU(),
nn.Linear(256, 784),
nn.Sigmoid()
)पूर्ण ऑटोएन्कोडर
एन्कोडर और डिकोडर को एक ही मॉड्यूल में जोड़िए। forward pass पहले एन्कोड करता है और फिर डिकोड करता है, जिससे input के समान आकार का पुनर्निर्माण प्राप्त होता है।
class AutoEncoder(nn.Module):
def __init__(self, enc, dec):
super().__init__()
self.enc, self.dec = enc, dec
def forward(self, x):
z = self.enc(x)
return self.dec(z)पुनर्निर्माण हानि (MSE)
प्रशिक्षण का लक्ष्य स्वयं input होता है। माध्य वर्ग त्रुटि यह मापती है कि पुनर्निर्माण मूल पिक्सेल से पिक्सेल-दर-पिक्सेल कितना अलग है। इसे न्यूनतम करने से डेटा का विश्वसनीय संपीड़न सीखा जाता है।
criterion = nn.MSELoss()
x_flat = x.view(x.size(0), -1)
recon = model(x_flat)
loss = criterion(recon, x_flat)ऑटोएन्कोडर का प्रशिक्षण
प्रशिक्षण पर्यवेक्षण-विहीन होता है: इसमें कोई लेबल नहीं, केवल input होते हैं। लूप में मानक zero_grad, forward, backward, step का उपयोग होता है, लेकिन हानि output की तुलना input से करती है।
optimizer.zero_grad()
recon = model(x_flat)
loss = criterion(recon, x_flat)
loss.backward()
optimizer.step()गुप्त स्थान
प्रशिक्षण के बाद, एन्कोडर प्रत्येक input को गुप्त स्थान के एक बिंदु में बदल देता है। समान input एक-दूसरे के पास स्थित होते हैं, इसलिए यह 64-आयामी कोड डेटा का सीखा हुआ, संक्षिप्त निरूपण होता है।
z = model.enc(x_flat)
print(z.shape) # [batch, 64]t-SNE से दृश्यांकन
64-आयामी गुप्त स्थान को देखना कठिन होता है। t-SNE इसे आलेख बनाने के लिए 2D में प्रक्षेपित करता है। आलेख में बने समूह दिखाते हैं कि ऑटोएन्कोडर ने लेबल देखे बिना समान वस्तुओं को एक साथ समूहित करना सीख लिया।
from sklearn.manifold import TSNE
codes = model.enc(all_data).detach().numpy()
proj = TSNE(n_components=2).fit_transform(codes)
# scatter plot proj colored by true labelअसामान्यता का पता लगाना
सामान्य डेटा पर प्रशिक्षित ऑटोएन्कोडर उसका अच्छी तरह पुनर्निर्माण करता है, लेकिन ऐसी असामान्यताओं के साथ कठिनाई होती है जिन्हें उसने पहले कभी नहीं देखा। उच्च पुनर्निर्माण त्रुटि बाहरी मान की पहचान करती है और एक शक्तिशाली पर्यवेक्षण-विहीन असामान्यता पहचानक का काम करती है।
errors = ((model(data) - data) ** 2).mean(dim=1)
anomalies = errors > thresholdनिरूपण सीखना क्यों?
वास्तविक लाभ गुप्त कोड है: सीखा हुआ विशेषता सदिश, जिसका उपयोग आप समूहकरण, दृश्यांकन, असामान्यता का पता लगाने या किसी अन्य मॉडल के input के रूप में कर सकते हैं—और यह सब बिना लेबल के सीखा जाता है।
त्वरित जाँच
अपने ऑटोएन्कोडर संबंधी ज्ञान की जाँच कीजिए।
पुनरावलोकन: ऑटोएन्कोडर
आपने एक एन्कोडर (784 से 256 से 64) और उसकी संरचना का अनुसरण करने वाला डिकोडर बनाया, जिसे MSE पुनर्निर्माण हानि के साथ बिना लेबल के प्रशिक्षित किया। आपने निरूपण सीखने के लिए गुप्त कोड का उपयोग किया, उसे t-SNE से दृश्यांकित किया और उच्च पुनर्निर्माण त्रुटि के माध्यम से असामान्यताओं का पता लगाया।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 53
- पाठ
- 225
अक्सर पूछे जाने वाले प्रश्न
क्या “रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर” पाठ निःशुल्क है?
हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर” में मैं क्या सीखूँगा?
एन्कोडर-डिकोडर आर्किटेक्चर, bottleneck, reconstruction loss और anomaly detection में अनुप्रयोग। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- रिप्रेज़ेंटेशन लर्निंग के लिए ऑटोएन्कोडर
- Variational Autoencoders (VAE)
- GANs: जनरेटर और डिस्क्रिमिनेटर
- Conditional GANs और स्टाइल ट्रांसफ़र