딥러닝 강의 정리(18)
-
Variational Autoencoders/Lec.18
Generative model generative model은 data x를 확률분포(probability distribution)으로 나타낸 모델이다. 몇게의 generative model을 보자면 multinomial PMF와 Gaussian PDF가 있다. 우선 multinomial PMF를 보자면 discrete하기 떄문에 P(x=v)를 P(v)라고 한다. Gaussian PDF는 아래와 같이 정의된다. 여기서 μ는 평균을 의미하고 Σ는 분산을 의미한다. generative model을 배운다는 것은 X={x}라는 observed data가 주어지면 P(x;θ)의(여기서 θ는 모델에 대한 parameter이다.) x에 대한 distribution model을 선택하여 그 X set에 가장 잘맞는 ..
2021.01.13 -
Hopfield Nets and Boltzmann Machines/Lec.17
Problem with Hopfield Network 지금까지본 hopfield network의 단점은 위에처럼 recall을하는데 원본과 완벽하게 똑같이 나오지 않는다는 것이다. 이것은 위처럼 parasitic memory가 생겨나기 때문이다. 저기도 minima이기때문에 evolve도중 저기에 갇혀버려서 나올 수 없어 위처럼 노이즈가 발생한다. 그래서 이것을 해결하기 위해서는 저기에 갇히는 것을 방지해야 한다. 그릴 위해서 원래 flip할때 에너지가 줄어드는 것만 형태만 받아들였는데 이제는 약간 증가해도 그 state를 가져가기로 한다. Spin Galsses를 다시 살펴보자. diapole은 위의 관계들을 가지며 에너지가 어떠한 local value에 converge할때까지 계속 변하게 된다. 그 ..
2021.01.12 -
Hopfield Nets and Boltzmann Machines/Lec.16
이제 전 강의에서 배웠던 모호한 것들을 명확히 이해해보자. 우선 몇가지 수기을 정리해보자. 먼저 Hebbian learning은 이다. 그리고 이떄 W를 매트리긋로 표현하면 다음과 같다. 간단히 증명해보자면 이 이유때문이다. 위는 하나의 패턴에 대한 w이고 여러개의 패턴에 대해서는 이기때문에 아래와 같다. 이제 이 W를 에너지식에 넣어보자. 에너지의 식은 이고 여기에 위의 W를 대입하면 이다. 여기서 는 어차피 y는 +1,-1로 이루어져있고 이 inner product는 각각의 element의 제곱의 합임으로 결국 element의 수와 같다. 이를 N이라고 두면 가 나온다. 여기서 첫쨰항은 을 weight로 사용한 에너지의 값이고 두번째 항은 위에서 정의한 full weight를 사용시의 에너지 이다. ..
2021.01.12 -
Hopfield Nets and Auto Associators/Lec.15
Hopfield Net Hopfiled network는 위처럼 어떤 뉴런의 output이 동시에 어떤 뉴런에 영향을 주는 것을 이야기한다. 위의 네트워크는 각각의 퍼셉트론이 +1/-1의 output을 가지고있다. 매 시간 마다 뉴런은 "filed"라고 하는 를 받아서 그것의 부호가 현재 자기의 부호와 일치하면 반응이 없고 다르다면 'flip'을 해서 그 field와 부호를 일치시킨다. 이 관계는 아래와 같다. 예를들어 위의 관계에서 노란색 node가 -1, 검정색 node가 +1이고 빨간색 edge가 +1, 파란색 edge가 -1일때 위에 표시한것처럼 wy가 -1이되어 검정색 노드가 +에서 그 부호와 맞추기 위해 -가 된다. 이 과정을 반복하면 이런식으로 반복된다. 그렇다면 이러한게 영원히 반복될까? 결..
2021.01.11 -
Representation/Lec.14
우리가 네트워크를 만들고 훈련을 시키는 이유는 여러 training data들을 알맞게 분류를 시키기 위해서 이다. 아래처럼 말이다. 하지만 실제로는 이렇게 data들이 깔끔하게 분리되어있는 것이 아닌 이렇게 산발로 되어있다. 그리고 우리는 이상태를 분류해야 한다. 아래의 예를 보자. 빨간색이 1이고 파란색이 0이라고 할때 linear한 선으로는 이 두가지 상태를 분리할 수 없다. 왜냐하면 이 것을 자세히 보면 이렇게 같은 x값을 가지는데 서로다른 y값을 가지는 data도 존재하기 때문이다. 이런 상황을 분리하기 위해 조건부확률을 가져왔다. 예를들어 전체중 1이 될 확률은 90/100인 것이다. 이를 수식으로 나타내면 가 된다. 하지만 위에서 모든 data들이 깔끔하게 떨어져있지 않다고 하였다. 실제로는..
2021.01.09 -
Sequence to Sequence Models : Attention Models /Lec 13.
전 강의에서는 input이 output보다 더 긴 경우의 sec to sec를 보았다. 이번에는 output이 더 긴 경우를 보려고 한다. 기본적인 원리는 아래와 같다. 우선 input W1,W2,W3을 통해 네트워크를 학습시킨 다음 마지막 input인 W3이우헤 네트워크는 각 symbol에 대한 확률인 y를 만든다. 거기서 output을 고른다음 그것을 W4라고 한다. 그 W4를 input이라고 생각하고 다음 단계에서 같은 것을 반복한다. 이를 계속 반복하면 된다. 그렇다면 언제까지 반복하면 될까? 이를 위해 새로운 symbol 2개를 추가한다. 하나는 이고 다른 하나는 이다. 는 Start Of Sentence이며 문장의 시작을 의미하고 는 End of Sentence로 문장의 끝을 의미한다. 이를 ..
2021.01.08 -
Sequence to Sequence Models/Lec.12
Sequence to Sequence Modeling 지금까지 본것은 input과 output의 갯수가 딱 맞는 경우를 살펴보았다. 하지만 실제로는 아닌 경우가 더 많다. 예를 들어 Speech recognition에서 speech가 15초짜리이고 거기서 나오는 word가 5문장일때 이는 input과 output이 서로 갯수가 다르게 된다. 또다른 예로는 번역기에서 15글자의 영어 단어를 넣었을때 한국어로는 2개의 글자로된 단어가 나오는 경우가 있다. 이때도 input과 output이 서로 다르게 된다. 이렇게 input order과 output order이 다르게 되는 것이다. 이는 기존의 방식대로 할 수 없는것이 이렇게 output이 input의 어느 위치에 들어오는지를 speech를 다 듣기 전에는..
2021.01.07 -
Recurrent Networks Part3/Lec.11
Divergence RNN에서 가장 애매한 부분이 divergence를 정의하는 것이다. output을 시간별로 끊어서 봐야할지 통째로 봐야할지 애매하기 때문이다. 먼저 MLP Processing을 보자. 이것은 사실 RNN이라고 할 수는 없다. Recurrence하지 않고 각각이 individual하기 때문이다. 따라서 각각의 시간별로 output은 그 전시간의 output과 관련이 없어 따로 생각하면 된다. 우리가 backpropagation으로 찾으려 하는 것은 이며 이는 DIV가 이렇게 각시간별로 따로 divergence를 곱한다음 그것의 weighted sum임으로 이것을 미분하면 가 나옴을 알 수 있다. 그리고 일반적으로 divergence function으로는 Xent function인 cr..
2021.01.07 -
Recurrent Networks: Stability analysis and LSTMs/ Lec.11
RNN의 강점 위에서 행이 output, 열이 input이라고 해보자. 그리고 각각의 색칠된 곳의 의미는 2진법 계산에서 예를들어 0+1=01임으로 input이 01, output이 01인곳에 색칠이 되있는 것이다. 위와 같은 이진법 계산을 MLP를 이용해 training을 해본다고 생각하면 우리는 1비트짜리 2개의 input계산을 위해서 2^4만큼의 training data가 필요할 것이다. 모든 패턴을 보아야 하기 때문이다. 만약 2비트짜리 2개 계산이라면 여기서 필요한 training data는 exponential하게 증가할 것이다. 또한 MLP자체가 고정되어있음으로 위의 경우에서 만약 2비트짜리 input 2개를 넣으면 에러가 날 것이다. 그렇다면 이러한 경우를 RNN을 이용하여 훈련시키면 어떻..
2021.01.06 -
Recurrent Networks 1/Lec. 10
Speech recognition, document analyze, identify topic, 주식 시장 예측등은 앞에서의 CNN으로는 한계가 있다. 앞에 언급한 것들은 모두 시간의 순서라는 조건이 붙기 때문이다. 이들을 네트워크에 넣는다면 input은 sequence of vector이 될 것이다. 주식 시장 예측 네트워크를 예를 들어보자. 주식 시장을 예측하려면 현재도 중요하지만 과거의 패턴 또한 중요하다. 따라서 아래처럼 나타낼 수 있다. 위는 과거 3개분의 시간과 현재를 input으로 넣은 convolution neural network이다. 위와 같은 모양을 CNN때 보았는데 Time-Delay nerual network이다. 여러개의 input을 동일한 네트워크에 넣으면서 scan 하는 것이..
2021.01.06