1
00:00:00,000 --> 00:00:01,830
In the first course,
you learned how to use

2
00:00:01,830 --> 00:00:04,620
TensorFlow to implement
a basic neural network,

3
00:00:04,620 --> 00:00:05,745
going up all the way to

4
00:00:05,745 --> 00:00:07,635
basic Convolutional
Neural Network.

5
00:00:07,635 --> 00:00:09,045
In this second course,

6
00:00:09,045 --> 00:00:10,365
you go much further.

7
00:00:10,365 --> 00:00:11,625
In the first week,

8
00:00:11,625 --> 00:00:13,170
you take the ideas
you've learned,

9
00:00:13,170 --> 00:00:14,490
and apply them to

10
00:00:14,490 --> 00:00:18,060
a much bigger dataset of
cats versus dogs on Kaggle.

11
00:00:18,060 --> 00:00:19,860
Yes so we take
the full Kaggle dataset

12
00:00:19,860 --> 00:00:22,485
of 25,000 cats
versus dogs images.

13
00:00:22,485 --> 00:00:24,030
In the last module,

14
00:00:24,030 --> 00:00:25,350
we looked at horses and humans,

15
00:00:25,350 --> 00:00:26,970
which was about 1,000 images.

16
00:00:26,970 --> 00:00:28,710
So we want to take
a look at what it's

17
00:00:28,710 --> 00:00:30,480
like to train
a much larger dataset,

18
00:00:30,480 --> 00:00:32,460
and that was like
a data science challenge,

19
00:00:32,460 --> 00:00:33,330
not that long ago.

20
00:00:33,330 --> 00:00:34,620
Now, we're going to be learning

21
00:00:34,620 --> 00:00:36,150
that here, which I
think is really cool

22
00:00:36,150 --> 00:00:38,270
In fact, we have
substantially similar ideas

23
00:00:38,270 --> 00:00:39,290
as their previous goals,

24
00:00:39,290 --> 00:00:41,950
and apply it to
much bigger datasets,

25
00:00:41,950 --> 00:00:43,700
and hopefully get great results.

26
00:00:43,700 --> 00:00:45,830
Yeah, we're hoping
for good results.

27
00:00:45,830 --> 00:00:47,750
Let's see what the students get

28
00:00:47,750 --> 00:00:49,940
as they do some of
the assignments with it as well.

29
00:00:49,940 --> 00:00:52,520
One of the things that working
with a larger dataset,

30
00:00:52,520 --> 00:00:54,575
then helps with is over-fitting.

31
00:00:54,575 --> 00:00:56,375
So with a smaller dataset,

32
00:00:56,375 --> 00:00:58,280
you are at great risk
of overfitting;

33
00:00:58,280 --> 00:00:59,570
with a larger dataset,

34
00:00:59,570 --> 00:01:01,285
then you have less risk
of over-fitting,

35
00:01:01,285 --> 00:01:02,625
but overfitting can still happen.

36
00:01:02,625 --> 00:01:05,140
Pretty cool. Then in week 2,

37
00:01:05,140 --> 00:01:08,060
you'll learn another method
for dealing with overfitting,

38
00:01:08,060 --> 00:01:10,205
which is that TensorFlow
provides very

39
00:01:10,205 --> 00:01:12,710
easy to use tools for
data augmentation,

40
00:01:12,710 --> 00:01:15,230
where you can, for example,
take a picture of a cat,

41
00:01:15,230 --> 00:01:16,370
and if you take

42
00:01:16,370 --> 00:01:17,480
the mirror image of

43
00:01:17,480 --> 00:01:19,210
the picture of a cat, it
still looks like a cat.

44
00:01:19,210 --> 00:01:20,260
So why not do that,

45
00:01:20,260 --> 00:01:21,815
and throw that into
the training set.

46
00:01:21,815 --> 00:01:23,970
Exactly. Or for example,

47
00:01:23,970 --> 00:01:26,180
you might only have
upright pictures of cats,

48
00:01:26,180 --> 00:01:27,560
but if the cat's lying down,

49
00:01:27,560 --> 00:01:28,700
or it's on its side,

50
00:01:28,700 --> 00:01:30,885
then one of the things you
can do is rotate the image.

51
00:01:30,885 --> 00:01:33,990
So It's like part of the image
augmentation, is rotation,

52
00:01:33,990 --> 00:01:35,580
skewing, flipping,

53
00:01:35,580 --> 00:01:38,130
moving it around the frame,
those kind of things.

54
00:01:38,130 --> 00:01:40,040
One of the things I find
really neat about it,

55
00:01:40,040 --> 00:01:43,130
is particularly if you're
using a large public dataset,

56
00:01:43,130 --> 00:01:45,270
is then you flow all
the images off directly,

57
00:01:45,270 --> 00:01:47,270
and the augmentation
happens as it's flowing.

58
00:01:47,270 --> 00:01:49,805
So you're not editing
the images themselves directly.

59
00:01:49,805 --> 00:01:51,230
You're not changing the dataset.

60
00:01:51,230 --> 00:01:52,570
It all just happens in memory.

61
00:01:52,570 --> 00:01:53,880
This is all done as part of

62
00:01:53,880 --> 00:01:55,280
TensorFlow's Image
Generation [inaudible]?

63
00:01:55,280 --> 00:01:55,620
Exactly.

64
00:01:55,620 --> 00:01:58,385
That they'll learned about
it in the second week.

65
00:01:58,385 --> 00:02:01,610
Yeah. So then too one
of the other strategy,

66
00:02:01,610 --> 00:02:02,975
of course for
avoiding overfitting,

67
00:02:02,975 --> 00:02:05,045
is to use existing models,

68
00:02:05,045 --> 00:02:06,505
and to have transfer learning.

69
00:02:06,505 --> 00:02:08,540
Yeah. So I don't think

70
00:02:08,540 --> 00:02:10,460
anyone has as much data
as they wish,

71
00:02:10,460 --> 00:02:11,720
for the problems we
really care about.

72
00:02:11,720 --> 00:02:12,920
So Transfer Learning,

73
00:02:12,920 --> 00:02:14,555
lets you download
the neural network,

74
00:02:14,555 --> 00:02:17,330
that maybe someone else has
trained on a million images,

75
00:02:17,330 --> 00:02:19,475
or even more than
a million images.

76
00:02:19,475 --> 00:02:21,405
So take an inception network,

77
00:02:21,405 --> 00:02:22,605
that someone else has trained,

78
00:02:22,605 --> 00:02:24,650
download those
parameters, and use

79
00:02:24,650 --> 00:02:26,930
that to bootstrap
your own learning process,

80
00:02:26,930 --> 00:02:28,490
maybe with a smaller dataset.

81
00:02:28,490 --> 00:02:30,620
Exactly. That has
been able to spot

82
00:02:30,620 --> 00:02:31,910
features that you
may not have been

83
00:02:31,910 --> 00:02:33,455
able to spot in your dataset,

84
00:02:33,455 --> 00:02:35,330
so why not be able
to take advantage of

85
00:02:35,330 --> 00:02:37,190
that and speed-up training yours.

86
00:02:37,190 --> 00:02:39,950
I particularly find that

87
00:02:39,950 --> 00:02:41,510
one interesting as
you move forward.

88
00:02:41,510 --> 00:02:45,439
That to be able to build
off of other people's work,

89
00:02:45,439 --> 00:02:47,750
the open nature of
the AI community,

90
00:02:47,750 --> 00:02:50,390
I find is really exciting
and that allows you to

91
00:02:50,390 --> 00:02:51,890
really take advantage of

92
00:02:51,890 --> 00:02:53,480
that and be a part
of the community.

93
00:02:53,480 --> 00:02:55,520
Standing on the
shoulders of giants.

94
00:02:55,520 --> 00:02:56,840
I use transfer
learning all the time,

95
00:02:56,840 --> 00:03:01,130
so TensorFlow lets you do that
easily [inaudible] open source.

96
00:03:01,130 --> 00:03:04,775
Then finally in the fourth week,
Multicast learning.

97
00:03:04,775 --> 00:03:06,230
Rather than doing two classes,

98
00:03:06,230 --> 00:03:08,330
like horses verses humans,
or cats verses dogs,

99
00:03:08,330 --> 00:03:10,740
what if you have
more than two classes,

100
00:03:10,740 --> 00:03:12,070
like class five rock,

101
00:03:12,070 --> 00:03:13,995
paper, scissors, that
would be three classes,

102
00:03:13,995 --> 00:03:16,050
or inception would
be 1,000 classes.

103
00:03:16,050 --> 00:03:18,020
So that the techniques
of moving from

104
00:03:18,020 --> 00:03:20,355
two to more than two,

105
00:03:20,355 --> 00:03:23,240
be it three or be it a 1,000,
are very very similar.

106
00:03:23,240 --> 00:03:24,710
So we're going to look
at those techniques

107
00:03:24,710 --> 00:03:26,060
and we'll look at
the code for that.

108
00:03:26,060 --> 00:03:27,530
So and we have a rock, paper,

109
00:03:27,530 --> 00:03:28,520
scissors example, that you're

110
00:03:28,520 --> 00:03:29,860
going to be able to build off of.

111
00:03:29,860 --> 00:03:31,680
So in this second course,

112
00:03:31,680 --> 00:03:33,270
you take what you learned
in the first course,

113
00:03:33,270 --> 00:03:35,775
but go much deeper.

114
00:03:35,775 --> 00:03:37,255
One last fun thing,

115
00:03:37,255 --> 00:03:39,320
Lawrence had seen this coffee mug

116
00:03:39,320 --> 00:03:41,750
into AI for everyone
in the course,

117
00:03:41,750 --> 00:03:43,580
and he asked me to bring it.

118
00:03:43,580 --> 00:03:45,110
I love that course,

119
00:03:45,110 --> 00:03:46,190
so thank you so much.

120
00:03:46,190 --> 00:03:47,570
It's a great course,

121
00:03:47,570 --> 00:03:48,590
because it has got everything

122
00:03:48,590 --> 00:03:50,300
for people who are beginning;

123
00:03:50,300 --> 00:03:52,145
even people who
are non-technical,

124
00:03:52,145 --> 00:03:55,325
all the way up to experts.

125
00:03:55,325 --> 00:03:56,780
So thank you for the mug,

126
00:03:56,780 --> 00:03:58,745
but is it okay if I say I

127
00:03:58,745 --> 00:03:59,960
spot a sports car in

128
00:03:59,960 --> 00:04:01,490
the course as well,
would you bring that?

129
00:04:01,490 --> 00:04:04,230
I don't have one of
those to bring to you.

130
00:04:04,570 --> 00:04:07,970
So I'm really excited
about this course.

131
00:04:07,970 --> 00:04:09,830
Please go ahead and dive into the

132
00:04:09,830 --> 00:04:12,720
first of the materials
for week 1.