
Korean: 
이 컨텐츠는 Creative Commons
라이센스를 따릅니다.
이 컨텐츠는 Creative Commons
라이센스를 따릅니다.
여러분의 지원은 
MIT OpenCourseWare가
계속해서 고수준의 교육자원을
무료로 제공하는데 도움이 됩니다
기부 또는 MIT 코스의 추가 자료를
원하시는 분은
기부 또는 MIT 코스의 추가 자료를
원하시는 분은
ocw.mit.edu로 접속하세요
ocw.mit.edu로 접속하세요
2010년이었어요
2010년이요
연례 회의을 했었는데
6034 강의를 없애고
새로운 걸 만들자고 했는데
신경망을 무시했어요
조금 이상하게 들릴 수 있어요
우리 머리는 뉴런으로
이루어져 있으니까요

English: 
The following content is
provided under a Creative
Commons license.
Your support will help
MIT OpenCourseWare
continue to offer high-quality
educational resources for free.
To make a donation or to
view additional materials
from hundreds of MIT courses,
visit MIT OpenCourseWare
at fsae@mit.edu.
PATRICK WINSTON: It was in
2010, yes, that's right.
It was in 2010.
We were having our
annual discussion
about what we would dump fro
6034 in order to make room
for some other stuff.
And we almost killed
off neural nets.
That might seem strange
because our heads
are stuffed with neurons.

English: 
If you open up your skull
and pluck them all out,
you don't think anymore.
So it would seem
that neural nets
would be a fundamental
and unassailable topic.
But many of us felt that
the neural models of the day
weren't much in the way
of faithful models of what
actually goes on
inside our heads.
And besides that,
nobody had ever
made a neural net that was
worth a darn for doing anything.
So we almost killed it off.
But then we said,
well, everybody
would feel cheated
if they take a course
in artificial intelligence,
don't learn anything
about neural nets,
and then they'll
go off and invent
them themselves.
And they'll waste
all sorts of time.
So we kept the subject in.
Then two years
later, Jeff Hinton
from the University of
Toronto stunned the world
with some neural network
he had done on recognizing
and classifying pictures.

Korean: 
두개골을 열고
안에 있는 걸 다 꺼내면
더 이상 생각할 수 없겠죠
신경망은 굉장히
핵심적이고
난공불락한 주제로
보일 겁니다
많은 사람들은
현재의 신경망 모델이
비슷한 형태를
가지지 않다고 생각해요
실제로 우리 머리속에서
돌아가는 그 구조 말이죠
뿐만 아니라
아무도 그런 가치있는
신경망을 만들지 않았습니다
그래서 우리가 거의
박살 내버렸죠
그런데 또 이렇게들 말하죠
사기치는 것 같다고요
인공지능 수업을 들으면서
신경망에 대해
배우지 않는다면 말이에요
그리고 알아서
새로운 걸 만들어야 합니다
그럼 시간 낭비를
하는 거잖아요
그래서 이 강의를
계속 하기로 했습니다
그 후로 2년이 지나고
토론토 대학 출신인
제프 힌턴이
신경망으로
전 세계를 놀라게 했습니다
사진을 인식하고
분류할 수 있게 만들었어요

English: 
And he published
a paper from which
I am now going to show
you a couple of examples.
Jeff's neural net, by the
way, had 60 million parameters
in it.
And its purpose was to determine
which of 1,000 categories
best characterized a picture.
So there it is.
There's a sample of things
that the Toronto neural net
was able to recognize
or make mistakes on.
I'm going to blow
that up a little bit.
I think I'm going
to look particularly
at the example labeled
container ship.
So what you see here is that
the program returned its best
estimate of what it was
ranked, first five, according
to the likelihood,
probability, or the certainty
that it felt that a
particular class was

Korean: 
그리고 논문을 발표했는데
지금부터 제가 몇 개의
예시를 보여드릴게요
제프의 신경망은
6천만 개의 변수를
가지고 있습니다
신경망의 목적은
1000개의 카테고리 중
어떤 것이
사진을 가장 잘 묘사하는 지
결정하는 거였습니다
이게 결과입니다
이게 토론토 신경망에서
나온 샘플인데
인식에 성공 혹은
실패에 관한 결과에요
조금 더 자세히 살펴볼게요
컨테이너선이라고 분류된
예시를 보도록 하겠습니다
여기에 보이는 건
프로그램의 이 사진 안의
물체를 추청한 건데
확률에 따른
상위 5개의 결과입니다

English: 
characteristic of the picture.
And so you can see this
one is extremely confident
that it's a container ship.
It also was fairly
moved by the idea
that it might be a lifeboat.
Now, I'm not sure about you,
but I don't think this looks
much like a lifeboat.
But it does look like
a container ship.
So if I look at only the best
choice, it looks pretty good.
Here are the other things
they did pretty well,
got the right answer
is the first choice--
is this first choice.
So over on the left,
you see that it's
decided that the picture
is a picture of a mite.
The mite is not anywhere near
the center of the picture,
but somehow it managed to find
it-- the container ship again.
There is a motor scooter, a
couple of people sitting on it.
But it correctly characterized
the picture as a motor scooter.
And then on the
right, a Leopard.
And everything else
is a cat of some sort.
So it seems to be
doing pretty well.
In fact, it does do pretty well.
But anyone who does
this kind of work

Korean: 
사진의 특징을 잘 나타낸
분류에 따라서 말이죠
프로그램이 굉장히 자신 있어
한다는 걸 알 수 있어요
이게 컨테이너선이라는 걸요
구조선이라는
약간의 망설임이 있었지만
여러분도 그런지는
잘 모르겠지만
구조선 같아
보이지는 않아요
컨테이너선 같아 보이죠
첫 번째 답안만 본다면
정확도가 굉장히 높아요
여기 또 꽤 잘한 게 있어요
답을 맞췄어요
첫 번째 답안이요
가장 왼쪽 화면을 보면
진드기라고 답했는데
진드기가 화면 중심에
위치하지 않아요
그런데도 정확하게 잡아냈어요
컨테이너선이 나오고
사람 몇 명이 앉아있는
모터 스쿠터가 있어요
그런데도 모터 스쿠터라고
성공적으로 분류했어요
맨 오른쪽에는 표범
다른 답안들은
모두 고양이와 연관되었죠
성능이 꽤 좋아 보이군요
정말 뛰어나요
그런데 이런 일을 하는 사람들은

Korean: 
보여줘야 할 의무가 있어요
제대로 작동하지 않는
경우에 대해서 말이죠
정확한 답이 아닌 경우요
이 또한 힌튼의 논문에
첨부되어 있던 사진입니다
첫 번째는 그릴이라고
되어있는데
사실은 컨버터블이라
분류되는 게 맞죠
네 컨버터블이 맞아요
두 번째 사진을 분류하면
버섯인데
주름버섯이라고 주장하네요
제가 맞게 발음했나요?
결과적으로 버섯이긴 하니까
문제는 없네요
그 다음 사진은
체리라고 하는데
사실 답은
달마시안이죠
달마시안이 옳은
답이라고 봅니다
저 사진에서는 말이죠
틀렸다고 하기에도
뭐 하지만
그리고 마지막 사진은
다섯 개 중에
알맞는 답이 없습니다
이 전에 본 적이
있는지 모르겠지만
저게 바로
마다가스카 고양이입니다
첫 번째 답과 비교해보면
참 흥미로운데요
다람쥐 원숭이라고 했는데

English: 
has an obligation
to show you some
of the stuff that
doesn't work so well on
or doesn't get quite right.
And so these pictures also
occurred in Hinton's paper.
So the first one is
characterized as a grill.
But the right answer was
supposed to be convertible.
Oh, no, yes, yeah, right
answer was convertible.
In the second case,
the characterization
is of a mushroom.
And the alleged right
answer is agaric.
Is that pronounced right?
It turns out that's a kind of
mushroom-- so no problem there.
In the next case, it
said it was a cherry.
But it was supposed
to be a dalmatian.
Now, I think a dalmatian is
a perfectly legitimate answer
for that particular picture--
so hard to fault it for that.
And the last case,
the correct answer
was not in any of the top five.
I'm not sure if you've
ever seen a Madagascar cap.
But that's a picture of one.
And it's interesting
to compare that
with the first choice of the
program, the squirrel monkey.

English: 
This is the two side by side.
So in a way, it's not
surprising that it
thought that the
Madagascar cat was
a picture of a squirrel
monkey-- so pretty impressive.
It blew away the competition.
It did so much better the
second place wasn't even close.
And for the first time, it
demonstrated that a neural net
could actually do something.
And since that time, in the
three years since that time,
there's been an enormous
amount of effort
put into neural net technology,
which some say is the answer.
So what we're going to
do today and tomorrow
is have a look at this stuff
and ask ourselves why it works,
when it might not work,
what needs to be done,
what has been done, and all
those kinds of questions
will emerge.
So I guess the first thing to
do is think about what it is
that we are being inspired by.

Korean: 
비교 샷입니다
이 걸 보니 놀랍지 않네요
마다가스카 고양이보고
다람쥐 원숭이라고
한 게 말이죠
꽤 인상적이네요
경쟁에서 이겼어요
꽤 비슷했어요
두 번째 답은 완벽한 오답이거든요
이게 처음으로 증명한 거예요
신경망이 무언가를
할 수 있다는 걸 말이죠
그로부터 3년 동안
신경망 기술에
엄청난 노력이 들어가는 중입니다
몇몇 사람들은
이게 바로 답이라고 합니다
그래서 오늘과 내일
우리가 할 것은
이게 어떻게 이런 결과를
낼 수 있는 지 생각해보고
잘 안될 것 같은
경우에도 말이죠
어떤 게 더 연구돼야 하는지
어떤 게 이미 연구됐는지
이런 질문이 나올 겁니다
먼저 우리는
어떤 것에 영감 받는지
생각해보는 게 좋겠네요

English: 
We're being inspired
by those things that
are inside our head-- all
10 to the 11th of them.
And so if we take one of those
10 to the 11th and look at it,
you know from 700 something
or other approximately
what a neuron looks like.
And by the way, I'm going
to teach you in this lecture
how to answer questions
about neurobiology
with an 80% probability that
you will give the same answer
as a neurobiologist.
So let's go.
So here's a neuron.
It's got a cell body.
And there is a nucleus.
And then out here is
a long thingamajigger
which divides maybe a
little bit, but not much.
And we call that the axon.
So then over here, we've got
this much more branching type
of structure that looks
maybe a little bit like so.

Korean: 
우리는 머리 속
저런 걸로부터 영감을 받아요
10^11 정도 되는데
10^11 개 중 하나를 보면
700번 대 어떤 과목에서
뉴런이 어떻게 생겼는지
배웠을 겁니다
아 그리고 이 강의에서
신경 생물학 문제에
답하는 방법을 알려줄게요
80 퍼센트의 확률로
같은 답을 하게 될 겁니다
신경 생물학자와 말이죠
자 그럼 해봅시다
여기 뉴런이 있고
이게 세포체고
세포핵을 가집니다
여기에 긴 게 달려있는데
마지막에 몇 개의
가지로 나뉘는데
축색 돌기라고 하죠
이쪽에는 더 나뭇가지와
닮은 구조가 있는데

Korean: 
아마 이렇게
생겼을 겁니다
이쪽에는 가지가
매우 많은데
가지돌기(dendrite) 트리라고 합니다
여기서 짚고 넘어갈
부분이 몇 개 있는데
양쪽 끝 돌기가 다
연결되어 있습니다
전시냅스 비후
(pre-synaptic thickening)라고 합니다
여기엔 다른 뉴런의
가지돌기가 있겠죠
그리고 여기엔 다른 뉴런의
축색 돌기가 있겠죠
여기로 들어와서
그림 대부분을 차지하는
가지 돌기를 칠 거예요
여기에 충분한
자극이 있다면

English: 
Maybe like that-- and this
stuff branches a whole lot.
And that part is called
the dendritic tree.
Now, there are a
couple of things
we can note about this is that
these guys are connected axon
to dendrite.
So over here, they'll be
a so-called pre-synaptic
thickening.
And over here will be some
other neuron's dendrite.
And likewise, over here
some other neuron's axon
is coming in here and hitting
the dendrite of our the one
that occupies most
of our picture.
So if there is enough
stimulation from this side

Korean: 
축색 돌기나 가지 돌기에요
스파이크가
저 축색 돌기로 전달될 겁니다
마치 송전선 같아요
그러고 나서 한동안은
뉴런이 잠잠할 건데
힘을 다시 회복하는 겁니다
불응기라고 하죠
그 상관 관계를 더
자세히 보자면
여기 조각이 이렇게 생겼어요
축색 돌기가
이런 식으로 들어오고
작은 소포(vesicles)를
아주 많이 가지고 있어요
여기 가지 돌기가 있고
축색 돌기에 자극을 주면
시냅스 안 공간으로
소포들을 내보냅니다
오랫동안
저 두 개가 실제로
나뉘어있다는 걸
알지 못했습니다
신경과학자 '라몬 이 카할'이
저 두 개가 분리되어있다는
사실을 증명했습니다

English: 
in the axonal tree,
or the dendritic tree,
then a spike will
go down that axon.
It acts like a
transmission line.
And then after that
happens, the neuron
will go quiet for a while as
it's recovering its strength.
That's called the
refractory period.
Now, if we look at that
connection in a little more
detail, this little piece right
here sort of looks like this.
Here's the axon coming in.
It's got a whole bunch
of little vesicles in it.
And then there's a
dendrite over here.
And when the axon is stimulated,
it dumps all these vesicles
into this inner synaptic space.
For a long time, it wasn't
known whether those things
were actually separated.
I think it was
Raamon and Cahal who
demonstrated that one
neuron is actually
not part of the next one.

English: 
They're actually separated
by these synaptic gaps.
So there it is.
How can we model,
that sort of thing?
Well, here's what's
usually done.
Here's what is done in
the neural net literature.
First of all, we've got
some kind of binary input,
because these things either
fire or they don't fire.
So it's an all-or-none
kind of situation.
So over here, we have
some kind of input value.
We'll call it x1.
And is either a 0 or 1.
So it comes in here.
And then it gets multiplied
times some kind of weight.
We'll call it w1.
So this part here is modeling
this synaptic connection.
It may be more or less strong.
And if it's more strong,
this weight goes up.
And if it's less strong,
this weight goes down.

Korean: 
시냅스 공간에 의해
나뉘어 있습니다
그렇습니다
그럼 이건 어떻게 모델링할까요?
보통 이런 방법을
사용합니다
신경망 문헌에서
사용하는 방법이죠
먼저, 발화를 하느냐 안 하느냐의
바이너리 입력이 있습니다
전부이거나 없거나(all-or-none)의 상황인거죠
여기에 어떠한
입력 값이 있는데
X1 이라고 할게요
0 또는 1의 값을 가집니다
이게 여기로 와서
어떤 값이 가중치로
곱해집니다
W1 라고 할게요
이게 시냅스 연결을
모델링하고 있는데요
대략적으로 비슷한
세기로 말이죠
더 강하면
가중치가 올라가고
더 약하면
가중치가 작아지겠죠

Korean: 
그게 시냅스의 영향을
반영합니다
전체 축색 돌기가
자극됐는지 아닌지 말이죠
여기 다른 입력 값
Xn 이 있는데
0 또는 1의 값을 가집니다
이것도 가중치로 곱해집니다
Wn 이라고 할게요
우린 이제 어떻게든
표현해야 하는데
입력 값들이
한 곳으로 모일 수 있도록
어떻게 힘을 합칠 수 있을까요
아주 간단하게
모델링을 할 겁니다
여기 다 더한 값이 있습니다
이렇게요
그리고 나서
결정해야 하는데
모든 영향력을 더한 값이
뉴런을 활성화하기에
충분한지 말이죠
임계 값 상자 같은 걸
통과시킬 겁니다
상자가 이렇게 생겼어요

English: 
So that reflects the
influence of the synapse
on whether or not the whole
axon decides it's stimulated.
Then we got other inputs down
here-- x sub n, also 0 or 1.
It's also multiplied
by a weight.
We'll call that w sub n.
And now, we have to
somehow represent
the way in which these inputs
are collected together--
how they have collective force.
And we're going to
model that very, very
simply just by saying, OK,
we'll run it through a summer
like so.
But then we have to decide if
the collective influence of all
those inputs is sufficient
to make the neuron fire.
So we're going to
do that by running
this guy through a
threshold box like so.
Here is what the box looks like
in terms of the relationship

Korean: 
입력과 출력 값
관계로 표현하자면 말이죠
여기서 아무 것도
일어나지 않습니다
임계 값 t를 넘기
전까지 말입니다
이 상황에서
출력 값 z는 1입니다
반대의 경우는 0이겠죠
입력 출력 모두
이진수입니다
이 승수들로
시냅스 무게를 모델링합니다
뉴런의 모든 입력 값의
누적 효과를 모델링합니다
임계 값을 통과하면서
0인지 1인지를 결정합니다
결과물의 합계가 
임계 값을 넘는지 판단하고 말이죠
그럼 1을 얻습니다
그럼 궁극적으로 우리가
모델링 하는 게 무엇이죠?
이 모델에서
첫째, 모두 아니면 아무것도 아님

English: 
between input and the output.
And what you can see
here is that nothing
happens until the input
exceeds some threshold t.
If that happens, then
the output z is a 1.
Otherwise, it's a 0.
So binary, binary out-- we
model the synaptic weights
by these multipliers.
We model the cumulative effect
of all that input to the neuron
by a summer.
We decide if it's going to be
an all-or-none 1 by running it
through this threshold
box and seeing
if the sum of the products add
up to more than the threshold.
If so, we get a 1.
So what, in the end,
are we in fact modeling?
Well, with this model,
we have number 1, all

English: 
or none-- number 2, cumulative
influence-- number 3, oh, I,
suppose synaptic weight.
But that's not all
that there might
be to model in a real neuron.
We might want to deal with
the refractory period.
In these biological models that
we build neural nets out of,
we might want to model
axonal bifurcation.
We do get some division
in the axon of the neuron.
And it turns out that that
pulse will either go down

Korean: 
둘째, 누적된 영향
(cumulative influence)
셋째, 시냅틱 가중치
이게 다가 아닙니다
진짜 뉴런을
모델링 해야 할 수도 있어요
불응기(efractory period)를 다뤄야
할 수도 있어요
생물학적 모델에서
신경망을 구축합니다
축색 분기를
모델링 하고 싶을 수도
뉴런 축색 돌기에
나뉘는 부분이 있는데

English: 
one branch or the other.
And which branch it
goes down depends
on electrical activity in
the vicinity of the division.
So these things might actually
be a fantastic coincidence
detectors.
But we're not modeling that.
We don't know how it works.
So axonal bifurcation
might be modeled.
We might also have a
look at time patterns.
See, what we don't
know is we don't
know if the timing of the
arrival of these pulses
in the dendritic
tree has anything
to do with what that neuron
is going to recognize--
so a lot of unknowns here.
And now, I'm going
to show you how
to answer a question
about neurobiology
with 80% probability
you'll get it right.
Just say, we don't know.
And that will be with
80% probability what
the neurobiologist would say.

Korean: 
펄스는 둘 중의 하나의
가지로 전달됩니다
어디로 전달되는 지는
그 부근의 전기 활동에
의해 결정됩니다
사실은 이게 우연이
아닐 수도 있다는 겁니다
물론 우리가 지금
모델링 할 건 아닙니다
우린 그 작동 방식을 몰라요
축색 분기는
모델링 할 수 있겠고
시간 패턴을 
볼 수도 있겠네요
우리가 모르는 건
펄스가 가지 돌기에
도착하는 시간이
뉴런이 인식하는 것과
상관이 있느냐는 겁니다
밝혀지지 않은 게 많아요
자 이제 모범 답안을
가르쳐줄게요
신경 생물학 문제에 대해
80 퍼센트의
정확성으로 말이죠
그냥 "아직 몰라요"라고 하세요
그게 거의 80 퍼센트의
답이 될 겁니다
신경 생물학자들이
말하는 답이요

English: 
So this is a model inspired
by what goes on in our heads.
But it's far from clear
if what we're modeling
is the essence of why those guys
make possible what we can do.
Nevertheless, that's where
we're going to start.
That's where we're going to go.
So we've got this model
of what a neuron does.
So what about what does a
collection of these neurons do?
Well, we can think of your skull
as a big box full of neurons.
Maybe a better way
to think of this
is that your head
is full of neurons.
And they in turn are full of
weights and thresholds like so.
So into this box come a variety
of inputs x1 through xm.

Korean: 
이건 영감받아 그린 모델인데
우리 머리속에서
일어나는 일로부터 말이죠
근데 정확하지 않습니다
우리가 모델링 하는 것들이
우리의 일을 가능하게
만드는지 말이죠
어찌 됐든 우리는
여기서 시작할 거고
우리가 할 일입니다
뉴런의 역할에 대한
모델이 있습니다
뉴런의 집합이
하는 일은 무엇일까요?
여러분의 두개골을
뉴런으로 가득찬
상자라고 해봅시다
다르게 표현하자면
여러분의 머리가
뉴런으로 가득찼다고 해봅시다
가중치와 임계 값들이
이렇게 많이 있습니다
여기로 다양한 
입력 값이 들어옵니다

Korean: 
X1 부터 Xm까지 말이죠
그리고 각자의
가중치를 찾습니다
뉴런 떼가 있네요
그리고 여기엔
다수의 출력 값이 있습니다
Z1 부터 Zn 까지
여기 많은 값들이 있어요
입력 값도 많고
여기 입력 값들은
영향을 미칩니다
가중치, 임계 값
출력 값 등등에요
조금 있어보이게 말하자면
z 는 벡터 값이고
당연히 입력 값의
함수가 되겠고
가중치와 임계 값도
영향을 미치겠죠
이게 신경망의 전부입니다
신경망을 학습시킬 때
우리가 할 수 있는 건
가중치와 임계 값을
조정해서
우리가 원하는 값을
찾는 겁니다

English: 
And these find their
way to the inside
of this gaggle of neurons.
And out here come a bunch
of outputs c1 through zn.
And there a whole bunch
of these maybe like so.
And there are a lot
of inputs like so.
And somehow these inputs
through the influence
of the weights of the thresholds
come out as a set of outputs.
So we can write
that down a little
fancier by just saying
that z is a vector, which
is a function of, certainly
the input vector, but also
the weight vector and
the threshold vector.
So that's all a neural net is.
And when we train
a neural net, all
we're going to be able to
do is adjust those weights
and thresholds so that what
we get out is what we want.

English: 
So a neural net is a
function approximator.
It's good to think about that.
It's a function approximator.
So maybe we've got some sample
data that gives us an output
vector that's desired as
another function of the input,
forgetting about what the
weights and the thresholds are.
That's what we want to get out.
And so how well we're
doing can be figured out
by comparing the desired
value with the actual value.
So we might think
then that we can
get a handle on how well
we're doing by constructing
some performance function, which
is determined by the desired
vector and the input
vector-- sorry,
the desired vector and
the actual output vector
for some particular input
or for some set of inputs.

Korean: 
신경망은
근삿값의 함수입니다
그렇게 생각하는 게 편해요
근삿값의 함수
샘플 데이터를
가지고 있다고 해봅시다
출력 값 벡터가
다른 입력 값의
함수라고 할게요
가중치와 임계 값은
잠시 잊어버립시다
그게 우리가 알고 싶은 겁니다
우리가 얼마나 잘하는 지는
목푯값과 실제값을
비교하면 알 수 있겠죠
그럼 우리가 얼마나
잘하고 있는지를
성능 함수를 만들어서
측정할 수 있습니다
목푯값과 실제값에
의해 결정됩니다
특정한 입력 값에
대해서 말이죠

Korean: 
여기서 질문은 이
함수의 역할이 뭐냐는 겁니다
성능은 어떻게 측정할까요
여기에 우리가
원하는 값이 무엇이고
실제 얻는 값이 무엇인지
안다는 가정하에요
가장 간단한 방법은
둘의 차에 절대값을
씌우는 겂니다
말이 돼죠?
그렇게 되면 우리는
성능 함수를 갖게 되는데
두 벡터 거리의 차에
대한 함수는
이렇게 생겼을 겁니다
이렇게 되면 결국에
수학적으로 계산하기
어려워집니다
어떻게 하면
수정할 수 있을까요?
(학생)
뭐라고요?
(학생) 정규화 합니다
음 아닌 것 같네요
그냥 이걸 제곱하면 어떨까요?
그러면 이 뾰족 점이
원만한 그래프가 되겠네요
차이가 0일 때가
가장 좋은 값이고

English: 
And the question is what
should that function be?
How should we
measure performance
given that we have
what we want out here
and what we actually
got out here?
Well, one simple
thing to do is just
to measure the magnitude
of the difference.
That makes sense.
But of course, that would give
us a performance function that
is a function of the
distance between those
vectors would look like this.
But this turns out
to be mathematically
inconvenient in the end.
So how do you think we're going
to turn it up a little bit?
AUDIENCE: Normalize it?
PATRICK WINSTON: What's that?
AUDIENCE: Normalize it?
PATRICK WINSTON:
Well, I don't know.
How about just we square it?
And that way we're going to go
from this little sharp point
down there to something
that looks more like that.
So it's best when the
difference is 0, of course.

English: 
And it gets worse as
you move away from 0.
But what we're
trying to do here is
we're trying to get
to a minimum value.
And I hope you'll forgive me.
I just don't like
the direction we're
going here, because I like to
think in terms of improvement
as going uphill
instead of down hill.
So I'm going to dress this up
one more step-- put a minus
sign out there.
And then our performance
function looks like this.
It's always negative.
And the best value it
can possibly be is zero.
So that's what we're going to
use just because I am who I am.
And it doesn't matter, right?
Still, you're trying to
either minimize or maximize
some performance function.
OK, so what do we got to do?
I guess what we could do is we
could treat this thing-- well,
we already know what to do.
I'm not even sure why we're
devoting our lecture to this,
because it's clear that
what we're trying to do
is we're trying to take our
weights and our thresholds

Korean: 
0에서 멀어질 수록
값이 나빠집니다
여기서 하고자하는 것은
최솟값으로 가서
저를 좀 봐주세요
이 풀이 방법이
마음에 들지 않네요
향상하는 쪽으로
생각하는 걸 선호하는데
내려가는 것보다
올라가는 게 좋아요
여기에 한 과정을
더 추가할게요
앞에 마이너스
부호를 붙입니다
그럼 성능 함수가
이렇게 바뀝니다
항상 음수이죠
최댓값이 0이고요
제가 이렇게 하고 싶으니까
이 방법으로 갈게요
크게 상관없죠?
어떻게든 최소화 또는
최대화 하려고 합니다
이 성능 함수를 말이죠
자 이제 그럼
무엇을 해야 할까요?
이제 우리가 할 수 있는 건
우리가 이미 알고 있군요
여기에 왜 이렇게 많은 시간을
할애하는지도 모르겠네요
우리가 하려는 건
꽤 명백하거든요

Korean: 
우리는 가중치와
임계 값을 조정해서
성능을 최대화 할 겁니다
간단한 신경망 등고선
지도를 그려보겠습니다
두 개의 가중치가 있고
이런 식으로 생겼다고 합시다
주어진 어떤 시간에 대해
특정한 W1과 W2 값이 있습니다
그리고 더 나은 W1, W2 값을
찾으려고 합니다
지금은 여기에 있고
등고선 지도가 있어요
지금은 6034 강의 시간이에요
무엇을 해야 할까요?
(학생) 따라 올라가요
간단한 언덕 오르기 문제죠?
모든 방향에 대해
스텝을 그려볼게요
여기에도 그려보고
나쁘지 않죠
이쪽 방향은 별로네요
저 두 개는 정말 못생겼어요
저건 좀 말이 되네요
다 끝났어요
힐튼의 신경망 변수가
6천만 개라는 것만 빼고요
언덕 오르기를 하진 않을 겁니다

English: 
and adjust them so as
to maximize performance.
So we can make a
little contour map here
with a simple neural net
with just two weights in it.
And maybe it looks like
this-- contour map.
And at any given time
we've got a particular w1
and particular w2.
And we're trying to
find a better w1 and w2.
So here we are right now.
And there's the contour map.
And it's a 6034.
So what do we do?
AUDIENCE: Climb.
PATRICK WINSTON: Simple matter
of hill climbing, right?
So we'll take a step
in every direction.
If we take a step in that
direction, not so hot.
That actually goes pretty bad.
These two are really ugly.
Ah, but that one--
that one takes us
up the hill a little bit.
So we're done,
except that I just
mentioned that
Hinton's neural net had
60 million parameters in it.

Korean: 
6천만 개의 변수를
가지고 말이죠
값이 기하학적으로
커질 겁니다
다뤄야 할
가중치 값 말이에요
여러분이 밟아야 할
스텝 말입니다
이 방법은 계산하기에
적당하지 않습니다
다행히도 모두
1801 강의를 들었죠
더 나은 방법을
떠올렸을 겁니다
모든 방향을
다 계산하는 대신
편미분을 할 거예요
어떤 식으로
계산해야 할지 봅시다
공간에 대해서 말이에요
성능 함수의
편미분 값이 있고
W1 에 대해서 말이죠
W2 도 똑같이
적용합니다
얼마만큼의 개선이 있을지
알려줄 겁니다
저 방향으로 조금
움직이는 것에 대해서요
그렇죠?
얼마만큼의 차이가 있을지
우측으로 축을 따라
이동하면 말이죠

English: 
So we're not going to hill
climb with 60 million parameters
because it explodes
exponentially
in the number of
weights you've got
to deal with-- the number
of steps you can take.
So this approach is
computationally intractable.
Fortunately, you've all taken
1801 or the equivalent thereof.
So you have a better idea.
Instead of just taking a
step in every direction, what
we're going to do is
we're going to take
some partial derivatives.
And we're going to
see what they suggest
to us in terms of how we're
going to get around in space.
So we might have a partial
of that performance function
up there with respect to w1.
And we might also take
a partial derivative
of that guy with respect to w2.
And these will tell us
how much improvement
we're getting by making a little
movement in those directions,
right?
How much a change is
given that we're just
going right along the axis.

English: 
So maybe what we ought
to do is if this guy is
much bigger than
this guy, it would
suggest we mostly want to
move in this direction,
or to put it in 1801
terms, what we're
going to do is we're going
to follow the gradient.
And so the change
in the w vector
is going to equal to this
partial derivative times
i plus this partial
derivative times j.
So what we're going to end up
doing in this particular case
by following that formula is
moving off in that direction
right up to the steepest
part of the hill.
And how much we
move is a question.
So let's just have a rate
constant R that decides how
big our step is going to be.
And now you think we were done.
Well, too bad for our side.
We're not done.
There's a reason
why we can't use--

Korean: 
이제 우리가 해야 할 일은
만약 얘가
얘보다 훨씬 크면
우측으로 이동하라고
방향을 제시합니다
1801 강의에 따르면
이제 경사를 따라가야 합니다
w 벡터의 변화는
이걸 편미분 한 것에
i를 곱하고
이걸 편미분 한 것에
j를 곱한 걸 더한 것과 같아요
이제 문제를 끝내보도록 하죠
저 식에 따라 가장 가파른
오른-위 방향으로 올라갑시다
얼마나 움직였는지가
관건인데요
속도 상수 R이 있다고
가정해봅시다
한 번의 스텝이 얼마나
큰지 결정합니다
이제 다 끝났다고 생각하겠지만
안타깝게도 그렇지 않아요
우리가 이걸 사용하지
못하는 이유가 있어요

Korean: 
오르막을 만드는 것
여기서는 기울기가 되겠죠
성능 함수를 반대로 하려면
내리막이 되겠고요
왜 사용할 수 없을까요?
저 표시는
지역 최대값(local maximum)이에요
그게 맞아요
그런데 그게 첫 번째
문제가 아닙니다
왜 경사를 따라 오르는 게
적용되지 않을까요
(학생) 계단 함수를 사용해요
아
우리가 만든 함수에
문제가 있다고요
맞아요
비선형인 데다가
불연속입니다
경사 따라 오르기는
연속적인 공간
연속적인 표면에서만
가능합니다
우리에게 좋은
상황은 아니죠
아니에요
그럼 어떻게 해야 할까요?
아무도 25년 동안
어떻게 해야 할지 몰랐어요
25년간 신경망 학습 문제를
해결하지 못하다가

English: 
create ascent, or in the case
that I've drawn our gradient,
descent if we take the
performance function
the other way.
Why can't we use it?
AUDIENCE: Local maxima.
PATRICK WINSTON: The
remark is local maxima.
And that is certainly true.
But it's not our first obstacle.
Why doesn't gradient
ascent work?
AUDIENCE: So you're
using a step function.
PATRICK WINSTON: Ah,
there's something
wrong with our function.
That's right.
It's non-linear, but
rather, it's discontinuous.
So gradient ascent requires
a continuous space,
continuous surface.
So too bad our side.
It isn't.
So what to do?
Well, nobody knew what
to do for 25 years.
People were screwing around
with training neural nets

Korean: 
폴 월보스가 1974년 하버드에서
답안을 제시했습니다
이제 그 답이
뭐였는지 알려드릴게요
먼저, 저 임계 값이
골치덩어라리는 점입니다
우리가 상대해야 하는
추가적인 짐 같은 거예요
C가 XW와 T의
함수가 아니라
C'가 f' (X, W) 이어야
한다는 거죠
임계 값도 처리하긴
해야 하는데
어떻게 하는 건지
보여드리죠
이 뉴런에 다른 입력 값을
하나 추가하는 겁니다
가중치 W0를 
넣어볼게요
항상 -1 인 입력 값과도
연결되어 있습니다
따라오고 있죠?
다음으로 할 것은

English: 
for 25 years before Paul
Werbos sadly at Harvard in 1974
gave us the answer.
And now I want to tell
you what the answer is.
The first part of the answer is
those thresholds are annoying.
They're just extra
baggage to deal with.
What we really like instead of
c being a function of xw and t
was we'd like c prime
to be a function f
prime of x and the weights.
But we've got to account
for the threshold somehow.
So here's how you do that.
What you do is
you say let us add
another input to this neuron.
And it's going to
have a weight w0.
And it's going to be
connected to an input that's
always minus 1.
You with me so far?
Now what we're
going to do is we're

Korean: 
W0 = 2 라고 할 거예요
임계 값을 움직이는 것과
무슨 상관일까요
이게 임계 값을
0으로 돌려놓습니다
이 트릭이
분홍색 임계 값을 변화시키는데
새로운 임계 값 상자는
이렇게 생겼어요
생각해보세요
만약 이게 t이고 -1이면
-t가 되겠죠
그래서 만약 모든 게 끝나면
발화시켜버려요
합이 0을 넘어가면 말이죠
말이 되죠
우리의 임계 값
문제를 해결해줍니다
이제 가중치에 대해서만
신경 써주면 됩니다
우리는 아직
계단 함수를 가지고 있어요
별로 좋지 않아요
여기서 우리는

English: 
going to say, let w0 equal t.
What does that do to the
movement of the threshold?
What it does is it
takes that threshold
and moves it back to 0.
So this little trick here
takes this pink threshold
and redoes it so that the new
threshold box looks like this.
Think about it.
If this is t, and this is
minus 1, then this is minus t.
And so this thing ought to
fire if everything's over--
if the sum is over 0.
So it makes sense.
And it gets rid of the
threshold thing for us.
So now we can just
think about weights.
But still, we've got
that step function there.
And that's not good.
So what we're going
to do is we're

English: 
going to smooth that guy out.
So this is trick number two.
Instead of a step
function, we're
going to have this
thing we lovingly
call a sigmoid
function, because it's
kind of from an s-type shape.
And the function we're going
to use is this one-- one,
well, better make it a little
bit different-- 1 over 1 plus
e to the minus
whatever the input is.
Let's call the input alpha.
Does that makes sense?
Is alpha is 0, then it's 1
over 1 plus 1 plus one half.
If alpha is extremely big,
then even the minus alpha
is extremely small.
And it becomes one.
It goes up to an asymptotic
value of one here.
On the other hand, if alpha
is extremely negative,
than the minus alpha
is extremely positive.
And it goes to 0 asymptotically.
So we got the right
look to that function.

Korean: 
이걸 없애버릴 겁니다
이게 두 번째 트릭입니다
계단 함수 대신에
귀여운 시그모이드 함수를
사용합니다
S-타입 모양을 가졌거든요
우리가 사용할 함수는
이건데요
조금 다르게 만드는 게
낫겠어요
1 나누기 1 더하기
e에 마이너스 (입력 값)승을
해주면 됩니다
입력 값을 α라고 하죠
말이 되나요?
만약 α가 0이면
1 / (1+1) = 1/2 이죠
만약 α값이 매우 크다면
그럼 -α가 매우 작겠죠
그리고 1이 됩니다
점근선을 따라
1이 되네요
다른 한편 α가
매우 음의 값이라면
혹은 -α가
매우 양의 값이라면
점근적으로 0에 가까워집니다
함수를 잘 이해하고 있어요

English: 
It's a very convenient function.
Did God say that neurons
ought to be-- that threshold
ought to work like that?
No, God didn't say so.
Who said so?
The math says so.
It has the right shape
and look and the math.
And it turns out to
have the right math,
as you'll see in a moment.
So let's see.
Where are we?
We decided that
what we'd like to do
is take these
partial derivatives.
We know that it was awkward
to have those thresholds.
So we got rid of them.
And we noted that it was
impossible to have the step
function.
So we got rid of it.
Now, we're a situation
where we can actually
take those partial derivatives,
and see if it gives us
a way of training
the neural net so as
to bring the actual output into
alignment with what we desire.
So to deal with
that, we're going
to have to work with the
world's simplest neural net.
Now, if we've got one
neuron, it's not a net.

Korean: 
매우 유용한 함수입니다
신이 임계 값이 저렇게
쓰여야 한다고 말했나요?
아니요
신은 그러지 않았습니다
그럼 누가?
수학이 그랬죠
알맞은 형태와
수학을 가지고 있어요
알맞는 수학을
가지고 있습니다
곧 알게 될 겁니다
한 번 봅시다
어디까지 왔죠?
우리는 이 편미분 값을
사용하기로 했었죠
임계 값을 쓰는 게
애매하다는 걸 아니까
없애버렸고요
계단 함수를 쓰지
못한다는 걸 알아서
없애버렸죠
이제는 편미분 값을 가지고
신경망을 학습시킬 수
있는지 알아보고
결과 값을 우리가 원했던
상태로 정렬해보려고 합니다
그렇게 하려면
세상에서 가장 간단한
신경망으로 해볼 겁니다
뉴런이 하나면
'망'이 아니죠

English: 
But if we've got two-word
neurons, we've got a net.
And it turns out that's the
world's simplest neuron.
So we're going to look at it--
not 60 million parameters,
but just a few, actually,
just two parameters.
So let's draw it out.
We've got input x.
That goes into a multiplier.
And it gets multiplied times w1.
And that goes into a
sigmoid box like so.
We'll call this p1, by the
way, product number one.
Out here comes y.
Y gets multiplied
times another weight.
We'll call that w2.
The neck produces another
product which we'll call p2.
And that goes into
a sigmoid box.
And then that comes out as z.
And z is the number
that we use to determine
how well we're doing.

Korean: 
뉴런이 두 개면
망을 만들 수 있죠
그럼 그게 가장
간단한 신경망이네요
그걸 보도록 하죠
6천 만개의
매개 변수가 아니라
몇 개만 말이죠
아니 사실은 2개요
한 번 그려볼까요
입력 값 x가 있고
증폭기에 들어가면
W1이 곱해집니다
그리고 시그모이드
박스에 들어갑니다
이걸 P1라고 할게요
여기서 y가 나오고
y는 다른 가중치가
곱해집니다
W2라고 부를게요
이건 P2를 생성합니다
이건 시그모이드
상자에 들어가고
z가 됩니다
z는 우리가 얼마나
잘하고 있는지 알려주는
숫자가 될 겁니다

Korean: 
우리의 성능 함수 P는
- 1/2
방향성을 가지는 게
좋거든요
P = -1/2 (d - z)^2
편미분 값들이 어떻게 될지
결정해봅시다
이쪽에서 해볼게요
우리가 계산하려는 게 뭐죠?
성능 함수 P를
W2에 대해 미분합니다
좋아요
한번 봅시다
우리는 이게 얼마나
움직이는 지 알고 싶어요
이걸 움직일 때 말이죠

English: 
And our performance
function p is
going to be one
half minus one half,
because I like
things are going in
a direction, times the
difference between the desired
output and the actual
output squared.
So now let's decide what
those partial derivatives
are going to be.
Let me do it over here.
So what are we
trying to compute?
Partial of the performance
function p with respect to w2.
OK.
Well, let's see.
We're trying to figure
out how much this
wiggles when we wiggle that.

Korean: 
그런데 이게 P2를 통해
간다는 걸 알고 있죠
우리가 할 수 있는 건
P2를 움직였을 때
z가 얼마나 움직이는지와
w2를 움직일 때
P2가 얼마나 움직이는지
알아보는 것입니다
그리고 두 개를 곱해줍니다
까먹었어요
뭐라고 불렀었죠?
180x 같은 거에서
나왔는데
(학생) 연쇄 법칙
연쇄 법칙이요
우리가 할 건
연쇄 법칙을 이용해서
편미분을 다시 쓸 거예요
여기서 쓰이는 건
중간 변수가 있다는 거예요
그리고 이게 저게 움직이는 
것에 대해 얼마나 움직이는지를
다른 게 얼마나 움직이는지
곱해서 계산할 수 있습니다
여기 써볼게요
수학식으로 표현하면
더 이해가 잘 될 겁니다

English: 
But you know it goes
through this variable p2.
And so maybe what we
could do is figure
out how much this wiggles--
how much z wiggles
when we wiggle p2
and then how much p2
wiggles when we wiggle w2.
I just multiplied
those together.
I forget.
What's that called?
N180-- something or other.
AUDIENCE: The chain rule
PATRICK WINSTON: The chain rule.
So what we're going
to do is we're
going to rewrite that partial
derivative using chain rule.
And all it's doing is
saying that there's
an intermediate variable.
And we can compute how much
that end wiggles with respect
how much that end
wiggles by multiplying
how much the other guys wiggle.
Let me write it down.
It makes more sense
in mathematics.
So that's going to be
able to the partial of p
with respect to z times the
partial of z with respect
to p2.

Korean: 
∂P/∂z x ∂z/∂P2
잘 따라와야 합니다
∂P/∂z x ∂z/∂W2
제 자신을 싫어하게
만드는 걸 해볼겁니다
칠판에서 어떤 걸
지워버릴 거예요
하고 싶지 않지만
여러분은 제가 무엇을
할지 알고 있죠?
여기까지 연쇄 법칙에 의해
말이 되지만
이것 또한 연쇄 법칙을
적용할 수 있단 말이죠
사실 여기서 할 것은
∂z/∂P2 x ∂P2/∂W2
로 바꿔버릴 겁니다
결국에 지워버리지는
않았네요
이제 무엇을 할지
눈에 보이죠?
다른 편미분도
똑같이 할 거예요
이번에는 덮어쓰는 대신에

English: 
Keep me on track here.
Partial of z with respect to w2.
Now, I'm going to do something
for which I will hate myself.
I'm going to erase
something on the board.
I don't like to do that.
But you know what I'm
going to do, don't you?
I'm going to say this is
true by the chain rule.
But look, I can
take this guy here
and screw around with it
with the chain rule too.
And in fact, what
I'm going to do
is I'm going to replace
that with partial of z
with respect to p2 and partial
of p2 with respect to w2.
So I didn't erase it after all.
But you can see what
I'm going to do next.
Now, I'm going to
do same thing with
the other partial derivative.
But this time, instead of
writing down and writing over,

English: 
I'm just going to expand it
all out in one go, I think.
So partial of p
with respect to w1
is equal to the partial
of p with respect to z,
the partial of z with respect
to p2, the partial of p2
with respect to what?
Y?
Partial of y with respect
to p1-- partial of p1
with respect to w1.
So that's going like a zipper
down that string of variables
expanding each by
using the chain
rule until we got to the end.
So there are some
expressions that provide
those partial derivatives.

Korean: 
한 번에 풀어서 쓸 게요
∂P/∂W1 =
∂P/∂z x ∂z/∂P2 x ∂P2/∂y x ∂y/∂P1 x ∂P1/∂W1
지퍼를 내리는 것과
비슷해요
매개 변수들이 연쇄 법칙에
따라 확장되는 게 말이죠
마지막에 도달하기
전까지 말입니다
지금까지 편미분을
제공하는 수식이었습니다

Korean: 
여러분이 저를
용서해준다면
이렇게 쓰는 게
더 편했을 거예요
제 직관으로는 그렇습니다
그런데 저는
돌아갈 겁니다
그냥 곱하는 건데
조금 돌아가서 할 거예요
∂P2/∂w2 x ∂z/∂P2 x ∂P2/∂z
같은 겁니다
그리고 다음 것
꼭 따라와 주세요
여기서 실수하면
치명적이거든요
∂P1/∂w1 x ∂y/∂P1 x ∂P2/∂y x ∂z/∂P2 x ∂P/∂z

English: 
But now, if you'll
forgive me, it
was convenient to write
them out that way.
That matched the
intuition in my head.
But I'm just going
to turn them around.
It's just a product.
I'm just going to
turn them around.
So partial p2, partial
w2, times partial of z,
partial p2, times the
partial of p with respect
to z-- same thing.
And now, this one.
Keep me on track, because
if there's a mutation here,
it will be fatal.
Partial of p1-- partial
of w1, partial of y,
partial p1, partial of p2,
partial of y, partial of z.
There's a partial of p2,
partial of a performance
function with respect to z.

English: 
Now, all we have to do is figure
out what those partials are.
And we have solved
this simple neural net.
So it's going to be easy.
Where is my board space?
Let's see, partial of p2
with respect to-- what?
That's the product.
The partial of z-- the
performance function
with respect to z.
Oh, now I can see why I
wrote it down this way.
Let's see.
It's going to be d minus e.
We can do that one in our head.
What about the partial
of p2 with respect to w2.
Well, p2 is equal to y
times w2, so that's easy.
That's just y.

Korean: 
좋습니다
그다음에 우리는 편미분 값이
무엇인지 알아내고
간단한 신경망을 풀어냅니다
쉬울 겁니다
칠판 남는 공간이
어디 있을까요?
∂P2가... 
이건 곱셈입니다
z에 대해 성능 함수의
편미분 값은
이제 제가 왜 저렇게
썼는지 알겠네요
한번 봅시다
d - z 가 되겠네요
암산할 수 있어요
w2에 대해
P2의 편미분 값은 어떤가요
P2는 y 곱하기 w2와 같으니까
이건 쉽네요
그냥 y 입니다

Korean: 
이제 P2에 대해
z의 편미분 값을 구하면 됩니다
이 임계 값 상자를
통과합니다
그래서 정확한
편미분 값을 모릅니다
그럼 어떻게 구해야 할까요
이 식과 함수가 연관되어 있어요
알파에 대한 편미분
값을 알아내야 합니다
이걸 해야만 합니다
다른 방법이 없어요
뭘 하나를 지워야 하겠네요
우리의 뉴런을
지워보도록 하죠
우리가 다루고 있는 함수는

English: 
Now, all we have to do
is figure out the partial
of z with respect to p2.
Oh, crap, it's going
through this threshold box.
So I don't know exactly what
that partial derivative is.
So we'll have to
figure that out, right?
Because the function relating
them is this guy here.
And so we have to figure out
the partial of that with respect
to alpha.
All right, so we got to do it.
There's no way around it.
So we have to destroy something.
OK, we're going to
destroy our neuron.
So the function
we're dealing with
is, we'll call it
beta, equal to 1 over 1

Korean: 
β = 1 / ( 1+ e- α)
우리가 원하는 건
알파와 배타에 대한 미분 값이죠
이건 d/dα 와 같습니다
저 지수 방정식을
기억 못하겠어요
다른 방법으로 써볼게요
(1 - e^-α)^-1
공식이 생각이 안 나거든요
지수를 미분하는 거 말이에요
그럼 미분해봅시다
= 1 - (e^-α)^-2
앞에 -가 붙어요
그럼 안에 있는 식을
미분해볼게요
그걸 하면

English: 
plus e to the minus alpha.
And what we want
is the derivative
with respect to alpha of beta.
And that's equal to d by
d alpha of-- you know,
I can never remember
those quotient formulas.
So I am going to rewrite
it a little different way.
I am going to write it as 1
minus e to the minus alpha
to the minus 1, because I
can't remember the formula
for differentiating a quotient.
OK, so let's differentiate it.
So that's equal to 1 minus e to
the minus alpha to the minus 2.
And we got that minus comes
out of that part of it.
Then we got to differentiate
the inside of that expression.
And when we differentiate the
inside of that expression,

Korean: 
e^-α
(학생)
네?
(학생) 1 플러스가 되야 합니다
아 네 맞아요 고마워요
그런 치명적인 실수는
하면 안됩니다
1+ 가 되는 거고
여기도 그렇게 되네요
이걸 미분했으니까
-2로 바뀌고
마이너스 기호를
앞에 썼고
그다음으로 안쪽 값을
미분하고
지수는 지수이고
그리고서 이걸 미분합니다
그럼 마이너스 기호가
다시 없어지네요
그게 미분 값입니다
그게 얼마나 도움될지는
모르겠네요
여기서 속임수를 하나 써서
식을 다시 써보도록 하겠습니다
그럼 이 식이

English: 
we get e to the minus alpha.
AUDIENCE: Dr. Winston--
PATRICK WINSTON: Yeah?
AUDIENCE: That should be 1 plus.
PATRICK WINSTON: Oh,
sorry, thank you.
That was one of those fatal
mistakes you just prevented.
So that's 1 plus.
That's 1 plus here too.
OK, so we've
differentiated that.
We've turned that
into a minus 2.
We brought the
minus sign outside.
Then we're differentiating
the inside.
The derivative and the
exponential is an exponential.
Then we got to
differentiate that guy.
And that just helps us
get rid of the minus
sign we introduced.
So that's the derivative.
I'm not sure how much
that helps except that I'm
going to perform a parlor
trick here and rewrite
that expression thusly.
We want to say
that's going to be
e to the minus alpha over
1 plus e to the minus

Korean: 
(e^-α) / (1+e^-α) x 1 / (1 + e^-α)
좋습니까?
끄덕이는 사람들이 많네요
그럼 안전한 것 같습니다
그런데 여기서 다른
트릭을 하나 써볼 겁니다
여기에 1을 더하고
다시 1을 빼줍니다
어때요?
합법적이죠?
그럼 이걸 다시 써서
{(1+e^-α) / (1+e^-α) - 1 / (1+e^-α)}
x (1 / 1+e^-α)
고등학생들도 할 수 있는 거죠
안전한 것 같습니다

English: 
alpha times 1 over 1 plus
e to the minus alpha.
That OK?
I've got a lot of
nodding heads here.
So I think I'm on safe ground.
But now, I'm going to
perform another parlor trick.
I am going to add 1, which
means I also have to subtract 1.
All right?
That's legitimate isn't it?
So now, I can rewrite
this as 1 plus e
to the minus alpha over 1
plus e to the minus alpha
minus 1 over 1 plus e to the
minus alpha times 1 over 1 plus
e to the minus alpha.
Any high school
kid could do that.
I think I'm on safe ground.

English: 
Oh, wait, this is beta.
This is beta.
AUDIENCE: That's the wrong side.
PATRICK WINSTON: Oh,
sorry, wrong side.
Better make this
beta and this 1.
Any high school kid could do it.
OK, so what we've
got then is that this
is equal to 1 minus
beta times beta.
That's the derivative.
And that's weird
because the derivative
of the output with
respect to the input
is given exclusively
in terms of the output.
It's strange.
It doesn't really matter.
But it's a curiosity.
And what we get out of this is
that partial derivative there--
that's equal to well,
the output is p2.
No, the output is z.
So it's z time 1 minus e.
So whenever we see
the derivative of one
of these sigmoids with
respect to its input,
we can just write the output
times one minus alpha,

Korean: 
오 잠시만요
이것은 β고
이것도 β네요
(학생) 다른 쪽인 것 같습니다
오 죄송합니다 
잘못된 쪽이네요
이게 β고 이건 1이죠
고등학생들도 풀 문제입니다
우리가 지금 가진 건
이건 (1-β) x β 와 같습니다
이게 미분 값입니다
이상하죠
입력 값에 대한
출력 값의 미분 값은
출력 값에 독점적으로
주어졌기 때문이죠
이상하죠
그런데 큰 상관은
없습니다
그냥 궁금할 뿐이죠
여기서 얻을 수 있는 건
이 편미분 값이
출력이 P2이네요
아 출력이 z이네요
그럼 z 곱하기 (1-z) 입니다
이 시그모이드 중 하나의
입력 값에 대한 미분 값을 보면

English: 
and we've got it.
So that's why it's
mathematically convenient.
It's mathematically
convenient because when
we do this differentiation, we
get a very simple expression
in terms of the output.
We get a very simple expression.
That's all we really need.
So would you like to
see a demonstration?
It's a demonstration of
the world's smallest neural
net in action.
Where is neural nets?
Here we go.
So there's our neural net.
And what we're
going to do is we're
going to train it to
do absolutely nothing.
What we're going to do is
train it to make the output
the same as the input.
Not what I'd call a fantastic
leap of intelligence.
But let's see what happens.
Wow!

Korean: 
출력 값 곱하기
(1-α)를 하면 됩니다
그래서 수학적으로
계산하기 편합니다
미분을 할 때
출력에 대해 아주 
간단한 식을 얻습니다
아주 간단한 식을 얻어요
그게 우리가 필요한 전부 입니다
그래서 데모를 한번 볼까요?
세상에서 가장 작은
신경망에 대한 데모입니다
신경망이 어디있지?
여기 있네요
이게 우리의
신경망입니다
아무것도 하지 않게
학습시킬 겁니다
출력 값이 입력 값과
같도록 학습시킬 겁니다
대단한 지능이라고
할만한 것은 아니지만
어떤 결과가 나오는지
한번 봅시다
와우

Korean: 
아무 일도 일어나지
않고 있네요
어느 지점에 도달했습니다
최대 오차가
성능이 아니라
최대 오차가
임계값 밑으로 내려갔어요
이전에 정해뒀던
임계값 말이죠
여기 입력 값을 보고
오른쪽의 목표값과
비교해보면
출력 값이 목표값과 굉장히
비슷하다는 걸 알 수 있습니다
다른 방법으로도
테스트할 수 있습니다
여기서도 같은 결과가
나오는 걸 확인할 수 있어요
694번의 실행 끝에
결과가 나왔네요
다시 한 번 해봅시다
823번이네요

English: 
Nothing's happening.
Well, it finally
got to the point
where the maximum error,
not the performance,
but the maximum error
went below a threshold
that I had previously
determined.
So if you look at the
input here and compare that
with the desired output
on the far right,
you see it produces an output,
which compared with the desired
output, is pretty close.
So we can test the
other way like so.
And we can see that
the desired output
is pretty close to the actual
output in that case too.
And it took 694 iterations
to get that done.
Let's try it again.
To 823-- of course, this is all
a consequence of just starting

English: 
off with random weights.
By the way, if you started with
all the weights being the same,
what would happen?
Nothing because it would
always stay the same.
So you've got to put
some randomization
in in the beginning.
So it took a long time.
Maybe the problem is our
rate constant is too small.
So let's crank up the
rate counts a little bit
and see what happens.
That was pretty fast.
Let's see if it was a
consequence of random chance.
Run.
No, it's pretty fast there--
57 iterations-- third try-- 67.
So it looks like at my initial
rate constant was too small.
So if 0.5 was not
as good as 5.0,
why don't we crank it up
to 50 and see what happens.
Oh, in this case, 124--
let's try it again.

Korean: 
무작위의 가중치로
시작했기 때문입니다
만약에 모든 가중치가
같게하여 시작하면
어떤 일이 발생할까요?
아무 일도 일어나지 않습니다
그대로 유지되니까요
그래서 처음 시작할 때
무작위화가 필요합니다
오랜 시간이 걸렸네요
어쩌면 속도 상수가
너무 작아서 일 수도 있고
속도 상수를 조금 바꾸면
어떤 일이 일어나는지 봅시다
빠르네요
무작위 가능성인지
한번 봅시다
실행
57번 만에 됐어요
세 번째는 67번
아마 처음 속도 상수가
너무 작았나 봐요
0.5는 5.0만큼 좋지 않네요
50로 바꿔서 다시 한 번
돌려봅시다
124이네요
다시 해보죠

English: 
Ah, in this case 117-- so
it's actually gotten worse.
And not only has
it gotten worse.
You'll see there's a little a
bit of instability showing up
as it courses along its
way toward a solution.
So what it looks like is that
if you've got a rate constant
that's too small,
it takes forever.
If you've get a rate
constant that's too big,
it can of jump too far, as in
my diagram which is somewhere
underneath the board, you can
go all the way across the hill
and get to the other side.
So you have to be careful
about the rate constant.
So what you really
want to do is you
want your rate constant
to vary with what
is happening as you progress
toward an optimal performance.
So if your performance is going
down when you make the jump,
you know you've got a rate
constant that's too big.
If your performance is going
up when you make a jump,
maybe you want to
increase-- bump it up
a little bit until it
doesn't look so good.
So is that all there is to it?

Korean: 
117이에요
더 나빠졌어요
값이 나빠졌을 뿐 아니라
해답에 가까워 질수록
더 불안정해집니다
속도 상수 값이 너무 작으면
평생 걸립니다
속도 상수가 너무 크면
너무 멀리 가서
보드 밑 어딘가에 도표가 있어서
언덕 끝까지 가서
반대편으로 넘어간 게 됩니다
속도 상수에 대해
조심해야 합니다
여러분이 진짜로
해야 할 것은
최적의 성능을 보일 수 있도록
상황에 맞게 속도 상수를
바꾸는 것입니다
속도 상수를 올렸을 때
성능이 안 좋아지면
속도 상수가 너무
크다는 거고
성능이 좋아지면
더 좋아질 때까지
조금만 높여주면 됩니다
그럼 이제 끝이냐고요?

English: 
Well, not quite, because
this is the world's simplest
neural net.
And maybe we ought to
look at the world's
second simplest neural net.
Now, let's call this--
well, let's call this x.
What we're going to do is we're
going to have a second input.
And I don't know.
Maybe this is screwy.
I'm just going to
use color coding here
to differentiate between
the two inputs and the stuff
they go through.
Maybe I'll call this z2 and
this z1 and this x1 and x2.
Now, if I do that-- if I've
got two inputs and two outputs,
then my performance
function is going
to have two numbers in it-- the
two desired values and the two
actual values.
And I'm going to
have two inputs.
But it's the same stuff.

Korean: 
그렇지는 않습니다
이건 세상에서 가장 
간단한 신경망이거든요
세상에서 두 번째로 
간단한 신경망을
확인해 볼 필요가 있습니다
이걸 x라고 할게요
두 번째 입력 값을 넣고
모르겠어요
조금 이상한 것 같은데
색깔 코딩을 할게요
두 입력 값에 차이를
주기 위해서 말이죠
이걸 z2, z1이라고 할게요
이건 x1, x2요
두 개의 입력과
두 개의 출력 값이 있으면
성능 함수에 두 개의
숫자가 있을 겁니다
두 목표값과
두 실제값입니다
그리고 두 개의
입력 값이 있겠죠
똑같은 겁니다

Korean: 
흰 색을 주황색으로
반복하는 것뿐이에요
이걸 이렇게 하면
어떤 일이 일어날까요
작은 교차 연결을
넣어볼게요
두 개의 흐름이
상호 작용할 겁니다
y가 다른 증폭기에
들어갈 수도 있고
이 어딘가에
다시 들어갈 수도 있고
비슷하게 이게
여기로 들어가서
증폭기 같은 곳에요

English: 
I just repeat what I did in
white, only I make it orange.
Oh, but what happens if--
what happens if I do this?
Say put little cross
connections in there.
So these two streams
are going to interact.
And then there might
be some-- this y can
go into another multiplier
here and go into a summer here.
And likewise, this
y can go up here
and into a multiplier like so.

Korean: 
이곳 저곳에
가중치가 있고
이게 여기로 들어가고
그럼 무슨 일이 일어날까요
재앙이 일어났어요
경로가 너무 많아졌거든요
만약 이게 뉴런 두 개가 아니라
세 개가 연결되어 있었다면
이렇게 생긴 식을
찾아볼 수 있을 건데
여기서 출발해서
여기를 통과하고
이곳으로 빠져나올 겁니다
아니면 여기서 출발해서
다시 올라갈 수도 있어요
가능한 경로의 수가
기하급수적으로 늘어요
경우의 수가 다시 기하급수적으로
증가하게 되었습니다
그럼 안 되죠
수학이 우리에게 노래하도록 해야
동작할 것입니다
칠판을 다시 보도록 합시다

English: 
And there are weights all
over the place like so.
This guy goes up in here.
And now what happens?
Now, we've got a
disaster on our hands,
because there are all kinds
of paths through this network.
And you can imagine that if this
was not just two neurons deep,
but three neurons
deep, what I would find
is expressions that
look like that.
But you could go this way,
and then down through, and out
here.
Or you could go this way and
then back up through here.
So it looks like there is an
exponentially growing number
of paths through that network.
And so we're back to
an exponential blowup.
And it won't work.
Yeah, it won't
work except that we
need to let the math
sing to us a little bit.
And we need to look
at the picture.

English: 
And the reason I turned
this guy around was actually
because from a point of view
of letting the math sing to us,
this piece here is the
same as this piece here.
So part of what we
needed to do to calculate
the partial derivative
with respect to w1
has already been done
when we calculated
the partial derivative
with respect to w2.
And not only that,
if we calculated
the partial wit respect
to these green w's
at both levels, what
we would discover
is that sort of repetition
occurs over and over again.
And now, I'm going to try
to give you an intuitive
idea of what's going on here
rather than just write down
the math and salute it.
And here's a way to think
about it from an intuitive
point of view.
Whatever happens to this
performance function

Korean: 
이렇게 풀어서 쓴 이유는
수학적 관점에서 보기 위한 것이었고,
이 부분은 이 부분과 같습니다
w1에 대한 편미분을
위해 필요한 부분이
w2에 대해 편미분 할 때
이미 해놨던 거죠
그뿐만 아니라
초록색 w에 대해 편미분 값을
둘 다 미분하면
그런 반복이 계속 된다는
것을 알 수 있습니다
여기서 무슨 일이 일어나는지
직관적인 생각을 알아봅시다
그냥 수학식을 적어서
풀지 말고요
직관적인 관점에서
보는 방법을 알려드릴게요
성능 함수에 
무슨 일이 일어나든

Korean: 
이 P 뒤에 말이죠
저기에 있는 것들이
P에 영향을 끼치려면
P 열을 거쳐야만 합니다
제한된 숫자만큼 밖에 없고요
네트워크의 깊이가 아닌
너비와 연관되어 있습니다
P에 대해 저 뒤에
있는 것들의 영향력은
이것들을 통과하면서
끝나게 될 겁니다
이렇게 되면서
끝나요
한 열에서 우리가
계산해야 할 많은 부분이
오른쪽 열에서 이미 계산되어
있다는 걸 알게 될 겁니다
그래서 기하급수적으로
증가하지 않습니다
다시 말할게요
P의 변화가 성능에
미치는 영향은

English: 
that's back of these p's
here, the stuff over there can
influence p only
by going through,
and influence performance
only going through this column
of p's.
And there's a fixed
number of those.
So it depends on the width,
not the depth of the network.
So the influence of that
stuff back there on p
is going to end up going
through these guys.
And it's going to end
up being so that we're
going to discover that a lot of
what we need to compute in one
column has already been computed
in the column on the right.
So it isn't going to
explode exponentially,
because the influence-- let
me say it one more time.
The influences of changes of
changes in p on the performance

English: 
is all we care about when
we come back to this part
of the network, because
this stuff cannot influence
the performance except by going
through this column of p's.
So it's not going to
blow up exponentially.
We're going to be able to
reuse a lot of the computation.
So it's the reuse principle.
Have we ever seen the reuse
principle at work before.
Not exactly.
But you remember
that little business
about the extended list?
We know that we've
seen-- we know
we've seen something before.
So we can stop computing.
It's like that.
We're going to be able
to reuse the computation.
We've already done it to
prevent an exponential blowup.
By the way, for those of
you who know about fast
Fourier transform-- same
kind of idea-- reuse
of partial results.
So in the end, what can
we say about this stuff?

Korean: 
네트워크 뒤쪽 부분과만
연관이 있습니다
P 열을 통과하지 않고서
성능에 영향을 끼칠 수 없거든요
그래서 기하급수적으로
증가하지 않다는 겁니다
여러 계산을
다시 사용하기 때문이죠
재사용의 원칙입니다
이 원칙이 사용된 걸
본 적 있나요?
딱히 아니죠
확장된 리스트에 대한
비즈니스 문제가 생각나나요?
비슷한 걸 본 적
있다는 걸 아니까
계산을 멈출 수 있죠
그런 겁니다
계산을 다시 사용할 겁니다
기하급수적인 계산을
방지하기 위해
이미 그렇게 했습니다
빠른 푸리에 변환을
아는 사람
같은 맥락입니다
부분적 결과를
재사용하는 거죠
마지막으로 여기에 대해서
어떤 말을 할 수 있을까요?

Korean: 
깊이가 선형이라고
할 수 있습니다
층의 개수를 늘리면
깊이라고 하죠
그럼 계산 양을
늘려야 합니다
선형으로 말이죠
왜냐하면 어느 열에서든
필요한 계산은
정해져 있거든요
너비에 대해서는
어떠할까요?
너비에 대해서는
여기 있는 어떤 뉴런이든
다음 행에 있는 어떤
뉴런과도 연결될 수 있습니다
그래서 해야 될 일의 양은
연결의 개수와
비례합니다
너비에 대해서는
w^2가 됩니다
그런데 마지막에는
이것들이 순조롭게 계산됩니다
그리고 이것들은 25년 이상
간과되어 왔습니다

English: 
In the end, what we can say
is that it's linear in depth.
That is to say if we
increase the number of layers
to so-called depth,
then we're going
to increase the
amount of computation
necessary in a linear way,
because the computation we
need in any column
is going to be fixed.
What about how it goes
with respect to the width?
Well, with respect to
the width, any neuron
here can be connected to
any neuron in the next row.
So the amount of work
we're going to have to do
will be proportional to
the number of connections.
So with respect to width,
it's going to be w-squared.
But the fact is that in the end,
this stuff is readily computed.
And this, phenomenally enough,
was overlooked for 25 years.

Korean: 
그래서 결과가 어떨까요?
사실은 아주
간단한 생각입니다
모든 훌륭한 생각들은
간단합니다
왜 더 많지 않은거죠?
많은 경우에서 그 간단함이
트릭을 찾아내고
여러 관찰을
필요로 하기 때문이죠
보통 사람들은
트릭이나 관찰을 하나 이상
넘어가는 걸 힘들어합니다
만약 그것들 몇 개를
연결하면
엄청난 일이 일어나면서
매우 간단하게 풀려 버려요
그래서 재사용의 법칙을
사용하고
계산을 재사용한 거예요
여기서 기적은
두 개의 트릭과
하나의 관찰의 결과물입니다
결과적으로
모든 훌륭한 생각은 간단하고
25년 동안 간과되기
쉽다는 거죠

English: 
So what is it in the end?
In the end, it's an
extremely simple idea.
All great ideas are simple.
How come there
aren't more of them?
Well, because frequently,
that simplicity
involves finding
a couple of tricks
and making a couple
of observations.
So usually, we humans
are hardly ever
go beyond one trick
or one observation.
But if you cascade
a few together,
sometimes something
miraculous falls out
that looks in retrospect
extremely simple.
So that's why we got the
reuse principle at work--
and our reuse computation.
In this case, the
miracle was a consequence
of two tricks plus
an observation.
And the overall idea
is all great ideas
are simple and easy to
overlook for a quarter century.
