1
00:00:00,000 --> 00:00:01,000
Hello guys.

2
00:00:01,000 --> 00:00:04,000
We are going to continue discussion with respect to simple RNN.

3
00:00:04,000 --> 00:00:09,000
Now in this particular video, we are going to develop an end to end deep learning project using simple

4
00:00:09,000 --> 00:00:11,000
RNN for this.

5
00:00:11,000 --> 00:00:15,000
Uh, the data set that I'm actually going to take is something called as IMDb data set.

6
00:00:15,000 --> 00:00:19,000
And this is nothing, but it is a movie reviews data set.

7
00:00:20,000 --> 00:00:25,000
Now, our main task is that in our data set, you will be able to see that we will be having some text

8
00:00:25,000 --> 00:00:27,000
and some output labels.

9
00:00:27,000 --> 00:00:35,000
Text will be specifically the reviews and your output label will be having something like positive or

10
00:00:35,000 --> 00:00:36,000
negative.

11
00:00:36,000 --> 00:00:36,000
Okay.

12
00:00:37,000 --> 00:00:44,000
So with the help of simple RNN, what we are basically going to do is that we are going to train this

13
00:00:44,000 --> 00:00:52,000
model and we are going to see that how we can do this specific prediction and we'll not stop here.

14
00:00:52,000 --> 00:00:56,000
We'll also do this entire deployment in the cloud.

15
00:00:56,000 --> 00:01:01,000
And for this I'm also going to perform some trainings, uh, in my local machine.

16
00:01:01,000 --> 00:01:02,000
Okay.

17
00:01:02,000 --> 00:01:08,000
Now, for all those who do not have a powerful machine, you can also go ahead and execute this in Google

18
00:01:08,000 --> 00:01:09,000
Colab.

19
00:01:09,000 --> 00:01:15,000
Okay, Google Colab, you can go to the Google Colab and you can probably create your model.

20
00:01:15,000 --> 00:01:16,000
Okay.

21
00:01:16,000 --> 00:01:19,000
Basically train the model because in Google Colab they even provide you GPUs.

22
00:01:19,000 --> 00:01:20,000
Okay.

23
00:01:20,000 --> 00:01:23,000
Free free GPUs, free GPUs.

24
00:01:23,000 --> 00:01:26,000
And it's not like I'm just taking a very small data set.

25
00:01:26,000 --> 00:01:31,000
It will be good number of datas like over here, 50,000 records will be specifically there.

26
00:01:31,000 --> 00:01:37,000
Now before I go ahead and probably create this end to end deep learning project, understand what we

27
00:01:37,000 --> 00:01:38,000
are going to do in this deep learning project.

28
00:01:38,000 --> 00:01:43,000
Okay, so I have my first of all, I'll just draw the architecture.

29
00:01:43,000 --> 00:01:45,000
I have my input data.

30
00:01:45,000 --> 00:01:49,000
So this is my data set, the reviews data set.

31
00:01:49,000 --> 00:01:51,000
We will take this data.

32
00:01:51,000 --> 00:01:54,000
We will perform some feature engineering.

33
00:01:54,000 --> 00:01:58,000
And we also say it as feature transformation.

34
00:01:58,000 --> 00:02:04,000
After we do this, we need to keep ready for this particular data so that it will be ingested, uh,

35
00:02:04,000 --> 00:02:09,000
in the simple RNN for training the entire neural networks.

36
00:02:09,000 --> 00:02:09,000
Right.

37
00:02:09,000 --> 00:02:15,000
So after this we will go ahead and build our simple RNN.

38
00:02:15,000 --> 00:02:20,000
So we will probably take a simple RNN architecture.

39
00:02:20,000 --> 00:02:20,000
We will feed this data.

40
00:02:20,000 --> 00:02:22,000
We will train it completely.

41
00:02:22,000 --> 00:02:29,000
Once we train it here we are going to get our model file which I will be storing it in the form of dot

42
00:02:29,000 --> 00:02:29,000
h5 file.

43
00:02:29,000 --> 00:02:34,000
Okay, dot h5 file is nothing but a kind of format, like how in machine learning we use pickle file.

44
00:02:34,000 --> 00:02:35,000
Similarly, in deep learning we use.

45
00:02:35,000 --> 00:02:39,000
If you are using Keras, you can actually convert that into a dot h5 file.

46
00:02:39,000 --> 00:02:40,000
Okay.

47
00:02:40,000 --> 00:02:52,000
Then after this, uh, we will go ahead and create a Streamlit web app, Streamlit web app, and then

48
00:02:52,000 --> 00:02:54,000
we will further do the deployment.

49
00:02:55,000 --> 00:02:55,000
Okay.

50
00:02:55,000 --> 00:02:57,000
We will further do the deployment.

51
00:02:57,000 --> 00:02:58,000
Perfect.

52
00:03:01,000 --> 00:03:06,000
Now this is, uh, the entire, uh, fundamental things that we are specifically going to do in this

53
00:03:06,000 --> 00:03:07,000
particular project.

54
00:03:07,000 --> 00:03:07,000
Okay.

55
00:03:08,000 --> 00:03:13,000
Now, the best thing over here is that, uh, how do we go ahead and implementing this?

56
00:03:13,000 --> 00:03:13,000
Okay.

57
00:03:14,000 --> 00:03:17,000
Over here, data set feature engineering, Streamlit web app and deployment.

58
00:03:17,000 --> 00:03:24,000
This, uh, we obviously have seen even in an the major thing will be training the simple RNN.

59
00:03:24,000 --> 00:03:28,000
Now, this simple RNN will definitely have two important components.

60
00:03:28,000 --> 00:03:30,000
Okay, I will be talking more about it.

61
00:03:30,000 --> 00:03:34,000
One is something called as embedding layer.

62
00:03:34,000 --> 00:03:37,000
We also need to use embedding layer over here.

63
00:03:37,000 --> 00:03:41,000
Now what is this embedding layer we will just talk about in some time.

64
00:03:41,000 --> 00:03:47,000
And along with this we will also use a simple RNN for training our neural network.

65
00:03:47,000 --> 00:03:49,000
So both of them we really need to use.

66
00:03:49,000 --> 00:03:49,000
Okay.

67
00:03:50,000 --> 00:03:52,000
Now let me just talk more about this embedding layer.

68
00:03:52,000 --> 00:03:54,000
What does this exactly mean?

69
00:03:54,000 --> 00:03:57,000
As you know, if I just take the simple RNN.

70
00:03:57,000 --> 00:04:00,000
Okay, you know how what is the architecture of simple RNN?

71
00:04:00,000 --> 00:04:02,000
So this is my simple RNN over here.

72
00:04:03,000 --> 00:04:10,000
And if we just make sure that we unfold this with respect to time, it will look something like this.

73
00:04:10,000 --> 00:04:10,000
Right?

74
00:04:10,000 --> 00:04:13,000
This we have already discussed in our theoretical session.

75
00:04:15,000 --> 00:04:16,000
Theoretical session.

76
00:04:18,000 --> 00:04:19,000
Like this.

77
00:04:19,000 --> 00:04:23,000
And it will go on till my last layer.

78
00:04:23,000 --> 00:04:25,000
And finally I'll have my output.

79
00:04:25,000 --> 00:04:31,000
And this will probably go to my sigmoid or softmax.

80
00:04:31,000 --> 00:04:33,000
And then we get y hat.

81
00:04:33,000 --> 00:04:33,000
Okay.

82
00:04:33,000 --> 00:04:36,000
So this is the process that we specifically use.

83
00:04:36,000 --> 00:04:42,000
But along with this you know let's let's consider any of my text.

84
00:04:42,000 --> 00:04:44,000
Let's say in my data set I have a text and this is my output.

85
00:04:44,000 --> 00:04:52,000
Let's say in this text I have some inputs like X11X12X13X14.

86
00:04:52,000 --> 00:04:54,000
And then I have my output over here it can be 0 or 1.

87
00:04:54,000 --> 00:04:56,000
Let's say it is zero okay.

88
00:04:56,000 --> 00:05:02,000
Similarly in my next sentence it will be X21X22X23X24.

89
00:05:02,000 --> 00:05:03,000
And this will be one.

90
00:05:03,000 --> 00:05:09,000
And you know, whenever we are doing the forward and the backward propagation with respect to every

91
00:05:09,000 --> 00:05:11,000
sentence, we give words by words, right?

92
00:05:11,000 --> 00:05:18,000
Initially we give X11, then in t is equal to two we give X12, then X13, then X14.

93
00:05:18,000 --> 00:05:19,000
Okay.

94
00:05:20,000 --> 00:05:23,000
Now this X11X12X13.

95
00:05:23,000 --> 00:05:25,000
These are words right.

96
00:05:25,000 --> 00:05:28,000
And we really need to convert these words into vectors okay.

97
00:05:28,000 --> 00:05:33,000
So here you will be seeing that we also have to convert this words into vectors.

98
00:05:33,000 --> 00:05:40,000
Vectors with respect to some dimensions, which I will be passing it over here right now.

99
00:05:40,000 --> 00:05:45,000
Already we have discussed about this architecture, but one thing that I never discussed about specifically

100
00:05:45,000 --> 00:05:49,000
in deep learning how this words are converted into vectors.

101
00:05:49,000 --> 00:05:50,000
Okay.

102
00:05:50,000 --> 00:05:54,000
And here is what your embedding layer comes into picture.

103
00:05:55,000 --> 00:05:59,000
Embedding layer we have another embedding layer like this.

104
00:05:59,000 --> 00:06:01,000
Let's consider like this.

105
00:06:01,000 --> 00:06:02,000
Okay.

106
00:06:02,000 --> 00:06:07,000
And this embedding layer is responsible in converting your words into vectors.

107
00:06:08,000 --> 00:06:12,000
This embedding layer uses something called as word embeddings.

108
00:06:12,000 --> 00:06:16,000
I hope you have some idea about word two vec.

109
00:06:16,000 --> 00:06:21,000
Word two vec is a kind of a word embedding techniques, which we can also specifically use in the embedding

110
00:06:21,000 --> 00:06:21,000
layer.

111
00:06:22,000 --> 00:06:28,000
Now in the next video before we start this entire project, we really need to understand about embedding

112
00:06:28,000 --> 00:06:28,000
layer.

113
00:06:28,000 --> 00:06:30,000
And that is what we are going to discuss.

114
00:06:30,000 --> 00:06:35,000
First of all, we will go ahead and discuss about how does embedding layer work.

115
00:06:35,000 --> 00:06:39,000
And then we will try to understand the mathematical intuition.

116
00:06:41,000 --> 00:06:42,000
Okay.

117
00:06:42,000 --> 00:06:44,000
We'll just try to understand the intuition.

118
00:06:45,000 --> 00:06:52,000
Along with this we will also do some practical implementation because unless and until we don't know

119
00:06:52,000 --> 00:06:57,000
this right, it will be very difficult to understand the project.

120
00:06:57,000 --> 00:07:00,000
So both of this I will try to cover it up okay.

121
00:07:00,000 --> 00:07:00,000
For you all.

122
00:07:01,000 --> 00:07:04,000
So, uh, this was just an introduction video about this end to end project.

123
00:07:04,000 --> 00:07:09,000
Now in our next video we will talk about word embeddings, embedding layer and feature representation.

124
00:07:09,000 --> 00:07:12,000
What exactly is this feature representation okay.

125
00:07:12,000 --> 00:07:15,000
So let's go ahead and discuss this in the next video.

126
00:07:15,000 --> 00:07:16,000
Thank you.

