Recurrent Neural Networks

इंटरमीडिएट Deep Learning with PyTorch

Michal Oleszak

Machine Learning Engineer

Recurrent neuron

  • फीड-फॉरवर्ड नेटवर्क्स
  • RNNs: बैक की ओर कनेक्शन होते हैं
  • रिकरेंट न्यूरॉन:
    • इनपुट x
    • आउटपुट y
    • हिडन स्टेट h
  • PyTorch में: nn.RNN()

साधारण RNN न्यूरॉन का schema: वेट्स और एक्टिवेशन लगाता न्यूरॉन इनपुट x लेता है और आउटपुट y व h बनाता है, जहाँ h खुद में फीडबैक होता है.

इंटरमीडिएट Deep Learning with PyTorch

समय के साथ रिकरेंट न्यूरॉन को अनरोल करना

रिकरेंट न्यूरॉन का schema. टाइम स्टेप 0 पर, यह h0 और x0 लेता है, और y0 व h1 देता है.

इंटरमीडिएट Deep Learning with PyTorch

समय के साथ रिकरेंट न्यूरॉन को अनरोल करना

रिकरेंट न्यूरॉन का schema. टाइम स्टेप 1 पर, यह h1 और x1 लेता है, और y1 देता है.

इंटरमीडिएट Deep Learning with PyTorch

समय के साथ रिकरेंट न्यूरॉन को अनरोल करना

रिकरेंट न्यूरॉन का schema. टाइम स्टेप 2 पर, यह h2 और x2 लेता है, और y2 व h3 देता है.

इंटरमीडिएट Deep Learning with PyTorch

Deep RNNs

दो रिकरेंट न्यूरॉनों की एक लेयर का schema. हर टाइम स्टेप पर, आउटपुट y दूसरे न्यूरॉन को पास होते हैं.

इंटरमीडिएट Deep Learning with PyTorch

Sequence-to-sequence आर्किटेक्चर

  • सिक्वेंस को इनपुट दें, पूरी आउटपुट सिक्वेंस उपयोग करें
  • उदाहरण: रियल-टाइम स्पीच रिकग्निशन

आर्किटेक्चर schema: हर टाइम स्टेप पर नया इनपुट आता है, और हर स्टेप के y आउटपुट हरे रंग में उपयोग किए गए दिखते हैं,

इंटरमीडिएट Deep Learning with PyTorch

Sequence-to-vector आर्किटेक्चर

  • सिक्वेंस को इनपुट दें, सिर्फ आखिरी आउटपुट उपयोग करें
  • उदाहरण: टेक्स्ट टॉपिक क्लासिफिकेशन

आर्किटेक्चर schema: हर टाइम स्टेप पर नया इनपुट आता है, और केवल आखिरी स्टेप का y आउटपुट हरे रंग में उपयोग दिखता है,

इंटरमीडिएट Deep Learning with PyTorch

Vector-to-sequence आर्किटेक्चर

  • एकल इनपुट दें, पूरी आउटपुट सिक्वेंस उपयोग करें
  • उदाहरण: टेक्स्ट जनरेशन

आर्किटेक्चर schema: सिर्फ पहले टाइम स्टेप पर एक इनपुट है, जबकि हर स्टेप के सभी y आउटपुट हरे रंग में उपयोग दिखते हैं,

इंटरमीडिएट Deep Learning with PyTorch

Encoder-decoder आर्किटेक्चर

  • पूरी इनपुट सिक्वेंस पास करें, फिर आउटपुट सिक्वेंस उपयोग शुरू करें
  • उदाहरण: Machine Learning अनुवाद

आर्किटेक्चर schema: पहले भाग (encoder) में हर टाइम स्टेप पर इनपुट मिलते हैं पर आउटपुट अनदेखे रहते हैं; दूसरे भाग (decoder) में इनपुट नहीं मिलते, पर हर स्टेप के सभी आउटपुट उपयोग होते हैं.

इंटरमीडिएट Deep Learning with PyTorch

PyTorch में RNN

class Net(nn.Module):
    def __init__(self):
        super().__init__()

self.rnn = nn.RNN( input_size=1, hidden_size=32, num_layers=2, batch_first=True, )
self.fc = nn.Linear(32, 1)
def forward(self, x): h0 = torch.zeros(2, x.size(0), 32)
out, _ = self.rnn(x, h0)
out = self.fc(out[:, -1, :]) return out
  • __init__ मेथड के साथ मॉडल क्लास परिभाषित करें
  • रिकरेंट लेयर self.rnn परिभाषित करें
  • लीनियर लेयर fc परिभाषित करें
  • forward() में पहला हिडन स्टेट zeros से init करें
  • इनपुट और पहला हिडन स्टेट RNN लेयर से पास करें
  • आखिरी RNN आउटपुट चुनें और लीनियर लेयर से पास करें
इंटरमीडिएट Deep Learning with PyTorch

अभ्यास करते हैं!

इंटरमीडिएट Deep Learning with PyTorch

Preparing Video For Download...