{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 밑바닥부터 시작하는 딥러닝\n", "\n", "# Deep Learning from Scratch\n", "\n", "## Github \n", "\n", "https://github.com/WegraLee/deep-learning-from-scratch\n", "\n", "## 목차\n", "\n", "http://nbviewer.jupyter.org/github/SDRLurker/deep-learning/blob/master/%EB%AA%A9%EC%B0%A8.ipynb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 4 신경망 학습\n", "학습: 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것\n", "\n", "손실 함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습 목표\n", "\n", "함수의 기울기를 활용하는 경사법 소개" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4.1 데이터에서 학습한다!\n", "\n", "데이터를 보고 학습: 가중치 매개변수의 값을 데이터를 보고 자동으로 결정\n", "\n", "신경망 학습(데이터로부터 매개변수의 값을 정하는 방법) 설명\n", "\n", "손글씨 숫자를 학습하는 코드 구현" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.1.1 데이터 주도 학습\n", "기계학습의 중심에는 데이터가 존재\n", "\n", "수집한 데이터로부터 패턴을 찾으려 시도" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-1 손글씨 숫자 '5'의 예: 사람마다 자신만의 필체가 있다.\n", "# 출처 https://www.researchgate.net/figure/265798034_fig2_Figure-5-Images-obtained-from-the-hand-written-data-base-MNIST\n", "from IPython.display import Image, display\n", "display(Image(filename='5.png', embed=True))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "숫자(5)를 인식하는 명확한 로직을 사람이 만들기 어려움\n", "\n", "기계학습의 2 가지 접근법\n", "\n", "(1) 사람이 생각한 특징(SIFT, HOG 등) -> 기계학습(SVM, KNN등)\n", "\n", "* 이미지에서 특징(feature)을 추출. SIFG, HOG 등의 특징 사용. 벡터로 기술.\n", "\n", "* 기계학습: 데이터로부터 규칙을 찾아내는 역할\n", "\n", "(2) 신경망(딥러닝): 이미지를 '있는 그대로' 학습\n", "\n", "종단간 기계학습(end-to-end machine learning) : 처음부터 끝까지, 데이터(입력)에서 목표한 결과(출력)을 얻음" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### 4.1.2 훈련 데이터와 시험 데이터\n", "기계학습 문제는 훈련 데이터(training data)와 시험 데이터(test data)로 나눠 학습과 실험을 수행하는 것이 일반적\n", "\n", "범용 능력을 제대로 평가하기 위해 훈련 데이터와 시험 데이터를 분리\n", "\n", "범용 능력: 아직 보지 못한 데이터(훈련 데이터에 포함되지 않는 데이터)로도 문제를 올바르게 풀어내는 능력. 기계학습의 최종목표.\n", "\n", "오버피팅(overfitting): 한 데이터셋(예시: 훈련 데이터만)에만 지나치게 최적화된 상태. 다른 데이터셋을 엉망으로 평가할 수 있음" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4.2 손실 함수\n", "신경망 학습에서는 현재의 상태를 '하나의 지표'로 표현. 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색.\n", "\n", "손실함수(loss function): 신경망 성능의 '나쁨'을 나타내는 지표\n", "\n", "* 평균 제곱 오차\n", "* 교차 엔트로피 오차" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2.1 평균 제곱 오차\n", "평균 제곱 오차(mean squared error, MSE) 수식\n", "\n", "\\begin{equation*}\n", "E = \\frac{1}{2} \\sum_{k} (y_{k}-t_{k})^{2}\n", "\\end{equation*}\n", "\n", "* yk 신경망의 출력(신경망이 추정한 값)\n", "* tk 정답 레이블\n", "* k 데이터의 차원 수 " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]\n", "t = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "배열들의 원소는 첫 번째 인덱스부터 순서대로 숫자 '0', '1', '2', ...일 때 값\n", "\n", "y 소프트맥스 함수의 출력\n", "\n", "t 정답을 의미하는 위치의 원소는 1로, 그 외에는 0으로 표기\n", "\n", "숫자 '2'에 해당하는 원소의 값이 1이므로 정답이 '2'\n", "\n", "원-핫 인코딩: 한 원소만 1로 하고 그 외는 0으로 나타내는 표기법\n", "\n", "평균 제곱 오차 파이썬 구현" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def mean_squared_error(y, t):\n", " return 0.5 * np.sum((y-t)**2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.097500000000000031" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "# 예1: '2'일 확률이 가장 높다고 추정함 (0.6)\n", "mean_squared_error(np.array(y), np.array(t))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.59750000000000003" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 예2 '7'일 확률이 가장 높다고 추정함 (0.6)\n", "y = [0.1, 0.05, 0.1, 0.0, 0.05, 0.1, 0.0, 0.6, 0.0, 0.0]\n", "mean_squared_error(np.array(y), np.array(t))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "첫 번째 예: 정답이 '2', 신경망의 출력도 '2'\n", "\n", "두 번째 예: 정답이 '2', 신경망의 출력은 '7'\n", "\n", "평균 제곱 오차를 기준으로 첫 번째 추정 결과가 오차가 더 작으니 정답에 더 가까울 것이라 판단 가능" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2.2 교차 엔트로피 오차\n", "교차 엔트로피 오차(cross entropy error, CEE) 수식\n", "\n", "\\begin{equation*}\n", "E = - \\sum_{k} t_{k} log y_{k}\n", "\\end{equation*}\n", "\n", "* log는 밑이 e인 자연로그\n", "* yk 신경망의 출력(신경망이 추정한 값)\n", "* tk 정답 레이블 : 정답에 해당하는 인덱스의 원소만 1, 나머지는 0(원-핫 인코딩)\n", "\n", "정답 레이블은 '2'가 정답. 신경망 출력이 0.6이라면 교차 엔트로피 오차는 -log0.6 = 0.51\n", "\n", "같은 조건에서 신경망 출력이 0.1이라면 -log0.1 = 2.3\n", "\n", "그림 4-3 자연로그 y = logx 그래프" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pylab as plt\n", "\n", "x = np.arange(0.001, 1.0, 0.001)\n", "y = np.log(x)\n", "plt.plot(x, y)\n", "plt.ylim(-5.0, 0.0) # y축의 범위 지정\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "x가 1일 때 y는 0이 되고 x가 0에 가까워질 수록 y의 값은 점점 작아짐\n", "\n", "교차 엔트로피 구현" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cross_entropy_error(y, t):\n", " delta = 1e-7\n", " return -np.sum(t * np.log(y + delta))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y와 t는 넘파이 배열. \n", "\n", "아주 작은 delta 값을 더하는 이유\n", "\n", "np.log 함수에 0을 입력하면 마이너스 무한대를 뜻하는 -inf가 되어 계산을 진행할 수 없음\n", "\n", "y가 0이 되지 않도록 delta를 더하였음\n", "\n", "cross_entropy_error 계산 예시" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.51082545709933802" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]\n", "y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]\n", "cross_entropy_error(np.array(y), np.array(t))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.3025840929945458" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = [0.1, 0.05, 0.1, 0.0, 0.05, 0.1, 0.0, 0.6, 0.0, 0.0]\n", "cross_entropy_error(np.array(y), np.array(t))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "첫 번째 예: 정답일 때의 출력 0.6인 경우 교차 엔트로피 오차는 약 0.51\n", "\n", "두 번째 예: 출력이 0.1이라면 교차 엔트로피 오차는 약 2.3\n", "\n", "첫 번째 추정이 정답일 가능성이 높다고 판단" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2.3 미니배치 학습\n", "훈련 데이터 모두에 대한 손실함수의 평균을 구함\n", "\n", "교차 엔트로피 오차(훈련 데이터 모두에 대한) 수식\n", "\n", "\\begin{equation*}\n", "E = - \\frac{1}{N} \\sum_{n} \\sum_{k} t_{nk} log y_{nk}\n", "\\end{equation*}" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "데이터가 N개. tnk: n번째 데이터의 k차원 째 값을 의미.\n", "\n", "ynk는 신경망의 출력. tnk는 정답 레이블\n", "\n", "N으로 나눔으로써 '평균 손실 함수'를 구함\n", "\n", "미니배치: 훈련 데이터로부터 일부만 골라 학습을 수행\n", "\n", "미니배치 학습: 60,000장의 훈련 데이터 중 100장을 무작위로 뽑아 그 100장을 사용하여 학습\n", "\n", "MNIST 데이터셋을 읽어오는 코드" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(60000, 784)\n", "(60000, 10)\n" ] } ], "source": [ "import sys, os\n", "sys.path.append(os.pardir)\n", "import numpy as np\n", "from dataset.mnist import load_mnist\n", "\n", "(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, one_hot_label=True)\n", "\n", "print(x_train.shape) # (60000, 784)\n", "print(t_train.shape) # (60000, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "load_mnist 함수로 MNIST (훈련 데이터와 시험 데이터) 데이터셋을 읽음.\n", "\n", "one_hot_label=True로 지정하여, 원-핫 인코딩. 정답 위치의 원소만 1이고 나머지가 0인 배열을 얻음.\n", "\n", "훈련 데이터에서 무작위로 10장만 빼내려면? np.random.choice() 함수 사용." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "train_size = x_train.shape[0]\n", "batch_size = 10\n", "batch_mask = np.random.choice(train_size, batch_size)\n", "x_batch = x_train[batch_mask]\n", "t_batch = t_train[batch_mask]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "np.random.choice(60000, 10)은 0에서 60000 미만의 수 중에서 무작위로 10개를 골라냄\n", "\n", "이 함수가 출력한 배열을 미니배치로 뽑아낼 데이터의 인덱스로 사용가능" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 6400, 19286, 1782, 3374, 49695, 27075, 13458, 28598, 31095, 59321])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.choice(60000, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "미니배치의 손실 함수도 일부 표본 데이터로 전체를 비슷하게 계측.\n", "\n", "전체 훈련 데이터의 대표로서 무작위로 선택한 작은 덩어리(미니배치)를 사용하는 것." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2.4 (배치용) 교차 엔트로피 오차 구현하기\n", "배치 데이터를 처리할 수 있는 교차 엔트로피 오차 구하기\n", "\n", "(데이터가 하나인 경우와 배치로 묶여 입력될 경우 모두 처리할 수 있음)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cross_entropy_error(y, t):\n", " if y.ndim == 1:\n", " t = t.reshape(1, t.size)\n", " y = y.reshape(1, y.size)\n", " \n", " batch_size = y.shape[0]\n", " return -np.sum(t * np.log(y)) / batch_size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y는 신경망의 출력, t는 정답 레이블.\n", "\n", "y가 1차원이라면, 데이터 하나당 교차 엔트로피 오차를 구하는 경우는 reshape로 형상을 변경.\n", "\n", "배치의 크기로 나눠 정규화하고 이미지 1장당 평균의 교차 엔트로피 오차를 계산\n", "\n", "정답 레이블이 원-핫 인코딩이 아닌 숫자 레이블('2', '7')로 주어졌을 때 교차 엔트로피 오차" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cross_entropy_error(y, t):\n", " if y.ndim == 1:\n", " t = t.reshape(1, t.size)\n", " y = y.reshape(1, y.size)\n", " \n", " batch_size = y.shape[0]\n", " return -np.sum(np.log(y[np.arange(batch_size), t])) / batch_size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "원-핫 인코딩일 때 t가 0인 원소는 교차 엔트로피 오차도 0이므로 그 계산은 무시해도 좋음\n", "\n", "정답에 해당하는 신경망의 출력만으로 교차 엔트로피 오차를 계산할 수 있음\n", "\n", "t * np.log(y) 부분을 np.log(y[np.arange(batch_size),t])로 구현\n", "\n", "np.log(y[np.arange(batch_size),t] 설명\n", "\n", "batch_size가 5면 np.arange(batch_size)는 [0, 1, 2, 3, 4]\n", "\n", "t에는 레이블이 [2, 7, 0, 9, 4]와 같이 저장됨\n", "\n", "y[np.arange(batch_size),t]는 각 데이터의 정답 레이블에 해당하는 신경망의 출력을 추출\n", "\n", "y[np.arange(batch_size),t] = [y[0,2], y[1,7], y[2,0], y[3,9], y[4,4]] 인 넘파이 배열 생성" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### 4.2.5 왜 손실 함수를 설정하는가?\n", "신경망 학습에서는 최적의 매개변수(가중치와 편향)를 탐색할 때 손실 함수의 값을 가능한 작게 하는 매개변수 값을 찾음\n", "\n", "매개변수의 미분을 계산하고, 그 미분 값을 단서로 매개변수 값을 서서히 갱신하는 과정을 반복\n", "\n", "신경망을 학습할 때 정확도를 지표로 삼아서는 안 된다. 정확도를 지표로 하면 매개변수의 미분이 대부분의 장소에서 0이 되기 때문이다.\n", "\n", "매개변수를 약간만 조정해서는 정확도가 개선되지 않고 일정하게 유지. 개선되도 불연속적인 값으로 바뀜.\n", "\n", "손실함수를 지표로 삼으면 매개변수 값이 조금 변하면 그에 반응하여 연속적으로 변화.\n", "\n", "계산함수의 미분은 대부분의 장소(0 이외의 곳)에서 0." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-4 계단함수와 시그모이드 함수: 계단 함수는 대부분의 장소에서 기울기가 0이지만, 시그모이드 함수의 기울기(접선)는 0이 아니다.\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "def step_function(x):\n", " return np.array(x > 0, dtype=np.int)\n", "\n", "x = np.arange(-6.0, 6.0, 0.1)\n", "y1 = step_function(x)\n", "y2 = np.array([1 for _ in range(x.size)])\n", "y3 = np.array([0 for _ in range(x.size)])\n", "plt.plot(x, y1)\n", "plt.plot(x, y2, color='green')\n", "plt.plot(x, y3, color='green')\n", "plt.scatter([4,-4],[1,0],color='red')\n", "\n", "plt.ylim(-0.1, 1.1) # y축의 범위 지정\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "시그모이드 함수의 기울기(접선)은 0이 아니다." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def sigmoid(x):\n", " return 1 / (1 + np.exp(-x))\n", "\n", "def sigmoid_diff(x):\n", " return sigmoid(x) * (1 - sigmoid(x))\n", "\n", "def 시그모이드_접선(x): # 접선 ax+b에서 a,b 값을 리턴\n", " return sigmoid_diff(x), sigmoid(x) - sigmoid_diff(x) * x\n", "\n", "x = np.arange(-6.0, 6.0, 0.1)\n", "y1 = sigmoid(x)\n", "a2, b2 = 시그모이드_접선(4)\n", "y2 = a2 * x + b2\n", "a3, b3 = 시그모이드_접선(-4)\n", "y3 = a3 * x + b3\n", "plt.plot(x, y1)\n", "plt.plot(x, y2, color='green')\n", "plt.plot(x, y3, color='green')\n", "plt.scatter([4,-4],[a2*4+b2,a3*-4+b3],color='red')\n", "\n", "plt.ylim(-0.1, 1.1) # y축의 범위 지정\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "계단 함수는 한 순간만 변화를 일으킴.\n", "\n", "시그모이드 함수는 출력이 연속적으로 변하고 곡선의 기울기(미분)도 연속적으로 변함.\n", "\n", "기울기가 0이 되지 않는 덕분에 신경망이 올바르게 학습됨." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4.3 수치미분\n", "경사법에서는 기울기(경사) 값을 기준으로 나아갈 방향을 결정\n", "\n", "'미분' 복습" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3.1 미분\n", "'특정 순간'의 변화량\n", "\n", "미분은 한순간의 변화량을 표시한 것. 수식\n", "\n", "\\begin{equation*}\n", "\\frac{df(x)}{dx} = lim_{h->0} \\frac{f(x+h)-f(x)}{h} \n", "\\end{equation*}\n", "\n", "좌변은 f(x)의 x에 대한 미분(x에 대한 f(x)의 변화량)을 나타내는 기호\n", "\n", "작은 변화, 시간을 뜻하는 h를 한없이 0에 가깝게 한다는 의미\n", "\n", "\\begin{equation*}\n", "lim_{h->0}\n", "\\end{equation*}\n", "\n", "함수의 미분을 구하는 계산 파이썬 구현" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# 나쁜 구현 예\n", "def numerical_diff():\n", " h = 10e-50\n", " return (f(x + h) - f(x)) / h" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "함수 이름은 수치 미분(numerical differentiation)에서 따온 numerical_diff(f,x)로 함\n", "\n", "2개의 인수: '함수 f'와 함수 f에 넘길 '인수 x'\n", "\n", "이 함수의 문제점\n", "\n", "* 반올림 오차(rounding error): 작은 값(가령 소수점 8자리 이하)이 생략되어 최종 계산 결과에 오차가 발생" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.float32(1e-50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "미세한 값 h를 10 \\*\\* -4를 이용.\n", "\n", "10 \\*\\* -4 정도의 값을 사용하면 좋은 결과를 얻는다고 알려져 있음" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* f의 차분(임의 두 점에서 함수 값들의 차이) 계산에 오차\n", "\n", "x+h와 x 사이의 함수 f의 차분을 계산\n", "\n", "진정한 미분은 x 위치의 함수의 기울기(접선)\n", "\n", "이번 구현에서 구한 미분은 (x+h)와 x 사이의 기울기에 해당\n", "\n", "h를 무한히 0으로 좁히는 것이 불가능해 생기는 한계" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAFcCAYAAABV673oAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xdc1dX/wPHXRxCQNDTNxNy/UnGlIJqj3AruSlAcOHGW\nfM20TBP3yEIb5siFlqgoOFJyC4oLARUVNbclpqCICqjA+f1xhUT28jLez8fjPorPPZ/zeV+6cd/3\nnPN5H00phRBCCCEKryL6DkAIIYQQ+iXJgBBCCFHISTIghBBCFHKSDAghhBCFnCQDQgghRCEnyYAQ\nQghRyEkyIIQQQhRyhvoO4EWappUGOgDXgBj9RiOEEELkKyZAFWCnUio8MyfmqWQAXSLwu76DEEII\nIfKxPsDazJyQ15KBawC//fYbFhYWeg4ld40ZM4b58+frO4xcV1heJxSe1yqvs2DJ6dcZGxvLF198\ngb+/P0uWLKFOnTo51nd2vOr/njv+2sFM35mYlzDn23bfUq1UtVy/ZkhICH379oXnn6WZkdeSgRgA\nCwsLLC0t9R1LrjIzMyvwrxEKz+uEwvNa5XUWLDn5OpVSODk5ceTIEbZu3YqtrW2O9JsTXtV/z+hn\n0Xzm/RnLzy/HsZ0jv3T8hdeMXsv1674k09PseS0ZEEIIkU+5uLiwfPly3Nzc8lQi8KpcCLuAnYcd\nl+5dYkXXFQxsMFDfIWWYJANCCCGybdGiRUyfPp05c+bg6Oio73BeOfdgd4b+MZS3S7zNcafj1Cmb\nN6ZHMkpuLRRCCJEtnp6ejBo1CmdnZ8aPH6/vcF6pmNgYRvwxgt6evelWoxsnhp7Id4kAyMiA3jg4\nOOg7hFeisLxOKDyvVV5nwZLd1+nr60vv3r2xt7fH1dUVTdNyKLKclRv/PS/du4Sdhx0hd0NY2nkp\nQyyH5NnXnx5NKaXvGBJpmmYJBAQEBBSKhTtCCJGfBQcH88EHH2BlZcWOHTswNjbWd0ivjMdZDwZv\nHUy54uXYYLeB+uXq6zskAgMDsbKyArBSSgVm5lwZGRD51o0bNwgLC9N3GELkujJlylCpUiV9h5HE\njRs3sLGxoWrVqnh5eRWaROBJ7BO+2PUFP/v/TM/aPVnaZSmvG7+u77CyTZIBkS/duHEDCwsLoqKi\n9B2KELnO1NSUkJCQPJMQhIeH06FDB4yNjfH29ub11/P/h2FGXL1/FfuN9pz+9zS/dPyF4Q2H59tp\ngZdJMiDypbCwMKKiogpFgSpRuCUUkgkLC8sTyUBUVBRdunQhLCwMPz8/ypUrp++QXgmvEC8GbhlI\nadPSHBl8BEvzgjWVLcmAyNcKQ4EqIfKK2NhYevXqxalTp9i/fz/Vq1fXd0i57mncU77c/SULji3g\nY4uPWdF1BWYmZvoOK8dJMiCEECJdSilGjBiBt7c327Zto1GjRvoOKdddi7hGz409CQoN4kebH/m0\n0acFZlrgZZIMCCGESJeLiwvLli3Dzc0NGxsbfYeT67Zd2IbjZkfMjM04NOgQjd4u2MmPFB0SQgiR\npsJUXfBZ3DO+2PUFXdd1pUXlFgQNCyrwiQDIyIAQQog0FKbqgjcf3KTnxp743/Ln+/bfM+b9MQV2\nWuBlMjIgRCHm6+vLtm3bMtx+9erVnDp1KhcjEnlJfqkumBN2/LWDBksa8Hfk3/gO8OXzJp8X6Nf7\nMkkGhCikoqOjGTBgAMWLF8/UeUOGDCEvVS4VuSM4OJiuXbvSrFkz3NzcKFKkYH5cxMbHMmHPBDqt\n7UTjCo0JGhZEk4pN9B3WK1cw/+sKIRINGzaM0qVLM3HixCTHf/jhB6ytrWnVqlWG++rXrx9FixZl\n7dq1OR2myENu3LiBra0tVapUKdDVBf+J/IfWbq2Zd3gec9vOZZvDNkqbltZ3WHohawaEKOCWLVvG\n3bt3eeONNxKPxcfHs2jRokxNEQBomsaECROYNWsWffr0yelQRR5w7949bGxsKFq0aIGuLrjr8i76\nevbFyMCIAwMO0LxSc32HpFdZHhnQNK2apmkLMtDuNU3T3DVNC9Q07YCmaf+X1WsKURhcuHCB0NDQ\nZMfv3LnD6dOns9Tna6+9luTnQ4cO8eabb1KvXr1M99WpUydu3LjB1atXsxSLyLuioqLo3Lkzd+/e\nZefOnZibm+s7pBwXFx/HN/u+weY3GyzNLQkaFlToEwHI3jTBQMA0A+2+A3YrpSyBMYCMLwqRhrVr\n1+Li4pLs+KRJk1i/fn2G+zl9+jRVqlQB4J133uHrr79OfO7gwYO0bNkySfvJkyczYcKEJMdOnjxJ\nzZo1kxwrUqQIH3zwAb6+vhmOReR9L1YX3L59e4GsLhj6MJS2a9oy69AsZrSewY4+O3jztTf1HVae\nkOlpAk3TigJHgIrAlnTamgKNlFIjAJRSQZqmBWua1kwp5ZeVgIXIiqgoOH8+d69RsyaYZiQ9Tkf/\n/v2xsrJiwYIFmD7v8PHjx2zYsIHAwEBmzJjB8uXL0TQtcSFfwr9rmkbLli1ZsWIF9erV49q1axgY\nGHDlyhWKFi2aeI2QkBBat26d5LqfffYZlpaWtG3bljZt2vDkyRP69u3L559/nizGOnXqcO7cuey/\nWJEnKKUYPnw43t7ebN26tUBWF9x7ZS99PPtQRCvCPsd9tKjSQt8h5SmZTgaUUs+AhpqmtQDSmzRs\nBbz89WEH0AWQZEC8MufPg26b79wTEAA5sU1CtWrVsLa2ZuPGjYkFXjw8PGjcuDHVqlVj0qRJTJo0\nKVN9vrz6/969e5QunXSh1JtvvombmxsDBgwgKCiImTNn8s477zB06NBk/ZUuXZpr165l7oWJPMvF\nxYXly5fj5uaGra2tvsPJUXHxcczwncFUn6m0qdaG3z76jbeKv6XvsPKc3F5AWBG48tKxK8AnuXxd\nIZKoWVP3YZ3b18gpQ4YM4eeff05MBpYvX86YMWNyrP/4+PgU76Fu3bo1/fv3x8bGhtu3b3Py5MkU\nz9c0jfj4+ByLR+hPQa4u+O+jf+nr1Ze9V/bi0sKFSR9OwqCIgb7DypNyOxl4A/jnpWMPgMJ574bQ\nG1PTnPnW/qp0796d0aNH89dffxEfH8+VK1fo1q0bANOmTePXX39NtSBKq1atcHNzS7P/kiVLEhER\nkeJzo0ePZu7cuYwfPz7Z6EGCiIgISpUqlYlXJPKihOqCo0ePLnDVBX2u+dBrUy/iVTy7++2mTbU2\n+g4pT8vtZOAe8PJ9KWZAeFonjRkzBjOzpFtEOjg44ODgkLPRCZFHGRkZ4ejoyPLly1FKMXDgQAwM\ndN9oJk+ezOTJk7PVf+XKlbl06VKKz40ePZo+ffqwbNkyBg0aRLVq1ZK1uXjxIvXr189WDEK/EqoL\n2tnZMX/+/AJTbS9exTP74GwmH5jMh5U/ZO3HazEvUfDuinB3d8fd3T3JsQcPHmS5v9xOBm4A7V86\nVg24mdZJ8+fPlz3qRaE3ePBgWrVqRZEiRfDzy9klNtbW1ixatCjZ8bVr13LmzBkCAwNZtGgR/fv3\nx9fXN9kHhZ+fH8OGDcvRmMSrk1BdsGnTpqxevbrAVBe8+/gu/bz6sevyLiZ9OAmXFi4FdlogpS/I\ngYGBWGVxcVRuvwMOAB+8dKwTsDWXrytEvlejRg2qV69OvXr1qFy5cpb7Sal0cNu2bfH39+f69euJ\nx/7++2+cnZ1ZtWoVRYsW5dNPP0Uphaura5JzDx06xKNHj2jYsGGWYxL6c+PGDWxsbApcdcFDNw7R\nYEkDAkID+LPvn0xrNa3AJgK5IUeTAU3TLDVN+yPhZ6VUFHBU07TBz59vAFgopQ7n5HWFKKiePn2a\n7W/gNWrUwNAw6SBgyZIl6dmzJzNnzkw89r///Q8nJ6fEbxZFihRh+fLlzJw5M0kRpBkzZjB06NDE\naQuRf4SHh9OhQweMjIzw9vZONh2bH8WreOYemkvLVS2pVqoaJ4edpP3/vTwgLdKTnWmCSCDspWMl\ngZcrVYwDlmuaNur5OX2zcU0hCo3t27dz9+5dOnfunK1+QkJCUjw+ZcoU3nvvPXr16kXr1q2ZMWNG\nskIzNWrUwM/Pj7JlywKwatUqLly4gIeHR7ZiEq9eVFQUXbp0ISwsDD8/vwJRXTA8Kpz+m/uz/a/t\nfNXsK6a3no5hkYJbZT8qCv7997/H3btJH5cvZ73vLP/WlFJBQNBLx/bxUjLwfHRAVv4JkUHBwcF0\n7twZY2Nj3N3dc+0b+Ntvv83q1asTv/W/XGkwgYWFReK/R0ZGsnbtWkqUKJErMYnc8WJ1wf379xeI\n6oJHbh6h58aeRD2LYkfvHdi+m3/rI0RGwt9/w61bukdoaNJ//vsv3L4Njx4lPU/T4I034M03dQ8T\nk6zHUHBTKCHyqbp16yaZy89NHTt2zFT70aNH51IkIrcopRgxYkSBqS6olGL+0fl8uedLGr3diHWf\nrKOiWUV9h5WqJ0/g5k24fv2/x82bug//hMfDh0nPKVkSypfXPapVg6ZN4a23/nuUKwdly0Lp0vDi\nDGBgYNaLq0kyIIQQBZiLiwvLli0rENUF70ffZ8CWAWy9sJUvmnzBrDazKGpQNP0Tc1F8vO4b/JUr\nyR9Xr+qee1G5clCxou7Rrh1UqPDf4+23wdwcihV79a9DkgEhhCigEqoLzp07N99XFzz+z3HsPeyJ\nfBLJ1l5b6VKjyyu9/t27urLmf/0FFy/q/vnXX3DpEkRH/9cu4dv8//0ftG0LlSv/96hYEfLqzRuS\nDAghRAGUUF3Q2dmZcePG6TucLFNK8dPxn/hi1xc0MG+AzwAfKpfM+q22aV9LN0d/5gycOwchIf89\nwp+XytM0qFQJ3n0XmjeHQYPgnXd0H/5VqujnW31OkGRACCEKmITqgvb29ri6uubb6oIPYh4weOtg\nNoVs4n+N/8fcdnMxMjDKkb4fP4ZTp+D0aQgO1j3OnIH793XPFysGNWqAhQW0b6/7Z82aug/+7CzU\ny6skGRBCiAIkobpgs2bNcHNzy7fVBQNDA7HzsCM8KhxPe08+svgoy33du6fbqCwo6L/HxYu6kQAD\nA92Hft26ug/9unWhTh2oWhXy6a8uSyQZEEKIAiKhumDVqlXzbXVBpRSLTixizM4x1C1bl939dlOt\nVPL9MVITHQ0nT8Lx4/89ErbheO01qF9ft3Bv/Hho0ABq1cq78/ivkiQDQghRACRUFzQ2Nsbb25vX\nX395j7i8L/JJJE7bnNhwdgOfWn/Kd+2/w9gw7U/qf/4BPz84fFj3z5MnITZW9wFvaQkdO0KjRtCw\noW6IXwpnpkySASHyMS8vL44cOcK3336b5HhMTAwffPABT548QSlFWFgYcXFxlCtXDqUUxsbG7N+/\nnxIlStCjRw+mTJlCnTp1kvV/9uzZZJuhWFpasmrVqsSfnZ2dsbGxyfBta/7+/gwaNAhN01BKcf36\ndUqXLp1YyKhOnTqsXbsWgOrVq3Px4sU0+1uyZAlKKYYPH57suS1btuDn55fs91PQvFxdsFy5cvoO\nKdNO3T6FnYcdtx/dZkOPDdjVtkvWRindCv4DB8DHR/fhn1CSo1o1aNZMt6CvcWPdcH9R/d51mK9I\nMiBEHjRp0iS2bNmCpmk8e/aMS5cuYWFhgVIKTdOYNGkS9vb2REZGEhERkex8ExMT/P39E3+eO3cu\nERERzJ49O1nb8PBwIiMjU4yjdu3anD59Os1YIyMjefhy1ZQ0WFtbExwcnPhzx44dcXZ2pkOHDsna\nXrt2Ld3+bty4keqHX0RERIq/n4LkxeqCBw4cyHfVBZVS/Br4K6O9R2PxpgWBwwJ55413nj+nK7G7\nf78uAThwQLfa38BA963/4491CUDTprr780XWSTIgRB40Y8YMZsyYAcDdu3dp0KBBuh/Kabl58ybh\nCfdGZUB8fDzNmzfn0cv1TyExIRkxYgQjRozIckwJbty4kaEP/dRcv36devXqZTuO/ChhRMTb25tt\n27ZhbW2t75Ay5dHTRwz7Yxhrg9cy3Go4823mE/PIBE9P2LULdu6Ea9d0C/msrKBvX2jZUpcA5MNZ\nkDxNkgEh8rg7d+4QHh5OXFxclvYpePr0KXv27OHx48eEh4dTunRpOnToQGhoKEqpFD+IixQpwuHD\nub+56NmzZ7l//z6rV69m2LBhXL9+ne7duxMXF5fi1sspOX78OC4uLrkcad7k4uLC8uXLcXNzw8bG\nRt/hZErwv8HYedjxz8N/mNFgLbEBDrSeBceO6ar61agBXbroFvu1aCEf/rlNkgEh8rhdu3ZhZGTE\n7t27M/0HPz4+ntGjR2NnZ0fJkiVxcHDAy8uLnTt3JrZp1apVqudfuHCBhQsXcvr0aSIiIihfvjwd\nO3Zk0KBBmJqaZvk1Ady/f59Bgwbh5ubGDz/8wMSJE5k5cyZBQf/tf2ZklPY95efPn+fy5cs8e/aM\nuLg4mjdvzoMHDwDdt+bIyEg6deqUrTjzqvxaXVApxeLjK/nfzk8p/vQdTD1PMCmkBmZmulv7Bg3S\nJQCVc6eukEiFJAOiUIiKiuL8+fO5eo2aNWtm+wPyZREREfz666+sW7eOL7/8klatWmX4drHLly/j\n7OyMiYkJv/zyC0WKFCE8PJymTZvi6upKmzZt0jw/JCSE1q1b4+zsjIODA8WLF+fWrVusXLmSLVu2\nsHv37sS2Y8eOZcaMGUyYMCHZgsOU+Pj4MGLECJycnGjbti3vv/8+H3/8MR999BFz5syhRo0aAOmO\nDvz8888MHjyYHj16MG3aNI4cOZLkeTc3N/z8/NKNJ7/Jj9UF790Dj82PmRE0kr/LrIaAIZT660e6\ndSxGl190Q/+y4E+PlFJ55gFYAiogIEAJkZaAgACVmfdKQvvcfOT0+/bRo0eqRYsW6rffflNKKTVh\nwgTVtm1b9ejRo8Q2q1atUk5OTsnO3bBhg6pYsaJauHBhsuf27t2rGjVqpH755RellFItW7ZUfn5+\nydp999136ssvv0wxtrfeekvdu3dPKaXUgAED1Pr16zP8upydndV7772n9u7dm+y5RYsWqapVq6pT\np04ppZQqWrRoqv0cOnRI1alTRz179kzdunVLNWzYUM2ePTtJm9R+P/nJy+91Hx8fZWxsrHr27Kni\n4uL0HF3a/v1XqSVLlGrXTimDcmcVI2upIt+YKofZa9SFC/qOruB54e+cpcrk56+MDIhCoWbNmgQE\nBOT6NXJKQEAATk5OODo60qdPHwBmzZrFV199haWlJUuXLqVFixapnt+9e3e6deuW4jB769atOXbs\nWOLPqZWqbdOmDY6Ojtja2tKsWTMMDQ2JiIhg5cqVvPvuu5QqVSpLr23GjBkUL148xeeGDx+e5BbB\nLVu2pNjuypUrDBkyhDVr1mBoaIi5uTm7d+/mww8/BOCrr77KUmx5XX6oLvjgAWzaBGvX6u4CAKhh\nvxqD4SN4p1RVvBxOYPGmhX6DFMlIMiAKBVNTUywtLfUdRoZEREQwYsQI5s6dS7t27ZI8N2fOHFq2\nbMmSJUvSTAaKZmK8derUqSn+burXr4+7uzuurq588cUXPHv2DDMzMzp16oS3t3fGX9BLihcvzvHj\nxwkLC6Njx45ptvXz80tWv+DmzZvY2Njwww8/0LBhw8TjJUuWZOfOnXz44YfY29tTrVrGq9blB6Gh\noQwbNixPVheMiYEdO+D332H7dnj6FFq1gh9+ieJIyc9Ye34FA+oP4Gfbn3nN6DV9hytSIMmAEHlM\nyZIlOX78OP369ePDDz9M9kffxsYmcSFh2bJlqVChQqp9hYaGsnDhQvbs2UNERETiHLymaZQpU4YO\nHTowcuRITFLZeeWvv/7iu+++S3MU4O2336Zs2bKZeo3+/v5cu3Yt3WRg7ty5ibdYJtA0jbVr13Lq\n1Cni4+OTfDs2NzfnwoULicfKlCmT5u8nP/n0008xMjLKM9UFlQJ/f1ixAtat040IWFnBrFnQsyc8\nMr6AnYcdly5dYmW3lQyoP0DfIYs0SDIgRB514MABHjx4kOYHra2tbaqV//7++29at26Ni4sL48aN\nw8zMLMnz4eHhbNq0iaZNm+Ln50eZMmWS9bFkyRLeeOONxOH3lLz8YZ1RK1euZOfOnSkuEkyoTpjS\nFEaFChWoUKECdnZ22NraUr58+STPv5gcdOrUqcDcTRAREcGxY8f0Xl3wzh347TddEnD2LFSoAJ99\nBn366Hb1A1gbvJah24ZS0awix52OU6ds8uqWIm+RZECIAsrX15eWLVsmrjl4WenSpRk6dCi7du3i\n6NGjdO7c+ZXGN2jQoHTLBGdmuqOg++GHH/RWXTA+HvbuhUWLYNs2XRGg7t3B1RXatPmv3n9MbAzO\n3s4sDVxKn7p9WNx5McWNUl4fIvKWvLf6RAgBwOuvv87t27ezfH6HDh04ceIE06ZNIygoKEnJ4MjI\nSPz9/fnqq6+4efNmqrUGshtDagwNDblz506abe7evZtmMlC8eHH+/fffnA4tz0pp74jcdv8+LFig\n+8bfvr1u9z9XV11J4PXrdccSEoG/wv/i/WXv43bKjV+7/Mqaj9akmAicO3eO2rVrc+7cuVf8akRa\nZGRAiDxq7ty5ODk5ER0dnWobpRTFihXDz88v2Qdn6dKlOXLkCB4eHixYsIBLly4llhc2MzOjevXq\ntG/fnpkzZ6Za2XD8+PGMHj06zakApRRmZmYcOnQow6+tU6dOrFu3LtUywkopDAwM+Oabb1LtY+bM\nmQwfPjzLvx+RupMn4eefdXcExMZCjx66aYFmzSClm082nN3AkK1DKFe8HMeGHOO9cu+l2ndMTAzn\nzp0jJiYmF1+ByCxJBoTIozp37pztoXtjY2P69u1L3759s3S+lZVVrhTtqVChAvsT7jvLoq5du9K1\na9ccikjEx+vuCPj+e92GQBUqwMSJMHgwpLZM4UnsE8buGstC/4X0qtOLpZ2XUsK4xCuNW+QMSQaE\nEKIQi46GNWtg/nw4f163/e+GDfDRR2CYxifElftXsPOw48ydM/zS8ReGNxyeas0KkfdJMiCEEIXQ\n/fvw00+6R3i4bkHgsmW67YDT+0z3DPFk0JZBlDYtzZHBR7A0zx81PETqJBkQQohC5O5d3SjAzz/D\ns2e6jYHGjIF33kn/3KdxTxm/ezw/HPuBTyw+YXnX5ZiZmKV/osjzJBkQQohC4NYt+O47WLxYdwfA\nyJHw+efw1lsZO/9axDV6buxJUGgQP9r8yKeNPpVpgQJEkgEhhCjAbt+GmTNh6VIwNYVx42D0aChd\nOuN9bL2wlf6b+1PSpCR+g/ywfts69wIWeiHJgBBCFED37sG338KPP4KxMbi4wKhRYJaJUf1ncc+Y\nsHcC3x/5nm41urGy20pKFcvaBlUJzM3NcXFxwdzcPFv9iJwlyYAQQhQgDx/CDz/AvHkQFwdjx+oe\nJUtmrp+bD27Sc2NP/G/549relf+9/78cmRYwNzdnypQp2e5H5CypQChEIfDJJ59w5cqVZMdDQkLo\n0aOHHiLKPjc3N+rWrUu9evUSHwsXLkzSpmHDhjx48CDDff7yyy+JfdatWxcDAwPq1q2beGz+/PkA\nBAYG0qtXr3T769u3L2fPnk3xubFjx7J9+/YMx5aeZ890iwKrVYPp03ULA69c0f17ZhOBHX/toP6S\n+vzz8B8ODjzImCZjZH1AAScjA0LkQf7+/gwaNCjNP8Dx8fE8ePCAuXPn0rt37zT7u3jxIk+ePEl2\nPCoqinv37qV63ujRo9m9e3fixkEvSjj28OFDvv76a0aOHJnOq/pP27Zt0yxHrJQiJiaG9957j/Xr\n16dYIbF///70798/zevcu3cvxdedmpEjRyZ5HaampgQEBGBkZJSk3cOHD9P8vSW4evUq8fHxqcaW\nmUQlNUrp9gsYPx4uXoQBA2DKFKhUKfN9xcbHMmnfJOb6zaVz9c64dXfjjWJvZDtGkfdJMiBEHmRt\nbU1wcHC67fz9/XFycko3GQgLC0txV8L0/Pjjj+m2OXDgANOnT89UMrBnz54MtatZsyYhISFJ6vKf\nPXsWBweHFNsn7HS4YsUKGjZsmOKOiBl19+5dYmJiuHr1KjVq1Eh2nYy4fv16prd3zoygIN0UwP79\n0Latbr+A91KvBJymfyL/odemXhy5eYRv237L2KZjKaLJ4HFhIcmAEPlYqVKliIuLS7NNdHQ0MTEx\nvPnmm7kSQ2RkZK4NIZcqVYqnT58mOVa7dm1Onz6dK9d7kYeHB+XKlcPNzY1Zs2axefNmvvnmGzRN\n49GjR7yTzo35t27dQinFWxm9dy8Tbt+GCRPAzU23idD27WBrm36xoNTsvLSTvl59MTYwxmeAD80q\nNcvZgEWeJ8mAEPnYo0eP0l2V7e/vn6VRAYD58+czb948ihdPeRvahI2Avvrqqyz1n55nz56lusHQ\nvn37WLFiBZcvXyY2NpbKlSvTp08fPvroo2xfNzg4mPnz53PgwAFsbW1p1qwZ3bt3p3v37gD4+Pgw\nc+bMNPvYunUrJUqU4MGDB/z999/Y29snjigopbh9+zbt2rXLVFyxsbBwIUyeDEZGun93ckq7bHCa\n/cXHMuXAFGYdnEWHdzqw5qM1lDHN2ntF5G+SDIhCIepZFOfDzufqNWqWqYlpUdNcvcbLTp06hYWF\nRZptDh8+zPXr1/njjz8yvfGRm5sbBw4coHr16tkJM8vCwsIol8IuOWvWrGHatGl8/fXXjBkzBgMD\nAy5evMisWbM4d+4cEydOTGzbokULjIyM2LhxI++++26a14uLi8PNzY0pU6bw22+/Ub16dbZv307X\nrl05dOgQ48aN44030p9Dj4uLY8mSJXz00Ud88MEHuLu7J1tIOHDgwAz+FnQCA3XrAc6cgREjdAsD\nMxBKqkIfhtLbsze+132Z2XomXzb/UqYFCjFJBkShcD7sPFZLrXL1GgFDA3KkRvuBAweYOnVqhtr6\n+PgAugWCmzZtwtQ0eTKyc+dOFi1axLRp02jTpg3FihXLcCxxcXHJFs+9KpcvX8bAwCDF6Y0NGzbw\n008/YWNjk3isfv361KtXj549eyZJBnx9fTM8RdKwYUMqVqyIj48PVatWBXTrFgICApg2bRpNmjTh\n3Llz6faweocJAAAgAElEQVTz7bff0rBhQ2bPnk2XLl3o3Lkzy5Yto02bNhmKIyVOTrpNhPz9wSqb\nb+W9V/bS27M3BpoB+xz30aJKi+x1mAnR0dFcuXKFatWqZeq9KHKXJAOiUKhZpiYBQwNy/Ro54fHj\nxxn+I5nwYWhsbJzivP3Nmzc5c+YM/fr1w9DQkClTpjB37twkbfz9/bG0tKRSpUps3rw5yXOmpqb0\n6dOHSuksTTc1NeXXX3+lSJG0v1lGRUVRunTpDK/w1zQNAwMDli5dyuDBgxOPd+nShR9//JFKlSph\nYWGBpmlcu3aNOXPm0KVLlyR9ZGYRoa+vLyVKJN+Ct0SJEsybN4958+YBYGlpiYuLS4p97NixA3d3\n98RErWnTpnh6emJjY8P69etp2bJlhuN50Tff6O4SSOdXnKa4+Dim+05nms802lZry28f/0bZ13Jv\ngWNKQkJCsLKyIiAgAEtL2eAor5BkQBQKpkVN883Oap06daJTp0450tfChQtxcnLCyMiIfv36YW1t\nzfnz56lZ87/Exdramn379qV4/rRp03B1deXff/9NPHbgwAEaN26cJGExNTUlPj4+3WTA1NSUJUuW\nEBMTk+w5V1dX7OzsqFixYrLn2rdvn+TnoUOHUqFCBSZOnMi1a9cAXTGbvn37pntnRVpKlCiBm5sb\nLVq0oEqVKqm2e/DgAcHBwTRrlnSh3a5du/j888/x9vamVKn/KvU1aNCA9evXM2LECEJCQrIUW/fu\n2UsE/n30L308+7Dv6j6mtpzK1x98jUGR5LdsisJJkgEh8qDY2Fh8fHyyNax8+/Ztfv/9d06cOAFA\nkSJF+PLLL5k8eTIbNmzIUB8dOnSgQ4cOSY5Vq1aNXbt2pfgNOiMcHR1TPO7u7o6dnR316tXLUD+3\nb9/Gy8srzTY1atRIceokLX/88QdlypRJMxm4dOkSnp6eDB8+PMlxMzMzdu7cyf79+xOnGRK0bNky\nybqB8uXL58qdBik5cO0ADpscUEqxx3EPrau2fiXXFflHlvJMTdOGaJp2UtO0IE3TBqTTtr2maQc1\nTTuuaZq/pmmjsxSpEIXI5cuXGTduXLb6+Pzzz/n888+TfOB88sknnDhxggsXLmS5X6VUtu7fzymj\nRo1Kt82ff/6Z6p0Q6fWdUIXwxUfCsUGDBqV4XuPGjQFSvdPgxZGTmTNnZivZy4h4Fc8M3xm0Wd0G\nizIWnBx+UhIBkaJMjwxomtYEsAcaAgbAn5qmnVFKnUihbRVgLtBeKXVX0zQjYJWmaXeVUu7ZilwI\nkao1a9YQHh7O//73vyTHDQwM+Oyzz/j555/56aef9BRdzsjN8ri//PILHTt2TPX59G4tzAule+8+\nvktfr77svrybbz78hsktJsu0gEhVVqYJhgGTlVKxQKymad8Aw4EhKbStD+xVSt0FUEo91TTtN8AG\nkGRAiFSYmJgQERHB06dPs7Sav1q1ari7u6f4oTRkyBBWrFiR5vm3bt2iY8eOKZbSLVGiBM2bN09y\nTClFkSJFcHNzo379+pmONytKlCjBnTt3crzCn6GhIbdv306zzZ07dzBM5eb+1157jcjISJ48eYKx\nsXGOxpZRB68fpNemXjyLe8bOvjtp93+Zq2cgCp+sJANNgBdvkD0CLE+l7XFgpqZpy5VSIZqmlQE+\nA5Zk4bpCFBqVK1emW7duNGzYMM12SinKlCnD/v37kxx/eWHbi0qUKIGzszMAVapUoV+/fsnalC9f\nnpMnT2Yh8qwzMjLKVOLz7bffYmNjQ2xsbJrtWrVqxQ8//JDhfgcPHsxXX33FggULUnxeKYWJiUmq\nt3+WKVOGkSNH8v7776dbHbJRo0YsW7Ysw7GlJ17FM89vHhP3TaRZpWa4f+JO+RLlc6x/UXBlKhnQ\nNK0Y8Ei9MGGolIrTNC1K0zQjpVSSuqFKqVuaprkCZzVNuwZUANyVUknvXxJCJJOwQ15uKl26dKaL\n3+SWTZs2ZWp+PyMbFWVF27ZtExddZtXkyZOZPHlyDkWUMeFR4ThudmTHXzuY0HwC01pNw7CIrBEX\nGZPZd0opIDKF45HAG0CSsTVN08oDXwIfKKX8no8MrNU0zU4p5ZGVgIUQBVNWFvoJncM3D9NzY0+i\nn0Wzo/cObN+11XdIqbKwsODMmTNUq1ZN36GIF2Q2GbgPmKVw3AxIaT9PR2CxUsoPQCkV9vzug21A\nqsnAmDFjMDNLehkHB4dUdyoTQojCSCnF90e+Z8LeCTR6uxHrPllHRbPkdRrykmLFilG7dm19h5Hv\nubu74+6edOlddrbEzlQyoJSK1jTNVNM0LWGqQNM0A8D45SmC5yoDm17q45amaa+ndZ358+dLZSoh\nhEjDveh7DNg8gG0XtzGu6Thmtp5JUYOUN3USBU9KX5ADAwOxymKt6qxMKB0G3ke3cBCgKXAwlbZX\ngRpA4ublz6cKUppqEEIIkQHH/zmOvYc9kU8i2eawjc7VM7cBlRAvy0rRoSXAFE3TjDRNMwGmPj+G\npmmWmqb98ULbVcAoTdNqP3/eFPgVSHmZrhBCiFQppVhwdAHNVzSnXPFyBA0LkkRA5IhMjwwopY5p\nmrYe8AcU4KqUStgBpiRQ/YW2dzRNGwT8+nxqoAi6NQRrsh+6EGS5zrsQ+UXCe/zhk4d8suETvM57\nMeb9McxpOwcjA/3sKCkKnizdd6KUWgEkq1qilNrHC8nA82NH0U0lCJFjypQpg6mpKX379tV3KELk\numKmxei3sx+RJpF49fSie83u+g5JFDByE6rIlypVqkRISAhhYWH6DkUUEh4eHsyZM4fPPvuMAQMG\nJHkuOhpmz4bt2+GTT+CLLyALhSOTUUrhcdYD19OuvPX2W/j08KFqqarpnyhEJkkyIPKtSpUqUalS\nJX2HIQoBT09P5s6di7OzM/Pnz09S5vnyZRgwQPfPNWsgpwarHsQ8wGmbEx5XPfiszWfMazcPY0P9\nlDfOSaGhoSxZsoRhw4Zhbm6u73DEc9nYHVsIIQo+X19fevfujb29Pa6urkkSgd27wdoaYmLg2LGc\nSwRO3j5Jw18bsvPyTjzsPPjR9scCkQiALhmYOnUqoaGh+g5FvECSASGESEVwcDBdu3alWbNmuLm5\nJW5BrBTMnw82NtC4MRw/DnXqZP96SimWnFjC+8vep4RRCQKGBtCjVo/sdyxEOiQZEEKIFNy4cQNb\nW1uqVq2Kl5dX4g6E0dHQvz98/rlubcAff0DJktm/3sMnD+nj2Yfh24czqMEgDg8+zDtvvJP9joXI\nAFkzIIQQL7l37x42NjYYGRnh7e3N66/riqb+8w989BEEB8PatZBTFdJP/3saew97/nn4D+6fuNOr\nTq+c6ViIDJJkQAghXhAVFUWXLl24e/cufn5+lCtXDgB/f+jaFQwN4dAhyGLV1ySUUqwIWsGn3p9S\nvXR1AoYGUL109fRPFCKHyTSBEEI8FxsbS69evTh58iQ7duygenXdB/OmTdCiBVSpAidO5Ewi8Pjp\nY/pv7s+QbUPoV68fRwcflURA6I2MDAghBLpv6SNGjMDb25tt27ZhbW2NUjBvHnz5JfTsCStXQrFi\n2b/W2TtnsfOw4/qD66z5aA1960nxLKFfMjIghBDAlClTWLZsGcuXL8fGxoZnz8DJSZcITJqkWyOQ\nE4nA6lOrabSsEUW0IpxwOlHoEgETExNq1aqFiYmJvkMRL5CRASFEobd48WKmTZvG3LlzcXR05P59\n6NEDDh6EVat0dw9kV9SzKD7d8SkrT65kQP0BLOy4ENOiptnvOJ+pVasWZ8+e1XcY4iWSDAghCjVP\nT09GjhyJs7Mz48aN4/p1sLWF27d1RYVatMj+Nc6HncfOw47L9y6zqtsq+tfPgexCiBwkyYAQotA6\nePBgkuqCp09r2NqCiQkcPQrVc2A93++nf2fYH8OoZFYJfyd/apetnf1OhchhsmZACFEoBQcH06VL\nl8TqggcOFOHDD8HcHI4cyX4iEP0smqHbhtLXqy8fW3zMcafjkgiIPEtGBoQQhU5CdcEqVarg5eWF\nl5cxjo7QsqXuNsISJbLX/8Xwi9h72HMh/ALLuixjUINBSfY0ECKvkZEBIUShEh4eTocOHShatCje\n3t4sX/46Dg66Wwf/+CP7icD6M+uxWmpFdGw0x4YcY7DlYEkERJ4nyYAQotBIqC4YFhbGn3/uZP58\ncz7/XHf74OrVYGSU9b5jYmMYtX0UvTb1onP1zpxwOkG9t+rlXPBC5CKZJhBCFAoJ1QVPnTrFnj37\nmTevOsuXw4IF4Oycvb4v37uM/UZ7zt45y+JOixlqNVRGA0S+IiMDQogC78XqguvWbeL77xuxapVu\nNCC7icCmc5uwXGrJg5gHHBl8hGENh0kikIZz585Ru3Ztzp07p+9QxAtkZEAIUeC5uLiwbNkyli51\n4+efbfDx0S0U7NYt630+iX3C+N3j+fH4j/So1YNlXZZhZmKWc0EXUDExMZw7d46YmBh9hyJeIMmA\nEKJAW7RoEdOnT8fFZQ4rVzoSHAze3tCqVdb7vHr/Kj039uTUv6f4yfYnRlmPktEAka9JMiCEKLA8\nPT0ZNWoUQ4Y44+k5nn/+gX37wNo6631uOb+FAVsGUNKkJH6D/GhYvmHOBSyEnsiaASFEgeTr60vv\n3r3p3NmeAwdcCQ/XOHgw64nAs7hnjN05lu7ru9OqSiuChgVJIiAKDBkZEEIUOMHBwXTt2hUrq2YE\nB7uhVBEOHoRq1bLW340HN+i5sScnbp1gfof5ODd2lmkBUaBIMiCEKFASqguWL1+V69e9MDExZu9e\nqFw5a/1tv7gdx82OFDcqzqGBh2hcoXHOBixEHiDTBEKIAuPevXvY2NigaUaEh3tTosTr+PhkLRF4\nFveML3d/SWf3zjSr2IygYUGSCIgCS0YGhBAFQlRUFJ07d+b27buAH2+/XY49e+CttzLf19+Rf9Nr\nYy+O/n2Uee3mMbbJWJkWyCHm5ua4uLhgbm6u71DECyQZEELkewnVBYOCTmFkdID/+7/q7NoFZcpk\nvq8/L/1JP69+mBia4DvQl6YVm+Z4vIWZubk5U6ZM0XcY4iUyTSCEyNcSqgvu2OGNoeEmatSwZu/e\nzCcCsfGxTNw7EdvfbbEub03QsCBJBEShISMDQoh8bcqUKSxbtgxTUzcsLGzYtQtKlsxcH7ce3qL3\npt4cunGI2W1mM77ZeIpo8l1JFB6SDAgh8q3Fixczbdo0ihWbS+3ajllKBPZc2UPvTb0palCU/f33\n80HlD3InWCHyMEl9hRD5kqenJyNHjsTY2JnatcdlOhGIi4/DZb8L7de0p4F5A4KGBUkiIAotGRkQ\nQuQ7vr6+ODj0pmhRe+rUcWX3bi1TicDtR7fp49mHA9cOMLXlVCZ+OFGmBUShJsmAECJfCQ4OplOn\nrsTHN6NePTf27CmSqURg/9X99PbsDcCefntoVTUbOxYJUUBIKiyEyDdu3LhBu3a2REdXoXZtL/bs\nMc5wIhCv4pnuM522a9pS681aBA0LkkRAD6Kjozl79izR0dH6DkW8QJIBIUS+EB4eTqtWHQgLK8q7\n73qzd+/rlCqVsXPvPL6DzW82uBxw4ZsPv2FX312UK14udwMWKQoJCaFOnTqEhIToOxTxApkmEELk\neVFRUbRr14Vr18KoUsUPHx9zSpfO2Lm+131x2OTAs7hn7Oy7k3b/1y53gxUiH5KRASFEnhYbG0u3\nbr04efIU5ctv59Ch6pQtm/558Sqe2Qdn09qtNe++8S4nh5+URECIVMjIgBAiz1JK0b//CPbs8aZs\n2W0cPtyIjJS0D4sKw9HLEe9L3kz8YCJTWk7BsIj8uRMiNfJ/hxAiz/riCxfWrl3GG2+4cfSoDRUr\npn+O3w0/em3qRfSzaLz7eGPzjk3uBypEPpelaQJN04ZomnZS07QgTdMGpNPWUNO0BZqmndI0LVjT\ntMlZilQIUah8//0iXF2nU7z4XI4edaRq1bTbK6X47vB3tFjVgspmlTk5/KQkAkJkUKZHBjRNawLY\nAw0BA+BPTdPOKKVOpHKKCxChlHpP0zRDYLOmaR2VUjuyHLUQokD7/XdPvvhiFMbGzhw+PI533027\n/b3oewzYPIBtF7cxvul4ZrSeQVGDoq8mWCEKgKxMEwwDJiulYoFYTdO+AYYDQ15uqGmaMdAVaACg\nlIrVNG0mUCHrIQshCrI9e3xxdOyNoaE9Pj6u1K2rpdn+2N/HsN9oz6Onj9jmsI3O1Tu/okiFKDiy\nMk3QBDj2ws9HgNQKejcEDiul4hMOKKWOKKU8snBdIUQBFxgYjK1tV6A5O3a40bhx6n+ilFIsOLqA\nD1Z+QPkS5QkaFiSJQD5gYWHBmTNnsLCw0Hco4gWZGhnQNK0Y8EgppRKOKaXiNE2L0jTNSCn19KVT\nagK3NU2bhy5hUMBCpdRv2Q1cCFGwXL16g+bNbYmNrcrGjZ60a2ecatuImAgGbRmE13kvPn//c2a3\nnY2RgdErjFZkVbFixahdu7a+wxAvyew0QSkgMoXjkcAbwO2Xjr+JbgphsFJqnKZpJYF1mqZFKKX+\nyHS0QogCKTz8HpaWNkRHG7F0qTeffPJ6qm1P3DqBvYc992Pus7nnZrrV7PYKIxWiYMpsMnAfMEvh\nuBlwL4XjRYF1CYsFlVIRmqZ9DnwLpJoMjBkzBjOzpJdxcHDAwcEhk+EKIfK6qKgo3nuvMxERd5k9\n2w8np5TLBCulWOi/kLG7xvLeW++x13EvVUulc4uBEAWUu7s77u7uSY49ePAgy/1pL4z4Z+wETTsP\nWCRMFWiaZgCcUUolmwDSNO1/6KYVlr1wrBhwRClVP4X2lkBAQEAAlpaWmXslQoh8JzY2lnr1PiYk\nZC9jxhzA1dU6xXYPYh7gtM0Jj3MejG40mnnt58m0gBAvCQwMxMrKCsBKKRWYmXOzcjfBYeB9dAsH\nAZoCB1NpewZ4+UbfGsD1LFxXCFGAKKVo3XoEISHeODhsSzURCAoNws7DjrtRd9lot5FPan3yiiMV\nouDLyt0ES4ApmqYZaZpmAkx9fgxN0yw1TXtx+N8HaK9pmvXz54sD84Bfsxe2ECK/s7Nz4eDBZbRu\nvZzff09eHEgpxeITi2myvAlmJmYEDg2URECIXJLpkQGl1DFN09YD/ujuDnBVSgU8f7okUP2Fts80\nTesNLNQ0rQQQCyyRxYNCFG6jRy9i06bpvPfeXHbvdkR7qZTAwycPGfrHUNadWcfIhiP5vsP3mBia\n6CdYIQqBLO1NoJRaAaxI4fg+XkgGnh87A7TIUnRCiAJnzhwvfvppFFWqOHP8+DiKvDQ+efrf09h5\n2BH6MJR1n6yjZ52e+glU5IrQ0FCWLFnCsGHDMM/IrlPilZAtjIUQr4ybmy8TJjhQpow9wcGuGBn9\nNySglGJZ4DIaL2tMMcNiBAwNkESgAAoNDWXq1KmEhobqOxTxAkkGhBCvxK5dwQwc2JXXXmvGmTNu\nFC/+35+fR08f0X9zf5y2OeFYz5Ejg4/wbul0NiQQQuQY2cJYCJHrTp68QadOthQtWpXAQC/eeuu/\n6oJn7pzBzsOOmw9u8ttHv9GnXh89RipE4SQjA0KIXHX9ejhNmnQgPt6I/fu9qV79v+qCq06uotGv\njTAsYsiJoSckERBCT2RkQAiRayIionjvvS48eRLGpk1+NG2qqy4Y9SyKUTtGserkKgbVH8RPHX/C\ntKipnqMVovCSZEAIkSuePo2ldu1ePHhwioUL9/PRR7objULuhmDnYceV+1dY1W0V/ev313OkQgiZ\nJhBC5Lj4eEWDBiO4dcubiRM3MXJkIwB+O/0b1r9aE6/i8Xfyl0RAiDxCkgEhRI5r29aFc+eW0b//\ncmbMsCH6WTROW53o59WPjy0+xt/Jn9plZRvbwsjExIRatWphYiJFpPISmSYQQuSovn0XsX//dNq2\nncuqVY5cDL+InYcdF8MvsqzLMgY1GIT2cslBUWjUqlWLs2fP6jsM8RJJBoQQOWbCBE9+/30Udes6\ns3PnONadWYfTNifKlyjPsSHHqPdWPX2HKIRIgUwTCCFyxMKFvsyZ05sKFezxOzaLT71H4bDJgS7V\nu3DC6YQkAkLkYTIyIITINi+vYD79tCslSzZn66HJtFjdnHN3z7G402KGWg2VaQEh8jhJBoQQ2XL0\n6A3s7GwxManK7C2OtHRvQtnXynJk8BEamDfQd3hCiAyQaQIhRJZdvnyPFi1swNCQbksaMGJ/fzr8\nXwcChgZIIiBEPiIjA0KILAkLi6JBg848fe027379Nl43fudn258ZaT1SpgWEyGckGRBCZNzFi3D5\nMjEVqlCn3Zc8fDuAYg5GxBZ9zOHeh7Eqb6XvCIUQWSDTBEKI9N27BzY2UKMG8R078l6DIfxb/w/o\n9RSbGu0IHBYoiYDIkHPnzlG7dm3OnTun71DEC2RkQAiRvt69Yc8eAN43a8RFu8MUMddwvVqT0ZM3\nybSAyLCYmBjOnTtHTEyMvkMRL5CRASFE2i5ehJ07IS6OD6vXwn/4cYoVN+bICoWz23m0S5f0HaEQ\nIptkZEAIkbbLl3lWBJq1KYd/s3O8fuENLm++R5no589fugTvvqvXEIUQ2SPJgBAiTTfLmdJigClX\n376N2c7K3D1ynaIvNnjnHX2FJoTIITJNIIRIlfdf3tTe3p2rZtGUWFmdG0du/ZcIGBhAhw4yKiBE\nASDJgBAimdj4WL7e+zUd13bk4floTFbW4tz/Vecxz5gChAK0bQvu7voNVAiRIyQZEEIkcevhLdqs\nbsO3ft9isO9NDNabc8xnDxUObCPUy4upQKiXF/z5J5Qqpe9whRA5QNYMCCES7b68mz6efTDQDDFa\nW5OYi//y5587qVevHADmjRvj4uKCeePGeo5U5Ffm5ua695C5ub5DES/QlFL6jiGRpmmWQEBAQACW\nlpb6DkeIQiMuPo6pPlOZ4TuDtlXbcXIy3L1+iJUr9zNgQCN9hyeEyIDAwECsrKwArJRSgZk5V0YG\nhCjkbj+6Te9NvfG57sO0ltNYPfQad6+7MW3aVkkEhCgkZM2AEIXY/qv7qb+4PiFhIex13MufE5/y\n18XlDBu2nG++sdV3eEKIV0SSASEKobj4OKb5TKPtmrbUKVuHk8NO8sv4EPz8ptOp01wWL3bUd4hC\niFdIpgmEKGTuPL5DH88+7L2yF5cWLkz6cBLjvtiCh8coLC2d2bZtnL5DFEK8YpIMCFGI+FzzwWGT\nA3Eqjt39dtOmWhtcXX2ZP783lSvbc+yYq2w6JEQhJNMEQhQC8SqeWQdn0Xp1a2qUqcHJYSdpU60N\nGzacYezYrpQu3ZwzZ9wwNJQ/CUIURvJ/vhAFXFhUGJ3WdmLSvkl83fxrdvfbjXkJc3x8buDgYIOp\naVWCgz0pXtw43b6io6M5e/Ys0dHR6bYVIiXyHsqbJBkQogDzu+FH/cX1OXHrBN59vJneejqGRQw5\ne/Ye7drZYGBgxPHj3pibv56h/kJCQqhTpw4hISG5HLkoqOQ9lDdJMiBEARSv4vnW71tarGpB1VJV\nOTnsJB3e6QDAP/9EYW3dmbi4u+za9Se1a5fTc7RCCH2TBYRCFDDhUeH039yf7X9t56tmXyWOBgBE\nRsZSt24voqNPsW7dAVq2rK7naIUQeYEkA0IUIEf/PkrPjT159PQR23tvp+O7HROfe/pUUafOCO7f\n98bVdRs9e1rrMVIhRF4i0wRCFABKKeYfmc8HKz/g7RJvEzQsKEkiEB8P1tYu3Ly5jLFjlzNmjI0e\noxVC5DUyMiBEPnc/+j4Dtwxky4UtjG0yltltZlPUoGji80pB+/aLOX16Og4Oc/nuO6kuKIRIKkvJ\ngKZpQ4BPAQX8oJRalcHzvgDMlVJjs3JdIURS/v/4Y7/RnoiYCLb02kLXGl2Ttenb15O9e0fSosVo\nfv9dqgsKIZLL9DSBpmlNAHugIfA+0F/TtIYZOK8m8AVQIrPXFEIkpZTip2M/0WxFM8q+VpagYUEp\nJgJjx/qydm1vate2Z9+++VJdUAiRoqysGRgGTFZKxSqlngDfAMPTOkHT/QVaCEzLwvWEEC94EPMA\nOw87Rv85mpHWIzk48CBVSlZJ1m7evGBcXbtSoUIzTpxwo0iR7C8RsrCw4MyZM1hYWGS7L1E4yXso\nb8rKNEETYOALPx8BlqdzzkjAFzgL1M/CNYUQQGBoIPYe9oRFhbHJfhMfW3ycYrvVq28wfrwtpUpV\nJTjYCxOT9KsLZkSxYsWoXbt2jvQlCid5D+VNmfqqoGlaMeCRUkolHFNKxQFRmqYZpXJOZaAfMCs7\ngQpRmCmlWOS/iCbLm1DSpCSBwwJTTQS8vcMZMKADpqZGnDrlTcmSGasuKIQovDI7MlAKiEzheCTw\nBnA7hed+Af6nlHom85VCZF7kk0iGbhvK+rPrGWU9iu/bf4+xYcrf9I8di6JLly4YGoZx5IgfFStK\ndUEhRPoymwzcB8xSOG4G3Hv5oKZpfYHLSqmjLx5O7yJjxozBzCzpZRwcHHBwcMhctELkc6dun8LO\nw47bj26zvsd67Gvbp9r27NlYPvywF0qd4s8/91OvnlQXFKKgcnd3x93dPcmxBw8eZLk/7YUR/4yd\noGnnAYuEqQJN0wyAM0qpZKtBNE1bDdQGnjw/ZAa8CVwCHJVSl15qbwkEBAQEYGlpmdnXIkSBoZRi\nWeAyRv85mpplarKhxwbeLf1uqu2vXVPUqTOUx49XsW7dNnr2lKJCQhQ2gYGBWFlZAVgppQIzc25W\nFhAeRndL4ZHnPzcFDqbUUCmVpLqJpmktgD5KqaFZuK4QhcKjp48Y/sdwfg/+nWFWw1hgswATQ5NU\n24eGgqWlC48fL2PBAjdJBIQQmZaVe42WAFM0TTPSNM0EmPr8GJqmWWqa9kdOBihEYXLmzhmsf7Vm\n8/nNrP14LYs7L04zEQgPByurRdy/P50vv5yLs7NUFxRCZF6mkwGl1DFgPeAPHAVWKaUCnj9dEkhr\nonCKM1kAACAASURBVPIhKawtEELAqpOraPRrI4oWKUrA0AAc6qa9RiYyEho39iQ0dBT9+jkze3bu\nVxcMDQ1lypQphIaG5vq1RMEk76G8KUtVSJRSK5RS7yml6iulVr9wfJ9SKtVkQCkVqJT6KivXFKKg\nevz0MQM2D2DgloE41HHg6JCj1ChTI81zoqLggw98uXy5N+3b27NqlesrqS4YGhrK1KlT5Q+5yDJ5\nD+VNslGREHoUcjeEHh49uBZxDbfubji+l/4wf0wMtGlzhtOnu9GwYXO2bs2Z6oJCiMJL/oIIoSdr\nTq2h4a+6bT38nfwzlAg8eQIdO97g6FEb3nmnCnv3emJsnDPVBYUQhZckA0K8YtHPohmydQiOmx3p\nUasHx4ccp9abtdI979kz+Pjjexw4YEO5ckYcPOjN669LdUEhRPbJNIEQr9CFsAvYedjx172/WNF1\nBQMbDEz/JCA2Fnr1isLbuzMlStzFx8ePcuWkuqAQImdIMiDEK+Ie7M7QP4bydom3OT7kOHXfqpuh\n8+LjYcCAWDw9e2FsfIo9ew5QvbpUFxRC5ByZJhAil8XExjDijxH09uxN1xpdOTH0RKYSgaFDFb//\nPgIDA282b96EtbV1LkcshChsZGRAiFx06d4l7DzsCLkbwpLOS3CydMrwLYDx8TBiBCxf7gIsY8UK\nN2xs9Ftd0MTEhFq1amFiknohJCHSIu+hvEmSASFyycZzGxm0ZRBvFX+Lo0OOUr9c/Qyfm5AILF26\nCJjOnDlzcHTUf3XBWrVqcfbsWX2HIfIxeQ/lTTJNIEQOexL7hM92fIadhx2279oSMDQgi4mAJ5o2\nCmdnZ8aPH5+LEQshCjsZGRAiB125f4WeG3ty+t/TLOy4kBENR2SqMuB/iYAvhoa9+eQTe1xdX011\nQSFE4SXJgBA5xCvEi4FbBlLatDSHBx3GqrxVps7/LxEIplixrjRp0gw3N6kuKITIffJXRohsehr3\nlDF/juHjDR/TplobAocGZikRGD4cli69QalSttSoURUvLy+pLiiEeCVkZECIbLgecR37jfYEhQbx\ng80PfNbos/9v787jqqrWBo7/ljig6TUtS5ocrpmI9uZEOaTlqwmlVuYAKM6GioWV6G0S1LeSvHrN\nuomFmnqTHMCrJhqlIE45IJiKmkOKOeSMGqIC6/1jQxFJcuAc9hme7+dzPng2e6/9HM/m7Oestfaz\nLe7Sz8mBIUNg/vzzeHh0wd29IqtXS3VBIUTZkWRAiBJaeWAlA/47gL9V+hsbB2/E+35vi9u4eRP6\n94fFizNp0KAbFy+eIzFRqgsKIcqWDBMIYaGbOTcJjQ+l+1fdaV+nPSlBKSVKBG7cgD59YOnSbJo3\n9+PEiV2sWrVKqgsKIcqcJANCWOB4xnE6fNGB6VunM/WZqSzrs4walWtY3E5WFvToAV9/renYcQSp\nqauJiYnB29vypKIspaWl4eXlRVpamtmhCAclx5B9kmECIYop7mAc/Zf1p0qFKiQNTKL1g61L1E5m\nJrzwAmzcCL16hbFwYRTz5plfXbA4srKySEtLIysry+xQhIOSY8g+Sc+AELeRnZvNm9+9yXMLn+OJ\nB54gJSilxIlARgb4+MDmzRAUNJOFCycRERFhF9UFhRCuS3oGhPgLJy6fwD/Gn83HNxPRKYIxbcZQ\nTpUshz5zBrp0gWPH4J13YnnrLaO6YGhoqJWjFkIIy0gyIEQR4g/H0ze2L5XcKpE4MJF2D7UrcVvp\n6dC5M1y+DNOmbWD48AB695bqgkII+yDDBEIUkpObw7vr3sXnPz608GhBSlBKqRKB/fuhbVvjMsLZ\ns3czenQ32raV6oJCCPshPQNCFHDqyikCYgNIOpbEpKcn8eaTb5Z4WABg505jaOCee+CLL9J58UVf\n6tWT6oJCCPsiyYAQedYeWUvf2L6UU+VY138dHep2KFV7iYnQvTt4esKXX16ge3cfKlaU6oJCCPsj\nfZTC5eXk5jAhcQKdF3Sm6b1NSQlKKXUisHix0SPw+OOwYkUm/ft35ezZs6xZs8ahqwt6eHgQFhaG\nh4eH2aEIByXHkH2SngHh0n65+gv9lvVj7ZG1hD8VzttPvo1bObdStfnRR/DaaxAQAJ99lo2fnx+7\ndu0iISHB4asLenh4EB4ebnYYwoHJMWSfJBkQLmv90fX4xfiRq3P5NvBb/rf+/5aqvdxc+Mc/YMoU\nCA2FDz7QDB8+gtWrV7Ny5Uq7ry4ohHBdMkwgXE6uzuW9pPfoOL8jje5uRGpQaqkTgRs3jBsO/fOf\nMH06fPghTJgQRlRUFLNnz3aI6oJCCNclPQPCpZz99SyBywKJPxzPO+3fIaxDWKmHBTIyoFcvWL8e\nvvoKeveGmTNnMmnSJCZPnizVBYUQdk+SAeEyNqZvxG+pH9dzrrOm3xqe+fszpW7z6FHo2hV+/hm+\n+QaeegpiY2MJDjaqC44dO7bU+xBCCFuTYQLh9HJ1Lh9u+pCnvniK+jXqkxqUapVEYOtW42qBzEz4\n/nsjEUhKSiIgQKoLCiEciyQDwqmdzzxP9+jujPtuHKFtQlk3YB33/+3+Ure7dKlx8m/QwEgKGjWC\n3bt30717d6kuKIRwOPJpJZzWluNbaDarGd///D1xAXF80OkDypcr3ciY1jB5sjFH4IUXYO1aqFUL\n0tPT8fV1/uqC165dY+/evVy7ds3sUISDkmPIPkkyIJyO1pqpm6fS/ov2PFj9QVKCUvB92LfU7V6/\nDkOHwptvwvjxsHAhuLvDhQsX8PFxjeqC+/bto0mTJuzbt8/sUISDkmPIPskEQuFULl67yKDlg1h+\nYDmhbUJ5r+N7VHCrUOp2T5+Gl16CHTtg/nwIDDSWZ2Zm0rWrUV1w06ZNDl1dUAjhuiQZEE5j24lt\n9F7Sm8vXL7PCbwXdHulmlXa3b4cXXzSKCiUlGZMGAbKzf68umJiY6PDVBYUQrkuGCYTD01ozY+sM\n2s1px71V7yUlKMVqicB//gNPPgkPPGD0CuQnAlprRowwqgvGxMTQqlUrq+xPCCHMIMmAcGiXsi7R\nc0lPQtaEENwqmA2DNlDnzjqlbjc7G8aMMYYD/P2NOxDed9/vvw8PD5fqgkIIpyHDBMJh7Ty1k15L\nenE+8zyxvWN50fNFq7R79iz07Qvr1hk3HXrlFShYLiAyMpKJEycSEREh1QWFEE5BkgHhcLTWzNwx\nk9e+eY2m9zTl28BvqV+jvlXa/v5747LB69chPh46dvzj72NjYxk5ciQhISGEhoZaZZ9CCGE2GSYQ\nDuXy9cv4xfgRHBfMy81fZtPgTVZJBLSGjz+G9u3hoYcgJeXPiYBUFxRCOKsSJQNKqaFKqVSlVIpS\nauBt1n1YKbVGKbVDKbVVKdWrRJEKl5d6OpWWn7Vk9cHVLO65mI+f/ZhK5Utf3OfqVWNewKuvQnCw\nMT/g/kJFCvOrC7Zr186lqwt6enqyZ88ePD09zQ5FOCg5huyTxcMESqnWQG+gJeAGrFFK7dFa77jF\nuuWBpcBgrXWyUupvwNdKqWNa622ljF24CK01n+/8nFdXv4pnLU92Bu2kQc0GVml7717o2dO40dDi\nxcYQQWEFqwvGxsY6bXXB4qhcuTJeXl5mhyEcmBxD9qkkX2+CgPFa62yt9XXgXWB4Eet6Aoe01skA\nWuvLwHTAOjO9hNO7euMqgcsCCfo6iEGPDWLLkC1WSQS0hs8+g1atoHx547LBWyUCrlRdUAjhukoy\ngbA1MKjA8y3A7CLWvQEkFVpWAdAl2K9wMbt/2U2vJb04ceUEC3ssxL+pv1XavXgRhg2DmBgYPhym\nToUqVf68nlQXFEK4CouSAaVUZeCq1vq3k7nWOkcplamUqqi1vlFwfa31AeBAge3dgJeB8FJFLZya\n1pq5qXMZFTeKBjUbsGPYDh65+xGrtL1xIwQEwJUrRjLQo8et1ytYXTAhIUGqCwohnJqlwwQ1gMu3\nWH4ZqPlXGyql7gQWAeu01hss3K9wEb/e+JWBywcyZMUQ+jbty9ahW62SCOTkwMSJ0KED1KkDu3YV\nnQgUri7o7e1d6v0LIYQ9s3SY4CJQ/RbLqwMXitpIKdUCmIkx12DN7Xby2muvUb36H3fj7++Pv791\nuomFfUo7m0avJb04eukoC15cQL9H+1ml3YMHYcAA2LoV3n0X3nnHmCdQlLCwMKKiovjiiy+kuqAQ\nwi5FR0cTHR39h2UZGRklb1BrbdED2A+oAs/dgH1/sX5rjHkD9xWj7eaATk5O1sK1zEudp6u8V0U3\n/ndjvffMXqu0mZOj9SefaF2litZ//7vWGzfefptPP/1UA3ry5MlWiUEIIcpKcnKyxpiT11xbeG4v\nydUEm4EnCjxvA9yy2z9vjsAUoLvW+mQJ9iWcXObNTIYsH8KA/w6gt1dvtg3dRuNajUvd7vHj0KUL\njBoFAwdCaiq0bfvX28TGxhIcHExISAhjx44tdQzO6NSpU4SHh3Pq1CmzQxEOSo4h+1SSZGAWEK6U\nqqiUcgcm5C1DKdVcKfV1gXU7AUla60ulD1U4mwPnDvB41ONE74lm7vNzmfv8XO6oeEep2tQaFiyA\npk1h3z745hv497+hatW/3k6qCxbPqVOnmDBhgnyQixKTY8g+WXxpodZ6q1JqEbAdoztims6rIwDc\nCRScdu0JBCilOhVqZoPW+o2SBCycw8LdC3l55cs8WP1Btg3bRpN7mpS6zfR0GDEC4uKMuw1+9BHU\nqHH77fKrC7Zt29alqwsKIVxXiW5UpLWeA8y5xfJ1FEgGtNbTMYoMCQFAVnYWo9eMZlbyLPo27Utk\n10iqVrzN1/bbyMmBmTPhzTehenVYvhy6dy/etgWrCy5btsylqwsKIVyX3LVQlJmD5w/Sa0kv9p/b\nz2ddP2No86Gl7o7fu9coILRli9Er8MEHRkJQHOfPn6dLly5UqFBBqgsKIVyaJAOiTCzeu5ihK4ZS\nu2pttg7dyv/U/p9StZeVBZMnw/vvQ/36sGEDtGtX/O0zMzPp1q0b586dk+qCQgiXJ4OjwqauZ19n\nVNwo+iztw3MNnyP55eRSJwJxcdCkiZEIjBtnXClgSSJQsLpgXFycVBcUQrg86RkQNnPk4hF6L+nN\n7jO7+fTZTxnecniphgWOHoXRo405AZ06wddfQ6NGlrWhC1QXXLlyJa1atSpxPEII4SwkGRA2Ebsv\nlsHLB3NXlbvYMmQLzT2al7itrCyYMsXoCbjrLuNWwz17QknyivDwcKKiopg3b55UFywBd3d3Gjdu\njLu7u9mhCAclx5B9kmRAWNWNnBuM/XYsH239iJc8X2J299lUdy/mjL5CtDZuJjRunHHZ4OuvG+WE\nb1czoCiRkZFMnDiRiIgI+vfvX7JGXFzjxo3Zu3ev2WEIBybHkH2SZEBYzdFLR+mztA8pp1KY4TOD\nUd6jSjwssG2bcfLftAmefdYYEvD0LHlsy5YtY+TIkYSEhBAaGlryhoQQwgnJBEJhFSsOrKDZrGac\n+fUMmwZv4pXHXylRIpCeDn37wuOPw+XLEB8Pq1aVLhFISkrC399fqgsKIUQRJBkQpXIz5yZj4sfw\n/FfP06FOB3a+vJNW91s+Ke/CBfjHP+CRR2DtWvj8c0hJgc6dSxefVBcUQojbk2ECUWLHM47TZ2kf\ntp/czrRnpjH6idEWf+u+cgWmT4d//tOoJDhmDIwdC9WqlT4+qS4ohBDFI8mAKJG4g3EELgukasWq\nbBi0gSceeOL2GxVw7ZpRQviDD4zhgBEjjHLC995rnfguXLiAj48PFStWlOqCQghxG9JnKiySnZvN\nP777B88tfI42D7YhJSjFokQgKws+/RQeftjoAXjhBTh40OgdsFYikJmZSdeuXTl79ixr1qyR6oJC\nCHEb0jMgiu3E5RP4xfix5fgWPuz0IW+0eYNyqnj55K+/wqxZRr2AM2fAzw/Cw42kwJqys7Px9/dn\n165dJCQkSHVBIYQoBukZEMXyzaFveGzWY/x08SfWD1xPaNvQYiUCGRlGsaC6dY16Ac8+C/v3w5df\nWj8RyK8uuGrVKpYuXYq3t7d1dyBIS0vDy8uLtLQ0s0MRDkqOIfskPQPiL2XnZhOeGM77G96nS4Mu\nLHhxAXdXufu22504AR9/DJGRxtDAkCHGsECdOraLNSws7Lfqgr6+vrbbkQvLysoiLS2NrKwss0MR\nDkqOIfskyYAo0qkrp/CP8WdD+gbe6/ge49qNu21vwK5dMHUqREdDlSrG7YVffx3uu8+2sc6cOZNJ\nkyYxefJkqS4ohBAWkmRA3NLaI2sJiA3ATbmRMCCB9nXaF7lubi58842RBKxdCw89BBERMHQolMUk\n/tjYWIKDgwkJCWHs2LG236EQQjgZmTMg/iAnN4fwxHA6L+jMo/c+Surw1CITgQsXjASgYUNjLkBG\nhtEjcPiw0RtQFolAUlISAQEBUl1QCCFKQXoGxG9+ufoLfWP7su6ndUx4agJvPfkWbuXc/rTejh3G\n5YHR0UahoF69YN48aNOmZHcSLCmpLiiEENYhyYAAIPFoIv4x/mit+a7/d3Ss1/EPv790Cb76CmbP\nNpKBhx6C8eONiYH33FP28Up1QSGEsB5JBlxcrs7l/Q3vE5YYRoc6HVj40kJqVzWK9OTmwvr1MGcO\nLF0KN26Ary/897/QtSu4/bnToEycP3+eLl26UKFCBeLi4qS6oBBClJIkAy7s7K9nCVwWSPzheN5t\n/y7jO4zHrZwbBw/CwoVG1/9PPxn1AMLCoH9/218VcDuZmZl069aNc+fOsWnTJjw8PMwNyMV4eHgQ\nFhYm/++ixOQYsk9Ka212DL9RSjUHkpOTk2nevLnZ4Ti1Dcc24Bfjx82cm3zZ40ua3tGZRYuMYkDb\nt0PVqtCzpzEM0LZt2c4FKEp2djY9evRg7dq1JCYm0qqV5XdHFEIIZ7Vz505atGgB0EJrvdOSbaVn\nwMXk6lymbJrC2+vextujLS/paKaMuI+1a41u/2efhcWLjWGAypXNjvZ3+dUFV69ezcqVKyUREEII\nK5JkwIWczzxPn6/6s/Z4HHXS32TrpIlszS1P+/bGfQNeeglq1DA7ylsLDw//rbqgj4+P2eEIIYRT\nkWTAyWkNBw7AJ8u3EHWpD9dzMym3PI5H6vjy1r+NuwaacTWAJSIjI5k4cSIRERFSXVAIIWxAkgEn\ndOMGbNgAX38NK1Zqjtw7Ff73TWpke/PeI18xaPOD1KxpdpTFExsby8iRIwkJCSE0NNTscIQQwilJ\nMuAkDh+G+HjjsW4dXL4MHvUvULH3QHBfyehWoXzY5T0quFUwO9Rik+qCQghRNiQZcFAXLhg1AL79\n1kgADh+G8uWhdWsIDYWH2mxl/A99uHz9MitfXEnXhl3NDtkiUl1QCCHKjiQDDuLiRUhKgoQESEyE\nH34w5gM0aAA+PvDMM/DUU1CtmmbG1hkM/TaU5h7NWT9wPXXutOF9g21Aqgvar2vXrnHkyBHq169P\nZXu63EQ4DDmG7JMkA3ZIazh2DDZtgs2bjZ/5J/+6dY2T/muvGT/rFDjPX8q6xEuLB7Ns/zJee+I1\nJneaTEW3iia9ipK5cOECPj4+VKxYkdWrV0t1QTuzb98+WrRogdQCESUlx5B9kmTADmRmws6dRrGf\nLVuMk//Jk8bvHnnEKPozerRx8q9b99Zt7Di5g95LenPh2gWW9VnGC41eKKvwrSYzM5OuXbty9uxZ\nNm3aRO3atc0OSQghXIIkA2Xs+nXYuxeSk42T/7ZtsGePcfe/ypWhRQsIDDQSgNat4e67/7o9rTWf\nbv+U1+Nf59F7H2Vt/7XUq1GvbF6MFWVnZ+Pn58euXbtISEigYcOGZockhBAuQ5IBG7p0CXbvhpSU\n3x9790J2NpQrB02agLc3BAcbP728jEmAxZWRlcGwlcNYkraEV7xfYUrnKVQq73jj6wWrC65YsQJv\nb2+zQxJCCJciyYAVXLsGP/5onPh37za+6e/eDcePG7+vWBEefdQ44QcFQbNmxvMqVUq+z9TTqfRa\n0oszv55hSa8l9Gzc0zovxgRhYWG/VRf09fU1OxwhhHA5kgwUk9Zw9iwcPAj798O+fb8/jh41fg/w\n0EPQtCn07Wv8bNoUGjWCCla6vF9rzWfJnxGyJoTGtRqzuu9qGtRsYJ3GTTBz5kwmTZrE5MmTpbqg\nEA4mOTmZRYsW8eGHH5odiiglSQYK0Bp++QWOHDEehw4ZJ/8ffzR+ZmQY6ykF9eoZJ/kePcDT03h4\neUH16raL78r1KwR9HUT0nmhGtBzBtC7TcC/vbrsd2lhsbCzBwcGEhIQwduxYs8MRQhTh7NmzhISE\nsHDhwj8sv3r1KpcuXTIpKmFNLpUMaA1nzhiX7RV+5CcA1679vv6998LDDxtd+i+9ZPw7/1HWl8f+\n8MsP9FrSi5NXThL9UjR+TfzKNgArk+qCQjiOzMxMzp07Z3YYwoacJhm4eRNOn4ZTp4zL8k6cgJ9/\nNh7Hj//+7+vXf9+malXjOv26daFjRxg6FOrXNx516xq/N5vWmjkpcxi1ehQN72pI8svJNLzLsWfa\n79mzR6oL2pEFCxawf/9+3nvvPQAyMjLo2LEjO3bs+FOS5unpyZ49e6hfv74ZoQobsOT9v5Xr168z\nevRoEhMTUUrRr18/3njjjSLXl2PIPtl1MpCdDefOGWP1Z84YXfinTxs/8x/5J/9z534ftwdjjP7+\n++HBB+GBB4zJew88YJz869QxxvZr1DC6/O3Vrzd+ZcSqESz4YQFDmw1lhu8MKldw7Ipd6enp+Pj4\nSHVBO+Ln50e7du14/vnn8fb2ZsyYMQwcOPCWJ4LKlSvj5eVlQpTCVorz/mut0QU/YAtYvHgxc+fO\nZfr06WRnZ/PMM8/QsWNHmjVrdsv15RiyTyVKBpRSQ4FRgAY+0lp/8Rfr3gFEAY8Al4EhWuvDf9V+\njx5w5YpRf7+wO+4wuu/zH23awH33gYeH8cj/d61axuV7jmrvmb30WtKLYxnHWPDiAvo92s/skErt\n/PnzdOnSRaoL2pkKFSowZ84c+vXrx//93/9x6NAhPv/8c7PDEmWkqPf/p59+IiAgAKUUWVlZHDly\nhDZt2gDQvHlzPvnkEwB69uyJn58xbFm+fHmefPJJ9u/fX2QyIOyTxcmAUqo10BtoCbgBa5RSe7TW\nO4rY5J/At1prf6VUM2Ah8Phf7aNdO+Ma/Fq1fn/cc49x8reHrntbm5c6j5FxI6l3Zz12DNuBZy1P\ns0MqtczMTLp168a5c+ekuqAd8vLyIiAgAH9/f3744QezwxFl7Fbvf7169diyZQsAx44dY9iwYcTH\nx/9p28L3FyhXrlyRvQjCfpWkZyAIGK+1zgaylVLvAsOBoYVXVEpVAby11iMAtNYpSqndSqm2WutN\nRe3g9dfBFUtWZ97MZFTcKOamzmXQY4P45NlPqFKhFMUI7ETB6oKJiYlSXdBOHTlyhKpVq/LLL79Q\nt6i618Jpyfvv2krSkd4a2Frg+RbgySLWfRpIKrQsDuhWgv06tf3n9vN41ON8tecrvnj+C+Y8P8cp\nEoGC1QVjYmJo1aqV2SGJW1i/fj379u0jPj6eESNGkJ2dbXZIogzd7v2vVKkS1apVMyk6URYsSgaU\nUpWBq7pAH5DWOgfIVErd6vZ4DwJHCi07krdc5Pnyhy9p+VlLcnJz2D5sOwMeG2B2SFYTHh5OVFQU\nc+bMwcfHx+xwxC1cu3aN4OBgIiMjadKkCZ07dyYiIsLssEQZKc77X7t2bWJiYkyKUJQFS3sGamBM\nAizsMlDzFstr3mL9DOAuC/frlK7dvMbLK1+m37J+9PDswbZh2/C6x3lm2UZGRjJx4kQiIiIIDAw0\nOxxRhKlTp9KjRw8aNWoEwPjx45k/fz6nTp0yOTJRFkrz/lerVo2aNf/40V+9enWq27L6mrAJZclE\nj7yegU1a6+aFlqdizA24UWj5cKCC1vrjAsseA0K11n1v0X5zILl9+/Z/Opj8/f3x9/cvdqz27sfz\nP9J7SW8OnD/AJ76fMLjZYKcqvBMbG0vPnj159dVX+de//uVUr83ZnDhxgtq1a+Pm5vbbsp9//hkP\nD48/LAM4deoUs2bNIigoCA8Pj7IOVdiAJe+/NcgxZB3R0dFER0f/YVlGRgZJSUkALbTWOy1qMP/6\n0eI+gP3kJRF5z92AfUWs+ywwvdCyHsDkItZvDujk5GTtzBbtWaSrvV9NN/y4od51epfZ4Vjd+vXr\ndaVKlXSfPn10Tk6O2eEIK0pOTtau8DcqbEeOIdvJ/78FmmsLz+0lmUC4GXiiwPM2wIYi1k3kz5ML\nnwNWlGC/Di8rO4uRq0bSZ2kfnmv4HDuG7eDRex81Oyyr2r17t1QXFEIIB1OST+pZQLhSqqJSyh2Y\nkLcMpVRzpdTX+StqrTOB75VSQ/J+3wzw1FpvLn3ojuXwhcO0ndOWOSlziHwukoU9FlKtknPNzk1P\nT8fX11eqCwohhIOxuM6A1nqrUmoRsB2jO2Ka1jo579d3AoUvIg8FZiulgjEmEzp+KT0LxaTFMHjF\nYGpVqcWWIVto5uF8lbmkuqAQQjiuEpUj1lrPAebcYvk6CiUDeb0DzjPzzwI3cm4QGh/KjG0z6Nm4\nJ1Hdoqju7nyzbDMzM+nevbtUFxRCCAdl1zcqcmQ/XfyJPkv7kHo6lY99Pya4VbBTzqjPry6YmppK\nQkKCVBcUQggHJMmADSzfv5yBywdSw70Gm4dspuV9Lc0OySZ0geqCK1euxNvb2+yQhBBClIBM9bai\nmzk3eeObN3hh0Qs8XfdpdgbtdNpEACAsLIyoqChmz54t1QVdhLu7O40bN8bd3d3sUISDkmPIPknP\ngJWkZ6TTZ2kfdpzcwb+6/IuQx0Occlgg38yZM5k0aRIRERH079/f7HBEGWncuDF79+41OwzhwOQY\nsk+SDFjBqh9X0f+//alasSobB23k8Qf+8g7NDi82Npbg4GBCQkIIDQ01OxwhhBClJMMEpXAzOHek\nMgAACDpJREFU5ybjvh1H1+iutH2wLSlBKU6fCCQlJREQEEDv3r2ZNm2aU/d+CCGEq5CegRL6+fLP\n+C314/ufv2dK5ym80foNpz8x7tmzR6oLCiGEE5JkoATWHFpD4LJA3Mu7kzQoiTYPtjE7JJtLT0/H\nx8dHqgsKIYQTkq92FsjOzebttW/j+6Uvre5rRUpQikskAlJdUAghnJv0DBTTySsnCYgJYGP6Rt7v\n+D7j2o2jnHL+XCozM5Nu3bpJdUEhhHBikgwUw3dHviMgJoAKbhVIGJDAk3UK34jROeVXF9y1axeJ\niYlSXVAIIZyU83+1LYWc3BzCEsJ4ZsEzNPNoRkpQisskAgWrC8bExNCqVSuzQxJ2IC0tDS8vL9LS\n0swORTgoOYbsk/QMFOH01dP0je1L4tFEJj49kbeefMslhgXyhYeHExUVxfz586W6oPhNVlYWaWlp\nZGVlmR2KcFByDNkn1zm7WSDhpwSazWpG2tk0vgv8jnfav2P1RCA6Otqq7VlTZGQkEydOZPLkyQQG\nBpaqLXt+ndbmSq/VFbjK+ymvU4AkA3+Qq3OZtH4SnRZ0onGtxqQEpfB0vadtsi97PTBjY2MZOXIk\nISEhjB07ttTt2evrtAVXeq2uwFXeT3mdAmSY4Ddnfj1Dv9h+fHfkO8Z3GM+77d/FrZyb2WGVKaku\nKIQQrkmSASDpWBL+Mf5k52YTHxhPp/qdzA6pzO3evVuqCwohhIty6U/8XJ3L5I2T6TivIw/XfJiU\noBSXTATS09Px9fWlbt26Ul1QCCFckL31DLgD7Nu3z+Y7unjtIuMTxrP5+GYGNxtMUJMgTh88zWlO\n23zfABkZGezcubNM9nW7OAYPHkxubi4REREcOnTI6u3bw+ssC67wWvP/Nsvib9RsrvB+Qtm/TrOO\nIVd4Pwv8n7pbuq3SWls3mlJQSgUAX5odhxBCCOHA+mqtF1qygb0lA3cBXYCjgFyEKoQQQhSfO1AX\n+EZrfd6SDe0qGRBCCCFE2XPpCYRCCCGEkGRACCGEcHmSDAghhBAuTpIBIYQQwsU5TDKglBqjlJpq\ndhy2oJR6TCmVqJTarpTaqJR6yuyYbEEp9bBSao1SaodSaqtSqpfZMdmSUmq8UqqF2XFYk1JqqFIq\nVSmVopQaaHY8tqSUqq+Umm52HLailKqglPow7+9xm1LqE6VUZbPjsjalVBWlVGTe69yulJqglHPf\ngjbvs9aiojEO8R+ilGoEjAGqmR2LtSmlqgELgCFa61ZAb+BjpdT95kZmXUqp8sBS4G2tdUugM/CK\nUsrb3MhsQylVHeO9dJpyjkqp1hivqSXwBDBAKdXS3KhsahBQxewgbOhNjCvKWmqtvYEjwD9NjskW\nPgT2533ueAO1gNHmhmQ7yripzKfA3ZZsZ/fJQN4L+zcw0exYbKQNkKC1PgygtT4JzAOeNTUq6/ME\nDmmtkwG01peB6cCLpkZlA0qpZ4FkjOt9nUkQMF5rna21vg68Cww3OSary/vGvAN42exYbOx5/vi5\n+i/AGeuxd9JaTwfQxrX0YUBPc0OyqaHAVuCMJRvZfTIAjASSgL1mB2IjacDnhZaVx/5KRZfWDYz3\nsaAKgNMVutBax2mtGwCLzY7FylpjfMjk2wI8aVIsNqO1vpn3LbK32bHY2Fat9ZVCy5zxVq1jCj0v\nj3O+TpRSDwBDMJI8i247a9cnHKVUHSAQ4wOnjcnh2ITW+jhwPP+5UsoTo3vyadOCsgGt9QHgQP5z\npZQbxjevcLNiKgNOcw/ovLHkq7pAlTKtdY5SKlMpVVFrfcPE8EQJaK1HFlo0AFhvRiy2pLX+Ov/f\necfxFMCiUr0O5BNgjNb6hqW3oLf3noFPgdFa65tmB2JrSqnaeV2Tu4FVecMFTkkpdSewCFintd5g\ndjyiWGoAl2+x/DJQs4xjEVamlBqC8SWk8Ldop6GUmgGcxPhiOdfkcKxOKdUHOKm13pi3yKJe1zLv\nGVBKBQMDuXWgCsgBngN8gcNa6+8L/d4hFPd15teP1lqfBloqpWoAc5VS/lrr6LKKt6QsfZ15s+tn\nYow9rymrOEvL0tfphC4C1W+xvDpwoYxjEVailLoDmAWcxRhbd9ovXlrrV5VSIcBgYAnGfXCcglKq\nJjAO6FBwsUVt2Ou9CZRS8wEv4HreouoYs0APAf211ta9165JlFJdgFNa6x8KLLsfWKy1bmteZNaX\nNxs9AvBz5p6PfEqpucDnWuvNZsdiDUqp/YBn/lBB3lDPHq21p7mR2YZSqgPG3d+cciKhUqoSsBqY\nobX+r9nx2IJSqirG+eLTQsvjgZFOdB7phnHVxMX8RUAzYCfwldZ6xu3asNs5A1rr/gWfO/EfZgOM\npOeHAstycLKJdXknjilAV631JbPjESWyGeOSwi15z9sAMszjuN4GIp01ESjgZYwh54JyzAjEVrTW\nK4GVBZcppX7UWhd7rp29zxlwBSuAQUqpBvDbBJepGLUHnEknIEkSAYc2CwhXSlVUSrkDE/KWCcfU\nVWvtbFe8/IHW+ipwVCk1NH+ZUupFoKqz9Ar8Bee5mqCQKzjh2KTW+rhSahgwWylVBeMNnK+1drYP\nWU8gQClV+DrmDVrrN8wIqAycBzLMDsJatNZblVKLgO0YPVfT8utGOKnLwDmzg7CFvEm8DyulthVc\nDNzESBKc6bN2ADBNKTUCyAV+BHqYG1KZ+MmSle12zoAQQgghyoYMEwghhBAuTpIBIYQQwsVJMiCE\nEEK4OEkGhBBCCBcnyYAQQgjh4iQZEEIIIVycJANCCCGEi5NkQAghhHBxkgwIIYQQLk6SASGEEMLF\n/T86DlFn1TinegAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-5 진정한 미분(진정한 접선)과 수치 미분(근사로 구한 접선)의 값은 다르다.\n", "# -*- coding: utf-8 -*-\n", "from matplotlib import rc\n", "import matplotlib.font_manager as fm\n", "import matplotlib\n", "#matplotlib.rc('figure', figsize=(16, 4))\n", "# 우분투에 나눔글꼴 설치한 경우 (c9.io) \n", "#fp = fm.FontProperties(fname=\"/usr/share/fonts/truetype/nanum/NanumGothic.ttf\")\n", "# Windows 경우\n", "#fp = fm.FontProperties(fname=\"c:/Windows/Fonts/NanumGothic.ttf\")\n", "fp = fm.FontProperties(fname=\"c:/Windows/Fonts/NGULIM.ttf\")\n", "# MacOS 경우\n", "#fp = fm.FontProperties(fname=\"/Users/plusjune/Library/Fonts/NanumGothic.ttf\")\n", "rc('font', family=fp.get_name())\n", "\n", "x = np.arange(-6.0, 6.0, 0.1)\n", "y1 = sigmoid(x)\n", "a2, b2 = 시그모이드_접선(0)\n", "y2 = a2 * x + b2\n", "a3 = (sigmoid(2.5) - sigmoid(0)) / 2.5\n", "y3 = a3 * x + b2\n", "\n", "plt.plot(x, y1, label='y=f(x)')\n", "plt.plot(x, y2, color='black', label='진정한 접선')\n", "plt.plot(x, y3, color='green', label='근사로 구한 접선')\n", "xv = np.arange(-0.1, 0.5, 0.01)\n", "plt.text(-0.2,0,\"x\")\n", "plt.plot(np.array([0 for _ in range(xv.size)]), xv, 'k--')\n", "xhv = np.arange(-0.1, sigmoid(2.5), 0.01)\n", "plt.text(2,0,\"x+h\")\n", "plt.plot(np.array([2.5 for _ in range(xhv.size)]), xhv, 'k--')\n", "plt.scatter([0],[b2],color='red')\n", "\n", "plt.ylim(-0.1,1.1)\n", "plt.xlim(-4,4)\n", "plt.legend(loc='upper center')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "위 그래프처럼 수치 미분에는 오차가 포함\n", "\n", "중심차분, 중앙차분: 이 오차를 줄이기 위해 (x+h)와 (x-h)일 때의 함수 f의 차분을 계산하는 방법을 사용\n", "\n", "전방차분: (x+h)와 x의 차분\n", "\n", "위의 2가지 개선점을 적용한 수치 미분 구현" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def numerical_diff(f, x):\n", " h = 1e-4 # 0.0001\n", " return (f(x+h) - f(x-h)) / (2*h)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "수치 미분: 아주 작은 차분으로 미분을 구하는 것\n", "\n", "해석적(analytic) 해: 수식을 전개해 미분을 구하는 것\n", "\n", "해석적 미분은 오차를 포함하지 않는 '진정한 미분' 값을 구함" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3.2 수치 미분의 예\n", "간단한 함수 미분 예시\n", "\n", "2차 함수\n", "\n", "\\begin{equation*}\n", "y = 0.01x^{2} + 0.1x\n", "\\end{equation*}" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def function_1(x):\n", " return 0.01*x**2 + 0.1*x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이 함수 그래프로 그리기" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg8AAAF3CAYAAAAivKiTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XeYldWhtvF7qSi2cOwt5uCJKZjEAnaNGEVUxCPYR1Aj\nYsMW/CxRoya2c5JYYkVRsaGDDUXFwhEBCyjC2MVYEhKJxqDBQVHasL4/FiSIoDPMnlnv3vv+XRcX\nzDvDnsdr+8LDelcJMUYkSZIaa5ncASRJUnmxPEiSpCaxPEiSpCaxPEiSpCaxPEiSpCaxPEiSpCax\nPEiSpCaxPEiSpCaxPEiSpCYpTHkIIewdQnghhDAxhPBYCGHd3JkkSdJXhSJsTx1C+CFwK9A1xlgf\nQjgE6BljPCBzNEmStIiijDz8Ajgrxlg//+Na4L2MeSRJ0hIUZeShDtg6xjg3dxZJkvT1so88hBCW\nB9oAPUIIo0IIE0IIV4UQvpU7myRJ+qrs5QFYHfgOsBuwJ7AV8BowKGcoSZK0eNkfW4QQNgQmABss\n/NgihPA80C3G+PFC19YAdgcmAzNbOaokSeWsLdAeeHzhv1uXxnIlidM8nwJvL2a+w2RgQ2Dh/8Dd\ngTtaKZckSZWoF3Bnc14ge3mIMX4SQlghhLBsjLFhoU99H/jLIl8+GWDw4MF06NChtSKqBfXv35/L\nL788dwyVkO9pZfH9LH/XXgubbALrrDOJ3r17w/y/S5sje3mYbwRwQQjh7BhjDCEcC7wbY5y2yNfN\nBOjQoQMdO3Zs9ZAqvXbt2vleVhjf08ri+1neLrkEbroJ/vAHWOjf3M1+7F+ECZMAFwDtgNfmz3XY\nGuibN5IkSeXr1lvhtNPgrLPg5JNL+9qFGHmIMc4Ejs+dQ5KkSvDww3DkkdC3L1x4YelfvygjD5Ik\nqQSefRYOPBD23hsGDIAQSv89LA/KqqamJncElZjvaWXx/Swvr70G3bvD1ltDbS0s10LPF7Lv89AU\nIYSOwMSJEyc6gUeSpIX85S+w/faw1lowZgy0a/flz9fV1dGpUyeATjHGuuZ8L0ceJEkqc1OnQteu\n0LYtPPbYV4tDqRViwqQkSVo6n34K3bpBfX2a77Duui3/PS0PkiSVqVmzYN994a23YPRo+O53W+f7\nWh4kSSpDDQ1w+OHw9NPpUcUWW7Te97Y8SJJUZmJMGz/dcw/cey/svHPrfn/LgyRJZeaCC+Caa2Dg\nQOjZs/W/v6stJEkqIwMGwHnnwUUXwVFH5clgeZAkqUzU1sLxx6dHFmeemS+H5UGSpDIwfDgcdlia\nJHnZZS2z7XRjWR4kSSq4MWNg//3TeRU33ADLZP7b2/IgSVKBTZiQSsMOO8Cdd7bceRVNYXmQJKmg\nJk2CPfaATTaBBx5I208XgeVBkqQCmjwZdtsN1lsPHnkEVlkld6J/szxIklQwf/97Kg4rrAAjRsDq\nq+dO9GUFeHIiSZIWmDYNdt8dZsxIB12tt17uRF9leZAkqSBmzIC99oIpU+Cpp2CjjXInWjzLgyRJ\nBbDghMxXX4WRI+FHP8qdaMksD5IkZdbQAL17p/0cHnkEtt46d6KvZ3mQJCmjGOGYY+D+++G++2CX\nXXIn+maWB0mSMokRTjsNbroJbr0V9tknd6LGcammJEmZXHwxXHopXHllOreiXFgeJEnK4Oqr4Ve/\ngt/8Bk48MXeaprE8SJLUygYNSoWhf38455zcaZrO8iBJUiuqrYW+fdMkyUsvzXu09tKyPEiS1Eoe\neAAOPTQty7z22vIsDmB5kCSpVTz+OBx0UNoIatAgWKaM/wYu4+iSJJWHMWOgR4902NXgwbBcmW+U\nYHmQJKkFPfccdO8OO+wA994Lyy+fO1HzWR4kSWohL70Ee+4Jm20Gw4ZB27a5E5WG5UGSpBbwxhvp\nMcXGG8Pw4bDyyrkTlY7lQZKkEnvnHejSBdZdFx57DNq1y52otCwPkiSV0F//CrvuCquuCk88AWus\nkTtR6VkeJEkqkQ8+SMVh2WVh5EhYZ53ciVpGmS8WkSSpGD76KD2q+OILePpp+Pa3cydqOZYHSZKa\n6ZNPoGvXVCCeego22ih3opZleZAkqRk++wy6dYPJk2H0aPjBD3InanmWB0mSltKMGbDXXvDaa2mO\nw6ab5k7UOrJPmAwhbB5C+DCEMD6E8ML8n4/NnUuSpK/z+eew995QV5fOrdhqq9yJWk8RRh7aA1fG\nGC/KHUSSpMaYOTOdVTF+fNrHYbvtcidqXUUpD3/OHUKSpMaYNQt69oRnnoFHH4Udd8ydqPVlf2wB\nbARMzh1CkqRvMmsW7Ldfmhj50EPQuXPuRHkUoTy0B7qHEEaGEF4OIZwXQihCLkmS/mXOHDjooLRr\n5LBhaTOoalWEv6TXBz6IMe4KbAtsCJyTN5IkSf82Zw7U1KTHFEOHpj0dqlkR5jx0izFOBYgxfhFC\nOAF4HfjNkn5D//79abfIKSM1NTXU1NS0aFBJUvWZOxd694YHH4T77kt7OhRdbW0ttbW1X7pWX19f\nstcPMcaSvViphBDGA7vHGKctcr0jMHHixIl07NgxTzhJUtVoaIDDDoO7704/evbMnWjp1dXV0alT\nJ4BOMca65rxW1scWIYR1QghHLHJtBWDtRYuDJEmtqaEB+vSBu+6C2tryLg6llnvOw3TglyGETQBC\nCMsBlwDDsqaSJFW1efPg6KNh8OD0Y//9cycqlqzlIcb4BVADXBNCmEia6wBwer5UkqRqNm8eHHss\n3Hwz3HorHHxw7kTFk33C5PznLj/LnUOSpBjhhBPgxhtTeejdO3eiYspeHiRJKoIY4Re/gAEDUnk4\n/PDciYor95wHSZKyixFOOQWuvBKuuw6OPDJ3omJz5EGSVNVihJNPhquugmuvhWOOyZ2o+CwPkqSq\nFSOceCJcc00acbA4NI7lQZJUlebNS5MjBwyAgQPhqKNyJyoflgdJUtWZNw/69Uul4cYbnePQVJYH\nSVJVWbCPw403wk03wRFHfPPv0ZdZHiRJVWPBzpGDBqV9HFyOuXQsD5KkqjBvHvTtm3aNvPVWOPTQ\n3InKl+VBklTxGhrSvIbbb4fbboNevXInKm+WB0lSRWtoSPMa7rgjHXJVU5M7UfmzPEiSKlZDQ5rX\nMGQI3HknHHRQ7kSVwfIgSapIc+em4nDXXVBbCwcckDtR5bA8SJIqzty5aULkvfem8rDffrkTVRbL\ngySposyZk47SHjoU7r4bevbMnajyWB4kSRVj1qw0IfLhh+Gee6BHj9yJKpPlQZJUEWbOTI8nRo6E\n+++HvfbKnahyWR4kSWVvxow0yvDss/DQQ7DbbrkTVTbLgySprH36aRplePFFePRR6Nw5d6LKZ3mQ\nJJWtTz6BPfeEN96AESNgu+1yJ6oOlgdJUln6+GPo2hUmT4Ynn4ROnXInqh6WB0lS2fnwQ+jSJf08\nahRsumnuRNXF8iBJKit/+xvsuitMnw5jxkCHDrkTVR/LgySpbPzlL7DLLmkjqKeego03zp2oOi2T\nO4AkSY3xzjuw007p1xaHvCwPkqTCe/PNVBzatk3FoX373Imqm+VBklRoL7+c9m5YffU0x2GDDXIn\nkuVBklRY48bBzjvDhhvC6NGw7rq5EwksD5Kkgho5Mm0z/eMfp1+vuWbuRFrA8iBJKpyHHkpbTu+4\nIzz+OLRrlzuRFmZ5kCQVSm0t9OwJ3bvDsGGw0kq5E2lRlgdJUmEMHAi9esGhh8KQIbDCCrkTaXEs\nD5KkQrj0UjjmGDjhBLjpJljObQwLy/IgScoqRjj3XDj1VDj7bLjiCljGv50KzV4nScpm3jw45ZRU\nGH77Wzj99NyJ1BiWB0lSFg0NcPTRcPPNcO21cNxxuROpsSwPkqRWN3s29O4NQ4fCbbelX6t8WB4k\nSa1qxgw44IC08dO990KPHrkTqaksD5KkVvPPf6b9G155BYYPhy5dcifS0ijUfNYQwvdCCO/kziFJ\nKr33308HXL31Fjz5pMWhnBVm5CGEEIBrAXcvl6QK88470LUrzJkDTz8NHTrkTqTmKNLIQ1/geeAf\nuYNIkkrn5ZfTGRXLLw/PPmtxqASFKA8hhG8DRwLnAyFzHElSiTz9dHpU8e1vp19/5zu5E6kUClEe\ngKuBU2OMs3MHkSSVxsMPp0cVHTvCqFGw1lq5E6lUspeHEMJBwPsxxmfmX4o580iSmu/229MSzD33\nhEcegVVXzZ1IpZS1PIQQVgfOmP/jX5czxZEklcAVV8Bhh8HPfw533w1t2+ZOpFLLvdpiB2BF4PG0\n2IIAbBhCGAsMiTFeubjf1L9/f9q1a/elazU1NdTU1LRwXEnSkiw44OrCC9MZFf/7vxD852AWtbW1\n1NbWfulafX19yV4/xFispwQhhLdijN9fwuc6AhMnTpxIx44dWzmZJGlJGhrSUdrXXecBV0VVV1dH\np06dADrFGOua81q5Rx4Wx54qSWVk5sx0NsX998ONN8KRR+ZOpJZWxPLw59wBJEmN88knsM8+MH58\nKg///d+5E6k1FK48xBi75s4gSfpmf/tbWk0xZQo88QTssEPuRGothSsPkqTimzQJ9tgjTZJ85hnY\nZJPcidSasu/zIEkqL+PGpe2mV10Vxo61OFQjy4MkqdEefhh23TUVhqefTttOq/pYHiRJjTJoUNo1\nco89YMQIWG213ImUi+VBkvS1YoSLLkpLMPv2hXvugRVXzJ1KOVkeJElLtGDzp1/9Cs4/HwYMgGWX\nzZ1KubnaQpK0WAtv/jRwIBx1VO5EKgrLgyTpK6ZNS/Mb3PxJi2N5kCR9yV/+kjZ/+sc/YORI2H77\n3IlUNM55kCT9S10dbLstzJqV9nCwOGhxLA+SJAAefRR22gk23DBtBPX9xZ5vLFkeJEnADTfA3nvD\nLrvAqFGw9tq5E6nILA+SVMVihHPOgaOPhmOOSZMjV145dyoVnRMmJalKzZ6dNn26/Xb43e/g1FMh\nhNypVA4sD5JUherrYb/90vkUtbVw8MG5E6mcWB4kqcq89x506wZTpqQzKjp3zp1I5cbyIElV5JVX\nUnFYbrm0FLNDh9yJVI6cMClJVeL//g923BHWWSctxbQ4aGlZHiSpCgwcmHaN/OlPYcwYWG+93IlU\nziwPklTB5s2D005LyzCPOw6GDYNVVsmdSuXOOQ+SVKE+/zydivnAA3DFFXDSSbkTqVJYHiSpAn3w\nQToJc9KkNNqw9965E6mSWB4kqcK8+irstRc0NKR9HLbYInciVRrnPEhSBXnsMdhhB1hjDRg/3uKg\nlmF5kKQKMWBAGnHo3DmNOGywQe5EqlSWB0kqcw0NcMop0K8fnHBCmiDpigq1JOc8SFIZmzEDDjkE\nHn4YrroqlQeppVkeJKlMTZkC++wDb70FDz2Utp2WWoPlQZLK0Pjx0KNHOqPimWdgs81yJ1I1cc6D\nJJWZIUPSpMj//M9UIiwOam2WB0kqE/PmwXnnQU0N7L8/jBoF666bO5WqkY8tJKkMfP45HH443Hsv\nXHwx/PKXEELuVKpWlgdJKrgFEyPffBOGDoWePXMnUrWzPEhSgS08MfLZZ2HzzXMnkpzzIEmFtejE\nSIuDisLyIEkFM28enHuuEyNVXD62kKQCmTEjTYy87z4nRqq4LA+SVBB//Wua3/DHPzoxUsVmeZCk\nAnjqqfSIYqWVYOxYN35SsTW5PIQQlgN2AXYE/gtYDZgJ/BN4GRgdY3ytlCElqZINGAAnnQQ77gj3\n3ANrrpk7kfT1Gl0eQgirAmcA+wFPAk8DDwL1QFtgbaAjMHB+wTgjxjiqka+9EnAZsCUQgUeA38QY\n5zX+P0WSysvs2XDiiTBwYPr50kuhTZvcqaRv1qjyEEJYBXgeuAHYIsY4cwlfOhL4fQhhO+DaEMIl\nMcY7GvEtfge8GWM8NoQQgGuAX5AKhSRVnA8/hP32gxdegJtugj59cieSGq9R5SHG+FkI4UcxxtjI\nrx8XQugILNvIHF1ijCfM/70xhHAeMAzLg6QKNGFCmgw5dy6MHg3bbZc7kdQ0jd7nYdHiMH+EYLFC\nCOsBy8QY5zby5U9d5OPlaHzxkKSycccd8NOfwnrrpRJhcVA5as4mURNCCCcufCGEsFwI4WxgNLBe\nY18oxvjwQq+xIvB74M5mZJOkQmlogNNOg9694aCD0uqKDTbInUpaOs0pD7sAm4YQRoUQ2ocQtgHG\nA98COsYYpzT1BUMIVwLvA9sDNzcjmyQVxrRp0K0bXHYZXH453HwztG2bO5W09JZ6n4cYYz1wVAhh\nL+AV4DOga3OWacYYTwohnAz0Ae4Bdl/a15KkInjttTS/4eOP4fHHoUuX3Imk5mvWJlEhhK2BC4EL\nSHs+XB1CODbG+GYTXmMV4LAY47Xwr7kVN4UQDgohbBxjfGfR39O/f3/atWv3pWs1NTXU1NQ0479G\nkkrr7rvTKoqNNkqrKr773dyJVC1qa2upra390rX6+vqSvX5o5AKKr/7GEC4CugB9Yoyvz7/WmbTM\ncihpn4aGRrzOKsAzMcbNF7n+KHDiwuVh/gqOiRMnTqRjx45LlVuSWtrcuXDmmXDJJXDwwXDjjbDy\nyrlTqdrV1dXRqVMngE4xxrrmvFZz5jy8Cey4oDgAxBjHAFsBs4FGnQEXY/wMmBxC6LvgWgihJ7DK\n4kYdJKnIpk6Frl3T3IbLL4c777Q4qPI0Z87D7Uu4/gXpUQYhhNDIvSEOBy4LIRwHzAPeAvZd2myS\nlMMLL6SNn2bNgpEjoXPn3ImkltGokYcQwiohhDdCCMfN33r6m75+sxDC88AhjXn9GGN9jPHIGGOn\nGONWMcZeMcapjfm9klQEN92UzqZYf32YONHioMrWlB0mdwR+BbwWQhgOPAO8A0wHViCdbbEF0ANY\nCzgzxji8RVJLUkHMmpUOtRo4EI45Bq64AlZYIXcqqWU1+rFFjPGfwCkhhF8Be5L2YugFtANmAR8D\nr5FKw/gWyCpJhTJlSnpM8fLLnk+h6tKkOQ8hhFVjjJ8C94UQRsz/tSRVndGj006RK6wAzzwDW26Z\nO5HUepq62uL/Fvr1I6UMIknlIMa0iqJLF/jxj9P8BouDqk1TV1t8EUIYQ1qKuVkIYcQSvm5qjLFX\n86JJUrFMn54eTdx3Xzqn4uKLYblmbbUnlaem/m/fBVifdOLlUOCoJXzd580JJUlF8+qraX7Dhx/C\n0KFpy2mpWjWpPMzfMfI9gBBC9xjj+y2SSpIK5NZb4bjj4PvfT48pNt44dyIpr6XeYdLiIKnSzZwJ\nRx0FP/85HHIIjBtncZCgmQdjSVKlevddOOAAmDQJBg2CI47InUgqjuacbSFJFWnYMOjUCT79FJ57\nzuIgLcryIEnzzZ0Lp58OPXrArrvChAmw2Wa5U0nF42MLSQI++CBt+jRuHFx2GfziFxBC7lRSMVke\nJFW9UaOgpgaWXTbtHLnDDrkTScXmYwtJVauhAX796/SI4sc/hhdftDhIjeHIg6Sq9P770KsXPPUU\nnH8+nHlmGnmQ9M0sD5KqzogR0Ls3tGkDTz4JnTvnTiSVFx9bSKoac+fCWWfB7runpZgvvWRxkJaG\nIw+SqsJ776VJkc89B7/9LZx6KizjP5+kpWJ5kFTxhg+Hww6DlVdOcxy23z53Iqm82bslVaw5c9II\nQ/fuaRXFiy9aHKRScORBUkWaPBkOPhjq6tz0SSo1y4OkinPvvek0zP/4D3jmGdh669yJpMriYwtJ\nFWPGjFQaDjgAunRJjyksDlLpOfIgqSK89FJaTfHXv8KNN0KfPj6mkFqKIw+SylqM8Ic/wDbbQNu2\naY7DkUdaHKSWZHmQVLb+8Q/Yay/o3x+OPz7t4fCDH+ROJVU+H1tIKkuPPw6HH55GHh59FPbYI3ci\nqXo48iCprMyaBf/v/6WysMUW8MorFgeptTnyIKls/PGPcMgh8Oqrae+Gk092i2kpB287SYUXIwwa\nBB07puWYzz+f5jlYHKQ8vPUkFdrUqbDvvmkFRU0NTJyYHldIysfHFpIK65FH0n4Nc+fC/fdDjx65\nE0kCRx4kFdDnn0O/fmkZZseOaY6DxUEqDkceJBXKhAnQqxe89x5ccw0cd5wbPklF48iDpEKYOxcu\nvBC22w5WXTWdS9Gvn8VBKiJHHiRl9+67cOihaRXFWWfBuedCmza5U0laEsuDpGwWLMH8xS9g7bXh\n6adh++1zp5L0TXxsISmLBUsw+/aFAw9Mp2JaHKTy4MiDpFY3dCgceyzMm5d+3bNn7kSSmsKRB0mt\nZto06N0b9tsvjTK8/rrFQSpHhRh5CCG0AS4CdgHmAeOB02KMX2QNJqlkHn00PaKYMQNuuy2VCFdS\nSOWpKCMPZwIhxrhljHFr4E/AJZkzSSqB6dPhqKOgWzf4yU/gtdfSygqLg1S+CjHyAOwD7LzQx5cD\nb+aJIqlUnnwSjjgC/vlPuP76VCIsDVL5K8rIw/Mxxk8XubZsliSSmm3GDDjpJNh1V9hoI3jlFTj6\naIuDVCkKMfIQY+y3yKXDgTE5skhqnrFj4fDDYcoUuOIKOOEEj86WKk3hbukQwpHAEcCpubNIarwv\nvoDTT4cdd4Q110z7Npx0ksVBqkSFGHkACCGsDFwPTAW6xBjnLOlr+/fvT7t27b50raamhpqampYN\nKWmxnn02HZ09eTJcfDGcdhos64NHKZva2lpqa2u/dK2+vr5krx9ijCV7saUOEcIKwKPAlTHGB77m\n6zoCEydOnEjHjh1bLZ+kxfvsMzj7bLjqKthmm7TVdIcOuVNJWpy6ujo6deoE0CnGWNec1yrKyMPZ\nwHVfVxwkFcvIkWnfhg8/hEsvTY8oHG2QqkNRnkZ2jzHenTuEpG9WX59WTnTpAu3bp5UU/ftbHKRq\nkn3kIYTwH8D3QgjjF74MzCGVin/mSSZpUcOHwzHHpAIxYEAqEU6IlKpP9vIQY/wEWDV3DklL9vHH\naXTh9tth991h4ED4zndyp5KUS/byIKnY7rsP+vWD2bPhllvgsMPc7Emqdg44Slqs99+H/fdPP7bf\nHt54I23+ZHGQZHmQ9CXz5sF116Ull08/DUOGwNChsN56uZNJKgrLg6R/eeMN2GknOO44OPBAePNN\nOOggRxskfZnlQRIzZ8K558Lmm8PUqTB6NNxwA6y2Wu5kkorICZNSlRszJi2//NOf4Je/hLPOgrZt\nc6eSVGSOPEhVato0OOoo2Hnnfx9kdf75FgdJ38yRB6nKxAh33w0nn5xOwnSzJ0lN5R8XUhWZPBm6\nd4eDD05HZ0+aBMcea3GQ1DT+kSFVgdmz01HZm2ySzqJ44AG4915Yf/3cySSVIx9bSBXuySfh+OPh\n7bfTFtPnnQerrJI7laRy5siDVKH+/nfo3Rt23TVNiHzxRfj97y0OkprP8iBVmIYGuOYa+OEP4bHH\nYNCgtBzzJz/JnUxSpbA8SBVkwgTYZhs44YS0Q+Qf/whHHOGESEml5R8pUgX45JM0r2HrrWHuXBg3\nLh2bvcYauZNJqkROmJTKWIwweDCcemras+Hyy1OJWM47W1ILcuRBKlN1dWmvhsMOS7tEvvlm2vjJ\n4iCppVkepDLz0UdpY6ctt4T6ehg5Eu66yz0bJLUe/40ilYm5c+H66+Gcc2DePPjDH6BfP0caJLU+\nRx6kMvDUU9CpE5x4Iuy7L7z1Fpx0ksVBUh6WB6nApkyBQw6Bzp1hxRXh+efhxhth7bVzJ5NUzSwP\nUgHNmgX/8z9po6eRI+Hmm2HsWNhqq9zJJMk5D1KhxAgPPwynnJJOwDzxxHQWRbt2uZNJ0r858iAV\nxCuvwG67wX//N7RvDy+/DJddZnGQVDyWBymzDz+Eo4+GLbZIcxweeghGjEjHZ0tSEfnYQspk5sy0\n3PLii9Oqicsvh+OOgzZtcieTpK9neZBaWYxwzz1wxhlppOH44+Hcc2H11XMnk6TGsTxIreiFF6B/\nf3j2Wdh773Rk9g9+kDuVJDWNcx6kVjBlChx6aDr18tNP4Ykn4MEHLQ6SypMjD1ILqq+H3/0uzWdY\nddV0THafPrDssrmTSdLSszxILWD2bLjuOrjgApgxIz2qOOMM+Na3cieTpOazPEglNG8e3H03nH12\n2uSpTx/49a9hgw1yJ5Ok0nHOg1Qio0bBNttATQ386Efw6qtwww0WB0mVx/IgNdOrr0K3brDLLrDM\nMjBmTJoM6SZPkiqV5UFaSu+9B0ccAZttBm+/nfZueO452Gmn3MkkqWU550Fqoo8/TisorrwyraC4\n6qq0vbQ7Q0qqFpYHqZE+/TRtJ33JJdDQAKedBqee6goKSdXH8iB9gy++gAED4H/+B6ZPh3794Mwz\nYe21cyeTpDwsD9ISzJkDgwbB+eenky/79IFzzoENN8ydTJLyKtSEyRDCf4UQ/pA7h6pbQwMMHgw/\n/GE65XLnnWHSpLQ7pMVBkgpWHoAjgJVyh1B1ihEeeCCtnjj0UPjxj+Gll+COO+B738udTpKKoxDl\nIYTQJoQwATg6dxZVnxjh8cdh222hZ09Yd10YNw6GDYNNN82dTpKKpxDlIcY4J8a4JXBg7iyqHgtK\nw/bbwx57pA2enngi/dh229zpJKm4ClEepNa0aGkAeOwxGDsWdt01bzZJKgeWB1WNrysNu+8OIeTN\nJ0nlwvKgimdpkKTSKst9Hvr370+7du2+dK2mpoaamppMiVREMcKIEelI7OeeS/MYHnsMuna1MEiq\nbLW1tdTW1n7pWn19fcleP8QYS/ZizRVC6Az0ijEudtVFCKEjMHHixIl07NixdcOpbMQIw4fDRRf9\nuzT8+teWBknVra6ujk6dOgF0ijHWNee1fGyhitHQAEOGwOabw957w7LL+nhCklpC0crDdOCj3CFU\nXmbPhptuSjtC1tTAeuvBmDHwzDOWBklqCYWa8xBjfBF4MXcOlYfPP4cbb4Tf/x6mTIF9900jD2lU\nTpLUUgpVHqTG+OQTuPZauPxymDYNevWCM86ATTbJnUySqoPlQWXjH/+AK66Aq6+GWbPSKZennw7t\n2+dOJknVxfKgwnvrLbjsMrj1VlhuuXTSZf/+aW6DJKn1WR5UWGPHpvkMw4bB2mvDOefAscfC6qvn\nTiZJ1c0C0Ty8AAAKgUlEQVTyoEJpaIAHH0ylYdy4tIJi4EDo3Rvats2dTpIExVuqqSr1xRdw/fXQ\noUNaNdGmTSoRr78OfftaHCSpSBx5UFYffZRWTlx9NXz8cSoOt98O22yTO5kkaUksD8ri9dfhqqvg\nttvSx336pEmQ3/1u3lySpG9meVCrmTcPHnkkLbd84om0WuKss9IkyDXXzJ1OktRYlge1uOnT4ZZb\n0kjDO+/A1lvDHXfA/vvD8svnTidJairLg1rMu++mwjBoUJoQecABMHiw8xkkqdxZHlRSMcLIkenR\nxPDhsMYacNJJaWOnDTbInU6SVAqWB5VEfX1aJTFgALzxBmy6aTq0qqYGVlwxdzpJUilZHtQsL72U\nCsMdd8DMmdCjB1xzDXTu7FHYklSpLA9qspkz4e67U2l47rn0OOL009NmTuuvnzudJKmlWR7UaO++\nC9ddBzffnDZ02m03uP9+6N49HVglSaoO/pGvrzV3bpr4eO21MGIErLZa2tDpmGPge9/LnU6SlIPl\nQYv17rtpieUtt8D776fllbfcAgce6ARISap2lgf9yxdfwNChcNNNMGoUtGsHvXrBkUdCx46500mS\nisLyIF56KRWGwYPhk0/SSonbb0+HVK20Uu50kqSisTxUqfp6uPPOVBomToR1101nTPTp41wGSdLX\nszxUkYYGGD0abr0V7r0XZs+Gbt3g3HNhzz2hTZvcCSVJ5cDyUAXeeCM9hhg8GKZMgY03hnPOgcMP\nd18GSVLTWR4q1NSpMGQI3HYbTJiQllgedBAcdhhsu627P0qSlp7loYLMnAkPP5wKw6OPpmt77QVn\nnpl+XmGFvPkkSZXB8lDm5s2DsWPTI4m77kqrJbbaCi6/HA4+GNZcM3dCSVKlsTyUoRihri49lrjr\nLnjvPdhwQ+jXDw49FH74w9wJJUmVzPJQRt54IxWGIUPg7bdhrbXggAPSCMMOO8Ayy+ROKEmqBpaH\ngnv33TS6MGQIvPpq2vVxv/3Ssdc/+5kHUkmSWp9/9RTQX/8K992XCsP48WmXx332gQsvhN13d+Kj\nJCkvy0NBvP12KgxDh8ILL6SC0K1bGnXYay9YeeXcCSVJSiwPmcSYHkMMHZpKw2uvpRGGbt2gf/9U\nGL71rdwpJUn6KstDK4oxjSosGGF45500h2HvveGCC6BrVw+ikiQVn+Whhc2eDU89BQ8+CPffn7aH\nXnNN6NEDrroKdtkFll8+d0pJkhrP8tACPvoIHnkEHnoIHn8cPv007cPQs2c65nrHHV0lIUkqX/4V\nVgIxpj0YHn44FYZx49LOj1tvDaefnh5LbLqp50lIkiqD5WEpLXgc8dBD6cef/5zmK3TtCjfckCY+\nrrtu7pSSJJWe5aEJ3nkHHnssPYoYNQpmzEiPI/beG7p3T5s2tW2bO6UkSS3L8vA1pk9PJeHxx9OP\nP/0J2rRJW0H/6lew554+jpAkVR/Lw0LmzYMXX/x3WRg7FubOhY03TkVh993T6MIqq+ROKklSPoUp\nDyGEvsAJQASuiDHe0tLfM8a0s+OTT6YRhlGjYOrUVA522QWuuCIVhu9+t6WTSJJUPgpxDmMIYTvg\nQGBLYFvg8BDCli3xvSZPhkGD0tHV3/42/OAHcMIJ6TyJvn1h9Gj4+GMYNiwdcW1xaFm1tbW5I6jE\nfE8ri++nFqcQ5QE4Bjg3xjg3xjgLOAc4thQv/Le/weDB0KcPbLRR+tG3L0yaBIccAsOHw7RpaXnl\nxRdD585u2tSa/IOp8vieVhbfTy1OUR5bbAccsdDH44CbmvoiMcJbb8Gzz8Izz6Qfb7+dPveTn6ST\nKX/2M9hpJ1httZLkliSp6mQvDyGEFYHPYoxxwbUYY0MI4fMQwvIxxtlL+r2zZ0Nd3b/LwrPPpjkL\nyyyTVkF07QoXXQQ77wxrrdUa/zWSJFW+7OUBWA2Yvpjr04HVgb8v+olrroF334Xnn4eZM2HFFWHb\nbeHYY9PWz9tu64mUkiS1lCKUh2lAu8Vcbwf8c5FrbQHuuWcSW26ZJjRuvnma9LjwWRHvvNNSUVVq\n9fX11NXV5Y6hEvI9rSy+n5Vj0qRJC37Z7O0Mw0JPC7IJIbwJdFjw6CKEsCzwWoyxwyJfdwhwR4aI\nkiRVil4xxjub8wJFGHkAGEtaojlu/sfbA08v5useB3oBk4GZrZJMkqTK0BZoT/q7tFmKMvKwDXA+\nsDdp+egjwGkxxolZg0mSpK8oxMhDjPH5EMJdwAukHSYvszhIklRMhRh5kCRJ5aMoO0w2Sgihbwjh\npRDCiyGEn+fOo6UXQtg8hPBhCGF8COGF+T+XZFdRta4Qwn+FEP6wmOver2Voce+n92v5CSG0CSH8\nLoQwYf77dXUIYaWFPt+s+7MQjy0aY5HzL5YFHgshvBZjnJA3mZZSe+DKGONFuYOo2Y4AVlr4gvdr\nWfvK+4n3azk6k/R0YUuAEMIpwO+B40MI29PM+7OcRh5a7PwLZdEe+HPuEFp68/9lMwE4ejGf9n4t\nM9/wfrbH+7Xc7ENaiLDA5cCu8399NM28P8upPGwHPL/Qx+OAn2bKoubbiLTkVmUqxjhn/r9qDlzM\np71fy8w3vJ/er+Xn+Rjjp4tcW/C0odn3Z1mUhyWdfwF8HkLwDMzy1B7oHkIYGUJ4OYRwXgihLP5/\n1Nfzfq1I7fF+LSsxxn6LXDocGFOq+7Nc3vxvOv9C5Wd94IMY466kDcI2JA2dqfx5v1Ye79cyFkI4\nkjSX5VRKdH+Wy4TJppx/ofLQLcY4FSDG+EUI4QTgdeA3eWOpBLxfK4/3axkKIawMXA9MBbrEGOeE\nEGZSgvuzLEYeYoxfACuFEMKCa/PPv1jh647sVnEt+INooY9nAh+HEFbLFEkl4v1aebxfy08IYQXg\nIeDeGGP/GOMcKN39WRblYb4F518ssKTzL1RwIYR1QghHLHJtBWDtGOO0TLFUWt6vFcL7tWydDVwX\nY3xgMZ9r9v1ZTuXheuDXIYTlQwhtScNl12fOpKUzHfhlCGETgBDCcsAlwLCsqVRK3q+Vw/u1PHWP\nMd69hM81+/4slzkPnn9RQeY/M60BrgkhfAtYBRgBnJ43mZbSdOCjhS94v5a1L72f3q/lJ4TwH8D3\nQgjjF74MzCGVimbfn55tIUmSmqScHltIkqQCsDxIkqQmsTxIkqQmsTxIkqQmsTxIkqQmsTxIkqQm\nsTxIkqQmsTxIkqQmsTxIkqQmsTxIkqQmsTxIkqQmsTxIarYQwqEhhIsW+rhdCGFiCCHkzCWpZVge\nJJXCEKBLCGHr+R9fAtwSPXlPqkiWB0nNFmOcA/QBrg8h7AVsHGO8KnMsSS1kudwBJFWGGOPrIYQ7\ngVpg09x5JLUcRx4kldJ/AZ8B6+QOIqnlWB4klUQIoTPQAegKDAghOLIpVajgfCZJzRVCWBF4Adg/\nxvhmCOG3wPQY40Xf8FsllSHLg6RmCyH8Clg+xnju/I9XBuqAnWOMH2QNJ6nkLA+Smi2EsAHw9xhj\nw0LXvg18sPA1SZXB8iBJkprECZOSJKlJLA+SJKlJLA+SJKlJLA+SJKlJLA+SJKlJLA+SJKlJLA+S\nJKlJLA+SJKlJLA+SJKlJLA+SJKlJ/j9m4EMpwe6aMAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-6 식 f(x)=0.01x**2 + 0.1x 그래프\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "x = np.arange(0.0, 20.0, 0.1) # 0에서 20까지 0.1 간격의 배열 x를 만든다.\n", "y = function_1(x)\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"f(x)\")\n", "plt.plot(x,y)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "x = 5, 10일때 미분 계산" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.1999999999990898" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numerical_diff(function_1, 5)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.2999999999986347" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numerical_diff(function_1, 10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "위에서 계산한 미분 값이 x에 대한 f(x)의 변화량\n", "\n", "\\begin{equation*}\n", "y = 0.01x^{2} + 0.1x\n", "\\end{equation*}\n", "\n", "의 해석적 해법은 \n", "\n", "\\begin{equation*}\n", "\\frac{df(x)}{dx} = 0.02x + 0.1\n", "\\end{equation*}\n", "\n", "x가 5, 10일 때 '진정한 미분'은 0.2, 0.3이 됨.\n", "\n", "앞의 수치 미분과 결과를 비교하면 오차가 매우 작음.\n", "\n", "x=5, x=10에서의 접선: 직선의 기울기는 수치 미분에서 구한 값을 사용하였다." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-7 x=5, x=10에서의 접선: 직선의 기울기는 수치 미분에서 구한 값을 사용하였다.\n", "# https://github.com/WegraLee/deep-learning-from-scratch/blob/master/ch04/gradient_1d.py 소스 참고\n", "\n", "def tangent_line(f, x):\n", " d = numerical_diff(f, x)\n", " y = f(x) - d*x\n", " return lambda t: d*t + y\n", "\n", "def draw(ax, x, y, line, tox, toy):\n", " ax.set_xlabel(\"x\")\n", " ax.set_ylabel(\"f(x)\")\n", " ax.plot(x, y)\n", " ax.plot(x, line)\n", " h = np.arange(0, tox, 0.01)\n", " v = np.arange(-1, toy, 0.01)\n", " ax.plot(np.array([tox for _ in range(v.size)]), v, 'k--')\n", " ax.plot(h, np.array([toy for _ in range(h.size)]), 'k--')\n", " ax.scatter(tox,toy,color='red')\n", " ax.set_xlim([0,20])\n", " \n", "x = np.arange(0.0, 20.0, 0.1)\n", "y = function_1(x)\n", "\n", "tf = tangent_line(function_1, 5)\n", "y2 = tf(x)\n", "tf = tangent_line(function_1, 10)\n", "y3 = tf(x)\n", "\n", "f, (ax1, ax2) = plt.subplots(2, 1)\n", "draw(ax1, x, y, y2, 5, function_1(5))\n", "draw(ax2, x, y, y3, 10, function_1(10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3.3 편미분\n", "변수가 다음처럼 2개 이상인 식\n", "\n", "\\begin{equation*}\n", "f(x_{0}, x_{1}) = x_{0}^{2} + x_{1}^{2}\n", "\\end{equation*}\n", "\n", "파이썬으로 다음과 같이 구현가능" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def function_2(x):\n", " return x[0]**2 + x[1]**2\n", " # 또는 return np.sum(x**2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "위 함수를 그래프로 그리기" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAGjCAYAAABzH1KgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXm8VPP/x59z78zdtygRKiqtWhAi0aJEiqJVaZElW7IW\n6VcqUohKSotWSkUkiqSivl/6EsI3S74tov3uM3NnOb8/xmece+4s58yd9fZ5Ph49LnPOnPM558x8\nPq95ryZFUZBIJBKJRCKRxCdJsR6ARCKRSCQSicQ/UqxJJBKJRCKRxDFSrEkkEolEIpHEMVKsSSQS\niUQikcQxUqxJJBKJRCKRxDFSrEkkEolEIpHEMVKsSSQSiUQikcQxUqxJJBKJRCKRxDFmA/vK6rkS\niUQikUgk4cUUbAdpWZNIJBKJRCKJY6RYk0gkEolEIoljpFiTSCQSiUQiiWOkWJNIJBKJRCKJY6RY\nk0gkEolEIoljpFiTSCQSiUQiiWOkWJNIJBKJRCKJY6RYk0gkEolEIoljpFiTSCQSiUQiiWOkWJNI\nJBKJRCKJY6RYk0gkEolEIoljpFiTSCQSiUQiiWOkWJNIJBKJRCKJY6RYk0gkEolEIoljpFiTSCQS\niUQiiWOkWJNIJBKJRCKJY6RYk0gkEolEIoljpFiTSCQSiUQiiWOkWJNIJBKJRCKJY6RYk0gkEolE\nIoljpFiTSCQSiUQiiWOkWJNIJBKJRCKJY6RYk0gkEolEIoljpFiTSCQSiUQiiWPMsR6ARCKJLW63\nG6fTiclkIikpiaSkJEwmU6yHJZFIJJK/kWJNIjlFESLN5XJhs9lQFAWTyYTJZCI5Odn7Twg4KeIk\nEokkNpgURdG7r+4dJRJJfKIoCoqiYLfbcblcJCcnA+BwOBBzgdinrKwMAIvFUs7qJkWcRCKRhJWg\nE6i0rEkkpwBCgAlLWklJCYqikJ2d7d1HWNUEDocDALPZXO794nXxHiHg1H+liJNIJJLwIcWaRFKF\n0Yo0RVG8Ikq4PR0OB3a7vYLIUu/jS3SJYyuKUs4yB3iPIUWcRCKRVB7pBpVIqiCKouB2u3G5XOVE\nGnisYcXFxTidTpKSkrzJBb7mApPJhMViqSDigp1b+08gRZxEIpFUIOjEJ8WaRFKFECLN6XTidrvL\nWdLEdofD4XWDJicnk5aWVk5Qud1u3G53BWuZQC2uKivixHu0iQ2+ji+RSCRVFCnWJJJTAb0izWq1\n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\ngiAkzP8DGuPQGLCZnccAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-8 f(x0, x1) = x0**2 + x1**2 그래프\n", "# 3차원 참고주소: https://www.datascienceschool.net/view-notebook/6e71dbff254542d9b0a054a7c98b34ec/\n", "from mpl_toolkits.mplot3d import Axes3D\n", "X = np.arange(-3, 3, 0.25)\n", "Y = np.arange(-3, 3, 0.25)\n", "XX, YY = np.meshgrid(X, Y)\n", "ZZ = XX**2 + YY**2\n", "\n", "fig = plt.figure()\n", "ax = Axes3D(fig)\n", "ax.plot_surface(XX, YY, ZZ, rstride=1, cstride=1, cmap='hot');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "편미분: 변수가 여럿인 함수에 대한 미분. 어느 변수에 대한 미분이냐를 구별해야 함\n", "\n", "수식으로는 다음처럼 씀\n", "\n", "\\begin{equation*}\n", "\\frac{\\partial f}{\\partial x_{0}}, \\frac{\\partial f}{\\partial x_{1}}\n", "\\end{equation*}\n", "\n", "문제 1: x0=3, x1=4일 때 x0에 대한 편미분을 구하라." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "6.00000000000378" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def function_tmp1(x0):\n", " return x0*x0 + 4.0**2.0\n", "\n", "numerical_diff(function_tmp1, 3.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "문제 2: x0=3, x1=4일 때 x1에 대한 편미분을 구하라." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "7.999999999999119" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def function_tmp2(x1):\n", " return 3.0**2.0 + x1*x1\n", "\n", "numerical_diff(function_tmp2, 4.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "문제 1에서는 x1=4로 고정된 새로운 함수를 정의, 변수가 x0 하나뿐인 함수에 대해 수치 미분함수 적용.\n", "\n", "편미분은 변수가 하나인 미분과 마찬가지로 특정 장소의 기울기를 구함\n", "\n", "목표 변수 하나에 초점을 맞추고 다른 변수는 값을 고정" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4.4 기울기\n", "기울기(gradient): 모든 변수의 편미분을 벡터로 정리한 것.\n", "\n", "\\begin{equation*}\n", "(\\frac{\\partial f}{\\partial x_{0}}, \\frac{\\partial f}{\\partial x_{1}})\n", "\\end{equation*}\n", "\n", "기울기 구현예시" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def _numerical_gradient_no_batch(f, x):\n", " h = 1e-4 # 0.0001\n", " grad = np.zeros_like(x) # x와 형상이 같은 배열을 생성\n", " \n", " for idx in range(x.size):\n", " tmp_val = x[idx]\n", " \n", " # f(x+h) 계산\n", " x[idx] = float(tmp_val) + h\n", " fxh1 = f(x)\n", " \n", " # f(x-h) 계산\n", " x[idx] = tmp_val - h \n", " fxh2 = f(x) \n", " \n", " grad[idx] = (fxh1 - fxh2) / (2*h)\n", " x[idx] = tmp_val # 값 복원\n", " \n", " return grad" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "numerical_gradient(f, x) 동작 방식은 변수가 하나일 때의 수치 미문과 거의 같음\n", "\n", "np.zeros_like(x): x와 형상이 같고 그 원소가 모두 0인 배열을 만듬\n", "\n", "이 함수를 이용하여 세 점 (3,4), (0.2), (3,0)에서 기울기 구하기" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 6., 8.])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_numerical_gradient_no_batch(function_2, np.array([3.0, 4.0]))" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0., 4.])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_numerical_gradient_no_batch(function_2, np.array([0.0, 2.0]))" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 6., 0.])" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_numerical_gradient_no_batch(function_2, np.array([3.0, 0.0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "기울기의 결과에 마이너스를 붙인 벡터 그리기" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\RyanShin\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:531: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.\n", " warnings.warn(\"No labelled objects found. \"\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAF3CAYAAABg/9sEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXlcFXX3x98DooiCGwguiCvkAiooaq6gqbmnlpmZUpqp\nlUtZj2UuT9lmmrtWLmWa+05q4IKAgguLiiigIpuCC8h6We/8/uB37wOIG8z35jLv18tX3mlmPnOc\n7cz5nu85kizLqKioqKioqKg8bRj92wegoqKioqKiolIaqpOioqKioqKi8lSiOikqKioqKioqTyWq\nk6KioqKioqLyVKI6KSoqKioqKipPJaqToqKioqKiovJUojopKioqKioqKk8lqpOioqKioqKi8lSi\nOikqKioqKioqTyXPlJMiSZKJJEk/SpJ0VpKk05IkLZckqfJD1q8iSdJmSZKCJUnykSSpiSGPV0VF\nRUVFRaXsPFNOCjATkGRZbifLsitwDfjpIev/BHjLsuwMTAP+MsAxqqioqKioqCiA9Cz17pEkKQjo\nIcty+v//loDLsiw7lLKuGeAny7JLkWVrgPWyLJ8w1DGrqKioqKiolI1nLZJySuegFMH4Aeu6Ab4l\nlh0ABip+VCoqKioqKiqK80w5KbIsTyqxaAxw/AGr21I4HFSUa/+/XEVFRUVFReUpp8K/fQBlRZKk\n94B3gCEPWKUmkFBiWSpQS+RxqaioqKioqCjDM+ekSJJUBfgFuA30kmU57wGrJgMWJZZVA+4+ZN+1\ngD7AdSC73AeroqKioqLy4mAKNAT+kWX5ge/aJ+GZclIkSaoE7AeWyrK85xGrxwK9SyxrDMQ9ZJs+\nwKayH6GKioqKisoLzygUmk37TDkpwJfA6sdwUAB8gK9LLOsPrH3INtcBJk6cSFJSEhYWFvTv35/G\njRuX5Vgfm/T0dPbs2UNsbCzNmzenX79+mJqaCtWcNGkSL730EllZWQwePJjmzZsL1QO4cuUK27dv\nx9LSkrfffpvKlR9Y4kYxxowZg729PW5ubrz88svC9QC2bNlCTEwMH3zwAdWqVROul5+fz9ChQxk1\nahQjRowQrgcQFxfHhg0bGDx4MK1atTKI5tGjR1m4cCF79+6lQgXDPLpWrlxJ9erVeeuttwyid+PG\nDdavX09kZCR//PGHQTQPHTpEUFAQY8eOpV69esL1MjMzWbNmDQDjxo1j1qxZ/Pzzz0I1Q0JCOHDg\n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\n4c92arVabt26RUhICKGhoRQVFfHZZ5/JolUZpaWlBAcHc/jwYXJzc1mwYIEiOjo7U1NT+emnn0hO\nTmbo0KGKaOnQarWsW7eOzMxMg2xUFRoays6dO5k3bx52dnaKallaWrJr1y4aNGhAkyZNFNORJImG\nDRvy7bff8vrrr+sTUlZWP6uKlZUVRkZGfPbZZ3Tu3Jl+/frxyiuvyKqho0aNGty5c4f//ve/eHp6\n4u3tTcuWLStNnFhVW42NjQkLC2Pv3r24urri5uaGm5sbrq6u1KlTR9b8WZIkcfbsWQ4ePEitWrWw\nt7fH3t6eOnXqVPi9Mp7FzkuXLrF3715q1KiBlZWV/mVtbU3t2rXx9fWVLXdWZGQk/v7+aLVaTE1N\nMTU11SedrFOnDiNGjHguqTdeKCdFkqSawEjgjyf4rC2wChgohLgjSdI3wCxgcVXPw8nJidTUVG7f\nvq0vMzExYdiwYfTp00fWhGsODg7ExsYSFhZWobxv374MHz78mRMT/m867QpotVp2795NeHh4hXJv\nb28mTZqEmZnZM2lVRnFxMT///DMXL16sMAJydnbm/ffffybHqzJ0dkZGRnLp0iVCQ0P1I0lzc3M+\n+eQTRTLOFhYWEhQUxB9//EF6ejoAkyZNUqwzX758OcHBwfzyyy8UFBTg6+sr6/WqjIMHDxIZGalv\n0JREF4nq2rUrYWFhdOvWTVE9S0tLtFota9asYc6cOdja2iqm1alTJ/bu3cv27duJiYlh/PjxldZP\nOejbty/nzp0jMDCQU6dO0bZtW/r374+bm5vsWn369OHOnTucPn2aK1eu6B0yb29vfH199XVcDlt7\n9eqFJEn89ttvREVF6cttbW2ZPHkyTZs2rbKGju7du1O7dm1Wr17NjRs39OVmZmZMnDjxoU7Ks9jZ\nrl077O3t+fHHH4mPj9eXGxkZ8cEHH8ja13h6elKnTh3WrVtHXFxchb+NHTv2uWU6f2GmeyRJGghc\nAtyf8CvDgS1CiDv/+34hMO5Z9XNycggMDOT777/n448/ruCg1KtXj08//ZR+/frJdiELCgo4ffo0\nixcvruCgmJubM3XqVN58880qZU5+8HG40tJSwsLC/hQK7tu3L9OmTZO9wzMxMaFVq1YVRjkuLi7M\nmjVLNgcF/s/OunXrcuvWLb19kiQxefJkRTKFpqen8+2337J161a9g9K8eXM6dOgguxaURaNOnjzJ\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-9 f(x0, x1) = x0**2 + x1**2 의 기울기\n", "# https://github.com/WegraLee/deep-learning-from-scratch/blob/master/ch04/gradient_2d.py 소스 참고\n", "from mpl_toolkits.mplot3d import Axes3D\n", "\n", "def numerical_gradient(f, X):\n", " if X.ndim == 1:\n", " return _numerical_gradient_no_batch(f, X)\n", " else:\n", " grad = np.zeros_like(X)\n", " \n", " for idx, x in enumerate(X):\n", " grad[idx] = _numerical_gradient_no_batch(f, x)\n", " \n", " return grad\n", "\n", "\n", "def function_2(x):\n", " if x.ndim == 1:\n", " return np.sum(x**2)\n", " else:\n", " return np.sum(x**2, axis=1)\n", "\n", "\n", "def tangent_line(f, x):\n", " d = numerical_gradient(f, x)\n", " print(d)\n", " y = f(x) - d*x\n", " return lambda t: d*t + y\n", " \n", "x0 = np.arange(-2, 2.5, 0.25)\n", "x1 = np.arange(-2, 2.5, 0.25)\n", "X, Y = np.meshgrid(x0, x1)\n", " \n", "X = X.flatten()\n", "Y = Y.flatten()\n", " \n", "grad = numerical_gradient(function_2, np.array([X, Y]) )\n", " \n", "plt.figure()\n", "plt.quiver(X, Y, -grad[0], -grad[1], angles=\"xy\",color=\"#666666\")#,headwidth=10,scale=40,color=\"#444444\")\n", "plt.xlim([-2, 2])\n", "plt.ylim([-2, 2])\n", "plt.xlabel('x0')\n", "plt.ylabel('x1')\n", "plt.grid()\n", "plt.legend()\n", "plt.draw()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "기울기는 방향을 가진 벡터(화살표)로 그려짐\n", "\n", "'가장 낮은 곳'에서 멀어질 수록 화살표가 커짐을 알 수 있음.\n", "\n", "기울기가 가리키는 쪽은 각 장소에서 함수의 출력 값을 가장 줄이는 방향" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### 4.4.1 경사법(경사 하강법)\n", "최적의 매개변수(가중치와 편향)을 학습 시에 찾음. 최적은 손실함수가 최소값이 될 때 매개변수 값.\n", "\n", "경사법: 기울기를 잘 이용해 함수의 최소값을 찾으려는 방법\n", "\n", "함수가 극소값, 최소값, 안장점(saddle point)이 되는 장소에서는 기울기가 0\n", "\n", "극소값: 한정된 범위에서의 최소값인 점\n", "\n", "안장점: 어느 방향에서 보면 극대값 다른 방향에서 보면 극소값이 되는 점\n", "\n", "복잡하고 찌그러진 모양의 함수라면 (대부분) 평평한 곳으로 파고들면서 고원(plateau, 플래토)이라 하는, \n", "\n", "학습이 진행되지 않는 정체기에 빠질 수 있음.\n", "\n", "경사법(gradient method)\n", "\n", "현 위치에서 기울어진 방향으로 일정 거리만큼 이동. 다음 위치에서도 또 기울어진 방향으로 나아가는 일을 반복.\n", "\n", "경사 하강법(gradient descent method): 최소값을 찾음. 신경망(딥러닝) 분야에서 주로 사용.\n", "\n", "경사 상승법(gradient ascent method): 최대값을 찾음\n", "\n", "경사법 수식\n", "\n", "\\begin{equation*}\n", "x_{0} = x_{0} - \\eta \\frac{\\partial f}{\\partial x_{0}}\n", "\\end{equation*}\n", "\\begin{equation*}\n", "x_{1} = x_{1} - \\eta \\frac{\\partial f}{\\partial x_{1}}\n", "\\end{equation*}\n", "\n", "학습률(learning rate): 한 번에 얼만큼 학습해야 할 지, 매개변수 값을 얼마나 갱신하느냐를 정함\n", "\n", "위의 식은 1회에 해당하는 갱신이고, 이 단계를 반복\n", "\n", "변수의 값을 여러번 갱신하면서 서서히 함수의 값을 줄임\n", "\n", "학습률 값을 변경하면서 올바르게 학습하는 지 확인하면서 진행. 너무 크거나 작으면 '좋은 장소'를 찾을 수 없음.\n", "\n", "경사 하강법 구현코드" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def gradient_descent(f, init_x, lr=0.01, step_num=100):\n", " x = init_x\n", " \n", " for i in range(step_num):\n", " grad = numerical_gradient(f, x)\n", " x -= lr * grad\n", " return x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "f는 최적화하려는 함수, init_x는 초기값, lr은 learning rate를 의미하는 학습률, step_num은 경사법 반복 회수\n", "\n", "numerical_gradient(f, x)로 함수의 기울기를 구함. 그 기울기에 학습률을 곱한 값으로 갱신하는 처리를 step_num번 반복\n", "\n", "문제: 경사법으로 f(x0,x1) = x0 \\*\\* 2 + x1 \\*\\* 2의 최소값을 구하라." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ -6.11110793e-10, 8.14814391e-10])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "init_x = np.array([-3.0, 4.0])\n", "gradient_descent(function_2, init_x=init_x, lr=0.1, step_num=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "초기값을 (-3.0, 4.0)으로 설정한 후 경사법을 사용해 최소값을 구함\n", "\n", "경사법을 이용한 갱신 과정 그래프" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-10 f(x0, x1) = x0**2 + x1**2 의 갱신 과정 : 점선은 함수의 등고선을 나타낸다.\n", "# https://github.com/WegraLee/deep-learning-from-scratch/blob/master/ch04/gradient_method.py 소스 참고\n", "def gradient_descent(f, init_x, lr=0.01, step_num=100):\n", " x = init_x\n", " x_history = []\n", "\n", " for i in range(step_num):\n", " x_history.append( x.copy() )\n", "\n", " grad = numerical_gradient(f, x)\n", " x -= lr * grad\n", "\n", " return x, np.array(x_history)\n", "\n", "init_x = np.array([-3.0, 4.0]) \n", "\n", "lr = 0.1\n", "step_num = 20\n", "x, x_history = gradient_descent(function_2, init_x, lr=lr, step_num=step_num)\n", "\n", "plt.plot( [-5, 5], [0,0], '--b')\n", "plt.plot( [0,0], [-5, 5], '--b')\n", "plt.plot(x_history[:,0], x_history[:,1], 'o')\n", "\n", "plt.xlim(-3.5, 3.5)\n", "plt.ylim(-4.5, 4.5)\n", "plt.xlabel(\"X0\")\n", "plt.ylabel(\"X1\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "학습률이 너무 클 때와 작을 때 문제" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def gradient_descent(f, init_x, lr=0.01, step_num=100):\n", " x = init_x\n", " \n", " for i in range(step_num):\n", " grad = numerical_gradient(f, x)\n", " x -= lr * grad\n", " return x" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ -2.58983747e+13, -1.29524862e+12])" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 학습률이 너무 큰 예 : lr=10\n", "init_x = np.array([-3.0, 4.0])\n", "gradient_descent(function_2, init_x=init_x, lr=10.0, step_num=100)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([-2.99999994, 3.99999992])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 학습률이 너무 작은 예 : lr=1e-10\n", "init_x = np.array([-3.0, 4.0])\n", "gradient_descent(function_2, init_x=init_x, lr=1e-10, step_num=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "학습률이 너무 크면 큰 값으로 발산함\n", "\n", "학습률이 너무 작으면 거의 갱신되지 않은 채 끝남\n", "\n", "하이퍼파라미터(hyper parameter, 초매개변수)\n", "\n", "사람이 직접 설정해야 하는 매개변수. 시험을 통해 가장 잘 학습하는 값을 찾는 과정이 필요." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.4.2 신경망에서의 기울기\n", "신경망 기울기: 가중치 매개변수에 관한 손실 함수의 기울기\n", "\n", "형상 2X3, 가중치 W, 손실함수 L인 신경망 수식\n", "\n", "\\begin{equation*}\n", "W = \\begin{vmatrix}\n", "w_{11} w_{21} w_{31}\\\\\n", "w_{12} w_{22} w_{32}\\\n", "\\end{vmatrix}\n", "\\end{equation*}\n", "\n", "\\begin{equation*}\n", "\\frac{\\partial{L}}{\\partial{W}} = \\begin{vmatrix}\n", "\\frac{\\partial{L}}{\\partial{W_{11}}} \\frac{\\partial{L}}{\\partial{W_{21}}} \\frac{\\partial{L}}{\\partial{W_{31}}}\\\\\n", "\\frac{\\partial{L}}{\\partial{W_{12}}} \\frac{\\partial{L}}{\\partial{W_{22}}} \\frac{\\partial{L}}{\\partial{W_{32}}}\\\n", "\\end{vmatrix}\n", "\\end{equation*}\n", "\n", "아래 행렬의 각 원소는 각각 원소에 대한 편미분\n", "\n", "간단한 신경망에 대한 기울기를 구하는 코드" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# https://github.com/WegraLee/deep-learning-from-scratch/blob/master/common/gradient.py 소스 참고\n", "import numpy as np\n", "\n", "def softmax(x):\n", " if x.ndim == 2:\n", " x = x.T\n", " x = x - np.max(x, axis=0)\n", " y = np.exp(x) / np.sum(np.exp(x), axis=0)\n", " return y.T \n", "\n", " x = x - np.max(x) # 오버플로 대책\n", " return np.exp(x) / np.sum(np.exp(x))\n", "\n", "def cross_entropy_error(y, t):\n", " if y.ndim == 1:\n", " t = t.reshape(1, t.size)\n", " y = y.reshape(1, y.size)\n", " \n", " # 훈련 데이터가 원-핫 벡터라면 정답 레이블의 인덱스로 반환\n", " if t.size == y.size:\n", " t = t.argmax(axis=1)\n", " \n", " batch_size = y.shape[0]\n", " return -np.sum(np.log(y[np.arange(batch_size), t])) / batch_size\n", "\n", "def numerical_gradient(f, x):\n", " h = 1e-4 # 0.0001\n", " grad = np.zeros_like(x)\n", " \n", " it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])\n", " while not it.finished:\n", " idx = it.multi_index\n", " tmp_val = x[idx]\n", " x[idx] = float(tmp_val) + h\n", " fxh1 = f(x) # f(x+h)\n", " \n", " x[idx] = tmp_val - h \n", " fxh2 = f(x) # f(x-h)\n", " grad[idx] = (fxh1 - fxh2) / (2*h)\n", " \n", " x[idx] = tmp_val # 값 복원\n", " it.iternext() \n", " \n", " return grad\n", "\n", "class simpleNet:\n", " def __init__(self):\n", " self.W = np.random.randn(2,3) # 정규분포로 초기화\n", "\n", " def predict(self, x):\n", " return np.dot(x, self.W)\n", "\n", " def loss(self, x, t):\n", " z = self.predict(x)\n", " y = softmax(z)\n", " loss = cross_entropy_error(y, t)\n", "\n", " return loss" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "simpleNet 클래스는 형상이 2X3인 가중치 매개변수 하나를 인스턴스 변수로 가짐\n", "\n", "predict(x) 메소드, loss(x,t) 메소드\n", "\n", "인수 x는 입력 데이터, t는 정답 레이블\n", "\n", "simpleNet 몇 가지 시험" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.48896906 -0.43767281 0.94069236]\n", " [ 1.56181584 -0.6269286 -2.09184833]]\n" ] } ], "source": [ "net = simpleNet()\n", "print(net.W) # 가중치 매개변수" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1.11225282 -0.82683942 -1.31824808]\n" ] } ], "source": [ "x = np.array([0.6, 0.9])\n", "p = net.predict(x)\n", "print(p)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argmax(p) # 최대값의 인덱스" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.20849859791009334" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = np.array([1, 0, 0]) # 정답 레이블\n", "net.loss(x,t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "numerical_gradient 함수를 사용하여 기울기 구하기" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.1129187 0.07005907 0.04285962]\n", " [-0.16937804 0.10508861 0.06428943]]\n" ] } ], "source": [ "def f(W):\n", " return net.loss(x, t)\n", "dW = numerical_gradient(f, net.W)\n", "print(dW)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "w11은 대략 -0.11, w11을 h만큼 늘리면 손실함수는 -0.11h만큼 감소. 손실함수를 줄이려면 '양의 방향' 으로 갱신해야 함.\n", "\n", "w23은 대략 0.06, w23을 h만큼 늘리면 손실함수는 0.06h만큼 증가. 손실함수를 줄이려면 '음의 방향' 으로 갱신해야 함." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "파이썬에서는 간단한 함수는 lambda 기법을 쓰면 더 편리함" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.1129187 0.07005907 0.04285962]\n", " [-0.16937804 0.10508861 0.06428943]]\n" ] } ], "source": [ "f = lambda w: net.loss(x, t)\n", "dW = numerical_gradient(f, net.W)\n", "print(dW)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4.5 학습 알고리즘 구현하기\n", "신경망 학습의 절차\n", "\n", "학습: 가중치와 편향을 훈련 데이터에 적응하도록 조정하는 과정\n", "\n", "1단계 - 미니배치 : 훈련 데이터 중 일부를 무작위로 가져옴. 손실 함수 값을 줄이는 것이 목표.\n", "\n", "2단계 - 기울기 산출 : 각 가중치 매개변수의 기울기를 구함. 기울기는 손실 함수의 값을 가장 작게 하는 방향을 제시\n", "\n", "3단계 - 매개변수 갱신 : 가중치 매개변수를 기울기 방향으로 아주 조금 갱신\n", "\n", "4단계 - 반복 : 1~3단계를 반복\n", "\n", "확률적 경사 하강법(stochastic gradient descent, SGD) : 미니배치로 무작위로 선택하여 골라낸 데이터로 경사 하강법 실시" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.5.1 2층 신경망 클래스 구현하기\n", "2층 신경망을 하나의 클래스로 구현. 클래스명은 TwoLayerNet" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# https://github.com/WegraLee/deep-learning-from-scratch/blob/master/ch04/two_layer_net.py 소스 참고\n", "import numpy as np\n", "\n", "def sigmoid_grad(x):\n", " return (1.0 - sigmoid(x)) * sigmoid(x)\n", "\n", "class TwoLayerNet:\n", "\n", " def __init__(self, input_size, hidden_size, output_size, weight_init_std=0.01):\n", " # 가중치 초기화\n", " self.params = {}\n", " self.params['W1'] = weight_init_std * np.random.randn(input_size, hidden_size)\n", " self.params['b1'] = np.zeros(hidden_size)\n", " self.params['W2'] = weight_init_std * np.random.randn(hidden_size, output_size)\n", " self.params['b2'] = np.zeros(output_size)\n", "\n", " def predict(self, x):\n", " W1, W2 = self.params['W1'], self.params['W2']\n", " b1, b2 = self.params['b1'], self.params['b2']\n", " \n", " a1 = np.dot(x, W1) + b1\n", " z1 = sigmoid(a1)\n", " a2 = np.dot(z1, W2) + b2\n", " y = softmax(a2)\n", " \n", " return y\n", " \n", " # x : 입력 데이터, t : 정답 레이블\n", " def loss(self, x, t):\n", " y = self.predict(x)\n", " \n", " return cross_entropy_error(y, t)\n", " \n", " def accuracy(self, x, t):\n", " y = self.predict(x)\n", " y = np.argmax(y, axis=1)\n", " t = np.argmax(t, axis=1)\n", " \n", " accuracy = np.sum(y == t) / float(x.shape[0])\n", " return accuracy\n", " \n", " # x : 입력 데이터, t : 정답 레이블\n", " def numerical_gradient(self, x, t):\n", " loss_W = lambda W: self.loss(x, t)\n", " \n", " grads = {}\n", " grads['W1'] = numerical_gradient(loss_W, self.params['W1'])\n", " grads['b1'] = numerical_gradient(loss_W, self.params['b1'])\n", " grads['W2'] = numerical_gradient(loss_W, self.params['W2'])\n", " grads['b2'] = numerical_gradient(loss_W, self.params['b2'])\n", " \n", " return grads\n", " \n", " def gradient(self, x, t):\n", " W1, W2 = self.params['W1'], self.params['W2']\n", " b1, b2 = self.params['b1'], self.params['b2']\n", " grads = {}\n", " \n", " batch_num = x.shape[0]\n", " \n", " # forward\n", " a1 = np.dot(x, W1) + b1\n", " z1 = sigmoid(a1)\n", " a2 = np.dot(z1, W2) + b2\n", " y = softmax(a2)\n", " \n", " # backward\n", " dy = (y - t) / batch_num\n", " grads['W2'] = np.dot(z1.T, dy)\n", " grads['b2'] = np.sum(dy, axis=0)\n", " \n", " da1 = np.dot(dy, W2.T)\n", " dz1 = sigmoid_grad(a1) * da1\n", " grads['W1'] = np.dot(x.T, dz1)\n", " grads['b1'] = np.sum(dz1, axis=0)\n", "\n", " return grads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "TwoLayerNet 클래스가 사용하는 변수\n", "\n", "params : 신경망의 매개변수를 보관하는 딕셔너리\n", "\n", "params['W1'] : 1번째 층의 가중치, params['b1'] : 1번째 층의 편향\n", "\n", "params['W2'] : 2번째 층의 가중치, params['b2'] : 2번째 층의 편향\n", "\n", "grads : 기울기를 보관하는 딕셔너리\n", "\n", "grads['W1'] : 1번째 층의 가중치, grads['b1'] : 1번째 층의 편향\n", "\n", "grads['W2'] : 2번째 층의 가중치, grads['b2'] : 2번째 층의 편향\n", "\n", "TwoLayerNet 클래스의 메서드\n", "\n", "\\__init\\__(self, input_size, hidden_size, output_size) : 초기화를 수행\n", "\n", "input_size: 입력층의 뉴런수, hidden_size: 은닉층의 뉴런수, output_size: 출력층의 뉴런수\n", "\n", "predict(self, x) : 예측(추론)을 수행. 인수 x는 이미지 데이터\n", "\n", "loss(self, x, t) : 손실 함수의 값을 구함. x는 이미지 데이터. t는 정답 레이블(나머지 메소드 인수도 동일)\n", "\n", "accuracy(self, x, t) : 정확도를 구함\n", "\n", "numerical_gradient(self, x, t) : 가중치 매개변수의 기울기를 구함\n", "\n", "gradient(self, x, t) : 가중치 매개변수의 기울기를 구함. numerical_gradient의 성능 개선판.\n", "\n", "1번째 층의 매개변수 예시" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(784, 100)\n", "(100,)\n", "(100, 10)\n", "(10,)\n" ] } ], "source": [ "net = TwoLayerNet(input_size=784, hidden_size=100, output_size=10)\n", "print(net.params['W1'].shape) # (784, 100)\n", "print(net.params['b1'].shape) # (100,)\n", "print(net.params['W2'].shape) # (100, 10)\n", "print(net.params['b2'].shape) # (10,)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "params 변수에는 신경망에 필요한 매개변수가 모두 저장됨\n", "\n", "예측 처리는 다음과 같이 실행" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": true }, "outputs": [], "source": [ "x = np.random.rand(100, 784) # 더미 입력 데이터(100장 분량)\n", "y = net.predict(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "numerical_gradient() 메서드를 사용해 기울기를 계산하면 grads 변수에 기울기 정보가 저장됨" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(784, 100)\n", "(100,)\n", "(100, 10)\n", "(10,)\n" ] } ], "source": [ "x = np.random.rand(100, 784) # 더미 입력 데이터(100장 분량)\n", "t = np.random.rand(100, 10) # 더미 정답 레이블(100장 분량)\n", "\n", "grads = net.numerical_gradient(x, t) # 기울기 계산\n", "\n", "print(grads['W1'].shape) # (784, 100)\n", "print(grads['b1'].shape) # (100,)\n", "print(grads['W2'].shape) # (100, 10)\n", "print(grads['b2'].shape) # (10,)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "초기화 메서드: 가중치 매개변수도 초기화\n", "\n", "초기값이 신경망 학습의 성공을 좌우\n", "\n", "가중치를 정규분포를 따르는 난수, 편향을 0으로 초기화\n", "\n", "numerical_gradient(self, x, t) 메서드는 각 매개변수의 기울기를 계산함\n", "\n", "수치 미분 방식으로 각 매개변수의 손실 함수에 대한 기울기를 계산\n", "\n", "gradient(self, x, t) 메서드는 오차역전차법을 사용하여 기울기를 효율적이고 빠르게 계산" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.5.2 미니배치 학습 구현하기\n", "미니배치에 대해 경사법으로 매개변수를 갱신. TwoLayerNet 클래스와 MNIST 데이터셋을 사용하여 학습을 수행." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train acc, test acc | 0.0986166666667, 0.0979\n", "train acc, test acc | 0.77295, 0.782\n", "train acc, test acc | 0.874333333333, 0.8762\n", "train acc, test acc | 0.89825, 0.9008\n", "train acc, test acc | 0.907483333333, 0.9119\n", "train acc, test acc | 0.913916666667, 0.9178\n", "train acc, test acc | 0.919116666667, 0.9221\n", "train acc, test acc | 0.923816666667, 0.9258\n", "train acc, test acc | 0.927466666667, 0.9282\n", "train acc, test acc | 0.930966666667, 0.9303\n", "train acc, test acc | 0.934066666667, 0.9325\n", "train acc, test acc | 0.936083333333, 0.9345\n", "train acc, test acc | 0.939583333333, 0.9377\n", "train acc, test acc | 0.941883333333, 0.9389\n", "train acc, test acc | 0.943916666667, 0.9416\n", "train acc, test acc | 0.945216666667, 0.9427\n", "train acc, test acc | 0.947, 0.9443\n" ] } ], "source": [ "# 데이터 읽기\n", "(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, one_hot_label=True)\n", "\n", "network = TwoLayerNet(input_size=784, hidden_size=50, output_size=10)\n", "\n", "# 하이퍼파라미터\n", "iters_num = 10000 # 반복 횟수를 적절히 설정한다.\n", "train_size = x_train.shape[0]\n", "batch_size = 100 # 미니배치 크기\n", "learning_rate = 0.1\n", "\n", "train_loss_list = []\n", "train_acc_list = []\n", "test_acc_list = []\n", "\n", "# 1에폭당 반복 수\n", "iter_per_epoch = max(train_size / batch_size, 1)\n", "\n", "for i in range(iters_num):\n", " # 미니배치 획득\n", " batch_mask = np.random.choice(train_size, batch_size)\n", " x_batch = x_train[batch_mask]\n", " t_batch = t_train[batch_mask]\n", " \n", " # 기울기 계산\n", " #grad = network.numerical_gradient(x_batch, t_batch)\n", " grad = network.gradient(x_batch, t_batch)\n", " \n", " # 매개변수 갱신\n", " for key in ('W1', 'b1', 'W2', 'b2'):\n", " network.params[key] -= learning_rate * grad[key]\n", " \n", " # 학습 경과 기록\n", " loss = network.loss(x_batch, t_batch)\n", " train_loss_list.append(loss)\n", "\n", " # 1에폭당 정확도 계산\n", " if i % iter_per_epoch == 0:\n", " train_acc = network.accuracy(x_train, t_train)\n", " test_acc = network.accuracy(x_test, t_test)\n", " train_acc_list.append(train_acc)\n", " test_acc_list.append(test_acc)\n", " print(\"train acc, test acc | \" + str(train_acc) + \", \" + str(test_acc))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "미니배치 크기를 100으로 설정. 확률적 경사 하강법을 수행해 매개변수를 갱신.\n", "\n", "경사법에 의한 갱신 횟수는 10,000번으로 설정. 갱신할 때마다 손실 함수를 계산하고 그 값을 배열에 추가" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0, 3.0)" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-11 손실 함수의 추이: 위쪽은 10,000회 반복까지의 추이, 아래쪽은 1,000회 반복까지의 추이\n", "f, (ax1, ax2) = plt.subplots(2, 1)\n", "x = np.array(range(iters_num))\n", "ax1.plot(x, train_loss_list, label='loss')\n", "ax1.set_xlabel(\"iteration\")\n", "ax1.set_ylabel(\"loss\")\n", "ax1.set_ylim(0, 3.0)\n", "ax2.plot(x[:1000], train_loss_list[:1000], label='loss')\n", "ax2.set_xlabel(\"iteration\")\n", "ax2.set_ylabel(\"loss\")\n", "ax2.set_ylim(0, 3.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "학습 회수가 늘어나면서 손실 함수의 값이 줄어듬\n", "\n", "학습이 잘 되고 있다는 뜻\n", "\n", "데이터를 반복해서 학습함으로써 최적 가중치 매개변수로 서서히 다가서고 있다!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.5.3 시험 데이터로 평가하기\n", "훈련 데이터 외의 데이터를 올바르게 인식하는지 확인 필요. '오버피팅'을 일으키지 않는지 확인.\n", "\n", "오버피팅: 훈련 데이터에 포함된 이미지만 제대로 구분. 그렇지 않은 이미지는 식별할 수 없다는 의미\n", "\n", "범용 능력을 평가하기 위해 학습 도중 정기적으로 훈련 데이터와 시험 데이터를 대상으로 정확도를 기록.\n", "\n", "1에폭별로 훈련 데이터와 시험 데이터에 대한 정확도를 기록.\n", "\n", "에폭(epoch): 1에폭은 학습에서 훈련 데이터를 모두 소진했을 때의 회수에 해당.\n", "\n", "훈련 데이터 10,000개를 100개의 미니배치로 학습할 경우, 100회가 1에폭이 됨.\n", "\n", "앞의 코드로 얻은 결과를 그래프로 그리기" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n8ePZtm1bbISN1lBUBJs36zCKiEh9Q4YMISsry+syJIp5fZ+NVvOfRcvhwivp1GeT16WIiIjElJgJ\nG5+s/AZGvMCg/slelyIiIhJTYiZsLNmYB3s6M6BPZ69LERERiSkxc87G6oJ80sr6Y+Z1JSIiIrEl\nZno2tpTn08V03auISCzYtm1b9Q2pQuLJJ59k2LBhIVterImZsLErIZ+M9gobIiKxYPfu3WzcuDFk\ny+vevbsuD26BmDiMsmtPKZXtvmdQF133KiISC0L9KI6LL76Yiy++OKTLjCUx0bOxKH8DmGNEpno2\nRESi3dy5cxk1ahRbtmwhMzOTBx54AIC33nqLCRMmcOONN9K3b18WL15cM88f/vAHDjnkEDIzMzn4\n4IO5+eabKSvb+zzQ3NxczjvvvJrPM2fO5JZbbmHmzJlkZ2fTu3dvBg0axLPPPtukGjds2MCYMWPI\nyMggIyODrKwspk+fvs90U6dO5fDDDycjI4MBAwbwm9/8Zp87vm7atInLL7+8Zlknn3wyn376abP+\nZuEWE2Fjy2aDxZcyeujA/U8sIiJt2kknncT8+fPp3r0769at48477wR8TzGdNm0aJ554ImvXrq05\nB+O5555j9uzZfPHFF6xbt45vvvmG77//nvvuu69mmbt27eKHH36o+bx9+3befvttHn30UV577TW+\n//573n//fR588EE+++yz/dZ46aWXMnr0aNatW8f69et5/vnn+dnPfsaKFStqpnnllVd45JFHePPN\nN1m/fj0LFixgxYoVTJgwoWaaiooKTjvtNLKzs1mzZg3r16/n1ltv5YILLuCbb75p8d8yVGLiMErp\n5oNIfnsaI173uhIRkbaruBiWLw/vOgYPhrS08C3/7LPPZuzYsXXaPvjgA+6++266dOkCQIcOHbjk\nkkt45plnGl2Wc4533nmHNH/Bffv25cILL+STTz7huOOOa3C+Xbt2sWnTJm666aaatuHDhzNy5Ehy\ncnIYNGgQVVVV3H333UybNo1+/foB0KVLl5oTVZ1zmBmvvPIKGRkZ3HLLLTXLOuecc7jiiiuYNWsW\nw4cPb94fKExiImysX+97AFtcTPTjiIiEx/LlEMILPALKyYFw3jk9KSlpn7ZXX30VgNLSUvLy8sjN\nzeWRRx7hgAMOaHRZRx99dE3QqJacnFzn8EsgHTp0YOXKlQD88MMPLF++nLlz5/Lhhx9yySWXAPD9\n99+zZ88ejjzyyDrz9ujRg02bNmH++zh89NFH/M///M8+63j00UcbraG1xUTY+O47PRNFRKSlBg/2\nhYFwr6O1ffjhh9x1112sXr2aoUOHMmLECC699FI++OCDsKyvsrKSBx98kClTppCamsrQoUM59thj\nOfHEE2um2bBhAz169Ag4f1ytX86NTRdJYiJsrF8PRx/tdRUiIm1bWlp4ex28sGPHDi666CJeeeUV\nzjrrrJr2WbNmhS1sPPfcc/zrX//i888/p1evXjXtX375Zc37nj17snnz5oDzv/HGG1xwwQUkJibS\ns2dPtmzZss80a9euZf369Rx//PGh34AgxMSBhY0b1bMhIiL7+u9//0tGRkadoAG+Ey/DZdGiRYwb\nN65O0ABfj0e1Pn36EB8fz8KFC+tMU1hYyGWXXUZBQQEAo0aNYubMmfus44knnuD11yPnRMWYCBsV\nFb5zNkREJDYkJydTVFRESUlJo9MNGDCAjRs31nypO+f49NNPuf3229m9e3dYahs+fDizZs2iqKgI\ngKKiIp544gn++c9/1rTFx8dz1113ce2117JmzRrAd2LppEmTOPfcc+natSsAV1xxBUuXLuWpp56q\nCSuffvopL7zwAldeeWVY6g9GTIQNUM+GiEgs6dmzJxdffDF9+vSpuYS1S5cudOvWrc50Xbp04cUX\nX+Tqq68mMzOTzMxMHnroIe666y7Wr1/P1VdfDUB6enqdnoiuXbsGPFeia9euNUGgIRMnTmT48OEM\nGzas5h4b69at4/bbb+fXv/41s2fPrpnummuu4eyzzyYzM5MRI0bQsWNHnn/++ZplJScnM3v2bGbP\nnk1mZiYZGRnccccdvPzyy2RF0DEvC/Vd1iKJmWUBOXFpsyktOIWEmDhDRUSkaXJzc8nOziYnJyei\nvpikdezv3796PJDtnMttybpiomfD/vcyBQ0RERGPxETYaFeZ4XUJIiIiMSsmwsYBiX28LkFERCRm\nxUTY6N1BYUNERMQrMRE2+nfTYRQRERGvxETYODRDPRsiIiJeiYmwkdVPYUNERMQrMRE2Ondo53UJ\nIiIiMSsmwoaIiIh4R2FDRESizrZt26rvfhkWv/zlL5kxY0bYlh9tFDZERCTq7N69m40bN4Zt+du3\nb+eHH34I2/KjjcKGiIhEnWh+7ldbpLAhIiJRZe7cuYwaNYotW7aQmZnJAw88UDNu48aNjB07lt69\ne9OnTx8mTpxIQUFBnfnnz5/P6NGjyczMpG/fvpxzzjl8++23NePPP/98Xn/9dW6//XYGDBjAzp07\nG61n2bJlnHnmmfTp04eMjAyOP/54Pvzww32mmzx5MkOGDCEjI4MhQ4bw8MMP1zw2vtrKlSu54IIL\napZ13nnn1aktYjnnonYAsgCXk5PjRESkrpycHBet+8g1a9a4Xr161WmrqKhww4YNc5MnT3aVlZWu\ntLTU3XLLLe7UU0+tM023bt3cnDlznHPOVVVVuaeeesr16dPHVVVV1Ux35ZVXuqeffnq/dVRUVLj+\n/fu7GTNm1LTNmTPHde7c2RUUFNS0/f73v3ennnqq27x5s3POue+++84df/zx7o477qiZZvv27S4j\nI8O9+uqrNbVNmTLFdevWzW3YsKE5fx7n3P7//avHA1muhd/H6tkQEZGY8Oqrr9K7d29uueUW4uLi\nSEpK4s9//jObN29m7ty5ABQVFVFUVMQxxxwDgJlx3XXXcfjhh+/TA9IUK1asIDMzk4suuqim7eST\nT6ZXr141PRKFhYVMnjyZF198ke7duwPQu3dvHn/8cWbOnFkz3+OPP865557LJZdcUlPbVVddxfHH\nH8+nn34a1N+ktejB6yIi0mQbd21kY1HDJ16mJKQwtNvQRpexdOtSSipK9mnv1b4XvTr0anGNDZkz\nZw5jxoyp0xYXF8dFF13E+++/z0knnUR6ejrjx4/n5JNP5he/+AVnnHEG6enpvP3220Gtc+jQocyZ\nMweAzZs3s3TpUv7973+zYsUKKioqAPj6668ZOHAgBx54YJ15R4wYwTfffFPz+aOPPuKOO+7YZx0z\nZszAzIKqr7UobIiISJM9nfM09350b4Pjh3YbypIbljS6jDHTx7B069J92n934u+456R7WlpigzZs\n2MBvfvObOudwOOcoKyvj7LPPrmn7v//7P2bNmsXUqVP5+c9/zmGHHcbvfvc7TjjhhGavc8+ePfzm\nN79h+vTpdO3alaFDh3LiiScybNiwOnX16NEj4PxxcXH7nS7SgwYobIiISDNcl30d5w86v8HxKQkp\n+13G9DHTG+zZCKeePXsyefJkxo0bV6e9oqKChIS6X4dnnHEGZ5xxBlVVVcyYMYOLLrqIBQsW0K9f\nv2at8/7772flypUsWbKE9PT0mvbnn3++Tl2bN28OOP/LL7/MZZddVjPdli1b9plm8eLFAHUCTKTR\n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\nHCj35gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 그림 4-12 훈련 데이터와 시험 데이터에 대한 정확도 추이\n", "markers = {'train': 'o', 'test': 's'}\n", "x = np.arange(len(train_acc_list))\n", "plt.plot(x, train_acc_list, label='train acc')\n", "plt.plot(x, test_acc_list, label='test acc', linestyle='--')\n", "plt.xlabel(\"epochs\")\n", "plt.ylabel(\"accuracy\")\n", "plt.ylim(0, 1.0)\n", "plt.legend(loc='lower right')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "훈련 데이터에 대한 정확도는 실선. 시험 데이터에 대한 정확도는 점선\n", "\n", "두 정확도에는 차이가 없음. 오버피팅이 발생하지 않음을 확인\n", "\n", "오버피팅이 발생하면 훈련 데이터와 시험 데이터를 보면서 잘못된 판단을 함\n", "\n", "이 순간을 포착해 학습을 중단하면 오버피팅을 예방 가능. => 조기 종료(early stopping)\n", "\n", "'6.4 바른 학습을 위해'에서 살펴볼 '가중치 감소', '드롭아웃'과 함께 대표적은 오버피팅 예방법" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.6 정리\n", "신경망 학습의 목표: 손실 함수 값이 가장 작아지는 가중치 매개변수 값을 찾아내는 것\n", "\n", "경사법: 가능한 작은 손실 함수의 값을 찾는 수법. 함수의 기울기를 이용하는 방법\n", "\n", "이번 장에서 배운 것\n", "\n", "기계학습에서 사용하는 데이터 셋은 훈련 데이터와 시험 데이터로 나눠 사용\n", "\n", "학습한 데이터의 범용 능력을 시험 데이터로 평가\n", "\n", "신경망 학습은 손실 함수를 지표로, 손실 함수의 값이 작아지는 방향으로 가중치 매개변수를 갱신\n", "\n", "이를 갱신할 때 가중치 매개변수의 기울기를 이용. 기울어진 방향으로 가중치의 값을 갱신하는 작업 반복\n", "\n", "수치 미분 : 아주 작은 값을 주었을 때의 차분으로 미분을 구하는 것\n", "\n", "수치 미분으로 가중치 매개변수의 기울기를 구할 수 있음\n", "\n", "수히 미분을 이용한 계산은 시간이 걸림. 그 구현이 간단.\n", "\n", "오차역전파법은 기울기를 고속으로 구할 수 있음." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "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": 1 }