{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# GANs (Generative Adversarial Networks)\n", "\n", "

2017.05.10 조준우 metamath@gmail.com

\n", "\n", "
\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 정보 엔트로피Information Entropy\n", "
\n", "
\n", "어떤 확률변수 $X$와 확률분포 $P(X=x)$가 있을 때 '확률 분포에 담긴 불확실성의 한 척도'의 개념으로 엔트로피를 사용합니다. 그 확률 분포를 따르는 확률변수의 값을 예측하기 위해 고려해야할 사항이 많다면, 즉, 불확실성이 크다면 엔트로피는 큰것입니다. 시스템의 질서가 너무 잘 잡혀 있어서 쉽게 예측 가능하다면 무질서도가 낮아 엔트로피가 낮은 것입니다. 정보이론에서 이를 어떻게 정의하는지 실례를 들어 간단하게 알아보도록 하겠습니다. \n", "아래 내용은 칸아카데미 정보엔트로피 강의 [1]를 참고하여 작성하였습니다. \n", "
\n", "어떤 시스템이 1, 2, 3, 4를 출력하는데 숫자 4개가 아래 그림처럼 배치되어 있고, 한번에 해당 숫자에 불 들어온다고 합시다. 1000번정도 시행해 봤더니 1, 2, 3, 4 모두 딱 250번씩 출력했다고 가정합니다. 이 시스템은 1, 2, 3, 4 라는 실수값에 함수값 0.25를 할당하는 확률질량함수 $P(X)$를 확률 분포로 가지는 이산확률변수 $X$ 라고 할수 있습니다. 1001번째 숫자가 출력 되었을 때 이 숫자가 무엇인지 알아내기 위해 우리는 어떤 것을 고려해야 할까요? 다시 말해 어떤 질문들을 던져야 할까요? 가장 쉽게는 1인가요? 2인가요? 3인가요? 라고 3번 묻는다면 그중 한번은 정답을 줄것입니다. 운이 좋다면 한번에 맞추고 운이 나쁘다면 3번이나 질문을 해야 합니다. 하지만 시스템은 정확히 동일한 확률로 숫자를 출력하므로 이렇게 물어 볼 수 있습니다. \n", "
\n", "\n", "\n", "[1] 지금 출력된 숫자가 위쪽 두개인가요?
\n", "[2] 왼쪽에 있는 숫자인가요?\n", "
\n", "

\n", "예를 들어 출력된 숫자가 1이라고 하면 1번 질문에 예라고 대답할 것이고, 이어서 2번 질문에 예라고 답할 것이므로 우리는 1번이 출력되었음을 알 수 있습니다. 4를 출력했다면 1번 질문에 아니오, 2번 질문에 아니오라고 대답할 것이므로 역시 4번이 출력되었음을 알 수 있습니다. 즉, 위와 같이 질문을 하면 1, 2, 3, 4 모든 숫자에 대해 질문 2번만에 현재 출력된 숫자를 정확히 예측할 수 있습니다. 또는 질문을 \"[1] 1 또는 2 입니까?\" [1]에 대해서 예라면 \"[2] 1입니까?\" 아니오라면 \"[2] 3입니까?\"로 하여도 결과는 동일합니다. \n", "
\n", "\n", "

\n", "질문과 결정을 트리 형태로 표현하면 위와 같이 표현할 수 있습니다. 1001번째 나온 숫자가 1인지 알아내는데 필요한 질문수 2개, 2인지 알아내는데 필요한 질문수 2개, 숫자 3, 4 역시 질문수 2개가 필요합니다. 그래서 평균을 내면 숫자를 예측하는데 2번의 질문이 필요함을 알 수 있습니다. 이를 각 숫자에 해당하는 질문수를 $q_i$ 라 두고 식으로 써보면 평균질문수 또는 질문수의 기대값은 다음과 같습니다.\n", "

\n", "$$\n", "\\begin{align}\n", "\\mathbb{E}(q)\n", "&= \\frac{250 \\times q_{1} + 250 \\times q_{2} +250 \\times q_{3}+250 \\times q_{4}}{1000} \\\\[3pt]\n", "&= \\frac{250}{1000}q_{1}+\\frac{250}{1000}q_{2}+\\frac{250}{1000}q_{3}+\\frac{250}{1000}q_{4}\n", "\\end{align}\n", "$$\n", "
\n", "입니다. 여기에서 $\\frac{250}{1000}$은 각 숫자의 확률이 되므로 다시 쓰면\n", "

\n", "$$\n", "\\mathbb{E}(q) = P(X=1)q_{1}+P(X=2)q_{2}+P(X=3)q_{3}+P(X=4)q_{4}\n", "$$\n", "
\n", "입니다. 여기에서 질문수 $q_{i}$는 위 이진트리에서 얼마나 깊이 내려 갔는가와 일치 합니다. 이진 트리에서 깊이는 $\\log_{2}(\\text{#node})$ 이므로 \n", "다시 쓰면

\n", "$$\n", "\\begin{align}\n", "\\mathbb{E}(q) \n", "&= P(X=1)\\log_{2}4+P(X=2)\\log_{2}4+P(X=3)\\log_{2}4+P(X=4)\\log_{2}4 \\\\[3pt]\n", "&= \\sum_{i=1}^{4} P(X=x_{i})\\log_{2}4 \\\\[3pt]\n", "&= -\\sum_{i=1}^{4} P(X=x_{i})\\log_{2}\\frac{1}{4}\n", "\\end{align}\n", "$$\n", "
\n", "마지막 줄에서 $\\frac{1}{4}$는 각 숫자에 대한 확률과 일치하므로 최종적으로 다음과 같이 쓸 수 있습니다.\n", "

\n", "$$H(X)= -\\sum_{i=1}^{4} P(X=x_{i})\\log_{2}P(X=x_{i})$$\n", "
\n", "위 식이 이산 확률변수에 대한 정보 엔트로피의 정의입니다. 출력되는 숫자의 확률이 모두 동일하므로 다음에 무엇이 나올지 예측하기가 정말 어려운 시스템이고, 이는 이 시스템이 우리에게 주는 정보가 많다는 것을 의미합니다. 정보가 많아서 불확실성이 증가하고 곧 엔트로피가 높다는 말이 됩니다.\n", "
\n", "그럼 확률이 서로 다른 경우는 어떻게 될까요? 예를 들어 1이 500번, 2가 125번, 3이 125번, 4가 250번 나온 시스템이라고 가정을 해보겠습니다. 이 시스템은 1, 2, 3, 4 라는 실수값에 함수값 0.5, 0.125, 0.125, 0.25를 할당하는 확률질량함수 $Q(X)$를 확률 분포로 가지는 이산확률변수 $X$ 라고 할수 있습니다. 그렇다면 얼핏 생각해도 1001번째 나올 수는 1이 될것같다는 느낌이 절반 정도는 듭니다. 돈을 건다면 1에 걸면 딸 확률이 50%나 됩니다. 1이 아니라면 4가 될것입니다. 이처럼 확률분포가 불확실성을 떨어트려서 예측이 쉬워졌습니다. 위에서 이야기한 평균 질문수 즉, 엔트로피는 이런 상황을 정량적으로 기술 할 수 있게 해주는 도구입니다. 실제로 계산을 해보도록 하겠습니다.\n", "\n", "\n", "\n", "확률분포에 의해 가장 먼저 1인가를 물어봐야 합니다. 절반 정도는 한번 질문에 1임을 확인할 수 있고, 아니라면 4인가를 물어보는 것이 가장 합리적입니다. 그래도 아니면 그때는 2,3이 나올 확률은 동일하므로 아무것이나 물어봐도 됩니다. 위 계산을 이 시스템에서 다시 반복해보면 $q_{1}=1$, $q_{2}=3$, $q_{3}=3$, $q_{4}=2$ 이므로 아래와 같습니다.\n", "

\n", "$$\n", "\\begin{align}\n", "\\mathbb{E}(q)\n", "&= \\frac{500 \\times q_{1} + 125 \\times q_{2} + 125 \\times q_{3}+ 250 \\times q_{4}}{1000} \\\\[4pt]\n", "&= \\frac{500}{1000}q_{1}+\\frac{125}{1000}q_{2}+\\frac{125}{1000}q_{3}+\\frac{250}{1000}q_{4} \\\\[4pt]\n", "&= \\frac{500}{1000}\\times 1+\\frac{125}{1000}\\times 3+\\frac{125}{1000}\\times 3+\\frac{250}{1000}\\times 2 \\\\[4pt]\n", "&= Q(X=1)\\log_{2}2 + Q(X=2)\\log_{2}8 + Q(X=3)\\log_{2}8 + Q(X=4)\\log_{2}4 \\\\[4pt]\n", "&= \\left(-Q(X=1)\\log_{2}\\frac{1}{2}\\right) + \\left(-Q(X=2)\\log_{2}\\frac{1}{8}\\right) + \\left(-Q(X=3)\\log_{2}\\frac{1}{8}\\right) + \\left(-Q(X=4)\\log_{2}\\frac{1}{4}\\right) \\\\[4pt]\n", "&= -Q(X=1)\\log_{2}Q(X=1)-Q(X=2)\\log_{2}Q(X=2)-Q(X=3)\\log_{2}Q(X=3)-Q(X=4)\\log_{2}Q(X=4) \\\\[4pt]\n", "&= - \\sum_{i=1}^{4} Q(X=x_{i})\\log_{2}Q(X=x_{i}) = 1.75\n", "\\end{align}\n", "$$\n", "
\n", "위 확률이 동일한 경우와 비교해보면 엔트로피가 줄었다는 것을 알 수 있습니다. 예측이 쉬워졌고 이는 불확실성이 떨어졌다는 것을 의미하며 시스템이 주는 정보가 줄었다는 의미입니다.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 크로스엔트로피Cross Entropy\n", "
\n", "
\n", "이전까지의 내용을 보면 한가지 이상한 점이 있습니다. 바로 우리가 만든 \"질문 방식\"입니다. $P(X)$를 확률분포로 가지는 시스템에서 적용한 질문 방식과 $Q(X)$에서 사용한 질문 방식이 서로 다릅니다. 무엇을 근거로 우리는 질문 방식을 다르게 했던것일까요? 바로 각 시스템의 확률분포를 보고 질문을 결정했습니다. 각 확률분포에 적합한 질문 방식이 있는것이고 질문을 잘 해야 질문번수를 최대한 줄일 수 있습니다. 그런데 $P(X)$를 확률분포로 가지는 시스템에서 사용한 질문 즉, \"1 또는 2입니까?\"라고 첫 질문을 하는 것은 다분히 감각적이라는 느낌 마져 듭니다. 첫번째 시스템에서 모든 숫자에 똑같은 확률이 분포 되어 있으니 첫 질문을 \"1 또는 2입니까?\"라고 하면 최적으로 질문을 할 수 있겠다는 생각을 하지 못한다면 어떻게 될까요?(이렇게 생각하는게 쉬운가요?) 그냥 우리가 하고 싶은데로 아무렇게나 질문을 했다면 어떻게 될까요? 어떤식의 선택을 하든지 쓸데없는 질문을 한두번 더하게 될것이고 따라서 엔트로피는 증가하게 될것입니다. \n", "정리하면 시스템이 출력하는 심볼을 식별(identify)하기 위해 질문을 만들어야 하고(coding), 어떤 코딩 방식(coding scheme)을 통해 만들어야 쓸데없는 질문이 들어가지 않는지(code가 길어지지 않는지)는 시스템의 확률분포에 달려 있습니다. 시스템의 실제 확률분포와 다른 확률분포에 의해 만들어진 코딩 방식으로 코딩된 코드의 길이(다르게 말하면 질문의 수)를 실제 확률분포 상에서 평균을 내면 어떻게 될까요? 예를 들어 코딩은 $Q(X)$에서하고 그것을 $P(X)$에서 평균을 내는것입니다.
\n", "
\n", "$$\n", "\\begin{align}\n", "\\mathbb{E}(q) \n", "&= \\frac{250 \\times q_{1} + 250 \\times q_{2} + 250 \\times q_{3}+ 250 \\times q_{4}}{1000} \\\\[4pt]\n", "&= \\frac{250}{1000}q_{1}+\\frac{250}{1000}q_{2}+\\frac{250}{1000}q_{3}+\\frac{250}{1000}q_{4} \\\\[4pt]\n", "&= \\frac{250}{1000}\\times 1+\\frac{250}{1000}\\times 3+\\frac{250}{1000}\\times 3+\\frac{250}{1000}\\times 2 \\\\[4pt]\n", "&= P(X=1)\\log_{2}2 + P(X=2)\\log_{2}8 + P(X=3)\\log_{2}8 + P(X=4)\\log_{2}4 \\\\[4pt]\n", "&= \\left(-P(X=1)\\log_{2}\\frac{1}{2}\\right) + \\left(-P(X=2)\\log_{2}\\frac{1}{8}\\right) + \\left(-P(X=3)\\log_{2}\\frac{1}{8}\\right) + \\left(-P(X=4)\\log_{2}\\frac{1}{4}\\right) \\\\[4pt]\n", "&= -P(X=1)\\log_{2}Q(X=1)-P(X=2)\\log_{2}Q(X=2)-P(X=3)\\log_{2}Q(X=3)-P(X=4)\\log_{2}Q(X=4) \\\\[4pt]\n", "&= - \\sum_{i=1}^{4} P(X=x_{i})\\log_{2}Q(X=x_{i}) = 2.25\n", "\\end{align}\n", "$$\n", "
\n", "엔트로피가 증가함을 확인할 수 있습니다. 아래 표는 이런 상황에 대한 계산을 정리하여 엔트로피를 구한것입니다. 코딩을 위해 가정한 확률분포가 실제 확률분포와 다를 경우 엔트로피는 증가함을 확인할 수 있습니다.\n", " \n", "위와 같이 원래의 확률분포와는 다른 확률분포로 엔트로피를 구한 것을 크로스엔트로피라고 합니다. 위키 [2]에는 다음과 같이 되어 있습니다. \n", "
\n", "\n", ">\"Cross entropy can be interpreted as the expected message-length per datum when a wrong distribution $Q$ is assumed while the data actually follows a distribution $P$.\"\n", "\n", "
\n", "식은 다음과 같습니다.\n", "

\n", "$$H(P,Q)= -\\sum_{i=1}^{N} P(X=x_{i})\\log_{2}Q(X=x_{i})$$\n", "
\n", "아래는 엔트로피를 구하는 실험 코드입니다. 인위적으로 앞에서 예를 든 $P(X)$, $Q(X)$를 만들고 각 분포에 대해 다른 방식으로 질문을 해서 얻어지는 평균 질문수가 엔트로피 값에 근접해가는지 확인 해보도록 하겠습니다.\n", "\n", "
\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "H(P(X)) = 2.0\n", "H(Q(X)) = 1.733\n", "H(P(X),Q(X)) = 2.268\n" ] } ], "source": [ "import random\n", "\n", "#동일한 비율로 2000개 샘플을 만든다.\n", "P = [1]*500 + [2]*500 + [3]*500 + [4]*500\n", "\n", "#무작위로 섞어 버리고\n", "random.shuffle(P)\n", "q = q2 = 0\n", "\n", "#1000개만 뽑아서 질문을 한다.\n", "#위에서 H(P)를 구할 때 처럼 1또는 2입니까? 를 먼저 질문한다.\n", "for x in P[:1000] :\n", " q2 += 1\n", " if x == 1 or x == 2: \n", " q2 += 1\n", " if x == 1:\n", " pass #print(q2)\n", " else :\n", " pass #print(q2)\n", " else :\n", " q2 += 1\n", " if x == 3:\n", " pass #print(q2)\n", " else :\n", " pass #print(q2)\n", " q += q2\n", " q2 = 0\n", "\n", "print(\"H(P(X)) = {}\".format(q / 1000))\n", "\n", "#50%, 12.5%, 12.5%, 25%로 샘플을 만들고 \n", "Q = [1]*1000 + [2]*250 + [3]*250 + [4]*500\n", "random.shuffle(Q)\n", "q = q2 = 0\n", "\n", "#위에서 H(Q)를 구할 때 처럼 1번입니까? 4번입니까? 순으로 질문한다.\n", "for x in Q[:1000] :\n", " q2 += 1\n", " if x == 1 :\n", " pass#print(q2)\n", " else :\n", " q2 += 1\n", " if x == 4 :\n", " pass#print(q2)\n", " else :\n", " q2 += 1\n", " if x == 3:\n", " pass#print(q2)\n", " else :\n", " pass#print(q2)\n", " q += q2\n", " q2 = 0\n", "\n", "print(\"H(Q(X)) = {}\".format(q / 1000))\n", "\n", "q = q2 = 0\n", "\n", "#동일한 비율로 숫자가 존재하는 샘플 P를 대상으로 Q방식으로 질문한다.\n", "#H(P,Q)\n", "for x in P[:1000] :\n", " q2 += 1\n", " if x == 1 :\n", " pass#print(q2)\n", " else :\n", " q2 += 1\n", " if x == 4 :\n", " pass#print(q2)\n", " else :\n", " q2 += 1\n", " if x == 3:\n", " pass#print(q2)\n", " else :\n", " pass#print(q2)\n", " q += q2\n", " q2 = 0\n", "\n", "print(\"H(P(X),Q(X)) = {}\".format(q / 1000))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "실제 우리의 계산 결과에 수렴하는것을 실험적으로도 확인할 수 있습니다." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 쿨백-라이블러 발산Kullback–Leibler divergence, KLD\n", "
\n", "
\n", "위에서 엔트로피와 크로스엔트로피를 알아봤습니다. 이 둘을 이용하여 서로 다른 두 이산확률변수의 확률분포 $P$와 $Q$가 있다고 할때 이 둘의 엔트로피 차이를 정의할 수 있습니다.\n", "\n", "즉, $H(P,Q)-H(P)$ 로 정의를 하면 다음과 같고 이를 쿨백-라이블러 발산이라 합니다.\n", "

\n", "$$\n", "\\begin{align}\n", "D_{KL}(P || Q) \n", "&=H(P,Q)-H(P) \\\\[4pt]\n", "&= -\\sum_{i=1} P(X=x_{i}) \\log Q(X=x_{i}) - \\left( -\\sum_{i=1} P(X=x_{i}) \\log P(X=x_{i}) \\right)\\\\[4pt]\n", "&= -\\sum_{i=1} \\left( P(X=x_{i}) \\left( \\log Q(X=x_{i}) - \\log P(X=x_{i}) \\right) \\right) \\\\[4pt]\n", "&= -\\sum_{i=1} P(X=x_{i}) \\frac{\\log Q(X=x_{i})}{\\log P(X=x_{i})} \\\\[4pt]\n", "&= \\sum_{i=1} P(X=x_{i}) log \\frac{P(X=x_{i})}{Q(X=x_{i})} \\\\[4pt]\n", "\\end{align}\n", "$$\n", "
\n", "\n", "두 확률분포의 상대적인 엔트로피를 나타내는 $D_{KL}$은 크로스엔트로피에 엔트로피를 뺀 것으로 항상 0보다 같거나 크며, 볼록함수Convex Function인 특징을 가지고 있습니다. 예를 들어 $P(X)$는 평균 6, 표준편차 1.5인 정규분포, $Q(X)$를 평균 0, 표준편차 1인 정규분포라 하면 $P(X)$, $Q(X)$를 확률분포로 가지는 두 확률변수로 부터 $D_{KL}$을 계산하면 0보다 큰 양수가 나오게 됩니다. $Q$가 $P$와 비슷해지면 값은 점점 작아지다 $P$와 동일해 지면 0이 됩니다. \n", "\n", "\n", "\n", "하여튼 이 분포에서 임의로 5개씩 샘플을 추출하면 $P(X)$는 6 근처의 값이, $Q(X)$는 0 근처의 값이 추출될 것입니다. 이것이 GANs과 무슨 상관이 있는지 GANs 관점에서 이야기해보면 $P(X)$가 진짜 실세계의 확률분포라면 $Q(X)$에서 추출된 샘플은 쉽게 진짜가 아니라는 것을 알 수 있습니다. 만약 $Q(X)$의 분포를 조정해서 $P(X)$와 유사하게 만든다면 $Q(X)$에서 추출된 샘플을 $P(X)$에서 추출된 샘플과 구별할 수 없게 될것입니다. GANs의 핵심이 바로 $Q(X)$를 조정해서 $P(X)$와 같게 만드는 과정입니다. 어떻게 조정하는지 구체적인 이야기는 차차 하도록하고 여기서는 $D_{KL}$을 목적함수로 이용하여 확률분포 $P$, $Q$의 차이를 줄이는 최적화 과정을 실습해보겠습니다. \n", "$D_{KL}$은 확률분포 $Q(X)$ 도메인에서 볼록함수이고 볼록성에 대한 증명은 CSE 533: Information Theory in Computer Science [3] 세번째 강의 노트에서 확인할 수 있습니다. 하지만 우리 실험에서는 정규분포의 평균과 표준편차를 설계변수로 하고 쿨백-라이블러 발산을 코스트로 사용하면서 경사하강법을 적용할 것입니다. $D_{KL}$은 확률분포 $Q(X)$ 도메인에서 볼록함수이나 $Q(X)$의 평균과 표준편차에 대해서는 볼록성이 보장되지 않으므로 경사하강법이 잘 동작하기 위해서는 $D_{KL}$이 매개변수 공간에서 볼록한지 확인해봐야 합니다. 정규분포간의 쿨백-라이블러 발산이 매개변수 공간에서 볼록한지 엄밀하게 보이기 보다 여기서는 간단히 그래프를 통해서 확인해보도록하겠습니다.\n", "(TF-KR의 김성엽님께서 $D_{KL}$의 볼록성은 확률분포함수 공간에서 보장되지 함수의 매개변수 공간에서까지 보장되는 것이 아님을 코멘트해주셔서 오류를 수정했습니다.)\n", "
" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "\"\"\"\n", "쿨백-라이블러 발산 그래프 그리기\n", "\"\"\"\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "#A normal continuous random variable.\n", "from scipy.stats import norm\n", "from scipy import stats\n", "\n", "def cost(mu, sigma) :\n", " P = norm(6, 1.5)\n", " Q = norm(mu, sigma)\n", " x = np.linspace(-10, 10, 100)\n", "\n", " return stats.entropy(P.pdf(x), Q.pdf(x))\n", " \n", "mus = np.linspace(4, 8, 100)\n", "sigmas = np.linspace(0.5, 2.0, 100)\n", "MUS, SIGMAS = np.meshgrid(mus, sigmas)\n", "\n", "#X,Y를 순회하면서 cost를 계산해서 cost를 reshape\n", "Z = np.array([cost(mu, sigma) for mu, sigma in zip(MUS.reshape(-1), SIGMAS.reshape(-1))]).reshape(MUS.shape)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "levels1 = np.linspace(0, 0.1, 5)\n", "levels2 = np.linspace(0.2, 2, 10)\n", "\n", "CS = plt.contour(MUS, SIGMAS, Z, levels=np.concatenate((levels1, levels2)))\n", "plt.clabel(CS, inline=1, fontsize=10)\n", "plt.title('Convexity of DKL')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "6, 1.5 에서 최솟점이 생기는 것을 확인할 수 있고 그래프상 볼록함수로 보입니다. 이제 $\\mu$, $\\sigma$에 대해 수치 미분을 하면서 경사하강법을 이용해서 최적화를 하도록 하겠습니다. 즉, $Q(x;\\boldsymbol{\\theta})$ 라는 확률 분포에서 $\\boldsymbol{\\theta}=(\\mu, \\sigma)$를 조정하여 $P(x)$와 최대한 차이가 없게 만들겠습니다. 스탭사이즈(학습률)는 선탐색Line search하지 않고 그냥 0.1로 고정하도록 하겠습니다.(목적함수가 볼록하므로 효율을 위해서는 선탐색을 하여야 합니다. 다만 머신러닝에서는 선탐색이 별 효용이 없으므로 그냥 고정값으로 하겠습니다.) 아래 코드가 있고 자세한 주석이 달려있어 이해하기 어렵지 않을 것으로 생각합니다.\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Init. Samples of P(x) : [ 6.66354488 5.42054792 5.50000437 5.08535966 9.21986506]\n", "Init. Samples of Q(x) : [ 0.05317294 0.55764156 0.29733264 -0.70787709 -0.0614358 ]\n", "Entorpy of P(x) : +3.464382\n", "DKL of P(x),Q(x) : +18.057248\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "ITER:491, COST:+0.000009, mu:+5.994762, sigma:+1.250326\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8XHeZ7/HPo24VV8lNspot2ZZjxw6K4zQTSLNJsANL\ncSg3lN3csGRhgb27CctNdsNSFpayXLJAlg2QADEhBHCCiRMncbp7byqW1V3kLstqo3nuH3MUFMW2\nRvbM/KY879dLL8+cOeWrxP7OzPmdIqqKMcaYxJDkOoAxxpjIsdI3xpgEYqVvjDEJxErfGGMSiJW+\nMcYkECt9Y4xJIFb6xoSBiFwnIs2ucxgzmJW+SQgiUi8inSJyWkQOisjPRSQ7wtu/IVLbM+ZcrPRN\nInmvqmYDc4F5wL2O8xgTcVb6JuGo6kFgFYHyR0TSReQ/RKRRRA6JyI9FZIT3Wq6IPC0iJ0TkmIi8\nIiJJ3msqItP61+t9e/i3wdsTkUeBQuAp75vGP0bi9zTmbKz0TcIRkQJgMVDrTfomUE7gTWAakA/c\n5732JaAZyAMmAF8GhnXtElX9ONCI901DVb91sb+DMRfKSt8kkj+ISDvQBBwG7hcRAe4EvqCqx1S1\nHfg6sMxbpheYBBSpaq+qvqJ2wSoTw6z0TSK5TVVzgOuAGUAugU/wmcAmbxfOCeAZbzrAtwl8I3hW\nROpE5J7IxzYmdKz0TcJR1ZeAnwP/ARwBOoFZqjra+xnlDfiiqu2q+iVVLQWWAF8Ukeu9VZ0h8IbR\nb+L5Nhvq38OYC2GlbxLV94EbgdnAfwPfE5HxACKSLyI3e49vFZFp3m6gk0Af4PfWsRX4iIgki8gi\n4J3n2d4hoDQ8v4oxwbPSNwlJVduARwgM2P4TgV04a0XkFLAamO7NWuY9Pw28AfyXqr7ovfZ54L3A\nCeCjwB/Os8lvAF/xdiH9Q4h/HWOCJjYmZYwxicM+6RtjTAKx0jfGmARipW+MMQnESt8YYxJIiusA\ng+Xm5mpxcbHrGMYYE1M2bdp0RFXzhpov6kq/uLiYjRs3uo5hjDExRUQagpnPdu8YY0wCsdI3xpgE\nYqVvjDEJxErfGGMSiJW+McYkECt9Y4xJIFb6xhiTQKLuOH1jjBvNu9eyetWPmDKhnIW3fpbUkaNd\nRzJhYKVvTII7dewAKx7/Kq/WrUFR3jiwnme2/Y5F09/Dwvd9gdQx41xHNCFku3eMSWCNNRv4v9+5\nhVfqXkREuHbquynKncYp7eTxvb/jB99fhvb0uI5pQsg+6RuToPz+Ph55/Ct09XYyc/Q0bv/QvzFh\n2qWoKjt2rObRJ++n+kwzLz32Da67437XcU2I2Cd9YxLUC3/6IU0nGxmXOorP3P0IE6ZdCoCIMGfO\njXzk1i8DwpO7nuDY3i1uw5qQsdI3JgEdO9LEijd+DsCyd91N+sgxb5tnXuWtXFZ2Ld34+NXyL6O9\nvRFOacLBSt+YBLT8N/+Xbl8Xl42dxZzrP3rO+W6//etkjhjFzjP1rP/t9yOY0ISLlb4xCWbX1ufY\n1rCeDFL48LJ/A5FzzjsyexwfWPRFAH637TH6Ok5HKqYJEyt9YxLMiy//AlAWz1zC6OIZQ85/1YIP\nMmHMFE5qJzteXB7+gCasrPSNSSAnjh9gZ+tWkkni6pv/JqhlRISF85YC8MqmJ0E1nBFNmAVV+iKy\nSESqRKRWRO45y+t3icgOEdkqIq+KSMWA1+71lqsSkZtDGd4YMzyvr3kU9fdx6dgKciYXB73cgoUf\nJSU1nV0d9XYkT4wbsvRFJBl4EFgMVAC3Dyx1z69VdbaqzgW+BXzXW7YCWAbMAhYB/+WtzxgTYarK\nazv/DMA1le8f1rLZmaOZV3IVivLai4+EI56JkGA+6c8HalW1TlV7gOXA0oEzqOqpAU+zgP7vf0uB\n5ararar7gVpvfcaYCKva8wpH2g8yJjmLmQuHV/oA1177MQBebXgZvw3oxqxgSj8faBrwvNmb9hYi\n8lkR2Ufgk/7nhrnsnSKyUUQ2trW1BZvdGDMMr776awCuLnknSWnpw16+vPxKxo+ZwgntZOcLj4U6\nnomQkA3kquqDqjoV+CfgK8Nc9iFVrVTVyry8vFBFMsZ4Os6cZEvDWgThqnd+/ILWISJc2z+gu/kP\noYxnIiiY0m8Bpgx4XuBNO5flwG0XuKwxJgw2vPobfL3dzMwqYlz5pRe8niuv/QhJKans7NjPmZb6\n0AU0ERNM6W8AykSkRETSCAzMrhg4g4iUDXh6C1DjPV4BLBORdBEpAcqA9Rcf2xgzHFt3vwDAFZcs\nOu/JWEPJyRrDtLwZ+FF2r/9TqOKZCBqy9FXVB9wNrAL2AI+r6i4ReUBElniz3S0iu0RkK/BF4A5v\n2V3A48Bu4Bngs6raF4bfwxhzDt09ndQc3osgzJp/60Wvb870hQBsr375otdlIi+oSyur6kpg5aBp\n9w14/PnzLPs14GsXGtAYc3H2bFuNz9dNacYkcgpKL3p9cy6/hSde+i92Ht2Lv+M0SVnZIUhpIsXO\nyDUmzu3Y8TwAs4vmX9SunX7jc4sZPyqfDnrYv3H1Ra/PRJaVvjFxTFXZ2bwJgNlzbgjJOkWE2SVX\nALB9h5V+rLHSNyaONTfv4sTpI4yWTAouXRiy9c6ZtwiA7c2bwO8P2XpN+FnpGxPHdmwKXHbhkvGX\nIGlpIVvvtPIFZIzIodV/gqO7N4ZsvSb8rPSNiWM7al8HYM7Md4Z0vSlJKVTkzw1sw3tjMbHBSt+Y\nONXecZz9R2tJIYkZly8O+fovnXU9ANvr3gj5uk34WOkbE6d2bVmF9vkozyokPW9SyNc/a97NSHIK\nVZ1N9Bw5FPL1m/Cw0jcmTu3e/RIAl3hH2oRaTuZoCsYU4cNP3bY1YdmGCT0rfWPikKpSfWg3ANMv\nuS5s2ykvCFzHp6ZmXdi2YULLSt+YOHT0eAvH29vIJJX8igVh2075jKsBqG7dEbZtmNCy0jcmDtXs\nfAlQykaVIhkZYdtOWcW1kJxCXVcrvUftXhixwErfmDhU7e1uKZ9y4ZdRDkZWRg4FYwrx4ad+h12A\nLRZY6RsTh2oO7gKgbPrVYd9WWf4cAKqr7NDNWGClb0ycOXHqMG2nDpJBClNmh7/0y8uvBKC6dXvY\nt2UunpW+MXGmZufLoH6mZheSlJkV9u2VzVoIycns62zBd+JY2LdnLo6VvjFxpromsJul/3DKcMvJ\nHM2kUQX04qdhm+3Xj3ZW+sbEmf7DJ/t3u0RCef9+/erXI7ZNc2Gs9I2JI+0dxzl4soVUkiicfU3E\ntls+/SoAqltsv360s9I3Jo7U7HoZ/H6mZhaQMmpMxLZbPmshJCWzr6OZvpMnIrZdM3xW+sbEkf79\n+WWTZ0d0uyOzxjJ+5CS6pY/mPWsjum0zPFb6xsSRupbA8fnTps2P+LZLJ0wHYH+t3VQlmlnpGxMn\nen09NJ1oRBCKK66K+PZLi+cBUNeyM+LbNsELqvRFZJGIVIlIrYjcc5bXvygiu0Vku4g8LyJFA17r\nE5Gt3s+KUIY3xvxFY/1W/L4eJqeMIWNCfsS3XzojcLTQ/mN1dt/cKDZk6YtIMvAgsBioAG4XkYpB\ns20BKlV1DvAE8K0Br3Wq6lzvZ0mIchtjBqmrCuxLL80tA5GIbz9/8gxSM7I4rO2cbqyN+PZNcIL5\npD8fqFXVOlXtAZYDSwfOoKovquoZ7+laoCC0MY0xQ9nfFDg+v6TgEifbT5IkiseUBLLsseP1o1Uw\npZ8PNA143uxNO5dPAwPvlJwhIhtFZK2I3Ha2BUTkTm+ejW1tdnlWYy5EXVs1AKVlkR/E7VeaH3jD\nqavf4iyDOb+QDuSKyMeASuDbAyYXqWol8BHg+yIydfByqvqQqlaqamVeXl4oIxmTEE60t3H89BEy\nSGHijMud5SiZWgnA/kNVzjKY8wum9FuAKQOeF3jT3kJEbgD+GViiqt3901W1xfuzDlgDzLuIvMaY\ns9hftRbUT0lWPjJihLMcpdMXQFIS+zta8HecdpbDnFswpb8BKBOREhFJA5YBbzkKR0TmAT8hUPiH\nB0wfIyLp3uNc4Gpgd6jCG2MC9u8LHBtfMn6G0xyjsscxLns8XeLj4J4NTrOYsxuy9FXVB9wNrAL2\nAI+r6i4ReUBE+o/G+TaQDfx20KGZM4GNIrINeBH4pqpa6RsTYnWtgX9WpSXuv0iXjC8HoK52veMk\n5mxSgplJVVcCKwdNu2/A4xvOsdzrQGTPBzcmwfjVT8Px/QAUTw/fTdCDVVo0l421L1PXtIPIXfLN\nBMvOyDUmxrW07qWnq4M8ySanqMx1HEq8N579R/eBquM0ZjArfWNi3P693klZY0shyf0/6cIpl5CS\nNoID/pN0ttS7jmMGcf83xBhzUeoatgJQku/mpKzBUpJTKRg9BUVpqLL9+tHGSt+YGFfvHRNfUvoO\nx0n+oti74mZDwzbHScxgVvrGxLDu3i4OtreSTBIFM9ydiTtYUVHg/rz1B/c6TmIGs9I3JoY17t+K\n+nzkp44jZWyu6zhvKp5+BQANJxvsiptRxkrfmBjWsG8TAEXjSh0neauJ40tJy8jiqJ6hvaHGdRwz\ngJW+MTGs3ruyZtHkmY6TvFWSJFE4phiAxmobzI0mVvrGxLCGI4Hr1hdH0SBuv6L+wdzGHY6TmIGs\n9I2JUWe6T3O4/SApJDF5eqXrOG9TVDwXsMHcaGOlb0yMaqzbDH19TEnLI3nUaNdx3qZ4euBooob2\nJvD5HKcx/az0jYlRDfs2A1A07m23qIgK48cWkjFiJCfo4kSdXWcxWljpGxOj6pt3AlCUP/iW1dFB\nRCgaWwxAY+0mt2HMm6z0jYlRDUf2AVA8Lfr25/crnhg4qqjezsyNGlb6xsSg012nOHr6MGmazMTy\ny1zHOaci7/r+DW12rH60sNI3JgY11GwAv5/CjAkkZee4jnNOReWXA0LD6Ra0u3vI+U34WekbE4Ma\n6rYAUJQ3zXGS8xs3ahJZWaNpp5tjdTtdxzFY6RsTk+pbdgFQlD/LcZLzExGKxwYuEdFQs9FxGgNW\n+sbEpIajdQAUlbq/J+5QCicGzsxtbN7lOIkBK31jYs6pM8c50XGEdE1mwvTou/zCYIXFgcssN7bV\nOk5iwErfmJjTWLspMIg7YiKSmek6zpCKyrzB3I4WtKfHdZyEZ6VvTIxp2B8YxC3Mjc4zcQcbO2oi\nWVmjOE0Px/fZYK5rQZW+iCwSkSoRqRWRe87y+hdFZLeIbBeR50WkaMBrd4hIjfdzRyjDG5OIGlv2\nANE/iNtPRCgcUwJAg52Z69yQpS8iycCDwGKgArhdRAaf970FqFTVOcATwLe8ZccC9wNXAPOB+0Vk\nTOjiG5N4Go4GzsQtLJ3rOEnwiibNAKCx2T7puxbMJ/35QK2q1qlqD7AcWDpwBlV9UVXPeE/XAgXe\n45uB51T1mKoeB54DFoUmujGJp/3MCY73D+JG8Zm4g/XfM7fBBnOdC6b084GmAc+bvWnn8mngz8NZ\nVkTuFJGNIrKxra0tiEjGJKbGfYFB3CkjJpCUle06TtAKvTNzG0/bYK5rIR3IFZGPAZXAt4eznKo+\npKqVqlqZl5cXykjGxJU3z8SN0sspn8u4UZPIzBpFO912mWXHgin9FmDKgOcF3rS3EJEbgH8Glqhq\n93CWNcYEp7E1MIhbGKWXUz4XEaFodDEADbV2Zq5LwZT+BqBMREpEJA1YBqwYOIOIzAN+QqDwDw94\naRVwk4iM8QZwb/KmGWMuQP8gblFp7OzP79d/Zm5Dkw3mujRk6auqD7ibQFnvAR5X1V0i8oCILPFm\n+zaQDfxWRLaKyApv2WPAVwm8cWwAHvCmGWOG6XTXKY6dbiNNk5lQHv2XXxis/565dmauWynBzKSq\nK4GVg6bdN+DxDedZ9mHg4QsNaIwJaKjdGBjEzZgU1ZdTPpe/XGa5Ge3pQdLSXEdKSHZGrjExotEb\nxC0cV+o4yYUZN3oymZkjA4O5+/e4jpOwrPSNiRENrYGjXmLlTNzBAmfmFgPeoafGCSt9Y2JE4xHv\ncspTY28Qt1/RxMCZuQ2NOxwnSVxW+sbEgFi5J+5Q+i+z3HDY7pnripW+MTHgL4O442NyELdf0Ztn\n5jbbmbmOWOkbEwNifRC3X+7ofDIzR3LKBnOdsdI3Jgb0D+IWx+ggbj8bzHXPSt+YGNDgDeIWxvAg\nbr83B3MbtjtOkpis9I2JcoEzcWN/ELdf/5m5dpllN6z0jYly8TKI22/wmbkmsqz0jYly/YO4xbnT\nHCcJDTsz1y0rfWOiXENLYBA31i6nfC5vuWduzQbHaRKPlb4xUe7NyynHwSBuvyK7zLIzVvrGRLH2\nzpMcO90Wc/fEHYpdZtkdK31jolhj/yBujN0Tdyg2mOuOlb4xUezNe+LGySBuPxvMdcdK35go1n9P\n3KLJ8TGI209EKPIGc+ur1ztOk1is9I2JYvXeIG7h1Ni7PeJQiibNBKChyS6zHElW+sZEqVNnjnP8\ndBsZmhJXg7j9iksDb2T1bdWOkyQWK31jolR99Xrw+ynMnBhXg7j9isuvABEaTreiXV2u4yQMK31j\nolR93WYASvLKHScJj9E5eYzMGssZ6aWtZqvrOAnDSt+YKFXfsguA4sLZjpOEh4hQPG4qAPV2Zm7E\nBFX6IrJIRKpEpFZE7jnL6wtFZLOI+ETkA4Ne6xORrd7PilAFNyaeqSr1x7x74pZd7jhN+BQXXAJA\nfbOdmRspQ5a+iCQDDwKLgQrgdhEZfPxYI/AJ4NdnWUWnqs71fpZcZF5jEsLRE610dJwgh3TGTo3P\nT/oAxaWBAer6NrtnbqQE80l/PlCrqnWq2gMsB5YOnEFV61V1O+APQ0ZjEs7+qrWAUpxdgKSluY4T\nNsVl8yEpicbuQ/SdOuk6TkIIpvTzgaYBz5u9acHKEJGNIrJWRG472wwicqc3z8a2trZhrNqY+FS/\nPzCwWezdZSpeZWXkkJszgV78tFbZfv1IiMRAbpGqVgIfAb4vIlMHz6CqD6lqpapW5uXlRSCSMdGt\n/mDgTNzioksdJwm/ktwyAOrtnrkREUzptwBTBjwv8KYFRVVbvD/rgDVA/J1aaEwI+dVP4/F6AIqn\nX+E2TAQUF84B/nLfABNewZT+BqBMREpEJA1YBgR1FI6IjBGRdO9xLnA1YP9njTmP1gPV9HR1kCtZ\nZBfG14XWzqZo6jsA2H90H6g6ThP/hix9VfUBdwOrgD3A46q6S0QeEJElACJyuYg0Ax8EfiIiu7zF\nZwIbRWQb8CLwTVW10jfmPBqqA/u2i0eXQFL8n0pTWDIXSUml1XeMnqOHXceJeynBzKSqK4GVg6bd\nN+DxBgK7fQYv9zoQv8ebGRMG+xsSYxC3X3pqBpNH5tNyrJ6mveuYeo0d2R1O8f8xwpgYU3+oCvjL\nBckSQfGEwO0T+y89YcLHSt+YKNLr66HlZDOCUDgj/gdx+5UUBW6fWNeya4g5zcWy0jcmitTXb8Hf\n201+8mjSx092HSdiSmdeBUDdiTro63OcJr5Z6RsTRer2rgWgNLccRByniZxJE6eRMSKHY3qGE/vs\n0344WekbE0X2NW0DYGph/J+UNVCSJFEyNnDeZt3eNxyniW9W+sZECVWlzruLVOn0BY7TRF5pQeBA\nv7oGu7Z+OFnpGxMljp5opb3jGNmkkVeeOEfu9Cstmw9A3eEqx0nim5W+MVFi357XQJXSnEIkI8N1\nnIgrnb4AkpNp6D6E7+Rx13HilpW+MVGiri5wwbHSSYNvV5EYMtOzmZgzGR9+mnbZfv1wsdI3Jkrs\nOxC4QsnUqfF7p6yhlHpnIdfVrnecJH5Z6RsTBbp7u2g53kgSQlHFla7jOFNaHLiTVl2rHbYZLlb6\nxkSBhrrN+H095KeMTaiTsgab6p2kte94HfjtRnzhYKVvTBTYVxXYhz01b3pCnZQ12KSJZWRk5HDc\nTtIKGyt9Y6JAXdN2AEoT7KSswUSEknF2klY4Wekb45iqUnekBoCpCXhS1mBTCwJ30tpXb1fcDAcr\nfWMcO3y0gdMdJ8ghnXHlc13HcW7ajMB+/ZqDu+1OWmFgpW+MY9U7XwKUslGlSFqa6zjOlZZfQVJK\nGo29R+g6FPTtuE2QrPSNcazGOya9fEpi78/vl56aQdHYEhRl3/Y1ruPEHSt9YxxSVaoPBo5SKZ95\njeM00aP/DbDGTtIKOSt9Yxw6eqKV4+2HydJUJl9yles4UaNs+tUAVB/Y6ThJ/LHSN8ah6h1rQJWy\nkSXIiBGu40SNqTOvQpJTqO8+RM+RQ67jxBUrfWMcqqldB0CZ7c9/i8z0bArGFNGHn/07XnEdJ64E\nVfoiskhEqkSkVkTuOcvrC0Vks4j4ROQDg167Q0RqvJ87QhXcmHjQv/uifMbVjpNEn/L8wPH61TV2\nklYoDVn6IpIMPAgsBiqA20Vk8LVfG4FPAL8etOxY4H7gCmA+cL+IjLn42MbEvuMnD3Hk1CFGkELB\nbCv9wcrKAyeq1bTafv1QCuaT/nygVlXrVLUHWA4sHTiDqtar6nZg8BWSbgaeU9VjqnoceA5YFILc\nxsS86p1rQP1Myy4iKSvbdZyoM63iWkhKou5Ms91UJYSCKf18oGnA82ZvWjCCWlZE7hSRjSKysa2t\nLchVGxPbamoC+/PLC2x//tnkZI1h0qgCevHTYPv1QyYqBnJV9SFVrVTVyry8PNdxjImI6tYdgO3P\nP5+yyYGbpVdXve44SfwIpvRbgCkDnhd404JxMcsaE7dOth/h0KlW0jWZKbPtpKxzmT49cO5CVdNW\nx0niRzClvwEoE5ESEUkDlgErglz/KuAmERnjDeDe5E0zJqHt2f48+P1Myy4kOWek6zhRa8acdyPJ\nKdScabLj9UNkyNJXVR9wN4Gy3gM8rqq7ROQBEVkCICKXi0gz8EHgJyKyy1v2GPBVAm8cG4AHvGnG\nJLTde14GYFZR4t4PNxjZmaMpHFuCDz81m59zHScupAQzk6quBFYOmnbfgMcbCOy6OduyDwMPX0RG\nY+KKqrK7dRsAFXOud5wm+lUUX05DWw27q15l1k0fcx0n5kXFQK4xiaS5dQ/tp48yRjKZeIndNGUo\n/W+Mu1u32/X1Q8BK35gI27U5MKxVkTvTrp8fhNJpl5OenkVr33FO1NqJWhfLSt+YCNtdtxaAWWV2\nVc1gpCSnMn3CLAB2b7X9+hfLSt+YCOru7aL2cBWCMOOym13HiRkV3hvk7rp1jpPEPit9YyKoavfL\n9PV2U5w2nqwppa7jxIyKeTcCwp5jVWhXl+s4Mc1K35gI2r3zBQBmFcwDEcdpYsf4vBLG5YzntHbT\ntN0uyXAxrPSNiaDdDZsAqKi4zm2QGCMiVBTMA2CX98ZpLoyVvjERcvREK4dOtjKCFEreYcfnD1fF\nrOsA2Fm/3g7dvAhW+sZEyLb1T4H6mTmqzC6lfAEq5t5ISmo6+7oO0N5Q4zpOzLLSNyZCtuwJ7JaY\nN+M6t0FiVEZaJjMmzkZRtq37o+s4MctK35gIaO84Ts2hPSSTxOwFS1zHiVlzZwV2i22tftlxkthl\npW9MBGzf9CfU18uMrEJG5Be7jhOzLp3/XiQ5hT3tdXS1HXAdJyZZ6RsTAVt3rAZgXtlCx0li28js\ncZTmluHDz643gr3CuxnISt+YMOvqOcPu1m0IwqVXLB16AXNe/WMi/WMkZnis9I0Js51bn8XX20Vp\n+kRGls50HSfmzb1iKYiw4+hufO0nXceJOVb6xoTZ1q3PADCv9Go7CzcE8nKLyB9TSBc+qtb9yXWc\nmGOlb0wY+fp62dEUOAt33nw7aidU5k4L3Fd46w676uZwWekbE0a7d75IV/dpClLGkVtR6TpO3Jh3\nxW2AsOngFtvFM0xW+saE0RvrngCgsuQq27UTQgUFs5g8tpAO7Wbny0+4jhNTrPSNCZOOzlNsb1iP\nICxY+FHXceKKiHDl7PcAsHbr047TxBYrfWPCZMPrv8XX283MzELGlM9xHSfuXHHNMiQ5he0nq+lo\n2e86Tsyw0jcmTN7Y+hQAV81+j+3aCYNRo8ZTMflS+vCzfs2vXMeJGUGVvogsEpEqEakVkXvO8nq6\niPzGe32diBR704tFpFNEtno/Pw5tfGOi04EDNdQfriaDFOa+6yOu48StK99xGwBr9662yy0HacjS\nF5Fk4EFgMVAB3C4iFYNm+zRwXFWnAd8D/n3Aa/tUda73c1eIchsT1d545degyuXj55E6Ntd1nLg1\nd/4SMtKzqO8+xIHtr7mOExOC+aQ/H6hV1TpV7QGWA4PPJV8K/MJ7/ARwvYh9nzWJya/+wCdP4Mr5\nf+U4TXxLTUmjsiRwzP4br/3GcZrYEEzp5wNNA543e9POOo+q+oCTwDjvtRIR2SIiL4nItWfbgIjc\nKSIbRWRjW1vbsH4BY6LN7h0vcPL0EcYnj6R0wWLXceLegqs/DMAbDa/ZMftBCPdA7gGgUFXnAV8E\nfi0iIwfPpKoPqWqlqlbm5eWFOZIx4bX65Z8BcM3UdyFpaY7TxL9p5QvIH1fMKe1kw6qHXceJesGU\nfgswZcDzAm/aWecRkRRgFHBUVbtV9SiAqm4C9gHlFxvamGjV3LKHPc1bSSeFaxf9b9dxEoKIcMOC\nwHkQq7c8ifp8jhNFt2BKfwNQJiIlIpIGLAMGX8h6BXCH9/gDwAuqqiKS5w0EIyKlQBlQF5roxkSf\n1at+BH4/V02aT2ZBies4CWP+NR9mZOYYmnuPUPXyk67jRLUhS9/bR383sArYAzyuqrtE5AER6b+C\n1P8A40SklsBunP7DOhcC20VkK4EB3rtU9ViofwljosGJU4dZX/sSgnDDjfYpP5JSklO5bk7g+JLV\nrz1qh2+eR0owM6nqSmDloGn3DXjcBXzwLMv9DvjdRWY0JiasefYh+nw9XDZqBrmzLncdJ+EsvPGv\n+fPGx9jRXsuhneuYMHuB60hRyc7INSYEuns6eWl74AzcGxd+0s7AdSAnZxwLyq4DYPXqh9yGiWJW\n+saEwCsv/IwzXacoTZ9E6dW3uo6TsK6/6S5ISuL1A+s4VrvDdZyoZKVvzEU609XOyjceAWDxgo9B\nkv2zcmVWyeNLAAALxklEQVRS/gwuL70WH37++OQ3XMeJSva305iL9MxT36Wj8yTlGQXMvvl/uY6T\n8G677R6Sk1NZd2QrzZtedB0n6ljpG3MRjh5r5vktvwfgA4u+gKQEdWyECaPc8cVcN+sWFOXJld+x\nI3kGsdI35iL88clv4PN1M3/MbIqutEsuRIv33PZ/yEjLYlf7PvausTtrDWSlb8wFati/lXW1a0gh\nidved68dsRNFsrPHsqhyGQBPvPBD/F2djhNFDyt9Yy6Ar6+XR377z+D38+4p72TcjHmuI5lBrr/l\nbsZk5dLUfZhVv/xX13GihpW+MRfg6T98i+YjdeQm53DL7fcNvYCJuLTUDO54/7+CCE9VP0Xz5jWu\nI0UFK31jhmlf9Tqe2fAYgvDJRfeSkTvRdSRzDjNnv5vrZt1KH35+9vv78J057TqSc1b6xgxDd/cZ\nfvabe1B/HzcVvotp73yf60hmCO//8L+QlzOR5u42nn7kK67jOGelb0yQVJVHH/0H2toPUpCWy5JP\n2Mk/sSA9PZNPfvBrSFISz9Q9y9aViX3NfSt9Y4L0+ye+yobqF0knhU9/4OukZL/tfkAmSk2dcRVL\nrvwkivLTNd+lfv2zriM5Y6VvTBDWPPffrNqwnCSEu264h8lzz3rnTxPFFi/5ElfPuIle+vjhk/dw\npHa760hOWOkbM4TNa3/P8ue/Dygff8enqLjpo64jmQsgInz0ju8wc9Ic2v2d/ODnn+F4Y5XrWBFn\npW/MebzwzI946A9fQf1+3jvtFq760JdcRzIXITk5hbvu+ikFows51HOMb/74Y7TsfN11rIiy0jfm\nLPz+Ph7/5b385oUfoH4/S6bdwi2f/nc76zYOZIzI4Yt/9xhT86Zzwneabz36Gfa+8nvXsSLGSt+Y\nQY62NfCDH3yU57f/gWSS+NSCz3DL33wbSU52Hc2ESFbOWL7w97/hsqIr6dIe/vOpr/D0w/fQlwCX\na7DSN8ajfj9rnvkx//q929jTuo0sSefv3/s1rnj/5+wTfhxKTU3nzs/8lJsufT9+UZ7a+0e+8fXF\nNG9/1XW0sBKNssuOVlZW6saNG13HMAlE/X62b3iaP734ExqO1QFw2dhLuP3j/87I/FLH6UwkVG1/\ngUeevJ8jZ46QhLBg8nwW3/oFxk+71HW0oInIJlWtHHI+K32TqLo629n82hOsXvcYLSebABiZnMnt\n1/4tly3+lH26TzDdXR38/rH7eGnvKvzahyBcPukdXHvlMsouXxT1u/es9I05i1PHDlC17QU273iW\nHQe20tvXA8DolGxumn0b1976WdJyRjtOaVxqa63lz099lzfqXsavfQCMSR3J5SXXMGvWdUy99F2k\nZmY7Tvl2IS19EVkE/CeQDPxUVb856PV04BHgHcBR4MOqWu+9di/waaAP+Jyqrjrftqz0TSio38/J\nI80caNhFS/NuWg5Ws+9wFYc6Dr1lvrKcYq68ZBFXLPprUkZkOUprotHRA3W88vzDrK95kaOdx96c\nnkIypaOKKRw/jfxJ08kvnk1ewXQyR+U6/XYYstIXkWSgGrgRaAY2ALer6u4B8/wtMEdV7xKRZcD7\nVPXDIlIBPAbMByYDq4FyVe/t8ywutPR9PV10th8bekYTEer3v/W5+r0/9W3z+Pt8b87j7/Ohqvj9\nPvr6etE+Pz5fD32+Hny93fT2dtHb00VPTyddXafp7u6gs7Odjs5TnO48SXvXSY53Hed490n6/L63\n5UqXVKaOLqGieD6V13yQMVPKw/WfwMQJ9fvZt/Nltmx6mqqWbTSdagHe3psZSemMGzGGkemjyBkx\nipwRoxkxYiQjMrJJz8giPT2L1LQM0tIySU3LIDkllZSUNJKSU0lKTiYpOYWkpBTGF1UgScM/xibY\n0g/mhp7zgVpVrfNWvBxYCuweMM9S4F+8x08APxQR8aYvV9VuYL+I1HrreyPYXyRY2155godWfS3U\nqzUxLCc5k/FZ48kfW0T+hDIKS+ZSNOtqktMzXEczMUSSkpg25zqmzbkOgI6TR9i38yWam3bTcqiW\n1pNNHO08RldfNy0dB2npOHhR2/t/D2wkLSN83zqDKf18oGnA82bginPNo6o+ETkJjPOmrx20bP7g\nDYjIncCdAIWFhcFmf4uU1DSyU+zrebhc7LdWQd7yWLwV9k8XEZIk6c3XkiWJJO8nOSmFZEkmOSmZ\ntOR0UlPSSE1OJSMtk4z0LDLSs8jKHE1Ozjiyc3IZnVvA2EmlUbnf1cS+rFG5zLn6r5jDX705Tf1+\nOk4d4djB/Zw6fpDTp45w+vRROjtP09nVTmd3Bz2+Lnp9PfT4uunz+/D5+/D5e/GrH7/66dM+VJWk\n5GBq+cKFd+1BUtWHgIcgsHvnQtZx6cIP8Z2FHwppLmOMCYYkJZE9ejzZo8e7jjKkYHYctQBTBjwv\n8KaddR4RSQFGERjQDWZZY4wxERJM6W8AykSkRETSgGXAikHzrADu8B5/AHhBAyN2K4BlIpIuIiVA\nGbA+NNGNMcYM15C7d7x99HcDqwgcsvmwqu4SkQeAjaq6Avgf4FFvoPYYgTcGvPkeJzDo6wM+e74j\nd4wxxoSXnZxljDFxINhDNu2Ca8YYk0Cs9I0xJoFY6RtjTAKx0jfGmAQSdQO5ItIGNLjO4ckFjrgO\ncRaWa3gs1/BYruGJllxFqpo31ExRV/rRREQ2BjMaHmmWa3gs1/BYruGJ1lznYrt3jDEmgVjpG2NM\nArHSP7+HXAc4B8s1PJZreCzX8ERrrrOyffrGGJNA7JO+McYkECt9Y4xJIFb6QRCRL4mIikiu6ywA\nIvJtEdkrIttF5PciMtpxnkUiUiUitSJyj8ss/URkioi8KCK7RWSXiHzedaaBRCRZRLaIyNOus/QT\nkdEi8oT3d2uPiFzpOhOAiHzB+3+4U0QeExFn97sUkYdF5LCI7BwwbayIPCciNd6fY1zlC4aV/hBE\nZApwE9DoOssAzwGXqOocAjetv9dVEBFJBh4EFgMVwO0iUuEqzwA+4EuqWgEsAD4bJbn6fR7Y4zrE\nIP8JPKOqM4BLiYJ8IpIPfA6oVNVLCFzefZnDSD8HFg2adg/wvKqWAc97z6OWlf7Qvgf8IxA1I96q\n+qyq+rynawnckcyV+UCtqtapag+wHFjqMA8AqnpAVTd7j9sJFNjb7s/sgogUALcAP3WdpZ+IjAIW\nErg3Bqrao6on3KZ6UwowwrsrXybQ6iqIqr5M4J4hAy0FfuE9/gVwW0RDDZOV/nmIyFKgRVW3uc5y\nHp8C/uxw+/lA04DnzURJufYTkWJgHrDObZI3fZ/ABwm/6yADlABtwM+83U4/FZEs16FUtQX4DwLf\ntA8AJ1X1Wbep3maCqh7wHh8EJrgMM5SEL30RWe3tKxz8sxT4MnBfFObqn+efCezG+JWLjLFARLKB\n3wF/r6qnoiDPrcBhVd3kOssgKcBlwI9UdR7QQRTspvD2jy8l8KY0GcgSkY+5TXVu3m1io2avwNkM\nebvEeKeqN5xtuojMJvAXbZuIQGAXymYRma+qB13lGpDvE8CtwPXq9mSLFmDKgOcF3jTnRCSVQOH/\nSlWfdJ3HczWwRETeA2QAI0Xkl6rqusiagWZV7f829ARRUPrADcB+VW0DEJEngauAXzpN9VaHRGSS\nqh4QkUnAYdeBzifhP+mfi6ruUNXxqlqsqsUE/lFcFonCH4qILCKwe2CJqp5xHGcDUCYiJSKSRmCQ\nbYXjTEjgnfp/gD2q+l3Xefqp6r2qWuD9nVoGvBAFhY/397pJRKZ7k64ncG9r1xqBBSKS6f0/vZ4o\nGGAeZAVwh/f4DuCPDrMMKeE/6ceoHwLpwHPet5C1qnqXiyCq6hORu4FVBI6seFhVd7nIMsjVwMeB\nHSKy1Zv2ZVVd6TBTtPs74Ffem3cd8EnHeVDVdSLyBLCZwK7MLTi87IGIPAZcB+SKSDNwP/BN4HER\n+TSBy8J/yFW+YNhlGIwxJoHY7h1jjEkgVvrGGJNArPSNMSaBWOkbY0wCsdI3xpgEYqVvjDEJxErf\nGGMSyP8Hxo0pyfvIc80AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Samples of P(x) : [ 7.28329914 3.53113044 6.05022567 4.79881754 6.92992907]\n", "Samples of Q(x) : [ 5.40751218 4.32419414 5.38011482 5.60707463 7.25062323]\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "#A normal continuous random variable.\n", "from scipy.stats import norm\n", "from scipy import stats\n", "\n", "h = 0.01 #미분을 위한 작은 구간\n", "epsilon = 1.e-5 #수렴 판단을 위한 매우 작은 수\n", "alpha = 0.1 #step size\n", "\n", "#확률변수의 구간\n", "x = np.linspace(-5, 11, 100)\n", "\n", "#진짜 확률 분포를 가지는 확률변수\n", "P = norm(6, 1.25)\n", "\n", "#params theta = [μ, σ] 확률분포를 조정하는 파라메터는 평균과, 표준편차\n", "mu, sigma = 0, 1.0\n", "\n", "#P와는 많이 다른 확률분포를 가지는 확률변수\n", "Q = norm(mu, sigma)\n", "\n", "plt.plot(x, P.pdf(x), 'r-', lw=2, alpha=0.6, label='P pdf')\n", "plt.plot(x, Q.pdf(x), 'g-', lw=2, alpha=0.6, label='Q pdf')\n", "plt.title('Init. P(x) and Q(x)')\n", "plt.show()\n", "\n", "\"\"\"\n", "두 확률분포는 다르기 때문에 임의로 5개씩 샘플을 추출하면 \n", "p는 0 근처의 값이, q는 5 근처의 값이 추출됨.\n", "\"\"\"\n", "p = P.rvs(size=5)\n", "q = Q.rvs(size=5)\n", "print(\"Init. Samples of P(x) : {}\".format(p))\n", "print(\"Init. Samples of Q(x) : {}\".format(q))\n", "\n", "#P의 확률분포 엔트로피\n", "print(\"Entorpy of P(x) : {:+f}\".format(stats.entropy(P.pdf(x))))\n", "\n", "#P와 Q의 확률분포 간의 DKL\n", "dkl = stats.entropy(P.pdf(x), Q.pdf(x))\n", "print(\"DKL of P(x),Q(x) : {:+f}\".format(dkl))\n", "dkls = [dkl]\n", "\n", "for i in range(1000):\n", " #경사 구하기 미분 {f(x+h)-f(x-h)} / 2h\n", " dmu = (stats.entropy(P.pdf(x), norm(mu+h, sigma).pdf(x))-stats.entropy(P.pdf(x), norm(mu-h, sigma).pdf(x))) / (h*2)\n", " dsigma = (stats.entropy(P.pdf(x), norm(mu, sigma+h).pdf(x))-stats.entropy(P.pdf(x), norm(mu, sigma-h).pdf(x))) / (h*2)\n", " \n", " #경사하강 w = w - η* ∇f\n", " mu -= alpha*dmu\n", " sigma -= alpha*dsigma\n", " \n", " #업데이트된 파라메터로 확률변수를 다시 만든다.\n", " Q = norm(mu, sigma)\n", " \n", " #목적함수를 평가하고 입실론보다 작으면 그만\n", " dkl = stats.entropy(P.pdf(x),Q.pdf(x))\n", " dkls.append(dkl)\n", " \n", " if dkl < epsilon :\n", " break;\n", " \n", "plt.plot(dkls)\n", "plt.title('Objective function')\n", "plt.show() \n", "print(\"ITER:{}, COST:{:+f}, mu:{:+f}, sigma:{:+f}\".format(i, dkl, mu, sigma))\n", "\n", "plt.plot(x, P.pdf(x), 'r-', lw=2, alpha=0.6, label='P pdf')\n", "plt.plot(x, Q.pdf(x), 'g-', lw=2, alpha=0.6, label='Q pdf')\n", "plt.title('Result')\n", "plt.show()\n", "\n", "\"\"\"\n", "이제 Q에서 뽑은 샘플을 P에서 뽑은 샘플과 구별할 수 없어졌다.\n", "\"\"\"\n", "p = P.rvs(size=5)\n", "q = Q.rvs(size=5)\n", "print(\"Samples of P(x) : {}\".format(p))\n", "print(\"Samples of Q(x) : {}\".format(q))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Keras를 이용한 100줄 짜리 확률분포 모델 GAN \n", "
\n", "
\n", "GANs를 살짝 맛보기 위해서 정규분포를 근사하는 문제를 풀어보겠습니다. 인터넷에 이미 시도된 몇몇 글 \n", "GANs in 50 lines of code (PyTorch)[4], \n", "tensorflow-GAN-1d-gaussian-ex-이활석[5], \n", "아주 간단한 GAN 구현하기-홍정모[6]을 볼 수 있습니다. 해결해야하는 문제는 임의의 평균과 표준편차를 가지는 정규분포로 부터 획득된 학습데이터만을 가지고(평균과 표준편차는 뭔지 모름) 그 데이터의 분포를 흉내내는 모델을 만드는 것입니다. 쿨벡-라이블러 발산을 코스트로한 예제에서는 추정해야하는 모델이 정규분포라는 것을 알고 또 조정하는 설계변수가 평균과 표준편차라는 것을 알고 그것을 조절해서 최적화를 수행하였습니다. 하지만 GANs는 흉내내야하는 모델의 설계변수등 아무런 정보없이 단지 그 모델로 부터 획득된 데이터만 사용하여 그 모델처럼 동작하는 모델을 만들어내는 것입니다. 기본개념은 위 확률분포 최적화 문제와 같지만 훨씬 일반화된 상태로 문제를 풀어나갑니다. \n", "\n", "GANs를 numpy만으로 구현하기에는 코드양이 꽤 되고 GPU의 힘을 빌리지 않고는 훈련시키기에 많은 인내가 필요하므로 Keras를 쓰도록 하겠습니다. 우선 필요한 모듈을 로딩하고 보조 함수를 만듭니다. GAN은 D와 G를 따로 훈련시키는데 Goodfellow et al[7]에 의하면 G를 훈련할 때 D는 훈련하지 않습니다. Keras에는 모델과 레이어에 trainable이라는 속성을 제공합니다. 이 속성을 false 또는 true로 만드는 보조함수 make_trainable을 정의합니다.[8] (https://github.com/osh/KerasGAN)\n", "
" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using Theano backend.\n", "WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10). Please switch to the gpuarray backend. You can get more information about how to switch at this URL:\n", " https://github.com/Theano/Theano/wiki/Converting-to-the-new-gpu-back-end%28gpuarray%29\n", "\n", "Using gpu device 0: GeForce GTX 1070 (CNMeM is enabled with initial size: 80.0% of memory, cuDNN 5105)\n" ] } ], "source": [ "import sys\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib.mlab as mlab\n", "\n", "from keras.models import Sequential, Model\n", "from keras.layers import Dense, Activation, Input, normalization\n", "from keras import optimizers\n", "from keras.utils import np_utils\n", "\n", "#np.random.seed(78)\n", "#np.random.seed(0)\n", "\n", "batch_size = 200\n", "print_interval = 5000\n", "\n", "def make_trainable(net, val):\n", " \"\"\"\n", " D의 param.들을 학습안되게 했다가 학습되게 했다가 전환시키기 위한 보조함수\n", " \"\"\"\n", " net.trainable = val\n", " for l in net.layers:\n", " l.trainable = val" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "그 다음 학습데이터를 생성합니다. 평균 6, 표준편차 1.25인 정규분포에서 원하는 개수만큼 숫자를 생성하여 리턴하는 get_distribution_sampler함수를 정의합니다. 이 때 생성된 숫자는 진짜 데이터이므로 라벨 1을 붙여서 되돌립니다. \n", "
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "################################################################\n", "# 학습 데이터 생성\n", "################################################################\n", "mu, sigma = 6, 1.25\n", "\n", "def get_distribution_sampler(mu, sigma, N):\n", " \"\"\"\n", " 주어진 평균과 표준편차로 N개의 정규분포 난수를 발생시키고 그 라벨로 1을 붙여서 되돌림\n", " \"\"\"\n", " data_xp, data_yp = np.random.normal(mu, sigma, N), np.ones(N)\n", " data_p = np.vstack((data_xp, data_yp)).T\n", " \n", " return data_p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "이후 모델을 생성합니다. 생성할 모델은 $D$와 $G$ 그리고 이 둘이 중첩된 모델 GAN을 생성합니다.모델 정의를 위해 우선 GAN에 대한 기초 구조를 이야기 하도록 하겠습니다.
\n", "어떤 확률변수 $\\boldsymbol{X}$가 있어서 이 변수가 어떤 데이터를 나타낸다고 합시다. 쉬운 예로 28x28 픽셀의 사람 얼굴이라면 요소를 784개 가지는 벡터로 생각할 수 있고 $\\boldsymbol{X}$는 그 벡터를 값으로 가지는 확률 변수가 됩니다. 784개의 요소에 아무값이나 집어 넣은 임의의 벡터 $\\boldsymbol{x}$는 사람 얼굴이 아닐 것입니다. 하지만 어떤 규칙에 의해 784개의 값을 적당히 잘 지정하면 벡터 $\\boldsymbol{x}$는 사람얼굴 처럼 보일 수 도 있습니다. 여기서 어떤 규칙 즉, 확률변수 $\\boldsymbol{X}$가 얼굴로 보이는 $\\boldsymbol{x}$를 가질 확률을 나타내는 확률분포 $p(\\boldsymbol{X})$가 있을 수 있습니다. 존재할 수 있는 모든 길이 784짜리 벡터가 모여있는 공간에는 사람 얼굴처럼 보이는 $\\boldsymbol{x}$도 있고 전혀 아닌 $\\boldsymbol{x}$도 있는데 어떤 확률변수 $\\boldsymbol{X}$가 이들 표본을 가질 때 얼굴을 닮은 $\\boldsymbol{x}$에 대해서 높은 확률을 부여하는 $p(\\boldsymbol{X}=\\boldsymbol{x})$가 존재한다는 것입니다. $\\boldsymbol{x}$가 $p(\\boldsymbol{X})$에 따르면 즉, $\\boldsymbol{x} \\sim p(\\boldsymbol{X})$이면 $\\boldsymbol{x}$는 사람 얼굴이 될 것입니다. 문제는 $p(\\boldsymbol{X})$가 무엇인지 전혀 알지 못합니다. 다만 $\\boldsymbol{x} \\sim p(\\boldsymbol{X})$인 $\\boldsymbol{x}$ 여러개는 가질 수 있습니다. 바로 우리가 모은 데이터입니다. 이 데이터를 이용하여 입력된 $\\boldsymbol{x}$가 $p(\\boldsymbol{X})$에서 추출된 것인지 아닌지를 구별하는 D를 만들고, $\\boldsymbol{x}$를 무작위로 만들어 D에게 검사를 받는 G를 만들어 둘을 훈련시키는 네트워크가 GANs입니다. 여기서 $p(\\boldsymbol{X})$가 무엇인지 전혀 알지 못하므로 모아둔 데이터의 분포를 나타내는 $p_{\\text{data}}(\\boldsymbol{X})$를 생각 해볼 수 있습니다. $p_{\\text{data}}(\\boldsymbol{X})$는 $p(\\boldsymbol{X})$와 완전히 같지는 않겠지만 우리가 할 수 있는 최선입니다. 그리고 $G$도 어떤 규칙으로 데이터를 만들어 낼테니까 $G$에서 생성되는 데이터의 확률분포 $p_{g}(\\boldsymbol{X})$를 생각해 볼 수 있습니다. 이제 $p_{\\text{data}}(\\boldsymbol{X})$와 최대한 비슷한 $p_{g}(\\boldsymbol{X})$를 만드는것이 우리의 목표입니다. \n", "우선 $D$를 훈련 시키기 위한 코스트를 살펴보겠습니다.\n", "

\n", "$$ J^{D} \\left( \\boldsymbol{\\theta}^{(D)} , \\boldsymbol{\\theta}^{(G)} \\right) \n", "= - \\frac{1}{2} \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\log D( \\boldsymbol{x} ) \n", "- \\frac{1}{2} \\mathbb{E}_{\\boldsymbol{z}} \\log \\left(1-D\\left(G(\\boldsymbol{z})\\right) \\right)\n", "$$\n", "
\n", "위 식은 일반적인 바이너리 크로스엔트로피 식인데 보통의 경우와 약간 다른 점이 있습니다. 아래 그림을 보면 첫째 행에 일반적인 바이너리 크로스엔트로피 식을 적었고 두번째 행에 논문에서 사용하는 형태의 표기로 바꾼 식이 적혀 있습니다. 대응되는 같은 부분을 같은 색으로 표시했습니다. 여기서 두번째 항에 확률분포를 살짝 바꾼식이 세번째 행에 있는 식, 즉 위 식이 됩니다. 이렇게 해놓고 보면 세번째 식의 각 항은 앞서 알아보았던 크로스엔트로피가 된다는 것을 알 수 있습니다. 그리고 그것들이 더해진 형태입니다. NIPS 2016 Tutorial:Generative Adversarial Networks[9]의 설명문을 그림밑에 인용하였습니다.\n", "\n", "\n", "\n", "
\n", "\n", ">\"This is just the standard cross-entropy cost that is minimized when training\n", "a standard binary classifier with a sigmoid output. The only difference is that\n", "the classifier is trained on two minibatches of data; one coming from the dataset,\n", "where the label is 1 for all examples, and one coming from the generator, where\n", "the label is 0 for all examples.\"\n", "\n", "
\n", "\n", "위 식에서 $\\boldsymbol{\\theta}^{(D)}$는 $D(\\boldsymbol{x})$를 조정하는 매개변수, $\\boldsymbol{\\theta}^{(G)}$는 $G(\\boldsymbol{z})$를 조정하는 매개변수입니다. 먼저 첫번째 항에 대해 이야기하면 $D(\\boldsymbol{x})$는 데이터 $\\boldsymbol{x}$를 입력받아 0~1을 출력하는 함수입니다. $\\boldsymbol{x} \\sim p_{\\text{data}}$는 우리가 모은 데이터의 확률분포에서 추출한 데이터 $\\boldsymbol{x}$라는 뜻으로 그냥 우리의 데이터셋에서 뽑은 데이터라는 뜻입니다. 즉, 진짜 데이터가 되겠습니다. 이 진짜 데이터에 대한 기대값이란 의미이며 또는 $\\boldsymbol{x}$에 대한 평균으로 생각해도 되겠습니다. 두번째 항에서 $G(\\boldsymbol{z})$는 잠재변수latent variable $\\boldsymbol{z}$를 입력받아 우리가 원하는 데이터를 출력하는 함수입니다. 잠재변수는 보통 노이즈인데 우리 예제에서는 균등분포 난수를 사용하겠습니다. 이는 목표로 하는 확률분포가 정규분포인데 $G$의 입력을 정규분포로 넣어주는 것보다 균등분포로 넣어주는 것이 문제를 더 어렵게 만들기 때문입니다. 이것이 다시 $D$에 입력되니 결국 0~1의 값이 되고 $D$가 똑똑하다면 0 근처의 값을 출력해야 합니다. G를 고정시키고(지금 $G$는 그냥 열심히 가짜 데이터를 만들기만 하면 됨) $\\boldsymbol{\\theta}^{(D)}$에 대해서 위 식을 최소화 시킵니다. 자세한 상황은 아래 그림과 같습니다.\n", "
\n", "\n", "
\n", "즉, 아래 식과 같이 그래디언트를 구하고 $\\boldsymbol{\\theta}^{(D)}$를 업데이트 시켜 나가면 $D$는 점점 똑똑해집니다. 아래 식은 Goodfellow et al[7]의 Algorithm 1에 나와 있는 식입니다. 각 항의 부호가 바뀐것과 기대값 표시가 평균을 구하는 방법으로 바뀐것만 빼면 위 식과 동일한 식입니다. 부호가 바뀌었으므로 이 경우는 $\\boldsymbol{\\theta}^{(D)}$에 대해 최대화 시켜야 합니다.\n", "

\n", "$$ \n", "\\bigtriangledown_{\\theta^{(D)}} \\frac{1}{m} \\sum_{i=1}^{m} \\left[ \\log D\\left(\\boldsymbol{x}^{(i)}\\right) + \\log \\left( 1-D\\left(G(\\boldsymbol{z}^{(i)})\\right) \\right)\\right] \n", "$$\n", "
\n", "실제 구현에 있어서 $\\log D\\left(\\boldsymbol{x}^{(i)}\\right)$에 대한 함수를 만들고 라벨값으로 1을 넣어주고,\n", "$\\log \\left( 1-D\\left(G(\\boldsymbol{z}^{(i)})\\right)\\right)$데 대한 함수를 만들고 라벨값으로 0을 넣어주고, \n", "두 함수를 더하는 방식으로 구현하면 됩니다. 아래는 김남주님의 GAN 슬라이드[10]에 나오는 구현 부분입니다.\n", "
\n", "\n", "```python\n", "#loss for discriminator\n", "loss_disc_real = tf.nn.sigmoid_cross_entropy_with_logits(disc_real, targets=tf.ones(batch_size))\n", "loss_disc_fake = tf.nn.sigmoid_cross_entropy_with_logits(disc_fake, targets=tf.zeros(batch_size))\n", "\n", "loss_disc = 0.5 * loss_disc_real + 0.5 * loss_disc_fake\n", "```\n", "\n", "
\n", "텐서플로로 구현되어 있는데 리얼 데이터와 라벨로 1을, 페이크 데이터와 라벨 0을 크로스엔트로피 로스에 넘기고 그 둘을 더해서 수식과 동일하게 처리하고 있습니다. 또는 라벨값은 0 아니면 1이므로 리얼과 페이크를 구별하지 않고 그냥 모두 트레이닝 배치에 집어넣고 아래와 같이 바이너리 크로스엔트로피 식으로 처리해도 됩니다. 우리는 Keras에 있는 binary_crossentropy 함수를 사용하도록 하겠습니다.\n", "

\n", "$$ \\bigtriangledown_{\\theta^{(D)}} \\frac{1}{m} \\sum_{i=1}^{2m} \\left[ y^{(i)}\\log D\\left(x^{(i)}\\right) + (1-y^{(i)})\\log \\left( 1-D\\left(G(z^{(i)})\\right) \\right)\\right] \n", "$$\n", "
\n", "이제 $G$에 대한 코스트를 살펴보겠습니다. \n", "$G$에 대한 코스트는 $D$에 대한 코스트에 - 부호를 붙여서 그것을 최소화 하면 됩니다.\n", "

\n", "$$J^{G} = - J^{D} $$\n", "
\n", "그래서 아래처럼 다시 함수를 정의 하면\n", "

\n", "$$ V \\left( \\boldsymbol{\\theta}^{(D)} , \\boldsymbol{\\theta}^{(G)} \\right) = -J^{(D)} \\left( \\boldsymbol{\\theta}^{(D)} , \\boldsymbol{\\theta}^{(G)} \\right) $$\n", "
\n", "으로 쓸 수 있고 GANs가 해결해야하는 문제를 종합적으로 말하자면 이 벨류펑션을 $\\boldsymbol{\\theta}^{(D)}$에 대해서 최대화, $\\boldsymbol{\\theta}^{(G)}$에 대해서 최소화하는 문제가 됩니다.\n", "

\n", "$$\n", "\\boldsymbol{\\theta}^{(G)*} = \\underset{\\boldsymbol{\\theta}^{(G)}}{\\text{argmin}} \\, \\underset{\\boldsymbol{\\theta}^{(D)}}{\\text{argmax}} = \\frac{1}{2} \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\log D( \\boldsymbol{x} ) \n", "+ \\frac{1}{2} \\mathbb{E}_{\\boldsymbol{z}} \\log \\left(1-D \\left( G(\\boldsymbol{z}) \\right) \\right)\n", "$$\n", "
\n", "위 식에서 $\\log D(\\boldsymbol{x})$ 부분은 $G$와 아무 상관이 없는 항입니다. 따라서 $G$는 식의 뒷부분인 $\\frac{1}{2} \\mathbb{E}_{z} \\log \\left(1-D(G(\\boldsymbol{z}) \\right)$를 최소화시키면 됩니다. 그런데 전체 식이 $D$에 대해서 최대화 되었다는 말은 코스트 함수에서 어느정도 평탄한 부분에 도달했다는 말이 됩니다. 그 상태에서 뒷 부분을 코스트로 해서 그래디언트를 계산하고 이를 다시 최소화 시킨다고 했을 때 기울기 값이 크지 않아 최소화 시키기가 힘들 수 있습니다. $D$는 최대화된 최적점에 가버리고 거기서 $G$는 다시 낮은 곳으로 가야하는데 기울기가 없어서 꾸물꾸물 거리게 되는 것입니다. 그래서 논문에서는 식을 약간 변형한 형태인 아래 식으로 코스트 함수를 설정하는 것이 효율적이라 합니다.\n", "

\n", "$$ J^{G} = -\\frac{1}{2} \\mathbb{E}_{z} \\log \\left(D(G(\\boldsymbol{z}) \\right) $$\n", "
\n", "각 형태에 대한 상황을 그림으로 정리했습니다.\n", "
\n", "\n", "
\n", "둘 다 최소화 시키는 코스트로 사용 가능한데 우리 실험에서는 아래와 같이 그래디언트를 구하고 $G$를 업데이트 하도록하겠습니다.\n", "

\n", "$$ \\bigtriangledown_{\\theta^{(G)}} \\left( - \\frac{1}{m}\\sum_{i=1}^{m} \\log D\\left(G(\\boldsymbol{z}^{(i)})\\right) \\right)$$\n", "
\n", "Keras에서 제공하는 mean_squared_logarithmic_error 함수를 사용하겠습니다. GANs의 구조는 대충 알아보았으므로 Keras를 이용해서 모델을 만들겠습니다. 특별히 신기술(?)은 적용하지 않고 활성함수로 relu정도만 사용하고 나머지는 평이하게 구성했습니다.\n", "
" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_1 (Dense) (None, 30) 60 \n", "_________________________________________________________________\n", "dense_2 (Dense) (None, 30) 930 \n", "_________________________________________________________________\n", "dense_3 (Dense) (None, 2) 62 \n", "=================================================================\n", "Total params: 1,052\n", "Trainable params: 1,052\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_4 (Dense) (None, 20) 40 \n", "_________________________________________________________________\n", "activation_1 (Activation) (None, 20) 0 \n", "_________________________________________________________________\n", "dense_5 (Dense) (None, 40) 840 \n", "_________________________________________________________________\n", "activation_2 (Activation) (None, 40) 0 \n", "_________________________________________________________________\n", "dense_6 (Dense) (None, 1) 41 \n", "=================================================================\n", "Total params: 921\n", "Trainable params: 921\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input_1 (InputLayer) (None, 1) 0 \n", "_________________________________________________________________\n", "sequential_2 (Sequential) (None, 1) 921 \n", "_________________________________________________________________\n", "sequential_1 (Sequential) (None, 2) 1052 \n", "=================================================================\n", "Total params: 1,973\n", "Trainable params: 921\n", "Non-trainable params: 1,052\n", "_________________________________________________________________\n" ] } ], "source": [ "################################################################\n", "# 모델 생성\n", "################################################################\n", "\n", "#Discriminator\n", "D = Sequential()\n", "D.add(Dense(30, activation='relu', input_dim=1))\n", "D.add(Dense(30, activation='relu'))\n", "D.add(Dense( 2, activation='softmax'))\n", "D_opt = optimizers.Adam(lr=0.001*1.58, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)\n", "D.compile(loss='binary_crossentropy', optimizer=D_opt, metrics=['accuracy'])\n", "D.summary()\n", "\n", "#Generator\n", "G = Sequential()\n", "G.add(Dense(20, input_dim=1))\n", "G.add(Activation('sigmoid'))\n", "G.add(Dense(40))\n", "G.add(Activation('sigmoid'))\n", "G.add(Dense(1))\n", "#G.add(Activation('linear'))\n", "G.summary()\n", "\n", "#GAN 1 - D(G(z))\n", "# 이 모델을 훈련시킬때 D는 업데이트 되면 안되므로 D의 trainable 을 False로 세팅\n", "make_trainable(D, False)\n", "gan_input = Input(shape=[1])\n", "GAN = Model( gan_input, D(G(gan_input)) )\n", "G_opt = optimizers.Adam(lr=0.001*1.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)\n", "GAN.compile(loss='mean_squared_logarithmic_error', optimizer=G_opt )\n", "GAN.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "일단 초기 G가 균등분포 노이즈를 받아서 어떤 값을 출력하는지 그려보도록하겠습니다.\n", "
" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "G가 만들어낸 값 10개\n", "[[ 0.491036 ]\n", " [ 0.51990318]\n", " [ 0.52715808]\n", " [ 0.5348295 ]\n", " [ 0.5243696 ]\n", " [ 0.52756739]\n", " [ 0.49337378]\n", " [ 0.52823377]\n", " [ 0.52532172]\n", " [ 0.53196764]]\n" ] } ], "source": [ "################################################################\n", "#학습전에 G로 부터 숫자 생성하고 분포를 그려봄\n", "################################################################\n", "Z1 = np.random.uniform(0,1,10000)\n", "fake1 = G.predict(Z1)\n", "n, bins1, patches = plt.hist(Z1, 50, normed=1, facecolor='grey', alpha=0.2)\n", "plt.title('Distribution of Init. P_g(x)')\n", "n, bins, patches = plt.hist(fake1, 50, normed=1, facecolor='red', alpha=0.5)\n", "plt.grid(True)\n", "plt.axis([-1.5, 1.5, 0, 2])\n", "plt.show()\n", "print(\"G가 만들어낸 값 10개\")\n", "print(fake1[:10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "$G$가 토해내는 $p_{g}(\\boldsymbol{x})$는 빨간색으로 표시되는데 그냥 무작위로 나오고 있습니다. 이 $G$를 훈련시켜서 6을 중심으로 종모양으로 퍼지는 모델을 만드는 것이 목표입니다. 경험적으로 알 수 있는 사실이지만 $G$의 학습보다는 $D$의 학습이 더 중요하므로 $D$를 미리 학습을 한번 시킵니다. Goodfellow의 비유처럼 $G$는 위폐범인데 $D$가 위폐를 잘 골라내지 못한다면 $G$가 적당히 만들어도 $D$는 진짜 지폐라고 판단할 것이고 $G$는 집중적으로 그 위폐만 만들게 됩니다. 실제로 $G$가 더 잘 훈련이 되면 우리의 문제에서 $G$는 거의 모든 값을 6근처의 값으로 집중적으로 만드는 모습을 확인할 수 있습니다. 그래서 왠만하면 $D$가 $G$의 결과를 잘 판단하도록 훈련시켜야 합니다. 그의 논문에서 정확히 언급하고 있습니다. \n", "
\n", "\n", ">\"in particular, G must not be trained too much without updating D, in order to avoid “the Helvetica scenario” in which G collapses too many values of $\\boldsymbol{z}$ to the same value of $\\boldsymbol{x}$ to have enough diversity to model $p_{\\text{data}}$\"\n", "\n", "
\n", "$G$가 너무 많은 $\\boldsymbol{z}$ 값을 같은 $\\boldsymbol{x}$값으로 몰리게 해서 $p_{data}$를 묘사하기에 충분한 다양성을 가지지 못하는 문제를 피해야한다는 말입니다. 그래서 먼저 $D$를 선학습 시킵니다. (여러번 실험해보면 이 과정이 꼭 필요한것 같지는 않은데 왠지 하면 좀 더 잘되는 느낌은 있습니다.;;)\n", "
" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*----------------------------------------------------------------\n", "* Discriminator 미리 학습\n", "*----------------------------------------------------------------\n", "- 진짜 샘플 5개\n", "[[ 6.68444115 1. ]\n", " [ 6.36763976 1. ]\n", " [ 7.80758091 1. ]\n", " [ 4.53754296 1. ]\n", " [ 5.21056491 1. ]]\n", "\n", "\n", "- 가짜 샘플 5개\n", "[[ 0.5125246 0. ]\n", " [ 0.51059741 0. ]\n", " [ 0.52134663 0. ]\n", " [ 0.52095461 0. ]\n", " [ 0.49219534 0. ]]\n", "\n", "\n", "Epoch 1/1\n", "80000/80000 [==============================] - 0s - loss: 0.1023 - acc: 0.9739 \n", "\n", "\n", "*----------------------------------------------------------------\n", "* 선학습된 Discriminator 테스트\n", "*----------------------------------------------------------------\n", "- Discriminator의 예측\n", " 입력 출력1 출력2\n", "[[ 6.68444115e+00 8.25808977e-10 1.00000000e+00]\n", " [ 6.36763976e+00 3.05065284e-09 1.00000000e+00]\n", " [ 7.80758091e+00 8.90559241e-12 1.00000000e+00]\n", " [ 4.53754296e+00 5.79159314e-06 9.99994159e-01]\n", " [ 5.21056491e+00 3.60710459e-07 9.99999642e-01]\n", " [ 5.12524605e-01 9.97720420e-01 2.27951678e-03]\n", " [ 5.10597408e-01 9.97706890e-01 2.29313527e-03]\n", " [ 5.21346629e-01 9.97775495e-01 2.22444069e-03]\n", " [ 5.20954609e-01 9.97774541e-01 2.22549099e-03]\n", " [ 4.92195338e-01 9.97572720e-01 2.42733327e-03]]\n" ] } ], "source": [ "################################################################\n", "# Discriminator 미리 학습\n", "################################################################\n", "print(\"*----------------------------------------------------------------\")\n", "print(\"* Discriminator 미리 학습\")\n", "print(\"*----------------------------------------------------------------\")\n", "make_trainable(D, True)\n", "k = 200\n", "real_mb = get_distribution_sampler(mu, sigma, batch_size*k)\n", "fake_mb = np.hstack(\n", " ( G.predict( np.random.uniform(0,1,batch_size*k) ) , \n", " np.zeros(batch_size*k).reshape(batch_size*k,1) \n", " )\n", " )\n", "\n", "print(\"- 진짜 샘플 5개\")\n", "print(real_mb[:5])\n", "\n", "print(\"\\n\")\n", "print(\"- 가짜 샘플 5개\")\n", "print(fake_mb[:5])\n", "print(\"\\n\")\n", "\n", "train_D = np.vstack((real_mb, fake_mb))\n", "train_D = train_D[np.random.permutation(train_D.shape[0]), :]\n", "train_Dx = train_D[:,0]\n", "train_Dy = np_utils.to_categorical(train_D[:,1], 2)\n", "\n", "D.fit(train_Dx, train_Dy, epochs=1, batch_size=batch_size)\n", "\n", "print(\"\\n\")\n", "print(\"*----------------------------------------------------------------\")\n", "print(\"* 선학습된 Discriminator 테스트\")\n", "print(\"*----------------------------------------------------------------\")\n", "Z = np.concatenate((real_mb[:5,0], fake_mb[:5,0]))\n", "detec = D.predict(Z)\n", "\n", "print(\"- Discriminator의 예측\")\n", "print(\" 입력 출력1 출력2\")\n", "print(np.hstack((Z.reshape(10,1), detec)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "$D$가 선학습되어 트레이닝 데이터에 대해 매우 높은 정확도를 보이게 되었습니다. 이제 본 학습에 들어가는데 GANs에서 제안한 대로 $D$와 $G$의 업데이트 비율을 조절하면서 학습합니다. 여기서는 $D$ 3번 업데이트하고 $G$를 한번 업데이트하는 식으로 학습을 진행하였습니다.\n", "
" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "*----------------------------------------------------------------\n", "* 본 학습 시작\n", "*----------------------------------------------------------------\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 0, D:[array(0.006260748021304607, dtype=float32), array(0.9975000023841858, dtype=float32)], G loss:0.4781073331832886\n" ] }, { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 5000, D:[array(1.0960466312326389e-07, dtype=float32), array(1.0, dtype=float32)], G loss:0.48045283555984497\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 10000, D:[array(1.0960466312326389e-07, dtype=float32), array(1.0, dtype=float32)], G loss:0.48045283555984497\n" ] }, { "data": { "image/png": "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\nv5c6UQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 15000, D:[array(0.6459751725196838, dtype=float32), array(0.612500011920929, dtype=float32)], G loss:0.14864879846572876\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 20000, D:[array(0.6478808522224426, dtype=float32), array(0.5849999785423279, dtype=float32)], G loss:0.1522078514099121\n" ] }, { "data": { "image/png": "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\nAJxzrkD9f84VmVEb2G/GAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 25000, D:[array(0.6298986673355103, dtype=float32), array(0.5824999809265137, dtype=float32)], G loss:0.13378502428531647\n" ] }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 30000, D:[array(0.6259119510650635, dtype=float32), array(0.5924999713897705, dtype=float32)], G loss:0.14465180039405823\n" ] }, { "data": { "image/png": "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\ndZoc1E8tAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 35000, D:[array(0.645881175994873, dtype=float32), array(0.5774999856948853, dtype=float32)], G loss:0.1455087661743164\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch : 40000, D:[array(0.6705172061920166, dtype=float32), array(0.5174999833106995, dtype=float32)], G loss:0.13108354806900024\n" ] }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[[ 3.88417435]\n", " [ 6.38488531]\n", " [ 6.92629957]\n", " [ 7.74166536]\n", " [ 6.69731283]\n", " [ 6.96260023]\n", " [ 4.31207705]\n", " [ 7.02328825]\n", " [ 6.77207232]\n", " [ 7.40280771]]\n" ] }, { "data": { "image/png": "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\n/0cBdmkEDHeAAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[[ 0.53172719 0.46827284]\n", " [ 0.48797449 0.51202548]\n", " [ 0.46306628 0.53693372]\n", " [ 0.58682293 0.41317704]\n", " [ 0.47358564 0.52641439]\n", " [ 0.46170425 0.53829575]\n", " [ 0.4780958 0.52190423]\n", " [ 0.47148177 0.52851826]\n", " [ 0.47014824 0.52985179]\n", " [ 0.53282434 0.46717566]]\n" ] } ], "source": [ "################################################################\n", "# 본학습\n", "################################################################\n", "print(\"*----------------------------------------------------------------\")\n", "print(\"* 본 학습 시작\")\n", "print(\"*----------------------------------------------------------------\")\n", "\n", "# the histogram of the data\n", "plt.title('Distribution of P_data(x)') \n", "n, bins1, patches = plt.hist(get_distribution_sampler(mu, sigma, 10000)[:,0], 50, normed=1, facecolor='blue', alpha=0.75)\n", "y = mlab.normpdf(bins1, mu, sigma)\n", "l = plt.plot(bins1, y, 'r--', linewidth=1)\n", "plt.axis([-5, 12, 0, 0.45])\n", "plt.grid(True)\n", "plt.show()\n", "\n", "nb_epoch = 45000\n", "D_losses = []\n", "GAN_losses = []\n", "\n", "for epoch in range(nb_epoch) :\n", " #train D\n", " for k in range(3):\n", " #진짜 데이터를 받아온다.\n", " real_mb = get_distribution_sampler(mu, sigma, batch_size)\n", " #가짜 데이터를 받아온다.\n", " fake_mb = np.hstack(\n", " ( G.predict( np.random.uniform(0,1,batch_size) ) , \n", " np.zeros(batch_size).reshape(batch_size,1) \n", " )\n", " )\n", " #진짜 가짜를 섞어서\n", " train_D = np.vstack((real_mb, fake_mb))\n", " train_D = train_D[np.random.permutation(train_D.shape[0]), :]\n", " train_Dx = train_D[:,0]\n", " train_DY = np_utils.to_categorical(train_D[:,1], 2)\n", " #학습을 한다.\n", " d_loss = D.train_on_batch(train_Dx, train_DY)\n", " D_losses.append(d_loss)\n", " \n", " #train GAN for G 균등분포 난수와 , 라벨 1을 입력으로 학습힌다.\n", " g_loss = GAN.train_on_batch( np.random.uniform(0,1,batch_size) , np_utils.to_categorical(np.ones(batch_size),2) )\n", " GAN_losses.append(g_loss)\n", " \n", " if epoch % print_interval == 0:\n", " print( \"Epoch : {}, D:{}, G loss:{}\".format(epoch, d_loss, g_loss) )\n", "\n", " if epoch % 5000 == 0 :\n", " fake = G.predict(Z1)\n", " plt.title('Epoch {} Distribution of P_g(x)'.format(epoch))\n", " plt.hist(fake, 50, normed=1, facecolor='green', alpha=0.75)\n", " l = plt.plot(bins1, y, 'r--', linewidth=1)\n", " plt.axis([-5, 12, 0, 0.45])\n", " plt.grid(True)\n", " plt.show()\n", " \n", "#################################################################\n", "# 그림 그리는 보조 코드들\n", "#################################################################\n", "plt.title('Discriminator loss and accuracy') \n", "plt.plot(D_losses)\n", "plt.show()\n", "\n", "plt.title('GAN loss') \n", "plt.plot(GAN_losses)\n", "plt.show()\n", "\n", "fake = G.predict(Z1)\n", "plt.title('Distribution of P_g(x)')\n", "plt.hist(fake, 50, normed=1, facecolor='green', alpha=0.75)\n", "l = plt.plot(bins1, y, 'r--', linewidth=1)\n", "plt.axis([-5, 12, 0, 0.45])\n", "plt.grid(True)\n", "plt.show()\n", "print(fake[:10])\n", "\n", "plt.title('Discriminator prediction to samples from G(z)')\n", "detec = D.predict(fake)\n", "plt.plot(detec)\n", "plt.axis([0, 10000, 0, 1])\n", "plt.show()\n", "print(detec[:10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "결과를 다시 한번 찍어보면 아래처럼 모양이 그럭저럭 잘 나오는 것을 확인할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title('Distribution of P_g(x)')\n", "plt.hist(G.predict(np.random.uniform(0,1,10000)), 50, normed=1, facecolor='green', alpha=0.75)\n", "l = plt.plot(bins1, y, 'r--', linewidth=1)\n", "plt.axis([-5, 12, 0, 0.45])\n", "plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "$z$에 대한 $G(z)$함수를 확인해보면 다음과 같습니다.\n", "
" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Z = np.linspace(0,1,1000)\n", "X = G.predict(Z)\n", "\n", "fig = plt.figure()\n", "fig.suptitle('G(z)', fontsize=14, fontweight='bold')\n", "ax = fig.add_subplot(111)\n", "ax.set_xlabel('z')\n", "ax.set_ylabel('x')\n", "plt.plot(Z,X)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "위 그래프를 보면 $z$=0 근방에서 기울기가 급하고 0.2~0.8까지 기울기가 완만하다가 0.8 이상에서 다시 기울기가 증가하는 모습을 확인할 수 있습니다. 히스토그림 결과를 보면 8 근방의 값이 목표보다 많이 생성되고 있는것이 확인되는데 이는 $G(\\boldsymbol{z})$의 매핑상태가 0.0~0.2구간보다 기울기가 완만하게 이루어져 있어서 그렇게 된 것입니다. 좀 더 이상적인 함수 $G(\\boldsymbol{z})$는 다음과 같은 모양이 될 것입니다.\n", "\n", "

\n", "\n", "
\n", "\n", "어쨌거나 우리는 분포를 아는 확률변수 $\\boldsymbol{z}$로 부터 어떤 매핑을 통해 $p_{g}(\\boldsymbol{x})$를 분포로 가지는 확률변수 $\\boldsymbol{x}$를 만들어주는 함수 $G(\\boldsymbol{z})$를 찾아냈습니다. (일반 적으로 $\\boldsymbol{z}$도 벡터 변수인데 우리 예제에서는 0~1사이의 숫자라서 엄밀히 말하면 볼드 $\\boldsymbol{z}$가 아니라 그냥 $z$ 임)\n", "

\n", "실습을 통해 다음과 같은 사실을 알 수 있습니다.\n", "
\n", "1. 초록색 분포가 100줄짜리 프로그램(주석과 그림 그리는 부분 빼면 얼추 100줄;;;) 치고는 $p_{data}$ 분포를 꽤 잘 따라가고 있습니다.
\n", "2. D의 정밀도가 처음에는 1.0으로 시작했다가(위 주황색 그래프) 점점 0.5 근처로 수렴하고 있습니다. 마지막 부분에 실제 softmax층에서 나온 출력을 보면 두 값 모두 0.5 근처로 뭐가 뭔지 모르겠다고 결과를 내보내고 있습니다.
\n", "3. 하지만 G, D가 평형점을 정확히 찾지 못하고 왔다갔다 진동하고 있는 모습을 보입니다. 이에 대해서는 TF-KR의 유재준님 논문 발표[11]에서 확인할 수 있습니다. 계속 학습을 진행하면 결과가 오히려 나빠지는 경우도 많이 나타납니다.
\n", "4. 학습이 초기조건에 꽤 민감하게 반응합니다. 위 결과는 한 서너번 반복해서 나온 괜찮은 결과입니다.
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 약간의 이론\n", "
\n", "\n", "
\n", "논문에서 GANs의 이론적 논의는 $\\max_{D} V(G,D)$가 G에 대해 전역적 최소를 가지고 그것이 $p_{data}=p_{g}$일 때이며 상기 알고리즘으로 그 전역 최소에 도달할 수 있는지 보이는 것입니다. 크게 3가지 부분으로 이 문제를 설명합니다. 이미 TF-KR의 유재준님께서 이론 부분을 리뷰한 훌륭한 문서들이 존재하는데 [11][12] 여기서는 이 문서들을 참고하고 조금 더 친철하게 내용을 보충하여 설명해보도록 하겠습니다. 각각 알아보기 앞서 우선 한가지 짚어야 할 부분이 있습니다. \n", "
\n", "\n", ">*The generator G implicitly defines a probability distribution $p_g$ as the distribution of the samples $G(z)$ obtained when $z ∼ p_z$.* \n", "\n", "\n", "
\n", "바로 위 부분인데요. $G$와 $p_g$가 동일한 것이 아니라는 것입니다. $G$는 제너레이터고 $p_g$는 그 제너레이터가 암시적으로 정의하는 확률 분포입니다. 다시말하면 실제로 $G$는 잠재변수 $\\boldsymbol{z}$로 부터 샘플 $G(\\boldsymbol{z})$를 생성할 뿐이지 $p_g$를 직접적으로 정의 하지 않는다는 것입니다. 우리의 학습 알고리즘이 $G$의 매개변수를 변경하면서 샘플의 분포를 변경하면 암시적으로 $p_g$가 변할 것이고 그것이 $p_{data}$와 비슷하기를 바라는 것입니다. \n", "확률밀도함수 $p_{\\boldsymbol{z}}(\\boldsymbol{z})$를 정확히 알고 있는 확률변수 $\\boldsymbol{Z}$로부터 어떤 함수 관계 $\\boldsymbol{x}=G(\\boldsymbol{z})$에 의해 또다른 확률변수 $\\mathbf{X}$가 정의될 때 \"Change of variable formula\"에 의해 $\\mathbf{X}$의 확률밀도함수를 구할 수 있습니다.[13][14]\n", "하지만 우리는 $p_g$를 구할 것이 아니라 $p_g$를 따르는 $\\boldsymbol{X}$를 생성하는 $G$ ($\\boldsymbol{z}$를 적절한 $\\boldsymbol{x}$로 바꿔주는)를 구할 것입니다. 이 개념을 확실히 새기고 각각 하나씩 살펴보도록 하겠습니다. \n", "($p_g$를 명시적으로 구하는 경우에 있어서 함수 $G(\\boldsymbol{z})$의 역함수 존재 여부가 문제가 될 수 있는데 역함수가 존재하지 않더라도 역함수가 존재하는 구역으로 세분화해서 \"Change of variable formula\"를 적용하여 $p_g$를 구할 수 있습니다. 역함수의 존재 여부는 문제가 되지 않는다는 TF-KR의 토론이 있었습니다.)\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Proposition 1. *For G fixed, the optimal discriminator D is*\n", "$$\n", "D^{*}_{G}(\\boldsymbol{x}) = \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}\n", "$$\n", "\n", "
\n", "Proposition 1은 $G$가 고정된 상태에서 최적의 $D$는 위 식으로 주어진다는 것을 이야기 하며 이를 보이기 위해서는 $\\frac{\\partial V(G,D)}{\\partial D(\\boldsymbol{x})}=0$ 또는 ($ V(G,D) = -J^{D}$ 이므로) $\\frac{\\partial J^{D}}{\\partial D(\\boldsymbol{x})}=0$ 인 $D(\\boldsymbol{x})$를 구하면 됩니다. 우선 논문의 식(3)은 다음과 같습니다. \n", "

\n", "$$\n", "\\begin{align}\n", "V(G,D) &= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) d\\boldsymbol{x} + \\int_{z} p_{z}(z) \\log (1-D(g(z))) dz \\\\\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x}\n", "\\end{align}\n", "$$\n", "
\n", "두번째 적분항의 적분 도메인이 $z$에서 $\\boldsymbol{x}$로 바뀌게 되는데 \n", "이 때 특정 도메인 $Z$가 있어서 $z \\in Z$에 대한 확률 $P(z \\in Z)$는 $x = g(z)$에 의해 변환된 도메인 $X$에서 $x \\in X$에 대한 확률 $P(x \\in X)$와 같으므로 \n", "

\n", "$$\\int_{z \\in Z} p(z) dz = \\int_{x=g(z) \\, \\in \\, X=g(Z)} p(x) dx$$\n", "
\n", "이고 따라서 다음이 성립합니다.\n", "\n", "

\n", "$$\\int_{z \\in Z} p(z)f(g(z)) dz = \\int_{x \\in X} p(x)f(x) dx$$\n", "
\n", "이에 대해서는 요슈아 벤지오 교수에게 메일로 질문을 해서 아래와 같은 답변을 받아 정리를 했습니다.\n", "
\n", "\n", ">There is no need for the change of variable formula. $\\int p_x(x) f(x) dx = \\int p_z(z) f(g(z)) dz$ because $ \\int p_x(x) dx$ is already equal by definition to $\\int_{z: x=g(z)} p_z(z) dz$ \n", "\n", "
\n", "또는 다음과 같이 유도할 수도 있습니다.[14]\n", "

\n", "$$\n", "\\begin{align}\n", "V(G,D) \n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) d\\boldsymbol{x}+ \\int_{z} p_{z}(z) \\log (1-D(g(z))) dz \\\\[4pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) d\\boldsymbol{x}+ \\int_{\\boldsymbol{x}} p_{z}(g^{-1}(\\boldsymbol{x})) \\log (1-D(g(g^{-1}(\\boldsymbol{x})))) \\left| \\frac{dz}{d\\boldsymbol{x}} \\right| d\\boldsymbol{x} \\quad \\because z = g^{-1}(\\boldsymbol{x}),\\text{change of variable} \\\\[4pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) d\\boldsymbol{x}+ \\int_{\\boldsymbol{x}} p_{z}(g^{-1}(\\boldsymbol{x}))\\left| \\frac{dz}{d\\boldsymbol{x}} \\right| \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \\\\[4pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) d\\boldsymbol{x} + \\int_{\\boldsymbol{x}} p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \\quad \\because p_{g}(\\boldsymbol{x})=p_{z}(g^{-1}(\\boldsymbol{x}))\\left| \\frac{dz}{d\\boldsymbol{x}} \\right| \\\\[4pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \n", "\\end{align}\n", "$$\n", "
\n", "이제 미분을 하면 \n", "

\n", "$$\n", "\\begin{align}\n", "\\frac{\\partial V(G,D)}{\\partial D(\\boldsymbol{x})} \n", "&= \\frac{\\partial}{\\partial D(\\boldsymbol{x})} \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \\\\[3pt]\n", "&= \\int_{\\boldsymbol{x}} \\frac{\\partial}{\\partial D(\\boldsymbol{x})} \\left[ p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) \\right] d\\boldsymbol{x} \\\\[3pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\frac{1}{D(\\boldsymbol{x})} - p_{g}(\\boldsymbol{x}) \\frac{1}{1-D(\\boldsymbol{x})} d\\boldsymbol{x} \n", "\\end{align}\n", "$$\n", "
\n", "이므로\n", "

\n", "$$\n", "\\int_{x} \\frac{p_{data}(\\boldsymbol{x})\\left( 1-D(\\boldsymbol{x}) \\right) - p_{g}(\\boldsymbol{x})D(\\boldsymbol{x})}{D(\\boldsymbol{x})\\left(1-D(\\boldsymbol{x}) \\right)} d\\boldsymbol{x} =0\n", "$$\n", "
\n", "입니다. \n", "위 적분식이 0이 되기 위해서는 Integrand의 분자가 0 인 경우를 생각해 볼 수 있습니다. 그런데 분자는 0보다 크거나 같다는 것을 알지 못하므로 꼭 분자가 0이 아니더라도 적분식이 0이 될 수 가 있습니다.(적당히 +,- 해서 총합이 0) 따라서 $\\frac{\\partial V(G,D)}{\\partial D(\\boldsymbol{x})}=0$를 만족하는 $D(\\boldsymbol{x})$가 지역 최소(또는 지역 최대)나 안장점이 아니기 위해서는 $V(G,D)$가 볼록함을(또는 오목함을) 보여야 합니다. $ V(G,D) = -J^{D}$ 이므로 $J^{D}$가 볼록함수인지를 보여도 되는데 만약 $J^{D}$가 엄격하게 볼록하다면 전역 최소를 가지며 분자가 0인 경우가 $\\frac{\\partial J^{D}}{\\partial D(\\boldsymbol{x})}=0$ 인 유일한 전역 최소라 할 수 있습니다.\n", "

\n", "$$\n", "\\begin{align}\n", "J^{D} &= -\\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \\\\[3pt]\n", "&= \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\left(-\\log D(\\boldsymbol{x})\\right) + p_{g}(\\boldsymbol{x}) \\left(-\\log (1-D(\\boldsymbol{x}))\\right) d\\boldsymbol{x}\n", "\\end{align}\n", "$$\n", "
\n", "$J^{D}$는 위 식과 같은데 위 식에서 $p_{data}(\\boldsymbol{x})$는 우리가 가진 샘플들에 의해 이미 결정된 확률분포 입니다. 그리고 지금 $G$가 주어진 상태, 즉, $G$가 고정된 상태에서 $D(x)$만 변화 시켜 $J^{D}$의 변화를 보고 있으므로 $p_{g}(\\boldsymbol{x}) $ 역시 고정입니다. 결국 $J^{D}$는 독립변수 $D(\\boldsymbol{x})$에 대한 함수 $-\\log D(\\boldsymbol{x})$와 $-\\log \\left(1-D(\\boldsymbol{x})\\right)$의 조합이므로 $-\\log D(\\boldsymbol{x})$와 $-\\log \\left(1-D(\\boldsymbol{x})\\right)$가 볼록함수임을 보이면 $J^{D}$가 볼록함수임을 보일 수 있습니다. 이를 위해 $D(\\boldsymbol{x})$에 대한 이계미분이 음이 아님을 보이면 되므로\n", "

\n", "$$\n", "\\frac{\\partial}{\\partial D(\\boldsymbol{x})}\\left(\\frac{\\partial \\{-\\log D(\\boldsymbol{x})\\}}{\\partial D(\\boldsymbol{x})}\\right) = \\frac{\\partial}{\\partial D(\\boldsymbol{x})}\\left( -\\frac{1}{D(\\boldsymbol{x})} \\right) = \\frac{1}{D^{2}(\\boldsymbol{x})} \n", "$$\n", "
\n", "$$\n", "\\frac{\\partial}{\\partial D(\\boldsymbol{x})}\\left(\\frac{\\partial \\{-\\log (1-D(\\boldsymbol{x}))\\}}{\\partial D(\\boldsymbol{x})}\\right) = \\frac{\\partial}{\\partial D(\\boldsymbol{x})}\\left( \\frac{1}{1-D(\\boldsymbol{x})} \\right) = \\frac{1}{ (1-D(\\boldsymbol{x}))^2 } \n", "$$\n", "
\n", "이고, 두 결과 모두 $D(\\boldsymbol{x}) = 0$를 제외하면 항상 양수이므로 두 함수 모두 볼록 함수이며 이 함수들이 0보다 큰 $p_{data}(\\boldsymbol{x})$, $p_{g}(\\boldsymbol{x}) $와의 곱의 합으로 나타나는 $J^{D}$ 역시 $D(\\boldsymbol{x})$에 대해 볼록함수임을 알 수 있습니다. \n", "따라서\n", "

\n", "$$ p_{data}(\\boldsymbol{x}) \\left( 1-D(\\boldsymbol{x}) \\right) - p_{g}(\\boldsymbol{x})D(\\boldsymbol{x}) =0 $$\n", "
\n", "이며 최종적으로\n", "

\n", "$$ D^{*}(\\boldsymbol{x}) = \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}$$\n", "
\n", "임을 확인할 수 있습니다. \n", "\n", "\n", "마지막으로 $D(\\boldsymbol{x})$는 $p_{data}(\\boldsymbol{x})$와 $p_{g}(\\boldsymbol{x})$가 0이 아닌 집합에 대해서만 정의되면 되므로(어떤 샘플 $\\boldsymbol{x}$가 일어날 확률이 0인 것에 대해서는 참 거짖을 판별할 필요 없음) $Supp(p_{data}(\\boldsymbol{x})) \\cup Supp(p_{g}(\\boldsymbol{x}))$ 에서만 정의되면 된다 라고 논문에서 언급합니다. \n", "논문에서 증명 하기를 $(a,b) \\in \\mathbb{R}^{2} \\backslash \\{0,0\\}$ (집합 (a,b)는 집합 {0,0}을 제외한 실수쌍인 집합)인 a, b에 대해서 $a \\log(y) + b \\log(1-y)$라는 함수를 [0,1]에서 y에 대해 미분해서 0인 점을 찾으면 최대값이 $ \\frac{a}{a+b}$에서 나타난다고 하고 이 식에서 a에 해당하는것이 $p_{data}$이고 b에 해당하는 것이 $p_{g}$ 니까 a, b가 0이 아니었듯이 $p_{data}$, $p_{g}$도 0이 아닌 경우에 대해서 생각하기 위해 $Supp(p_{data}(\\boldsymbol{x})) \\cup Supp(p_{g}(\\boldsymbol{x}))$ 에서만 정의되면 된다고 언급하고 증명을 마무리합니다.\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">Theorem 1. *The global minimum of the virtual training criterion $C(G)$ is achieved if and only if $p_g = p_{data}$. At that point, $C(G)$ achieves the value $−log4$*. \n", "\n", "
\n", "앞서 정의한 벨류펑션 $V(G,D)$를 D에 대해서 최대화 한 함수를 $G$에 대한 함수로 $C(G)$라 하면 아래와 같이 쓸 수 있습니다. 여기서 $C(G)$를 *virtual training criterion*이라고 표현하는데 $C(G)$는 $G$에 대한 함수인데 존재하는 모든 $G$에 대해서 $D$가 모조리 최대화 되어있는 상태의 함수입니다. 말 그대로 $max_{D} V(G,D)$인 것입니다. 이 함수를 우리가 정식화해서 구할 수 있으면 이 함수를 가지고 경사하강을 하면 될테지만 이런 함수를 미분가능할 정도로 정식화할 수 없기 때문에 $G$에 대한 \"virtual training criterion\"이라고 표현했습니다. 자세한 그림은 Proposition 2에서 다시 살펴보도록 하겠습니다. \n", "

\n", "$$\n", "\\begin{align}\n", "C(G) \n", "& = \\underset{D}{max}V(G,D) \\\\[3pt]\n", "& = \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ \\log D^{*}_{G}(x) \\right] + \\mathbb{E}_{p_{\\boldsymbol{x} \\sim \\text{g}}} \\left[ \\log (1-D^{*}_{G}(x)) \\right] \\\\[3pt]\n", "& = \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ \\log \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ \\log \\frac{p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right]\n", "\\end{align}\n", "$$\n", "
\n", "위 식에서 확인할 수 있듯이 $C(G)$는 $C(G)$에 어떤 $G$가 들어와도 $D$는 $D^{*}_{G}$로 이미 최대화가 되어 있는 그런 함수라는 것을 확인할 수 있습니다. 만약 $p_g = p_{data}$ 라면 $C(G)$는 아래와 같습니다.\n", "

\n", "$$\n", "\\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ - \\log 2 \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ - \\log 2 \\right] = -\\log 4\n", "$$\n", "
\n", "이제 $-\\log 4$가 $C(G)$의 전역 최소라는 것을 보이기 위해 원 논문에서 처럼 $C(G)=V(D^{*}_{G}, G)$에서 위 식을 빼면 ('that by subtracting this expression from $C(G)=V(D^{*}_{G}, G)$, we obtain')\n", "

\n", "$$\n", "\\begin{matrix} \n", "& & \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] & + & \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] & = & C(G) & \\\\\n", "- & ( & \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ - \\log 2 \\right] & + & \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ - \\log 2 \\right] & = & -\\log 4 & ) \n", "\\end{matrix}\n", "$$\n", "
\n", "$$\n", "\\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] - \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ - \\log 2 \\right] \n", "+ \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right]-\\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ - \\log 2 \\right] = C(G)+\\log 4\n", "$$\n", "
\n", "이 됩니다. 기대값 안에 $-\\log 2$에서 $-$를 끄집어 내고 정리하면\n", "

\n", "$$\n", "\\begin{align}\n", "C(G) &= -\\log 4 + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ \\log 2 \\right] \n", "+ \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right]+\\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ \\log 2 \\right] \\\\[4pt]\n", "&= -\\log 4 + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} + \\log 2\\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} + \\log 2\\right] \\\\[3pt]\n", "&= -\\log 4 + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{ 2\\,p_{data}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{2\\, p_{g}(\\boldsymbol{x})}{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})} \\right] \\\\[4pt]\n", "&= -\\log 4 + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left [ \\log \\frac{ p_{data}(\\boldsymbol{x})}\n", "{ \\frac{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}{2} } \\right] + \n", "\\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}\n", "{ \\frac{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}{2} } \\right] \\\\[4pt]\n", "&= -\\log 4 \n", "+ \\int_{\\boldsymbol{x} \\sim p_{\\text{data}}} p_{data}(\\boldsymbol{x}) \\left [ \\log \\frac{ p_{data}(\\boldsymbol{x})}\n", "{ \\frac{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}{2} } \\right] d\\boldsymbol{x}\n", "+ \n", "\\int_{\\boldsymbol{x} \\sim p_{\\text{g}}} p_{g}(\\boldsymbol{x}) \\left [ \\log \\frac{p_{g}(\\boldsymbol{x})}\n", "{ \\frac{p_{data}(\\boldsymbol{x})+p_{g}(\\boldsymbol{x})}{2} } \\right] d\\boldsymbol{x} \\\\[4pt]\n", "&= -\\log 4 + KL \\left( p_{data} \\parallel \\frac{p_{data}+p_{g}}{2} \\right) + KL \\left( p_{g} \\parallel \\frac{p_{data}+p_{g}}{2} \\right)\n", "\\end{align} \n", "$$\n", "
\n", "가 됩니다. 마지막 줄은 앞서 살펴보았던 쿨벡-라이블러 발산의 정의를 그대로 이용한 것입니다. 앞서 쿨벡-라이블러 발산은 항상 0보다 크거나 같으며 볼록하다는 것을 확인했습니다. 따라서 위 식으로 부터 $C(G)$는 볼록함수이며 $p_{data}=p_{g}$일 때 전역적 최솟값 $-\\log 4$를 가진다는 것이 증명되었습니다. 여기서 중요한 부분은 $C(G)$가 $G$에 대해 볼록함수라는 사실 보다는 그 볼록함수가 유일한 전역 최적점(unique global optima)을 가진다는 것입니다.\n", "\n", "
\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">Proposition2. * If G and D have enough capacity,and at each step of Algorithm 1,the discriminator is allowed to reach its optimum given G, and $p_g$ is updated so as to improve the criterion*\n", "

\n", "$$\n", "\\mathbb{E}_{\\boldsymbol{x} \\sim p_{data}} \\left[ \\log D^{*}_{G}(\\boldsymbol{x}) \\right] +\n", "\\mathbb{E}_{\\boldsymbol{x} \\sim p_{g}} \\left[ \\log (1-D^{*}_{G}(\\boldsymbol{x})) \\right]\n", "$$\n", "
\n", "then $p_g$ converges to $p_{data}$\n", "\n", "
\n", "이제 이 논문에서 이해하기 가장 난해한 부분인 Proposition 2입니다. 내용은 앞서 소개한 알고리즘 $p_g$를 잘 변경시켜서 $p_{data}$에 수렴시킬 것인가? 하는 것입니다. $p_g$를 잘 변경시켜서 $p_{data}$에 수렴시킨다는 말은 Thm 1에서 증명한 바와 같이 $C(G)$함수는 유니크 글로벌 옵티마를 가지는데 그것을 Algorithm 1이 찾을 수 있을 것인가? 하는 말과 동치 입니다. 그리고 그 전제 조건은 \"$G$가 주어졌을 때 최적의 $D$에 도달할 수 있다면\" 입니다.
\n", "최대한 쉽게 그림과 함께 알아보도록 하겠습니다. 일단 $U(p_{g}, D) = V(G,D)$인 함수 $U$를 생각하도록 하겠습니다. $U$는 $p_g$와 $D$를 변수로 가지는 함수가 됩니다.\n", "

\n", "$$\n", "U(p_{g}, D) = \\int_{\\boldsymbol{x}} p_{data}(\\boldsymbol{x}) \\log (D(\\boldsymbol{x}))+p_{g}(\\boldsymbol{x}) \\log \\left( 1-D(\\boldsymbol{x}) \\right) d\\boldsymbol{x}\n", "$$\n", "
\n", "$U(p_{g}, D)$는 위와 같은데 이는 $p_g$에 대해서 볼록함수입니다. 이는 Integrand를 $p_g$에 대한 함수로 보고 함수의 볼록성 정의를 그대로 이용하여 보여줄 수 있습니다. 또는 간단하게 그냥 $p_g$에 대해 선형이기 때문이라고 생각하여도 됩니다. 상황을 그림으로 대충 그려보기 위해 $U$가 모양이 $p_g$방향으로는 아래로 볼록한 볼록함수이고 $D$방향으로는 임의의 모양을 가지는 움푹한 배수로같은 모양의 함수라 생각해보겠습니다. 엄밀하게는 $D$와 $p_g$가 함수공간이므로 이를 실변수로 취급해서 $U(p_{g}, D)$를 2변수 스칼라함수로 취급 할 수 는 없지만 그림으로 개념을 알아보기 위해 실변수처럼 가정하도록하겠습니다. \n", "

\n", "\n", "
\n", "앞서 가정한 모양의 $U(p_{g}, D)$가 있다고 했을 때 임의의 구간 $\\mathcal{A}$에 대해서 3개의 $D$를 정해서 그 $D$를 고정시킨 체 $p_g$에 대한 함수를 그려보면 위 그림과 같이 각각 밥그릇 모양의 함수가 나올 것입니다. 물론 구간 $\\mathcal{A}$ 무수히 많은 이런 밥그릇 모양의 함수가 있지만 설명의 편의를 위해 3개만 예를 들도록 하겠습니다. 이 함수들을 $p_g$축 방향에서 보면 아래 왼쪽 그림과 같습니다. \n", "

\n", "\n", "
\n", "
\n", "\n", ">*The subderivatives of a supremum of convex functions include the derivative of the function at the point where the maximum is attained.*\n", "\n", "
\n", "위 문장에서 supremum of convex functions이라 함은 위 왼쪽 그림에서 3개의 함수는 모두 convex function인데 그것들의 수프리멈[15]이니까 위 그림에서 오른쪽 그림입니다. 오른쪽 그림은 모든 $p_g$에 대해서 3개 함수중에 max값을 취한 함수입니다. 여기서는 수프리멈이라고 일반화 시켜서 이야기 했지만 이 함수가 Thm 1에서 $C(G)$함수가 됩니다. 구간 $\\mathcal{A}$가 개구간일 경우 특정 $p_g$에서 무수히 많은 $U(p_{g}, D)$에 대해 맥시멈이 없을 수 있기 때문에 엄밀하게 Proposition 2에서는 수프리멈을 사용합니다. 이렇게 $D$에 대해 수프리멈을 찾았으면 이 수프리멈에서 $p_g$에 대해 미니멈을 찾으면 우리가 찾고자 하는 최적점을 찾는 것입니다.(그림에서 별표로 표시) 이 수프리멈은 부분 부분 각각 다른 함수들로 조합되는데 이를 pointwise maximum 또는 pointwise supremum이라 합니다. 이 수프리멈은 볼록함수에 대한 수프리멈이므로 역시 볼록함수입니다.[16] 이는 Thm 1에서 증명한 바이기도 합니다.(볼록함수들의 수프리멈이 볼록함수가 된다는 정리를 증명한것은 아님) 또 이 수프리멈은 함수가 조합되는 지점에서 미분 불가능한 점이 생기는데 이 미분불가능 지점에서 subderivative는 무수히 많이 존재합니다.[17] (예로 든 그림은 piecewise 처럼 보이는데 실제로는 pointwise로 거의 쪼각쪼각(?)나는 함수임) 위 그림에서 검은색 동그라미 표시한 지점입니다. 이렇게 정리를 하면 위 문장의 의미를 파악할 수 있습니다. 그림 하나를 더 보면서 이야기하도록 하겠습니다.\n", "\n", "

\n", "\n", "
\n", "\n", "위 그림에서 보면 수프리멈은 구간별로 $ sup_{D} U(p_{g}, D) = U(p_g, D_{k}) $ 이라는 것을 알 수 있습니다. 그림에서 가장 왼쪽 구간은 $U(p_{g}, D_{3}) = sup_{D} U(p_{g}, D)$, 가운데 구간에서는 $U(p_{g}, D_{1}) = sup_{D} U(p_{g}, D)$, 왼쪽 구간에서는 $U(p_{g}, D_{2}) = sup_{D} U(p_{g}, D)$라는 것을 알 수 있습니다. 위에서 말했듯이 함수가 바뀌는 지점이외의 점에서는 유일한 미분값이 존재하고 함수가 바뀌는 지점에서는 무수히 많은 미분값이 subderivative를 이루므로 각 함수 $U(p_{g}, D_{1})$, $U(p_{g}, D_{2})$, $U(p_{g}, D_{3})$의 subderivative를 $sup_{D} U(p_{g}, D)$의 subderivative가 다 포함하게 됩니다. 그래서 어떤 임의의 $p_{g}$에서 맥시멈이 달성된 그 함수의 미분(the derivative of the function at the point where the maximum is attained.)은 $sup_{D} U(p_{g}, D)$의 subderivative(The subderivatives of a supremum of convex functions)가 다 포함하게 됩니다. 그림으로 다시 특정 예를 들어보겠습니다.\n", "\n", "

\n", "\n", "
\n", "\n", "$\\hat{p}_{g}$에서 맥시멈이 달성된 함수는 $U(p_{g}, D_{3})$입니다. $U(p_{g}, D_{3})$의 미분은 $sup_{D} U(p_{g}, D)$의 subderivative에 다 포함됨은 명백합니다. 이 상황을 논문에서 좀 더 포멀하게 다시 한번 더 이야기합니다.\n", "
\n", "\n", ">In other words, if $f(x) = sup_{\\alpha \\in \\mathcal{A}} f_{\\alpha}(x)$ and $f_{\\alpha}(x)$ is convex in $x$ for every $\\alpha$, then $\\partial f_{\\beta}(x) \\in \\partial f$ if $\\beta = argsup_{\\alpha \\in \\mathcal{A}}f_{\\alpha}(x)$.\n", "\n", "
\n", "위 문장은 노테이션이 주욱 써오던 것을 쓰지 않고 갑자기 일반적인 노테이션으로 바뀌어서 좀 혼란스러울수도 있는데(논문을 구구절절 친절히 쓰기 엄청 귀찮았나 봄;;;) 계속 써오던 노테이션을 [ ]에 넣고 다시 생각해보면 결국 같은 이야기라는 것을 알 수 있습스다. 다시 생각해보면 \"$x$ [$p_g$]에 대해 볼록함수인 $f_{\\alpha}(x)$ [$U(p_{g},D)$]에 대한 수프리멈을 $f(x)$라 하면 $x$ [$\\hat{p}_g$]에 대해서 수프리멈을 달성하게 하는 아규먼트 $\\beta$ [$D_{3}(x)$]에 대해 $\\partial f_{\\beta}(x)$ [$\\partial U(p_{g}, D_{3})$]은 $\\partial f$에 포함된다\" 라는 것입니다. 여기서 $\\partial$을 집합 subderivative 라는 의미로 사용했습니다.\n", "\n", "
\n", "\n", ">*This is equivalent to computing a gradient descent update for $p_g$ at the optimal $D$ given the corresponding $G$.*\n", "\n", "
\n", "수프리멈은 미분 가능한 정도로 정식화 되지 않아 경사하강법 등으로 최솟점을 찾을 수 없는데 수프리멈의 subderivatives가 그 수프리멈을 구성하는 함수의 미분을 포함하기 때문에 수프리멈을 구성하는 각 $U(p_{g}, D^{*})$(여기서 $D^{*}=argsup_{D}U(p_{g}, D)$)에 대해서 경사하강법을 적용하는 것은 수프리멈의 최솟점을 향해 수렴한다는 동일한 결과를 줍니다.\n", "그리고 다행스럽게도 수프리멈은 Thm 1에서 이미 유니크 전역 최적점(unique global optima)을 가지고 있다고 증명하였으므로(여기서 말하고 있는 수프리멈이 Thm 1에서 $C(G)$) 단계적으로 $U(p_{g}, D^{*})$에 대해서 경사하강법을 적용해서 전역 최적점으로 $p_g$를 수렴 시킬 수 있습니다. \n", "\n", "

\n", "\n", "
\n", "\n", "위 그림에 그 과정을 나타내었습니다. 우선 임의의 $\\hat{p}_{g}$가 있을 때 1번 과정으로 $D$에 대해 최대화 시키고 그 상태에서 2번 과정으로 $p_g$에 대해 최소화를 시킵니다. 업데이트된 $p_g$에서 3번 과정으로 $D$에 대해 최대화 시키고 다시 4번 과정으로 $p_g$에 대해 최소화를 시켜서 수프리멈의 전역 최솟점을 찾을 수 있습니다. 이는 Algorithm 1에서 제안했던 방식과 정확히 일치하는 방식입니다. 이런 방식으로 $p_{g}=p_{data}$가 되는 최적점으로 수렴한다는것을 보인것 입니다. 다만 위 그림처럼 순차적으로 $D$에 대해 최대화, $p_g$에 대해 최소화를 반복하면 어떤 $U(p_{g}, D_{k_{1}})$, $U(p_{g}, D_{k_{2}})$의 최소점 사이를 왔다 갔다 할 수 있습니다. 실제로 그런 현상이 일어나는 것을 위에 실험 결과로 정리했습니다.\n", "
\n", "실제로 Algorithm 1은 $p_{g}$를 업데이트하는것이 아니라 $G$의 $\\boldsymbol{\\theta}_{g}$를 업데이트하게 됩니다. 하지만 위 증명은 $p_g$ 도메인에서 되었으므로 앞서 짚었듯이 $G$와 $p_g$간의 암시적 정의 관계때문에 실제로 $\\boldsymbol{\\theta}_{g}$를 업데이트 해서는 $p_g$가 $p_{data}$로 수렴하지 않을 수 있습니다. 하지만 $G$를 MLP(Multi-Layer Perceptrons)으로 구성하면 잘 되니까 합리적인 수준에서 사용할 수 있다할 수 있습니다.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 마무리\n", "
\n", "\n", "
\n", "어설프나마 end-to-end 방식으로 GANs를 이해할 수 있는 문서를 만들기 위해 주저리 주저리 적어봤습니다. 비전공자로써 내용을 이해하고 정리하는데 많은 어려움이 있었는데 TF-KR에서 많은 도움을 받아서 글을 작성할 수 있었습니다. 오류가 있다면 메일로 지적 부탁드리겠습니다.\n", "

\n", "작성자 조준우(metamath@gmail.com)\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 참고문헌\n", "
\n", "
\n", "[1] 칸아카데미 정보엔트로피 (https://ko.khanacademy.org/computing/computer-science/informationtheory/moderninfotheory/v/information-entropy)
\n", "[2] Cross entropy, https://en.wikipedia.org/wiki/Cross_entropy
\n", "[3] CSE 533: Information Theory in Computer Science, https://catalyst.uw.edu/workspace/anuprao/15415/86593
\n", "[4] GANs in 50 lines of code (PyTorch), Dev Nag, https://medium.com/@devnag/generative-adversarial-networks-gans-in-50-lines-of-code-pytorch-e81b79659e3f
\n", "[5] tensorflow-GAN-1d-gaussian-ex, 이활석, https://github.com/hwalsuklee/tensorflow-GAN-1d-gaussian-ex
\n", "[6] 아주 간단한 GAN 구현하기, 홍정모, http://blog.naver.com/atelierjpro/220984758512
\n", "[7] Generative Adversarial Networks, Ian J. Goodfellow et al, arXiv:1406.2661, 2014
\n", "[8] KerasGAN, https://github.com/osh/KerasGAN
\n", "[9] NIPS 2016 Tutorial:Generative Adversarial Networks, Ian J. Goodfellow, arXiv:1701.00160v3, 2017
\n", "[10] Generative adversarial networks , 김남주, https://www.slideshare.net/ssuser77ee21/generative-adversarial-networks-70896091
\n", "[11] PR12와 함께하는 GANs, 유재준, https://www.slideshare.net/thinkingfactory/pr12-intro-to-gans-jaejun-yoo
\n", "[12] 초짜 대학원생 입장에서 이해하는 Generative Adversarial Nets, 유재준, http://jaejunyoo.blogspot.com/2017/01/generative-adversarial-nets-1.html
\n", "[13] PennState, STAT 414 / 415 Intro Probability Theory, https://onlinecourses.science.psu.edu/stat414/node/157
\n", "[14] Change of continuous random variable, 조준우, http://nbviewer.jupyter.org/github/metamath1/ml-simple-works/blob/master/GAN/change_of_variable.ipynb
\n", "[15] Wasserstein GAN 수학 이해하기 I, 임성빈, https://www.slideshare.net/ssuser7e10e4/wasserstein-gan-i
\n", "[16] Pointwise maximum, Pointwise supremum, https://cs.uwaterloo.ca/~yuying/Courses/CS870_2012/May15_12.pdf
\n", "[17] Subderivative, https://en.wikipedia.org/wiki/Subderivative
\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }