{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 最適化手法毎の学習の進み方の違いを調べる" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- sin関数fittingを通して,「SGD, AdaGrad, RMSprop」の学習の進み方の比較をする" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Setup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 学習に使うsin関数に従ったランダムデータの作成\n", "- 学習データ 800件, テストデータ 200件" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "\n", "X = np.random.random(1000) * 10 - 5\n", "Y = np.sin(X)\n", "\n", "training_num = 800\n", "idx = np.arange(1000)\n", "np.random.shuffle(idx)\n", "training_idx = idx[:training_num]\n", "test_idx = idx[training_num:]\n", "\n", "trainX, testX = X[training_idx], X[test_idx]\n", "trainY, testY = np.sin(trainX), np.sin(testX)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 実験で使う定数の定義" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": true }, "outputs": [], "source": [ "batch_size =128\n", "nb_epoch = 1000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 実験で使う関数の用意" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from keras.models import Sequential\n", "from keras.layers.core import Dense, Activation\n", "\n", "def gen_model(optimizer):\n", " model = Sequential()\n", " model.add(Dense(30, input_shape=(1,)))\n", " model.add(Activation(\"sigmoid\"))\n", " model.add(Dense(30))\n", " model.add(Activation(\"sigmoid\"))\n", " model.add(Dense(1))\n", " model.compile(loss=\"mse\", optimizer=optimizer)\n", " return model" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn\n", "\n", "def plot_training_history(model, history, testX, testY):\n", " predictY = model.predict(testX)\n", " plt.subplot(121)\n", " plt.plot(np.arange(len(history.history[\"loss\"])), history.history[\"loss\"], color=\"r\", alpha=0.3, label=\"loss\")\n", " plt.plot(np.arange(len(history.history[\"val_loss\"])), history.history[\"val_loss\"], color=\"b\", alpha=0.3, label=\"val_loss\")\n", " plt.subplot(122)\n", " plt.plot(testX, predictY, \"bo\", alpha=0.3)\n", " plt.plot(testX, testY, \"ro\", alpha=0.3)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.metrics import classification_report\n", "\n", "def evaluate_model(model, testX, testY):\n", " score = model.evaluate(testX, testY)\n", " print \"mse=%f\" % score" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 実験" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. ミニバッチ確率的勾配降下法 (ミニバッチSGD)\n", "- ハイパパラメータはKerasで定義されたデフォルトのものを使用\n", " - `lr=0.01, momentum=0.0, decay=0.0, nesterov=False`\n", "- 500 epoch辺りまで学習の停滞(plateau)が起こっている\n", "- plateauにトラップされたせいで,学習が十分に進まなかった.(さらに学習時間を与えれば精度は上がりそう)" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 32/200 [===>..........................] - ETA: 0smse=0.082404\n" ] } ], "source": [ "model = gen_model(\"sgd\")\n", "history = model.fit(trainX, trainY, batch_size=batch_size, nb_epoch=nb_epoch, verbose=0, validation_split=0.1)\n", "plot_training_history(model, history, testX, testY)\n", "evaluate_model(model, testX, testY)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. AdaGrad\n", "- ハイパパラメータはKerasで定義されたデフォルトのものを使用\n", " - `lr=0.01`\n", "- 学習の停滞(plateau)は見られない\n", "- これ以上学習時間を与えても,精度はそんなに上がらなそう (グラフからじゃもう分からない)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 32/200 [===>..........................] - ETA: 0smse=0.014789\n" ] } ], "source": [ "model = gen_model(\"adagrad\")\n", "history = model.fit(trainX, trainY, batch_size=batch_size, nb_epoch=nb_epoch, verbose=0, validation_split=0.1)\n", "plot_training_history(model, history, testX, testY)\n", "evaluate_model(model, testX, testY)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. RMSprop\n", "- ハイパパラメータはKerasで定義されたデフォルトのものを使用\n", " - `lr=0.001, rho=0.9`\n", "- 学習の停滞(plateau)は見られない\n", "- 誤差の落ちるスピードがすごい早い\n", "- これ以上学習時間を与えても,精度はそんなに上がらなそう (グラフからじゃもう分からない)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nELKCXQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " 32/200 [===>..........................] - ETA: 0smse=0.010207\n" ] } ], "source": [ "model = gen_model(\"rmsprop\")\n", "history = model.fit(trainX, trainY, batch_size=batch_size, nb_epoch=nb_epoch, verbose=0, validation_split=0.1)\n", "plot_training_history(model, history, testX, testY)\n", "evaluate_model(model, testX, testY)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }