diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" index c9c8800f335e37357b53dd2df4d18a5c8b184f8b..24c548ece7a4b6b1698796c814a98e632f56a8b4 100644 Binary files "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" differ diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" index eca8cfa74e5fa9d3ebeb25d222f1a15cac20f555..9668551582bb656567660050427cba01bc722936 100644 Binary files "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" differ diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-checkpoint.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-checkpoint.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..2fd64429bf421126b7000c94ce0f6fd186fbd01f --- /dev/null +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-checkpoint.ipynb" @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..926a73cdc99f21daba5ff5cdb401252021fd82e2 --- /dev/null +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" @@ -0,0 +1,1088 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 机器学习系列(2)\n", + "\n", + "\n", + "## 提高深度神经网络性能之--合理初始化\n", + "\n", + "\n", + "** 在深度学习的训练中,权重的初始化起着重要的作用,如何选择合适的初始化方式,影响着网络的学习能力,今天我们就来看一下各种初始化方式有什么样的异同吧~**\n", + "\n", + "**1.零初始化:**\n", + "\n", + " - $W$和$b$都初始化为零(矩阵、向量,下同),这种方式由于导致前馈过程具有对称性,反向传播也产生对称性,导致权重值一样,相当于降低了隐藏层神经元的个数,从而无法进行有效的学习。\n", + "\n", + "**2.随机初始化:**\n", + "\n", + " - W初始化为随机值,b初始化为0,这种方式尽管b都为0,但由于W值不同,打破了对称性,可以有效学习,但是若网络深度很深,可能会产生梯度消失或梯度爆炸的问题,需要更好的方式。\n", + "\n", + " - 梯度消失:通常神经网络所用的激活函数是sigmoid函数,这个函数将负无穷到正无穷的输入映射到0和1之间,这个函数求导的结果是f′(x)=f(x)(1−f(x)),两个0到1之间的数相乘,得到的结果就会变得很小了。由于神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于1的数而越来越小,非常接近0,从而导致层数比较浅的权重没有得到更新。\n", + "\n", + " - 那么什么是梯度爆炸呢?梯度爆炸就是由于初始化权值过大,前面层会比后面层变化的更快,就会导致权值越来越大,这就是梯度爆炸。\n", + " - 以一个三层网络为例:如下结构:\n", + " \n", + " \n", + " \n", + " - 那么表达式就如下图所示:\n", + " \n", + " \n", + " \n", + " - 从上式可以看出,如果每个权重都一样,那么在多层网络中,从第二层开始,每一层的输入值都是相同的了也就是a1=a2=a3=....,那么就相当于一个输入了,那么反向传播算法最后得到的W和b也都相同,即对称的,就不能拟合任意输入到输出的映射了。\n", + " \n", + "**3.He initialization:**\n", + "\n", + " - $W$初始化为随机值后,再除以$\\sqrt{\\frac{2}{\\text{dimension of the previous layer}}}$,b初始化为0,这种方式称为\"he initialization\",可以很好地控制每一层权重,使得其不会太大,从而有效降低梯度爆炸发生的概率,尤其对relu激活函数有效。\n", + " \n", + "**4.Xavier initialization:** \n", + "\n", + " - 注:\"Xavier initialization\" $\\sqrt{\\frac{1}{\\text{dimension of the previous layer}}}$\n", + " \n", + "## 申明\n", + "本文原理解释和公式推导均由LSayhi完成,供学习参考,可传播;代码实现的框架由Coursera提供,由LSayhi完成,详细数据和代码可在github中查询,\n", + "请勿用于Coursera刷分。\n", + "\n", + "https://github.com/LSayhi/DeepLearning\n", + "\n", + "微信公众号:AI有点可ai" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Initialization\n", + "\n", + "Welcome to the first assignment of \"Improving Deep Neural Networks\". \n", + "\n", + "Training your neural network requires specifying an initial value of the weights. A well chosen initialization method will help learning. \n", + "\n", + "If you completed the previous course of this specialization, you probably followed our instructions for weight initialization, and it has worked out so far. But how do you choose the initialization for a new neural network? In this notebook, you will see how different initializations lead to different results. \n", + "\n", + "A well chosen initialization can:\n", + "- Speed up the convergence of gradient descent\n", + "- Increase the odds of gradient descent converging to a lower training (and generalization) error \n", + "\n", + "To get started, run the following cell to load the packages and the planar dataset you will try to classify." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**一个优秀的参数初始化方案可以实现:**\n", + "- 增加训练和泛化误差收敛的概率\n", + "- 加速梯度下降的收敛" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbcAAAD8CAYAAAD0f+rwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXV4FOfah++ZWctGiRAsIWhw11JosQKFUlpKC22pnTqn\nduounPo59VOh3n71IqU4xYq7hCBJkDhRoqsj3x8LgWV3QxKCz31dvUpm5p15J5ndZ95Hfo+gaRo6\nOjo6OjoXEuLZnoCOjo6Ojk59oxs3HR0dHZ0LDt246ejo6OhccOjGTUdHR0fngkM3bjo6Ojo6Fxy6\ncdPR0dHRueDQjZuOjo6OzgWHbtx0dHR0dC44dOOmo6Ojo3PBYTjbE6iO6OhoLSEh4WxPQ0dHR0fn\nHGHz5s2FmqbFnOy4c9q4JSQksGnTprM9DR0dHR2dcwRBENJrcpzultTR0dHRueDQjZuOjo6OzgWH\nbtx0dHR0dC44dOOmo6Ojo3PBoRs3HR0dHZ0LDt246ejUAdnhwlFQgqaqZ3sqOjo6fjinSwF0dM41\nZJuDdQ9+xP4fl6BpGqaIEHq9cRdtbh1xtqemo6NzHLpx09GpBUuve4lDy7ejOFwAOPIOs3bK+xiC\nzLS4/vKzOzkdHZ0qdLekjk4NKU3J5NCKY4btKIrNyebnvjxLs9LR0fGHvnLT0akhh3ceRDQaUOwu\nn30VBw6dhRmBqihkL9zE4e37CG4eS/NrB2KwmM7KXHR0ziV046ZzTqPKCplz1pK1YAPmBmG0uW0E\n4YlxZ2UuoS0bo8mK331BsQ3O8GzAUVjKvEEPU5ldgGJzIgWZWf/wR4xa9i4NOiactutWZOSx8Ylp\nZM1dhyCJtLj+cnq9cRfmyLDTdk0dndqiGzedcxbZ7mTBkH9xODkducKOYJDY9cEM+rxzH+3uueqM\nzyeqW2vC28VTnLQfzX3MyBmsFjo/Nemk4+15xez5ZDZ5q5MJb9uU9v+8hoj2zav2Ow+XIxoNGEOC\najSfNfe9S/m+HFS3DIBcYUeudLBk3POMT/kOQRBqeYcnx1FYyuxe9+EsLocjmaJp3y4id9k2xiV9\nqa8adc4Z6iXmJgjCV4Ig5AuCsDPAfkEQhA8EQUgTBGGHIAg96uO6Ohc2ye/+TvGO/cgVdgA0WUGx\nO9nwyMfYcovOypyumP8GDft3RLKYMIQGIZpNtL1rNO2njAs4RlUU9v+yjN/b3MKOt34hd8kW9k6b\ny+ze95Exew35a5OZ2fkf/NzoOn6MGseC4Y9RkZFX7TwUl5vM2WurDFsVmob9UDGHdx7wHOd0se+H\nv1h977tsf/X/qMwuOKX73/3xH56/x3ElEKpbxp53mIO/rTilc+vo1Cf1lVDyDTCymv2jgDZH/rsb\n+KSerqtzAZP69QK/8S0EgfSZq+p8XtnhIm/1Toq2pqJpWq3GWmIiuHL5u/T/5GEMFjOCAHs+nc28\ngQ9RftA37nZoxXZ+aTKBv296DbnCjnokGUVTVBSbk78nv86C4Y9TknwQ1S2jumVyl21jVre72Dtt\nTkAjrrrkgHMXJAl3mQ1HUSkzO9/JmvveI2XaHLb9+/+YnngrWfPX1+qej2LLKSR9+t8+CTXgWTXm\nLttap/OeKRyFpWx9+VvmDHjAk/W6YvvZnpLOaaRe3JKapv0tCEJCNYdcDXyneT6N6wRBiBAEobGm\nabn1cX2dCxOfVckRNFUNuO9kpH67kHUPfoggCGiqhjkylCHTXya6Z9san6Nwcwprp7yPYnNWbStY\nt5u5Ax5gwv4fkMwe15wtp5DFY55BrnQEPJfscKEpJ8TxVA13SSXrHvqI9Q99RNfnbqbrszd7HWIM\nCSKsTVNKd2f4nFNTFKK6t2btAx9QmZ5X9btSnW4Alk+cysS8GTV2Ibor7Ky46VVyFm9GDRBzFE0G\ngpudtMXWWaMyq4DZPe/FXW7zGGdBIGvBBrq/eCudH7/hbE9P5zRwpkoBmgKZx/2cdWSbjk5AEiZc\nhmgy+mwXBIG40f1qfb681TtZO+V95HI77jIbcoWdyox8Fgx9DFdpRY3Ps/21H3xWlJqq4q6wkz7j\n2Ioy5av5AY1B1ThFAdX/Ckx1ulGcbna8/iM5S31XRZd8/DAGqxmOi61JVjO93robg9XCwV9X+H8J\nEARy/ZwvECtufo3sRZtQHK6ACTWCJNHm9uqcN2eXzc98gbO47NiqU9NQbE62vvgN9vzDZ3dyOqeF\nc67OTRCEuwVB2CQIwqaCglOLD+ic33R5ahJBjSORgo6tMAzBFtpPuZqw1rV/N0p662ev1dZRVFlm\n/8/Lanyekp0HwI9LUC63U7Ln2EqqLDW7arUUCNFwcueJbHOy+6OZPtsbXdaVK1e+T/zVlxAc35DY\nQV0YOv1l2t93NUC1hlV1eealaRrpM1cxb9BDTG93K2unvOcV77MdKiZn0aaA92EMtWKwWhj0/dOE\ntmh80ns5kfKDh8hblYSzuKzWY2tDxp9r0RRfqTTBIJGzSG+IfCFyprIls4Hj87ebHdnmg6Zp04Bp\nAL169apdQETngsISFc64bdPYO20uGX+sxhwZSrv7r6bZyD51Ol/5vhy/2xWbk4oDuRRuSWHX+zMo\nS82m4YCOdHxovF9XW3j75pSl5fgYOENIEOFtm1X9HNOvA+kzVvp3S0oiBrOJXm/dzcbHP0Ox+xrd\n47Hn+V9dRHVvw9AZr/jd1/SKXmTOXeezMlRdMo0HdwNg8zNfsvujmVVzLD+Qy/6flnHVho8Ja92U\nysx8RLPRb5xNNBro+/4UEiZchjG4Zhme4DGo+WuT2fDwxxQn7UeymFAcLtreeSV935uCKEk1PldN\nEQ3+zykIgl/vgM75z5lauc0GbjmSNdkPKNXjbTo1wRQeQufHb2D0qg8YNvvVOhs2gOje7RAk30fe\nEBKE2+Zk3qCH2ffDXxSs28XuD2cys9MdVVmHx9P16Ru9VpMAiAIGq5nm4wdVbWp98zCMIUE+1xQM\nEu3vG8s1u76i5Y1Dibuqv+eYAKn7ksVE0xG9a32/fd65H1N4MKL5yJe3ICBZzfR++x5M4SFUZhew\n6/3pXsZXcyu4yirZ9PTnAIS1borq9JPUAxisZlrdPLxWhu3Q3zv4NX4i8wY9TOGmvahON+7SSlSn\nm9SvF7Dj9Z9qfZ81oeWkIYgm33d5VVFoOrL2v1udc5/6KgX4CVgLJAqCkCUIwj8EQbhXEIR7jxwy\nD9gPpAGfA/fXx3V1dGpDl6cmIZ2QRCEYJEyRoaR9s9DjsjyyylFdMu4yG2vvf9/nPDF92zPo+2ew\nNIzAEGxBspiI7Naa0as+8ErSMIZaGbPufzQZ1hPBICFIIg0v6cjVWz6j3wcPYAwJ4o9ud5E5e43H\nZaZpHgMnCt7zCw+m/ZSra32/Ya2acM3Or+j4yHVE925H82sHMmLBm1VlC7lLtyH4W9GoGjmLNgNg\nbhBKmztGIVnNXocYrBa6PHtT1YpIllVSduWTsjsfWfbfKaEiPY/Fo5/Gll3oN86o2Jwkv/Mbh3cd\nJGvBBioy82t9z4HoMfV2Qls1wXCkhlA0GZCCzAz86glMYcH1dh2dcwehtqnQZ5JevXppmzbp/nCd\n+qNg/W7W3P8eh5MOIAgCTUf2pvVtI1h1+1u4y2w+xwuiyGTbPCQ/ritNVSlLzcYQbDlppqDicqOp\nmpfx2/TMFyS/+7tPPEswSBhDgwCB+HGX0HPqHVibRNfthqvh4IyVnvsu971vS0wEk/KmA57VzZbn\nv2b3R7NQ3TIGq5muz91Mx4evQxAEtm7IZNr7q6tK3yRJ4J5HLqVrT++46MYnp7Hr/emoruozXSWr\nGdFoQHW6ib/6EgZ++5Tf339tUVxu0qevJGfpFqyNo2hz+8g6xQl1zi6CIGzWNK3XSY/TjZvO+Yym\nqiAItVbjcFfaEQ0SktlE3ppkFo96yu+XvGCQuMU2P2DM5lSYnngLZam+oWfBINH9pVvp+sxN9X7N\n45FtDn5qdF1VkfxRRIuJjg9dS6/X7/LarrplXGWVmCJCquJiudmlvPDIXFwu7+QVk1ni3+9dRWzj\n0Kpti8c8Q9a82tXYSUFmEu8ZQ993dGePjoeaGrdzLltSR6cmHFqxnVnd7+Ib4xV8HzqadQ9+iGwL\nXE92IsbgoKp6tJi+7Y7FpY5DkESajex9WgwbeL64/SFIIoYA++oTg9XCkN9fQrKaq+ZiCAkiqmtL\nuj0/2ed40WjAEhXulfCxZH4Ksp8sREXRWLYwxWtbdO9ExFrKcyl2JynT5p60pEJH50R046Zz3pG/\nbheLrnyaw9v3V9UrpXwxj0Wjn6nT+URJYvCvL1TFz8BTcmBpGEH/jx+uz6l7kXjXaJ9YFngy+Jpf\nN8jPiPqn6RW9uP7gT/R+6266Pj+ZIdNfYvTqDzFYLTUan5dThqr4iZ/JKnm53un9ifdcheQnqQPA\nGGb1TdI5guqWcVfY2DttDr+1vpnvQ0bzZ/8p57wiis7ZRTduOucdm5/90id1XnG4KNq4l8JNe+t0\nzsaXd2N86vd0fX4ybW4fSZ937md8ynenVXUj8e4xNBrYBUOwx5CIRgOSxUSf96YQEtfwtF33RCzR\n4bSfMo4eL99G0+G9EMSafy20ad8Qo8l3ZWsySbRp530P1kaRXLniPRp0aVmVYBPePp5RK99nfOr3\naAGK2c1RYWx/7Uc2PPoJFftzkW0OCtfvYfGYZ8lasKF2N6tz0aB3BdA57yjemuZ3u6ZpFG5OIbpX\nYp3Oa20USdenbzyVqdWYpK05LJqzh7L2l9KhZy9alucTHBNKqxuHEtqySb1fz+lwgyBgNns+8jlZ\npezYko3RINGzXxwRkdY6nXfwiDYs+GMXslupKvsTBDCZDQwa1tp3HofLqTiQi2Q2oaoKFQcPkfrl\nPC794jES7xpN6lfzkY8rtJesZro8eyObHp/m2yTW7mT9Ix+fUnmIzoWLbtx0zmmcJRXs/M+vHPhl\nGaLRQJs7RmKJbYCrxFcuSzRIBDet/6xCgMoKF2l7CrAEGWjTLgbRT71cTZnx03YWzErG6fTEkbIM\nAhphiLkilpRVXH5FG8Ze3wWTnxVRbUjZnc+8mcnsTc7DbpMRRGiTGENkdDCb1mWgqRqCKPDTN5u5\n+c7eXH5FG6/xqqqxftVBls7fi8Mh06tfPMNGtyM45Jj7MDTMwgtvjeLbT9azJ9mjbNK+cyy33tuP\nkFBvl6u73MZfY5/zSWA5+OsKGvbrQJ9378cS24Dkd37DVVJJcLMYer72D4JiGwQsJC9LzUJxuesl\nm1LnwkLPltQ5Z3GX2/ij+91UZhdWpctLQWaCmkTiyD3snUAiCAQ1jOD6zF/qPQFkzvSdzPplBwaD\niKZpmEwGHn52MK3a1t6QFhdW8sR9s3C7/deCARhNEq0To3nyleF17sk26+ftzJmxE7cr8HVOvOar\n748htvGxhqOfvrOKLeszcTo9qftGo0hYRBBT3x1NcIhvrPBofZvB4N/wb/h4HqvfnompsBBrpXc8\nLqJjAtckfVn1syorVX/H4u37mHvpg36VXqQgM5PL59TKlXo20FSV3KVbObRiO+bocFpOHExQbOTZ\nntZ5iZ4tqXNW0DQNW04hTj8rq6pjVJX9vyxj4YgnmD/4EfZ+PhfFjwrG3i/mYcst9qoDU+xO7IcO\n03RUb0SzEWOYFUNIECHNGzJy6X/r3bBt25jFH78m4XYp2G1uHHaZslIHb7/0Fw579bqR/ti5Pfek\nqz63S2F/ShH79hbWac4FeeXMmZ5cY8MGoCoqq5cfU2M5kFbE5vUZVYYNwO1WKS2xs2D2br/nMBhE\nv4bN6XDzn1eW8NlfRSR16Memy8ayrf8VyIZjq60TtSWP/zs26NKS4LiGXsXt4FFuaXPHyHPesMl2\nJ/Mue4Ql177I9ld/YPPTX/Bby5vJ+HPN2Z7aBY3ultSpN7Lmr2fNfe/hyC9BU1ViB3Zh4DdPENz0\nWFKGpmksu/4Vsuatr3IzHVqZxI63fuaaEzo5Z8xc5VdzUal0YIoI5YasXyjcuBdzZBjRvRNPS+fp\nuTOTcTl9i45VVWPjmgwGDm1Vq/MZDRI1maWsqKTuKaB1u9ontGxZn4VG7TwyiqJhqzj2u96xJRu3\nyzf9XnarbFydzjUTu+J0uDFbjIhi9Xf09cfr2b3jELIKGD1/39LIhuzufimdNy5DkEQaD+4ecLwg\nCAyf8yoLhj6Go7gMVNA0ldgBnej91j01ur+KzHz2fjaHkl0Hie6dSOKdo7HERFQ7xnm4nNSvF1Cw\nfjfh7eJIvGtMnRKMkt78iaLNKVXP+9H/r5j0KhNzf8MYWrd4p0716MZNp05UpOeRvWgTBquZuKv6\nU7o3k6UTXvZS3T+0fBvzLn2I8SnfIRo9j1ru0q1ehg0AVaNiXw7LJ/2bYTOPiQCbIvzLIgkGCXOD\nECxR4ac9maC4sNLvdpdT5nCxb9H3yejaqylqgKzA4zEYRMLCa5aOfyKCQI0M6PGYLQY6dz+mKGI0\nSUiS6FdKy253MWXyr0eMm4Err+nEmPEd/b5c2G0uNqw+iHJCuYAmGShu2BSX2UKwWaT7S7dWO7/Q\nlk24bt//kbt8O5WZ+UR1b01kl5q9WBxauYPFVz6N6lZQXW6yF2wk6a1fGL3qAxp0TPA7pjQ1i7mX\nPIBsd6LYnIhmI8nv/M7wOa/R6LKuFCft5+D0v0HViB83gOgegfsBpnwxz2+8EEkgc846Wk4aUqP7\n0KkdunHTqRWaprHx8U/Z8/FsjztIFNDueYeI9s19e5wpKo7iMjLnrKP5NZcCkD5jpf8POpD55xqc\nJRWYI0IASLx3LLnLtvnEWkSjROtbR5yGu/OldbsYigptPmnqZrOBFq2jqh2bm13KxjUZqKpKjz5x\nxLeIxBps4q6HLmHa+2vQVC2gDqMgCPTsF+d338no3ieOX7+rvgZMkoQqg2MySTRvEUnnHseyNPsO\nSGDGD76dqkVJoKLMVTVvW6Wb2b/twOV0M/4m39VXaYnDx7BVnUvTaDhmAENenVyjFkaCKNJkSOAV\nnj80TWPFja96PUOKw4XidLPq9re4asPHfsetvuu/OIvLqzo/qE43qtPNsolTaXPrCHZ9OBPV5UbT\nYOc7v9HmthH0+/BBvwY+0POuKWqthAd0ase57azWOefImLWavZ/NQXG4kG0O5Ao7is1J0eYU/z3O\nKp2U7Eo/tqGadiaCKFC4/lg8p9moPrT9x5VIQR6tQSU4mPyWiYhTbkWOPj1ZkSdytZ+sRYNRJKZR\nKB27BtYl/OOXHTz/yFxm/bydP37ZwdQnF/Dtp+vRNI0+AxJ446OxjL2+M0NHtaVrz6YYjCKWIAOW\nICPWYBOPvjAES1DdMgBjYkMYO6ETJrP3vAUBQsPNPPjUZVwxph1RMcE0ahLGuEldeeKVYV7uxaiY\nYCbd0bNqBQceSS00fAyyy6mwYPZuv+7bstLAX96KwciwLx8hvG3djHhNKEk+6DezFk2jePs+nIfL\nfXa5K+3kr0n2+zy7yyrZ9cEMFLvTI3atqig2J2nfLiJn8Wa/c2g6qo/fbhSoGk2G9az1PenUDH3l\npgNAyZ4MXCUVRHZtVa30064PZvjvTxYAg9VMaOtjK4JWNw9lj5/Gm+Bp3Gk6smoDz+ql73tTSLxn\nDIu/Wc2CVAXJIJGWrrL8n7MZNjqRG27tcVpibUdp0iycp/99BT98sZG0vQUYjBL9B7Vg0u09A8aa\nDqQVHclUPBazcrkUli1MwWF3M/nuPkQ3DOHq67tU7S8qqGTvrjyswSY6dW2MwXhqiTFjr+9Cx26N\nWb4ojYpyB/EJDejUvSmt2kYjigI9+8Uz8fbqE86Gjkqkc/cmrPv7IHa7m7iEBnzzyTqcDl8jJooC\nhQWVNGkW7rXdaJS8VoleCGD2I3tWn2iaFthHK+DXgFUXrlRlBc3PaluudJDy5TyaXuH7O+3573+Q\nNX8Dcrm9qjO6IdhC27tHE9I8tgZ3oVMXdON2kVOWls2Scc9TfvAQokFCU1R6vnYnHR64xu/xjsLS\nmp9cAGOwhebjBlRtatinPRGdW1CS5NsnzRztSQw5ESU6moUHQFZBPs5gLJ2fQtsODenRp37f/DVN\nI3V3Ads2ZWG2GOg3MIHn3hiJpmk1MqSrl+3zm+qvabD27wOk7S3g5f+Oxhp8LHkmKiaYSy5rWa/3\n0aptDK3anprCSsNGoYy9vjPgiZ999ZF/N6osq4RH+PZ1a96iAdZgE+VlvolBiR0aYjKf3q+gBh0T\nMIZakSt8X8giOrbAHOkpfdA0jeJtaTiLyojq2ZaoHm0o3LDHZ4wgCAQqn3KfUL93lJDmsVyz4wuS\n3v6F7IUbsUSH0+Gh8TS/duAp3JnOydCN20WI6pbJX5OM4pZZOfl17PklHo3GI/s3P/05IQmxxF91\nic/YpiN6UZaaddK2JQBBR+SWjgoUH2X0yveZ03cKZftz0BQVyWxCCjIxfM5rZGeWMn/WLrIySohv\nEcmocR3YfKTg+EScTpnFc/bUyriVlzmYM30nG9dkYDRKXD68NcPGtMN4ZKWkKiofvvU3ydtycTpl\nJEngz993cv3k7lxxVfuA503fX8wPX24idXc+gkBAKSlNg+JCG0vm7+Wq6zrXeN7nAkFWE30GJLBh\nTbrXqtRolOjVP96ruPsooiQy5fFBvPvvZSiqiuxWMZkkTGaJf/yz/2mfsyCKXPZ/z/DXVc+humVU\nt4xoNiKZjQz86nHAkzzy15hnseUUIhgkVKebVjcPp2R3OqpLRnW6EQwSkslA+4fGs9uP98IQbKHF\n9ZcHnIe1STR9351yOm9V5wT0Iu6LjKz561lx02toqorqln2SQI4S3acdV637n892W24Rs7rciauk\nwhNzCIAUZPa4FO8a7Xe/pmkcWr6Noi2pWJtGEz/uUnbvLuSDN5Yju1VUVUMUBQxGka49m7JxTYbf\n85gtBj7+/voaufEqyp089/AcyksdVXEjo0miZZsonpp6BaIo8Mt3W5g/M9nHW+UpcvZu4XKU3OxS\nXnx0nl93XSCCQ0y899V1p6xCUl+oikp2ZilGk0Rs49CAK1SXU+az91azfVMWBqOE7Fbo3L0p9z56\naZW0lz+KCytZviiVQzlltGwTzcChrf0aw9NF+YFcdv9vFiW70onunUi7e8dibRyFqij8lnAjtpwi\nLxelIdhCj1fvwJFf6ikFSGxGhweuJbRVE+YP+RdFW1KrMoOlIDMR7eMZvfoDnxe5k3G0x1zu8m1Y\nm0bT5rYRhMTrrsrq0Pu56fhQfiCXWZ3/4aXdFwhLbAMm5f7ud19FRh5bX/yWzDlr0RQVd6Udze1d\nEyVZzdyQ+QvmBr7GwB+qqvHIP6ZTctjXtRMeYcFmc/ktShZFmHx3H4aMPLme5KyftzNn+k4fl6HZ\nYuCfTwxi76585vy+0+9YSRIZN7ELYyf4rrY+eWclG1al1yjF/yiCAD37x/PAE5fVeMzpYtO6DL7+\n3zpkt4KqaURFBzPl8UHEJTQIOKa4yEb+oXIaxoYQGX3udrKuKHOiqP5dpgBZCzaw/Iapfnv5hSXG\nMX73Nz7bFaeLlC/nk/bNQjRVpdXk4STePabWbYqch8uZe8kDVGYXIlfYEU1GBElk0PdPk6C7LANS\nU+OmuyUvIvZ89iequ2Z9sSK7BI7/hMTHMvDrJwCP2siqO97mwG8rQNMQDBKoKoN/e9HHsNntbpYv\nSGHDmnRMZgNDRral9yXNEUWBvNwybDb/q0hbpRtrsIlSl2/cRFXh7yX7amTctmzI8hsLczpktqzP\nZNnC1IBjFUX1mw0IkLa7oFaGDTyLhO0bsykushEZdfaKeA+kFfHZu6twOY89F7nZZbz+3CL++/m1\nBAXI2IyMsp7VeZ+MnKxSpr2/mswDhwFP7PDOB/v7xCArMwtQFf+fCXtukd/tktlE+/uvpv39V5/S\nHLc89yXlB3KrXPyqy6N4s/KWN2g6ohfGYP8GWadm6MbtIqJ8X25VtlZ1SEHmkxbVHkUQRQZ+8ySd\nn7iBnKXbMIVZiR83AFOY99u83ebixUfnUVxkq4rXHEgtYuuGLO7916UYDJLfxDUADY3elzTnr3n+\n29moAWrFTiSQG0wyiORmlfnddxSTWaJbr2Z+90VEWiks8C32NlsMdOnRJKBL1WAUycspC2gkFEVl\n3sxkFs/Zg63STUKrSCbe1rNOqiWBmDsjOaASybq/DzB4RODi5Jpgt7s5mFaENdhEfIsGpy2zVZZV\nVi/bx8ol+3C6ZLLSS7z6zOVklfLmC3/x6vtjiIk99tIV1aNNwDlFdq2d+kwgXGWVbHrqc/b9318o\nDhcx/dpjiYkgY+Yqv8cLBpGcRZurakN16oZu3C4iYi/tRPb89b5uSVFAEAQEUSQ4viH9P3qQhv07\n1urcER0SiOiQEHD/4rl7vQwbeBJCNq/PYF9KIa3aRhMTG0JOpnc2piBAXPMGXDqkFX8vSfNaYYCn\nAPmSy2uWZTj0ykT27S300ksETxp7o6ZhVar2/ujcvQmtEv3X1o26pgPT3l3tc15BELhjSn+Stub6\n1aGU3SoNGwV223723mq2bsisuufUPQW8+eJinnx5eL0ZuNysUr8vFU6nTG529Qb/ZMyblczMH7cj\nGURUVSMs3MIjzw2maVz1sle1RVFU3n7pL/anFvo8H8cjuxUW/rmHm+/sXbUtumdbonq2pXDDbhTH\nsb+RFGSm56v/OOW5aarK/MsfoWR3RpVGav4q/67vqjGa5ldrVad26EXcFxCyzUFx0n4cBSV+97e5\nbQSGkCDvglJRwBQRwoQDPzIxbzrjU76j6YjefsefChtWHfS7QnC7FLZtzALg/kcHYg02VRUfm8wS\nwSEm7nlkAC1aR9F/UAvMlmPvY2azRGyTUAaPrNnqomffOC4d0hKjScJgEDGZJIxGiVvu6s0VV7UL\nOM5qNfLPJy4L+Ibfq188V17T4UghthFLkIGQMDOPvzQUa7CJMeM7+hRUG4wi7bs0IirGf7wqL7eM\nLeszfb6sXU6FX77bUqP7rQnNW0X6rdczWwzEVxNzOxlb1mcy86ftuI4ITjsdMgX5Fbz+7CLcNXSN\n1+ZaB9JvLTVzAAAgAElEQVSKqjVs4NHPPJjm62ocPvc1Wt86wtMJXBQIbx/P0FmvEHvpqWezZi/a\nRFlajpf498nQ3ApNhuvF3aeKvnK7ANA0jW0vf0vSf35FlCQUl5umV/Ri0PdPe7kHTeEhXLX+Y9b+\n832yF2wEoPGQ7vT/30MEN4th3w9/sW3q91RmFhDWqgndp95O86sHBLpsrTAEyAoURaGqk3NcQgP+\nO+0aVi/fT3ZmCfEJDeh/WcuquM/t9/ejR984VixKw+Fw02dAcwZc3rLGtVKCIHDLPX0ZNrodOzZn\nYzRK9OwfT0QDT2yjc/cmJG3NOWEQPPzs4JOKA4+b2JVhV7YjZXc+liADiR1jq5Q9Rl/bCbvdzeI/\n9yBKAoqs0rVXM+560LfU4ij7UgoDXtPfF3RdGX1tRzauSfcyDIIoYLEY6DOgeZ3P++fvSb7GRgO3\nW2HrhqxTOveJbFidXqNMVUGApvG+q0ZjcBCXfPII/f/3EKqs1GtvuMINe5Ar/de/+cNgNdP95duw\nRIWf/GCdatGN2wXArvdnsPM/v6LYnFW1atmLNrF0/IuMXPwfr2NDmscy/M8jpQCqSt7fSez7YQnF\n29PIWrgR9UhpwOGdB1hx06v0//gh2txyajqOm9ZlUFzoX2RYlET6Xnrsi84abGL4aP+rKEEQ6Nar\nWcDYV01p0izcR0kD4F/PD2Hh7F3Mm7ULh81NXIsG3H5/P+Ka12wFExJmpkdf35o7URS4fnIPrp7Q\nmYK8CiIaWAkJqz6zLizcQqDwlLUeU+ibxkXw6PND+ep/aykqrAQNWrWN5q6HBpxSgXVRgL+326VS\nmF/B+lUHWfDHLspKHSR2jOXq6zt79ZKrDSazdERtpPrjRElgxNjAtYqCKCKZ6teZFdQ4CoPVUiNV\nn5CERgz85kkaDepy0mN1To5eCnAB8FPseL+uSCnIzNXbphHextcYyA4Xi0Y8QdHWVM8HL8BjYI4O\nZ2Lub4jVaEJWx6olaXw7bYPvW7zgKf4df2NXRo2rXXzvYkBVVB6+cwalJ5RGmEwS4yZ2ZfS19fs7\n0zSNslIHBoNUL/Vn7/57Kds2Z/s8VxaLga69mrJtY3ZVjFIUwWQ28MJbo+oUj9uzM493pi71iXme\nyANPXkav/vG1Pn8gNE0jf/VOcpdtwxQeTIsbLvdpQOoqreDX+Im4y6tfvUlBZkav/oCobq3rbX4X\nKnqz0osEVVYCxthEk4HytGy/+5Le/InCjXs9skTVvN/IlQ7sucUB9+dklvLNJ+t47dmF/PzNZoqO\nyxpUFZWfv93iNxYiiQLPvz5SN2wBECWRJ14eRkSDoCOCygaMJo8SyKirA68+6oogCIRHBNVbYfW4\niV19BacNIpHRwWw+rrs3eMo5HA6Zn7/xLzx8MhI7NmTgsNZU17O0U7fG9WrYVLfMolFPsWjUU2x9\n6Vs2PfU5v7W8iYMzVnodZwoPYfi8NzBHhmIMs2IMsyIYJASDiDHUiiHUimQx0fe9+3XDVs/obsnz\nHNEgEdQoEvshXwOkOt2Et/P/gQ7YY+oENFXFFO4/6WH75mw+emtFlaLIvr2FLFuYwjOvjqB5y0hK\nSx04AsRCjCZD7ZuOXWQ0i4/g3S+uZffOPMpKHbRqG11tduW5RIvWUTz6/FC+m7aBnMxSJEmgz4Dm\ntOvUiB+/2oh8Yr2hBnuSAmerVocgCEy+qzetE6OZ9v5qrxIAAKNR5KY76zdJKvmDGeStSqpSKTn6\nWfp78us0vrxrlWYlQOyATkzM/Z1DK7bjrrATO7AzjsIy9n46G4PVQseHx5+0capO7dGN2wVAtxdv\nYeOjn3r1hpIsJhoP7UFoC/9tWfx1uD4R0WQgbkw/v52CVUXl8/dXe63KZFlFllW+/GgNr7wzhqAg\nY0CRWUVWCK1jM86LCVESq22tcy7TrlMsr31wFS6XgkESECWRbZuyCPRWc2JGaW3pP6gFslvh2882\neJJ5BM9zeseU/n5jrKdCyrQ5Xo15jyKIAumzVtP2jlFe20WjgSbDenr6IT7xGbs/muVJXBFg77Q5\nDPvzVRr261Cvc7zY0Y3bWaBwcwp7p83BUVBC3JV9aXnjUAzWun/RJ949BrnSwbap36O5FTRVJWHC\nZVzyycMBxzQd1Yf9Py3z+IROQLKaEQSBiE4JDPj8Mb/jM9NL/Kb2A2Sll1JZ4SI4xETPvnFsXp/p\n9aYuSQKtEmPOaYULnfrjePdkx66N8ZcEajSKDBx26m65gUNb06t/PMk7DiEKAh26NKpzX7zqcAdI\nEFFlBTlAdwCA/T8tZe+nf1Y1Pz3KopFPcUP2L7oqST2iG7czTPL709n8zJeoTjeaqpKzeDNJb//C\nmPUfV3Wgri2CINDpXxPo8MA12HKKMEeFYQyp/kPSY+odZM1bj7vimC6kIdhCsyv7Eje6HxEdE4ju\nGbh+TBSFapPTjsY/br+/H8VFNtL3F3vGaB4ppCmP6dp5FyNGo8RDzw7mnalLAXC7ZIwmA3EJDbhm\nYtd6uUaQ1USvfvUXX/NH3Oh+pH69AE32fsETRIEmfnq6HWXnf3/1mzmpqSoZM1fR6ubh9T7XixXd\nuJ1G0metYscbP2HLKiS6TyLtpoxj89NfeMW65EoHFRn57HjtB3q/dU+151OcLg78spzMueswR4XR\n9s4rie5xzACJRkONmx+GJjRi3PYvSHrrZ7IXbfL0mHrwWhImeBcry7LKto1Z5GSVEts4lB594zAa\nJZo1j8AabPKpLxIEaNkmiiCrJzEhyGriuddHkr6/mJzMUho2DqVlm6jT2mBU59ymXcdY3vtyPBvX\npFNW4qB1uxjadYo9a8+ErdJFaYmdqOjgGpc/dHthMukzV+IutXk1IG1xw2AiAsS5ARx5h/1uV51u\n7AH26dQNvRTgNLH99R/Z8doPx97SBAHRKHkEdmVfd561SRQ3ZP0a8HzuchtzLnmAioOHkCsdCKKI\naDbS45Xb6PTo9aflHooLK5n61AJslS6cDhmzxYDZYuC510fSsFEoqXvyefulJaiqitulelQ/zBIv\nvn0ljZrUrWZJR+dM4XTKfP3xOjauSccgiaiaxqirO3DNpK41MrS23CKS3vqZrHnrMTUIpcM/x9Hy\npmHVjl02cSoHf18BJwhtG4ItXLHgTWIHdDrl+7rQ0VvenEVcpRX83HhCjbIRj2KOieDGvOkB929+\n/muS//MLygkyPpLFxPjU7whuWn9iukd5/blFpOzK91K8FwRo3jKSl//r6dOWebCY/7yylLISB5Ik\noqHRs28cdz80oEY91nR0zgTZmSX88UsS+/YW0CDayphrO/H3kjR2bM7xkgMzmSWuvqELY66t3sjI\nboVtm7MpPWyndWIMzVtGVnv8UUp2p/Nn3ylecTnJYiK6dyKjlr9bL6vXwzsPsOONnyjamkp4u3i6\nPDmJmD6B5eXON/SWN2eRgnW7Ec3GWhk3a6PqVTD2/7DYx7ABIAhk/LHmlNtvnEhFmZO0Pb6tXDQN\nsjNLKSqoJCommG8+WU95qQNV1VBVz5fE1g1Z/Pr9Vm6846TPn47OaWd/aiFvPLcYl1tBUzUKCyr5\n6O0VKIrmUzbgcirMnZ7MleM6BpQ/S99fzFsv/oUsKyiKhiBA2/YNefjZwVUd3U9EVVTWr05n5V9p\n2G+/i8iUZIJWria/ZXvyEjtDSDB5n6zn6hu6nFKiVe6yrfx11bMoDk9Mv3RPJtkLNjLou6dIGD+o\nzuc9H9GN22nAGB6M5icLsTr8NUs8Hi1gvzCtmn11x+mUEQJ8uEVRwOFwcyinjIwDh1FO/IJwKSxf\nmMrEW3sgSrpOgM7Z5fvPN/qol/hrfHsUp0PG6XBXxY2PR1VU/vPKEirKvcsA9u7KZ+bP27l+cg+f\nMZqm8cGbK9i1/VDVPLLCEpDGtkR2K54eg4ft/L0kjc3rMvj3e2OIiPQ2cKWpWWx75TuyF25CdcsE\nNYqkzR0jSbxrTFUimqZprL77He+uH5qGYney5t53iR83oM5KQ+cj+jfPaSCmTzuffmYnI6hxVNW/\nVbdM4ZYUSvZkVNWJtZw0BNHsJ6VZg/ix/U9pvv6IjLYSEkCtwmiUaNQkjMNFNiSD/0fILSu4ApQK\n6OicKVRV40BqYa3GeGLL/ssH9iTn+W1a6z7yQueP5O257NpxyMvAupyebgnHN89VFQ1bpZu5M5K9\nxpfsyeDPXvex/8elOAtLcZdWUrY3k83PfMmszv/Anu9JRLHnHaYyq8DvHBSnm5Jd6dXf+AWGbtxO\nA4IoMnzOa5giQzGEBsFJVi+GYAsdH74OgP0/L+Wn2PEsGPwof/a6lxntb6M4aT+dn5xESHxDJOsR\nwV1BwGC10OWZmwiJr1mGZK3uQRC47f5+x0Rpj2AySdxyTx8kSaRZ8wjkAO1LwsItVe1pigoq2Zuc\nR1lJzdXRdXTqA0HwyH4FQpK8vRMms8To8YFdkpUVgUMNgdR4Nq7JqFHXAvD0ptu+2Vsyb9NTn+Ou\nsOPTeE9RseUVs/XFbwFP7C5Qx19NUU+plvZ8pF7ckoIgjATeByTgC03T3jhh/+XAH8CBI5tmaJr2\nSn1c+1wlsmsrbsj8hYxZq6nIyGPP//7AlldcVVN2FNFspN29V5Fw3SDy1+1i1Z3/8VI+KEvJYv7l\nj3D9wZ+4eus00r5bTMbsNVhiwkm85ypiL6mbNmPGwcP89OUm9u7Ox2SSGDC4JRNu7u5V8NqtVzOe\nmnoFs3/dQVZGCY2bhjF2QhfadmgIQGiYhYHDWrNq6T4vpRKTWeL6W3rgsLv56O2/2bszH4NRRHYr\n9B2YwO3396/2C0dHp74QBIF+A1uwatk+v9/7Gp7eepIkggYjx3Vg9DWBP1OtEmNQAnR+b9kmyu92\no1FEEALaHR+swd4ek0PLtwUeLKscnP43l3zyMOaIEGL6dyR/VRKactwcBYGQhFjCWjWp2QQuEE45\nW1IQBAlIAYYDWcBGYJKmabuOO+Zy4DFN08bU5tzna7akP5yHy9n09Bcc+GkpittNZOdWJEy4jJYT\nBxPczJPpuOSa58mYvdbnQTYEW+j77v20vXN0vczlUHYZLzw61+tt0mAUiWvegBffHlWrjC1VUZkz\nI5kFf+yissJFdMNgJkzuTr+BLfjvK0vYlXTIS53EZJIYPLKtnmyic8awVbp44LbffPUs8XQpmHRH\nL9p1iiUyylqjOrfvp21g5ZI0nEdf6ATPc/3U1Cto1da3W/u+lELeeH7RSZupApjNBm69ty8DBh/r\nLv9zs+ux5wTu4WcIsTC5bC4AFel5zLnkn7jL7cgVdgzBFkSzkStXvEeDjgknvf75wJnMluwDpGma\ntv/IhX8GrgZ2VTvqIsPcIJQBnz7CgE8fCXhMaUqW3zc0udJB2b7cepvLH7/u8JHOkt0qOVml7Npx\nqFZahqIkMnZCZ8ZO6IyqqFUJJMVFNnafYNjAk2yybGEK19/SQ1+96ZwRrMEmrFYTZaW+yiCyouJy\nybWqy7z5rt7EtWjA/Fm7KD8iaH3dzd0DlgO0ahvN0FGJLJm/F7dLQcNjxJo1jyBjfzGiKKKoKqLg\nEZfuf1kLr/Ht7rmKHa//GDD7WnG4yVuVROylnQlpHst1+34g/fcVHN55gLC2cQQ3i2HLc19Svi+X\nmEs60PnxiSddxamygiorGCz11zvwTFMfxq0pkHncz1lAXz/HXSIIwg4gG88qLtnPMRc1UT3aUJaS\n5e1SAAwhQTTo3CLAqNqzNznPJ8UfwOWU2Z9SWGeh3uMzI4sLKzEYJa+A+VFUVcNucxEadnHFAHTO\nHu06xbJxTbrPu6MoCiR2qF3MWhAELh/ehsuHt6nxmIm39aTvpQms/fsAsqzSu3887TrFUlnuYtP6\nDJx2mY7dGtPMT6fwzk9OJG9VErlLt/p8N4Annrb7f7OIvbQzAAaLqUrGK+Wr+Sy59gUUuws0jZI9\nGez/cSmjlr/jpW50FGdJBese/JCDv61AkxXC28fT/8MHaXRZ/UijnUnOVCnAFiBe07QKQRCuBGYB\nfp8MQRDuBu4GiI8/vfpw5xpdnpxExszVXur+giRiCg8mYXz9aDFuWptOcZH/sgOT2UB4g/oRbm3U\nJMyvGwg8rqDg4PP3jVDn/OPaG7uyY0u2J+njiIEzmSQ6dG5U4wLsnMxSVi5No7zUSeceTejZL75W\n3ocWraNo0do7LhcSZj6pkZRMRq5Y8CaLRz9N9oKNvgdoGvZDvtJdss3B+oc+8orha0eEnddN+YAx\naz864TQaC4b8i5JdGaguT01tyc6DLBr9NFcuf5foXok1vdVzgvrwC2UDccf93OzItio0TSvTNK3i\nyL/nAUZBEHyd05790zRN66VpWq+YmPpX3TiXadCpBcPnvU54YhyiyYBoNNBocDfGrP0IyXzqxqCo\noJJP310dMDYtCNB7QPNTvg5ASKiZgUNb+bQx8ShAdNXr33TOKI2bhvPCW6Po1qsZQVYjDaKsXDWh\nMw88dXmNxi9bmMILj85lwR+7Wbl0H19+tJaXH5uHw+5HWOE0IAgCrW4ahiHE19shBZlpNtrXWVaw\nYQ9CgLq2wo17UVzec89dto2ytJwqw3YUxe5i60vfnsLszw71sXLbCLQRBKEFHqM2Ebjx+AMEQWgE\n5GmapgmC0AePUQ0cIb2IaTSoC9fu/gZHUSmSyei3l1pdWbl0X8CCb0kSeOzFoQTVY3uQyXf1JjjE\nxOK5e3C7VYKCjIyb2IVhV55fb4A6FwZN4yJ45NnBtR5XVmLnhy82ecl0OR0yudllzJmRzHU3davP\naQYk4bpBbH/tB8r351a1yxGMEubIUBLv8k02MwSZ0TT/3hNBEhBOaF1evDXVx7ABoGkUbfVfw3cu\nc8rGTdM0WRCEfwIL8ZQCfKVpWrIgCPce2f8pcB1wnyAIMmAHJmrnsqjlOYAlqn6bKwKUHLYhB0hj\njmsRSWiohbzcMho2Cq0XjTtRErnu5u5cO6krDoeMJcgYsH5IR+dcZcvGLEQ/jga3W2HFohSundT1\njDzXktnEmDUfsm3q9+z7YQmaotD82kH0ePlWTOG+7bKieydiDLYgl3vXlwoGibir+iMavFd1wfGx\nSGYTqsu3Ju9oRvf5hC6cXEcUp4vcZduQbU6ftvLnKhtWp/PFh2t8CkpFScBolKrUUMIjgrj3X5fS\nOvH8e6B1dOqbJfP38vPXmwMq7kQ3DOaJl4cT2zj0DM/s5OSv28XCEU+gKSqKzYkhJAhLVBhj1n1E\nUKx3rFFxuvglfiLOwjKvrG2D1cyg/3uG5uMuPdPT94veFeA0krN0K8vGv1hlDFSXTPeXbqXzExPP\n8syqR5ZVnn9kDvm55QFXcEcxWwzc9+ilWCxGWraNxlzDPlc6OhcahfkVPDVltpdb8ngEAaIbhvD2\np+Nq5fGQZZW9yXk4nTKJHRoSHGKuryl74SwuY9+PS6k4mEt0z0SaX3tpwBh+ya6D/DX2Oex5hxEk\nCdUt0/3lW+n82A2nZW51QTdupwlHYSm/tbjRp5uuwWphyIyXaVpNF95zAVulixk/bWfZgpSTGjhJ\nEjCZDaiKxk139uKyWqQ+6+hcSMz4aRvzZ+0KWIhtsRh47KWhtGnXsEbn25OcxwevL6/qKiDLKtdM\n6lqtOkptyPhzDUlv/kxlZj4xfdvT9fnJRHZuefKBeLImi7el4SqtJLpn23qN+9cHNTVuespaLdn/\n4xK/SRmyzcHOd347pXNrmkbu8m3s+exPcpdv43S8eFiDTVwxph2Kn3qZE1EUDbvNjdMp839fbCRl\nV369z0dH53zg2knd+NdzQwLuFwSB0sO+ReL+qCh38s7UpVRWuHDY3R4BZZfCrJ+3k7Q155TnmvT2\nL6yY9G/y1yRTmVnAwRkrmdv/AfLX1UxXQxAEorq3ofHl3c45w1YbdF9TLbHlFKLYnf73BVDkrgn2\nvGLmD3mUyswCNEVFkESC42IYtewdghpW3+uttmzblFVjnbujuFwK82YlV+lK6uhcbLTv3Ij4Fg3I\nOOCnpkxWfGrYArF+5UG/L64up+cz1rl73TUgXaUVbH3pG0/R9lFUDdnmYN2DHzJ2wyd1Pvf5hr5y\nqyUx/TpgCPEtdBaMBhpdXveU4BU3vUZZajZyhR3F7kSusFOWls3fN79+KtP1iyh6hFxrhQYFhyrq\nfS46OucTE2/ricl0Qu2mSaLvpQlExdSszdXhYltA9+bhwur7Op6Mgg17EI3+1yxFm1NR5YunDZVu\n3GpJ3Jj+hCTEIpqOqwcTBAxBJjo/Xregq6OghLzVO9FOePA0t8KhlTtwFJaeypR96NGnmUcFPRB+\nDJ8oCrRu57fuXkfnoqFj18Y88txgmreMRJIEwsItjL2+M//4Z817KrZsG13VDup4REkgseOpta8y\nhloDhjNEkwHhIhJPuHjutJ4QDRKjV75Pm9tHYgwNQjQbaTayN2PW/Y+Q5nV7MJ0lFT41J8dfz1VS\nvyumyOhgrr+lu490kMks8dTUYUTHBPv0uTKaJK68plO9zkNH53ykQ5fGvPLOaL6afjMffjuBq67r\nXCvFnW49mxLTMMTn86dpGutXHeTpB2azevn+OsXcAzVKFk1GWk4cUi/1q+cLerbkOYAqK/wUOx7X\n4XKffabIUCYdmh7Q+J0KGQcP8/fiVFL3FFBcZMNpd9MkLoJR4zqwYXU6WzdkomrQsnUUt97bt8Ya\nfDo6Ov7RNI29yfmsX3WQ1D35HMouR1EUNM27IYjJLDFybHvG39S91tco2pbGgiGPosoKit2JFGQm\ntGVjrlzxrt9i7/MNvRTgHEWVFcpSszCFB2NtcszNl/L1fNY98KGXyKlkNdP/owdpc9vI0zafP39P\nYvZvST7NRu95eAA9+sShatV3MtbR0akZqqrxv7f/JmlLDk6n7OkSbpSwBBkoL/VNUjMaJd77ajwh\nobWvf5NtDtJnrKQyq5CoHm1oMqyHj9zW+cqZ7OemU0PSvl/E+oc/RnXLaG6ZyB5tuPzn5wmJa0jb\n20cRFBPB1pe/o3xfNqGtmtL9pVuJG93vtM3HYXcz+9ckH+UFl1Phhy83eVTPLyI3ho7O6WT9qoNs\n35RV1QZK08DtUnx6Kx7FYBQ5kFZUp+xJg9VS1fbmYkU3bmeI7MWbWHPfe14rs8INe5g/6GHGp32P\nKEnEjelP3JiaB6arozC/gmULU8jNLqNV22guG9aGkDDvN8CsjBIkgwh+PlxlJQ4qK1x1emvU0dHx\nZdGfu/32NwyEqmr65+8U0I3bGWLb1O+9DBt4mgxWZObzQ8RYIru2ovsrt9NkSO197Ceya0cu7726\nHFlRUWSVHVtymDsjmRfeHEWjpsc0MEPDzCiBVEoET383HR2d+qGooLLmBwsQFm4hoZUe564rF4YT\n9hxA0zTyViWx87+/su//FuOu9FbiLkvJ9j9Q1ZArHeSvSeavsc9ycOaqU5qHqqh88t9VOJ1yleFy\nuxRslS6+/N9ar2NjG4fRuFm4j6K5wSDSu39zn3oeHR2duhNkDdxOyhJkwGw2YDR5YnBh4RbG39SV\nDavTycstqzouL7eMz95dxcN3/M5zD/3J30vSapVVqWmegu5zOdeivtBfzesB2eZg0ainKNqSiuqS\nEc1G1j7wISMWvElM3/YARLSP51C+r7LB8Sg2Jxse/ojm4wbUOWU3/cBhXE7flhWaBvv2FuB0uDFb\njn3IHnr6ct54fhFlpQ48rZ804hIacOu9fep0fR0dHf/0vqQ5f/6+02e7IMDYCZ1o16kx6fuLEUWB\nOTN28vXH6xEEUGSNrr2acs3Erkx9agFOhxtNg8PFdv5v2kb2pxRy233Vx+Y1TSP5vd/Z8dqPuEor\nMYZZ6fLUJDo9er3f75qKjDw2PfU5WXPXIxglWk4aQo+pd2AMDeLgbytI+3YhmgatJw+nxQ2DT0s2\n96miG7d6YMuL31CwcS+qwyN5o7o9xmXxmGeYmPMbotFAtxcms3jMnoDSXUex55fgKCips+SWpml+\ni7AB/L2rRcUE8+bH49ibnEdBXgVxCQ1qLCOko6NTc64Y046/5u3BbvN++bQGG7n8irYEh5hp2SaK\np/85m8L8Si8N2x2bs8lKP1xl2I7idMqsWrqf0dd2JCY2cMud7a/+QNKbP1UJvruKy9n20nfIFQ66\nv3Sr17H2/MPM7nUfrsPlaEc0aFM+n0vOki2ENG9E/qqkqvPkr95J6tcLuGLBm+ecgdPdkvVA6lfz\nqwzb8agumdzl2wBoPLg7A795EktsA0SL/3YTRzH6kfeqjvIyB38vSWPZwhRCQs0Y/D1kAsQ1b0D6\n/sOUl3kLvIqiQPvOjRg0rLVu2HR0ThNhEUG88NaVJHZoiCgKiJJAh86NePHt0VXtbg7uK6a4yOYj\nzu5yKRzKKferCSuKsDspL+B1FaeLpLd+9ulkItsc7Pzvr8gnvHDv+nAW7nJblWEDz3dZxcE8Di3f\n5nUeudJBwfrdpJ9iOOV0oK/c6gHZFng15io5FkRuMeEyEsYPpCIjnyXXvEDJzgNeD5BoMhB3VX8M\nVkuNr71qSRrffLYBURTQNA1N1ejeJ45tm7JQZBVF0TAYRVRFIzujhHf+vRTZrTBgcCtuuadP9TJc\nflAVlaStuWRnlRDbKJSuvZrpdXA6OjWkSbNwnnltRFX5zYlx7dISe627eguiUG08rzKzGkF3UaAi\nPY+IdvFVm3L/2oTqdPsc6u8FHjwGbv+PS2gx4bKaT/oMoBu3eiB2QCdyl2712a643MQO7Oy1TRBF\nQhMaMeyPqcy/7BEcxWVosoogCoS1acaAz/5V4+vm5ZbzzWcbfOpktm/KZvLdfcg4cJhD2WUcyiml\nuNCGLKtVPdzWrNhPSKiJCZN71Ph6JYftvPr0AspKHbhdCkaTRFCQkWdfH0lM7PmvfKCjc6YIlKyV\n0DIyYFPU0DAzTofstyN4155NA17L0jACze0bhwfPiiwo1jsEEtQ4gPdGFMBPuy8A0XhuuSRBd0vW\nC2cfyhoAACAASURBVL3/cy+GYIvnj38EQ7CFDg9cg7WR/1TekPhYxqd9z5BfX6TPf+9j+LzXGbv5\nU8wNat6qftWyfah++rI5nTKb12Vw8529ufXevpQUO1CUE9wcToW/5u71Oz4Qn7+/msKCShx2GUXR\ncNhlSkocfPTWihqfQ0dHJzARkVYGDmmFyezbeeAfD/SnbYeGmMwSkiRithgwWww8/Mzgast2TGHB\nNL9uENIJ4RDJYqL5uAFe3zmV2QU0HtIdKci3vk40GJCCfEMqhmALrW8dUdtbPe3oK7d6IKpba67a\n8DFbX/6O/FVJWGIb0PmxG2gxcXC140RJoumI3nW+bnmpr9E6yv7UIp7+52wcTjea31QScLtVnE6Z\nIGv1MUCAygoXe3bmoZ5wPU3VyM4spaigssYtP3R0dAJzyz19aRBpZc70nVWrtGbNI2jUJIzHXhzK\n/tRC9u7KJzTUQq/+cTX6/A747F/IFXayF25CNBtRnW6aDOvBgC8eA8BdbmPFTa+S89cWz36XG0ES\nkYLMCIKApqh0enIi26d+531iAZoM60mzK/vW++/hVNGNWz0R0b45g39+/oxes1P3JqxZcQCnw9fl\nUFbioKyk+s7A1hAjlqDAvvrjcTrcCAFiAZIoYKt06cZNR6c+0DQ2rk1HPc4FeCCtiJcfn8+/3xtD\nq7YxtGob43eo3e5m87oMKsqcJHaMrUoQM1gtDJ05lYrMfMpSswlr3YSQ+GNdTFZMfp3sxZtRnW6U\nI7E10WKi4YCOJN45msbDejCj3W1oJ4o+CAKyw3lOdhvQjVsNsB0qZu9nf1K8NY0GXVqSeM8Ygpv6\nf7jOJN17N6NRkzByMktqJesDHnHkayd1q/FD2SDKSkiIicPFdp99oiTQuFl4ra6vo6Pjn22bs8k/\nVFEVHwdPnarLKTNvZjK33ON/lbRnZx7v/HspAIqsIkoC7TrG8tAzg6uSvkLiGhIS19BrnO1QMTmL\nfJNIVIeLvJVJDJs1leLt+5Ftfl6WVY3cJVtRXG6k43pcFu/YR+GGPQQ1jqLpiN5npUxAN24noWhr\nKvMGPYIiy2hONxlz1rL9tR9pf/9Yeky9/Yy1kLBVuti+KRtZVunUvTENIq1Iksizr13B3BnJLPxz\nDw67b4bT8YiigCAKWK1GrpnUlSEj29b4+oIgcMu9ff+fvbMOj+Lc/vhnZCUbDyGQhIQECe4U1+JF\n2gJ1vRVu3W/l1r39tdy63rrLbZECbdFCKVIo7hpPiPvq7Pz+2LBl2dkQhQDzeR4ekpF33tnszHnf\n857zPbwz+3e/CgJXXNdfj5jU0WkkDuzJ1/TGKIrK7h3aIf8Ou4tXn13he57LY/AWzdnJtIt6aJ4H\nUJWZj2g0eGdsPqgq9uIKj5sy0EC4OkobPGkHyy54jNxV20AQEKtdmxOXvUxkt6SAfWgKdONWA6V7\nM1g49A7fP7pbBVR2vzWXtDmrmfbXu/VOuK4t61en8sHra6rD/T2CqpNndOPCS3thMhuYfnlvsjJK\n2Lg2o8Z2+g9O5NqbBxFkMdQ53Big74AE/vX4WOZ+u42s9BJaxYVy/sU96dYrtr63pqOjcxwRUUEY\njJJmtYDIKO0c2K1/ZWmurTscCit+2VejcQvtEI/boT0wlowGzNHhmCIDD+KjB3RGrg5W2fTYJ+Su\n3Op9Zyp41vMWT3qQi1O/Oqlld/ThdgAcZZUsGHyb9mgGQAXrkWI2PfZJk/ajIK+CD15fg8OhYLO5\nsNtdOJ0Ki+bsZMeWbO9xHVJa1qgFaTRJnDsxheAQY70M21FSusZw/5Njee3jmfz72Qm6YdPRaWQG\nj0jWFBkymiTGTOqEohHhXFXpqJbP88d6Ao+OKSKElBvOQ7L4RkjKFjM9H74CUZaQTEaGvn8vksXk\nNVCiUcYQamHIO3d5z9n7/gLNd6aztIK8NTtr7Edjo8/cArDlqc9wlFTUeIzqUkj78XeGvnt3k/Vj\n9YpDPgvLR3HYFZYs2EP33p5aTyndWiFK2kbLYBAZM6kTXXq0brJ+6ujo1I301GK+/2wT+3bnY7EY\nGDu5E526teLDN9Z6o6AFAQxGGcXlxmCQePP/ViFJIkNGJnPFDf29OrGdu7fWfE8AmEwy5WU2QsMC\ni0MMeOUWDOHB7Hr9R9x2J3JIEL0euZJud87wHpN88SjCOsaz89UfKNufRczgrnS9a4bPGp6rwn9N\n/uiN2ApK6/oRNQjduGngKKtk1xtzanWsUEeFj7pSWmL1WVj23WejtMTKq8/9RmZqMaIkIAh/l6uP\njgmm/6BERo7vSJwe8KGj02zISC3mmQd/wW53geopHDznm60oLtXHSKkqKIobUfSk4wC43QprVh7i\nSG45Dz0zHoBWsaEMGZnMmlWH/dyZZaU2nn3oV557fSpigPeVKEn0e/o6+jx+Dc7yKozhwZouxBZ9\nOjLi0wcD3leLvh0p2LDXb7tid3pF5E8WultSg9T/rSKg+vAxiCYD7S8f06R96dYzFpPZfwxiMIj0\n7BvHy08uI/VgocdtaXWhqh73xYzLezH7/elcdl1/3bDp6DQz/vfFZq9hO4rT4dacfbkVt180tNPp\n5tD+AtIOFXm3XXvLIGKPqdfoPd+tUlxYxbbN2X77jkeUJUyRofVeGxsw+2ZN92anWVOwBFI+aSJ0\n46aB7UgxqqItgXMUOcRMaHIsvR+7qkn70mdAG2JahyIb/v5TiaKA2WKgS4/W5GaX+SVWO+wKixfs\nadJ+6ejo1J99u/O1y3RoEKj0miAIpB/+u4yWKAre2d3xOBwuMlJrLrlVV5yVVirSj3iroAC0GtaD\nSctm03p0bwxhFkLbx3HO7JsY+OqtjXrt2qC7JTVoOagLssWs6T+2JLSk9YiexI8/h+SLRyKZTqwO\n0BAkSeSR5ycw77vtrF5xEMXlpu+ABKZf0ZvUg4XVwsf+hri8zI6qqs0yuVJH52wnOMRIVWWAYLVa\nIgAtWlp8tkXHhGhW/DYYZaJbNk7akqvKxppbXiX1u5UgCkgGmd5PXEPXO6YjCAItB3Zh0rLZjXKt\nhqAbNw1aj+pNZI9kijYf8In8kUPMTFz6MuEd25zU/piDDFxyTV8uucZX5PhIdplmYVKAmNYhumHT\n0WmmjJ/Sme+/2OyTMxoISRaQRNFHMFkQBULCTHTu7hskNnVmdw4fKPBr12AQ6TcooVH6vuKSp8lZ\ntumYcH87mx7+CNliotONUxrlGo2B7pbUQBAEJi55ic63no8xKhTJbCRufH+mrHmzyQxbeZmNH7/e\nwhP3LWL208vZtikr4LFut8r7r/3B7KeXa7osjEaJi66uvdq/jo7OyWXseZ3oPygRg1HCZJIwB8lY\ngo1ce8sgolsGYzRJGE0SLVuF8NAz45l4fhdPFQ6LAaNJIr5NOA8+Pd4vradHnzguuaYfJrNMkMWA\nySwT09rTRk3iyrWl/HCOj2E7iqvKxuYnPgtw1qlBUAM5dJsB/fv3Vzdu3Hiqu9HkFBdV8djdC7FW\nObwLx0aTzMRpnZlxRR+/45cu3MO3n23SHPVFtgjikmv6MXhEcpP3W0dHp2HkZpexb3ceIaEmevSJ\nw2CQUFWVIznlCALEtA71emAqKxykHy4iNNxMm8SIGtt12F2kHizCbDGQ0Dai0bw4mT+v57fLn8VZ\n6u/6BLjGsbjJpbYEQfhLVdX+JzpOd0vWEXtxOdue/4rD36wAUaD9lePo+cClGEItJz45AD9+uYWK\nCrtPYIjD7uLnubsYNT7FT5B48YI9mobNZJa57B/9GTgsqd590dHRaRhOp8L631P5c00aZrOBkeM6\n0LVna00D0zoujNZxvhGOgiD4bQPPOl1tclXdiptd23LJziwlJjaUuDbhyHLjGLfQ9nEB1UzMLSNO\niYZkIHTjVgeclVZ+GnALlRl5uB2eta6ds78jff4fTNvwTr2DSzZvyPSLeASPX337lmxGjevos72y\nQrvyt9utUlEeuCq4jo5O0+Kwu3jmoV/JzSrzhPoDWzZkMnJcB664of7lrWpLSVEVz/77V8pKbDid\ndSso7Ha6cJRWYowMQZS0jVR4SgItB3Yhb80uHyMnW8z0fOjyRr2XhqKvudWBA5/8ijWn0GvYwJOc\nWJGaS+r39S/YKQVIrBQEAYPGSCilSyu0vAwCkNIlxn+Hjo7OSWH5L/vIziz1GjbwFA/+bfF+0hs5\nFF+L91/7g4K8Smy22hcUdrsUNjzwPl9Gnc+3CZfwdcwMdrz6PwItWY2Z8xTxE/ojmY0YQi1IFhPd\n7p1J1zunN9Vt1Qt95lYH0n9ai6vKf2bkqrCRvmAd7a8cV692h41pz6/zdvuVl3e7VXqf4x/AMuPK\n3uzcluOTBGo0SvToE0dCUtOKOOvo6ATmj98OaQoeu1wKf61LJ7EJn8/KCjt7d+b5JYKrbpWs9MAF\nhdfe9hoHv1iKUv1uc9idbH7kYwC63zXT73hjeAhj5z2DNa8Y65FiQtvFYgjWFnQ+lTTKzE0QhImC\nIOwVBOGAIAh+2iyCh9er928TBOG0DOUzR4ejOWUSRcwt668CMm1md+ISwr1KJLIsYjBKXH/bYIJD\n/F2dbRIjePSFifTsG485yEBUCwvnX9KTW+8fUe8+6OjoNJzAcRtCgwTLa4PN6gpYUFiUBKxV/nl1\n9qIyDn62xGvYjuKqsrH1qc9x1yBmERQTSVSPds3SsEEjzNwEQZCAt4BxQCawQRCE+aqq7jrmsElA\nx+p/A4F3qv8/reh801TS5q72+yJIJgMp159X73ZNZgOPvzSJrRuz2LE1h7BwM8NGtyM6JrCPPCEp\nknsfPbfe19TR0Wl8hp3bgZws/0hmSRbpPzix3u2mpxZTXFBFQnIkUS20g9eioi0EhxgpOa6gcEhJ\nISl7NrKs86cYgoNIufE8ej9+DbLZSOm+TESTdi03xWrHUVzhGdSfhjSGW3IAcEBV1UMAgiB8A5wP\nHGvczgc+Uz1O3HWCIEQIghCrqmpOI1y/yXBV2Uift4aq3CJApXhnGpHdkynacgDh6IKrqtLv+etp\n0btDg64lSSJ9BybQd2DjJFrq6OicfEaN78i63w+TmVaC3eaqVvWXGDe5M/EJNYfva1FcVMV/nlpO\nbk4ZkiTicioMHJbEdbcN9lurFwSBa44rKBxcVkyfP35GUly4Abvdya7XfqRg4z4mLnmJkMQYvwrc\n3vYkCWO4vxvzdKExjFs8cGyVzEz8Z2Vax8QDfsZNEIRZwCyAxMT6j3QaSv6GPSwefz9uxe0pr37U\njy2AZDbScnBXkmeOJHHaYCxx0aesnzo6Os0Ho1Hi389O4K916Wxcm445yMCIse3p2Ll+gV6zn1pO\nVnpJ9Tqax2D9+UcaLVoGM/3y3n7H9x2QwL+eGMvcb7aRlVFC5z1/ILl9Z5GKzUH+ul3k/7mHlgM6\nEze2L1lL/vIxclKQic43T0U0nL5hGc0uWlJV1fdVVe2vqmr/li1bnpI+uF0KSyb/G0dppUdf8tgF\nWhUUq+fLEX1OpyY1bA6Hgst5YnkeHR2d5oMsiwwclsSt/xrB9bcNrrdhS08t5khOmV+AiMOhsGRh\nYGH0lC7VBYU/mklESb6m8rLbpZC/zuNcG/nlw8SN6+eJfgwP9lQ7uWIM/Z6/sV79bi40hlnOAo71\npbWp3lbXY5oNub9tCThVP4pic3Do6+VE90tp9OtnpBbzyTvrObS/AATo3iuWa28e5BfpVFnhYNGc\nHaz7PRVBEBg6uh3nXdDVW8BQR0fn9KW4oCqgMHpVpRO34g5Yn+0o5pYR2PJK/LaLRhlzK0/kpiHU\nwrj5z1KVXUBFeh5hHeIDrrO5rHb2vDOfA58vQRCg47UTSZk1BdnctALy9aExjNsGoKMgCMl4DNal\nwPHZfPOB26rX4wYCpc15vc1RUnHicm4qATP1G0JhfiXPPPQLNuvfeTI7tuTw2D0L6TcoAWuVk97n\ntKFXvzieuv8XCgsqcVVLdi38YQeb1mfw+P9NQjY0H6UAHR2dupOQHBnQcxPTOuSEhg2g+70Xse72\nN3BV2ny2i5JI4rQhPtsscdE1eqIUu4NFw++kZHc6itUTVLfx3x9w6OvlnLfqVU0XpuJwkrtiC64q\nO61H9sQU5a+80lQ02LipquoSBOE24FdAAj5SVXWnIAg3Ve9/F1gEnAccAKqAfzT0uo2FqqpkLFjL\n7rfmYS8sI2HqYJJnjvBJ1NZCtphImjmy0fuzeMFuv8KER5VHVi45AMDGtelYQozYbS6vYQNPAcMj\nOeVsWJuua0vq6JzmRLWwMHBYEn/+keZTEUCWRaZf3qtWbXS4ZgJFWw+y970FXuMjmgyMX/Q8cpDp\nBGf7cuibFZTuzfAaNgClyk7xjsOk/vg77S4Z7XN8zm9bWD79cVS35x3ldrjo/fjV9Hzgsjpdt76c\n0cLJbpdCxk9rKdy8n5DEGJIuHoUxzNe19+d977D3vQXekY1kNmKMCiVx6mAOfrHUb8QDIAebSZgy\niJFfPdLoZWWeeuBnDu4taFAbg4YncfO9w/22l5ZYyc0qIzomRDOZU0dH59RTVFCJ06nQslUoqqoy\n79ttLF6wG2uVZ8BtMEqIgsDUmd2ZMrN7rd5BlVn55P2xE2NkCLGj+9RLA3LptEfIWLBWc1/SRSMZ\n/e1j3t9thaV8n3S53/tTtpgZ/b/HaTNxQJ2vf5SzXjjZVlDKwqG3U5VThKvCihxs5s/73mPi0peI\n7t8JgLKD2ex5e75Pjodic2DPL0WQJQa/fRc7Zn+H9UgxlvhoRFnCHB1Ox+sm0faCoU1SL611bCiH\n9heiapSbrw2CACGhviMyl1Pho7fW8ecfqcgGCZfTTZcerbjlXyMICtLX53R0mgPZmaW8M/t3cjLL\nEESwBBu5/rbBXHhZL7b+lUVGajGKonoVUH763w7CIoIYOe7EaUjB8S1JvnhUg/onhwZI1hYEDKFB\nqG43BRv3odgdFGzcp/kOc1XZ2DH7+wYZt9pyxhq3tbe9TnlqLmq1z/roCGLZBY9ycfo3CKJI1i9/\nap7rdrpIm7OawW/cQYer6iepVV8mTOvKhrXptSpiqIXBIDFirO+X/ZtPNrFhTRpOp9vr8ty1PZd3\n/7Oaux8erdWMjo7OScRqdfLsQ79QUeHwSuo57FbeeHEl1906mJzMMpTjxNXtdhfzv99WK+PWGKRc\nfx4Z89f4zcakICMt+nfm2/iLcVbZEAQBl9XuffceT1V2wzxTtaXZpQI0Bm5FIX3Oas0P11FWRcHG\nfYBHWUQIsCgrmU7NjKZtuyhuuH0IQRYDQUEGDMaa3QeyLGIweOS6DAaJmVf2pm27KO9+p1Nh5ZL9\nPj57AJfTzc4t2ZQUVTXJfejo6NSe9b+n4nS4vYbtKA6Hwvzvt6Hi1jyvqEC7rlpTEDu6NymzJiMF\nmRAkEUGSkIJMpNwwmY33v4f1SDGucivOsqqAhk2QJVqPrN16YUM5I2duquIOqIkmiCLOCo88TeL5\nQ1l3x5t+x0hBxgbJaTWUgcOS6DcwgUP7C5EkgdlPLaOy0j8ys/+QRC69pi+bN2QiCAL9BiYQFe27\nllZV6dCs1g0gGySKi6xERNW/Fp2Ojk7Dycoo8akk4EWFnMyywM/wSayfJggCA2ffQso/JpE2ZzWI\nAkkXDiPz142oirbxRRSOEcAQkC0metx/6Unp7xk5c5OMBlr07ai5T3W5aDmwM6X7Mynadoh+z9+A\nFGRENFaLFocEEdWrPd3u9lfDPpnIBomUrjG079SSx/7vPIJDjIiS4FFIkQXatI3gulsG07JVKOOn\ndGHc5M5+hg0862+BZn8up0JM69CmvhUdHZ0TEJ8Y4RVOP56aYv4Ut0pebnkT9UqbyO7J9H70Kno/\nfCURXZMoP5TtE0F5LMbIUOTQIESjTPz4/kxZ+yahSScuuNoYnJEzN4DBb93JL+fei2JzeEcVssVE\nr8evYcmkByn4az+iUcZtdxI/aQCR3ZNxFJcTP+Ec4ieeE7BY36mgdXwYr39yEVs3ZlKYX0lCUiSd\nu7eqVUCLJImcf3EPfvhqi886ntEkMWJMB82qAzo6OieXQcOS+P7zzTjsrhqN2fEYjRKF+ZWndJDa\n8pzOHAhZ7FFzOgZBlogZ3JX+z99IZLekk96vMzoVoGRPOtue/4r89bsJSWpNj39dwtZnviBv7U6f\nPDYpyESXW8/nnP/7Z2N0u8nIyy3np//tYO/OI0S2sDDpgq707u9f7+14VFVlyYI9zPtuO1arE4NB\nZPyUzlx4aa9aJYLq6Og0DYX5laz4dR9ZGSVEx4Swe3su2RmlfsEjgZANIrPfn05EZOCyM3nrdrH1\n6c8p3plKWEobej98ZaOue7lsDn5IuRprTqGfe1IODUJV3ER0acu4Bc8S1CoqQCu1p7apAGe0cTue\n8sM5zOl+HYrVv7yDHGzmipL5zWrGdiyZ6SU8/cDPOOyKV2vOaJKYMqM751/cs1ZtuN0qNqsTs1nW\njZqOzilm784jzH56OYrLjcvlxmCUkGWRG+8YzNsvr8blCrCOVY3RKHHOkLbMumtowGMyFqxlxaVP\n+5Tpkiwmhv73XtpfNqbR7qUqu4A1t7xG5qL1HgMn4KPJK8gSLXq3Z+qf7zT4WrU1bmfVG64yIx/R\nqB0F6XY4NRO2mwtff7QRm83lI6LqsCv89P0OKsq0/d3HI4oClmCjbth0dE4xqqryzn9We1SGqo2Y\n06FgtTr56X87GTm+A0aT70BbkkVMZo8BNJokzp2YwnW3Da7xGmtuesWv/qRSZWfd7W/gdjWeKLsl\nLpqxc5/mqoqFyCFmX7F5QHUpFO9Ko2RXaqNd80ScsWtuWkR0batZlA/AFBWGIbT5Rg3u2XHEL0wY\nPF/4PTuPNKgQoo6OzsklK6OUqkqNd5EK6YeLufex0UREWfhl7i4qKxxExwRz0VV9GDA0CWuVA3OQ\nwa+e2/FUZRVgL9IONnE7XJTuzWiStTBXhfYkQTTIVGYWENG18a+pxVll3MzR4XS4ZjwHv1jqN03v\n++z1TaI40ljIBimgmyJQlJWOjk4zpablIAEEQWTazB5Mm9nDT/0/OMRXgaiq0sGGNWlUlNtJ6RpD\nh04tEarD7gMpHakuBUNY4w/mJaOBkMQYKtKO+O1TbA4ie5w8zduz7q04+K07CWoVxa7XfsBZYcUY\nHkKfp68l5bpJp7prNTJ0VDIrlxzQNHAb16Yx77tttG0XxYSpXfTwfh2dZk5cQgRBFgN2m39uW5vE\nCB8JvZqWEXZty+HV534DFZwuBYMs0b5TNPc8ei6mqDBihnbjyKptvoEeokBEtyRCEupXZ+5E9H9x\nFr9f939+E4h2l4zGEtuiSa6pxVm3+CJKEnFj+oIoIgebcbtcbLzvPXbM/q5B7SoOJwe/XMqKS59m\nzc2vkL8hcDHB+nDR1X2JSwjHXD1LM5okDAYRl0th1dKD7N+dz4pf9vHInQvYvyePqkoHFeW1W4vT\n0dE5ebhcbqoqHMy6cyhGk4Qke17DskEkKMjADbcHXkc7FrvdxWvP/4bd5sJud+FWVOx2F/v35LPw\nhx0AjPjsQSxtWnp0IUUBKdiEOSaC0d8+2mT3l3zxKIZ/dD8hSa09upNhFrrfcxFD3runya6pxVkV\nLQnVatXJl/v5hWWLiXPnPEX8uBMG4fjhrLSyaPidlB3IwlVhQxBFRLOBXo9cSa8Hjy9tV3/cbpXt\nm7M5uC+f8Igg5n+3nZJiq99xBoOI4lYRBIG4NuFcf9tgEpIiWf7zXn5bvB+73UW/QYlMmd6NsIjA\nIcQ6OjqNh1tx88NXW1mycA+Ky43RJHPuxI44nQrZmWUktW/B2EkptVYM2rAmjQ/eWONT+/EoEVFB\nvPaRR4jCZbWzfMbjZC/dhCiLIIh0vmUa/V+4scmjw91OF4IsNeqSz1lfFSAQh75eEUCt2s6O/3xf\nL+O267UfKd2T4Q1WUd1ulCo7W5/6nHaXnttoGfmiKNCrXzy9+sWTm1XGN59s0jzu73pwKhmpxbzw\n6GISk6NIPVjoTeRetmgv639P5ZnXphAaZm6U/uno6ATmyw83smrZAe8z6HI5WLxgL+df0oPLrzun\nzu1Zrc6Aa2rHujvX3/UWuSu3oboUlOoIyT3vzEeURPq/MKsed1J7tAqYnizOOrdkVVaBX2isd19G\nvs/v9pIKirYdxF5SUWObBz5drBmFqaoq6XNW17+zNSBKQs2L0sfgdCgc2Jvvo1DicrmpqLDz6/zd\nTdI/HR2dv6mqdLBy6QG/ah8Ou4sF/9txwpw2Lbp0b4Vb4zRBgK49Yz3tl1Zw8PMlfvJYSpWd3W/O\nxRUgevxM4Kwzbi0HdkYO8XfFCbJEqxGeZGjF4WT1jS/zbdxMFo24i2/jZrL6xpdRHP7ixeAxYoFo\nKrdvy1YhhEXUbsalKCpuDcUDl9PNpj8zGrtrOjo6x5GXW44sa79u7TYX5aX+ywsnomWrUEaMbY/J\n9PfsSBTBbDZw8VV9AKhIz/Pq5vojYMsrrvN1TxfOOuOWMGUwwQkt/f7gcpCJHv+6BIB1d7zBoa+W\no9icOMuqUGxODn21nPV3vqXZZvsrxiCZ/TUaBVEg8fzA6gENweFQsFZpG1u/fgief1pYLLq2pI5O\nUxPVwoIzQBkYt1vlrz8z69XuVbMGcM1NA2mbHElUtIUho9rx1CuTaR0fBkBwQoyP1OCxqKiYYyLr\ndd3TgbPOuImyxOQ/3qD9VeOQLCYEWSJ2bF8mr3mD0ORYnOVVHPxMYxpvtXPg019xlvvXP+t+z0WE\nJLdGDq6eSQkCssVMt3suIqx9XJPcx/rVqbV2ZciGvyOyjsVkkhlzXqfG7pqOjs5xhEUEkdA2sCFZ\ntmhvvdoVBIGho9vx1CtTeOWDGdx4x1CfVCBTRAjtrhiDFOSbGydZTHS+eRqyxqD8TOGsCygBzx98\n2H/vY9h/7/PbV5VTiBCgRpIgS1TlFBJ+nJKJIdTCtI3vcvCLpaTNXY0pMpRON05ukqJ8udlleb/d\nJQAAIABJREFULPxhB3+tT9fMkQGQJAHZICEARpPMjXcOoazExifvrAcB3IqKJAkMGNqWQcOTGr2P\nOjo6/gwY2pbUg4WaS+W1ldCrD4PfuhNBFDn4+RIEg4TqctPpxsn0f/7GJrtmc+CsNG41YYmPDlh4\nT1XcWOKjNffJQSY63TiZTjdObrK+HT5QyPOPLMbpUHw0Jo9FEKDfoETOv6QnbsVNm8QIbxJo9z5x\nbFybjsPuokefOBKSzlyXhI5Oc6NLj9YYjJJfUIkgQMcuTZNQDR7VkKHv3cM5L/2TquxCgtu0xKAR\nd3CmoRu34zAEB9H5pqnsee8nvwz7zjdNxRBc9y9F/vrdbH3+K0r3pBPZsx29HrqcFn20i6nWxGfv\nrQ84W/P23yAxeXo32iRG+O2LiAxirO6G1NE5JSR3aEGnrq3Ys/MITsffBk5VYfvmLF5//jcAcrJK\nUVVISI5k/JTOdOzcOIbPGBaMMcy/oLEWFelHcDsVQtvFNmtZwpo465K4a4NbUfjr3x+y5625eGo3\nqHS+9QL6PXd9nZMeU39YxaprXvCU2VFVEASkICNjfniS+Ak157bkZpWxYvE+CvMq6dS9FV/8d0PA\nYw1GiaAgA9fdOog+AxLq1EcdHZ2Tg8up8NMPO1iyYA+VFScOwzcYRS66sg8TpnVttD5UpB1hyzOf\nk/XrRozhwXS57QI63TgZQRQp2nqQ3y5/lorDOSAKmKPDGf7JA8SO6t1o128oej23RsBlc2DLK8Yc\nE1mvhVe3ovBN7EzsBWV++4ITY7jo8FcBR0XrV6fywetrcClu3IqK0eTvzjiK0Shx3W2DGTi0rV7O\nRkenkSnIq2DNb4coK7PTrWdrevWLb/Bz9tZLq9iwNj1gEvaxyAaRVz6YQVh4w8UWylNzmd/vnzjL\nqrzLL7LFTOy4voS0bcWet+ejHlcKRzIbOX/rfwnveOLCyCcDXaGkEZDNRkISW2nuK96ZSvrcPxBE\ngbbThxPeyX+2VLY3Q7MwKoAtv4TKzHxN8VK7zckHb6zBcYzrIpBhAwgKNjJwWBKieHq6D3R0mitr\nVx3mwzfXorpVXC43q5YeIK5NOA89O94nv6yuHNiTXyvDBiBLIts3ZzN0VLt6X+8oW578zMewAbiq\nbGTMWwOi4FeHDTxq/j+PupsZ+z6r17LMqUIf5tcRVVVZf+/b/DTgFjY/8SmbHv+EeX1nsenxj/2O\nlYODULUkBABVUZEtJs19u7bl1liryRz0t3iyOcjAnQ+N1A2bjk4jU1Fu58M31+J0KN60G7vNRWZ6\nCQt/3NGgtsMj62AkBGr9fAd63wAUbjnAoa+XBQyY0zJsR7HmFvPnve/Wqg/NBd241ZGc5ZvZ9/5C\nFKsdVVE8em1WBztmf0/eul0+x4a0bUVYxzZ+GdSCJNJyQCfMLcI1r6GqaBYmBc/a2g23D2Hy9G5c\n9o/+vPLBdNqntGyMW9PR0TmGLRsyNY2K06Hw+7KDDWp70gVdaz3zUxSVnn3jA+5X3W62vfAVX7W8\nkE/kcXzf7goOfbvC55ii7YdYNPzOgAndJ0RVOfj54hqNZ3NDN251ZN8HC3FV+leaVWwO9n/yi9/2\n0d89hik6zCv5JYcEEdQqkhGf/zvgNbr0bI2iMboSReh9ThvOGdKWi6/uy7kTU7AEn7lJmDo6pxKn\nUwkon+dyNuwlP2BoWyZM64yhusyNJGnPzGSDyLU3DyQ4JPBzvv7ut9nyzBfYCz1r+xWpuay+/iUO\nfrnUe8ymRz7CFUBTt7a47S6U+hrHU4C+5lZHHGX+CiUAuFWcpZV+m8NTErg49WtS/7eKsn0ZRHRN\nou30YUimwF/WoCADV/9zAJ+99yculxu3W8Vo9LggL/9Hvwbfg9utsmVjJn8sP4RLcTN4RBLnDGl7\nwrL1OjpnEz36xKFq2DBREug7sGERyYIgMOOKPoyb0oX9u/MIshgQRIFVSw+Qk1mGLAu0S2nJ6Akd\niY3X9vAA2IvK2PffhX7C7UqVnY0PvE+7y8cgCAJ5a3bWWmg9EGEp8aeVoolu3OpI0owRHFm1zW/2\nJgebaXvhcM1z5CATHa4aV6frDB/Tgbbtoli6aC+F+ZV07dmaUeM7+pWYryuqqvLO7N/Z+leWN2du\n9/ZcVi45wH2Pj9ENnI5ONdExIYyf2pmlC/dit3ueFYNBJCjYyIWX9myUa4SFm+k3KNH7e5fudSuP\nVbwjFdFk0KxKYssvwVlehTEsGFOLMO/M7lgkk5Gud89g9xtzcDtduB0uBEn0W5eTgkwMfPW2OvXt\nVKMbtzrS7vIx7HpjDmX7/o6ElIJMRHZPou2Fwxr1WonJUVx3a+2q8taWXdtyfQwbeBbJD+4tYN2q\nVCJbBGGzuujYpaVe503nrOfiq/uS0jWGpQv3Ul5mo1e/eMZN6dxsng1LfDTuANVKRIMB2eLpZ7e7\nZrDhvvdwVfkOyqUgI70fu5rO/5zK7rfnUbI7jRZ9O2KKCmPPO/Ox5hQS2aMd/Z67ntbDG8egnyz0\nPLd64Ky0svuteRz8YgmCKNLhmgn1FiGtyi0i7YdVuKrsxI/vT1Sv9k3Q47/58M21rFp6QHOfJIkY\njCIgoLjcTJ7RjQsvbXx9TB0dncZj4bA7yN+wB/WYqgNSkJFOs6Yw8JVbAU/QyZqbXuHgF0s9lbFF\nAdEgM27R87Q8p/Op6nq90JO4TwMOfLGENbP+A4KA6lIQDBJJM0Yw/OP7EcSmcQ9+9NZaVi49EDAa\n81hMJplZdw2l/+DEEx+so3MGYrc52b45B0Vx061nLCFhDVsWaAps+SUsmfwQJbvSEAwybruTNlMG\nMfLzh/zW9stTc8n7YwemqFDixvY7pZWy64tu3Jo5lZn5/NDpar8kbznYzJB376b9FWOb5Lq7t+fy\nyjMrvGsIJ8JglDCZJNq2a8HMK3vTrqO2cLSOzpnGxrVpvP/qGoTqcabiUhk5rgMFeRXkZJfRNjmK\nqTO7k5gcFbANt1slN6sMSRaJaR2CIAisXnGQud9sozC/ksgWFi64pCfDx7RvsIZj0fZDVKbnEdk9\nmZC22uITZwK6cTuJqG43Ocs3k/nznxjCLLS/YixhHQLnpQDsmP0dfz3yEW67v7+85aAuTFnzZtP0\nVVX58I21/LkmzbvuJskiSi1qwxlNEvc9NoZO3c7cB0dHBzySWw/dNt9HJeh4BMEz+Lv74dF07Rnr\nt3/bpiw+eH0NNpsL1a0SFR1M34FtWLpor4/ikNEkMf2yXky6oFuT3MuZRm2Nmx4a10AUh5NfJz7A\nsumPs/OV/7H1uS+Z2+sG9rz3U43nOUorAy4EOzRSChoLQRC4/vbB3PnQKIad244hI5O54OIemMwn\ndk847ApffBBYvFlH50zh92UHA5aVOoqqep6Jj99e55cPl5lewhsvrqS0xIbd5sLhUMjNLmPRnF1+\nUnoOu8Lcb7YFrNStUz8aZNwEQYgSBGGJIAj7q//XLBAmCEKqIAjbBUHYIghC85+K1YG97/1E3pqd\nuCqsAKhOj2LJn3e/TWVmfsDz4sb180YyHYtoMpB4/tAm6y94DFy3XrGcd2E3VBVWrziEKAoBE0mP\nJT21+IQPvY7O6U5xUVWtK90XFVRRXuobhfjL3F11SvRWgfwjFXXpos4JaOjM7UFgmaqqHYFl1b8H\nYrSqqr1rM508ndj330U+dd+OJfWHVQHPazWsB61G9EQ6Rl9SNMiYIkPpfvfMRu/n8ezbnccT9y1i\n3epUjuSUY61yoqoqBoOIIIAQQMvOaJSOVxPT0Tnj6NKjda28GeAxTAajbymsrIySOg0CFcVNaDMM\nVjmdaahxOx/4tPrnT4ELGtjeaYdLI3kSwF2tORkIQRAYO/dp+j9/AxFd2xKS3JrOt57P+Vvex9zS\nv9BoY/PpO+tx2BUfZXK3GyRZ4v1vLyOqhcVTyu4YDAaRYaMbvvCto9PcOWdwIlEtLEhyza9IUYRO\nXWMIsvhGJSYmR2nqUgoi3gCVo8iySPdesc0md+5MoaHGrZWqqjnVP+cCgSINVGCpIAh/CYIwq4HX\nbFYkzRyBaDL4bRdlkfiJNRcjFQ0yXW+fzoU7PuKig18y8D+3EBSj6dltVKxWJ9lZpZr7BCD9UDH3\nPHouoWEmzEFydcSkTHKHFlx6bd8m75+OzqlGNkg8+uJERo3rgCXYiMks06NvnPdnAJNZJiLKwo13\nDPE7f9IFXZENvrM5QQCLxUj7jtHeih5Gk0RShyhm3VX7pYjyQ9msve015g+4hZVXPUfh5v0Nu9kz\nlBNGSwqCsBTQ0oR5GPhUVdWIY44tVlXV7+0sCEK8qqpZgiDEAEuA21VV1fTZVRu/WQCJiYn90tLS\nan0zpwJ7URnz+v4TW16JjwSOIIuYoyMY8dmDxI2tmx6ks7yKvx7+kAOfLUaxOWg1oicD/3MLkd2T\nG6XPDofCTZd9oynObDLLPPLCRBKTInG53Gz7K4uszFJatLDQb3Cij5K5y6lQWekgL6ecIznltI4L\no32naH1mp9MsKSuxsvyXfezblUdMbCjjpnQmPqFuXhK73cWGP9I4klNOm7YR9BuY4GfEjrJvVx4f\nvLmGovxKVBUSkyP5513DaB0fRmZaMTlZZbSOCyMhyfPKVFWV4h2HUawOonq3RzL6D5oLNu7l53Pv\nRbE7UJ0KgigimgyM+OxBkmaMqPuHchpyUlIBBEHYC4xSVTVHEIRY4DdVVTud4JwngApVVV8+Ufun\nSyqAvaSC7f/3Ddv/7xu/mkiyxcS0ze9rVrG1F5dTlVVASNtWGEItgCet4KcBt1C8M9UnTcAQGsTY\nn55l95tzyVi4DgSBthcOY8DLNxHUKnCeTSBeeWY52zZn41Z8+xsdE8zL712IIAhUlNl55z+/s3fn\nESRZRFVh2sU9mDClM998upmVi/fhrF40l2WxOpcnlAeeGqu7WHSaFblZZTx5/884HS6cTjeiKCDL\nIrPuGso5Q9o22XVVVaWk2IosizU+EwWb9rFi5hPY8ksRJBEEgSHv3EW7S8/1OW5en1kUbfUvt2OM\nDOGy3B98krJthaXsffcnspb8hSU+mq63X0jMoK6Nd3OniJOVCjAfuKb652uAeRodCRYEIfToz8B4\noGGV/poZpogQDMFmzZGW4nCx6/Uffba5rHZWXvUc38RdxMKhd/B1qxmsv/st3IpC1uKNlO7L9Mt/\nc1XZ+XXCA6T+uBrF6kCpsnP429/4acAtOCutde7zP24dTGRUEAaD5ysgigLmIAN3PDjKO/N6+all\n7N5+BKfTjc3qwm5zMe/bbTz3yGJWLtnvNWwALpcbu81FdkYJ7/5ndZ37A1BUUMmyn/ey7Oe9FBU0\nXTqEztnHp++ux1rl8H5n3W4Vh0PhgzfWNmkIviAIREZZajRs9pIKfjn3PipSj+CqtOEsq8JZWsnq\nG14m/8893uMcZZUU70zVbEN1uSnc8resXmVmPnO6XcfWZ7/kyKptHP5mBb+MvY9db85ptHtr7jRU\ne+UF4DtBEK4H0oCLAQRBiAM+UFX1PDzrcHOqX5gy8JWqqv6Fz05zinemaipzqy6FkuO+kKuvf4n0\nuX/gtju9RmzvfxciBZmQzUZcGsZKVdyeQoHHTLRUl4K9qJyDXyyl8z+n1qm/BoOILP/tTlFVFUVx\nk5FaTNt2UaQdKiI7o8TPdemwKxzaVxiwXUVR2bPzCGWlNsLCaz97WzR3Jz9+uRVB9OQPff3RX1xw\nWU+mTO9ep/vS0TkeRXGze+cRzYovAnBwbwGdu59YmKCosIolC/awf08esXFhjJ/axetSbAiHvlqK\n6vJXDFKsDra/9C3nfv+4p6+SJ5JZy9emqm6kY9b+Nz74PvbCsr/V/VXVUwbn/vdpf8VYTJGhDe53\nc6dBMzdVVQtVVR2jqmpHVVXHqqpaVL09u9qwoarqIVVVe1X/66aq6rON0fHmRot+KUhB/qG8olGm\nRb8U7++2/BLS56zWrL+0+805mKLDNfPfAM1vtavSRu5vW+rc3znV8j9HR7Kq6qkw/Mm766mscJCb\nXRYwHeBESJJIZUXtCyMe2l/AnK+34nQqOOwKToeC06kw79ttHNxXUK8+6OgcRcAv8NeLCrVKbclI\nLebft81n8U+72b87n9UrDvHU/T+zYU3DYwLKDmRrFxJVVcr2ZXh/NQQH0Wp4T03dWVNkKJE92nl/\nT5+/1q9sDXiC2LKX/NXgPp8O6AoljUTKPyYimQ1+T4poNND19gu9v1ekHUEMUD1AdbmJHdNX82kT\nZEl7u0EmOCGmzv1du/KwZpKqJAls25RFfEK433pcbZEkgZataj8y/G3xfpwaMkcOu8I7s3/n57k7\nqShvWBVhnbMXURLp3jtWMzRfFAXad2p5wjY+fmcdVqvT+8wcdWt++OZaXA10a7bo0xE5JMhvuyCJ\nRB+n2D/sw39hbhmOHOIZAEtBJgyhFkZ//4RPIJcQqC6jUP0uOQvQjVsjYYoKY/Lq14nun4JolBGN\nBiK6JzFp+WxCEv92eYQkt9bUkwTPqCqsXSzjFj6HMTIUQ5gFQ5gFyWwk5fpJSEH+RlGUJTrNmgJ4\nAlQ23P8e3yZewndtL2Pjvz/AUaa9dhUokEhVwa2otGkbSXKHFsjH5fkYTRLxCeF+24/dP/PKPgH3\na1FeZgtYJDj/SAU/frWVf900l6yMklq3qaNzLNfcNJDgUCNGk+fFLssiRpPEzfcOO+F31WF3cXi/\ntiteVeHwwcBu+tqQdNFIjOHBfgZJMhvpcf8lPttC2rZixoHPGfjKraTMmkLfZ65j5sEvaDnA1wgm\nXzJKU/FfdSnEjz+jdDQCogsnNwH2Io+vO1Ay9urrX+LQNytQrH/PRmSLme73X0Kfx64GwO10kbNi\nC84KK61H9MQcHc6+j35m3e2ve7+0quJm2Mf3kzxzJM5KK/N6z6IyIw+3w+O/F00GQtvFMu2v9/xq\nzX345lr+WHEQ5bjZmcEg8Z8PphMWbsZa5eCjt9ax6c8MRFHAYJC46Ko+DBiaxNuzV7F3Rx6C4Ekt\nECWB1rFhTL+8V52jz1YtPcAX/91Qc6UCAZLaRfHk7Ml1altH5yhVlQ5WLz/Ivt15tIoNZdT4FFq2\nCgE8g720Q0UU5FcSnxBB/pFy1v+eiiAInDO0La8+t0LTk2EOkrn/yXG0T2lYtYzy1FxWX/8Seau3\nAwLhnRMY8u7dxAyun5iyrbCUBYNuw5pbhKvShmiQEWSR4R8/QPLFoxrU11ONXhWgGaM4nPx5z9vs\n//gXj/9cgG73XESfx64+YR03Z3kV2cs3I4gCcWP6etfndr89jw33v49yXKVdOdjMoDdup+O1E322\nlxRbefzehVRWOHA6FI/CuUFixhW9mXi+b7iw1eqkqsJBRFQQ0jGjy6KCSoqLqmgdF0ZwSP2lgxx2\nF4/ds5D8vIoa9fhkWeTVj2boaQY6jUpJsZWXn1xGXk45guipTC8Iglc+y2SWMQcZKC+1+UlqhYWb\nee2jGYiB3IAnwK0obH7iU3a99iNupwvJZKDbPRfR+9GrGpwv6rI5OPztCnKWbcIS35KUG84jrH1c\ng9psDujG7TTAVWXDmleCJTbKr6igFqrbjaOkAkOoxc/lsPi8h8j65U/N89rOGOGNuDqWygoHvy3Z\nz/ZNWUREWhh7Xic6dD7x+kN9cdhdbFiTzuGDhbSKDWXIyGSvUayqdLDwx538vuwApSU2zfNlg8js\n96cTEem/PnGUijI7m/7MwOFQ6NEnllaxYU1yLzonH1VV2bszj/278wgJMzFgaBLBISd+bk7Ek/9a\nROrBohq1II0mCVmWUFxu7HYXBoOIKInc88i5tYq01MJlc7DhX++y/+NffPRpZYuJng9fSa+HLq9X\nu2c6tTVup18Z1jMI2WImNElL/MUXVVXZ8858Nj/+Cc5yK6JBotM/p9D/+Ru9Rs7cMtwTcHLcYEWQ\nRIJiwr3t5K7cSuGm/YQkxpAwdTCTL+zG5Aubvo5UUUElT97/M9YqJ3abC6NJ4ocvt/DAU+NI7tAC\nS7CRi67qw4wrenP3DT9QUuSfDhHTKrRGw7Z21WE+fHMtgLc+Xb9BCdxy33DEJqpsrnNycDgUXnpi\nKWmHinA6XMgGia8/+ou7Hh6lWUuttuRmlZGZdmKRY4ddoe/ABFK6xHBoXwExsaGMHNuBiChLjedV\npB1BVRRCkmO9M7HiHYdZc9Mr5K3b5Sf6AJ6c1u0vfE2P+y4+LStlNxf0T+40YO97P7Hx/vdxVbsc\n3Q4ne975CXtBGcM/eQCATv+cSuoPq/wqFIgmAyk3TMaaV8yi4XdSmZmP26Ugm02IZgPnrfgPEV2T\nmvwePnprHWUlVtzVXkdPTSuFN174jdn/ne598EVRYNadQ3n1uRW4XG7ciupVP7lBQ8PvKIX5lXz4\n5lq/qMsNa9J54dElPPTMeF0W7DRm/nfbOLy/0JtwfbQm2mvP/8Ybn1yE0VS/V1lmeu3V+0VBYMyk\nToyZVKMIEwCFWw6w8opnqTicC6KAuWUEIz55gNAOcSwcdgfOsqoaz3crCta8YoLjm86TcqajD2eb\nOaqqsumxT7yG7SiK1c7hb1dgPVIEQKsh3ej1yJVIZiOSxYRsMSOZjfR79nrK9mfxbZtLKNufhWL1\naNI5y6uw55eyZOrDASMnG4OyEisH9uSxc2u217AdS0WFg4zUYp9t3XrF8vQrUxg9viOdu7Vi7Hmd\neO71qTUu2q9ZeThg6sK+XXls3pDZoPvQObWsXHoggJKIwLbN2fVqc/+ePN5/7Y9a1W0zmWUGDa+d\ntqutoJSfR91N6e50FJtHTagy7QhLJv+bLU99jmLTjpb2QVUxReku9Yagz9yaOc7yKpyl2kUMRbOR\n0r2ZXm3JXg9eTocrx5GxYB0IkDhtCLYCT9SU6tLOxbHll1K4aT/RxySaNwY2q5P3Xv2DbZuykGVR\n07CBR55I66XVOi6Mq/85sNbXq6ywawpBg8dTu2rpAfoOSKh1ezqnHrfiJu1wMaqqYg9gEFRVxWZ1\n+vx+aH8BFWUO2qW0CBh8pKoqb730O3ZbDRG61ZjMMt16xdKjb+2CMfZ//Atuje+04nCSsWAtbkfN\nxk0KMtHxuonIGqIQOrVHN27NHDnYjGg24nb6r0G57U6CE30TuIPbtKTzTX9LcW1+/JMaHyZBFHGU\n/G08bQWloKoNrin31su/s2tbDi6nu8YISEGAtsl1F34+nm69Yvn1p90BZ29aSeI6zY/8IxX8tT6d\n3KxyNqxJw+n0RPK6nNp/V0Vx06W7Z906O6OUl59aRmW5HUEUcDndjJvamYuv6uPnks5MK6GqMnC9\nxTHnpVCQV4koCgwb3Z6+AxM0k8C1KNp+yCfN5yiqy1M/UZBEbfUQkwFBgOSLRjJg9s21upZOYHTj\n1swRJYmut1/Izld/8FlPE40GYoZ1P2FAStnBbM0H6Shuh5PoczpRvOMwv1/7IsU7DgMC4Z3a0O3V\nO1m+pZQtGzORJJGho9pxwaU9/QozHk9hfiW7t+We0KgZjBLX3jwwYMmQutCtVyyt48LIzvCvU2cw\nirV2KQXCZnWydNFe1q46jCQJDB/TgdHjOzZK33U8LPhhB3O/3Ybb7UZxaRuzY2OmTCaZURM60qJl\nMC6Xm+cfXUxZqc1Hpm7pwj3ExYcxfEwHn3bcbjWgJJckicy4vHe901uierYjLcjoV6xYMEjEntuH\n9Hl/+K2NS0EmRn3zCDGDup6UYsVnA7pxOw3o8+S12AvL2f/JL0hmI267k1YjejL620dPeG7rET3J\nW7NTUxVFMMj0fvxq3A4Xi0bc5TODO7I3mwUvrUMxm70uxaU/72XH1hyenD25RlWH/LwKZIOo6W4U\nBIhPiKB1fBjnXditwcmvRxFFgSdeOo9H7vqJvNy/78NgFGmTGMmgEUn1bttud/HU/T+Td6TCOwPM\nydrEn3+k8dDT4+qd43QmsHt7LvO+205udhlxbcK54NKepHSpuxzc4QOFzPtuW40zbFEUaBUXitOh\nEBZuZuL5XRkw1CMYsGNzNg67y09/1WFXWDhnp59xS2gbgcEoYdNwS7ZpG+5n2NwuxaPQ73YTPaCz\nZgWQo3T8x0S2Pvuln3GTjAb6Pf0PkqYPZ/UNL3ustKoimU2M+vZRYkf1DtimTt3RjdtpgChJDHnn\nLvo+8w/K9mViadOSkFrqSXa+eRq7Xv8Rh8PlkyYgyBLDPvoXHa4Yy7bnv0Kx+z6ImcldcUky6jGT\nL5fTTcGRCjb/mVGjCknr2NCAenvBISaefnVKrV08dcFklnnhrfNZu+owq5YexK24GTIqmWHndsDQ\ngBnW6uUHyc+r8HnxOuwKaYeK2LIxi74Dz661PLvNyZHcCg7syefrjzbiqP5cigur2Lk1h5BQExOm\ndeE8jWrUgVi17IBPCSUt3G6VyCgLDzw1zm9fUWFVQJd0abF/3qQoeWq5vfHiSlxON263JypXNohc\nf5tvVG7Wko2svOwZzzqaAAgCwz++n7YXDNO8nrlFOOetepVVVz5P2f5MEMAS24LhnzxAaLs4QtvF\nkTB1MAUb9iIaZFr064go6R6AxkY3bqcR5hbhmAeH1+mcoJhIpqx7i3W3vk7Ois0gCLSZNIBBb97h\nNZAFm/b7jTKLY+JQJf+vh83mYtf23BqNW0SUhb4DE9n0Z4aPQTCaZKZd1L1JDNuxmIMMJLWLJDzS\nQt8BCRiNDXtxbFiT5g09Pxa7zcWm9RnN2rgVFVZxaF8BIWEmUrrEaH72GanFHMkpJ7ZNWI2VqVVV\n5cevtvDL/N2IooDNqh2MUVFuZ/7329m78wj3PT4mYApGRZmdn/63nfV/pFFZYUc9QUi+bBADzvST\nO7QIKP2f1E57Tbdn33ienD2ZJQv2kJ1ZSruO0Yyb3Imo6OC/+5h2hOUXPu4XrbzyyueY9ufbAdNo\nonq044Kt/6UquwC3SyE4Icbnc5CMBloN9ZRzsuWXsOvNOWQv+Yug2BZ0u2M6rUf2CvTNgi1TAAAg\nAElEQVQx6NQS3bidBYR3bMOExf/nqQcHfhJfkd3akrHA4OO6NNqtnpnecS8mWRYJjwicSH2UG+8c\nwpcfbGD1ikMIgCSLTJ3Zg/FTuzT8hgJgrXLwzEO/kn+kArvNoyIx95ut3Hb/SHr1j693u+YgbReU\nIHi0BZsjbrfKZ++tZ/Xyg0iyBKhYLEbue2KM14BVVjh45ZnlpB0uQhJFFMVNu5Ro7vr3KM111V/m\n7eKX+bs1Df3xOB0K+3fnc2h/Ae1T/HO1rFYnj9+3kOIiqzfh/kQYDBJjz/PNMbPbXcz/bjurlx/E\n5XQjiIKPkTSaJGZcGdjdF9cmnGtuChyVu/f9Bbg1aq257U52vTGXIe/cVWOfLXE1u90r0o8wv//N\nOMurvM9f1q8b6PPENfS475Iaz9WpmbN3seAsRBBFTe3KTrOm+CkhxB/ajahorJmJAsNGt/PbfjwG\ng8S1Nw/i7c8v5sV3LuDNzy5m8vRuTZpI/cNXW8nNKvOGdzudbhwOhbdeXlWzKPMJGD0+BZPZ34gZ\nDBLDzm1f73abkmWL9vDHb4eqq6g7sVldFBVV8eJjS7wpE++/uprDBwpx2BWsVicOh8KBvfl8UK3y\nciyqqrLgh521MmxHcbkU9u7K09y3cskBykpsNRq2o18VURJo3ymaR56f4KMI4lbcPP/wYn6dv4uS\nYitut+pj2BKTI7n3sTF0qEVJm0CUHcjyCpEfi6q4KTuQVe92j7Lxgf/iKC73GVgqVXY2P/aJJ3JZ\np97oxk0HS1w0E359keDEGGSLGTnYTBuTk7HD4zAYxGrhWBmjSWLWXUOJjgmpddtGk0xUC0udSuDU\nlzUrDmkm5AqCwI56JvoC9OwXx9BRyRiNEqLoqVdnMEpMmdGdpPYt6tWm1erk4L4CCvK0cxgbiuYM\nS/W4Undty6W8zMaOrTl+n5fL6WbLhky/MHlFUetUgBZANkiEhGpHHG6u1v/UIijIQKvYUKZd3IPX\nP57Bu19ewmMvTqJNW9+q19s2Z5OdWeq3VifLIpMu6MrTr0yhc7f66T4eJWZINySL9j3k/bGDP2bN\nxppXrLm/NmQsWhegqKh01hQVbSqap09F56QTM7gbFx3+itK9GeB2E96lLYIgMLnYys4tOcgGkZ79\n4gkK4KJrDrgCpDzYrE4+fGst2zdls2fXEfJyygmPCGLKzO6cOzHlhLNJQRC45qZBjJ6Qwqb1GYiS\nyIAhbWkd71GQcLnczP9uG8t+3ou1yklichSX/aMfnTRerN51q3m7kWQRl9NNcscW3H7/CMJq4e6t\nLeVl2obI6VAoLKikRXQwcvX1j0cSRSrK7ViC/3ZNSpJAWLg5oKh1IPoPStTcHii5WhQFRozrwOXX\nnbjm2O7tRzSTsF0uNzu25NSpn4HoeO0Etj77JW6b0+vWP4pic7D/01/J+nUDF+74CENozTqTWogB\nC4cKiEb99dwQ9JmbjhdBEIjonEhE1yTvCz8iMoiho9sxcFhSrQ1beWouJbvTcGu4NZuSHn3iEAIE\nq1SWO1ixeD85mWUoikpRYRXffPIXP3y5BbvdxYpf9/H6C7/x6bvrSU/VHoknJkdxwaW9mHZRD69h\nA3j7pVUsmruLinIHiqJy+EAhLz+5jH27/V1yy3/e65lVORSsVU6cToUDe/J4+anljfMhVJPUXjuI\nQlFU1v+eRnSrkIAFYkVJ8AmqAM9344JLe3mLfQZCFD3rkGazzJ0PjfIxkMcyZlKKZluyLDJiTO1c\nvaFhJmSD9issLLxx1D2M4SFMXf8WsWP7+q0/A6hOBXthGfs/+UXzfFVVa3wO2l0+BlEjrUBV3MRP\nOKf+HdfRZ246jUfJ7jR+u+Rpyg5kIcgicpCZIe/fQ9vzh9bq/PLDOex+ex6lu9OIPqcznW+a6pUW\nqw2XXNOXXdtysdtdtQpScNgVfp63i7WrDlNeasdudyGKAquXH+Ty6/szesKJJcmyM0vZtjnbLz/L\n4VD4/rNNPPy8bx29+d9v93MXut2eiMUn/rWIzLQSzGaZUeM7cv4lPWudwqCqKnt2HGHlkgPYrE46\nd2/N3p3a61379+RRkFfB+Rf3ZO63W336YzRJTL+8l6YbefSEjjgcLr79ZJOm2LAsi/Qe0IaBQ5Po\n1T8eUw1ixl16tGbSBd1Y9ONOj80QQHWrXHJtPz/3YyCGjGrHvG+3+W03mWTGT2m8wKXQ5Fgm/PIi\nSy94lIz5a/z2u6rsZP26ka63T/duc7sUtjzzObtfn4OjpILQ9nH0f3EWSdOH+5zb9+nryFm2mcrM\nfFwVVkSjjCBJDP/0AQwhjTeTPxvRjZtOo+CssLJoxF3Yi8q9+XSuChsrL3+W81a+QnT/mpXUs5dv\nZtm0R3A7XbidLrKXb2Hnqz9w3qpXiepx4gAWgJjWoTz3xlQW/G87Sxftq9U5qqr65Ei53SoOh8KX\nH/5/e+cdHlWV/vHPuXdKJgVISAKhBAk9KB0hoKJ0EWmulEWXtSw2XP2prK5lBVfXvhRXRWTtBV0F\nBBGRJlhACBBaCDWhJKEkgRBImczM+f0xISaZO5kJCaRwPs+TJzO3nHvm5Ga+97znLfH0jGtBcL3y\nZwDJ+zK9hjakHMzy2ObNrOdySZL3ZQJu0+H3i3eTvD+TqdMG+vU5PnsvnrU/7C92nEncfszrsZom\nOLg3g2GjYwkKsfDNF9s5lZlLw4ggRo/v7NVJRgjB0BGx1KsfwPtvbvBYMxOaYOJdPQlr6J95bsyE\nzlw3oBXb4lPRdEHXq5uXW9KoLGENA7nn//ryzoxf0HS3l6TLJRk0vB1dejbzu53z5KZnsuPl+RxZ\nugFzvUBip4ym9aTBxU5YQc0iDFNnCV0jsEnptddfJr9O8pc/FmciyTmQxrrbXwQpueKW64qPszYI\nZmTCXA4t+In01VsJbBpO60lD/CqFpSgfJW6KKiH5izU48+0e9eSc+Xa2vzKf/l96Fks9j3S5WHfb\nv0rFErny7bjy7fxy12vcvPEtv/sRGhbIhDt6sHaF76BgwGuaJ10TbNucSl8fnqH1QwOMrFUAhs4U\nFqvJr2S9hXYne3efIHl/pjuGqxwOJ2fx4/J9pcSmPO9QIaB+qA0hBNcPasP1g9r47E9J4q5rSdLO\n46xfm4zLJd3CIuGuKXF+C9t5wiODGTDMdwkZb/SIa0HHzlEkxKdSaHdyZZcoD5OqP+SmZbCoy2QK\ns8/hKnSP3Ya/vkHaqi30++RJANpNvsldWLRM3kjNYqb9fSNKtZX8+WqcZbICOfMKiH98bilxA3fM\nW8z4/sSM71/hfiu8o8RNUSFOJ6aQmXCA4OhIIvteWbw2l733KI5zBrMSKclOPFRum6d2JlN41jMx\nNEDWtgMUnD6LtYH/Hpoms06ffjH8ujbZS5kUN+dnXEYmNgnIsrmcDIi9qjEBNrM7jVOJwy1WnaEj\nPE1jkY1DPEr8eMPlkuxPOulT3OI3HMHhpeqDQf1arFYTHTtd+MxACMGdD8QxdEQs27emYrWa6N47\nmnr1jZ1ELja2QAtx11Uud+i2f32K/fTZUtUzHOfyObToZ7K2HyCsUyvCOrWi1+wp/PbgGwizDtKd\nDPnqf99Hw66/PyBkbTuAFmDxEDeAnORjuBzOchxJFFWFEjeFXzjyClg95lmOrduOMGkgITAqjCEr\nXyO4eSShHa/AFGzDUUakhKYR2sk/s2JVMvEvPcnMOMfexBNounAnyhXu33rRTCOiUTAtYsLY8FOK\nxxqd0+miUzffgd+arvH49EG8On1lsfu80+Ei7rqWDCqx7pOXV8i+3Sfo2Lkx6Uez/aohZjJp1Gvg\nWzDczxcCj8SKQGCQBXuBA71oDc1mMzN1+sAqyYfZpHl9mjSvWMacyiClxGUvRLOYqzxe8si3GwzL\nQkmHk7QVmwnr5DbVtrtrGFeMuZbU7zchpaTZ0J4eddcCm0UgC41nzuZ6gYjLOBfppUSJm8IvNj42\nh/QfE0oFm+YcTGflzU8xKuFdrri1H+sfnO1xnjDrdHpiQrlth17ZEnOIpzAiBGFdW1do1nYeq9XE\n1GkDST1ymqOHThMeGUxMm4akHz3D0cOnCY8MomXrhpzNKSBp53FyzuRjL3AiNIHZpDF2Uje/ZyJN\nmtfn9blj2Lv7BDnZ+bRqG17KNLZq2R7mv78Z3aThckmcLpfbDb9I4HSThsvp8phhaZpGVz/Wjnr0\njmbpgl24DOLGAmwmpr02jOT9mdSrH0C7jo0uevqzkricTna8+gWJM7+mIPMM9TtE0/OVe2g29Gq/\n25BSkjhrgXt2lZWDJSyELk/fRocHR1eZyJmCjNf6hEnHVMaxwxoaQswE7ybEsKtiqNe2Gad2JJda\nn9MDrcRWYZ8V5SMuZhXmytKjRw8ZHx9f3d247HE5nXwcNMwwU4NuszJi01sUZOWwfMjfPDOh26yM\nOzLfZ1XhY2u3sWL4k26HErvDXVE8wMKwn2YR2vGKqvw4HuTnFfLT6gNs35JGg1Ab/Ye29WkK9Jek\nXcd5/blVHh6Sui5oFFUPk1nj2v6tSDuaXZQqy/1UbzJpPPLMAL+rJrz0zA/s3nHcY7vFqnPPw9fQ\nI8443uxi88vk1znw2apSJV50m5Ub/vcszYf5V4w24fmP2fHS/FJrsnqglci4jmQl7KfgVA4N2kfT\n89V7aHaj/wVuS5L4n4XEP/GuYSmasYc+JyC8YjPU3PRMfhj2d3L2pyJMOq58Oy3H3UDfeY8pk2Ql\nEUJsllL6DIRUMzeFTzLi9xoKG7jNNnnHT5E4e4GHsAEg4MBnq4mdMqrcazTu15nRu94jYfpHpK/d\nhjU0mA4PjqF++4uflDjAZmbQTe0ZdFP7Cp9rtzvZuTWNvLxCOlzV2MOh4vtFiYYpqzRd4/rBbRhS\nYl3u5j9cxd7dJwgKthDbKapCWV28PaPaC5wkbDpaLeKWm5bBgU9Wuh2NSuDMK2DTY3P8EjdHvp0d\nL8/3SFzszC0gfdWW4venEw+x+g/TKySaJWl/7wjSVmwmffVWnPn2otgzybUfPF5hYQN3FYBRW+eS\ntf0AuakZhHaKIajphacBU1QcJW6KcklbvZUfbnzC635XoYOwzq3IOWCcEcKZW8DZFP+yRRz8fDUH\n56/BWVDI2YPpbJgyi73zvmPoilfQreUXSK0OErenM/vFtW7HE+lepxtwU3vGT+pWbHo66SW9VqHd\nSebJ0vsaRgQRF3FhjhHegqU1TRAUUj1jl7l1P5rV7CFuANlJh5Eul2Gu05KcO3TcMHjaCGdeAZum\n+ieaZdFMOgMW/ZOTv+0mffVWzPWCaDm2H7ZI/2LuvHHeEUVx6VErmwqvSJeLtRNf8Lo4Du6Cp9aw\nekT06YgwMLeYgm0+Y9zAnaA2YfpHbjfrojRHjrP5ZG7Zy553vr3wD3GROHfWzsx//UheUVLi/HwH\nhYUu1izby6ZfDxcf1y42El33/HIOCDDRqhIJfcvSf2hbw6Bpk0njmhuq58vVFhVm6KQBYK4f5FPY\nAAIahRa75vtD9u7D/HLPv1k15lmS5iyh8JyxF64RQggie8fS+cmJxE4ZVWlhU1QvStwUXsnaftDY\nvf88QhAz/gYArpo6Dj2g9AxBmHQCwuvTokxWBiNSvl5nmEDWmVvA3veWlXtu9p4jbH5qHr/eO4PD\nS369JGm/Nv6SgtF6dUGBg2XfJBa/v3FUR8xl6snputsLsns5deDOHjrO+gdmsiD2zyzr/whHvvXM\n1F+SK7tEccOQNpgtOiaThtmsYTa7y700v6J6vqQbdm1DUHSkh4jpNisd7h/pVxvWBsFEj+yDFuB/\nTtO97y7l8KKf2fjYHBZdeVe52fVdDicpX6/jxwnP89Ndr3Bs3XbDv6ui9qHMkgrv+PgntzUKpcfL\nkwGo16oJw9bOYP0Ds8jYuAehC5qP6EPcf/6KbpA7z+NSDpdHYtrf93kXq6S3F/Pbw28WP93vmfst\ngU3DGbP7fczBFU9k6y85Zwo8Um4V78v+/YEgolEwz7w0lI/f3cSeXcfRdY2efVow8e4eXqtUZ+89\nwpJeD+DIzUcWOslOOkLGpj1cOXUcXf/xJ8NzhBBMuLMH1w9pw9ZNRzHpGt17R9MwouIBzVWFEILB\ny15i+ZC/kZuaidAELruD6BFxdJ02ye92rpk3lTXjnuPYmgQ0a1HdQU14OH+UxZmbT26ag81P/5e+\ncx7x3G8vZPngv5G5ZS+Os/kgBClfrKXtX4bRa8YDFf68ipqF8pZUeEW6XMxvOpb8455Bx0HRkYza\n9i6W+p5u+q5CB2gCTfffKyxr2wG+7fOgR/YHPcBC56dvo/OTEz3OOXf0JF+1us3QbBXaKYZRCe/6\nff2KsnvHMWa8sMYj24imCa7p34q7psR5nHP+f82XK/jKkU9z5NsNHg8XeoCFW1M+K2Uuy03L4PAS\n96yu+fDeF8VpweVwcvK33Uini4he7Su8/imlJGNjEudSM2jYtTUhLaMASFu5mW0vfsbZ5GM07NGW\nLk/fVu76VE5yOmf2p1KvTTPsp3NY3P1eo9A+DyyhwUzM/MZj+553l7Lxkbc8rBN6oJVh62YS3s13\nblHFpUd5SyoqjdA0+n3yJKtGPlOc81EPsKBZzQxa+qKhsAEehU/9IaxzK1qO7ceBT1cVz9SEWSeo\nRSNiHxxteM6hhT8bVkkGOLXjIDkpx7zm6HM5nKSt3Ez+idNExMVSv03FchG2v7IR0S1DSdmfWZzm\nSwh3fN2IW680PMff+Ka0VVsMZ82a2UT6mgRixrlNwTtn/I8tT/4XoetIJBv/7y26Tv8zV02tugrO\naau28OP4f7q9ZYvixPu++ygtx17vdxtCCCJ6daCk7Ca9s4SNj75dPPs6e/g4qd9tZNCyF2l8bSfD\ndkJaRhULo8sZgaVBMPZTftTD8yKA+z743tDs7swvJOXLtUrcajlK3BTl0mRAN0btmEfS24s5nXSY\niJ7taXfP8CpfbM/PzObo8k2lv9QlBITXxxRkHEztsheW8+QuyErYbyhuWTsOsnzQVJx5dqSUSIeT\n5iP60O+TJ33GIBWcyiEnOZ3gFo3427SBfPPldtau3I+9wEnHTlGMndSViEYhfn5qY3Sr2djkJsBc\nNBYZm/ey5Zn3i1I8/R5Yv3X6hzTu15mIqyse1lCWc6knWTXqGQ8B+OmOV6jfvvkFewE6ikIBSn1G\nl8SRm88v9/ybWxI/8NmGput0fuZ2tj79vkeYQEmEWafFLV7WfL1ZraRU6251ACVuCp+EtIyi5yv3\nXNRrJM5egP3U2VJOJdLhJGvbAdJWbqHpYE8rRLOberNp6juG7QmTTlAzTxOdy+nkhyGPk3/idKnt\nR75dz45Xv6Dz3/9o2J7TXsj6+2dx8LNVaBYTLruDK/5wHWPefZRbb+9GTsoxCrLO0CCs8vkVW98+\nmKR3lpTKBnOeqIHdAffaoivfc78z307SO4urRNz2zvsOl8F6p8teSOKsBVzz36kX1G7mln0ILybr\nM0lHyNi8l/DuvmdNHR+6BSEECc997F6flBJc7h/pcqEHWgloWI/uL9xleH6r2wdzavtBHGUeJEw2\nq0dyY0XtQ4mbokZwZPF6wy9zx9k8UlfEG4pbg/bRRPSO5eSGRI99ITFRNDT4gkxfvdXYFJVbwO43\nFnoVt98efpODn6/GmW8vjttK+XqdOyYv5RindiSjmU1I6aLb83fS8a+3+PzM3uj2/J0c+2k7Z/al\n4jibh26zIDSN/l9Nw1TkkZp/8rSxA45Lkn/Su3dgRThzIM3wbyKdLs7sT73gds3BNq/mZIBf75vB\niI1v+2xHCEHHh26hw5RR2E+fxVIviFM7k0l6ezG5aRk0HdyTNncM9Vohu+2dQznw0Q+c2plcfE+Y\nggKImTigSh4OFNWLEjdFjcASamzK0ywmrF72Ady4bgarbn6K1BWbEUIgNI16bZsxeNlLhmtc+Sez\nvZqc7Ke9BFyfy2P/B8sNMm3YSflqrXuxzSWL929+8r8ENYv0KEzpL+ZgGzdvfIvU5fGc+HUXtsZh\nxEy4gYCGv2fKaD48jrQVmz2E2hQUQPObel/QdcsSGdeRwwt/9riGZjUT2dd4XdEfQjvFYA2tR27u\nScP9p7YfpCDrjM+UbcX90fXisWnYtQ195z7q13m61cKNa2eQ8r+1JH/xI3qghbZ33EgTgwcpRe2j\nUuImhLgVmAZ0AK6WUhq6NgohhgKzAB2YJ6V8qTLXVdQ9OkwZRcamJI8vUqFptJrovWCnbjIxeNnL\n5B7L4tS2A9iiwspdC4rs3cFraEF4T+Ng8/zjp7xncpd41rDLLSDhnx9fsLiB+wu7+bBeHtk2pMvF\nqR3JNOh4BYFNwzl76Hjx7EqzmgmMakjr2wdd8HVL0vq2gWx77iOc+fbfzcVCoAdYvDr5+IMQgl6z\nH2DNLdO8HWEY83gx0C1mWk0cWO49pqidVDaIeycwBljn7QAhhA68CdwIxAIThBCxlbyuoo7RYvQ1\ntJ40BN3m9sbUA63oARbi5jxMcItGPs8PbBxG0yE9fTo5hMQ04Ypb+6EHli4kqgdava4r2pqE+4z5\nK8u5Q55JjI2QLhd75n3HN93u4avWt/Hbw2+Se8yzgje4PRfnNx3L0msfYvmgqdizzxE96hoCm0UQ\n2Cyc2AdHM3zjW5gCq6aumjkkkOEb36Lp0J4Ik47QNBpf14nhv75BYFTlEku3GNkXW2Njp6R6bZsS\nENGgUu0rFFUS5yaE+BF4zGjmJoSIA6ZJKYcUvf87gJTyRV/tqji3y4/TSYdJ/X4Tus1Ci9HXXJQU\nSC6nk10zvyZx1gLsWTk07NmWni/fU+46S/yT89g9e2EpzzzNaka6XEiDgqgRcbEM/+UNn31ZM/6f\nHF26oXjGqplNWBoEMzJhbikByUlOZ9FVd3t4BpqCAhi96z2Co30/ABhx5kAaR5duQOga0aP6eo2T\nczmcIOUFhXl4I23lZlaN+gdOeyHS4USzmNAsZoaueo2InmrNS2FMTYpzawocKfH+KOA1s6kQYjIw\nGSA6unrKdCiqjwbto2nQ/uL+3TVd56pHx3LVo2P9Pqf783ciTBqJMxcgnS6EJmh//0hSV8STnXio\nVNUE3Wal23N3+Gwzc+s+jny7vpRLvKvQQcHpHLa/9Dm9Z00p3r77zUWGwequQgdJc5bQ4193+/1Z\nzhP/5DwSZ36NxG0q3DT1HXq8MpnYKZ4mR18hEmcOpLHj1S84uX4XIa2acOVj42jUp2O55zQZ2J0R\nW+aQOHsBp3cdomGPtsQ+OPqChVqhKIlPcRNCrASMImGfklJ6hv1XEinlXGAuuGduVd2+QnEeR24+\nqT/E4ywopMmAbuWWNhGaRvfn7qTL07eTf/I0AeH10a0WOj0xgV/ufo0j3/0GuOPyes18gCYDuvm8\nftqKzYaCJQudHFnyaylxy9592Fjc7A5OJx7y5+OWvvbKzex+Y6GHk0z843OJur4LoVf6X50gY8te\nll3/iHttzuHk1M4UUn+Ip/cbD9L2jhvLPbd+2+bE/eehCvdfofCFT3GTUlZ2pTUVKJkhtlnRNoWi\n2ji85FfW/vEFhKYhkchCJ12nTeKqv40v9zzdYi5lurOGhtD/6+kUnsvDcTaPgMhQvzORmEMC0cwm\nnAZmzbJ5McOvbk/amgRcZcRID7AQ0aviJrykOUsMQyJcdgf7Pvieq1+7z++21t83s3QVdSlx5hbw\n20NvEjO+Pyab1fvJCsVF4lJUBdgEtBFCtBRCWIDxwOJLcF2FwpBzR0/y4/jncZzLpzAnF0dOHs58\nOwnPfUza6q3lnpvy9TqW9LqfL5qNY/Wt0zi1MxkAc5ANW6Mwv4UNcGfOMFjz1gOttLtvRKlt7e+9\nGd1aJgF1kediu7tv8vua5ynIPGO4XTpdXvcVnsvDaS8d9+YssJO5eZ/h8UITZGxMqnDfFIqqoFLi\nJoQYLYQ4CsQBS4UQy4u2NxFCfAcgpXQAU4DlwG7gSynlrsp1W6G4cPZ//INhALQjN5/EmV97PW/r\n9A/56c8vk7FpD7lpGRxa+DPf9p7CyQv8ArdFhnLt+4+j2yzoNitC1zAFBtB0cA/aTS4tWLZGYdz0\n0yzCe7ZDM5vQzCYirm7PTT/PuiDPwuiRfTw8RsFdf6/ZsNJxcsd/3sGiznfzaehIPgkZzupbniX/\npDvDi9B1MKhXB4CU6GrWpqgmVFUAxWXH+gdnk/Sm8XJxw25tGBE/x2N7fmY2XzYbV5TLsTT+ekZ6\nI+94FilfraPwTC5RA7v59BS0Z7uDzb0lrvaHwpxcFnWZTG5aRnGcnB5goUFsC4av/0+xV2TWjoMs\njZtSKkWVMJsIbtGIMYnvo5l0Vo3+B0eWbvCIH7RFhTHuyBd+FSVVKPzFX29JddcpLjsaX9cZU7DN\nY7tmNdNkUHfDc06uT0QraxY8v++33ZVKtGtrFEaHB0bR6e9/9MsF3lI/uFLCBu71vhHxb9PxoVsI\nbtGIkFZN6PzURIatm1nK3X/bC5/iKLPOJwsd5B3LKi6gGvf2wwQ2DS8eUz3QijkkkP5fT1fCpqg2\nVPotxWVHi1F9SZj+IWf2pxa78AtNwxQUQOxDxjkhzfWDvAZym2zWCq211RSsoSH0eOkv9HjpL16P\nyYzf405GXAbHuTxObT9Ii1HXENg4jFuSPuDQgp/J2LyH4Csa02riwHLTpikUFxslborLDs1s4qZf\nZrPlmfc58OlKXHYHzYb1osfLkwlsHGZ4TmSfjpiCbBTm5JVuy2qmVRWlu6qJBMdEkXMw3WO7KchG\nUInMMbrVQsyE/sRM6H8pu6dQeEWtuSkUfpKxZS/LB07F5XDiLLCjWy006BDN0FWvYzYwc9YF0lZt\nYeXIpz3qy1lCgxl7eD7moLr5uRU1l5qUoUShqBOEd2vLuNQvObTwZ3JTMwjv2Y7G/TrXSpOkvzQZ\n0I1eM+5n46NzEJpAulwERDRgwMLnlLApajRq5qZQKHziyCsgc8s+zME2QjvF1Jp58ecAAAPrSURB\nVGlBV9Rs1MxNoVBUGSablUaVqOGmUFxqlJ+uQqFQKOocStwUCoVCUedQ4qZQKBSKOocSN4VCoVDU\nOZS4KRQKhaLOocRNoVAoFHWOGh3nJoQ4CVS8zPDFJxzIqO5O1GLU+FUONX4Xjhq7ylETxq+FlDLC\n10E1WtxqKkKIeH+CCBXGqPGrHGr8Lhw1dpWjNo2fMksqFAqFos6hxE2hUCgUdQ4lbhfG3OruQC1H\njV/lUON34aixqxy1ZvzUmptCoVAo6hxq5qZQKBSKOocSNz8QQtwqhNglhHAJIbx6Cgkhhgoh9ggh\n9gshnriUfazJCCHChBArhBD7in6HejkuRQixQwiRIIS4rGsd+bqXhJvZRfu3CyG6VUc/ayp+jN/1\nQojsonstQQjxj+roZ01ECPGeEOKEEGKnl/214t5T4uYfO4ExwDpvBwghdOBN4EYgFpgghIi9NN2r\n8TwBrJJStgFWFb33xg1Syi61xd34YuDnvXQj0KboZzLw9iXtZA2mAv+LPxXda12klM9d0k7WbD4A\nhpazv1bce0rc/EBKuVtKucfHYVcD+6WUB6WUdmA+MPLi965WMBL4sOj1h8CoauxLbcCfe2kk8JF0\nswFoIISIutQdraGo/8VKIKVcB2SVc0ituPeUuFUdTYEjJd4fLdqmgEZSyvSi18eARl6Ok8BKIcRm\nIcTkS9O1Gok/95K637zj79j0KTKrLRNCdLw0XasT1Ip7T1XiLkIIsRJobLDrKSnlN5e6P7WN8sav\n5BsppRRCeHPRvUZKmSqEiARWCCGSip4iFYqqZgsQLaU8K4QYBizCbWZT1BGUuBUhpRxYySZSgeYl\n3jcr2nZZUN74CSGOCyGipJTpReaLE17aSC36fUIIsRC3eelyFDd/7qXL+n7zgc+xkVKeKfH6OyHE\nW0KIcClldedNrA3UintPmSWrjk1AGyFESyGEBRgPLK7mPtUUFgOTil5PAjxmwkKIICFEyPnXwGDc\njjyXI/7cS4uBPxV5rvUGskuYfi93fI6fEKKxEEIUvb4a93dh5iXvae2kVtx7aubmB0KI0cAbQASw\nVAiRIKUcIoRoAsyTUg6TUjqEEFOA5YAOvCel3FWN3a5JvAR8KYS4C3eVh7EAJccP9zrcwqLvGxPw\nmZTy+2rqb7Xi7V4SQtxbtH8O8B0wDNgP5AJ3VFd/axp+jt8fgPuEEA4gDxgvVUYLAIQQnwPXA+FC\niKPAs4AZate9pzKUKBQKhaLOocySCoVCoahzKHFTKBQKRZ1DiZtCoVAo6hxK3BQKhUJR51DiplAo\nFIo6hxI3hUKhUNQ5lLgpFAqFos6hxE2hUCgUdY7/BxX2voQojlK1AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import sklearn\n", + "import sklearn.datasets\n", + "from init_utils import sigmoid, relu, compute_loss, forward_propagation, backward_propagation\n", + "from init_utils import update_parameters, predict, load_dataset, plot_decision_boundary, predict_dec\n", + "\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n", + "plt.rcParams['image.interpolation'] = 'nearest'\n", + "plt.rcParams['image.cmap'] = 'gray'\n", + "\n", + "# load image dataset: blue/red dots in circles\n", + "train_X, train_Y, test_X, test_Y = load_dataset()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You would like a classifier to separate the blue dots from the red dots." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 - Neural Network model " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You will use a 3-layer neural network (already implemented for you). Here are the initialization methods you will experiment with: \n", + "- *Zeros initialization* -- setting `initialization = \"zeros\"` in the input argument.\n", + "- *Random initialization* -- setting `initialization = \"random\"` in the input argument. This initializes the weights to large random values. \n", + "- *He initialization* -- setting `initialization = \"he\"` in the input argument. This initializes the weights to random values scaled according to a paper by He et al., 2015. \n", + "\n", + "**Instructions**: Please quickly read over the code below, and run it. In the next part you will implement the three initialization methods that this `model()` calls.\n", + "\n", + "**2015年,“he”初始化方式被提出**" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def model(X, Y, learning_rate = 0.01, num_iterations = 15000, print_cost = True, initialization = \"he\"):\n", + " \"\"\"\n", + " Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n", + " \n", + " Arguments:\n", + " X -- input data, of shape (2, number of examples)\n", + " Y -- true \"label\" vector (containing 0 for red dots; 1 for blue dots), of shape (1, number of examples)\n", + " learning_rate -- learning rate for gradient descent \n", + " num_iterations -- number of iterations to run gradient descent\n", + " print_cost -- if True, print the cost every 1000 iterations\n", + " initialization -- flag to choose which initialization to use (\"zeros\",\"random\" or \"he\")\n", + " \n", + " Returns:\n", + " parameters -- parameters learnt by the model\n", + " \"\"\"\n", + " \n", + " grads = {}\n", + " costs = [] # to keep track of the loss\n", + " m = X.shape[1] # number of examples\n", + " layers_dims = [X.shape[0], 10, 5, 1]\n", + " \n", + " # Initialize parameters dictionary.\n", + " if initialization == \"zeros\":\n", + " parameters = initialize_parameters_zeros(layers_dims)\n", + " elif initialization == \"random\":\n", + " parameters = initialize_parameters_random(layers_dims)\n", + " elif initialization == \"he\":\n", + " parameters = initialize_parameters_he(layers_dims)\n", + "\n", + " # Loop (gradient descent)\n", + "\n", + " for i in range(0, num_iterations):\n", + "\n", + " # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n", + " a3, cache = forward_propagation(X, parameters)\n", + " \n", + " # Loss\n", + " cost = compute_loss(a3, Y)\n", + "\n", + " # Backward propagation.\n", + " grads = backward_propagation(X, Y, cache)\n", + " \n", + " # Update parameters.\n", + " parameters = update_parameters(parameters, grads, learning_rate)\n", + " \n", + " # Print the loss every 1000 iterations\n", + " if print_cost and i % 1000 == 0:\n", + " print(\"Cost after iteration {}: {}\".format(i, cost))\n", + " costs.append(cost)\n", + " \n", + " # plot the loss\n", + " plt.plot(costs)\n", + " plt.ylabel('cost')\n", + " plt.xlabel('iterations (per hundreds)')\n", + " plt.title(\"Learning rate =\" + str(learning_rate))\n", + " plt.show()\n", + " \n", + " return parameters" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 - Zero initialization\n", + "\n", + "There are two types of parameters to initialize in a neural network:\n", + "- the weight matrices $(W^{[1]}, W^{[2]}, W^{[3]}, ..., W^{[L-1]}, W^{[L]})$\n", + "- the bias vectors $(b^{[1]}, b^{[2]}, b^{[3]}, ..., b^{[L-1]}, b^{[L]})$\n", + "\n", + "**Exercise**: Implement the following function to initialize all parameters to zeros. You'll see later that this does not work well since it fails to \"break symmetry\", but lets try it anyway and see what happens. Use np.zeros((..,..)) with the correct shapes.\n", + "\n", + "**如果对W和b参数初始化为0(零向量、零矩阵),看看效果**" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: initialize_parameters_zeros \n", + "\n", + "def initialize_parameters_zeros(layers_dims):\n", + " \"\"\"\n", + " Arguments:\n", + " layer_dims -- python array (list) containing the size of each layer.\n", + " \n", + " Returns:\n", + " parameters -- python dictionary containing your parameters \"W1\", \"b1\", ..., \"WL\", \"bL\":\n", + " W1 -- weight matrix of shape (layers_dims[1], layers_dims[0])\n", + " b1 -- bias vector of shape (layers_dims[1], 1)\n", + " ...\n", + " WL -- weight matrix of shape (layers_dims[L], layers_dims[L-1])\n", + " bL -- bias vector of shape (layers_dims[L], 1)\n", + " \"\"\"\n", + " \n", + " parameters = {}\n", + " L = len(layers_dims) # number of layers in the network\n", + " \n", + " for l in range(1, L):\n", + " ### START CODE HERE ### (≈ 2 lines of code)\n", + " parameters['W' + str(l)] = np.zeros((layers_dims[l],layers_dims[l-1]))\n", + " parameters['b' + str(l)] = np.zeros((layers_dims[l],1))\n", + " ### END CODE HERE ###\n", + " return parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W1 = [[ 0. 0. 0.]\n", + " [ 0. 0. 0.]]\n", + "b1 = [[ 0.]\n", + " [ 0.]]\n", + "W2 = [[ 0. 0.]]\n", + "b2 = [[ 0.]]\n" + ] + } + ], + "source": [ + "parameters = initialize_parameters_zeros([3,2,1])\n", + "print(\"W1 = \" + str(parameters[\"W1\"]))\n", + "print(\"b1 = \" + str(parameters[\"b1\"]))\n", + "print(\"W2 = \" + str(parameters[\"W2\"]))\n", + "print(\"b2 = \" + str(parameters[\"b2\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Expected Output**:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "
\n", + " **W1**\n", + " \n", + " [[ 0. 0. 0.]\n", + " [ 0. 0. 0.]]\n", + "
\n", + " **b1**\n", + " \n", + " [[ 0.]\n", + " [ 0.]]\n", + "
\n", + " **W2**\n", + " \n", + " [[ 0. 0.]]\n", + "
\n", + " **b2**\n", + " \n", + " [[ 0.]]\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run the following code to train your model on 15,000 iterations using zeros initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: 0.6931471805599453\n", + "Cost after iteration 1000: 0.6931471805599453\n", + "Cost after iteration 2000: 0.6931471805599453\n", + "Cost after iteration 3000: 0.6931471805599453\n", + "Cost after iteration 4000: 0.6931471805599453\n", + "Cost after iteration 5000: 0.6931471805599453\n", + "Cost after iteration 6000: 0.6931471805599453\n", + "Cost after iteration 7000: 0.6931471805599453\n", + "Cost after iteration 8000: 0.6931471805599453\n", + "Cost after iteration 9000: 0.6931471805599453\n", + "Cost after iteration 10000: 0.6931471805599455\n", + "Cost after iteration 11000: 0.6931471805599453\n", + "Cost after iteration 12000: 0.6931471805599453\n", + "Cost after iteration 13000: 0.6931471805599453\n", + "Cost after iteration 14000: 0.6931471805599453\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the train set:\n", + "Accuracy: 0.5\n", + "On the test set:\n", + "Accuracy: 0.5\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y, initialization = \"zeros\")\n", + "print (\"On the train set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The performance is really bad, and the cost does not really decrease, and the algorithm performs no better than random guessing. Why? Lets look at the details of the predictions and the decision boundary:\n", + "\n", + "**这种初始化方式代价函数并不会减小**" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "predictions_train = [[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0]]\n", + "predictions_test = [[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", + " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n" + ] + } + ], + "source": [ + "print (\"predictions_train = \" + str(predictions_train))\n", + "print (\"predictions_test = \" + str(predictions_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nC363uAqGAFWIAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model with Zeros initialization\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-1.5,1.5])\n", + "axes.set_ylim([-1.5,1.5])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model is predicting 0 for every example. \n", + "\n", + "In general, initializing all the weights to zero results in the network failing to break symmetry. This means that every neuron in each layer will learn the same thing, and you might as well be training a neural network with $n^{[l]}=1$ for every layer, and the network is no more powerful than a linear classifier such as logistic regression. \n", + "\n", + "**全部初始化为0(零向量或零矩阵),并没有打破网络的对称性,每一层的每个神经元学习到的知识是一样的,那么神经网络就像是每一层只有一个神经元,无法学习到足够的特征**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**What you should remember**:\n", + "- The weights $W^{[l]}$ should be initialized randomly to break symmetry. \n", + "- It is however okay to initialize the biases $b^{[l]}$ to zeros. Symmetry is still broken so long as $W^{[l]}$ is initialized randomly. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3 - Random initialization\n", + "\n", + "To break symmetry, lets intialize the weights randomly. Following random initialization, each neuron can then proceed to learn a different function of its inputs. In this exercise, you will see what happens if the weights are intialized randomly, but to very large values. \n", + "\n", + "**Exercise**: Implement the following function to initialize your weights to large random values (scaled by \\*10) and your biases to zeros. Use `np.random.randn(..,..) * 10` for weights and `np.zeros((.., ..))` for biases. We are using a fixed `np.random.seed(..)` to make sure your \"random\" weights match ours, so don't worry if running several times your code gives you always the same initial values for the parameters. \n", + "\n", + "**所以W不能全部初始化为0,我们将W随机初始化(因为W非对称了,b即使全部初始化为0,网络还是非对称的,因此b可以初始化为0)**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: initialize_parameters_random\n", + "\n", + "def initialize_parameters_random(layers_dims):\n", + " \"\"\"\n", + " Arguments:\n", + " layer_dims -- python array (list) containing the size of each layer.\n", + " \n", + " Returns:\n", + " parameters -- python dictionary containing your parameters \"W1\", \"b1\", ..., \"WL\", \"bL\":\n", + " W1 -- weight matrix of shape (layers_dims[1], layers_dims[0])\n", + " b1 -- bias vector of shape (layers_dims[1], 1)\n", + " ...\n", + " WL -- weight matrix of shape (layers_dims[L], layers_dims[L-1])\n", + " bL -- bias vector of shape (layers_dims[L], 1)\n", + " \"\"\"\n", + " \n", + " np.random.seed(3) # This seed makes sure your \"random\" numbers will be the as ours\n", + " parameters = {}\n", + " L = len(layers_dims) # integer representing the number of layers\n", + " \n", + " for l in range(1, L):\n", + " ### START CODE HERE ### (≈ 2 lines of code)\n", + " parameters['W' + str(l)] = np.random.randn(layers_dims[l],layers_dims[l-1])*10\n", + " parameters['b' + str(l)] = np.zeros((layers_dims[l],1))\n", + " ### END CODE HERE ###\n", + "\n", + " return parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W1 = [[ 17.88628473 4.36509851 0.96497468]\n", + " [-18.63492703 -2.77388203 -3.54758979]]\n", + "b1 = [[ 0.]\n", + " [ 0.]]\n", + "W2 = [[-0.82741481 -6.27000677]]\n", + "b2 = [[ 0.]]\n" + ] + } + ], + "source": [ + "parameters = initialize_parameters_random([3, 2, 1])\n", + "print(\"W1 = \" + str(parameters[\"W1\"]))\n", + "print(\"b1 = \" + str(parameters[\"b1\"]))\n", + "print(\"W2 = \" + str(parameters[\"W2\"]))\n", + "print(\"b2 = \" + str(parameters[\"b2\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Expected Output**:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "
\n", + " **W1**\n", + " \n", + " [[ 17.88628473 4.36509851 0.96497468]\n", + " [-18.63492703 -2.77388203 -3.54758979]]\n", + "
\n", + " **b1**\n", + " \n", + " [[ 0.]\n", + " [ 0.]]\n", + "
\n", + " **W2**\n", + " \n", + " [[-0.82741481 -6.27000677]]\n", + "
\n", + " **b2**\n", + " \n", + " [[ 0.]]\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run the following code to train your model on 15,000 iterations using random initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\init_utils.py:145: RuntimeWarning: divide by zero encountered in log\n", + " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n", + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\init_utils.py:145: RuntimeWarning: invalid value encountered in multiply\n", + " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: inf\n", + "Cost after iteration 1000: 0.6235719528716395\n", + "Cost after iteration 2000: 0.5980821226022246\n", + "Cost after iteration 3000: 0.5637996692567824\n", + "Cost after iteration 4000: 0.5501754102867465\n", + "Cost after iteration 5000: 0.5444767640123352\n", + "Cost after iteration 6000: 0.5374657035647926\n", + "Cost after iteration 7000: 0.4775406670630984\n", + "Cost after iteration 8000: 0.39784053325714386\n", + "Cost after iteration 9000: 0.3934817369887478\n", + "Cost after iteration 10000: 0.39203280921110983\n", + "Cost after iteration 11000: 0.38927347547167324\n", + "Cost after iteration 12000: 0.3861625886188003\n", + "Cost after iteration 13000: 0.38499044850062425\n", + "Cost after iteration 14000: 0.38279756848782404\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the train set:\n", + "Accuracy: 0.83\n", + "On the test set:\n", + "Accuracy: 0.86\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y, initialization = \"random\")\n", + "print (\"On the train set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you see \"inf\" as the cost after the iteration 0, this is because of numerical roundoff; a more numerically sophisticated implementation would fix this. But this isn't worth worrying about for our purposes. \n", + "\n", + "Anyway, it looks like you have broken symmetry, and this gives better results. than before. The model is no longer outputting all 0s. " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1\n", + " 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0\n", + " 0 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1\n", + " 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 0\n", + " 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1\n", + " 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1\n", + " 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1\n", + " 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1\n", + " 1 1 1 0]]\n", + "[[1 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0\n", + " 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1\n", + " 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0]]\n" + ] + } + ], + "source": [ + "print (predictions_train)\n", + "print (predictions_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nrkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model with large random initialization\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-1.5,1.5])\n", + "axes.set_ylim([-1.5,1.5])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Observations**:\n", + "- The cost starts very high. This is because with large random-valued weights, the last activation (sigmoid) outputs results that are very close to 0 or 1 for some examples, and when it gets that example wrong it incurs a very high loss for that example. Indeed, when $\\log(a^{[3]}) = \\log(0)$, the loss goes to infinity.\n", + "- Poor initialization can lead to vanishing/exploding gradients, which also slows down the optimization algorithm. \n", + "- If you train this network longer you will see better results, but initializing with overly large random numbers slows down the optimization.\n", + "\n", + "\n", + "**In summary**:\n", + "- Initializing weights to very large random values does not work well. \n", + "- Hopefully intializing with small random values does better. The important question is: how small should be these random values be? Lets find out in the next part! \n", + "\n", + "- 从上例中看出,当权重初始化不合适(过大/过小)时,可能会产生梯度爆炸/梯度消失问题,那么如何选择合适的初始化值呢?看下文" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 - He initialization\n", + "\n", + "Finally, try \"He Initialization\"; this is named for the first author of He et al., 2015. (If you have heard of \"Xavier initialization\", this is similar except Xavier initialization uses a scaling factor for the weights $W^{[l]}$ of `sqrt(1./layers_dims[l-1])` where He initialization would use `sqrt(2./layers_dims[l-1])`.)\n", + "\n", + "**Exercise**: Implement the following function to initialize your parameters with He initialization.\n", + "\n", + "**Hint**: This function is similar to the previous `initialize_parameters_random(...)`. The only difference is that instead of multiplying `np.random.randn(..,..)` by 10, you will multiply it by $\\sqrt{\\frac{2}{\\text{dimension of the previous layer}}}$, which is what He initialization recommends for layers with a ReLU activation. \n", + "\n", + "\n", + "**在初始化$W$时,使用“he”方法,即将$W$除以$\\sqrt{\\frac{2}{\\text{dimension of the previous layer}}}$**" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: initialize_parameters_he\n", + "\n", + "def initialize_parameters_he(layers_dims):\n", + " \"\"\"\n", + " Arguments:\n", + " layer_dims -- python array (list) containing the size of each layer.\n", + " \n", + " Returns:\n", + " parameters -- python dictionary containing your parameters \"W1\", \"b1\", ..., \"WL\", \"bL\":\n", + " W1 -- weight matrix of shape (layers_dims[1], layers_dims[0])\n", + " b1 -- bias vector of shape (layers_dims[1], 1)\n", + " ...\n", + " WL -- weight matrix of shape (layers_dims[L], layers_dims[L-1])\n", + " bL -- bias vector of shape (layers_dims[L], 1)\n", + " \"\"\"\n", + " \n", + " np.random.seed(3)\n", + " parameters = {}\n", + " L = len(layers_dims) - 1 # integer representing the number of layers\n", + " \n", + " for l in range(1, L + 1):\n", + " ### START CODE HERE ### (≈ 2 lines of code)\n", + " parameters['W' + str(l)] = np.random.randn(layers_dims[l],layers_dims[l-1])*np.sqrt(2/layers_dims[l-1])\n", + " parameters['b' + str(l)] = np.zeros((layers_dims[l],1))\n", + " ### END CODE HERE ###\n", + " \n", + " return parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "W1 = [[ 1.78862847 0.43650985]\n", + " [ 0.09649747 -1.8634927 ]\n", + " [-0.2773882 -0.35475898]\n", + " [-0.08274148 -0.62700068]]\n", + "b1 = [[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "W2 = [[-0.03098412 -0.33744411 -0.92904268 0.62552248]]\n", + "b2 = [[ 0.]]\n" + ] + } + ], + "source": [ + "parameters = initialize_parameters_he([2, 4, 1])\n", + "print(\"W1 = \" + str(parameters[\"W1\"]))\n", + "print(\"b1 = \" + str(parameters[\"b1\"]))\n", + "print(\"W2 = \" + str(parameters[\"W2\"]))\n", + "print(\"b2 = \" + str(parameters[\"b2\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Expected Output**:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "
\n", + " **W1**\n", + " \n", + " [[ 1.78862847 0.43650985]\n", + " [ 0.09649747 -1.8634927 ]\n", + " [-0.2773882 -0.35475898]\n", + " [-0.08274148 -0.62700068]]\n", + "
\n", + " **b1**\n", + " \n", + " [[ 0.]\n", + " [ 0.]\n", + " [ 0.]\n", + " [ 0.]]\n", + "
\n", + " **W2**\n", + " \n", + " [[-0.03098412 -0.33744411 -0.92904268 0.62552248]]\n", + "
\n", + " **b2**\n", + " \n", + " [[ 0.]]\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run the following code to train your model on 15,000 iterations using He initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: 0.8830537463419761\n", + "Cost after iteration 1000: 0.6879825919728063\n", + "Cost after iteration 2000: 0.6751286264523371\n", + "Cost after iteration 3000: 0.6526117768893807\n", + "Cost after iteration 4000: 0.6082958970572938\n", + "Cost after iteration 5000: 0.5304944491717495\n", + "Cost after iteration 6000: 0.4138645817071795\n", + "Cost after iteration 7000: 0.31178034648444414\n", + "Cost after iteration 8000: 0.23696215330322565\n", + "Cost after iteration 9000: 0.18597287209206842\n", + "Cost after iteration 10000: 0.15015556280371808\n", + "Cost after iteration 11000: 0.12325079292273552\n", + "Cost after iteration 12000: 0.09917746546525931\n", + "Cost after iteration 13000: 0.08457055954024274\n", + "Cost after iteration 14000: 0.07357895962677365\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the train set:\n", + "Accuracy: 0.993333333333\n", + "On the test set:\n", + "Accuracy: 0.96\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y, initialization = \"he\")\n", + "print (\"On the train set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model with He initialization\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-1.5,1.5])\n", + "axes.set_ylim([-1.5,1.5])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Observations**:\n", + "- The model with He initialization separates the blue and the red dots very well in a small number of iterations.\n", + "\n", + "\n", + "\n", + "- “he”初始化方式提高了训练集和测试集的准确度,降低了迭代次数\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## 5 - Conclusions" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "You have seen three different types of initializations. For the same number of iterations and same hyperparameters the comparison is:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " **Model**\n", + " \n", + " **Train accuracy**\n", + " \n", + " **Problem/Comment**\n", + "
\n", + " 3-layer NN with zeros initialization\n", + " \n", + " 50%\n", + " \n", + " fails to break symmetry\n", + "
\n", + " 3-layer NN with large random initialization\n", + " \n", + " 83%\n", + " \n", + " too large weights \n", + "
\n", + " 3-layer NN with He initialization\n", + " \n", + " 99%\n", + " \n", + " recommended method\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**What you should remember from this notebook**:\n", + "- Different initializations lead to different results\n", + "- Random initialization is used to break symmetry and make sure different hidden units can learn different things\n", + "- Don't intialize to values that are too large\n", + "- He initialization works well for networks with ReLU activations. " + ] + } + ], + "metadata": { + "coursera": { + "course_slug": "deep-neural-network", + "graded_item_id": "XOESP", + "launcher_item_id": "8IhFN" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..3f8cfc8807a19a570af2a25a58db15a5ad0d4271 --- /dev/null +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/.ipynb_checkpoints/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260-checkpoint.ipynb" @@ -0,0 +1,1194 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 机器学习系列(3)\n", + "\n", + "\n", + "\n", + "## 提高深度学习性能之 --正则化\n", + "\n", + "**深度学习可能会存在过拟合问题,也即有比较高的方差(variance),导致深度网络不能很好的泛化,针对这个问题,我们可以有不同的解决方式,比如采用正则化、增加数据集、减小网络规模、改变网络架构等,这个主题我们将讨论正则化。**\n", + "\n", + "\n", + "**一、L2范数正则化**\n", + "\n", + "- 这种正则化方式是将原交叉信息熵代价函数 $$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n", + "更改为\n", + "$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n", + "更改后的代价函数的第二部分中$W^{[l]2}$是范数,称为Frobenius norm,所以在书写时,矩阵$W$写为$||W_{F}||$或$||W_{2}||$,再代价函数增加的第二部分代价称为$L2$正则化cost。那么在反相传播过程中,$W=W-learning_rate*dW $,此处的$dW $相较于没有正则化的方式更大了,更新后的$W$将更小,因此我们也称$L2$范数正则化为权重减轻。\n", + "- 那么为什么正则化能够防止过拟合呢?直觉上可以这么认为,W越小,隐藏层神经元的影响越小,极端情况比如W=0,那么对应的神经元就没有发挥作用,神经元的数目越小,越不容易拟合,因此,如果之前是过拟合的情况,经过正则化可以降低方差,当然W的大小还与$λ$有关,这就是一个可以调试的参数。\n", + "\n", + "**二、L1范数正则化**\n", + "- L1正则化与L2正则化不同的是,将$||W_{F}||$改为$|W|$,记为$||W_{1}||$,称L1范数,L1正则化是将平方换成了绝对值。\n", + "- L1和L2一样,都是引入对参数W的惩罚,“惩罚”意为降低W对网络的影响,极端情况就是使W中的某些值为0,降低网络的表达能力。\n", + "- L1与L2不同的是,L1能够产生稀疏性,L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0(详细演绎待补充)\n", + "\n", + "**三、L0范数正则化**\n", + "\n", + "- L0正则化, L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。由此,L0正则化将更大程度上降低网络的表达能力,$min||W_{0}||$在一定条件下,依概率1等价于$min_||W_{1}||$,但L0范数优化是个NP-hard问题,人们于是倾向于用L1,L2范数。\n", + "\n", + "**四、dropout正则化**\n", + "\n", + "- 这种正则化方式是将隐藏层的神经元随机消除,可以理解为随机抛弃了某些已经学习到的特征,以达到降低网络表达能力的效果。这和PCA有点类似,PCA是对输入层数据进行特征选择,而dropout是对隐藏层学习到的特征进行(随机)选择,不依赖于某一特征,这样可以降低网络对某些参数的过拟合。\n", + "\n", + "**五、Early stopping**\n", + "\n", + "- 提前停止,这种方式是通过迭代次数和代价两者的曲线,取一个中等大小的迭代次数,此时对应中等大小的W,可以防止过拟合。\n", + "\n", + "**六、数据扩增**\n", + "\n", + "- 如果数据量过少,则深度血虚可能会产生过拟合,那么通过人工产生新的数据,则可以扩大数据集,对于图像识别比如将图片翻转、裁剪等,对于数字识别将数字扭曲,旋转等,通过增加数据量减少过拟合。\n", + "\n", + "## 申明\n", + "本文原理解释和公式推导均由LSayhi完成,供学习参考,可传播;代码实现的框架由Coursera提供,由LSayhi完成,详细数据和代码可在github中查询,\n", + "请勿用于Coursera刷分。\n", + "\n", + "https://github.com/LSayhi/DeepLearning\n", + "\n", + "微信公众号:AI有点可ai" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Regularization\n", + "\n", + "Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that **overfitting can be a serious problem**, if the training dataset is not big enough. Sure it does well on the training set, but the learned network **doesn't generalize to new examples** that it has never seen!\n", + "\n", + "**You will learn to:** Use regularization in your deep learning models.\n", + "\n", + "Let's first import the packages you are going to use." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:85: SyntaxWarning: assertion is always true, perhaps remove parentheses?\n", + " assert(parameters['W' + str(l)].shape == layer_dims[l], layer_dims[l-1])\n", + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:86: SyntaxWarning: assertion is always true, perhaps remove parentheses?\n", + " assert(parameters['W' + str(l)].shape == layer_dims[l], 1)\n" + ] + } + ], + "source": [ + "# import packages\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from reg_utils import sigmoid, relu, plot_decision_boundary, initialize_parameters, load_2D_dataset, predict_dec\n", + "from reg_utils import compute_cost, predict, forward_propagation, backward_propagation, update_parameters\n", + "import sklearn\n", + "import sklearn.datasets\n", + "import scipy.io\n", + "from testCases import *\n", + "\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n", + "plt.rcParams['image.interpolation'] = 'nearest'\n", + "plt.rcParams['image.cmap'] = 'gray'" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "**Problem Statement**: You have just been hired as an AI expert by the French Football Corporation. They would like you to recommend positions where France's goal keeper should kick the ball so that the French team's players can then hit it with their head. \n", + "\n", + "\n", + "
**Figure 1** : **Football field**
The goal keeper kicks the ball in the air, the players of each team are fighting to hit the ball with their head
\n", + "\n", + "\n", + "They give you the following 2D dataset from France's past 10 games." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "train_X, train_Y, test_X, test_Y = load_2D_dataset()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each dot corresponds to a position on the football field where a football player has hit the ball with his/her head after the French goal keeper has shot the ball from the left side of the football field.\n", + "- If the dot is blue, it means the French player managed to hit the ball with his/her head\n", + "- If the dot is red, it means the other team's player hit the ball with their head\n", + "\n", + "**Your goal**: Use a deep learning model to find the positions on the field where the goalkeeper should kick the ball." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Analysis of the dataset**: This dataset is a little noisy, but it looks like a diagonal line separating the upper left half (blue) from the lower right half (red) would work well. \n", + "\n", + "You will first try a non-regularized model. Then you'll learn how to regularize it and decide which model you will choose to solve the French Football Corporation's problem. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 - Non-regularized model\n", + "\n", + "You will use the following neural network (already implemented for you below). This model can be used:\n", + "- in *regularization mode* -- by setting the `lambd` input to a non-zero value. We use \"`lambd`\" instead of \"`lambda`\" because \"`lambda`\" is a reserved keyword in Python. \n", + "- in *dropout mode* -- by setting the `keep_prob` to a value less than one\n", + "\n", + "You will first try the model without any regularization. Then, you will implement:\n", + "- *L2 regularization* -- functions: \"`compute_cost_with_regularization()`\" and \"`backward_propagation_with_regularization()`\"\n", + "- *Dropout* -- functions: \"`forward_propagation_with_dropout()`\" and \"`backward_propagation_with_dropout()`\"\n", + "\n", + "In each part, you will run this model with the correct inputs so that it calls the functions you've implemented. Take a look at the code below to familiarize yourself with the model." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def model(X, Y, learning_rate = 0.3, num_iterations = 30000, print_cost = True, lambd = 0, keep_prob = 1):\n", + " \"\"\"\n", + " Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n", + " \n", + " Arguments:\n", + " X -- input data, of shape (input size, number of examples)\n", + " Y -- true \"label\" vector (1 for blue dot / 0 for red dot), of shape (output size, number of examples)\n", + " learning_rate -- learning rate of the optimization\n", + " num_iterations -- number of iterations of the optimization loop\n", + " print_cost -- If True, print the cost every 10000 iterations\n", + " lambd -- regularization hyperparameter, scalar\n", + " keep_prob - probability of keeping a neuron active during drop-out, scalar.\n", + " \n", + " Returns:\n", + " parameters -- parameters learned by the model. They can then be used to predict.\n", + " \"\"\"\n", + " \n", + " grads = {}\n", + " costs = [] # to keep track of the cost\n", + " m = X.shape[1] # number of examples\n", + " layers_dims = [X.shape[0], 20, 3, 1]\n", + " \n", + " # Initialize parameters dictionary.\n", + " parameters = initialize_parameters(layers_dims)\n", + "\n", + " # Loop (gradient descent)\n", + "\n", + " for i in range(0, num_iterations):\n", + "\n", + " # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n", + " if keep_prob == 1:\n", + " a3, cache = forward_propagation(X, parameters)\n", + " elif keep_prob < 1:\n", + " a3, cache = forward_propagation_with_dropout(X, parameters, keep_prob)\n", + " \n", + " # Cost function\n", + " if lambd == 0:\n", + " cost = compute_cost(a3, Y)\n", + " else:\n", + " cost = compute_cost_with_regularization(a3, Y, parameters, lambd)\n", + " \n", + " # Backward propagation.\n", + " assert(lambd==0 or keep_prob==1) # it is possible to use both L2 regularization and dropout, \n", + " # but this assignment will only explore one at a time\n", + " if lambd == 0 and keep_prob == 1:\n", + " grads = backward_propagation(X, Y, cache)\n", + " elif lambd != 0:\n", + " grads = backward_propagation_with_regularization(X, Y, cache, lambd)\n", + " elif keep_prob < 1:\n", + " grads = backward_propagation_with_dropout(X, Y, cache, keep_prob)\n", + " \n", + " # Update parameters.\n", + " parameters = update_parameters(parameters, grads, learning_rate)\n", + " \n", + " # Print the loss every 10000 iterations\n", + " if print_cost and i % 10000 == 0:\n", + " print(\"Cost after iteration {}: {}\".format(i, cost))\n", + " if print_cost and i % 1000 == 0:\n", + " costs.append(cost)\n", + " \n", + " # plot the cost\n", + " plt.plot(costs)\n", + " plt.ylabel('cost')\n", + " plt.xlabel('iterations (x1,000)')\n", + " plt.title(\"Learning rate =\" + str(learning_rate))\n", + " plt.show()\n", + " \n", + " return parameters" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's train the model without any regularization, and observe the accuracy on the train/test sets." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: 0.6557412523481002\n", + "Cost after iteration 10000: 0.16329987525724202\n", + "Cost after iteration 20000: 0.1385164242324576\n" + ] + }, + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the training set:\n", + "Accuracy: 0.947867298578\n", + "On the test set:\n", + "Accuracy: 0.915\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y)\n", + "print (\"On the training set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The train accuracy is 94.8% while the test accuracy is 91.5%. This is the **baseline model** (you will observe the impact of regularization on this model). Run the following code to plot the decision boundary of your model." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n+P8BBRFqyC1znewAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model without regularization\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-0.75,0.40])\n", + "axes.set_ylim([-0.75,0.65])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The non-regularized model is obviously overfitting the training set. It is fitting the noisy points! Lets now look at two techniques to reduce overfitting." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 - L2 Regularization\n", + "\n", + "The standard way to avoid overfitting is called **L2 regularization**. It consists of appropriately modifying your cost function, from:\n", + "$$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n", + "To:\n", + "$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n", + "\n", + "Let's modify your cost and observe the consequences.\n", + "\n", + "**Exercise**: Implement `compute_cost_with_regularization()` which computes the cost given by formula (2). To calculate $\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2}$ , use :\n", + "```python\n", + "np.sum(np.square(Wl))\n", + "```\n", + "Note that you have to do this for $W^{[1]}$, $W^{[2]}$ and $W^{[3]}$, then sum the three terms and multiply by $ \\frac{1}{m} \\frac{\\lambda}{2} $." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: compute_cost_with_regularization\n", + "\n", + "def compute_cost_with_regularization(A3, Y, parameters, lambd):\n", + " \"\"\"\n", + " Implement the cost function with L2 regularization. See formula (2) above.\n", + " \n", + " Arguments:\n", + " A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)\n", + " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", + " parameters -- python dictionary containing parameters of the model\n", + " \n", + " Returns:\n", + " cost - value of the regularized loss function (formula (2))\n", + " \"\"\"\n", + " m = Y.shape[1]\n", + " W1 = parameters[\"W1\"]\n", + " W2 = parameters[\"W2\"]\n", + " W3 = parameters[\"W3\"]\n", + " \n", + " cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost\n", + " \n", + " ### START CODE HERE ### (approx. 1 line)\n", + " L2_regularization_cost = lambd/(2*m)*(np.sum(np.square(parameters[\"W1\"]))+np.sum(np.square(parameters[\"W2\"]))+np.sum(np.square(parameters[\"W3\"])))\n", + " ### END CODER HERE ###\n", + " \n", + " cost = cross_entropy_cost + L2_regularization_cost\n", + " \n", + " return cost" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cost = 1.78648594516\n" + ] + } + ], + "source": [ + "A3, Y_assess, parameters = compute_cost_with_regularization_test_case()\n", + "\n", + "print(\"cost = \" + str(compute_cost_with_regularization(A3, Y_assess, parameters, lambd = 0.1)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Expected Output**: \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "
\n", + " **cost**\n", + " \n", + " 1.78648594516\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course, because you changed the cost, you have to change backward propagation as well! All the gradients have to be computed with respect to this new cost. \n", + "\n", + "**Exercise**: Implement the changes needed in backward propagation to take into account regularization. The changes only concern dW1, dW2 and dW3. For each, you have to add the regularization term's gradient ($\\frac{d}{dW} ( \\frac{1}{2}\\frac{\\lambda}{m} W^2) = \\frac{\\lambda}{m} W$)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: backward_propagation_with_regularization\n", + "\n", + "def backward_propagation_with_regularization(X, Y, cache, lambd):\n", + " \"\"\"\n", + " Implements the backward propagation of our baseline model to which we added an L2 regularization.\n", + " \n", + " Arguments:\n", + " X -- input dataset, of shape (input size, number of examples)\n", + " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", + " cache -- cache output from forward_propagation()\n", + " lambd -- regularization hyperparameter, scalar\n", + " \n", + " Returns:\n", + " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", + " \"\"\"\n", + " \n", + " m = X.shape[1]\n", + " (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", + " \n", + " dZ3 = A3 - Y\n", + " \n", + " ### START CODE HERE ### (approx. 1 line)\n", + " dW3 = 1./m * np.dot(dZ3, A2.T) + lambd/m*W3\n", + " ### END CODE HERE ###\n", + " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", + " \n", + " dA2 = np.dot(W3.T, dZ3)\n", + " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", + " ### START CODE HERE ### (approx. 1 line)\n", + " dW2 = 1./m * np.dot(dZ2, A1.T) + lambd/m*W2\n", + " ### END CODE HERE ###\n", + " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", + " \n", + " dA1 = np.dot(W2.T, dZ2)\n", + " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", + " ### START CODE HERE ### (approx. 1 line)\n", + " dW1 = 1./m * np.dot(dZ1, X.T) + lambd/m*W1\n", + " ### END CODE HERE ###\n", + " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", + " \n", + " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", + " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", + " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", + " \n", + " return gradients" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dW1 = [[-0.25604646 0.12298827 -0.28297129]\n", + " [-0.17706303 0.34536094 -0.4410571 ]]\n", + "dW2 = [[ 0.79276486 0.85133918]\n", + " [-0.0957219 -0.01720463]\n", + " [-0.13100772 -0.03750433]]\n", + "dW3 = [[-1.77691347 -0.11832879 -0.09397446]]\n" + ] + } + ], + "source": [ + "X_assess, Y_assess, cache = backward_propagation_with_regularization_test_case()\n", + "\n", + "grads = backward_propagation_with_regularization(X_assess, Y_assess, cache, lambd = 0.7)\n", + "print (\"dW1 = \"+ str(grads[\"dW1\"]))\n", + "print (\"dW2 = \"+ str(grads[\"dW2\"]))\n", + "print (\"dW3 = \"+ str(grads[\"dW3\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Expected Output**:\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " **dW1**\n", + " \n", + " [[-0.25604646 0.12298827 -0.28297129]\n", + " [-0.17706303 0.34536094 -0.4410571 ]]\n", + "
\n", + " **dW2**\n", + " \n", + " [[ 0.79276486 0.85133918]\n", + " [-0.0957219 -0.01720463]\n", + " [-0.13100772 -0.03750433]]\n", + "
\n", + " **dW3**\n", + " \n", + " [[-1.77691347 -0.11832879 -0.09397446]]\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now run the model with L2 regularization $(\\lambda = 0.7)$. The `model()` function will call: \n", + "- `compute_cost_with_regularization` instead of `compute_cost`\n", + "- `backward_propagation_with_regularization` instead of `backward_propagation`" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: 0.6974484493131264\n", + "Cost after iteration 10000: 0.2684918873282239\n", + "Cost after iteration 20000: 0.2680916337127301\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the train set:\n", + "Accuracy: 0.938388625592\n", + "On the test set:\n", + "Accuracy: 0.93\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y, lambd = 0.7)\n", + "print (\"On the train set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Congrats, the test set accuracy increased to 93%. You have saved the French football team!\n", + "\n", + "You are not overfitting the training data anymore. Let's plot the decision boundary." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model with L2-regularization\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-0.75,0.40])\n", + "axes.set_ylim([-0.75,0.65])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "**Observations**:\n", + "- The value of $\\lambda$ is a hyperparameter that you can tune using a dev set.\n", + "- L2 regularization makes your decision boundary smoother. If $\\lambda$ is too large, it is also possible to \"oversmooth\", resulting in a model with high bias.\n", + "\n", + "**What is L2-regularization actually doing?**:\n", + "\n", + "L2-regularization relies on the assumption that a model with small weights is simpler than a model with large weights. Thus, by penalizing the square values of the weights in the cost function you drive all the weights to smaller values. It becomes too costly for the cost to have large weights! This leads to a smoother model in which the output changes more slowly as the input changes. \n", + "\n", + "\n", + "**What you should remember** -- the implications of L2-regularization on:\n", + "- The cost computation:\n", + " - A regularization term is added to the cost\n", + "- The backpropagation function:\n", + " - There are extra terms in the gradients with respect to weight matrices\n", + "- Weights end up smaller (\"weight decay\"): \n", + " - Weights are pushed to smaller values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3 - Dropout\n", + "\n", + "Finally, **dropout** is a widely used regularization technique that is specific to deep learning. \n", + "**It randomly shuts down some neurons in each iteration.** Watch these two videos to see what this means!\n", + "\n", + " \n", + "\n", + "\n", + "
\n", + "\n", + "
\n", + "
\n", + "
Figure 2 : Drop-out on the second hidden layer.
At each iteration, you shut down (= set to zero) each neuron of a layer with probability $1 - keep\\_prob$ or keep it with probability $keep\\_prob$ (50% here). The dropped neurons don't contribute to the training in both the forward and backward propagations of the iteration.
\n", + "\n", + "
\n", + "\n", + "
\n", + "\n", + "
Figure 3 : Drop-out on the first and third hidden layers.
$1^{st}$ layer: we shut down on average 40% of the neurons. $3^{rd}$ layer: we shut down on average 20% of the neurons.
\n", + "\n", + "\n", + "When you shut some neurons down, you actually modify your model. The idea behind drop-out is that at each iteration, you train a different model that uses only a subset of your neurons. With dropout, your neurons thus become less sensitive to the activation of one other specific neuron, because that other neuron might be shut down at any time. \n", + "\n", + "### 3.1 - Forward propagation with dropout\n", + "\n", + "**Exercise**: Implement the forward propagation with dropout. You are using a 3 layer neural network, and will add dropout to the first and second hidden layers. We will not apply dropout to the input layer or output layer. \n", + "\n", + "**Instructions**:\n", + "You would like to shut down some neurons in the first and second layers. To do that, you are going to carry out 4 Steps:\n", + "1. In lecture, we dicussed creating a variable $d^{[1]}$ with the same shape as $a^{[1]}$ using `np.random.rand()` to randomly get numbers between 0 and 1. Here, you will use a vectorized implementation, so create a random matrix $D^{[1]} = [d^{[1](1)} d^{[1](2)} ... d^{[1](m)}] $ of the same dimension as $A^{[1]}$.\n", + "2. Set each entry of $D^{[1]}$ to be 0 with probability (`1-keep_prob`) or 1 with probability (`keep_prob`), by thresholding values in $D^{[1]}$ appropriately. Hint: to set all the entries of a matrix X to 0 (if entry is less than 0.5) or 1 (if entry is more than 0.5) you would do: `X = (X < 0.5)`. Note that 0 and 1 are respectively equivalent to False and True.\n", + "3. Set $A^{[1]}$ to $A^{[1]} * D^{[1]}$. (You are shutting down some neurons). You can think of $D^{[1]}$ as a mask, so that when it is multiplied with another matrix, it shuts down some of the values.\n", + "4. Divide $A^{[1]}$ by `keep_prob`. By doing this you are assuring that the result of the cost will still have the same expected value as without drop-out. (This technique is also called inverted dropout.)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: forward_propagation_with_dropout\n", + "\n", + "def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):\n", + " \"\"\"\n", + " Implements the forward propagation: LINEAR -> RELU + DROPOUT -> LINEAR -> RELU + DROPOUT -> LINEAR -> SIGMOID.\n", + " \n", + " Arguments:\n", + " X -- input dataset, of shape (2, number of examples)\n", + " parameters -- python dictionary containing your parameters \"W1\", \"b1\", \"W2\", \"b2\", \"W3\", \"b3\":\n", + " W1 -- weight matrix of shape (20, 2)\n", + " b1 -- bias vector of shape (20, 1)\n", + " W2 -- weight matrix of shape (3, 20)\n", + " b2 -- bias vector of shape (3, 1)\n", + " W3 -- weight matrix of shape (1, 3)\n", + " b3 -- bias vector of shape (1, 1)\n", + " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", + " \n", + " Returns:\n", + " A3 -- last activation value, output of the forward propagation, of shape (1,1)\n", + " cache -- tuple, information stored for computing the backward propagation\n", + " \"\"\"\n", + " \n", + " np.random.seed(1)\n", + " \n", + " # retrieve parameters\n", + " W1 = parameters[\"W1\"]\n", + " b1 = parameters[\"b1\"]\n", + " W2 = parameters[\"W2\"]\n", + " b2 = parameters[\"b2\"]\n", + " W3 = parameters[\"W3\"]\n", + " b3 = parameters[\"b3\"]\n", + " \n", + " # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID\n", + " Z1 = np.dot(W1, X) + b1\n", + " A1 = relu(Z1)\n", + " ### START CODE HERE ### (approx. 4 lines) # Steps 1-4 below correspond to the Steps 1-4 described above. \n", + " D1 = np.random.rand(A1.shape[0],A1.shape[1]) # Step 1: initialize matrix D1 = np.random.rand(..., ...)\n", + " D1 = (D1 \n", + " \n", + " \n", + " **A3**\n", + " \n", + " \n", + " [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n", + " \n", + " \n", + " \n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2 - Backward propagation with dropout\n", + "\n", + "**Exercise**: Implement the backward propagation with dropout. As before, you are training a 3 layer network. Add dropout to the first and second hidden layers, using the masks $D^{[1]}$ and $D^{[2]}$ stored in the cache. \n", + "\n", + "**Instruction**:\n", + "Backpropagation with dropout is actually quite easy. You will have to carry out 2 Steps:\n", + "1. You had previously shut down some neurons during forward propagation, by applying a mask $D^{[1]}$ to `A1`. In backpropagation, you will have to shut down the same neurons, by reapplying the same mask $D^{[1]}$ to `dA1`. \n", + "2. During forward propagation, you had divided `A1` by `keep_prob`. In backpropagation, you'll therefore have to divide `dA1` by `keep_prob` again (the calculus interpretation is that if $A^{[1]}$ is scaled by `keep_prob`, then its derivative $dA^{[1]}$ is also scaled by the same `keep_prob`).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# GRADED FUNCTION: backward_propagation_with_dropout\n", + "\n", + "def backward_propagation_with_dropout(X, Y, cache, keep_prob):\n", + " \"\"\"\n", + " Implements the backward propagation of our baseline model to which we added dropout.\n", + " \n", + " Arguments:\n", + " X -- input dataset, of shape (2, number of examples)\n", + " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", + " cache -- cache output from forward_propagation_with_dropout()\n", + " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", + " \n", + " Returns:\n", + " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", + " \"\"\"\n", + " \n", + " m = X.shape[1]\n", + " (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", + " \n", + " dZ3 = A3 - Y\n", + " dW3 = 1./m * np.dot(dZ3, A2.T)\n", + " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", + " dA2 = np.dot(W3.T, dZ3)\n", + " ### START CODE HERE ### (≈ 2 lines of code)\n", + " dA2 = dA2*D2 # Step 1: Apply mask D2 to shut down the same neurons as during the forward propagation\n", + " dA2 = dA2/keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", + " ### END CODE HERE ###\n", + " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", + " dW2 = 1./m * np.dot(dZ2, A1.T)\n", + " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", + " \n", + " dA1 = np.dot(W2.T, dZ2)\n", + " ### START CODE HERE ### (≈ 2 lines of code)\n", + " dA1 = dA1*D1 # Step 1: Apply mask D1 to shut down the same neurons as during the forward propagation\n", + " dA1 = dA1/keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", + " ### END CODE HERE ###\n", + " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", + " dW1 = 1./m * np.dot(dZ1, X.T)\n", + " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", + " \n", + " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", + " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", + " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", + " \n", + " return gradients" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dA1 = [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", + " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", + "dA2 = [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", + " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", + " [ 0. 0. -0.00292733 0. -0. ]]\n" + ] + } + ], + "source": [ + "X_assess, Y_assess, cache = backward_propagation_with_dropout_test_case()\n", + "\n", + "gradients = backward_propagation_with_dropout(X_assess, Y_assess, cache, keep_prob = 0.8)\n", + "\n", + "print (\"dA1 = \" + str(gradients[\"dA1\"]))\n", + "print (\"dA2 = \" + str(gradients[\"dA2\"]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "**Expected Output**: \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " **dA1**\n", + " \n", + " [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", + " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", + "
\n", + " **dA2**\n", + " \n", + " [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", + " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", + " [ 0. 0. -0.00292733 0. -0. ]]\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now run the model with dropout (`keep_prob = 0.86`). It means at every iteration you shut down each neurons of layer 1 and 2 with 24% probability. The function `model()` will now call:\n", + "- `forward_propagation_with_dropout` instead of `forward_propagation`.\n", + "- `backward_propagation_with_dropout` instead of `backward_propagation`." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 0: 0.6543912405149825\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:236: RuntimeWarning: divide by zero encountered in log\n", + " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n", + "C:\\Users\\BD\\代码作业\\第二课第一周编程作业\\assignment1\\reg_utils.py:236: RuntimeWarning: invalid value encountered in multiply\n", + " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cost after iteration 10000: 0.0610169865749056\n", + "Cost after iteration 20000: 0.060582435798513114\n" + ] + }, + { + "data": { + "image/png": "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\nGEl/lnSPpLN7WpGk2ZI6JHV0dXX1S3H+grqZWfk0+kSWFuC1wD8B/wj8m6RDKxeKiMsiYlpETGtv\nb++XF3bTaTOz8sntmB6wDJiYmZ6QzsvqBFZExIvAi5JuAY4CHs2xLsBNp83MyijPkd58YKqkKZLa\ngFnA3IplrgNOkNQiaShwHPBwjjXt4KbTZmblk9tILyK2SpoD3AA0A5dHxEJJ56WPXxoRD0v6A7AA\n2A78KCIezKumLB/TMzMrnzx3bxIR84B5FfMurZj+OvD1POvoiZtOm5mVT6NPZGkYN502Myuf0oYe\nuOm0mVnZlDv03HTazKxUSh16bjptZlYupQ49N502MyuXUofeWO/eNDMrlVKH3phhbWzY7KbTZmZl\nUe7Q8xfUzcxKpdSh19102sf1zMzKodSh55GemVm5lDv03HTazKxUyh16Oy4v5NAzMyuDUoded9Pp\nlT6mZ2ZWCqUOPTedNjMrl1KHHrjptJlZmTj03JXFzKw0Sh96bjptZlYepQ89N502MyuP0oeem06b\nmZVH6UPPTafNzMrDoedWZGZmpVH60HPTaTOz8ih96HmkZ2ZWHg49N502MyuNXENP0gxJiyQtlnR+\nD4+fKGmNpPvS2+fzrKcnbjptZlYeLXmtWFIzcAnwNqATmC9pbkQ8VLHorRFxal519MZNp83MyiPP\nkd50YHFELImIzcCVwMwcX69PWpubGOGm02ZmpZBn6I0HlmamO9N5lV4vaYGk30t6VY71VOVWZGZm\n5ZDb7s063QtMioj1kk4BrgWmVi4kaTYwG2DSpEn9XsSYob7SgplZGeQ50lsGTMxMT0jn7RARayNi\nfXp/HtAqaVzliiLisoiYFhHT2tvb+71Qj/TMzMohz9CbD0yVNEVSGzALmJtdQNL+kpTen57WsyLH\nmnrkptNmZuWQ2+7NiNgqaQ5wA9AMXB4RCyWdlz5+KXAG8BFJW4GNwKyIiLxqqsZNp83MyiHXY3rp\nLst5FfMuzdy/GLg4zxrqkW06Pbi1udHlmJlZTkrfkQXciszMrCwcerjptJlZWTj08EjPzKwsHHq4\n6bSZWVk49HDTaTOzsnDo4abTZmZl4dDDTafNzMrCoZdyKzIzs+Jz6KXcdNrMrPgceimP9MzMis+h\nl3LTaTOz4nPopdx02sys+Bx6qWzTaTMzKyaHXmrnF9S9i9PMrKgceqnuptM+g9PMrLgceik3nTYz\n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\nzErDoWdmZqXh0DMzs9Jw6JmZWWk49MzMrDQcemZmVhoOPTMzKw2HnpmZlcZe13BaUhfwVD+sahzw\nQj+sZ2/ibS6PMm63t7kcqm3zKyKivbcn73Wh118kddTTkbtIvM3lUcbt9jaXw+5us3dvmplZaTj0\nzMysNMocepc1uoAG8DaXRxm329tcDru1zaU9pmdmZuVT5pGemZmVjEPPzMxKo3ShJ2mGpEWSFks6\nv9H1DBRJT0p6QNJ9kjoaXU8eJF0uabmkBzPzxkq6UdJj6c8xjayxv1XZ5gskLUvf6/skndLIGvub\npImSbpb0kKSFkv45nV/Y97rGNhf9vR4s6W5J96fb/cV0fp/f61Id05PUDDwKvA3oBOYD74mIhxpa\n2ACQ9CQwLSIK+0VWSW8C1gM/i4gj0nlfA1ZGxIXpHzljIuKzjayzP1XZ5guA9RHxjUbWlhdJBwAH\nRMS9kkYA9wDvAM6loO91jW0+k2K/1wKGRcR6Sa3AX4F/Bk6nj+912UZ604HFEbEkIjYDVwIzG1yT\n9ZOIuAVYWTF7JvDT9P5PST4oCqPKNhdaRDwbEfem99cBDwPjKfB7XWObCy0S69PJ1vQW7MZ7XbbQ\nGw8szUx3UoJ/OKkA/iTpHkmzG13MANovIp5N7z8H7NfIYgbQxyQtSHd/FmY3XyVJk4GjgbsoyXtd\nsc1Q8PdaUrOk+4DlwI0RsVvvddlCr8xOiIjXACcD/zvdLVYqkezLL8P+/O8DBwGvAZ4FvtnYcvIh\naThwFfAvEbE2+1hR3+setrnw73VEbEs/uyYA0yUdUfH4Lr3XZQu9ZcDEzPSEdF7hRcSy9Ody4BqS\nXb1l8Hx6PKT7uMjyBteTu4h4Pv2g2A78kAK+1+nxnauAn0fE1ensQr/XPW1zGd7rbhGxGrgZmMFu\nvNdlC735wFRJUyS1AbOAuQ2uKXeShqUHv5E0DHg78GDtZxXGXOCc9P45wHUNrGVAdH8YpE6jYO91\nenLDj4GHI+KizEOFfa+rbXMJ3ut2SaPT+0NITkJ8hN14r0t19iZAekrvt4Fm4PKI+EqDS8qdpINI\nRncALcAvirjdkn4JnEhy6ZHngS8A1wK/BiaRXJLqzIgozIkfVbb5RJLdXQE8CXw4c/xjryfpBOBW\n4AFgezr7X0mOcRXyva6xze+h2O/1kSQnqjSTDNJ+HRFfkrQPfXyvSxd6ZmZWXmXbvWlmZiXm0DMz\ns9Jw6JmZWWk49MzMrDQcemZmVhoOPTNA0u3pz8mSzurndf9rT6+VF0nvkPT5XpZ5V9q1frukaTWW\nOyftZP+YpHMy86dIukvJ1Up+lX7vFSW+m85fIOmYdH6bpFsktfTXdpr1hUPPDIiI16d3JwO7FHp1\nfJC/LPQyr5WXzwDf62WZB0k61d9SbQFJY0m+93ccSaePL2R6O34V+FZEHAKsAj6Yzj8ZmJreZpO0\nySJt8H4T8O4+bI9Zv3HomQGSuju5Xwi8Mb022SfSZrdflzQ/Hbl8OF3+REm3SpoLPJTOuzZt6L2w\nu6m3pAuBIen6fp59rXRU9HVJDyq51uG7M+v+s6TfSnpE0s/TjhxIulDJNdUWSPq7y8lIOhR4qfsS\nUpKuk3R2ev/D3TVExMMRsaiXX8s/kjT4XRkRq4AbgRlpLW8Bfpsul+1yP5PkMkcREXcCozNdQ64F\n3tv7u2GWH+9qMHu584FPR8SpAGl4rYmIYyUNAm6T9Md02WOAIyLiiXT6AxGxMm2XNF/SVRFxvqQ5\nacPcSqeTdNM4iqSjynxJ3SOvo4FXAc8AtwFvkPQwSaupwyIiutszVXgDcG9menZa8xPAp4DX7cLv\notpVSfYBVkfE1or5tZ7zLMno8thdeH2zfueRnlltbwfOTi9tchfJB/7U9LG7M4EH8HFJ9wN3kjQ2\nn0ptJwC/TBsGPw/8hZ2hcHdEdKaNhO8j2e26BtgE/FjS6cCGHtZ5ANDVPZGu9/MkjXo/1ci2XBGx\nDdjc3QfWrBEcema1CfhYRLwmvU2JiO6R3os7FpJOBN4KHB8RRwF/Awbvxuu+lLm/DWhJR1bTSXYr\nngr8oYfnbezhdV8NrAAO3MUaql2VZAXJbsuWivm1ntNtEElwmzWEQ8/s5dYB2ZHIDcBH0su6IOnQ\n9EoVlUYBqyJig6TDePluxC3dz69wK/Du9LhhO/Am4O5qhSm5ltqoiJgHfIJkt2ilh4FDMs+ZTnJy\nydHApyVNqbb+dPnxkm5KJ28A3i5pTHoCy9uBG9Lrl90MnJEul+1yP5dkZCxJryPZNfxsuu59gBci\nYkutGszy5NAze7kFwDZJ90v6BPAjkhNV7pX0IPADej4W/gegJT3udiHJLs5ulwELuk8iybgmfb37\ngf8CPhMRz9WobQRwvaQFwF+BT/awzC3A0WnoDCK5xtoHIuIZkmN6l6ePnSapEzge+J2kG9LnHwBs\nBUh3hX6Z5JJc84EvZXaPfhb4pKTFJLt8f5zOnwcsARanr/3RTG0nAb+rsX1mufNVFswKRtJ3gP+M\niD/14blvVxl+AAAAWElEQVRzgKcjot+vMynpauD8iHi0v9dtVi+HnlnBSNoPOC6P4Oqr9MvrsyLi\nZ42uxcrNoWdmZqXhY3pmZlYaDj0zMysNh56ZmZWGQ8/MzErDoWdmZqXx/wFkjyiNNbzzCAAAAABJ\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "On the train set:\n", + "Accuracy: 0.928909952607\n", + "On the test set:\n", + "Accuracy: 0.95\n" + ] + } + ], + "source": [ + "parameters = model(train_X, train_Y, keep_prob = 0.86, learning_rate = 0.3)\n", + "\n", + "print (\"On the train set:\")\n", + "predictions_train = predict(train_X, train_Y, parameters)\n", + "print (\"On the test set:\")\n", + "predictions_test = predict(test_X, test_Y, parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dropout works great! The test accuracy has increased again (to 95%)! Your model is not overfitting the training set and does a great job on the test set. The French football team will be forever grateful to you! \n", + "\n", + "Run the code below to plot the decision boundary." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title(\"Model with dropout\")\n", + "axes = plt.gca()\n", + "axes.set_xlim([-0.75,0.40])\n", + "axes.set_ylim([-0.75,0.65])\n", + "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "**Note**:\n", + "- A **common mistake** when using dropout is to use it both in training and testing. You should use dropout (randomly eliminate nodes) only in training. \n", + "- Deep learning frameworks like [tensorflow](https://www.tensorflow.org/api_docs/python/tf/nn/dropout), [PaddlePaddle](http://doc.paddlepaddle.org/release_doc/0.9.0/doc/ui/api/trainer_config_helpers/attrs.html), [keras](https://keras.io/layers/core/#dropout) or [caffe](http://caffe.berkeleyvision.org/tutorial/layers/dropout.html) come with a dropout layer implementation. Don't stress - you will soon learn some of these frameworks.\n", + "\n", + "\n", + "**What you should remember about dropout:**\n", + "- Dropout is a regularization technique.\n", + "- You only use dropout during training. Don't use dropout (randomly eliminate nodes) during test time.\n", + "- Apply dropout both during forward and backward propagation.\n", + "- During training time, divide each dropout layer by keep_prob to keep the same expected value for the activations. For example, if keep_prob is 0.5, then we will on average shut down half the nodes, so the output will be scaled by 0.5 since only the remaining half are contributing to the solution. Dividing by 0.5 is equivalent to multiplying by 2. Hence, the output now has the same expected value. You can check that this works even when keep_prob is other values than 0.5. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 - Conclusions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Here are the results of our three models**: \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + " **model**\n", + " \n", + " **train accuracy**\n", + " \n", + " **test accuracy**\n", + "
\n", + " 3-layer NN without regularization\n", + " \n", + " 95%\n", + " \n", + " 91.5%\n", + "
\n", + " 3-layer NN with L2-regularization\n", + " \n", + " 94%\n", + " \n", + " 93%\n", + "
\n", + " 3-layer NN with dropout\n", + " \n", + " 93%\n", + " \n", + " 95%\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that regularization hurts training set performance! This is because it limits the ability of the network to overfit to the training set. But since it ultimately gives better test accuracy, it is helping your system. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Congratulations for finishing this assignment! And also for revolutionizing French football. :-) " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "\n", + "**What we want you to remember from this notebook**:\n", + "- Regularization will help you reduce overfitting.\n", + "- Regularization will drive your weights to lower values.\n", + "- L2 regularization and Dropout are two very effective regularization techniques." + ] + } + ], + "metadata": { + "coursera": { + "course_slug": "deep-neural-network", + "graded_item_id": "SXQaI", + "launcher_item_id": "UAwhh" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" index 144d0fc41cd1bc19f2da5ecd50bca76170c54383..926a73cdc99f21daba5ff5cdb401252021fd82e2 100644 --- "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" @@ -10,25 +10,44 @@ "## 提高深度神经网络性能之--合理初始化\n", "\n", "\n", - "** 在深度学习的训练中,权重的初始化起着重要的作用,如何选择合适的初始化方式,影响着网络的学习能力。**\n", + "** 在深度学习的训练中,权重的初始化起着重要的作用,如何选择合适的初始化方式,影响着网络的学习能力,今天我们就来看一下各种初始化方式有什么样的异同吧~**\n", "\n", - "- $W$和$b$都初始化为零(矩阵、向量,下同)\n", + "**1.零初始化:**\n", "\n", - " 这种方式由于导致前馈过程具有对称性,反向传播也产生对称性,导致权重值一样,相当于降低了隐藏层神经元的个数,从而无法进行有效的学习。\n", + " - $W$和$b$都初始化为零(矩阵、向量,下同),这种方式由于导致前馈过程具有对称性,反向传播也产生对称性,导致权重值一样,相当于降低了隐藏层神经元的个数,从而无法进行有效的学习。\n", "\n", - "- $W$初始化为随机值,b初始化为0\n", + "**2.随机初始化:**\n", "\n", - " 这种方式尽管b都为0,但由于W值不同,打破了对称性,可以有效学习,但是若网络深度很深,可能会产生梯度消失或梯度爆炸的问题,需要更好的方式\n", + " - W初始化为随机值,b初始化为0,这种方式尽管b都为0,但由于W值不同,打破了对称性,可以有效学习,但是若网络深度很深,可能会产生梯度消失或梯度爆炸的问题,需要更好的方式。\n", "\n", - "- $W$初始化为随机值后,再除以$\\sqrt{\\frac{2}{\\text{dimension of the previous layer}}}$,b初始化为0\n", + " - 梯度消失:通常神经网络所用的激活函数是sigmoid函数,这个函数将负无穷到正无穷的输入映射到0和1之间,这个函数求导的结果是f′(x)=f(x)(1−f(x)),两个0到1之间的数相乘,得到的结果就会变得很小了。由于神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于1的数而越来越小,非常接近0,从而导致层数比较浅的权重没有得到更新。\n", "\n", - " 这种方式称为\"he initialization\",可以很好地控制每一层权重,使得其不会太大,从而有效降低梯度爆炸发生的概率,尤其对relu激活函数有效。\n", - " 注:\"Xavier initialization\" $\\sqrt{\\frac{1}{\\text{dimension of the previous layer}}}$\n", + " - 那么什么是梯度爆炸呢?梯度爆炸就是由于初始化权值过大,前面层会比后面层变化的更快,就会导致权值越来越大,这就是梯度爆炸。\n", + " - 以一个三层网络为例:如下结构:\n", + " \n", + " \n", + " \n", + " - 那么表达式就如下图所示:\n", + " \n", + " \n", + " \n", + " - 从上式可以看出,如果每个权重都一样,那么在多层网络中,从第二层开始,每一层的输入值都是相同的了也就是a1=a2=a3=....,那么就相当于一个输入了,那么反向传播算法最后得到的W和b也都相同,即对称的,就不能拟合任意输入到输出的映射了。\n", + " \n", + "**3.He initialization:**\n", + "\n", + " - $W$初始化为随机值后,再除以$\\sqrt{\\frac{2}{\\text{dimension of the previous layer}}}$,b初始化为0,这种方式称为\"he initialization\",可以很好地控制每一层权重,使得其不会太大,从而有效降低梯度爆炸发生的概率,尤其对relu激活函数有效。\n", + " \n", + "**4.Xavier initialization:** \n", + "\n", + " - 注:\"Xavier initialization\" $\\sqrt{\\frac{1}{\\text{dimension of the previous layer}}}$\n", " \n", "## 申明\n", "本文原理解释和公式推导均由LSayhi完成,供学习参考,可传播;代码实现的框架由Coursera提供,由LSayhi完成,详细数据和代码可在github中查询,\n", "请勿用于Coursera刷分。\n", - "https://github.com/LSayhi/Neural-network-and-Deep-learning\n" + "\n", + "https://github.com/LSayhi/DeepLearning\n", + "\n", + "微信公众号:AI有点可ai" ] }, { diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..24c548ece7a4b6b1698796c814a98e632f56a8b4 Binary files /dev/null and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2102\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\347\245\236\347\273\217\347\275\221\347\273\234\346\200\247\350\203\275\344\271\213--\345\220\210\347\220\206\345\210\235\345\247\213\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" differ diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2.ipynb" new file mode 100644 index 0000000000000000000000000000000000000000..13fcb961f4fa3368cc6da7bbaf340c7fb8b5e0ee --- /dev/null +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/2.ipynb" @@ -0,0 +1,34 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" index 9c11b49d0333c1414e231a153ce9b9f0e5ec273f..3f8cfc8807a19a570af2a25a58db15a5ad0d4271 100644 --- "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" +++ "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.ipynb" @@ -45,7 +45,10 @@ "## 申明\n", "本文原理解释和公式推导均由LSayhi完成,供学习参考,可传播;代码实现的框架由Coursera提供,由LSayhi完成,详细数据和代码可在github中查询,\n", "请勿用于Coursera刷分。\n", - "https://github.com/LSayhi/Neural-network-and-Deep-learning" + "\n", + "https://github.com/LSayhi/DeepLearning\n", + "\n", + "微信公众号:AI有点可ai" ] }, { diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..9668551582bb656567660050427cba01bc722936 Binary files /dev/null and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/3-\346\234\272\345\231\250\345\255\246\344\271\240\347\263\273\345\210\227\357\274\2103\357\274\211\357\274\232\346\217\220\351\253\230\346\267\261\345\272\246\345\255\246\344\271\240\346\200\247\350\203\275\344\271\213 --\346\255\243\345\210\231\345\214\226\345\217\212python\345\256\236\347\216\260.pdf" differ diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/1.png" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..64600598fb8948dbbe22b72e16a35671eb4f2db3 Binary files /dev/null and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/1.png" differ diff --git "a/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/2.png" "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/2.png" new file mode 100644 index 0000000000000000000000000000000000000000..e0d0079f630437fe0714b84364e7201bd2cf3331 Binary files /dev/null and "b/Coursera-deeplearning\346\267\261\345\272\246\345\255\246\344\271\240/\350\257\276\347\250\2132-\346\224\271\345\226\204\346\267\261\345\261\202\347\245\236\347\273\217\347\275\221\347\273\234\357\274\232\350\266\205\345\217\202\346\225\260\350\260\203\350\257\225\343\200\201\346\255\243\345\210\231\345\214\226\344\273\245\345\217\212\344\274\230\345\214\226/week_1/assignment1/images/2.png" differ