diff --git a/GAN/1.png b/GAN/1.png new file mode 100644 index 0000000..61deeb6 Binary files /dev/null and b/GAN/1.png differ diff --git a/GAN/2.png b/GAN/2.png new file mode 100644 index 0000000..235df19 Binary files /dev/null and b/GAN/2.png differ diff --git a/GAN/3.png b/GAN/3.png new file mode 100644 index 0000000..02e8627 Binary files /dev/null and b/GAN/3.png differ diff --git a/GAN/4.png b/GAN/4.png new file mode 100644 index 0000000..e67202c Binary files /dev/null and b/GAN/4.png differ diff --git a/GAN/5.png b/GAN/5.png new file mode 100644 index 0000000..843d7e9 Binary files /dev/null and b/GAN/5.png differ diff --git a/GAN/6.png b/GAN/6.png new file mode 100644 index 0000000..5ecaa84 Binary files /dev/null and b/GAN/6.png differ diff --git a/GAN/7.png b/GAN/7.png new file mode 100644 index 0000000..691e2e3 Binary files /dev/null and b/GAN/7.png differ diff --git a/GAN/GANs.ipynb b/GAN/GANs.ipynb new file mode 100644 index 0000000..ec18d1e --- /dev/null +++ b/GAN/GANs.ipynb @@ -0,0 +1,1497 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GANs (Generative Adversarial Networks)" + ] + }, + { + "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": [ + "### 정보 엔트로피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} \\\\\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}(노드수)$ 이므로 \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 \\\\\n", + "&= \\sum_{i=1}^{4} P(X=x_{i})\\log_{2}4 \\\\\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} \\\\\n", + "&= \\frac{500}{1000}q_{1}+\\frac{125}{1000}q_{2}+\\frac{125}{1000}q_{3}+\\frac{250}{1000}q_{4} \\\\\n", + "&= \\frac{500}{1000}\\times 1+\\frac{125}{1000}\\times 3+\\frac{125}{1000}\\times 3+\\frac{250}{1000}\\times 2 \\\\\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 \\\\\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) \\\\\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) \\\\\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} \\\\\n", + "&= \\frac{250}{1000}q_{1}+\\frac{250}{1000}q_{2}+\\frac{250}{1000}q_{3}+\\frac{250}{1000}q_{4} \\\\\n", + "&= \\frac{250}{1000}\\times 1+\\frac{250}{1000}\\times 3+\\frac{250}{1000}\\times 3+\\frac{250}{1000}\\times 2 \\\\\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 \\\\\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) \\\\\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) \\\\\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.717\n", + "H(P(X),Q(X)) = 2.234\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", + "#천개만 뽑아서 질문을 한다.\n", + "#H(P)\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", + "Q = [1]*1000 + [2]*250 + [3]*250 + [4]*500\n", + "random.shuffle(Q)\n", + "q = q2 = 0\n", + "\n", + "#H(Q)\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", + "#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) \\\\\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)\\\\\n", + "&= -\\sum_{i=1} \\left( P(X=x_{i}) \\left( \\log Q(X=x_{i}) - \\log P(X=x_{i}) \\right) \\right) \\\\\n", + "&= -\\sum_{i=1} P(X=x_{i}) \\frac{\\log Q(X=x_{i})}{\\log P(X=x_{i})} \\\\\n", + "&= \\sum_{i=1} P(X=x_{i}) log \\frac{P(X=x_{i})}{Q(X=x_{i})} \\\\\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$의 차이를 줄이는 최적화 과정을 실습해보겠습니다. 다행스럽게도 $D_{KL}$은 확률분포 $Q(X)$ 도메인에서 볼록함수이므로 꽤 손쉽게 전역 최적점을 찾을 수 있습니다. 볼록성에 대한 증명은 CSE 533: Information Theory in Computer Science [3] 세번째 강의 노트에서 확인할 수 있습니다. 기준이 되는 확률분포 $P(X)$를 평균 6, 표준편차 1.5로 두고 평균 $\\mu$와 표준편차 $\\sigma$ 를 설계변수로 하여 최적화를 수행 해보겠습니다. 우선 $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) : [ 5.55202053 7.32547706 5.77007986 5.29420197 5.56929033]\n", + "Init. Samples of Q(x) : [-1.00133037 0.41098088 -1.22261296 -0.19380835 0.29114829]\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": "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\nGGMSyP8Hxo0pyfvIc80AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Samples of P(x) : [ 6.08387116 7.72948787 5.73906567 5.14606368 5.671743 ]\n", + "Samples of Q(x) : [ 7.41969975 6.05231346 6.73068703 6.02675761 4.28135528]\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-hwalsuklee[5], \n", + "아주 간단한 GAN 구현하기-홍정모[6]을 볼 수 있습니다. 해결해야하는 문제는 임의의 평균과 표준편차를 가지는 정규분포로 부터 획득된 학습데이터만을 가지고(평균과 표준편차는 뭔지 모름) 그 데이터의 분포를 흉내내는 모델을 만드는 것입니다. 쿨벡-라이블러 발산을 코스트로한 예제에서는 추정해야하는 모델이 정규분포라는 것을 알고 또 조정하는 설계변수가 평균과 표준편차라는 것을 알고 그것을 조절해서 최적화를 수행하였습니다. 하지만 GANs는 흉내내야하는 모델의 설계변수등 아무런 정보없이 단지 그 모델로 부터 획득된 데이터만 사용하여 그 모델처럼 동작하는 모델을 만들어내는 것입니다. 기본개념은 위 확률분포 최적화 문제와 같지만 훨씬 일반화된 상태로 문제를 풀어나갑니다. \n", + "\n", + "GANs를 numpy만으로 구현하기에는 코드양이 꽤 되고 GPU의 힘을 빌리지 않고는 훈련시키기에 많은 인내가 필요하므로 케라스를 쓰도록 하겠습니다. 우선 필요한 모듈을 로딩하고 보조 함수를 만듭니다. GAN은 D와 G를 따로 훈련시키는데 Ian Goodfellow의 최초 GANs 논문[6]에 의하면 G를 훈련할 때 D는 훈련하지 않습니다. 케라스에는 모델과 레이어에 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\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을 생성합니다. \n", + "모델 정의를 위해 우선 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(x)$를 조정하는 매개변수, $\\boldsymbol{\\theta}^{(G)}$는 $G(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[6]의 Algorithm 1에 나와 있는 식입니다. 각 항의 부호가 바뀐것과 기대값 표시가 평균을 구하는 방법으로 바뀐것만 빼면 위 식과 동일한 식입니다. 부호가 바뀌었으므로 이 경우는 $\\boldsymbol{\\theta}^{(D)}$에 대해 최대화 시켜야 합니다.\n", + "

\n", + "$$ \n", + "\\bigtriangledown_{\\theta^{(D)}} \\frac{1}{m} \\sum_{i=1}^{m} \\left[ \\log D\\left(x^{(i)}\\right) + \\log \\left( 1-D\\left(G(z^{(i)})\\right) \\right)\\right] \n", + "$$\n", + "
\n", + "실제 구현에 있어서 $\\log D\\left(x^{(i)}\\right)$에 대한 함수를 만들고 라벨값으로 1을 넣어주고,\n", + "$\\log \\left( 1-D\\left(G(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(z^{(i)})\\right) \\right)$$\n", + "
\n", + "Keras에서 제공하는 mean_squared_logarithmic_error 함수를 사용하겠습니다. GANs의 구조는 대충 알아보았으므로 Keras를 이용해서 모델을 만들겠습니다. 특별히 신기술(?)은 적용하지 않고 활성함수로 relu정도만 사용하고 나머지는 평이하게 구성했습니다.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "dense_13 (Dense) (None, 30) 60 \n", + "_________________________________________________________________\n", + "dense_14 (Dense) (None, 30) 930 \n", + "_________________________________________________________________\n", + "dense_15 (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_16 (Dense) (None, 20) 40 \n", + "_________________________________________________________________\n", + "activation_5 (Activation) (None, 20) 0 \n", + "_________________________________________________________________\n", + "dense_17 (Dense) (None, 40) 840 \n", + "_________________________________________________________________\n", + "activation_6 (Activation) (None, 40) 0 \n", + "_________________________________________________________________\n", + "dense_18 (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_3 (InputLayer) (None, 1) 0 \n", + "_________________________________________________________________\n", + "sequential_6 (Sequential) (None, 1) 921 \n", + "_________________________________________________________________\n", + "sequential_5 (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": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "G가 만들어낸 값 10개\n", + "[[ 1.05592656]\n", + " [ 1.06276715]\n", + " [ 1.0556128 ]\n", + " [ 1.07961988]\n", + " [ 1.06597352]\n", + " [ 1.06071043]\n", + " [ 1.0703969 ]\n", + " [ 1.08249021]\n", + " [ 1.06915987]\n", + " [ 1.07442129]]\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를 미리 학습을 한번 시킵니다. Ian 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": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "*----------------------------------------------------------------\n", + "* Discriminator 미리 학습\n", + "*----------------------------------------------------------------\n", + "- 진짜 샘플 5개\n", + "[[ 6.57336939 1. ]\n", + " [ 5.63364694 1. ]\n", + " [ 5.64404928 1. ]\n", + " [ 7.33483853 1. ]\n", + " [ 5.3510401 1. ]]\n", + "\n", + "\n", + "- 가짜 샘플 5개\n", + "[[ 1.06687319 0. ]\n", + " [ 1.05815434 0. ]\n", + " [ 1.0738405 0. ]\n", + " [ 1.07440543 0. ]\n", + " [ 1.05417192 0. ]]\n", + "\n", + "\n", + "Epoch 1/1\n", + "80000/80000 [==============================] - 0s - loss: 0.0690 - acc: 0.9699 \n", + "\n", + "\n", + "*----------------------------------------------------------------\n", + "* 선학습된 Discriminator 테스트\n", + "*----------------------------------------------------------------\n", + "- Discriminator의 예측\n", + " 입력 출력1 출력2\n", + "[[ 6.57336939e+00 3.48270440e-10 1.00000000e+00]\n", + " [ 5.63364694e+00 3.58078154e-08 1.00000000e+00]\n", + " [ 5.64404928e+00 3.40177131e-08 1.00000000e+00]\n", + " [ 7.33483853e+00 8.15678341e-12 1.00000000e+00]\n", + " [ 5.35104010e+00 1.44235727e-07 9.99999881e-01]\n", + " [ 1.06687319e+00 9.97244358e-01 2.75568222e-03]\n", + " [ 1.05815434e+00 9.97232378e-01 2.76764832e-03]\n", + " [ 1.07384050e+00 9.97253835e-01 2.74615781e-03]\n", + " [ 1.07440543e+00 9.97254670e-01 2.74538621e-03]\n", + " [ 1.05417192e+00 9.97226894e-01 2.77313124e-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": 19, + "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.0017670195084065199, dtype=float32), array(1.0, dtype=float32)], G loss:0.47773754596710205\n" + ] + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 5000, D:[array(0.6975672841072083, dtype=float32), array(0.5, dtype=float32)], G loss:0.1309429556131363\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEICAYAAABWJCMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VPW9//HXm7ATdpDKoqCCFXcTwdaqIKixXqFa64Va\nrra1XPsTu9nbq9XqldauXvS22lbqRmsrWmk1tlQUG2q1iiwiCpSwaFlE2ZGwJuTz++Oc4DAkmclk\nknMm83k+HvPIzFnfs+R8zvo9MjOcc87ln1ZRB3DOORcNLwDOOZenvAA451ye8gLgnHN5yguAc87l\nKS8AzjmXp7wAuMNIMknHRZ0j2yRdJem5LE5viaQR4fP/kfRoFqf9bUkPZGt6DZjvZZLWSqqQdHoz\nzbOdpKWSjkxj2Bsk/ag5cuUDLwAxJ+kdSXvCf8iax71R56oh6RpJB5LyjUjoP1BSmaTdkv4paXTS\n+F+X9J6kDyQ9JKlduuMmTecRSfsl7Qwfb0n6gaSuNcOY2W/N7MI03tMjkr6XajgzO9HM5qQaLo35\njZC0Lmna3zezaxs77QzcBUwys0Izez25Z7hysCv8ntdLmiKpoJHznAi8aGYb0hj2V8BVko5o5Dwd\nXgByxaXhP2TNY1LUgZK8kpRvTkK/x4DXgZ7ALcCTknoDSLoIuAkYBRwNHAPckc64dfixmXUGegOf\nB84CXpbUKQvv8SBJrbM5vZg5GliSYphTzayQ4Hv7LPClRs7zOuA36QxoZnuBvwD/0ch5OrwA5LRw\n7ftlSfdK2hGuJY9K6N9XUqmkrZJWSvpSQr+CcDfDqnCNeYGkAQmTHy1phaTtku6TpAzyDQHOAG43\nsz1mNgN4E/h0OMjVwINmtsTMtgHfBa5Jc9w6mdleM5sHjCEoHp9P+LxeCp9L0t2SNoZbH29KOknS\nROAq4FvhWu4z4fDvSPpvSYuBXZJah90St0raS3o8/DwXSjo14bM4ZLdazVZGWJz+AvRN2ILqm7xL\nSdKYcJfTdklzJJ2Q0O8dSd+UtDj8HTwuqX0d30krSbdK+lf43n8tqauC3TAVQAHwhqRVaXzO/wT+\nDpxU33CSzpD0evi5/D7M972w31EEhX9u+LqtpEWSbghfF4S/8dsSJjkHuCRVPpeaF4DcNxxYBfQC\nbgf+IKlH2G86sA7oC1wBfF/S+WG/bwDjgU8CXYAvALsTpvtvwJnAKcCVwEX1ZDhd0mZJ5ZK+k7CG\nfCKw2sx2Jgz7Rti9pv8bSf36SOqZxrgpheM+D5xTS+8LgXOBIUBXgve4xcymAr8l2JooNLNLE8YZ\nT7Dg6WZmVbVMcyzwe6AH8DvgKUltUmTcBVwMvJuwBfVu4jBhMXwM+BrB1s1M4BlJbRMGuxIoAQYR\nfGfX1DHLa8LHSIIFbyFwr5ntC9fqIVjDP7a+3GGuoQSf7WG7ihKGaQv8EXiE4HN5DLgsYZCTCb7n\nKgAz2w98DpgcFrmbCIrSnQnjLANOxTWaF4Dc8FS45lfzSNzk3gjcY2aVZvY4sBy4JFybPxv473CN\neBHwAB9uOl8L3Gpmyy3whpltSZjuD81su5mtAcqA0+rI9iLBGuARBGvn44H/CvsVAjuSht8BdK6j\nf83zzmmMm653CRY8ySrDaX0UkJktS2Mf9E/NbK2Z7amj/wIze9LMKoEpQHuC3VCN9e/An83s+XDa\ndwEdgI8nZXvXzLYCz1D393UVMMXMVptZBXAzMK6Bu7UWStoWzucB4OF6hj0LaB3mqzSzPwCvJfTv\nBiQWeczsLeB7wFPAN4EJZnYgYZCdBEXbNZIXgNzwKTPrlvD4VUK/9XZoi37/Iljj7wtsTVqD/hfQ\nL3w+gGDLoS7vJTzfTbBAPky4IHnbzKrN7E1gMsHWBkAFwdZFoi58+A+f3L/m+c40xk1XP2BrLbn/\nCtwL3AdslDRVUvL8kq1Nt7+ZVfPh1ldj9SX47hKnvZYPv0tI8/tKnlb4vDXQpwF5zjCz7mZ2rJnd\nGuapL3vybzTxc9xG7UV9GsHxiJlmtiKpX2cOXzlwGfACkPv6Je2fP4pgrfddoIekzkn91ofP1wIp\nN/MzYEBNniXAMUkZTuXDg4xLOHRT/lTg/XBLJNW4KUkqBEYT7Kc+PKjZT82sCBhKsCuoZsulriZy\nUzWde/AYiqRWQH+C7wGChXLHhGE/0oDpvkuwMKyZtsJ5ra9zjDSnRfCbqALez2Ba6djA4b/RxGNN\ni4FBtWyB/Bz4E3CRpE8k9TuBQ3cdugx5Ach9RwBfkdRG0mcI/jlmmtla4B/ADyS1l3QK8EWg5sDi\nA8B3JQ0OD4ieEu57bxBJF0vqEz7/KPAd4GkAMysHFgG3hxkuI9g/PSMc/dfAFyUNldQNuJVgX3E6\n49aXqZ2kIoJdCNuoZReFpDMlDQ/30e8C9gI1a7LvE+wfb6giSZeHC7OvAfuAV8N+i4DPhgc1S4Dz\nEsZ7H+iphFNWkzxBsFtvVJj3xnDa/8gg42PA1yUNCgvk94HH6zimkQ2vAAeASeGB87HAsJqeZrYO\nWJnYTdIEoIjgWMVXgGlh1hrnERw4d43kBSA3PKNDz7P/Y0K/ucBgYDPBgbIrEvbljwcGEqz1/ZHg\njJrZYb8pBAuW54APgAcJ9is31ChgsaRdBAcn/0CwUKkxDigmWBD/MMy3CcDMngV+THCMYQ3B7ojb\n0xm3Dt+StBPYQlBcFgAfDw+0JutCcE75tnC+W4CfhP0eBIaGx1ueSudDCD1NsL9+GzABuDzcZw/w\nVeBSYDvBfviD0w3PpnkMWB3O85DdRma2nODA6M8IvudLCU4N3t+AbDUeIjjl8kXgbYLCd0MG00lL\nmPFygpWP7QTv408EBazG/QSfV81ZQfcA/2FmFWb2O2A+cHfYvz3BiQvTmipzPpHfECZ3SboGuNbM\nkjeRnYstSXOBX5rZw+HrdgRnEo1KdSA+PD10gJl9q+mTtnwt+YIW51wMSDqP4Oy0zQRbP6cAz9b0\nN7N9BMdhUjKznzVFxnyV1i4gSSWSliu4mOimeob7tIILXorD1wMVNGOwKHz8MlvBnXPxIOmopF2U\niY+jgOMJDtpuJzh+cUWazT64JpZyF5CCdj7KgQsITmubB4w3s6VJw3UG/gy0JWhLZL6kgcCfzKze\nKwWdc841v3S2AIYBK8PzvfcTXF06tpbhvgv8iOCgknPOuZhL5xhAPw69cGMdQfMDB0k6g+DAzJ8l\n/ReHGiTpdYIzTW41s8POyVbQ/spEgA4dOhQNGDAgeZCMVVdX06pVfE92inM+z5a5OOfzbJmLc77y\n8vLNZlZfY4mHM7N6HwRXdT6Q8HoCQdshNa9bETTONDB8PQcoDp+3A3qGz4sICkmX+uZXVFRk2VRW\nVpbV6WVbnPN5tszFOZ9ny1yc8wHzLcXyPPmRTilbz6FX7vXn0CsQOxO0BTNH0jsEbX+USiq2oIGp\nLWGhWUDQ9MCQBlUo55xzTSKdAjAPGBxeOdiW4OKc0pqeZrbDzHqZ2UAzG0hw5eMYCw4C9w4PIiPp\nGIILllZn/V0455xrsJTHAMysStIkYBZBs6wPmdkSSZMJNjlK6xn9XIJmXSsJLrO/zoLWCp1zzkUs\nrQvBzGwmwWX+id1uq2PYEQnPZ5BG2y3OOeeaXzwPZzvnnGtyXgCccy5PeQFwzrk85QXAOefylBcA\n55zLU14AnHMuT3kBcM65POUFwDnn8pQXAOecy1NeAJxzLk95AXDOuTzlBcA55/KUFwDnnMtTXgCc\ncy5PeQFwzrk8lVYBkFQiabmklZJuqme4T0syScUJ3W4Ox1su6aJshHbOOdd4KW8IE97S8T7gAmAd\nME9SqZktTRquM/BVYG5Ct6EEt5A8EegLzJY0xMwOZO8tOOecy0Q6WwDDgJVmttrM9gPTgbG1DPdd\n4EfA3oRuY4Hp4c3h3wZWhtNzzjkXsXQKQD9gbcLrdWG3gySdAQwwsz83dFznnHPRSOuewPWR1AqY\nAlzTiGlMBCYC9OnThzlz5jQ21kEVFRVZnV62xTmfZ8tcnPN5tszFPV+DmVm9D+BjwKyE1zcDNye8\n7gpsBt4JH3uBd4HiWoadBXysvvkVFRVZNpWVlWV1etkW53yeLXNxzufZMhfnfMB8S7E8T36kswto\nHjBY0iBJbQkO6pYmFJAdZtbLzAaa2UDgVWCMmc0PhxsnqZ2kQcBg4LVG1CvnnHNZknIXkJlVSZpE\nsPZeADxkZkskTSaoOKX1jLtE0hPAUqAKuN78DCDnnIuFtI4BmNlMYGZSt9vqGHZE0us7gTszzOec\nc66J+JXAzjmXp7wAOOdcnvIC4JxzecoLgHPO5SkvAM45l6e8ADjnXJ7yAuCcc3nKC4BzzuUpLwDO\nOZenvAA451ye8gLgnHN5yguAc87lKS8AzjmXp7wAOOdcnvIC4JxzecoLgHPO5am0CoCkEknLJa2U\ndFMt/a+T9KakRZJekjQ07D5Q0p6w+yJJv8z2G3DOOZeZlHcEk1QA3AdcAKwD5kkqNbOlCYP9zsx+\nGQ4/BpgClIT9VpnZadmN7ZxzrrHS2QIYBqw0s9Vmth+YDoxNHMDMPkh42Qmw7EV0zjnXFGRW/7Ja\n0hVAiZldG76eAAw3s0lJw10PfANoC5xvZiskDQSWAOXAB8CtZvb3WuYxEZgI0KdPn6Lp06c38m19\nqKKigsLCwqxNL9vinM+zZS7O+Txb5uKcb+TIkQvMrLhBI5lZvQ/gCuCBhNcTgHvrGf6zwLTweTug\nZ/i8CFgLdKlvfkVFRZZNZWVlWZ1etsU5n2fLXJzzebbMxTkfMN9SLM+TH+nsAloPDEh43T/sVpfp\nwKfC4rLPzLaEzxcAq4AhaVUm55xzTSqdAjAPGCxpkKS2wDigNHEASYMTXl4CrAi79w4PIiPpGGAw\nsDobwZ1zzjVOyrOAzKxK0iRgFlAAPGRmSyRNJtjkKAUmSRoNVALbgKvD0c8FJkuqBKqB68xsa1O8\nEeeccw2TsgAAmNlMYGZSt9sSnn+1jvFmADMaE9A551zT8CuBnXMuT3kBcM65POUFwDnn8pQXAOec\ny1NeAJxzLk95AXDOuTzlBcA55/KUFwDnnMtTXgCcywdr1sCWLQAUrlwJX/4ybNgQcSgXNS8AzrV0\nc+dCURG88QYAlV27QqdOMHw4vP56xOFclLwAONeSvfkmjBkDjzwC558PwL7eveGuu2DKFLjwQvjD\nH6LN6CKTVltAzrkctHIllJTA//0fXHLJ4f2vuAIGDYJPfQq6dTtYIFz+8ALgXEtUXQ1XXgm33w7j\nxtU9XFERLFwIPXo0XzYXG14AnGuJWrWC556DXr1SD9u7d/B3wwb4yEdAatpsLjb8GIBzLc3mzcEW\nQDoL/xpmMHYsPPVU0+VysZNWAZBUImm5pJWSbqql/3WS3pS0SNJLkoYm9Ls5HG+5pIuyGd45l8QM\nLr+84QtyCX7wA7jxRti7t2myudhJWQDCWzreB1wMDAXGJy7gQ78zs5PN7DTgx8CUcNyhBLeQPBEo\nAX5ec4tI51wTeP552LgxOPOnoUaNgtNOg7vvzn4uF0vpbAEMA1aa2Woz209w0/exiQOY2QcJLzsB\nFj4fC0wPbw7/NrAynJ5zLtvM4NZbYfJkaJ3h4b277oL//V9Yvz672VwspfMr6QesTXi9DhiePJCk\n64FvAG2BmvPJ+gGvJo3br5ZxJwITAfr06cOcOXPSiJWeioqKrE4v2+Kcz7NlLop8PV96iUFbtjC/\nVy+oZ96psg26+GL2/fjHvHvZZdkPmYJ/r83MzOp9AFcADyS8ngDcW8/wnwWmhc/vBT6X0O9B4Ir6\n5ldUVGTZVFZWltXpZVuc83m2zEWSb/Ros6efTjlYymzV1dnJkwH/XjMHzLcUy/PkRzpbAOuBAQmv\n+4fd6jId+EWG4zrnMvX009ChQ+OnU3Ma6L590K5d46fnYiudYwDzgMGSBklqS3BQtzRxAEmDE15e\nAqwIn5cC4yS1kzQIGAy81vjYzrlDmEHHjtk7h3/ePDjnnOxMy8VWygJgZlXAJGAWsAx4wsyWSJos\nqeZUg0mSlkhaRHAc4Opw3CXAE8BS4FngejM70ATvw7n8tWEDnHlmUASy5YwzgrOJFizI3jRd7KR1\nqoCZzQRmJnW7LeH5V+sZ907gzkwDOudS+O1v4dRTs3sFb0EBXHstTJ0K99+fvem6WPErgZ3LZWZB\nS59XX539aX/hC/DEE7BzZ/an7WLBC4BzuWzhQtizBz7xiexPu29fGDECpk/P/rRdLHhjcM7lspq1\n/1ZNtC73gx9k58wiF0teAJzLZSNHBgeAm8pHP9p003aR811AzuWyyy+HAQNSD9cYixcHB5pdi+MF\nwLlcNWNG8xygPXAguLFMNk8zdbHgBcC5XLRxI3zxi81z85bTTguKwOLFTT8v16y8ADiXi0pLgxu6\nFxY2/bykYFeT3zy+xfEC4Fwuevrp4A5ezcULQIvkBcC5XLNrF/ztb/DJTzbfPD/2saBhuC1bmm+e\nrsn5aaDO5ZpXXoFhw6B79+abZ6tWMH9+883PNQsvAM7lmtGjm+bK33SYNc+BZ9csfBeQc7moffvm\nn6dZcEbQ2rWph3U5wQuAc7nklVfgW9+KZt5S0Ez0U09FM/9GGjlt5MGHC3gBcC6XzJgRbds8fjZQ\ni5JWAZBUImm5pJWSbqql/zckLZW0WNILko5O6HdA0qLwUZo8rnMuTWbNf/pnsgsugNdfh02bosvg\nsiZlAZBUANwHXAwMBcZLGpo02OtAsZmdAjwJ/Dih3x4zOy18jME5l5lly4L79J5+enQZ2reH88+H\nWbOiy+CyJp0tgGHASjNbbWb7CW76fsgqiJmVmdnu8OWrBDd/d85l09NPw5gx0Z+Fc8MNMGhQtBlc\nVshSNPAk6QqgxMyuDV9PAIab2aQ6hr8XeM/Mvhe+rgIWAVXAD83ssCNIkiYCEwH69OlTND2LN6Co\nqKigsDkul89QnPN5tsw1Rb5+M2awc8gQPjj55EZNJ86fXVNmK99SfvD5kJ5DMppGnD+7kSNHLjCz\n4gaNZGb1PoArgAcSXk8A7q1j2M8RbAG0S+jWL/x7DPAOcGx98ysqKrJsKisry+r0si3O+Txb5uKc\nLyvZVq40W7++8dNJ0pSf24hHRhx8ZCrO3ysw31Isz5Mf6ewCWg8kNjjeP+x2CEmjgVuAMWa2L6HA\nrA//rgbmABHuwHQuR23bFrTIGRc//zk8+GDUKVwjpVMA5gGDJQ2S1BYYBxxyNo+k04H7CRb+GxO6\nd5fULnzeCzgbWJqt8M7lja9/HX71q6hTfKikBJ59NuoUrpFSFgAzqwImAbOAZcATZrZE0mRJNWf1\n/AQoBH6fdLrnCcB8SW8AZQTHALwAONcQZvDcc0ETEHFxzjnw5puwdWvUSVwjpNUWkJnNBGYmdbst\n4Xmtv0wz+wfQuCNWzuW7N98MLv467riok3yofXs491yYPRuuvDLqNHXyq37r51cCOxd3s2bBRRdF\nneJwJSXwl79EncI1grcG6lzcPfccTKr1rOtoXXUVXHZZ1ClcI3gBcC7uvvIVGDEi6hSH6969ee9J\n4LLOdwE5F3eXXgqdO0edonYvveSNw+UwLwDOxdns2bD+sMtu4uODD+CnP406hcuQ7wJyLs5uuAEe\nfRT69Ys6Se1GjAjOAtq5MzZbKX7mT/p8C8C5uFqzJrgJe5Stf6bSsWNwf+IXX4w6icuAFwDn4mrW\nrKD9/VYx/zcdPTrYVeVyTsx/Wc7lsVmz4MILo06R2ujRsGJF1ClcBrwAOBdH1dXwt78FWwBxd+aZ\n8Kc/RZ3CZcAPAjsXR61aQXl5bpxnH/UNalzGvAA4F1e5sPCvMWtW0CzEPfdEMns/8yczvgvIuTj6\n9rdh1aqoU6TvmGPgySeDlktdzvAC4Fzc7N0LP/sZ9OoVdZL0HXccFBTA8uVRJ3EN4AXAubj5xz/g\npJOga9eok6RPCs4Gev75qJO4BkirAEgqkbRc0kpJN9XS/xuSlkpaLOkFSUcn9Lta0orwcXU2wzvX\nIs2eHa+bv6Srma8HGDlt5MGHy0zKAiCpALgPuBgYCoyXNDRpsNeBYjM7BXgS+HE4bg/gdmA4MAy4\nXVIOHdlyLgK5WgBGjYLBg6NO4RognS2AYcBKM1ttZvuB6cDYxAHMrMzMdocvXyW4cTzARcDzZrbV\nzLYBzwMl2YnuXAtUWQlt28JZZ0WdpOGOOALuuivqFK4BZCmO2ku6Aigxs2vD1xOA4WZW6x0qJN0L\nvGdm35P0TaC9mX0v7PcdYI+Z3ZU0zkRgIkCfPn2Kpk+f3si39aGKigoKCwuzNr1si3M+z5a5OOdr\n0mzV1bT54AMqu3XLaPSGZCvfUp7RPACG9ByS0Xhx/l5Hjhy5wMyKGzJOVq8DkPQ5oBg4ryHjmdlU\nYCpAcXGxjcjizS/mzJlDNqeXbXHO59kyl3E+sya/sKpJP7vnnoMpUzJuHK4h2e6YdkdG8wAo+3RZ\nRuPF/XfXUOnsAloPDEh43T/sdghJo4FbgDFmtq8h4zrnQsXFsHp11Ckyd/bZsHAhVFREncSlIZ0t\ngHnAYEmDCBbe44DPJg4g6XTgfoJdRRsTes0Cvp9w4PdC4OZGp3auJVq7NmgCeuDAqJNkrlOnoIj9\n/e9w8cVZn7yf8ZNdKbcAzKwKmESwMF8GPGFmSyRNljQmHOwnQCHwe0mLJJWG424FvktQROYBk8Nu\nzrlkL7wQnEkT9+afUxk1ypuHzhFpHQMws5nAzKRutyU8r/OcNTN7CHgo04DO5Y3Zs4OFZ64bPRq+\n/OWoU7g05PiqhnMthFlQAHKh+edUzjwTbr7Z2wXKAd4aqHNxsGdPsNacy/v/a7RuDf/+71GncGnw\nLQDn4qBjR7j99qhTZM/Gjd4uUA7wAuBcHCxbBlVVUafIns2b4Utf8t1AMecFwLmo7d8fNP2wY0fU\nSbLnhBOC95XL1zTkAS8AzkVt7tygEbWePaNOkj1ScEbTCy9EncTVwwuAc1HL1dY/U2nm5qFdw/lZ\nQM5FbfZsuCPzdm1ia9Qo+OY3obq6URe3+dW/Tce3AJyL0o4d8MYbQRs6LU3//rBkSe5f2dyC+Tfj\nXJTat4dZs6BDh6iTNI0jjog6gauHFwDnotSuXctc+6/xzjtw220pB3PR8ALgXJTuuw927049XK7q\n0QPuvrtlv8cc5gXAuaisXx+sHbdrF3WSptOlC5x+esY3iHFNywuAc1GZPRvOPx8KCqJO0rQuuig4\nzuFixwuAc1F59tlg4djSXXhhcKtIFztpFQBJJZKWS1op6aZa+p8raaGkqvAm8on9DoQ3iTl4oxjn\n8t6BA0FjaflQAM44A7p1O3ibyJHTRh58JBo5bSTlW8r9vP9mlPJCMEkFwH3ABcA6YJ6kUjNbmjDY\nGuAa4Ju1TGKPmZ2WhazOtRz//Cf06wcDBqQeNtcVFMDLL0edwtUinSuBhwErzWw1gKTpwFjgYAEw\ns3fCftVNkNG5lufEE2H+/KhTNC+zoI2gBL62Hy1ZiuZaw106JWZ2bfh6AjDczCbVMuwjwJ/M7MmE\nblXAIqAK+KGZPVXLeBOBiQB9+vQpmj59esZvKFlFRQWFhYVZm162xTmfZ8tcnPNFka11RQVF//mf\nzP31rynfvqrO4XoU9GDrgaa/bfiQnkMyGi/O3+vIkSMXmFlxQ8ZpjraAjjaz9ZKOAf4q6U0zO+QX\nYGZTgakAxcXFNmLEiKzNfM6cOWRzetkW53yeLXP15tu2Da6+Gp5++rA14ubQXJ9d4tp92dVl0K0b\nI7p04Y51j9U5zvjC8TxWUXf/bCn7dFlG48X9d9dQ6RwEXg8k7qjsH3ZLi5mtD/+uBuYApzcgn3Mt\nzwsvQGVlJAv/SPnZQLGTTgGYBwyWNEhSW2AckNbZPJK6S2oXPu8FnE3CsQPn8tKsWVBSEnWK5ufX\nA8ROyl1AZlYlaRIwCygAHjKzJZImA/PNrFTSmcAfge7ApZLuMLMTgROA+8ODw60IjgF4AXD5yyw4\n///GG6NOklWpDuaOnDaSdvsO8MfXXqbjZz/O7g7eEn0cpPUtmNlMYGZSt9sSns8j2DWUPN4/gJMb\nmdG5lmPZsuC0yOOPjzpJs9vXroAHLx9Eu30HvADEhH8LzjWnbdvgy1/Ov/3/oRkX5cF1DznEC4Bz\nzenss1t288+pmDHkXxWsOKoQa5WfRTBOvC0g55pLZSXs3Rt1imhJ3PLLpQxeUxF1EodvAThXr8PO\nZW+MZ58N2v9/9tlGpmpeWf0MgFdO68lZi7ZQPrBzo6flGscLgHNJmqx5gtLSWJz+Wb6lnDumBTeh\nz8YCvaFeObUn1z2xml9/amCzz9sdyncBOdccqqvhmWfg0kujThK5twZ3pd/7e+ixfV/UUfKebwE4\n1xxeew169YJjj83K5LK9W6Y5HWjdinkndeesN7Yy87wjo46T17wAOJemRi10S0thzJgsJ8qu5iwq\nU688looOLfxOaDnAC4BzzWHMmGALoBHi0HRytorE+73aZyOOayQvAM41h7POarJJ11UYmnotvrEF\nacRrG3m/Z3uWHdslS4lcQ3kBcDkp6jNZGuSll6B37wY1/1CzcG3Me2vM2npzbG18ZNNeTlm+3QtA\nhPwsIOeaSM19bxdOvBSWLz+sexx26UTp1dN68rFFW4IG8lwkfAvA5YzEBeb4wvEph0kU1VZC4a5K\njn97J4weHcn84+ydvh2pbiWOXVPBqqP9orAoeAFweaW5T58cvngriz7ajVt/f0mTzysTkW6FSLxY\n3JsR8zZ5AYiIFwCX86JYiKVbSD7++mb+cXrP5oiUk8qG9Wb8zLVRx8hbaR0DkFQiabmklZJuqqX/\nuZIWSqoKbyKf2O9qSSvCx9XZCu5c3LU6UM0p5Tt45VQvAHUpH9SFO64/MeoYeSvlFoCkAuA+4AJg\nHTBPUmnSnb3WANcA30watwdwO1AMGLAgHHdbduI7l54othKqC1px1Y+Hs79t9Bc8pXP8JEqqNm8e\nOgLp7AIaBqwMb+qOpOnAWBLu7Wtm74T9qpPGvQh43sy2hv2fB0qAxxqd3LmYqG93UKqFfzq3Umzp\n+m7cw+Rfg0HYAAAPW0lEQVSfvcW1k4ujjpJ30ikA/YDEnXTrgOFpTr+2cfslDyRpIjARoE+fPsyZ\nMyfNyadWUVGR1ellW5zzxS1b4pprj4IejV6Treu9NWa6U2dMBeCI/R149K4NzPzO17CCeJ1tnY3P\nLqs6Gb333cL1W86Bbs2TLdPfddz+JxorFgeBzWwqMBWguLjYRowYkbVpz5kzh2xOL9vinC9u2Wou\n/IJgIf1YReM2JMs+/eHaerbXtL+z8BjWFGzid3sez+p0syEbn122dSnqSOXffs2egbc0S7bE774h\n4vY/0VjprJqsBxJv5Nk/7JaOxozrXM469qV5/HX4EVHHyBllw3oz4rVNflFYM0unAMwDBksaJKkt\nMA4oTXP6s4ALJXWX1B24MOzmXIvVuaKSI/+5gpdPb1zjb/mkfGBnWh8wevxrXdRR8krKAmBmVcAk\nggX3MuAJM1siabKkMQCSzpS0DvgMcL+kJeG4W4HvEhSRecDkmgPCzrVU5yzYxLpThrKnQyz2sOYG\niZ9ddRyVHbyV0OaU1i/UzGYCM5O63ZbwfB7B7p3axn0IeKgRGZ1rEk11hs3OTm1YUjICWNgk02+p\nXjm9FwMLe4PfL77ZxOv0BOdagL8X92bDSem3/Ok+1GvVvzh6/a6oY+QNLwDOZdGADbvpsKcq6hg5\n68il5YyfuSbqGHnDC4BzWXTL/Us5acWOqGPkrBXnnsXZCzfTabcX0ebgBcC5LBny9gd0qahi/kk9\noo6Ss/Z27cyCE7tz/tyNUUfJC14AnMuSS8s28OfzjvQ2bRpp5rlHcvGLG6KOkRe8ADiXBR33VHHe\n/E3MPOcjUUfJefNP6kHHvQfosX1f1FFaPD9R2bks+MTCzSwc2o1t3dpFHSXnVbcSn7/zTN+SagZe\nAJzLguc+3sev/M0iayUwQ4YXgibku4CcywaJXR19fSqbvjGtnPPmb4o6RovmBcC5Rvp/j63kjCXe\nwkm2LfpoN8b89d2oY7RoXgCca4ROuyop+ft7rB5QGHWUFudvxb3pu3EPx6/+IOooLZYXAOca4eKX\n3mPeSd3Z3qVt1FFanAOtW/H7i/ozzm8a32S8ADiXoTb7D3Dls2uZ/smjoo7SYv35vCM5bfl2+r6/\nO+ooLZIXAOcyVPLSe6waUMiKgZ2jjtJi7W3fmlu+ehJbu/oWVlPw0xacy9CKgZ15a3DXqGO0eEuP\n88+4qaS1BSCpRNJySSsl3VRL/3aSHg/7z5U0MOw+UNIeSYvCxy+zG9+56PzzmC687Qd/m8WJK3Yw\n9gW/m2y2pSwAkgqA+4CLgaHAeElDkwb7IrDNzI4D7gZ+lNBvlZmdFj6uy1Ju5yLT6kA1X3xyNW0q\nq6OOkje2dm3L5//4tje1nWXpbAEMA1aa2Woz2w9MB8YmDTMWmBY+fxIYJckv33Mt0vlzN3FK+Q4q\nW/tPvLlsOKIDC4Z25zLfCsiqdApAPyDxPKx1YbdahwnvIbwD6Bn2GyTpdUl/k3ROI/M6FylVG1f9\n6V/8ZszR4Os4zeqhywdx5bNr6b5jf9RRWgyZWf0DSFcAJWZ2bfh6AjDczCYlDPNWOMy68PUqYDiw\nEyg0sy2SioCngBPN7IOkeUwEJgL06dOnaPr06dl6f1RUVFBYGN/9tHHOF7ds5VvKDz7vUdCDrQea\n/+rbIWX/4ITnX+TpO/+73gIQVb505HK24dOepO3uPfz9yxMaNZ8hPYdkNF7c/icSjRw5coGZFTdk\nnHTOAloPDEh43T/sVtsw6yS1BroCWyyoLvsAzGxBWBiGAPMTRzazqcBUgOLiYhsxYkRD3kO95syZ\nQzanl21xzhe3bHdMu+Pg8/GF43ms4rFmnX/hrkqm/eY1bv76yZTvqn8lJYp86crlbKUllXxi4WZm\nNTJ/2afLMhovbv8TjZXOLqB5wGBJgyS1BcYBpUnDlAJXh8+vAP5qZiapd3gQGUnHAIOB1dmJ7lzz\nar+/mkc+NZDyQV2ijpK3dnVqw6xzjow6RouRcgvAzKokTQJmAQXAQ2a2RNJkYL6ZlQIPAr+RtBLY\nSlAkAM4FJkuqBKqB68wsntuezqWwuXs7njk/+fCXi8J5r21kX9tWvHqaN8HdGGldCGZmM4GZSd1u\nS3i+F/hMLePNAGY0MqNzkVK1MfH3q3n00qO9yeeY2FnYhhsfXs6Cod2pbFsQdZyc5U1BOJfCJS9u\n4KQVO9jd3hc0cbFwaHfKj+7Ml2a8HXWUnOYFwLl6HLFlL1+Y8Tb3/McQvzNVzEy5ZgjnztvE8De2\nRB0lZ3kBcK4ObSqr+Z/7lvD4xQNYdVQ8T/3LZzsL2/D9/zyB/3poOZ12VUYdJyd5AXCuDlc/9Q6b\nurfj8YsHpB7YRWLx8d345n+dwq5ObaKOkpP8iJZzdfjDBf3Y17bAr/iNuXf6B1tnhbsqqfBC0CC+\nBeBckl7b9tGq2tjarZ2f9ZMj2lRWM/X2BZy9cHPUUXKKFwDnEvTZtIef3vk6RUu2RR3FNUBlm1b8\nz/VDufHh5RS95ZcapcsLgHOhvhv3cM8PF/FEyQDmndwj6jiugcoHdeG2G07k1vuXcfLy7VHHyQle\nAJwDBmzYzd0/XMRvLz2ap0b71b656q0h3fjef57AHfcu4ej1u6KOE3u+g9PlvTaV1fxgymIevmwg\nz3o7MzlvwUk9uOVrJ7O+T4eoo8SebwG4/BU2hV7ZphU33HK6L/xbkGXHdqGqdSu67NzPVaX/otUB\nv3tbbbwAuLxUuKuS23++lHPmbwJgW7d2ESdyTULi1OXb+cldi/1GMrXwAuDyixlnL9zMr26bz5Zu\nbXn1FD/Y25J9UNiGm248hbcGd+WhW+fxmWfX+r2cE/gxAJc3Tlm+neseX0Xb/dVMueZ4P9MnT1S3\nEg9fPojZZx3Blx9fxdHv7oJro04VD14AXIvWdv8BZLCvXQGdKyr5/UUDmHNmb2/YLQ+t7duJb3/9\nFNruP8AlAOXlMHMmTJgAPXumGr1F8l1ArsVpu/8ARW9t5VsP/pMnv/YKxeFFXS8X9aZs+BG+8M9z\n+xPvHzB/Phx7LFx1FTzxBGzJr5ZF0yoAkkokLZe0UtJNtfRvJ+nxsP9cSQMT+t0cdl8u6aLsRXcu\nuFlLhz1VAHTYU8X/ff91nrrhZT7/x3d4u18nPn/nmbx8ht81ytViyBB49FFYvRo+/nH49a9h8GCo\nqAj6L14My5ZBVVW0OZtQyl1A4T197wMuANYB8ySVmtnShMG+CGwzs+MkjQN+BPy7pKEEt4c8EegL\nzJY0xMwOZPuNuBbEDPbvD/4Rt2+HggIYOBCAT89aS58t+zhj51RGvLucAe/t5rmzP8I9/zGEPe0L\neORTA1l2TGf2tve9my5NPXrA9dcHj6oqaB3+dp55Bh5+GDZsCArDUUdxTKdOUHNT+IULobIy2H3U\npQsUFkKHDjnVeGA6/yXDgJVmthpA0nRgLJBYAMYC/xM+fxK4V5LC7tPNbB/wdnjP4GHAK9mJ73LO\nJZfApk3BP9qBA8E/0HnnwS9+EfQ/5hhYsyZY6HfsCN26wdixcM89AHTeXcXm7m15Z+hpzCisZk3f\nTh822Cbx+tDuEb0x1yK0Tlgk3nJL8KiogOXLYe1ads2d+2H/xx+Hv/412G20c2cwXN++sGpV0P+z\nn4W5c2HKlOA3HEOy8GKYOgeQrgBKzOza8PUEYLiZTUoY5q1wmHXh61XAcIKi8KqZPRp2fxD4i5k9\nmTSPicDE8OXxwPLGv7WDegFxbiIwzvk8W+binM+zZS7O+Y43s84NGSEW28lmNhWY2hTTljTfzIqb\nYtrZEOd8ni1zcc7n2TIX53yS5jd0nHQOAq8HEm+J1D/sVuswkloDXYEtaY7rnHMuAukUgHnAYEmD\nJLUlOKhbmjRMKXB1+PwK4K8W7FsqBcaFZwkNAgYDr2UnunPOucZIuQvIzKokTQJmAQXAQ2a2RNJk\nYL6ZlQIPAr8JD/JuJSgShMM9QXDAuAq4PoIzgJpk11IWxTmfZ8tcnPN5tszFOV+Ds6U8COycc65l\n8iuBnXMuT3kBcM65PJVXBUDSjZJMUmzaBpD0E0n/lLRY0h8ldYtBpnqb/oiSpAGSyiQtlbRE0lej\nzpRMUoGk1yX9KeosySR1k/Rk+JtbJuljUWeqIenr4Xf6lqTHJLWPOM9DkjaG1znVdOsh6XlJK8K/\nkVx5WEe2Bi9L8qYASBoAXAisiTpLkueBk8zsFKAcuDnKMAlNf1wMDAXGh016xEUVcKOZDQXOAq6P\nWT6ArwLLog5Rh/8DnjWzjwKnEpOckvoBXwGKzewkghNOxkWbikeAkqRuNwEvmNlg4IXwdRQe4fBs\nDV6W5E0BAO4GvgXE6qi3mT1nZjWtTb1KcK1ElA42/WFm+4Gapj9iwcw2mNnC8PlOggVYbO7iLqk/\ncAnwQNRZkknqCpxLcNYeZrbfzLZHm+oQrYEO4bVEHYF3owxjZi8SnNWYaCwwLXw+DfhUs4YK1ZYt\nk2VJXhQASWOB9Wb2RtRZUvgC8JeIM/QD1ia8XkeMFrCJwlZnTwfm1j9ks7qHYEUjjredGgRsAh4O\nd1E9IKlT1KEAzGw9cBfBFvoGYIeZPRdtqlr1MbMN4fP3gD5RhqlHWsuSFlMAJM0O9x0mP8YC3wZu\ni2m2mmFuIdi98duocuYSSYXADOBrZvZB1HkAJP0bsNHMFkSdpQ6tgTOAX5jZ6cAuotuFcYhwX/pY\ngiLVF+gk6XPRpqpfeLFrrPYoQMOWJbFoCygbzGx0bd0lnUzwo3ojaKCU/sBCScPM7L0os9WQdA3w\nb8Aoi/7CjNg33yGpDcHC/7dm9oeo8yQ4Gxgj6ZNAe6CLpEfNLC4LsnXAOjOr2WJ6kpgUAGA08LaZ\nbQKQ9Afg48CjkaY63PuSjjSzDZKOBDZGHShRQ5clLWYLoC5m9qaZHWFmA81sIME/wRnNtfBPRVIJ\nwS6DMWa2O+o8pNf0R2TCZsYfBJaZ2ZSo8yQys5vNrH/4OxtH0CRKXBb+hL/5tZKODzuN4tBm3aO0\nBjhLUsfwOx5FTA5QJ0ls9uZq4OkIsxwik2VJiy8AOeBeoDPwvKRFkn4ZZZjwIFJN0x/LgCfMbEmU\nmZKcDUwAzg8/r0XhGrdLzw3AbyUtBk4Dvh9xHgDCrZIngYXAmwTLpkibXZD0GMG9S46XtE7SF4Ef\nAhdIWkGw1fLDGGVr8LLEm4Jwzrk85VsAzjmXp7wAOOdcnvIC4JxzecoLgHPO5SkvAM45l6e8ADjn\nXJ7yAuCcc3nq/wMKgB0yUDXLPwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 10000, D:[array(0.6931429505348206, dtype=float32), array(0.5450000166893005, dtype=float32)], G loss:0.11358608305454254\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 15000, D:[array(0.6891288757324219, dtype=float32), array(0.4350000023841858, dtype=float32)], G loss:0.13778629899024963\n" + ] + }, + { + "data": { + "image/png": "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\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 20000, D:[array(0.6423803567886353, dtype=float32), array(0.5899999737739563, dtype=float32)], G loss:0.16593211889266968\n" + ] + }, + { + "data": { + "image/png": "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\nwDnnCtT/B6GEzjiiuPw+AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 25000, D:[array(0.6673904657363892, dtype=float32), array(0.5249999761581421, dtype=float32)], G loss:0.12458962202072144\n" + ] + }, + { + "data": { + "image/png": "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\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 30000, D:[array(0.6931748986244202, dtype=float32), array(0.5, dtype=float32)], G loss:0.1359509825706482\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEICAYAAABWJCMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYFeWVx/Hvj2anWQVRFlkiKIgLdgNJiNooajtG0GgM\n6jgao2hGMslkGx2NRtTEJI46GU0iiQsTjWjUGGKIuARGTaKyujQKNLiwKfvSgNBNn/mjqvFy7eV2\nd3VX3b7n8zz36Vreqjp36TpVb731lswM55xzuadV3AE455yLhycA55zLUZ4AnHMuR3kCcM65HOUJ\nwDnncpQnAOecy1GeABwAkkzS4XHH0dwk/UXSJRGt6wRJS1PG35M0Pop1h+srkVQU1foy3KYkPSBp\ni6TXmnG7p0t6KsOyr0k6qqljaok8ASRQuOPYLaks5XV33HFVkTRJ0lJJ2yStlzRdUpeU+T0k/UHS\nTknvS7owbfkLw+k7JT0lqUcUy1YTp4XlyiRtkvSCpK+kljGzM8xsegbvuc4EaWYvmdkRda0rE5Ie\nlHRL2vqPMrO5Uay/Hr4AnAr0M7PR6TMlXSppX/gZb5e0WNIXI9jurcBtGZa9HZgawTZzjieA5DrL\nzPJTXlPiDijF34CxZtYVGAy0BlJ3VvcAe4HewEXAL6uO0MK/9wIXh/N3Ab+IaNnqHGtm+cARwIPA\n3ZJubNC7roWk1lGvMyEGAO+Z2c5ayvwj/Iy7AfcBj0nq3tANShoFdDWzVzJcZCYwTtIhDd1mzjIz\nfyXsBbwHjK9h3qUEO+C7gW3AO8ApKfP7EPxDbAZKgStS5uUB/wmsAHYAC4D+4TwDrgKWA1sJdsTK\nINZ84H+BWeF4J4Id+NCUMr8FbguHfwT8LmXeZ8LynRuzbA2xGXB42rTzgI+Bg8LxucDl4fDhwP+F\nn+tG4NFw+ovhunYCZcBXgCJgNfAfwIdhnEXA6rTv8VpgCbAFeABon/I9vlxdvMBkoDx8b2XAn9J/\nF0A74C5gbfi6C2gXzquK7TvAemAd8NVavsNqfzPA18LPal8Yx001/B5fThnvFL6Pwjp+N98P41oL\nXJ76XQE3AL9JKfv58Puo+q0eG36eR6aUeQ64JO7/3Wx7+RlAdhpDsBPvCdwIPJlSFTKD4J+/D8HO\n7keSTg7nfRu4APgnoAtwGcFRdJUvAqOAY4DzgdNrCkDSFyRtI0gk5xLsgACGAhVmtiyl+OtAVR3t\nUeE4AGa2gnCn38hlM/VHgjOWT1VnADcDzwLdgX7A/4TbOTGcf6wFZ2OPhuOHAD0IjpIn17C9iwg+\nx8+EcV5fV4BmNg14GPhpuL2zqil2HfBZ4DiCHeLotHUfAnQF+hLsyO+p5ai82t+Mmd1HcFDwjzCO\nWs+cwrOgywmSxfJayhUT/BbHEyS8orQiRwP7r6WY2d8JzvymS+oAPAT8wMzeSVnmbYLPwdWDJ4Dk\nekrS1pTXFSnz1gN3mVl5uDNaCpwpqT8wFvgPM/vYzBYDvwH+JVzucuB6M1tqgdfNbFPKem8zs61m\n9gEwh2DnUi0ze9mCKqB+wM8Ijk4hOCPYnlZ8G8ERftX8bTXMb8yyGTGzcoKjyequHZQT7Mz7hJ/f\ny3WsrhK40cz2mNnuGsrcbWarzGwzQb32BZnGWoeLgKlmtt7MNgA3EVSNVSkP55eb2SyCnfKnrk9k\n8JvJxGclbSU4E7oAOMfM0r+nVOcDD5hZiZntAn6YNr8bwYFFqh8SJLTXgDUEZ6ipdoTLuXrwBJBc\nZ5tZt5TXr1PmrTGz1F783ic4eusDbDazHWnz+obD/QnOHGryYcrwLoIdbq3MbA3wDMFRJAQ7mi5p\nxbrwyT90bfMbs2xGJLUBehFUd6T7PiDgtbDFzWV1rG6DmX1cR5lVKcNV31MU+oTrq2ndm8ysImW8\npu+zrt9MJl4Jf6M9zeyzZvZ8BrGnfi6r0uZvIS2ph4n7QWAE8F9pv3/C8lvrEbPDE0C26itJKeOH\n8UldcA9JndPmrQmHVxFURUStdcp6lwGtJQ1JmX8sUBIOl5Byqi5pMEF99rJGLpupiUAFwZHkAczs\nQzO7wsz6AFcCv6ij5U8mXen2Txmu+p4guJ7QsWpGNRcw61r3WoKzlerWXR91/WaawjqCM8cq/dPm\nv0FatZ6kvgTVnQ8A/yWpXdoyw0ipHnSZ8QSQnQ4G/k1SG0lfJvjxzzKzVcDfgR9Lai/pGIL634fC\n5X4D3CxpSNi++xhJB9V345IuknRYODyAoGrjBQALWos8CUyV1EnSWIKd7m/DxR8GzgrbzHciaL73\npJntaMyyGcTcQ9JFBFUHP0mr+qoq82VJVTumLQQ74cpw/COCFk/1dbWkfuE1muuAqusHrwNHSTpO\nUns+XQ1S1/YeAa6X1EtST4ILpw/VUr5aGfxmmsJjwFclDZPUEfhB2vxZwElVI+HBzoMELYy+RpBA\nbk6Z3x4oILgQ7Ooj7qvQ/vr0i6A+fTdBlUfV6w/hvEs5sBXQMuC0lGX7AU8TVHGsAK5KmZdHcKHw\nXYJqk3kE7bshrcUMwT/cLTXEdyvBRcOd4d9phK1qwvk9gKfC+R8AF6Ytf2E4fSfBRdkeUSxbTZyp\nLXc2E1zXSF/fXD5pBfRTgiPfsvCzm5xS7iqCHc9WgjrsIlJa/IRlDpjGga2AtgLTgY4p868juB6x\nCvhnDmwJMwRYHC73VMr6qloBtQd+Hsa0LhxuX10c6ctW8znV9pu5lLTWSmnL1jq/luWuJahyXAt8\nPXzv/VPmzwPGhMPfJEiYbcPxPsAG4IRw/MsEBwKx/+9m20vhB+iyhKRLCXZYX4g7FueiIGkY8BZB\nM9aKcNppwL+a2dkZLP8q8DUze6tpI215WurNK865BJN0DkFVT0fgJwT3Ouy/aG1mzxI0ya2TmY1p\nkiBzQEbXACQVK7j1v1TSNbWUOze8Zb4wHB+ooEuDxeHrV1EF7pxLLkn/qQO7Mql6/SUsciVBc+YV\nBDeafT22YHNYnVVAkvII6plPJajvnQdcYGZL0sp1Bv4MtAWmmNl8SQOBp81sRPShO+eca4xMzgBG\nA6VmttLM9hK0955YTbmbCU7l6moX7ZxzLgEyuQbQlwNv1FhN0BXBfpKOJ7iC/2dJ30tbfpCkRQR3\neF5vZi+lb0DSZMJb6Tt06FDQv396s+CGq6yspFWr5LZ2TXJ8HlvDJTk+j63hkhzfsmXLNppZr3ot\nlEFzrfM4sGOmiwlub68ab0XQlG5gOD6XsCMogpt0qjrdKiBIJF1q215BQYFFac6cOZGuL2pJjs9j\na7gkx+exNVyS4wPmWz2bgWaSytZw4J16/TjwLsHOBLdnz5X0HkEHVTMlFVrQR8qmMNEsILjgU5+O\nu5xzzjWRTBLAPGCIpEGS2gKTCLqOBcDMtlnQB8hAMxsIvAJMsOAicK/wInLVbftDgJWRvwvnnHP1\nVuc1ADOrkDQFmE1wJ+n9ZlYiaSrBKcfMWhY/keC2/nKCW+qvsqBXROecczHL6EYwC7qTnZU27YYa\nyhalDD8BPNGI+JxzzjWRZF7Ods451+Q8ATjnXI7yBOCccznKE4BzzuUoTwDOOZejPAE451yO8gTg\nnHM5yhOAc87lKE8AzjmXozwBOOdcjvIE4JxzOcoTgHPO5ShPAM45l6M8ATjnXI7yBOCcczkqowQg\nqVjSUkmlkq6ppdy5kkxSYcq0a8Pllko6PYqgnXPONV6dD4QJH+l4D3AqsBqYJ2mmmS1JK9cZ+Cbw\nasq04QSPkDwK6AM8L2mome2L7i0455xriEzOAEYDpWa20sz2AjOAidWUuxn4CfBxyrSJwIzw4fDv\nAqXh+pxzzsUskwTQF1iVMr46nLafpOOB/mb25/ou65xzLh4ZPRO4NpJaAXcAlzZiHZOByQC9e/dm\n7ty5jQ1rv7KyskjXF7Ukx+exNVyS4/PYGi7p8dWbmdX6Aj4HzE4Zvxa4NmW8K7AReC98fQysBQqr\nKTsb+Fxt2ysoKLAozZkzJ9L1RS3J8XlsDZfk+Dy2hktyfMB8q2N/nv7KpApoHjBE0iBJbQku6s5M\nSSDbzKynmQ00s4HAK8AEM5sflpskqZ2kQcAQ4LVG5CvnnHMRqbMKyMwqJE0hOHrPA+43sxJJUwky\nzsxali2R9BiwBKgArjZvAeScc4mQ0TUAM5sFzEqbdkMNZYvSxm8Fbm1gfM4555qI3wnsnHM5yhOA\nc87lKE8AzjmXozwBOOdcjvIE4JxzOcoTgHPO5ShPAM45l6M8ATjnXI7yBOCccznKE4BzzuUoTwDO\nOZejPAE451yO8gTgnHM5yhOAc87lKE8AzjmXozwBOOdcjsooAUgqlrRUUqmka6qZf5WkNyUtlvSy\npOHh9IGSdofTF0v6VdRvwDnnXMPU+UQwSXnAPcCpwGpgnqSZZrYkpdjvzOxXYfkJwB1AcThvhZkd\nF23YzjnnGiuTM4DRQKmZrTSzvcAMYGJqATPbnjLaCbDoQnTOOdcUZFb7vlrSeUCxmV0ejl8MjDGz\nKWnlrga+DbQFTjaz5ZIGAiXAMmA7cL2ZvVTNNiYDkwF69+5dMGPGjEa+rU+UlZWRn58f2fqiluT4\nPLaGS3J8HlvDJTm+cePGLTCzwnotZGa1voDzgN+kjF8M3F1L+QuB6eFwO+CgcLgAWAV0qW17BQUF\nFqU5c+ZEur6oJTk+j63hmiq+ogeL9r8aKsmfXZJjM0t2fMB8q2N/nv7KpApoDdA/ZbxfOK0mM4Cz\nw+Syx8w2hcMLgBXA0Iwyk3POuSaVSQKYBwyRNEhSW2ASMDO1gKQhKaNnAsvD6b3Ci8hIGgwMAVZG\nEbhzzrnGqbMVkJlVSJoCzAbygPvNrETSVIJTjpnAFEnjgXJgC3BJuPiJwFRJ5UAlcJWZbW6KN+Kc\nc65+6kwAAGY2C5iVNu2GlOFv1rDcE8ATjQnQOedc0/A7gZ1zLkd5AnDOuRzlCcA553KUJwDnnMtR\nngCccy5HeQJwzrkclVEzUOdcvMZNHxd3CK4F8jMA55zLUZ4AnMsFH3wAmzYBkF9aCl//OqxbF3NQ\nLm6eAJxr6V59FQoK4PXXASjv2hU6dYIxY2DRopiDc3HyBOBcS/bmmzBhAjz4IJx8MgB7evWC22+H\nO+6A006DJ5+MN0YXG78I7FxLVVoKxcXw3/8NZ5756fnnnQeDBsHZZ0O3bvsThMsdngCca4kqK+H8\n8+HGG2HSpJrLFRTAwoXQo0fzxeYSwxOAcy1Rq1bw7LPQs2fdZXv1Cv6uWweHHAJS08bmEsOvATjX\n0mzcGJwBZLLzr2IGEyfCU081XVwucTJKAJKKJS2VVCrpmmrmXyXpTUmLJb0saXjKvGvD5ZZKOj3K\n4J3LZeOmj9v/2s8MvvSl+u/IJfjxj+E734GPP442UJdYdVYBhY90vAc4FVgNzJM008yWpBT7nZn9\nKiw/AbgDKA4TwSTgKKAP8LykoWa2L+L34VyL06C7f597DtavD1r+1Ncpp8Bxx8Gdd8K119Z/eZd1\nMjkDGA2UmtlKM9tL8ND3iakFzGx7ymgnwMLhicCM8OHw7wKl4fqcc1Ezg+uvh6lToXUDL+/dfjv8\n13/BmjXRxuYSSWZWewHpPKDYzC4Pxy8GxpjZlLRyVwPfBtoCJ5vZckl3A6+Y2UNhmfuAv5jZ42nL\nTgYmA/Tu3btgxowZkbw5gLKyMvLz8yNbX9SSHJ/H1nBRxLds07KMyw49aCgHvfwygx54gPm//nVw\nEbiBsQ267z729OjB2nPOqVe8UciF77WpjBs3boGZFdZnmchaAZnZPcA9ki4ErueTB8Nnsuw0YBpA\nYWGhFRUVRRUWc+fOJcr1RS3J8XlsDRdFfDdNvynjsnPOnQO33gp33klRHe3564ztpJNAYmjGW49O\nLnyvSZJJAlgD9E8Z7xdOq8kM4JcNXNY511B//CN06ND49VQ1A92zB9q1a/z6XGJlcg1gHjBE0iBJ\nbQku6s5MLSBpSMromcDycHgmMElSO0mDgCHAa40P2zl3ADPo2DG6Nvzz5sEJJ0SzLpdYdSYAM6sA\npgCzgbeBx8ysRNLUsMUPwBRJJZIWE1wHuCRctgR4DFgCPANc7S2AnItWj617YNSoIAlE5fjjg9ZE\nCxZEt06XOBldAzCzWcCstGk3pAx/s5ZlbwVubWiAzrnajf/HR3BsUbR38OblweWXw7RpcO+90a3X\nJYrfCexcNjOj+OUP4ZKM21xk7rLL4LHHYMeO6NftEsETgHNZbOj7ZbTdWwlf+EL0K+/TB4qKIMJm\n2S5ZvDM457LY6S99yLNfOISv1tLuv1F+/ONoWha5RPIE4FwWWzysG+8M6sxXm2oDRx7ZVGt2CeAJ\nwLks9lJh0JVzar9Bcy6ZE+1G3ngjeLLYRRdFu14XO78G4FyWOnHeBjrsrmj6De3bFzxYJspmpi4R\nPAE4l4W6bd/L9+5/B2uOZ7ccd1yQBN54oxk25pqTJwDnstDnF21k/ogefNy+GWpxpeAZA/7w+BbH\nrwE4lyCZPgNg7MJNzBlzcBNHk+JLX4KrroKbMu+gziWfnwE4l2Xa79nHsUu38sqxzfgg9899LugY\nbtOm5tuma3J+BuBclhleuo13BnemrFOb5ttoq1Ywf37zbc81C08AzmWZhUf14M0hXePZuFm0fQ65\nWHkVkHNZqLxtXvNv1CxoEbRqVfNv2zUJTwDOZZHhpdu48tEV8WxcCrqJfuqpeLbvIucJwLkscuL8\nDexpG+O/rTcHbVEy+iVJKpa0VFKppGuqmf9tSUskvSHpBUkDUubtk7Q4fM1MX9Y5lyEzxi7axN9G\n9owvhlNPhUWLYMOG+GJwkakzAUjKA+4BzgCGAxdIGp5WbBFQaGbHAI8DP02Zt9vMjgtfE3DONciA\ntbtoU17J8gH58QXRvj2cfDLMnh1fDC4ymZwBjAZKzWylme0leOj7xNQCZjbHzHaFo68QPPzdOReh\nsYs28veRB8XfCucb34BBg+KNwUVCVkcHT5LOA4rN7PJw/GJgjJlNqaH83cCHZnZLOF4BLAYqgNvM\n7FNXkCRNBiYD9O7du2BGhA+gKCsrIz8/xiOmOiQ5Po+t4Roa37JNy2qcd9Sf/8rGzxzGR0ceXus6\nhh40tEliaw5Jjg2SHd+4ceMWmFlhfZaJ9D4ASf8MFAInpUweYGZrJA0G/irpTTM7oBmDmU0DpgEU\nFhZaUVFRZDHNnTuXKNcXtSTH57E1XEPju2l6LV0tnATwEZTNq3Udc86tvTvoSD67FSuCB8X06dO4\n9aRpqd9rUmVSBbQG6J8y3i+cdgBJ44HrgAlmtqdqupmtCf+uBOYCIxsRr3M5KX9nOa0qE9Qd8y9+\nAffdF3cUrpEySQDzgCGSBklqC0wCDmjNI2kkcC/Bzn99yvTuktqFwz2BscCSqIJ3Lldc/btSzpy7\nNu4wPlFcDM88E3cUrpHqTABmVgFMAWYDbwOPmVmJpKmSqlr1/AzIB36f1txzGDBf0uvAHIJrAJ4A\nnKsPMwpLtrDgqO5xR/KJE04InhK2eXPckbhGyOgagJnNAmalTbshZXh8Dcv9HTi6MQE6l+sGr97J\nnjatWNu7Y9yhfKJ9ezjxRHj+eTj//LijcQ3kdwI7l3Cj3tzM/KObsevnTBUXw1/+EncUrhG8N1Dn\nEq6wZAtPndI37jA+7aKL4Jxz4o7CNYInAOcS7snxfVl8ZLe4w/i07t2Dl8taXgXkXML9Y2RPdndI\n6LHayy9753BZzBOAczEYN33c/ldtji/ZTM8te2otE6vt2+HnP487CtdAngCcS7B/e6iUHtv2xh1G\nzYqKgkdF7tgRdySuARJ6XumcO3jTx3QpK2f5YfXreyb1rGLOJbV3C9FoHTvC6NHw4otw5plNuy0X\nOT8DcC6hRr25mQVHdcdaJfwZvOPHB/cDuKzjCcC5hBr11mbmj0hg+/9048fD8uVxR+EawKuAnItZ\ndReCVWkcu3Qb/3PRkBgiqqdRo+Dpp+OOwjWAJwDnEshaiYtvG01ZpzZxh1K3uB9Q4xrMq4CcS6go\ndv6ZNDWNxOzZ8K1vNf12XKQ8ATiXQJc/vpI+63fHHUbmBg+Gxx+HOp4w6JLFE4BzCdNm7z7OeX4N\n2/KzoPqnyuGHQ14eLF0adySuHjwBOJcwI0q3827fTuzsmEWX6KSgNdBzz8UdiauHjBKApGJJSyWV\nSrqmmvnflrRE0huSXpA0IGXeJZKWh69LogzeuZaoYMkWFgzPwk7W/H6ArFNnApCUB9wDnAEMBy6Q\nNDyt2CKg0MyOAR4Hfhou2wO4ERgDjAZulJSFv2znms/xJVtYmKSnf2XqlFNgSBY0W3X7ZXIGMBoo\nNbOVZrYXmAFMTC1gZnPMbFc4+grBg+MBTgeeM7PNZrYFeA4ojiZ051qevIpKKlqLJZ/pEnco9Xfw\nwXD77XFH4epBVsdVe0nnAcVmdnk4fjEwxsym1FD+buBDM7tF0neB9mZ2SzjvB8BuM7s9bZnJwGSA\n3r17F8yYMaORb+sTZWVl5OfXry+V5pTk+Dy2hqsrvmWbljVjNDD0oKH7h5v0s6uspM327ZR3a9jz\nC7L9e43TuHHjFphZYX2WifQqk6R/BgqBk+qznJlNA6YBFBYWWlFRUWQxzZ07lyjXF7Ukx+exNVxN\n8dXZJt+sSW6smnPuJ53CNeln9+yzcMcdQedwDZCt32u2yqQKaA3QP2W8XzjtAJLGA9cBE8xsT32W\ndc4F7v3hAg7Npvb/6caOhYULoaws7khcBjJJAPOAIZIGSWoLTAJmphaQNBK4l2Dnvz5l1mzgNEnd\nw4u/p4XTnHNpem36mIM37+HDnu3jDqXhOnWCwkJ46aW4I3EZqDMBmFkFMIVgx/028JiZlUiaKmlC\nWOxnQD7we0mLJc0Ml90M3EyQROYBU8Npzrk0xy/ZwsJh3ZLf/XNdTjnFm4NmiYyuAZjZLGBW2rQb\nUobH17Ls/cD9DQ3QuVxRsGQLC7Ox/X+68ePh61+POwqXAb8T2LkkMKOgZAvzs7H9f7pRo+Daa71f\noCyQRfeaO9dytdtbyR9P7stHvTrEHUrjtW4NX/lK3FG4DPgZgHMJsKddHv979sC4w4jO+vXeL1AW\n8ATgXAIctnYnrfZVxh1GdDZuhCuu8GqghPME4FzMWldUcs/NC8nfvS/uUKIzbBjs3QsrV8YdiauF\nJwDnYjZsxXbW9O7A9mzq/78uUtAc9IUX4o7E1cITgHMxy9run+vi3UMnnicA52JWULKFBU3c/LPq\n2cDN8nzgKqecAnPmQGULurbRwngCcC5GnXZV8JlVZbw1pGvcoUSvXz8oKYFWvptJKv9mnIvR3jat\n+P53j2Vv27y4Q2kaBx8cdwSuFp4AnItReZtWLfPov8p778ENN9RZzMXDE4BzMTr7+TW02xNf888m\nvzbQowfceSfs2lV3WdfsPAE4F5OeW/Zw6R/epbxNC/437NIFRo5s8ANiXNNqwb8855KtoGQLi4Z1\np7KZu39etmlZ87YIOv10mO2PAUkiTwDOxWTUm5uZd3QLbP+f7rTTgkdFusTJKAFIKpa0VFKppGuq\nmX+ipIWSKsKHyKfO2xc+JGb/g2Kcy3WtKo3Cks3MG9Ej7lD2a7LrAccfD926+WMiE6jO7qAl5QH3\nAKcCq4F5kmaa2ZKUYh8AlwLfrWYVu83suAhida7FOGzdLjZ2b8eGg7L48Y+ZysuDv/0t7ihcNTJ5\nHsBooNTMVgJImgFMBPYnADN7L5znt/w5l4H3+nbiyhsL4g6jeZkFfQS5xJDV0V1rWKVTbGaXh+MX\nA2PMbEo1ZR8Enjazx1OmVQCLgQrgNjN7qprlJgOTAXr37l0wY8aMBr+hdGVlZeTn50e2vqglOT6P\nreFqim/ZpmUxRHOgHnk92Lyv9kdzDz1oaKTbbF1WRsGVV/Lq//5vcEZQg2z9XpNg3LhxC8yssD7L\nNMcTwQaY2RpJg4G/SnrTzFakFjCzacA0gMLCQisqKops43PnziXK9UUtyfF5bA1XU3w3Tb+J/J3l\nXPPrd7j+myNiOSK+IP8CHil7pNYyc86dE/2Gu3WjqEuX4JGRNcjW7zVbZXIReA3QP2W8XzgtI2a2\nJvy7EpgLjKxHfM61OMcv2ULrfTlYHeKtgRInkwQwDxgiaZCktsAkIKPWPJK6S2oXDvcExpJy7cC5\nXDTqzS3MOzo5rX+ajd8PkDh1JgAzqwCmALOBt4HHzKxE0lRJEwAkjZK0GvgycK+kknDxYcB8Sa8D\ncwiuAXgCcLnLjNFvbea1ETnQ/j/diSfCwoWwfXvckbhQRtcAzGwWMCtt2g0pw/MIqobSl/s7cHQj\nY3SuxRiwdheVglWHdow7lObXsSPcckvQL1CXLnFH42iei8DOuVDnXRX88eS+WVP/n3pT2JxLIrgw\n/K1vNX4dLjKeAJxrRm8N6dqyu3+ui1lQDTRypD8oJgH8G3CuuZSX02ZvfF0/J4IEF14IixbFHYnD\nE4BzzeeZZ7jl52/FHUX8zjoLnn467igcngCcaz4zZ/JaLjb/TPfFL3oCSAhPAM41h8pK+NOf+MfI\nnnFHEr+xY6G0FNatizuSnOcJwLkmNm76OP71xkLebb2DtQd3iDuc+LVpE9wUNmtW3WVdk/JWQM41\ng7GLN/F3P/r/xE9+Al1zuDVUQngCcK4Z/O24g9jWuU3cYSTHgAFxR+DwBOBcZFJvmrpxwI0HzHv7\ncD/a/ZTHHgsSwZgxcUeSszwBONcElm1axk3TbwJgxLKtbOvcNuu7f4j8ruB334UXX/QEECO/COxc\nE/vqH96j/4e74g4jeaqag9bxUKrm0mTPRE4wTwDONaH8neUc8e4OFgzPwd4/6zJ8eNAdxOuvxx1J\nzvIqIOea0Jg3NrP4yG7saVfzYxCTqFmOgiU47zz4/e/huOOafns1yKUj/nSeAJxrQp9ftJG/jzwo\n7jCS6/zz4ac/jTuKT4n8ekdCZVQFJKlY0lJJpZKuqWb+iZIWSqoIHyKfOu8SScvD1yVRBe5c0rXa\nV8kxy7bxj2NzJwHUuw69sDBoDdQMcrGOvy51ngFIygPuAU4FVgPzJM1Me7LXB8ClwHfTlu0B3AgU\nAgYsCJeEI1meAAAQTElEQVTdEk34ziVXZV4rLvrpGPa2za7qn0xEfoRcWendQ8cgk098NFBqZivN\nbC8wA5iYWsDM3jOzN4DKtGVPB54zs83hTv85oDiCuJ3LCi1x5x+5FSuC5wMkpDVQLpHV8aGHVTrF\nZnZ5OH4xMMbMplRT9kHgaTN7PBz/LtDezG4Jx38A7Daz29OWmwxMBujdu3fBjBkzGvu+9isrKyM/\nPz+y9UUtyfF5bPWzbNOy/cMH7+3AqB/dyqwffAvLS9aRbY+8Hmzetzmy9Q09aOj+4arPIHVancwY\nc+GFvHXzzXx0yCFN9r2mfj/VxVyT1LJJ/N1VGTdu3AIzK6zPMom4CGxm04BpAIWFhVZUVBTZuufO\nnUuU64takuPz2GpWVQWSWv1RdeMXwA8WDuaDvA38bvejzR5bXS7Iv4BHyh6JbH1zzv30Z5A6LSMX\nX8yo995j7uGH7/9ea6pmamj1U+r3U13MNUktG/fvLmqZJIA1QP+U8X7htEysAYrSlp2b4bLOZa3P\nvDyPh8YcHHcYzaKhF1UP2JGf/7PgSWGnnBJVWJ/ahvu0TBLAPGCIpEEEO/RJwIUZrn828CNJVXfB\nnAZcW+8oncsincvKOfSd5fztinqdjee0cW99l99tWUWnFStgXOMSSiZnBZ4YAnUmADOrkDSFYGee\nB9xvZiWSpgLzzWympFHAH4DuwFmSbjKzo8xss6SbCZIIwFQzi67y0bkEOmHBBlYfM5zdHRJRw5od\nJP7nosM5eu9HfL+anXNNO2zfkTdORr9QM5sFzEqbdkPK8DyC6p3qlr0fuL8RMTqXCJnubHZ0akNJ\ncRGwsEnjyUa1fYb/GNmTgfm9oKzptuEO5IcozjVCdTublwp70S//CCjL3QTQ0Au1PVe8z4CKnbzf\nt1NThOXSeAJwLkL91+1iY7e2kMyWgrGozxH5oUuWcUHpB9x2xbAmjMhVSVYDZeey3HX3LmHE8m1x\nh5G1lp/4WcYu3EinXRVxh5ITPAE4F5Gh726nS1kF80f0iDuUrPVx184sOKo7J7+6Pu5QcoJXATlX\ni/pUX5w1Zx1/PulQrJWaMKKWb9aJh3LpH97jT+P6xB1Ki+cJwLk0DWlF0nF3BSfN38AlPxrVBBHl\nlvkjevCvj6ygx9Y9bO7WLu5wWjRPAM7R+KaDX1i4kYXDu7HFd1iNVtlKfPXWUX4m1Qw8ATgXgWc/\n35u/jewZdxgthrUSmCHDE0ET8ovAzkVBYmdHP56K0renL+Ok+RviDqNF8wTgcloUT4j610dKOb7E\neziJ2uIjuzHhr2vjDqNF80MWl3Oi7Cqg085yil/6kN+deVhk63SB/yvsxeTHVnLEyu0sHdwl7nBa\nJD8DcK4Rznj5Q+aN6M7WLm3jDqXF2de6Fb8/vR+TZq2KO5QWyxOAcw3UZu8+zn9mFTP+yY/+m8qf\nTzqU45Zupc9Hu+IOpUXyBOBcAxW//CEr+uezfGDnuENpsT5u35rrvjmCzV39DKsp+DUA5xpo+cDO\nvDWka9xhtHhLDvfPuKlkdAYgqVjSUkmlkq6pZn47SY+G81+VNDCcPlDSbkmLw9evog3fufi8M7gL\n7/b3bj+bw1HLtzHxhUyfROsyVWcCkJQH3AOcAQwHLpA0PK3Y14AtZnY4cCfwk5R5K8zsuPB1VURx\nOxebVvsq+drjK2lTXhl3KDljc9e2fPUP79Jht/cSGqVMzgBGA6VmttLM9gIzgIlpZSYC08Phx4FT\nJPnte65FOvnVDRyzbBvlrf0n3lzWHdyBBcO7c46fBUQqkwTQF0hth7U6nFZtGTOrALYBB4XzBkla\nJOn/JJ3QyHidi5UqjYuefp/fThgAfozTrO7/0iDOf2YV3bftjTuUFkNmVnsB6Tyg2MwuD8cvBsaY\n2ZSUMm+FZVaH4yuAMcAOIN/MNkkqAJ4CjjKz7WnbmAxMBujdu3fBjBkzonp/lJWVkZ+f3HraJMfX\nUmNbtmlZg7c7dM7fGfbci/zx1v+oNQH0yOvB5n3JvDs4m2MbM/1x2u7azUtfv7jZYhp60ND9w0n+\nnxg3btwCMyuszzKZtAJaA/RPGe8XTquuzGpJrYGuwCYLssseADNbECaGocD81IXNbBowDaCwsNCK\niorq8x5qNXfuXKJcX9SSHF9Lje2m6Tc1aLn8neVM/+1rXPvvR7NsZ+0HKRfkX8AjZY80aDtNLZtj\nm1lczhcWbmR2M8Y/59xPnmmc5P+JhsikCmgeMETSIEltgUnAzLQyM4FLwuHzgL+amUnqFV5ERtJg\nYAiwMprQnWte7fdW8uDZA1k2yLsliMvOTm2YfcKhcYfRYtR5BmBmFZKmALOBPOB+MyuRNBWYb2Yz\ngfuA30oqBTYTJAmAE4GpksqBSuAqM0vmuadzddjYvR1/Ojn98peLw0mvrWdP21a8cpx3wd0YGd0I\nZmazgFlp025IGf4Y+HI1yz0BPNHIGJ2LlSqNyb9fyUNnDfAunxNiR34bvvPAUhYM705527y4w8la\n3hWEc3U488V1jFi+jV3tfUeTFAuHd2fZgM5c8cS7cYeS1TwBOFeLgzd9zGVPvMtd/zLUn0yVMHdc\nOpQT521gzOub4g4la3kCcK4Gbcor+eE9JTx6Rn9WHJbMpn+5bEd+G3505TC+d/9SOu0sjzucrOQJ\nwLkaXPLUe2zo3o5Hz+hfd2EXizeO6MZ3v3cMOzu1iTuUrORXtJyrwZOn9mVP2zy/4zfh3usXnJ3l\n7yynzBNBvfgZgHNpem7ZQ6tKY3O3dt7qJ0u0Ka9k2o0LGLtwY9yhZBVPAM6l6L1hNz+/dREFJVvi\nDsXVQ3mbVvzw6uF854GlFLzltxplyhOAc6E+63dz122Leay4P/OO7hF3OK6elg3qwg3fOIrr732b\no5dujTucrOAJwDmg/7pd3HnbYh4+awBPjfe7fbPVW0O7ccuVw7jp7hIGrNkZdziJ5xWcLue1Ka/k\nx3e8wQPnDOQZ72cm6y0Y0YPrvnU0a3p3iDuUxPMzAJe7wq7Qy9u04hvXjfSdfwvy9me6UNG6FV12\n7OWime/Tap8/va06ngBcTsrfWc6Nv1jCCfM3ALClW7uYI3JNQuLYpVv52e1v+INkquEJwOUWM8Yu\n3Mivb5jPpm5teeUYv9jbkm3Pb8M13zmGt4Z05f7r5/HlZ1b5s5xT+DUAlztefBG+9z2+uvZd7rj0\nCG/pkyMqW4kHvjSI5z97MF9/dAUD1u7k9suOjDusRPAE4Fq23buDuv6OHWHzZvj2t7li1y+9Y7cc\ntKpPJ/7z34+h7d59APT7cBdjXt/Ec2MPYXt+bt5B7FVAruXZvRueew4uuwz69AmGAc4+G77yFd/5\n57i9Kc8POOK9HTz8vVe47ldLKHptPV3KcqtTuYwSgKRiSUsllUq6ppr57SQ9Gs5/VdLAlHnXhtOX\nSjo9utCdAyorYceOYHjHDjjhBOjVC264AUaMgJISmDgx3hhdIq0+pCM/unI4F/7ss5Qc3pXT/vYh\nv/2PV2n/cQUAg1eVcdjanVBREXOkTafOKqDwmb73AKcCq4F5kmaa2ZKUYl8DtpjZ4ZImAT8BviJp\nOMHjIY8C+gDPSxpqZvuifiOuBTGDvXuhrAy2boW8PBg4MJh3113w/vsMX7Qo2OEvXQr/8i/wi19A\nfj7cdBOMHh0MO5eBHflteGp8X54a35dW+yqpzAuOiz+3aBNnvLwObukKQ4bAYYcxuFMnqHoo/MKF\nUF4OBx0EXboEv7kOHbKq88BMrgGMBkrNbCWApBnARCA1AUwEfhgOPw7cLUnh9Blmtgd4N3xm8Gjg\nH9GE77LOmWfChg3BUdW+fcE/0EknwS9/GcwfPBg++CDY6XfsCN26BUfwd90VzN+yBfr2ZWN+Pgef\neSYMGwZduwbzJDj55Hjel2sRqnb+AA9PGMDDEwYw59w/BQcaq1ax89VXPyn86KPw17/Cpk3BwUhZ\nWVDluGJFMP/CC+HVV+GOOxJ7FioLb4apsYB0HlBsZpeH4xcDY8xsSkqZt8Iyq8PxFcAYgqTwipk9\nFE6/D/iLmT2eto3JwORw9AhgaePf2n49gSR3EZjk+Dy2hktyfB5bwyU5viPMrHN9FkhEKyAzmwZM\na4p1S5pvZoVNse4oJDk+j63hkhyfx9ZwSY5P0vz6LpPJReA1QOojkfqF06otI6k10BXYlOGyzjnn\nYpBJApgHDJE0SFJbgou6M9PKzAQuCYfPA/5qQd3STGBS2EpoEDAEeC2a0J1zzjVGnVVAZlYhaQow\nG8gD7jezEklTgflmNhO4D/hteJF3M0GSICz3GMEF4wrg6hhaADVJ1VKEkhyfx9ZwSY7PY2u4JMdX\n79jqvAjsnHOuZfI7gZ1zLkd5AnDOuRyVUwlA0nckmaSeccdSRdLPJL0j6Q1Jf5DULQEx1dr1R5wk\n9Zc0R9ISSSWSvhl3TOkk5UlaJOnpuGNJJ6mbpMfD39zbkj4Xd0xVJP17+J2+JekRSe1jjud+SevD\n+5yqpvWQ9Jyk5eHf7gmKrd77kpxJAJL6A6cBH8QdS5rngBFmdgywDLg2zmBSuv44AxgOXBB26ZEU\nFcB3zGw48Fng6oTFB/BN4O24g6jBfwPPmNmRwLEkJE5JfYF/AwrNbARBg5NJ8UbFg0Bx2rRrgBfM\nbAjwQjgehwf5dGz13pfkTAIA7gS+DyTqqreZPWtmVb1NvUJwr0Sc9nf9YWZ7gaquPxLBzNaZ2cJw\neAfBDiwxT3GX1A84E/hN3LGkk9QVOJGg1R5mttfMtsYb1QFaAx3Ce4k6AmvjDMbMXiRo1ZhqIjA9\nHJ4OnN2sQYWqi60h+5KcSACSJgJrzOz1uGOpw2XAX2KOoS+wKmV8NQnawaYKe50dCbxae8lmdRfB\ngUYSHzs1CNgAPBBWUf1GUqe4gwIwszXA7QRn6OuAbWb2bLxRVau3ma0Lhz8EescZTC0y2pe0mAQg\n6fmw7jD9NRH4T+CGhMZWVeY6guqNh+OKM5tIygeeAL5lZtvjjgdA0heB9Wa2IO5YatAaOB74pZmN\nBHYSXxXGAcK69IkESaoP0EnSP8cbVe3Cm10TVaMA9duXJKIvoCiY2fjqpks6muBH9XrQQSn9gIWS\nRpvZh3HGVkXSpcAXgVMs/hszEt99h6Q2BDv/h83sybjjSTEWmCDpn4D2QBdJD5lZUnZkq4HVZlZ1\nxvQ4CUkAwHjgXTPbACDpSeDzwEOxRvVpH0k61MzWSToUWB93QKnquy9pMWcANTGzN83sYDMbaGYD\nCf4Jjm+unX9dJBUTVBlMMLNdccdDZl1/xCbsZvw+4G0zuyPueFKZ2bVm1i/8nU0i6BIlKTt/wt/8\nKklHhJNO4cBu3eP0AfBZSR3D7/gUEnKBOk1qtzeXAH+MMZYDNGRf0uITQBa4G+gMPCdpsaRfxRlM\neBGpquuPt4HHzKwkzpjSjAUuBk4OP6/F4RG3y8w3gIclvQEcB/wo5ngACM9KHgcWAm8S7Jti7XZB\n0iMEzy45QtJqSV8DbgNOlbSc4KzltgTFVu99iXcF4ZxzOcrPAJxzLkd5AnDOuRzlCcA553KUJwDn\nnMtRngCccy5HeQJwzrkc5QnAOedy1P8Dhs9tZ3dWzL0AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 35000, D:[array(0.6922645568847656, dtype=float32), array(0.4950000047683716, dtype=float32)], G loss:0.12878786027431488\n" + ] + }, + { + "data": { + "image/png": "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\nsgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch : 40000, D:[array(0.6848969459533691, dtype=float32), array(0.4925000071525574, dtype=float32)], G loss:0.12272197008132935\n" + ] + }, + { + "data": { + "image/png": "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\nFwDnnMtR/x8fIWb+IRpVGAAAAABJRU5ErkJggg==\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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\nTwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 7.12918377]\n", + " [ 6.34670162]\n", + " [ 7.1849947 ]\n", + " [ 4.80329943]\n", + " [ 6.08930492]\n", + " [ 6.52564669]\n", + " [ 5.71299791]\n", + " [ 4.34062815]\n", + " [ 5.82264519]\n", + " [ 5.33823776]]\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0.47562054 0.52437949]\n", + " [ 0.49904591 0.50095403]\n", + " [ 0.47395247 0.52604753]\n", + " [ 0.51996464 0.48003539]\n", + " [ 0.50675774 0.49324229]\n", + " [ 0.49368471 0.50631535]\n", + " [ 0.51802534 0.48197469]\n", + " [ 0.50877184 0.49122813]\n", + " [ 0.51474357 0.48525646]\n", + " [ 0.52922851 0.47077155]]\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": { + "collapsed": true + }, + "source": [ + "결과를 다시 한번 찍어보면 아래처럼 모양이 그럭저럭 잘 나오는 것을 확인할 수 있습니다." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEICAYAAABWJCMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8FfW9//HXm7ATtoBSWRRQUCPWhQjeuiWKGquFtlqF\nWoq1lrY/6XJt761eWxeq97bXXm+9rbal1Uq1JSpaixZF0aRqW5GAuARLCLgALqwCQbaQz++PmcDh\nNMtJcpKZk/N5Ph7nwZmZ78y8TxLmc2b7jswM55xz2adT1AGcc85FwwuAc85lKS8AzjmXpbwAOOdc\nlvIC4JxzWcoLgHPOZSkvAK5NSPqlpB+kaVmHS6qWlBMOl0m6Kh3LDpf3hKRp6VpeM9Z7i6SNkt5v\nx3XmSyqXpBTaPizpgvbI5aLhBcA1m6S3JO2UtF3Sh5L+Julrkvb/PZnZ18zshykua0JjbczsHTPL\nNbN9ach+k6T7k5Z/gZnNbu2ym5njcOA7QL6Zfaye6YWSasPCt13SCklfSsOqfwj8xFK7AejHwC1p\nWKeLKS8ArqU+ZWa9gSOAHwHfA+5O90okdU73MmPicGCTma1vpM27ZpYL9CH4+f5aUn5LVyjpMKAI\neDSV9mb2EtBHUkFL1+nizQuAaxUz22pm84DLgGmSxgBIulfSLeH7gZIeD/cWNkt6XlInSfcRbAgf\nC7/p/ruk4ZJM0pclvQM8mzAusRgcKeklSdsk/UlSXriuQklrEzPW7WVIKgb+A7gsXN8r4fT9h5TC\nXN+X9Lak9ZJ+J6lvOK0uxzRJ74SHb65v6GcjqW84/4Zwed8Plz8BeBoYHOa4t4mfsZnZo8AWoNEC\nIOmL4bo2SfpB0h7WucBSM9sVtj0y/H2cHA4PDrMWJiyyDLiwsXW6zOUFwKVF+G1xLXBGPZO/E047\nBBhEsBE2M5sKvEOwN5FrZv+dMM9ZwLHA+Q2s8ovAlcBhQA3wfylkfBL4T+CBcH0n1NPsivBVBIwE\ncoGfJ7U5HTgaOAe4QdKxDazyZ0DfcDlnhZm/ZGYLgQsIv+Gb2RWN5Q6LxmeAfsBrjbTLB+4CLif4\nufQFhiQ0OR5YUTdgZqsI9izul9QT+C0w28zKEuZ5A6jv5+Q6AC8ALp3eBfLqGb+XYIN0hJntNbPn\nUzgGfZOZ7TCznQ1Mv8/MXjezHcAPgEvrThK30uXA7Wa22syqgeuAyUl7Hzeb2U4zewV4hXo2kGGW\nycB1ZrbdzN4C/geY2owsgyV9CGwEbgSmmtmKRtpfAjxmZi+Y2R7gBiDx59wP2J44g5n9GqgCFhH8\njpL3aLaH87kOyAuAS6chwOZ6xt9GsJF5StJqSdemsKw1zZj+NtAFGJhSysYNDpeXuOzOBHsudRKv\n2vmIYC8h2cAwU/KyhtTTtiHvmlk/M8szsxPNrKSJ9oNJ+LmY2UfApoTpW4De9cz3a2AM8DMz2500\nrTfwYTMyuwziBcClhaRTCDZuLyRPC78Bf8fMRgITgWsknVM3uYFFNrWHMCzh/eEEexkbgR1Az4Rc\nOQSHnlJd7rsEJ7YTl10DfNDEfMk2hpmSl7WumctpjveAoXUDknoAAxKmvwqMTpxBUi7wU4IT+DfV\nnUtJcCzBXo7rgLwAuFaR1EfSRUAJcL+Z/dMxakkXSToqvPZ8K7APqA0nf0BwjLy5vhBe094TmAnM\nDS8TrQS6S7pQUhfg+0C3hPk+AIYnXrKaZA7wr5JGhBvHunMGNc0JF2Z5ELhVUm9JRwDXAPc3Pmer\nzAU+JekTkroCNwGJ1/s/DZwsqXvCuDuAcjO7Cvgz8MukZZ4FPNF2kV2UvAC4lnpM0naCQw7XA7cD\nDV2nPgpYCFQDfwfuMrPScNp/Ad8PrxD6bjPWfx9wL8HhmO7ANyG4Kgn4f8BvCL5t7yA4AV3nofDf\nTZKW1rPce8JlPwe8CewCvtGMXIm+Ea5/NcGe0R/C5bcJM6sI11lCsDdQDawHdofTPwCeBSYBSJoE\nFANfDxdxDUGBuDycfgpQHZ7gdx2Q/IEwznVM4R7Mh8AoM3szHJcPzAbGNXUiXtLDwN1mNr/Nw7pI\neAFwrgOR9CngGYJDP/8DjAdOTvHOX5dlUjoEJKk4vBW9qrErOCRdHN4oUxAOD1fQZcCy8JV8fNE5\n1wySLg9vHkt+VYRNJhGcyH6X4NDbZN/4u4Y0uQcQXkVRSXAX4VpgMTDFzJYntetNcBKpKzDDzMol\nDQceN7Mx6Y/unHOuNVLZAxgHVIU3xuwhOME0qZ52PyToPGpXGvM555xrI6l0tDWEg2+6WUtwXHG/\nsC+RYWb2Z0n/ljT/CEkvA9uA75vZ88krkDQdmA7Qo0ePscOGDUtu0mK1tbV06hTfi53inM+ztVyc\n83m2lotzvsrKyo1mdkjTLROYWaMvgtvLf5MwPBX4ecJwJ4IOo4aHw2VAQfi+GzAgfD+WoJD0aWx9\nY8eOtXQqLS1N6/LSLc75PFvLxTmfZ2u5OOcjuJ+jyW164iuVUraOg++6HMrBdzP2JriNvEzSW8Cp\nwDxJBWa228w2hYVmCbCKpDsRnXPORSOVArAYGBXeGdmVoIOreXUTLegOeKCZDTez4cCLwEQLTgIf\nogNPcRpJcFXC6rR/Cuecc83W5DkAM6uRNANYAOQA95hZhaSZBLsc8xqZ/UxgpqS9BLf+f83M6uss\nzDnnXDtL6WlLFtwJOD9p3A0NtC1MeP8w8HAr8jnnnGsj8Tyd7Zxzrs15AXDOuSzlBcA557KUFwDn\nnMtSXgCccy5LeQFwzrks5QXAOeeylBcA55zLUl4AnHMuS3kBcM65LOUFwDnnspQXAOecy1JeAJxz\nLkt5AXDOuSzlBcA557JUSgVAUrGkFZKqJF3bSLuLJZmkgoRx14XzrZB0fjpCO+eca70mHwgTPtLx\nTuBcYC2wWNI8M1ue1K438C1gUcK4fIJHSB4HDAYWShptZvvS9xGcc861RCp7AOOAKjNbbWZ7gBJg\nUj3tfgj8GNiVMG4SUBI+HP5NoCpcnnPOuYilUgCGAGsShteG4/aTdDIwzMz+3Nx5nXPORSOlZwI3\nRlIn4HbgilYsYzowHWDQoEGUlZW1NtZ+1dXVaV1eusU5n2druTjn82wtF/d8zWZmjb6AfwEWJAxf\nB1yXMNwX2Ai8Fb52Ae8CBfW0XQD8S2PrGzt2rKVTaWlpWpeXbnHO59laLs75PFvLxTkfUG5NbM+T\nX6kcAloMjJI0QlJXgpO68xIKyFYzG2hmw81sOPAiMNHMysN2kyV1kzQCGAW81Ip65ZxzLk2aPARk\nZjWSZhB8e88B7jGzCkkzCSrOvEbmrZD0ILAcqAGuNr8CyDnnYiGlcwBmNh+YnzTuhgbaFiYN3wrc\n2sJ8zjnn2ojfCeycc1nKC4BzzmUpLwDOOZelvAA451yW8gLgnHNZyguAc85lKS8AzmW5otlFFM0u\nijqGi4AXAOecy1JeAJxzLku1ujdQ51xm8sM+zvcAnHMuS3kBcM65LOUFwDnnspQXAOecy1JeAJxz\nLkt5AXDOuSyVUgGQVCxphaQqSdfWM/1rkl6TtEzSC5Lyw/HDJe0Mxy+T9Mt0fwDnnHMt0+R9AJJy\ngDuBc4G1wGJJ88xseUKzP5jZL8P2E4HbgeJw2iozOzG9sZ1zzrVWKnsA44AqM1ttZnuAEmBSYgMz\n25Yw2Auw9EV0zrUH7xMo+8is8W21pEuAYjO7KhyeCow3sxlJ7a4GrgG6Ameb2UpJw4EKoBLYBnzf\nzJ6vZx3TgekAgwYNGltSUtLKj3VAdXU1ubm5aVteusU5n2druTjnq8tWuamy3umjB4xu50QHxPnn\nBvHOV1RUtMTMCpozT9oKQEL7zwPnm9k0Sd2AXDPbJGks8ChwXNIew0EKCgqsvLy8OZ+hUWVlZRQW\nFqZteekW53yereXinK8uW0Pf9kunlbZzogPi/HODeOeT1OwCkMohoHXAsIThoeG4hpQAnwYws91m\ntil8vwRYBUT39cK5LFZ3iKdyU6Uf6nFAagVgMTBK0ghJXYHJwLzEBpJGJQxeCKwMxx8SnkRG0khg\nFLA6HcGdc861TpNXAZlZjaQZwAIgB7jHzCokzQTKzWweMEPSBGAvsAWYFs5+JjBT0l6gFviamW1u\niw/inHOueVLqDtrM5gPzk8bdkPD+Ww3M9zDwcGsCOuecaxt+J7BzzmUpLwDOOZelvAA451yW8gLg\nnHNZyguAcx2Id+fgmsMLgHPOZSkvAM45l6W8ADjnXJbyAuBcNnjnHfpU7wVgwJtr+PbsSvI+3B1x\nKBc1LwDOdXSLFsHYsRz5TjUAu/rksqtbJ+6auZSj3t4ecTgXJS8AznVkr70GEyfCvffycn5/AHYM\n6M8vJx/FXVOO5LafvMoZ5RsOmsWvJMoeXgCc66iqqqC4GO64Ay688J8mP3fKoXzvOx9nxh+qOGn5\nlggCuqil1Bmccy7D1NbCpZfCjTfC5MkNNqsc3pvpN41le26Xdgzn4sILgHMdUadO8NRTMHBgk023\n9ukKQN6Hu9nctytIbZ3OxYQfAnKug+mzfU+wB5DCxn8/M26543VOX7qx7YK52EmpAEgqlrRCUpWk\na+uZ/jVJr0laJukFSfkJ064L51sh6fx0hnfOJTFj5s8q4NFHmzefxG8+N5Kvl6yiy559bZPNxU6T\nBSB8pOOdwAVAPjAlcQMf+oOZHW9mJwL/DdwezptP8AjJ44Bi4K66R0Q659KvoGIL/bft4ZwP72j2\n1TxL8/tTdXgun3tqbRsmdHGSyh7AOKDKzFab2R6Ch75PSmxgZtsSBnsBFr6fBJSED4d/E6gKl+ec\nSzczrnz4TX772RHU5rTs6O4vLzuSS59cw8AtfpNYNpCZNd5AugQoNrOrwuGpwHgzm5HU7mrgGqAr\ncLaZrZT0c+BFM7s/bHM38ISZzU2adzowHWDQoEFjS0pK0vLhAKqrq8nNzU3b8tItzvk8W8tFkW/A\nCy8w+De/4uHbrg9OAodGDxgNQOWmSgDycvLYvK/hR3MXzHmUj/r1peYLX23bwPXw32vLFRUVLTGz\ngubMk7argMzsTuBOSZ8Hvs+BB8OnMu8sYBZAQUGBFRYWpisWZWVlpHN56RbnfJ6t5doqX90hndJp\npf888dZbuf7T/fjbRw8cNLr04qDtzbNvBmBK7hTmVM9pcB1zLjLQTkoj+Plm6+81KqkUgHXAsITh\noeG4hpQAv2jhvM65FNRbCP70J/724CcbbJuyustAd++Gbt1aGtFlgFQOFC4GRkkaIakrwUndeYkN\nJI1KGLwQWBm+nwdMltRN0ghgFPBS62M75w5iBj17pu0a/qNXb4MzzgC8a4iOrMkCYGY1wAxgAfAG\n8KCZVUiaKWli2GyGpApJywjOA0wL560AHgSWA08CV5uZX2PmXDq99x6cckpQBNJk5fDesH49LFmS\ntmW6+EnpHICZzQfmJ427IeH9txqZ91bg1pYGdM414fe/hxNOSOsdvLWdBFddBbNmwSfStlgXM34n\nsHOZzAzuvRempXzNRequvBIefJAeO2vSv2wXC14AnMtkS5fCzp1w+unpX/bgwVBYyNmL1qd/2S4W\nvAA4l8Ee+d4kfntC7UHX/afVf/0X5WPy2mbZLnJeAJzLYMuO7ccTp3+s7VZwzDF8MLB72y3fRcq7\ng3Yugz1fcEibr2PkmmpGrtnRjFs7XabwPQDnMtSZize06Qnauuv/O9UaVzz6ZlovM3Xx4AXAuQzU\nb9se/u2ef2Dt8OyWqsNz6VQLvPpq26/MtSsvAM5loE+8vJHyMXns6t4OR3Elnh87EB55pO3X5dqV\nFwDnMtBpSzfx15MOPPGrrbtreL7gEC8AHZAXAOcyTPfd+zhhxYe8eEL7XZ5ZcWSfoGO4TZvabZ2u\n7flVQM5lmPyqrfxjZG+qe3Vpt3VaJ0F5ebutz7UPLwDOxVh9h3WWHpfHa6P6RpCG4EqgNPY55KLl\nh4Ccy0B7u0bwaG0zOPFEWLOm/dft2oQXAOcySH7VVr76wKpoVi7BySfDo49Gs36Xdl4AnMsgZ5Zv\nYHfXCP/bfvazfjVQB5LSX5KkYkkrJFVJurae6ddIWi7pVUnPSDoiYdo+ScvC17zkeZ1zKTLjtJcP\nvvyz3Z17Lrz8MmzYEF0GlzZNFgBJOcCdwAVAPjBFUn5Ss5eBAjP7ODAX+O+EaTvN7MTwNRHnXIsc\n8e5HdNlby8ojcqML0b07nH02LFgQXQaXNqnsAYwDqsxstZntIXjo+6TEBmZWamYfhYMvEjz83TmX\nRqe9vJG/nTQg+qtwvvENGDEi2gwuLWRNdPAk6RKg2MyuCoenAuPNbEYD7X8OvG9mt4TDNcAyoAb4\nkZn90xkkSdOB6QCDBg0aW1JS0vJPlKS6uprc3Ai/MTUhzvk8W8ulK1/lpsr974/787NsPPJwPjjm\nqFYtMy8nj837Njd7vtEDRrdqvanIlt9rWygqKlpiZgXNmSet9wFI+gJQAJyVMPoIM1snaSTwrKTX\nzOygyxjMbBYwC6CgoMAKCwvTlqmsrIx0Li/d4pzPs7VcuvLdPPvmAwNnAXwA1YtbtcwpuVOYUz2n\n2fOVXlx6YGDVKujRI3hqWBply+81LlI5BLQOGJYwPDQcdxBJE4DrgYlmtrtuvJmtC/9dDZQBJ7Ui\nr3NZKXfHXjrVxqg75rvugrvvjjqFa6VUCsBiYJSkEZK6ApOBg67mkXQS8CuCjf/6hPH9JXUL3w8E\nTgOWpyu8c9ni6j9UcWHZu1HHOKC4GJ58MuoUrpWaLABmVgPMABYAbwAPmlmFpJmS6q7quQ3IBR5K\nutzzWKBc0itAKcE5AC8AzjWHGQUVW1hyXP+okxxwxhnw2muwufnnElx8pHQOwMzmA/OTxt2Q8H5C\nA/P9DTi+NQGdy3Yj1+5gd5dOvDuoZ9RRDujeHc48ExYuhEsvjTqNayG/E9i5mDvltc2UH99+XT+n\nrLgYnngi6hSuFbw3UOdirqBiC4+eMyTqGP/s8svhM5+JOoVrBS8AzsVQYjfQj0wYwrJj+kWYpgH9\n+wcvl7G8ADgXI/X1///3KPv+SVCXrXRawv0AL7wA69cHncS5jOPnAJyLsZMrNjNwy+6mG0Zl2zb4\nv/+LOoVrIS8AzsXYN++vIm/rnqhjNKywMHhU5PbtUSdxLeAFwLmYOnTTLvpU72Xl4fHsewaAnj1h\n3Dh47rmok7gW8ALgXEyd8tpmlhzXP3gge5xNmBDcD+AyjhcA52LqlNc3Uz4mhtf/J5swAVaujDqF\nawEvAM7FkGqNE1ZspTxO3T805JRT4PHHo07hWsAvA3UuhqyTmPqjcVT36hJ1lKZF/YAa12K+B+Bc\nTGXExr/OggXw7W9HncI1kxcA52LoqrmrGbx+Z9QxUjdyJMydC008YdDFixcA52Kmy559fGbhOrbm\nZtAewFFHQU4OrFgRdRLXDF4AnIuZMVXbeHNIL3b0zKBTdFJwNdDTT0edxDVDSgVAUrGkFZKqJF1b\nz/RrJC2X9KqkZyQdkTBtmqSV4WtaOsM71xGNXb6FJfkZcPVPMr8fIOM0WQAk5QB3AhcA+cAUSflJ\nzV4GCszs48Bc4L/DefOAG4HxwDjgRkkZ+JftXPs5uWILSzPh8s9k55wDo0ZFncI1Qyp7AOOAKjNb\nbWZ7gBJgUmIDMys1s4/CwRcJHhwPcD7wtJltNrMtwNNAcXqiO9fx5NTUUtNZLD+yT9RRmu/QQ+En\nP4k6hWsGWRNn7SVdAhSb2VXh8FRgvJnNaKD9z4H3zewWSd8FupvZLeG0HwA7zewnSfNMB6YDDBo0\naGxJSUkrP9YB1dXV5ObGty+VOOfzbC3X0nyVmyrbIM3B8nLy2Lyv5c/yHT1g9P73dXn3j6utpcu2\nbezt17LnF3TU32t7KCoqWmJmBc2ZJ61nmSR9ASgAzmrOfGY2C5gFUFBQYIWFhWnLVFZWRjqXl25x\nzufZWq6l+W6+96Y2v7FqSu4U5lTPafH8pRcfeB7AzbNvPnjcU0/B7be3uHO4jvp7jatUDgGtA4Yl\nDA8Nxx1E0gTgemCime1uzrzOucCvblrCYZl0/X+y006DpUuhujrqJC4FqRSAxcAoSSMkdQUmA/MS\nG0g6CfgVwcZ/fcKkBcB5kvqHJ3/PC8c555KtWcOhm3fz/sDuUSdpuV69oKAAnn8+6iQuBU0WADOr\nAWYQbLjfAB40swpJMyVNDJvdBuQCD0laJmleOO9m4IcERWQxMDMc55xL9swzLD22X/y7f27KOef4\n5aAZIqVzAGY2H5ifNO6GhPcTGpn3HuCelgZ0LmssXMjSDLj+v77nFh9kwgT4+tfbJ4xrFb8T2Lk4\nMIOFCzOj++emnHIKXHed9wuUAbwAOBcHO3fC17/OB4f0iDpJ63XuDJdd5t1EZwAvAM7FQc+ecOON\nUadIn/XrvV+gDOAFwLk4eOMNqKmJOkX6bNwIX/mKHwaKOS8AzkVtzx449VTYujXqJOlz7LHB51q9\nOuokrhFeAJyL2qJFrMirpejxS6JOkj5ScDnoM89EncQ1wguAc1FbuDAzu39uincPHXsZ9MQJ5zqo\nhQtZclpmF4DkewNKp5UGewDf/S7U1kIn/64ZR/5bcS5KW7fCK6/w+qi+USdJv6FDoaLCN/4x5r8Z\n56LUvTssWMCerjlRJ2kbhx4adQLXCC8AzkWpW7egB82O6q234IYbmmzmouEFwLko3XknfPRR0+0y\nVV4e/O//duzPmMG8ADgXlXXrgm/H3bpFnaTt9OkDJ53U4gfEuLblBcC5qCxcCGefDTkd9Ph/nfPP\nhwX+GJA48stAnYvIM7/4d5bm92N+U90rZ6C6y0JLp5XCeefBFVdEG8jVK6U9AEnFklZIqpJ0bT3T\nz5S0VFJN+BD5xGn7wofE7H9QjHNZb98+Cio2s3hMXtRJ2t7JJ0O/fv6YyBhqcg9AUg5wJ3AusBZY\nLGmemS1PaPYOcAXw3XoWsdPMTkxDVuc6jn/8g439u7FhQAY//jFVOTnw179GncLVI5VDQOOAKjNb\nDSCpBJgE7C8AZvZWOK22DTI61/EcdxxfvXFs1Cnal5k/IyBmZE101xoe0ik2s6vC4anAeDObUU/b\ne4HHzWxuwrgaYBlQA/zIzB6tZ77pwHSAQYMGjS0pKWnxB0pWXV1Nbm5u2paXbnHO59laLpV8lZsq\n2ynNwfJy8ti8r30ezT16wGgAOldXM/arX2XR737X6EnvjvB7jUpRUdESMytozjztcRL4CDNbJ2kk\n8Kyk18xsVWIDM5sFzAIoKCiwwsLCtK28rKyMdC4v3eKcz7O1XKP5tmyBadO4+bPbIvlGPCV3CnOq\n57TLukovLj0w0K8fhX36BI+MbEBG/14zUCongdcBwxKGh4bjUmJm68J/VwNlwEnNyOdcx/PMM7B3\nb/YdDjnvPHjqqahTuASpFIDFwChJIyR1BSYDKV3NI6m/pG7h+4HAaSScO3AuGz3+s2/y87yqqGO0\nP78fIHaaLABmVgPMABYAbwAPmlmFpJmSJgJIOkXSWuBzwK8kVYSzHwuUS3oFKCU4B+AFwGUvM8a9\nvpmXxmR2988tcuaZsHQpbNsWdRIXSukcgJnNB+Ynjbsh4f1igkNDyfP9DTi+lRmd6zjeeINawZrD\nekadpP317Am33BL0C9SnT9RpHH4nsHPta8sW/nT2kOw7/l/n29+OOoFL4H0BOdeeTjuNkgsPjzpF\ndMxgyZLgKWEucl4AnGsve/fCrl1Rp4iWBJ//PLz8ctRJHF4AnGs/Tz4Jn/501Cmi96lPweOPR53C\n4QXAuTZXNLso6B1z3jwoLo46TvQuusgLQEx4AXCuHajW4LHHgm+/2e6009i+fBkX3/GJqJNkPS8A\nzrWDY1Zvg4ED4cgjo47Srvbv/STq0oXFY/pz6ivt0x+Ra5gXAOfawWnLNsHEiVHHiI1Zlx7JXwoG\nRh0j63kBcK4d/PXEAXDllVHHiI0PBnZnR68uUcfIen4jmHPt4I2j+lL0169Alj4X5aBHRIYKX1oP\nxyyC8eOjipX1fA/AuTY2pvJDhr33UdQxYudjG3bBffdFHSOreQFwro196Y9vMex9LwDJXjxxQHA5\naBMPpXJtxwuAc21pyxaOfnM7S/KzsPfPJrw1uCd06gSvvBJ1lKzlBcC5tvTEEyw7ph+7uzX8GMSs\nJcEll8BDD9V/uahrc14AnGtL8+bxt5MGRJ0ivi69FFau3D9YuanSi0E7SqkASCqWtEJSlaRr65l+\npqSlkmrCh8gnTpsmaWX4mpau4M7FXk0NPPccfz/BC0Cdf9q4FxTAgw9GFyjLNVkAJOUAdwIXAPnA\nFEn5Sc3eAa4A/pA0bx5wIzAeGAfcKMkPhrrs0LkzrFrFln7dok4Se6r1E8FRSGUPYBxQZWarzWwP\nUAJMSmxgZm+Z2atAciff5wNPm9lmM9sCPA14b1gue/ToEXWCWCuaXcTlt53Kr28s96uBIpDKjWBD\ngDUJw2sJvtGnor55hyQ3kjQdmA4waNAgysrKUlx806qrq9O6vHSLcz7P1nI7169ny8kn88pttzEl\nd0rUcQ6Sl5MXr0y9jEN2X8/Vm86AfgeyxfH3G/e/u+aKxZ3AZjYLmAVQUFBghYWFaVt2WVkZ6Vxe\nusU5n2drueXXX0//wYMpPOccbp59S9RxDjIldwpzqudEHeMgfcb2ZO9ffsfO4dfvz1Z6cWkTc7W/\nuP/dNVcqh4DWAcMShoeG41LRmnmdy1iDnn0WJk+OOkbGKB13CIUvbfDDQO0slQKwGBglaYSkrsBk\nYF6Ky18AnCepf3jy97xwnHMd1sQ7T6f3q8v4ZPWv/HLGFFUO703nfUbe22v3j2voclC/TDR9mjwE\nZGY1kmYQbLhzgHvMrELSTKDczOZJOgX4I9Af+JSkm83sODPbLOmHBEUEYKaZeSfgrkM7Y8kG1n48\nn509YnGENTNI/Ozyozi+R/cGm/hGP/1S+gs1s/nA/KRxNyS8X0xweKe+ee8B7mlFRucyyvZeXago\nLgSWRh0lo/z9pIEMzz0EqqNOkj38K4pzafZ8wSEMzT0aqr0ANNfAVW9zRM0O3h7Sa/84/+bfdrwr\nCOfSacU/YLnQAAANFUlEQVQKeuysiTpFxjpseSVT5r8TdYys4QXAuXS6/HLGrNwadYqMtfLMUzlt\n6UZ6feRFtD14AXAuXcrLYdMmysfkRZ0kY+3q25slx/Xn7EXro46SFbwAOJcmj39nIr8ZK6yToo6S\n0eafeRgXPPde1DGyghcA59Jh2zbOKt/A/DM+FnWSjFc+Jo+eu/aR9+HuqKN0eH4VkHPp8OijLM3v\n5z1/pkFtJ/GlW0/xPal24AXAuXSYOpXbdvw66hQdhnUSmCHDC0Eb8kNAzqWDxI6e/n0qna6ZXclZ\n5RuijtGheQFwrrWuuQYWLow6RYez7Jh+THz23ahjdGheAJxroaLZRVx01+nw29/Cxz8edZwO5y8F\nhzB4/U6OXr0t6igdlhcA51rhghfe59nRXSh64rKoo3Q4+zp34qHzhzJ5/pqmG7sW8QLgXAt12bOP\nS59cQ8knD486Sof157MO48QVHzL4g4+ijtIh+Vkr55qprnOyT73wPquG5bJyeO+IE3Vcu7p35vpv\njWFz365RR+mQvAA4l4L6eqRcObw3r4/qG0Ga7LL8KP8Zt5WUDgFJKpa0QlKVpGvrmd5N0gPh9EWS\nhofjh0vaKWlZ+PpleuM71zZSeerUP0b24c1hue2UKLsdt3Irk57xp8mmW5MFQFIOcCdwAZAPTJGU\nn9Tsy8AWMzsK+F/gxwnTVpnZieHra2nK7VxkOu2r5ctzV9Nlb23UUbLG5r5d+dIf3/SuttMslT2A\ncUCVma02sz1ACTApqc0kYHb4fi5wjiS/fc91SGcv2sDHK7eyt7P/ibeX9w7twZL8/nzG9wLSKpUC\nMARIvA5rbTiu3jZmVgNsBQaE00ZIelnSXySd0cq8zkVKtcblj7/NfROPAP+O067u+ewILn1yDf23\n7ok6SochM2u8gXQJUGxmV4XDU4HxZjYjoc3rYZu14fAqYDywHcg1s02SxgKPAseZ2bakdUwHpgMM\nGjRobElJSbo+H9XV1eTmxvc4bZzzZXO2yk2VAIweMPrg4dK/cezTz/GnW7/XaAHIy8lj877NbZav\nNTI52/jZc+n60U6e//rU/b+b9hTn/xNFRUVLzKygOfOkchXQOmBYwvDQcFx9bdZK6gz0BTZZUF12\nA5jZkrAwjAbKE2c2s1nALICCggIrLCxszmdoVFlZGelcXrrFOV82Z7t59s0AlF5cun84d8deZt/3\nEtf96/FU7mj8S8qU3CnMqZ7TZvlaI5OzzSvey+lLN7Kges7+3017ivP/iZZI5RDQYmCUpBGSugKT\ngXlJbeYB08L3lwDPmplJOiQ8iYykkcAoYHV6ojvXvrrvqeXeTw+nckSfqKNkrR29urDgjMOijtFh\nNLkHYGY1kmYAC4Ac4B4zq5A0Eyg3s3nA3cB9kqqAzQRFAuBMYKakvUAt8DUzi+e+p3P1SLwUdGP/\nbjx2dvLpLxeFs15aDwMeh4suijpKRkvpRjAzmw/MTxp3Q8L7XcDn6pnvYeDhVmZ0LlKqNaY/tJr7\nP3WEd/kcE9tzu8A3vwkTJkD37lHHyVjeF5BzTbjwufcYs3IrH3XPiTqKCy3N7w9jx8J//EfUUTKa\nFwDnGnHopl1c+fCb/PSLo/3JVHHzq1/B3Lkwf37TbV29vAA414Aue2u56c4KHrhgGKsOj+elf1kt\nLw/uvx++/GX48MOo02QkLwDONWDao2+xoX83HrhgWNONXTTOPBOefhr69Ys6SUbyM1rONeCRc4ew\nu2uO3/Ebd2PGBP9u2QL9+0ebJcP4HoBzydato1OtsblfN7/qJ1Ps3g0nnwx/+lPUSTKKFwDnEr31\nFpx+OmMrtkSdxDVHt27w0EPwla8Eh4RcSrwAOFdn1So46yz47ndZfHxe1GlccxUUwCOPwOc/D88/\nH3WajOAFwDmAFSugsBCuvx6uvjrqNK6lTj8d/vAHuPhiWL486jSx5wc4ndu9Gz75SZg5E770pajT\nuNY691x47DE46qiok8Se7wG47FXXFXq3bvDXv/rGvyMZPx66doWNG+HWW6HGnyRWHy8ALjtt2QKX\nXRYcMwb42MeizePahgR/+Qucdx588EHUaWLHC4DLLmbBpYInngiHHRYc+nEd14AB8MQTwbmBMWPg\n9tuDQ34O8ALgsslzz8Gpp8IPfgCzZsEdd3hPktkgJyc4v/P88/Dss36SP4GfBHYd286dwbf+nj1h\n82a45hr43Oegk3/3yTrHHAOPPx78TQBUVgYdyU2dGuwpZCH/X+A6np07g5uBrrwSBg8+cGPQpz8d\nHPf3jX9269HjwPvycjjySLj8cnjwQdi0KbpcEUjpf4KkYkkrJFVJurae6d0kPRBOXyRpeMK068Lx\nKySdn77ozgG1tbB9e/B++3Y44ww45BC44YbgmG9FBUyaFG1GF0+jRwe9ia5eDZ/4BPzudzBqFFRX\nB9NffRXeeKNDX0HU5CGg8Jm+dwLnAmuBxZLmmVniXRZfBraY2VGSJgM/Bi6TlE/weMjjgMHAQkmj\nzWxfuj+I60DMYM+e4D/ihx8Gx3CHDw+m/fSn8Pbb5L/8crDBX7ECvvhFuOsuyM2Fm2+GceOC986l\nIi8vOC9w9dXBxr5zuFl87DH47W/hvfeCwnD44Yzs1Su4YRBg6VLYuzc4fNSnT/A316NHRnUemMo5\ngHFAlZmtBpBUAkwCEgvAJOCm8P1c4OeSFI4vMbPdwJvhM4PHAX9PT3yXcS68EDZsCP6j7dsX/Ac6\n6yz4xS+C6SNHwjvvBBv9nj2Dbn4nTQo2/BBcvjlkCBtzczn0wgvh2GOhb99gmgRnnx3N53IdQ+eE\nTeL11wev6urgi8aaNexYtOjA9AceCE4qb9oUfBmprg4OOa5aFUz//Odh0aLgyqOY7oXK6m6GaaiB\ndAlQbGZXhcNTgfFmNiOhzethm7Xh8CpgPEFReNHM7g/H3w08YWZzk9YxHZgeDh4NrGj9R9tvILAx\njctLtzjn82wtF+d8nq3l4pzvaDPr3ZwZYnEVkJnNAma1xbIllZtZQVssOx3inM+ztVyc83m2lotz\nPknlzZ0nlZPA64DERyINDcfV20ZSZ6AvsCnFeZ1zzkUglQKwGBglaYSkrgQndecltZkHTAvfXwI8\na8GxpXnA5PAqoRHAKOCl9ER3zjnXGk0eAjKzGkkzgAVADnCPmVVImgmUm9k84G7gvvAk72aCIkHY\n7kGCE8Y1wNURXAHUJoeW0ijO+Txby8U5n2druTjna3a2Jk8CO+ec65j8lkjnnMtSXgCccy5LZVUB\nkPQdSSZpYNRZ6ki6TdI/JL0q6Y+S+sUgU6Ndf0RJ0jBJpZKWS6qQ9K2oMyWTlCPpZUmPR50lmaR+\nkuaGf3NvSPqXqDPVkfSv4e/0dUlzJEXaVaukeyStD+9zqhuXJ+lpSSvDf/vHKFuztyVZUwAkDQPO\nA96JOkuSp4ExZvZxoBK4LsowCV1/XADkA1PCLj3iogb4jpnlA6cCV8csH8C3gDeiDtGAO4AnzewY\n4ARiklPSEOCbQIGZjSG44GRytKm4FyhOGnct8IyZjQKeCYejcC//nK3Z25KsKQDA/wL/DsTqrLeZ\nPWVmdb1NvUhwr0SU9nf9YWZ7gLquP2LBzN4zs6Xh++0EG7Ah0aY6QNJQ4ELgN1FnSSapL3AmwVV7\nmNkeM/sw2lQH6Qz0CO8l6gm8G2UYM3uO4KrGRJOA2eH72cCn2zVUqL5sLdmWZEUBkDQJWGdmr0Sd\npQlXAk9EnGEIsCZheC0x2sAmCnudPQlY1HjLdvVTgi8atVEHqccIYAPw2/AQ1W8k9Yo6FICZrQN+\nQrCH/h6w1cyeijZVvQaZ2Xvh+/eBQVGGaURK25IOUwAkLQyPHSa/JgH/AdwQ02x1ba4nOLzx+6hy\nZhJJucDDwLfNbFvUeQAkXQSsN7MlUWdpQGfgZOAXZnYSsIPoDmEcJDyWPomgSA0Gekn6QrSpGhfe\n7BqrIwrQvG1JLPoCSgczm1DfeEnHE/xRvRJ0UMpQYKmkcWb2fpTZ6ki6ArgIOMeivzEj9t13SOpC\nsPH/vZk9EnWeBKcBEyV9EugO9JF0v5nFZUO2FlhrZnV7THOJSQEAJgBvmtkGAEmPAJ8A7o801T/7\nQNJhZvaepMOA9VEHStTcbUmH2QNoiJm9ZmaHmtlwMxtO8J/g5Pba+DdFUjHBIYOJZvZR1HlIreuP\nyITdjN8NvGFmt0edJ5GZXWdmQ8O/s8kEXaLEZeNP+De/RtLR4ahzOLhb9yi9A5wqqWf4Oz6HmJyg\nTpLY7c004E8RZjlIS7YlHb4AZICfA72BpyUtk/TLKMOEJ5Hquv54A3jQzCqizJTkNGAqcHb481oW\nfuN2qfkG8HtJrwInAv8ZcR4Awr2SucBS4DWCbVOk3S5ImkPw7JKjJa2V9GXgR8C5klYS7LX8KEbZ\nmr0t8a4gnHMuS/kegHPOZSkvAM45l6W8ADjnXJbyAuCcc1nKC4BzzmUpLwDOOZelvAA451yW+v8g\nvZi3Sxct5gAAAABJRU5ErkJggg==\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": { + "collapsed": true + }, + "source": [ + "
\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의 이론적 논의는 D를 고정한 상태에서 G에 대한 코스트함수가 전역적 최소를 가지고 그것이 $p_{data}=p_{g}$일 때이며 상기 알고리즘으로 그 전역 최소에 도달할 수 있는지 보이는 것입니다. 크게 3가지 부분으로 이 문제를 설명합니다. 유재준님의 블로그[12]와 TF-KR의 논문 발표를 참고하여 내용을 정리하였습니다.\n", + "
\n", + "\n", + "> 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})$를 구하면 됩니다.\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_{x \\sim data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) d\\boldsymbol{x} \\\\\n", + "&= \\int_{\\boldsymbol{x}} \\frac{\\partial}{\\partial D(\\boldsymbol{x})} \\left[ p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x}) \\log D(\\boldsymbol{x}) + p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}) \\log (1-D(\\boldsymbol{x})) \\right] d\\boldsymbol{x} \\\\\n", + "&= \\int_{\\boldsymbol{x}} p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x}) \\frac{1}{D(\\boldsymbol{x})} - p_{\\boldsymbol{x} \\sim 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_{x \\sim data}(x)\\left( 1-D(x) \\right) - p_{x \\sim g}(x)D(x)}{D(x)\\left(1-D(x) \\right)} dx =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_{x} p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x}) \\log D(x) + p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}) \\log (1-D(x)) dx \\\\\n", + "&= \\int_{x} p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x}) \\left(-\\log D(x)\\right) + p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}) \\left(-\\log (1-D(x))\\right) dx\n", + "\\end{align}\n", + "$$\n", + "
\n", + "$J^{D}$는 위 식과 같은데 위 식에서 $p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})$는 우리가 가진 샘플들에 의해 이미 결정된 확률분포 입니다. 그리고 지금 G가 주어진 상태, 즉, G가 고정된 상태에서 D(x)만 변화 시켜 $J^{D}$의 변화를 보고 있으므로 $p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}) $ 역시 고정입니다. 결국 $J^{D}$는 독립변수 $D(x)$에 대한 함수 $-\\log D(x)$와 $-\\log \\left(1-D(x)\\right)$의 조합이므로 $-\\log D(x)$와 $-\\log \\left(1-D(x)\\right)$가 볼록함수임을 보이면 $J^{D}$가 볼록함수임을 보일 수 있습니다. 이를 위해 $D(x)$에 대한 이계미분이 음이 아님을 보이면 되므로\n", + "

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

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

\n", + "$$ D^{*}(\\boldsymbol{x}) = \\frac{p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})}{p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})+p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x})}$$\n", + "
\n", + "임을 확인할 수 있습니다. \n", + "\n", + "\n", + "마지막으로 $D(\\boldsymbol{x})$는 $p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})$와 $p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x})$가 0이 아닌 집합에 대해서만 정의되면 되므로(어떤 샘플 $\\boldsymbol{x}$가 일어날 확률이 0인 것에 대해서는 참 거짖을 판별할 필요 없음) $Supp(p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})) \\cup Supp(p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}))$ 에서만 정의되면 된다 라고 논문에서 언급합니다. \n", + "논문에서 증명 하기를 $(a,b) \\in \\mathbb{R}^{2} \\backslash \\{0,0\\}$ 인 a, b에 대해서 $a \\log(y) + b \\log(1-y)$라는 함수를 [0,1]에서 y에 대해 미분해서 0인 점을 찾으면 최대값이 $ \\frac{a}{a+b}$에서 나타난다고 하고 이 식에서 a에 해당하는것이 $p_{\\boldsymbol{x} \\sim data}$이고 b에 해당하는 것이 $p_{\\boldsymbol{x} \\sim g}$ 니까 a, b가 0이 아니었듯이 $p_{\\boldsymbol{x} \\sim data}$, $p_{\\boldsymbol{x} \\sim g}$도 0이 아닌 경우에 대해서 생각하기 위해 $Supp(p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})) \\cup Supp(p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x}))$ 에서만 정의되면 된다고 언급하고 증명을 마무리한 것으로 생각됩니다.\n", + "
\n", + "\n", + "
\n", + "\n", + ">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)를 아래와 같이 쓸 수 있습니다.\n", + "

\n", + "$$\n", + "\\begin{align}\n", + "C(G) \n", + "& = \\underset{D}{max}V(G,D) \\\\\n", + "& = \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ \\log D^{*}_{G}(x) \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ \\log (1-D^{*}_{G}(x)) \\right] \\\\\n", + "& = \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{data}}} \\left[ \\log \\frac{p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})}{p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})+p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x})} \\right] + \\mathbb{E}_{\\boldsymbol{x} \\sim p_{\\text{g}}} \\left[ \\log \\frac{p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x})}{p_{\\boldsymbol{x} \\sim data}(\\boldsymbol{x})+p_{\\boldsymbol{x} \\sim g}(\\boldsymbol{x})} \\right]\n", + "\\end{align}\n", + "$$\n", + "
\n", + "만약 $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)$에서 위 식을 빼면\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] \\\\\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] \\\\\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] \\\\\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] \\\\\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} \\\\\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$를 가진다는 것이 증명되었습니다.\n", + "\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", + "
" + ] + } + ], + "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 +}