{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPython 3.6.8\n", "IPython 7.2.0\n", "\n", "numpy 1.15.4\n", "sklearn 0.20.2\n", "scipy 1.1.0\n", "matplotlib 3.0.2\n", "tensorflow 1.13.1\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -v -p numpy,sklearn,scipy,matplotlib,tensorflow" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**14장 – 순환 신경망**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_이 노트북은 14장에 있는 모든 샘플 코드와 연습문제 해답을 가지고 있습니다._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 설정" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "파이썬 2와 3을 모두 지원합니다. 공통 모듈을 임포트하고 맷플롯립 그림이 노트북 안에 포함되도록 설정하고 생성한 그림을 저장하기 위한 함수를 준비합니다:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 파이썬 2와 파이썬 3 지원\n", "from __future__ import division, print_function, unicode_literals\n", "\n", "# 공통\n", "import numpy as np\n", "import os\n", "\n", "# 일관된 출력을 위해 유사난수 초기화\n", "def reset_graph(seed=42):\n", " tf.reset_default_graph()\n", " tf.set_random_seed(seed)\n", " np.random.seed(seed)\n", "\n", "# 맷플롯립 설정\n", "%matplotlib inline\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['axes.labelsize'] = 14\n", "plt.rcParams['xtick.labelsize'] = 12\n", "plt.rcParams['ytick.labelsize'] = 12\n", "\n", "# 한글출력\n", "plt.rcParams['font.family'] = 'NanumBarunGothic'\n", "plt.rcParams['axes.unicode_minus'] = False\n", "\n", "# 그림을 저장할 폴더\n", "PROJECT_ROOT_DIR = \".\"\n", "CHAPTER_ID = \"rnn\"\n", "\n", "def save_fig(fig_id, tight_layout=True):\n", " path = os.path.join(PROJECT_ROOT_DIR, \"images\", CHAPTER_ID, fig_id + \".png\")\n", " if tight_layout:\n", " plt.tight_layout()\n", " plt.savefig(path, format='png', dpi=300)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "텐서플로를 임포트합니다:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 기본 RNN" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 수동으로 RNN 만들기" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/haesun/anaconda3/envs/handson-ml/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Colocations handled automatically by placer.\n" ] } ], "source": [ "reset_graph()\n", "\n", "n_inputs = 3\n", "n_neurons = 5\n", "\n", "X0 = tf.placeholder(tf.float32, [None, n_inputs])\n", "X1 = tf.placeholder(tf.float32, [None, n_inputs])\n", "\n", "Wx = tf.Variable(tf.random_normal(shape=[n_inputs, n_neurons],dtype=tf.float32))\n", "Wy = tf.Variable(tf.random_normal(shape=[n_neurons,n_neurons],dtype=tf.float32))\n", "b = tf.Variable(tf.zeros([1, n_neurons], dtype=tf.float32))\n", "\n", "Y0 = tf.tanh(tf.matmul(X0, Wx) + b)\n", "Y1 = tf.tanh(tf.matmul(Y0, Wy) + tf.matmul(X1, Wx) + b)\n", "\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]]) # t = 0\n", "X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]]) # t = 1\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.0664006 0.9625767 0.68105793 0.7091854 -0.898216 ]\n", " [ 0.9977755 -0.719789 -0.9965761 0.9673924 -0.9998972 ]\n", " [ 0.99999774 -0.99898803 -0.9999989 0.9967762 -0.9999999 ]\n", " [ 1. -1. -1. -0.99818915 0.9995087 ]]\n" ] } ], "source": [ "print(Y0_val)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. -1. -1. 0.4020025 -0.9999998 ]\n", " [-0.12210419 0.62805265 0.9671843 -0.9937122 -0.2583937 ]\n", " [ 0.9999983 -0.9999994 -0.9999975 -0.85943305 -0.9999881 ]\n", " [ 0.99928284 -0.99999815 -0.9999058 0.9857963 -0.92205757]]\n" ] } ], "source": [ "print(Y1_val)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `static_rnn()`을 사용하여 만들기" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "n_inputs = 3\n", "n_neurons = 5" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.\n", "For more information, please see:\n", " * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n", " * https://github.com/tensorflow/addons\n", "If you depend on functionality not listed there, please file an issue.\n", "\n", "WARNING:tensorflow:From :6: BasicRNNCell.__init__ (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "This class is equivalent as tf.keras.layers.SimpleRNNCell, and will be replaced by that in Tensorflow 2.0.\n", "WARNING:tensorflow:From :8: static_rnn (from tensorflow.python.ops.rnn) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use `keras.layers.RNN(cell, unroll=True)`, which is equivalent to this API\n" ] } ], "source": [ "reset_graph()\n", "\n", "X0 = tf.placeholder(tf.float32, [None, n_inputs])\n", "X1 = tf.placeholder(tf.float32, [None, n_inputs])\n", "\n", "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", "output_seqs, states = tf.contrib.rnn.static_rnn(basic_cell, [X0, X1],\n", " dtype=tf.float32)\n", "Y0, Y1 = output_seqs" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "X0_batch = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 0, 1]])\n", "X1_batch = np.array([[9, 8, 7], [0, 0, 0], [6, 5, 4], [3, 2, 1]])\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " Y0_val, Y1_val = sess.run([Y0, Y1], feed_dict={X0: X0_batch, X1: X1_batch})" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.30741334, -0.32884315, -0.6542847 , -0.9385059 , 0.52089024],\n", " [ 0.99122757, -0.9542541 , -0.7518079 , -0.9995208 , 0.9820235 ],\n", " [ 0.9999268 , -0.99783254, -0.8247353 , -0.9999963 , 0.99947774],\n", " [ 0.996771 , -0.68750614, 0.8419969 , 0.9303911 , 0.8120684 ]],\n", " dtype=float32)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y0_val" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.99998885, -0.99976057, -0.0667929 , -0.9999803 , 0.99982214],\n", " [-0.6524943 , -0.51520866, -0.37968948, -0.5922594 , -0.08968379],\n", " [ 0.99862397, -0.99715203, -0.03308626, -0.9991566 , 0.9932902 ],\n", " [ 0.99681675, -0.9598194 , 0.39660627, -0.8307606 , 0.79671973]],\n", " dtype=float32)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y1_val" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from tensorflow_graph_in_jupyter import show_graph" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_graph(tf.get_default_graph())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 시퀀스 패딩" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "n_steps = 2\n", "n_inputs = 3\n", "n_neurons = 5" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "X_seqs = tf.unstack(tf.transpose(X, perm=[1, 0, 2]))\n", "\n", "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", "output_seqs, states = tf.contrib.rnn.static_rnn(basic_cell, X_seqs,\n", " dtype=tf.float32)\n", "outputs = tf.transpose(tf.stack(output_seqs), perm=[1, 0, 2])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "X_batch = np.array([\n", " # t = 0 t = 1 \n", " [[0, 1, 2], [9, 8, 7]], # 샘플 1\n", " [[3, 4, 5], [0, 0, 0]], # 샘플 2\n", " [[6, 7, 8], [6, 5, 4]], # 샘플 3\n", " [[9, 0, 1], [3, 2, 1]], # 샘플 4\n", " ])\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " outputs_val = outputs.eval(feed_dict={X: X_batch})" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[-0.45652324 -0.68064123 0.40938237 0.63104504 -0.45732826]\n", " [-0.9428799 -0.9998869 0.94055814 0.9999985 -0.9999997 ]]\n", "\n", " [[-0.8001535 -0.9921827 0.7817797 0.9971032 -0.9964609 ]\n", " [-0.637116 0.11300927 0.5798437 0.4310559 -0.6371699 ]]\n", "\n", " [[-0.93605185 -0.9998379 0.9308867 0.9999815 -0.99998295]\n", " [-0.9165386 -0.9945604 0.896054 0.99987197 -0.9999751 ]]\n", "\n", " [[ 0.9927369 -0.9981933 -0.55543643 0.9989031 -0.9953323 ]\n", " [-0.02746338 -0.73191994 0.7827872 0.9525682 -0.9781773 ]]]\n" ] } ], "source": [ "print(outputs_val)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.9428799 -0.9998869 0.94055814 0.9999985 -0.9999997 ]\n", " [-0.637116 0.11300927 0.5798437 0.4310559 -0.6371699 ]\n", " [-0.9165386 -0.9945604 0.896054 0.99987197 -0.9999751 ]\n", " [-0.02746338 -0.73191994 0.7827872 0.9525682 -0.9781773 ]]\n" ] } ], "source": [ "print(np.transpose(outputs_val, axes=[1, 0, 2])[1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using `dynamic_rnn()`" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "n_steps = 2\n", "n_inputs = 3\n", "n_neurons = 5" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :6: dynamic_rnn (from tensorflow.python.ops.rnn) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use `keras.layers.RNN(cell)`, which is equivalent to this API\n" ] } ], "source": [ "reset_graph()\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "\n", "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", "outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "X_batch = np.array([\n", " [[0, 1, 2], [9, 8, 7]], # instance 1\n", " [[3, 4, 5], [0, 0, 0]], # instance 2\n", " [[6, 7, 8], [6, 5, 4]], # instance 3\n", " [[9, 0, 1], [3, 2, 1]], # instance 4\n", " ])\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " outputs_val = outputs.eval(feed_dict={X: X_batch})" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[-0.85115266 0.87358344 0.5802911 0.8954789 -0.0557505 ]\n", " [-0.999996 0.99999577 0.9981815 1. 0.37679607]]\n", "\n", " [[-0.9983293 0.9992038 0.98071456 0.999985 0.25192663]\n", " [-0.7081804 -0.0772338 -0.85227895 0.5845349 -0.78780943]]\n", "\n", " [[-0.9999827 0.99999535 0.9992863 1. 0.5159072 ]\n", " [-0.9993956 0.9984095 0.83422637 0.99999976 -0.47325212]]\n", "\n", " [[ 0.87888587 0.07356028 0.97216916 0.9998546 -0.7351168 ]\n", " [-0.9134514 0.3600957 0.7624866 0.99817705 0.80142 ]]]\n" ] } ], "source": [ "print(outputs_val)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_graph(tf.get_default_graph())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 시퀀스 길이 지정" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "n_steps = 2\n", "n_inputs = 3\n", "n_neurons = 5\n", "\n", "reset_graph()\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/haesun/anaconda3/envs/handson-ml/lib/python3.6/site-packages/tensorflow/python/ops/rnn.py:626: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n" ] } ], "source": [ "seq_length = tf.placeholder(tf.int32, [None])\n", "outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32,\n", " sequence_length=seq_length)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "X_batch = np.array([\n", " # 스텝 0 스텝 1\n", " [[0, 1, 2], [9, 8, 7]], # 샘플 1\n", " [[3, 4, 5], [0, 0, 0]], # 샘플 2 (0 벡터로 패딩)\n", " [[6, 7, 8], [6, 5, 4]], # 샘플 3\n", " [[9, 0, 1], [3, 2, 1]], # 샘플 4\n", " ])\n", "seq_length_batch = np.array([2, 1, 2, 2])" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "with tf.Session() as sess:\n", " init.run()\n", " outputs_val, states_val = sess.run(\n", " [outputs, states], feed_dict={X: X_batch, seq_length: seq_length_batch})" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[-0.9123188 0.16516446 0.5548655 -0.39159346 0.20846416]\n", " [-1. 0.956726 0.99831694 0.99970174 0.96518576]]\n", "\n", " [[-0.9998612 0.6702289 0.9723653 0.6631046 0.74457586]\n", " [ 0. 0. 0. 0. 0. ]]\n", "\n", " [[-0.99999976 0.8967997 0.9986295 0.9647514 0.93662 ]\n", " [-0.9999526 0.9681953 0.96002865 0.98706263 0.85459226]]\n", "\n", " [[-0.96435434 0.99501586 -0.36150697 0.9983378 0.999497 ]\n", " [-0.9613586 0.9568762 0.7132288 0.97729224 -0.0958299 ]]]\n" ] } ], "source": [ "print(outputs_val)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-1. 0.956726 0.99831694 0.99970174 0.96518576]\n", " [-0.9998612 0.6702289 0.9723653 0.6631046 0.74457586]\n", " [-0.9999526 0.9681953 0.96002865 0.98706263 0.85459226]\n", " [-0.9613586 0.9568762 0.7132288 0.97729224 -0.0958299 ]]\n" ] } ], "source": [ "print(states_val)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 시퀀스 분류기 훈련하기" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :16: dense (from tensorflow.python.layers.core) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use keras.layers.dense instead.\n" ] } ], "source": [ "reset_graph()\n", "\n", "n_steps = 28\n", "n_inputs = 28\n", "n_neurons = 150\n", "n_outputs = 10\n", "\n", "learning_rate = 0.001\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.int32, [None])\n", "\n", "basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", "outputs, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)\n", "\n", "logits = tf.layers.dense(states, n_outputs)\n", "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y,\n", " logits=logits)\n", "loss = tf.reduce_mean(xentropy)\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "correct = tf.nn.in_top_k(logits, y, 1)\n", "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n", "\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "주의: `tf.examples.tutorials.mnist`은 삭제될 예정이므로 대신 `tf.keras.datasets.mnist`를 사용하겠습니다." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "scrolled": true }, "outputs": [], "source": [ "(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()\n", "X_train = X_train.astype(np.float32).reshape(-1, 28*28) / 255.0\n", "X_test = X_test.astype(np.float32).reshape(-1, 28*28) / 255.0\n", "y_train = y_train.astype(np.int32)\n", "y_test = y_test.astype(np.int32)\n", "X_valid, X_train = X_train[:5000], X_train[5000:]\n", "y_valid, y_train = y_train[:5000], y_train[5000:]\n", "X_test = X_test.reshape((-1, n_steps, n_inputs))\n", "X_valid = X_valid.reshape((-1, n_steps, n_inputs))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "def shuffle_batch(X, y, batch_size):\n", " rnd_idx = np.random.permutation(len(X))\n", " n_batches = len(X) // batch_size\n", " for batch_idx in np.array_split(rnd_idx, n_batches):\n", " X_batch, y_batch = X[batch_idx], y[batch_idx]\n", " yield X_batch, y_batch" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# from tensorflow.examples.tutorials.mnist import input_data\n", "# mnist = input_data.read_data_sets(\"/tmp/data/\")\n", "# X_test = mnist.test.images.reshape((-1, n_steps, n_inputs))\n", "# y_test = mnist.test.labels" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 배치 데이터 정확도: 0.9533333 검증 세트 정확도: 0.9322\n", "1 배치 데이터 정확도: 0.96 검증 세트 정확도: 0.953\n", "2 배치 데이터 정확도: 0.96 검증 세트 정확도: 0.952\n", "3 배치 데이터 정확도: 0.96666664 검증 세트 정확도: 0.9616\n", "4 배치 데이터 정확도: 0.96 검증 세트 정확도: 0.9674\n", "5 배치 데이터 정확도: 0.9066667 검증 세트 정확도: 0.967\n", "6 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9748\n", "7 배치 데이터 정확도: 0.96 검증 세트 정확도: 0.9748\n", "8 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9726\n", "9 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9722\n", "10 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.973\n", "11 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9754\n", "12 배치 데이터 정확도: 0.94666666 검증 세트 정확도: 0.9754\n", "13 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9708\n", "14 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9832\n", "15 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9728\n", "16 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9794\n", "17 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9764\n", "18 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9786\n", "19 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.979\n", "20 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9756\n", "21 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.973\n", "22 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9756\n", "23 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9752\n", "24 배치 데이터 정확도: 0.97333336 검증 세트 정확도: 0.9826\n", "25 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.975\n", "26 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9794\n", "27 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.978\n", "28 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9738\n", "29 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.977\n", "30 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.979\n", "31 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9808\n", "32 배치 데이터 정확도: 0.96666664 검증 세트 정확도: 0.978\n", "33 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9834\n", "34 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9794\n", "35 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9798\n", "36 배치 데이터 정확도: 0.97333336 검증 세트 정확도: 0.9792\n", "37 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9812\n", "38 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.979\n", "39 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9796\n", "40 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.98\n", "41 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9812\n", "42 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9784\n", "43 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9804\n", "44 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9794\n", "45 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9824\n", "46 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9802\n", "47 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9816\n", "48 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.981\n", "49 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9806\n", "50 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9822\n", "51 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9786\n", "52 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9804\n", "53 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9818\n", "54 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9836\n", "55 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.974\n", "56 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.983\n", "57 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9818\n", "58 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9792\n", "59 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9838\n", "60 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9802\n", "61 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9796\n", "62 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9782\n", "63 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9806\n", "64 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9784\n", "65 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9824\n", "66 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9718\n", "67 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9832\n", "68 배치 데이터 정확도: 0.97333336 검증 세트 정확도: 0.9798\n", "69 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9808\n", "70 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9802\n", "71 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.978\n", "72 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9826\n", "73 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9814\n", "74 배치 데이터 정확도: 0.9533333 검증 세트 정확도: 0.9542\n", "75 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9826\n", "76 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9836\n", "77 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9784\n", "78 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9802\n", "79 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.979\n", "80 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9816\n", "81 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9824\n", "82 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9784\n", "83 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.981\n", "84 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9828\n", "85 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9818\n", "86 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9806\n", "87 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9786\n", "88 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9778\n", "89 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9824\n", "90 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9694\n", "91 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.98\n", "92 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9728\n", "93 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9798\n", "94 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9824\n", "95 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9808\n", "96 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9784\n", "97 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.98\n", "98 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9834\n", "99 배치 데이터 정확도: 0.9866667 검증 세트 정확도: 0.9832\n" ] } ], "source": [ "n_epochs = 100\n", "batch_size = 150\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for epoch in range(n_epochs):\n", " for X_batch, y_batch in shuffle_batch(X_train, y_train, batch_size):\n", " X_batch = X_batch.reshape((-1, n_steps, n_inputs))\n", " sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n", " acc_batch = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n", " acc_valid = accuracy.eval(feed_dict={X: X_valid, y: y_valid})\n", " print(epoch, \"배치 데이터 정확도:\", acc_batch, \"검증 세트 정확도:\", acc_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 다층 RNN" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_steps = 28\n", "n_inputs = 28\n", "n_outputs = 10\n", "\n", "learning_rate = 0.001\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.int32, [None])" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :7: MultiRNNCell.__init__ (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "This class is equivalent as tf.keras.layers.StackedRNNCells, and will be replaced by that in Tensorflow 2.0.\n" ] } ], "source": [ "n_neurons = 100\n", "n_layers = 3\n", "\n", "layers = [tf.contrib.rnn.BasicRNNCell(num_units=n_neurons,\n", " activation=tf.nn.relu)\n", " for layer in range(n_layers)]\n", "multi_layer_cell = tf.contrib.rnn.MultiRNNCell(layers)\n", "outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "states_concat = tf.concat(axis=1, values=states)\n", "logits = tf.layers.dense(states_concat, n_outputs)\n", "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)\n", "loss = tf.reduce_mean(xentropy)\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "correct = tf.nn.in_top_k(logits, y, 1)\n", "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n", "\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 배치 데이터 정확도: 0.92 검증 세트 정확도: 0.9438\n", "1 배치 데이터 정확도: 0.94 검증 세트 정확도: 0.958\n", "2 배치 데이터 정확도: 0.96 검증 세트 정확도: 0.9752\n", "3 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9772\n", "4 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9744\n", "5 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9734\n", "6 배치 데이터 정확도: 0.99333334 검증 세트 정확도: 0.9776\n", "7 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9792\n", "8 배치 데이터 정확도: 1.0 검증 세트 정확도: 0.9832\n", "9 배치 데이터 정확도: 0.98 검증 세트 정확도: 0.9776\n" ] } ], "source": [ "n_epochs = 10\n", "batch_size = 150\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for epoch in range(n_epochs):\n", " for X_batch, y_batch in shuffle_batch(X_train, y_train, batch_size):\n", " X_batch = X_batch.reshape((-1, n_steps, n_inputs))\n", " sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n", " acc_batch = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n", " acc_valid = accuracy.eval(feed_dict={X: X_valid, y: y_valid})\n", " print(epoch, \"배치 데이터 정확도:\", acc_batch, \"검증 세트 정확도:\", acc_valid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 시계열" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "t_min, t_max = 0, 30\n", "resolution = 0.1\n", "\n", "def time_series(t):\n", " return t * np.sin(t) / 3 + 2 * np.sin(t*5)\n", "\n", "def next_batch(batch_size, n_steps):\n", " t0 = np.random.rand(batch_size, 1) * (t_max - t_min - n_steps * resolution)\n", " Ts = t0 + np.arange(0., n_steps + 1) * resolution\n", " ys = time_series(Ts)\n", " return ys[:, :-1].reshape(-1, n_steps, 1), ys[:, 1:].reshape(-1, n_steps, 1)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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Nm2iqqqKCRMmEBra8C328MMP8+yzz/Ldd98xfPhwj89Pa1atWtXg9uuvv06XLl349ttvmTFjhkeP4Y3zCRAaGup21AHO7XwL0R59UmOwa8grqmBA11izuyOEEMIPmL0GQjiEhITw3XfG4MuGDRs4duwYa9eubba9zWbjyiuvZMKECWzfvp0NGzZw5513EhIS0ux93nzzTUJDQ1m3bh1///vf+etf/8o777zj2v/NN98wevToBhW8W+rX2LFj2bhxI5WVDXPIL1++nGnTpjUJHurq6li6dCllZWVceOGFHp6Zc3PmzBnsdjsJCQketffW+QQ4cOAAPXr0oHfv3sydO5cDBw649p3L+RaiPbKSowE4IOsgOt2SJWb3QAghOkZQjEC0ZSTALBaLhWPHjhEbG8uYMWOafOlsrLS0lJKSEmbMmOGaXz9w4MAW7zN48GD++Mc/AtC/f39eeOEFvvjiC6677joA8vLy6Natm8f96t69O7W1tRw9erTBmokVK1bw4IMPum7/8MMPjBs3jqqqKmJiYnjvvfcYNmyYB2fl3N15552MHDmScePGedTeW+fz/PPP55VXXmHgwIGcPHmShx56iAsvvJBdu3aRlJR0TudbiPbISjECCOdC6l1HZZ1NR9EaNm6EJ5+EDz+EoUNh0SKYPt24HjMGWvmoF0IInyQjED5k69atjBgxotXgASAxMZEFCxYwZcoUpk2bxp///GcOHz7c4n0aTxnq3r07J0+edN2urKzEarV63K/IyEjX/ZxycnI4cOAAU6ZMcW0bMGAA27ZtY/369SxcuJD58+c3u8D5kUceISYmxnV58803m2z75ptvWjzO3/72t6xdu5Zly5a1OIJQn7fO5xVXXME111zD8OHDueSSS/jggw+w2+28+uqrrjZtOd9CtFdUeCi9kqLYesjIXfHeliMm9ygw1NbC9dfDxRfDu+9Cejp8/LFxvWyZsf366412QgjhbySA8CHbtm1j1KhRHrd/+eWX2bBhAxdddBHvv/8+/fv3b7IWoL6wsLAGt5VS2O121+3k5GSKi4s97pdzgXJKSopr2/Lly5k8eTLR0dGubeHh4fTt25fs7GweffRRRo4cyV/+8he3fbz99tvZtm2b6zJz5swm27Kzs5s9xrvuuou3336bL7/8kqysJgXNW+St81lfTEwMQ4YMYd++fa5tbTnfQnSE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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t = np.linspace(t_min, t_max, int((t_max - t_min) / resolution))\n", "\n", "n_steps = 20\n", "t_instance = np.linspace(12.2, 12.2 + resolution * (n_steps + 1), n_steps + 1)\n", "\n", "plt.figure(figsize=(11,4))\n", "plt.subplot(121)\n", "plt.title(\"시계열 데이터 (인공 생성)\", fontsize=14)\n", "plt.plot(t, time_series(t), label=r\"$t . \\sin(t) / 3 + 2 . \\sin(5t)$\")\n", "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"b-\", linewidth=3, label=\"훈련 샘플\")\n", "plt.legend(loc=\"lower left\", fontsize=14)\n", "plt.axis([0, 30, -17, 13])\n", "plt.xlabel(\"시간\")\n", "plt.ylabel(\"값\", rotation=0)\n", "\n", "plt.subplot(122)\n", "plt.title(\"훈련 샘플\", fontsize=14)\n", "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=12, label=\"샘플\")\n", "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markeredgewidth=0.5, markeredgecolor=\"b\", markersize=14, label=\"타깃\")\n", "plt.legend(loc=\"upper left\")\n", "plt.xlabel(\"시간\")\n", "\n", "\n", "save_fig(\"time_series_plot\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "X_batch, y_batch = next_batch(1, n_steps)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.38452097, 2.05081182],\n", " [ 2.05081182, 2.29742291],\n", " [ 2.29742291, 2.0465599 ],\n", " [ 2.0465599 , 1.34009916],\n", " [ 1.34009916, 0.32948704],\n", " [ 0.32948704, -0.76115235],\n", " [-0.76115235, -1.68967022],\n", " [-1.68967022, -2.25492776],\n", " [-2.25492776, -2.34576159],\n", " [-2.34576159, -1.96789418],\n", " [-1.96789418, -1.24220428],\n", " [-1.24220428, -0.37478448],\n", " [-0.37478448, 0.39387907],\n", " [ 0.39387907, 0.84815766],\n", " [ 0.84815766, 0.85045064],\n", " [ 0.85045064, 0.3752526 ],\n", " [ 0.3752526 , -0.48422846],\n", " [-0.48422846, -1.53852738],\n", " [-1.53852738, -2.54795941],\n", " [-2.54795941, -3.28097239]])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.c_[X_batch[0], y_batch[0]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `OuputProjectionWrapper` 사용하기" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "RNN 하나를 만들어 보겠습니다. 이 신경망은 100개의 순환 뉴런을 가지고 있고 각 훈련 샘플은 20개의 입력 길이로 구성되므로 20개의 타임 스텝에 펼칠 것입니다. 각 입력은 하나의 특성을 가집니다(각 시간에서의 값 하나). 타깃도 20개의 입력 시퀀스이고 하나의 값을 가집니다:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_steps = 20\n", "n_inputs = 1\n", "n_neurons = 100\n", "n_outputs = 1\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])\n", "\n", "cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu)\n", "outputs, states = tf.nn.dynamic_rnn(cell, X, dtype=tf.float32)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "각 타임 스텝에서 크기가 100인 출력 벡터가 만들어 집니다. 하지만 각 타임 스텝에서 하나의 출력 값을 원합니다. 간단한 방법은 `OutputProjectionWrapper`로 셀을 감싸는 것입니다." ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_steps = 20\n", "n_inputs = 1\n", "n_neurons = 100\n", "n_outputs = 1\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "cell = tf.contrib.rnn.OutputProjectionWrapper(\n", " tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu),\n", " output_size=n_outputs)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "outputs, states = tf.nn.dynamic_rnn(cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "learning_rate = 0.001\n", "\n", "loss = tf.reduce_mean(tf.square(outputs - y)) # MSE\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "saver = tf.train.Saver()" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 \tMSE: 10.261381\n", "100 \tMSE: 0.38792896\n", "200 \tMSE: 0.10900874\n", "300 \tMSE: 0.061354414\n", "400 \tMSE: 0.059336416\n", "500 \tMSE: 0.058288667\n", "600 \tMSE: 0.052280974\n", "700 \tMSE: 0.047044784\n", "800 \tMSE: 0.049216457\n", "900 \tMSE: 0.0473833\n", "1000 \tMSE: 0.047798716\n", "1100 \tMSE: 0.047832422\n", "1200 \tMSE: 0.041717164\n", "1300 \tMSE: 0.046195257\n", "1400 \tMSE: 0.04128444\n" ] } ], "source": [ "n_iterations = 1500\n", "batch_size = 50\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for iteration in range(n_iterations):\n", " X_batch, y_batch = next_batch(batch_size, n_steps)\n", " sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n", " if iteration % 100 == 0:\n", " mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n", " print(iteration, \"\\tMSE:\", mse)\n", " \n", " saver.save(sess, \"./my_time_series_model\") # not shown in the book" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/haesun/anaconda3/envs/handson-ml/lib/python3.6/site-packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use standard file APIs to check for files with this prefix.\n", "INFO:tensorflow:Restoring parameters from ./my_time_series_model\n" ] } ], "source": [ "with tf.Session() as sess: # 책에는 없음\n", " saver.restore(sess, \"./my_time_series_model\") # 책에는 없음\n", "\n", " X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n", " y_pred = sess.run(outputs, feed_dict={X: X_new})" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[[-3.398375 ],\n", " [-2.4517932],\n", " [-1.0338113],\n", " [ 0.7044598],\n", " [ 2.2053058],\n", " [ 3.181232 ],\n", " [ 3.525914 ],\n", " [ 3.391311 ],\n", " [ 2.857527 ],\n", " [ 2.2694187],\n", " [ 1.7152514],\n", " [ 1.5625854],\n", " [ 1.9287689],\n", " [ 2.783921 ],\n", " [ 3.8925717],\n", " [ 5.1402655],\n", " [ 6.1224003],\n", " [ 6.676544 ],\n", " [ 6.722065 ],\n", " [ 6.0950246]]], dtype=float32)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"모델 테스트\", fontsize=14)\n", "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=12, label=\"샘플\")\n", "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markeredgewidth=0.5, markeredgecolor=\"b\", markersize=14, label=\"타깃\")\n", "plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"예측\")\n", "plt.legend(loc=\"upper left\")\n", "plt.xlabel(\"시간\")\n", "\n", "save_fig(\"time_series_pred_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `OutputProjectionWrapper` 사용하지 않기" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_steps = 20\n", "n_inputs = 1\n", "n_neurons = 100\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "cell = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons, activation=tf.nn.relu)\n", "rnn_outputs, states = tf.nn.dynamic_rnn(cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "n_outputs = 1\n", "learning_rate = 0.001" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons])\n", "stacked_outputs = tf.layers.dense(stacked_rnn_outputs, n_outputs)\n", "outputs = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "loss = tf.reduce_mean(tf.square(outputs - y))\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "\n", "init = tf.global_variables_initializer()\n", "saver = tf.train.Saver()" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 \tMSE: 13.907029\n", "100 \tMSE: 0.5056698\n", "200 \tMSE: 0.19735886\n", "300 \tMSE: 0.101214476\n", "400 \tMSE: 0.06850145\n", "500 \tMSE: 0.06291986\n", "600 \tMSE: 0.055129297\n", "700 \tMSE: 0.049436502\n", "800 \tMSE: 0.050434686\n", "900 \tMSE: 0.0482007\n", "1000 \tMSE: 0.04809868\n", "1100 \tMSE: 0.04982501\n", "1200 \tMSE: 0.041912545\n", "1300 \tMSE: 0.049292978\n", "1400 \tMSE: 0.043140374\n" ] } ], "source": [ "n_iterations = 1500\n", "batch_size = 50\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for iteration in range(n_iterations):\n", " X_batch, y_batch = next_batch(batch_size, n_steps)\n", " sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n", " if iteration % 100 == 0:\n", " mse = loss.eval(feed_dict={X: X_batch, y: y_batch})\n", " print(iteration, \"\\tMSE:\", mse)\n", " \n", " X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n", " y_pred = sess.run(outputs, feed_dict={X: X_new})\n", " \n", " saver.save(sess, \"./my_time_series_model\")" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[-3.4332483],\n", " [-2.4594698],\n", " [-1.1081185],\n", " [ 0.6882153],\n", " [ 2.1105688],\n", " [ 3.0585155],\n", " [ 3.5144088],\n", " [ 3.3531117],\n", " [ 2.808016 ],\n", " [ 2.1606152],\n", " [ 1.662645 ],\n", " [ 1.5578941],\n", " [ 1.9173537],\n", " [ 2.7210245],\n", " [ 3.8667865],\n", " [ 5.100083 ],\n", " [ 6.099999 ],\n", " [ 6.6480975],\n", " [ 6.6147423],\n", " [ 6.022089 ]]], dtype=float32)" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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kyZRWlrKbbfdBsCXvvQl1qxZw4UXXsgf//jHgXxbIpJlVFNv9mw33dG2bdvW8vfw4cN55plnWtYvuOACDjnkEEKhEA899NAB55588sls3LgxeYUVEemEaup90NjY2NLW/sc//pGqqirGjh2b4lKJiKim3icff/wxl112GWZGbW0tDz74ICNGjEh1sUREFNT74qijjuLll19OdTFERA6g5hcRkQyioC4iA6amBubNg1GjYOXK4HHevGC7JIeCuogMCM0zOjDUpi4i/U7zjA6cwVlTH8D5/nrr4Ycf5u6776ahoYFrr72WWCdlaz1yY3fHigx2GTHP6CAx+IJ6fL6/yy+Hu+4KHqdPT6vADnDwwQezfPlyQp0Mr9k6qHd3rMhgt3Bh8+Q/Xc0zWheMnS6JGXzNL63n+4O28/0lMKzl2rVrueeeezjyyCP54IMPGDFiBOeee25LT9MTTjiBu+66i7lz57Jr1y727t3L9773PaZMmcIPf/hDfv7zn3PYYYeRn5/PSSedBMCRRx7Jtm3b2LFjBzfeeCMffvghoVCIqVOnsmLFijbD8caP/fDDD7nhhhv485//TCwWY8GCBVx44YVcc801hMNh3nnnHbZt28Ztt93GFVdckfDlFBkI8f+ekRsmMCw//9P/v9BmntFXXkldGTPF4AvqXc33l+BYxVu2bGHlypUUFBRwyy230NjYyM6dO/n1r39Nbm4u11xzDZdeeimzZs1i+/btnHvuuTz55JMsX76cV199laFDh3L11Vcf8LwLFy6ktLSUuXPnArBz506OPfZYNm3axPe///02x958881cd911XHDBBdTW1nLaaacxefLk5rdZx69+9Su2bt3K+eefr6Aug0bLPKN5ZawsLiFUVRn8v83PbzPPaCfDLUkvDL6gHp/vr903fTLm+5s0aVLLIF5nnHEGV155JTfeeCO5ublAMLTuli1b+PGPfwxAfX0969ev56yzzmLo0KEAnH766Xz00UdtnreqqorFixe3rB922GGdluF//ud/mDRpEgDhcJgxY8a0jPJ48cUXY2YcffTR7NixI+H3KzJQZs+GZcua5xn9lwry1kWI/Xc1oS8VUT+ljIIb03ye0UFk8LWp9+N8f5s2bSIajQLw4osvsnjx4jZD7p500kl897vfZe3ataxdu5aKigqOOeYYfvOb37Tc5Hylg9+PJ598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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"모델 테스트\", fontsize=14)\n", "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n", "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n", "plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"prediction\")\n", "plt.legend(loc=\"upper left\")\n", "plt.xlabel(\"시간\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 새로운 시퀀스 생성하기" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_time_series_model\n" ] } ], "source": [ "with tf.Session() as sess: # 책에는 없음\n", " saver.restore(sess, \"./my_time_series_model\") # 책에는 없음\n", "\n", " sequence = [0.] * n_steps\n", " for iteration in range(300):\n", " X_batch = np.array(sequence[-n_steps:]).reshape(1, n_steps, 1)\n", " y_pred = sess.run(outputs, feed_dict={X: X_batch})\n", " sequence.append(y_pred[0, -1, 0])" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8,4))\n", "plt.plot(np.arange(len(sequence)), sequence, \"b-\")\n", "plt.plot(t[:n_steps], sequence[:n_steps], \"b-\", linewidth=3)\n", "plt.xlabel(\"시간\")\n", "plt.ylabel(\"값\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_time_series_model\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with tf.Session() as sess:\n", " saver.restore(sess, \"./my_time_series_model\")\n", "\n", " sequence1 = [0. for i in range(n_steps)]\n", " for iteration in range(len(t) - n_steps):\n", " X_batch = np.array(sequence1[-n_steps:]).reshape(1, n_steps, 1)\n", " y_pred = sess.run(outputs, feed_dict={X: X_batch})\n", " sequence1.append(y_pred[0, -1, 0])\n", "\n", " sequence2 = [time_series(i * resolution + t_min + (t_max-t_min/3)) for i in range(n_steps)]\n", " for iteration in range(len(t) - n_steps):\n", " X_batch = np.array(sequence2[-n_steps:]).reshape(1, n_steps, 1)\n", " y_pred = sess.run(outputs, feed_dict={X: X_batch})\n", " sequence2.append(y_pred[0, -1, 0])\n", "\n", "plt.figure(figsize=(11,4))\n", "plt.subplot(121)\n", "plt.plot(t, sequence1, \"b-\")\n", "plt.plot(t[:n_steps], sequence1[:n_steps], \"b-\", linewidth=3)\n", "plt.xlabel(\"시간\")\n", "plt.ylabel(\"값\", rotation=0)\n", "\n", "plt.subplot(122)\n", "plt.plot(t, sequence2, \"b-\")\n", "plt.plot(t[:n_steps], sequence2[:n_steps], \"b-\", linewidth=3)\n", "plt.xlabel(\"시간\")\n", "save_fig(\"creative_sequence_plot\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 심층 RNN" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MultiRNNCell" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_inputs = 2\n", "n_steps = 5\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [], "source": [ "n_neurons = 100\n", "n_layers = 3\n", "\n", "layers = [tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", " for layer in range(n_layers)]\n", "multi_layer_cell = tf.contrib.rnn.MultiRNNCell(layers)\n", "outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "X_batch = np.random.rand(2, n_steps, n_inputs)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "with tf.Session() as sess:\n", " init.run()\n", " outputs_val, states_val = sess.run([outputs, states], feed_dict={X: X_batch})" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2, 5, 100)" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "outputs_val.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 여러 GPU에 심층 RNN 분산하기" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이렇게 사용해서는 **안됩니다**:" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "with tf.device(\"/gpu:0\"): # 이 할당은 무시됩니다\n", " layer1 = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", "\n", "with tf.device(\"/gpu:1\"): # 이 할당은 무시됩니다\n", " layer2 = tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "대신 `DeviceCellWrapper`를 사용합니다:" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "\n", "class DeviceCellWrapper(tf.contrib.rnn.RNNCell):\n", " def __init__(self, device, cell):\n", " self._cell = cell\n", " self._device = device\n", "\n", " @property\n", " def state_size(self):\n", " return self._cell.state_size\n", "\n", " @property\n", " def output_size(self):\n", " return self._cell.output_size\n", "\n", " def __call__(self, inputs, state, scope=None):\n", " with tf.device(self._device):\n", " return self._cell(inputs, state, scope)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_inputs = 5\n", "n_steps = 20\n", "n_neurons = 100\n", "\n", "X = tf.placeholder(tf.float32, shape=[None, n_steps, n_inputs])" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "devices = [\"/cpu:0\", \"/cpu:0\", \"/cpu:0\"] # 만약 GPU가 세 개 있다면 [\"/gpu:0\", \"/gpu:1\", \"/gpu:2\"]로 바꿉니다\n", "cells = [DeviceCellWrapper(dev,tf.contrib.rnn.BasicRNNCell(num_units=n_neurons))\n", " for dev in devices]\n", "multi_layer_cell = tf.contrib.rnn.MultiRNNCell(cells)\n", "outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "또 다른 방법으로 텐서플로 1.1부터 `tf.contrib.rnn.DeviceWrapper` 클래스를 사용할 수 있습니다(텐서플로 1.2부터는 `tf.nn.rnn_cell.DeviceWrapper`가 되었습니다)." ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [], "source": [ "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[-4.64021787e-02 -1.09517150e-01 1.15719385e-01 ... -2.52173021e-02\n", " 1.18367776e-01 2.02370673e-01]\n", " [ 8.25041682e-02 -2.59060234e-01 1.70650616e-01 ... 1.27473488e-01\n", " 2.67642319e-01 5.00118062e-02]\n", " [-4.02192622e-01 -5.05355358e-01 9.59848985e-02 ... 2.13280991e-01\n", " 2.34671727e-01 4.09884870e-01]\n", " ...\n", " [-2.83994913e-01 -7.33134627e-01 3.17925662e-01 ... 3.41021568e-01\n", " 4.12627876e-01 -6.32287338e-02]\n", " [ 2.27203593e-01 -7.05208659e-01 1.00494951e-01 ... -1.41650185e-01\n", " 5.51966906e-01 5.99652976e-02]\n", " [-6.84828730e-03 -5.12680054e-01 -2.85934418e-01 ... -2.31354937e-01\n", " 2.07134634e-01 8.85492340e-02]]\n", "\n", " [[-5.23373596e-02 -8.67693499e-02 8.17485601e-02 ... -1.00591481e-01\n", " 1.27385423e-01 1.19344540e-01]\n", " [ 9.99869704e-02 -1.82395414e-01 2.22274512e-02 ... 1.32247999e-01\n", " 2.45662808e-01 1.98342823e-04]\n", " [-3.53575259e-01 -4.52652365e-01 1.14802383e-01 ... -7.28872195e-02\n", " 1.18325368e-01 2.53719836e-01]\n", " ...\n", " [-5.62218845e-01 -5.45640588e-01 3.24773520e-01 ... 3.96203876e-01\n", " 3.83510798e-01 -4.03708816e-02]\n", " [-4.31864500e-01 -6.10390902e-01 3.47339541e-01 ... 4.27990228e-01\n", " 5.83847225e-01 4.58722472e-01]\n", " [ 6.61748126e-02 -8.10620904e-01 -8.05550814e-02 ... -3.05715531e-01\n", " 2.64899582e-01 -1.17827579e-01]]]\n" ] } ], "source": [ "with tf.Session() as sess:\n", " init.run()\n", " print(sess.run(outputs, feed_dict={X: np.random.rand(2, n_steps, n_inputs)}))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 드롭아웃" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "n_inputs = 1\n", "n_neurons = 100\n", "n_layers = 3\n", "n_steps = 20\n", "n_outputs = 1" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.float32, [None, n_steps, n_outputs])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "노트: `input_keep_prob` 매개변수는 플레이스홀더로 훈련하는 동안에는 어느 값이나 가능하고 테스트할 때는 1.0으로 지정합니다(드롭아웃을 끕니다)." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/haesun/anaconda3/envs/handson-ml/lib/python3.6/site-packages/tensorflow/python/ops/rnn_cell_impl.py:1259: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n" ] } ], "source": [ "keep_prob = tf.placeholder_with_default(1.0, shape=())\n", "cells = [tf.contrib.rnn.BasicRNNCell(num_units=n_neurons)\n", " for layer in range(n_layers)]\n", "cells_drop = [tf.contrib.rnn.DropoutWrapper(cell, input_keep_prob=keep_prob)\n", " for cell in cells]\n", "multi_layer_cell = tf.contrib.rnn.MultiRNNCell(cells_drop)\n", "rnn_outputs, states = tf.nn.dynamic_rnn(multi_layer_cell, X, dtype=tf.float32)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "learning_rate = 0.01\n", "\n", "stacked_rnn_outputs = tf.reshape(rnn_outputs, [-1, n_neurons])\n", "stacked_outputs = tf.layers.dense(stacked_rnn_outputs, n_outputs)\n", "outputs = tf.reshape(stacked_outputs, [-1, n_steps, n_outputs])\n", "\n", "loss = tf.reduce_mean(tf.square(outputs - y))\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "\n", "init = tf.global_variables_initializer()\n", "saver = tf.train.Saver()" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 훈련 MSE: 15.835779\n", "100 훈련 MSE: 4.6422505\n", "200 훈련 MSE: 6.8161483\n", "300 훈련 MSE: 4.562946\n", "400 훈련 MSE: 4.1560965\n", "500 훈련 MSE: 3.8629198\n", "600 훈련 MSE: 3.3836648\n", "700 훈련 MSE: 4.2098613\n", "800 훈련 MSE: 4.1579723\n", "900 훈련 MSE: 3.3742094\n", "1000 훈련 MSE: 3.285522\n", "1100 훈련 MSE: 3.7830932\n", "1200 훈련 MSE: 3.2817714\n", "1300 훈련 MSE: 3.1303678\n", "1400 훈련 MSE: 3.8150966\n" ] } ], "source": [ "n_iterations = 1500\n", "batch_size = 50\n", "train_keep_prob = 0.5\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for iteration in range(n_iterations):\n", " X_batch, y_batch = next_batch(batch_size, n_steps)\n", " _, mse = sess.run([training_op, loss],\n", " feed_dict={X: X_batch, y: y_batch,\n", " keep_prob: train_keep_prob})\n", " if iteration % 100 == 0: # not shown in the book\n", " print(iteration, \"훈련 MSE:\", mse) # not shown\n", " \n", " saver.save(sess, \"./my_dropout_time_series_model\")" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_dropout_time_series_model\n" ] } ], "source": [ "with tf.Session() as sess:\n", " saver.restore(sess, \"./my_dropout_time_series_model\")\n", "\n", " X_new = time_series(np.array(t_instance[:-1].reshape(-1, n_steps, n_inputs)))\n", " y_pred = sess.run(outputs, feed_dict={X: X_new})" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "image/png": "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KyA8pV/i7psSUroUKS8v58svv6SsrIwpU6bw8ssvA9DS0sIzzzzDAQccwH777ccll1xCVVUVTz31FFdffTW/+93vOOigg9i2bRt//dd/zdlnn821117LunXraG5u5sILL6S0tJQ77riDhoYG3nrrLSrUS0Kkz8rLQx766tVh/JW6urbjryigt9KboRwTufR36N1kO+igg9zdvbq62pubm33r1q0+d+5cf/TRR93dHfC33nrL3d3vvfdeX7x4sbu719XV+Te/+U2vqKjwVatW+cKFC93dvaWlxU899VT/9NNPfdWqVX7dddel5PfIhHspIolHrg29mypPPvkkNTU1fOtb32Lnzp00NIQ+VMOHD6e0tBSAd955h7PPPhuAwYMHc8oppwBQVVXF66+/TllZGQBff/01n3zySep/CRHJWwrqrWzbto2f//znvPfeezQ3N/NCq8TXgoK9zQ9HHnkk69at49vf/jY7d+7kzTff5MILL+S4447joIMO2jOK40cffcThhx/OBx98kPLfRUTyU9aN/ZIsY8eO5cILL+T9999n7NixnHPOOW0mumht4cKFvPvuu0ycOJHvfOc7HHjggZgZ3/ve9/jiiy+YOHEiZWVl3HDDDQD82Z/9Gc8//zyzZs3i97//fSp/LRHJM3pSj3mhh+5on3/++Z6f99tvP55++uk9r8855xz2339/CgsLuffeezuce/zxx7Nx48bEFVZEpAt6Uu+HHTt27Klr//3vf09VVRXHHHNMmkslIqIn9X758ssvueCCCzAz6urquOeeexg6dGi6iyUioqDeH4cccgivvPJKuoshItKBql9ERHKIgrqIpExNDSxaBCNGwFNPhfWiRZq1KJEU1EUkJTTPaGooqItI0mme0dTJzqDe0gLPPQe33RbWLZkz0u/999/PLbfcQmNjI5dddhktXZSt9ciNPR0rku3i84y6h2X8+LA9Ps+oe9jf1JTecuaC7AvqLS0wbRp897tw881hPW1aRgV2gH333ZdVq1ZRWFjY6f7WQb2nY0WyneYZTZ3sS2msqIB168LYmxDW69btnciwnyorK7nttts4+OCD+eSTTxg6dChnnXXWnp6mRx11FDfffDMLFy5k27Zt7Ny5k5/85CdMnjyZ++67jwceeIBhw4YxePBgjjvuOAAOPvhgPv/8c7Zs2cJVV13FZ599RmFhIVOm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.title(\"모델 테스트\", fontsize=14)\n", "plt.plot(t_instance[:-1], time_series(t_instance[:-1]), \"bo\", markersize=10, label=\"instance\")\n", "plt.plot(t_instance[1:], time_series(t_instance[1:]), \"w*\", markersize=10, label=\"target\")\n", "plt.plot(t_instance[1:], y_pred[0,:,0], \"r.\", markersize=10, label=\"prediction\")\n", "plt.legend(loc=\"upper left\")\n", "plt.xlabel(\"시간\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이런 드롭아웃이 이 경우엔 크게 도움이 안되네요. :/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# LSTM" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :3: BasicLSTMCell.__init__ (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "This class is equivalent as tf.keras.layers.LSTMCell, and will be replaced by that in Tensorflow 2.0.\n" ] } ], "source": [ "reset_graph()\n", "\n", "lstm_cell = tf.contrib.rnn.BasicLSTMCell(num_units=n_neurons)" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "n_steps = 28\n", "n_inputs = 28\n", "n_neurons = 150\n", "n_outputs = 10\n", "n_layers = 3\n", "\n", "learning_rate = 0.001\n", "\n", "X = tf.placeholder(tf.float32, [None, n_steps, n_inputs])\n", "y = tf.placeholder(tf.int32, [None])\n", "\n", "lstm_cells = [tf.contrib.rnn.BasicLSTMCell(num_units=n_neurons)\n", " for layer in range(n_layers)]\n", "multi_cell = tf.contrib.rnn.MultiRNNCell(lstm_cells)\n", "outputs, states = tf.nn.dynamic_rnn(multi_cell, X, dtype=tf.float32)\n", "top_layer_h_state = states[-1][1]\n", "logits = tf.layers.dense(top_layer_h_state, n_outputs, name=\"softmax\")\n", "xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)\n", "loss = tf.reduce_mean(xentropy, name=\"loss\")\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "correct = tf.nn.in_top_k(logits, y, 1)\n", "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))\n", " \n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(LSTMStateTuple(c=, h=),\n", " LSTMStateTuple(c=, h=),\n", " LSTMStateTuple(c=, h=))" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "states" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "top_layer_h_state" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "에포크 0 배치 데이터 정확도 = 0.97333336 검증 세트 정확도 = 0.962\n", "에포크 1 배치 데이터 정확도 = 0.94666666 검증 세트 정확도 = 0.9792\n", "에포크 2 배치 데이터 정확도 = 0.96666664 검증 세트 정확도 = 0.97\n", "에포크 3 배치 데이터 정확도 = 0.99333334 검증 세트 정확도 = 0.9838\n", "에포크 4 배치 데이터 정확도 = 0.98 검증 세트 정확도 = 0.9876\n", "에포크 5 배치 데이터 정확도 = 0.99333334 검증 세트 정확도 = 0.9862\n", "에포크 6 배치 데이터 정확도 = 1.0 검증 세트 정확도 = 0.9876\n", "에포크 7 배치 데이터 정확도 = 0.99333334 검증 세트 정확도 = 0.9872\n", "에포크 8 배치 데이터 정확도 = 1.0 검증 세트 정확도 = 0.989\n", "에포크 9 배치 데이터 정확도 = 0.99333334 검증 세트 정확도 = 0.9892\n", "테스트 세트 정확도 = 0.9871\n" ] } ], "source": [ "n_epochs = 10\n", "batch_size = 150\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for epoch in range(n_epochs):\n", " for X_batch, y_batch in shuffle_batch(X_train, y_train, batch_size):\n", " X_batch = X_batch.reshape((-1, n_steps, n_inputs))\n", " sess.run(training_op, feed_dict={X: X_batch, y: y_batch})\n", " acc_batch = accuracy.eval(feed_dict={X: X_batch, y: y_batch})\n", " acc_valid = accuracy.eval(feed_dict={X: X_valid, y: y_valid})\n", " print(\"에포크\", epoch, \"배치 데이터 정확도 =\", acc_batch, \"검증 세트 정확도 =\", acc_valid)\n", " \n", " acc_test = accuracy.eval(feed_dict={X: X_test, y: y_test})\n", " print(\"테스트 세트 정확도 =\", acc_test)" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :1: LSTMCell.__init__ (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "This class is equivalent as tf.keras.layers.LSTMCell, and will be replaced by that in Tensorflow 2.0.\n" ] } ], "source": [ "lstm_cell = tf.contrib.rnn.LSTMCell(num_units=n_neurons, use_peepholes=True)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :1: GRUCell.__init__ (from tensorflow.python.ops.rnn_cell_impl) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "This class is equivalent as tf.keras.layers.GRUCell, and will be replaced by that in Tensorflow 2.0.\n" ] } ], "source": [ "gru_cell = tf.contrib.rnn.GRUCell(num_units=n_neurons)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 임베딩" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이 섹션은 텐서플로의 [Word2Vec 튜토리얼](https://www.tensorflow.org/versions/r0.11/tutorials/word2vec/index.html)을 기반으로 합니다." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 데이터 추출" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [], "source": [ "from six.moves import urllib\n", "\n", "import errno\n", "import os\n", "import zipfile\n", "\n", "WORDS_PATH = \"datasets/words\"\n", "WORDS_URL = 'http://mattmahoney.net/dc/text8.zip'\n", "\n", "def mkdir_p(path):\n", " \"\"\"디렉토리 생성, 이미 있다면 그냥 통과\n", " \n", " 이 함수는 파이썬 2 버전을 지원하기 위해서입니다.\n", " 파이썬 3.2 이상이면 다음과 같이 쓸 수 있습니다:\n", " >>> os.makedirs(path, exist_ok=True)\n", " \"\"\"\n", " try:\n", " os.makedirs(path)\n", " except OSError as exc:\n", " if exc.errno == errno.EEXIST and os.path.isdir(path):\n", " pass\n", " else:\n", " raise\n", "\n", "def fetch_words_data(words_url=WORDS_URL, words_path=WORDS_PATH):\n", " os.makedirs(words_path, exist_ok=True)\n", " zip_path = os.path.join(words_path, \"words.zip\")\n", " if not os.path.exists(zip_path):\n", " urllib.request.urlretrieve(words_url, zip_path)\n", " with zipfile.ZipFile(zip_path) as f:\n", " data = f.read(f.namelist()[0])\n", " return data.decode(\"ascii\").split()" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "words = fetch_words_data()" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['anarchism', 'originated', 'as', 'a', 'term']" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "words[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 사전 구축" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [], "source": [ "from collections import Counter\n", "\n", "vocabulary_size = 50000\n", "\n", "vocabulary = [(\"UNK\", None)] + Counter(words).most_common(vocabulary_size - 1)\n", "vocabulary = np.array([word for word, _ in vocabulary])\n", "dictionary = {word: code for code, word in enumerate(vocabulary)}\n", "data = np.array([dictionary.get(word, 0) for word in words])" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('anarchism originated as a term of abuse first used',\n", " array([5234, 3081, 12, 6, 195, 2, 3134, 46, 59]))" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\" \".join(words[:9]), data[:9]" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'cycles originated as a term of abuse first used'" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\" \".join([vocabulary[word_index] for word_index in [5241, 3081, 12, 6, 195, 2, 3134, 46, 59]])" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('culottes', 0)" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "words[24], data[24]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 배치 생성" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "import random\n", "from collections import deque\n", "\n", "def generate_batch(batch_size, num_skips, skip_window):\n", " global data_index\n", " assert batch_size % num_skips == 0\n", " assert num_skips <= 2 * skip_window\n", " batch = np.ndarray(shape=(batch_size), dtype=np.int32)\n", " labels = np.ndarray(shape=(batch_size, 1), dtype=np.int32)\n", " span = 2 * skip_window + 1 # [ skip_window target skip_window ]\n", " buffer = deque(maxlen=span)\n", " for _ in range(span):\n", " buffer.append(data[data_index])\n", " data_index = (data_index + 1) % len(data)\n", " for i in range(batch_size // num_skips):\n", " target = skip_window # buffer 중간에 타깃 레이블을 둡니다\n", " targets_to_avoid = [ skip_window ]\n", " for j in range(num_skips):\n", " while target in targets_to_avoid:\n", " target = random.randint(0, span - 1)\n", " targets_to_avoid.append(target)\n", " batch[i * num_skips + j] = buffer[skip_window]\n", " labels[i * num_skips + j, 0] = buffer[target]\n", " buffer.append(data[data_index])\n", " data_index = (data_index + 1) % len(data)\n", " return batch, labels" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [], "source": [ "data_index=0\n", "batch, labels = generate_batch(8, 2, 1)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([3081, 3081, 12, 12, 6, 6, 195, 195], dtype=int32),\n", " ['originated', 'originated', 'as', 'as', 'a', 'a', 'term', 'term'])" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "batch, [vocabulary[word] for word in batch]" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([[5234],\n", " [ 12],\n", " [ 6],\n", " [3081],\n", " [ 195],\n", " [ 12],\n", " [ 6],\n", " [ 2]], dtype=int32),\n", " ['anarchism', 'as', 'a', 'originated', 'term', 'as', 'a', 'of'])" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "labels, [vocabulary[word] for word in labels[:, 0]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 모델 구성" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "batch_size = 128\n", "embedding_size = 128 # 임베딩 벡터 차원\n", "skip_window = 1 # 고려할 왼쪽과 오른쪽 단어의 개수\n", "num_skips = 2 # 레이블을 생성하기 위한 입력의 재사용 횟수\n", "\n", "# 가까운 이웃을 샘플링하기 위해 랜덤한 검증 세트를 만듭니다.\n", "# 검증 샘플은 가장 흔한 단어인 낮은 ID 번호를 가진 것으로 제한합니다.\n", "valid_size = 16 # 유사도를 평가하기 위해 랜덤하게 구성할 단어 세트 크기\n", "valid_window = 100 # 검증 샘플을 전체 샘플의 앞 부분에서만 선택합니다\n", "valid_examples = np.random.choice(valid_window, valid_size, replace=False)\n", "num_sampled = 64 # 부정 샘플링(negative sampling)의 수\n", "\n", "learning_rate = 0.01" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "# 입력 데이터\n", "train_labels = tf.placeholder(tf.int32, shape=[batch_size, 1])\n", "valid_dataset = tf.constant(valid_examples, dtype=tf.int32)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [], "source": [ "vocabulary_size = 50000\n", "embedding_size = 150\n", "\n", "# 입력을 위해 임베딩을 조회합니다\n", "init_embeds = tf.random_uniform([vocabulary_size, embedding_size], -1.0, 1.0)\n", "embeddings = tf.Variable(init_embeds)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [], "source": [ "train_inputs = tf.placeholder(tf.int32, shape=[None])\n", "embed = tf.nn.embedding_lookup(embeddings, train_inputs)" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [], "source": [ "# NCE 손실을 위한 변수를 만듭니다\n", "nce_weights = tf.Variable(\n", " tf.truncated_normal([vocabulary_size, embedding_size],\n", " stddev=1.0 / np.sqrt(embedding_size)))\n", "nce_biases = tf.Variable(tf.zeros([vocabulary_size]))\n", "\n", "# 배치에서 NCE 손실의 평균을 계산합니다.Compute the average NCE loss for the batch.\n", "# tf.nce_loss는 자동으로 손실을 평가할 때마다 음성 레이블에서 새로운 샘플을 뽑습니다.\n", "loss = tf.reduce_mean(\n", " tf.nn.nce_loss(nce_weights, nce_biases, train_labels, embed,\n", " num_sampled, vocabulary_size))\n", "\n", "# Adam 옵티마이저\n", "optimizer = tf.train.AdamOptimizer(learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "\n", "# 미니배치 샘플과 모든 임베딩 사이의 코사인 유사도를 계산합니다\n", "norm = tf.sqrt(tf.reduce_sum(tf.square(embeddings), axis=1, keepdims=True))\n", "normalized_embeddings = embeddings / norm\n", "valid_embeddings = tf.nn.embedding_lookup(normalized_embeddings, valid_dataset)\n", "similarity = tf.matmul(valid_embeddings, normalized_embeddings, transpose_b=True)\n", "\n", "# 초기화를 위한 연산\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 모델 훈련" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "반복: 0\t스텝 0 에서의 평균 손실: 289.90948486328125\n", "would에 가장 가까운 단어: viewpoint, lured, rossini, vara, teflon, glaciation, losing, eurasia,\n", "on에 가장 가까운 단어: thatched, falsely, wi, vinegar, euskal, consequentialist, baroness, tallinn,\n", "four에 가장 가까운 단어: hom, rez, siege, translators, khalil, pegged, hellene, ynys,\n", "his에 가장 가까운 단어: pointers, ponty, charged, achieved, rk, blooming, value, juggernaut,\n", "often에 가장 가까운 단어: presses, convenience, arabidopsis, jewry, mapuche, guts, macrinus, implemented,\n", "in에 가장 가까운 단어: furnishing, qi, renderer, tuning, mckenna, illustrate, advances, parser,\n", "an에 가장 가까운 단어: gutierrez, dyess, privations, archaeological, bijection, kon, joh, insemination,\n", "eight에 가장 가까운 단어: malacca, liquidation, davidic, comical, ochre, wild, redman, unconditional,\n", "these에 가장 가까운 단어: pedro, condoned, neck, ssn, supervising, doug, thereto, melton,\n", "nine에 가장 가까운 단어: cocker, struck, dame, tensile, unifies, operetta, develop, opinions,\n", "called에 가장 가까운 단어: paradoxes, wings, krantz, consults, weblogs, supergirl, constitutionally, zoologists,\n", "about에 가장 가까운 단어: heavyweight, cisco, fatou, triphosphate, predecessors, abkhazia, swordsmanship, wexford,\n", "up에 가장 가까운 단어: clair, drives, steadfast, missed, nashville, kilowatts, anal, vinland,\n", "one에 가장 가까운 단어: imagines, tijuana, hindrance, motorcyclist, steadfastly, lords, letting, hutchinson,\n", "and에 가장 가까운 단어: pierre, savannah, fridays, laminated, reestablish, counters, asymmetric, unchecked,\n", "been에 가장 가까운 단어: powerpc, maccabean, precarious, hounds, gol, linear, hazael, schuster,\n", "반복: 2000\t스텝 2000 에서의 평균 손실: 132.04802500534058\n", "반복: 4000\t스텝 4000 에서의 평균 손실: 62.34032018876076\n", "반복: 6000\t스텝 6000 에서의 평균 손실: 41.11393726539612\n", "반복: 8000\t스텝 8000 에서의 평균 손실: 31.31713050496578\n", "반복: 10000\t스텝 10000 에서의 평균 손실: 25.686955342292787\n", "would에 가장 가까운 단어: can, tarski, unprotected, morpork, afc, hashes, cannot, mileva,\n", "on에 가장 가까운 단어: shrewsbury, in, hearing, actinium, ufos, doubleday, of, mosque,\n", "four에 가장 가까운 단어: nine, five, one, three, zero, two, eight, six,\n", "his에 가장 가까운 단어: the, nen, abscess, modeling, adobe, and, adherence, nhk,\n", "often에 가장 가까운 단어: ampere, baudot, scythian, are, and, canaris, it, breastfeeding,\n", "in에 가장 가까운 단어: of, and, altaic, romanus, buchan, nine, UNK, the,\n", "an에 가장 가까운 단어: a, is, this, beers, which, threw, achill, parsley,\n", "eight에 가장 가까운 단어: nine, zero, four, five, one, six, seven, two,\n", "these에 가장 가까운 단어: displaced, snowball, tuned, antigua, seceded, fallacy, or, kournikova,\n", "nine에 가장 가까운 단어: four, one, eight, six, zero, seven, two, three,\n", "called에 가장 가까운 단어: and, are, ampere, or, specifying, rhazes, gide, dissociation,\n", "about에 가장 가까운 단어: blankets, limiting, chung, argonauts, and, webster, in, ball,\n", "up에 가장 가까운 단어: integrity, a, flow, laughton, peake, rn, bodyguard, natively,\n", "one에 가장 가까운 단어: nine, four, five, three, two, seven, six, UNK,\n", "and에 가장 가까운 단어: of, in, the, which, as, or, ufos, UNK,\n", "been에 가장 가까운 단어: have, stopped, has, jealousy, essendon, nationally, had, a,\n" ] } ], "source": [ "num_steps = 10001\n", "\n", "with tf.Session() as session:\n", " init.run()\n", "\n", " average_loss = 0\n", " for step in range(num_steps):\n", " print(\"\\r반복: {}\".format(step), end=\"\\t\")\n", " batch_inputs, batch_labels = generate_batch(batch_size, num_skips, skip_window)\n", " feed_dict = {train_inputs : batch_inputs, train_labels : batch_labels}\n", "\n", " # 훈련 연산을 평가하여 스텝을 한 단계를 업데이트합니다(session.run()에서 반환된 값을 사용합니다)\n", " _, loss_val = session.run([training_op, loss], feed_dict=feed_dict)\n", " average_loss += loss_val\n", "\n", " if step % 2000 == 0:\n", " if step > 0:\n", " average_loss /= 2000\n", " # 평균 손실은 2000개 배치에 대한 손실의 추정입니다.\n", " print(\"스텝 \", step, \"에서의 평균 손실: \", average_loss)\n", " average_loss = 0\n", "\n", " # 이 코드는 비용이 많이 듭니다 (500 스텝마다 ~20%씩 느려집니다)\n", " if step % 10000 == 0:\n", " sim = similarity.eval()\n", " for i in range(valid_size):\n", " valid_word = vocabulary[valid_examples[i]]\n", " top_k = 8 # 가장 가까운 단어의 개수\n", " nearest = (-sim[i, :]).argsort()[1:top_k+1]\n", " log_str = \"%s에 가장 가까운 단어:\" % valid_word\n", " for k in range(top_k):\n", " close_word = vocabulary[nearest[k]]\n", " log_str = \"%s %s,\" % (log_str, close_word)\n", " print(log_str)\n", "\n", " final_embeddings = normalized_embeddings.eval()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "마지막 임베딩을 저장합니다(물론 텐서플로의 `Saver`를 사용해도 됩니다):" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [], "source": [ "np.save(\"./my_final_embeddings.npy\", final_embeddings)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 임베딩 그래프" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [], "source": [ "def plot_with_labels(low_dim_embs, labels):\n", " assert low_dim_embs.shape[0] >= len(labels), \"임베딩보다 레이블이 많습니다.\"\n", " plt.figure(figsize=(18, 18)) # 인치 크기\n", " for i, label in enumerate(labels):\n", " x, y = low_dim_embs[i,:]\n", " plt.scatter(x, y)\n", " plt.annotate(label,\n", " xy=(x, y),\n", " xytext=(5, 2),\n", " textcoords='offset points',\n", " ha='right',\n", " va='bottom')" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAP3CAYAAAB+tAZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XlA1HX+x/HnAMPhEXgjqOGRmgheFN4OoHitVtqq5YVaqdmhaa0uaqTbT2vdMtMyNzW33NTyChPThMkzC48gCVPRlhBERMGDm/n9wTpF0iqJjMjr8Q/MZ77z/b4/s7IxLz7f98dgsVgQEREREREREblZdrYuQEREREREREQqFoUJIiIiIiIiIlIqChNEREREREREpFQUJoiIiIiIiIhIqShMEBEREREREZFSUZggIiIiIiIiIqWiMEFERERERERESkVhgoiIiIiIiIiUisIEERERERERESkVh/K+YO3atS1eXl7lfVkRERERERERuYGDBw+mWSyWOjc6rtzDBC8vL6Kjo8v7siIiIiIiIiJyAwaD4aebOU63OYiIiIiIiIhIqShMEBEREREREZFSUZggIiIiIiIiIqWiMEFERERERERESkVhgoiIiIiIiIiUisIEERERERERESkVhQkiIiIiIiIiUioKE0RERERERESkVBQmiIiIiIiIiEipKEwQERERERERkVJRmCAiIiIiIiIipaIwQURERERERERKRWGCiIiIiIiIiJSKwgQRERERERERKRWFCSIiIiIiIiJSKgoTRERERERERKRUFCaIiIiIiIiISKkoTBARERERERGRUlGYICIiIiIiIiKlojBBREREREREREpFYYKIiIiIiIiIlIrCBBEREREREREpFYUJIiIiIiIiIlIqChNEREREREREpFQUJoiIiIiIiIhIqShMEBEREREREZFSUZggIiIiIiIiIqWiMEFERERERERESkVhgoiIiIiIiIiUisIEERERERERESkVhQkiIiIiIiIiUioKE0RERERERESkVBQmiIiIiIiIiEipKEwQERERERERkVJRmCAiIiIVTkREBJ06dWLx4sW2LkVERKRScrB1ASIiIiL/i9lsZunSpXh5efHEE0/QrFkzQkNDWbNmDc2bN7d1eSIiIpWSViaIiIhImTp37hx9+vQhICCA0aNH06ZN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sGFD1q9fj1KpZMWKFaxdu5YePXrU2KeXlxdjx44lNzeX5557jsTEROzt7UlOTmbjxo24uLjw9ttvs2zZMtRqteG6Ef/X3p0HVFnmfx//XCyyaGCNiYGa2xMqaJSaKwXiVpO/aFEZfUJz11wmy9zSrJyaynL6lWmmhcs02mL2ZJGaDemUlkyYmmFamEviGrixcz1/ICdQXI4ih+X9+ke5z33O+Z7b29v7fLyu7xUbq48//liNGjXSypUr9fTTT+uNN94ooyMBAJful19+0Ycffig/Pz89/vjj+vDDD897jQwNDdW8efMkSUlJSYqJiVGPHj2UkJDgeL0+ffrovffeU8uWLZWVleUIYc8nMTFR0dHRGjhwoLKzs9W9e3clJSU5Hvfw8ND69euLBRBFFe2TIEl5eXmO3xfto7B582ZNnDjR8Vh2dvbFDw4A4IoRJgAo937++WfNnDlTwcHB8vb21unTpzV69Gi99NJLuvHGG5WXl6dmzZopPj5eixYtUvPmzZWenq7Tp0+X+HrWWi1YsECZmZlq3LixjDGOfUNCQtSgQQNJUps2bfTuu+86nnfkyBHt3btXAwcOlCTl5uYqMDDw6n54ALhM4eHh8vPzkyS1b99e48aNU3JyconXyC5dulzwtY4cOaJq1aqpZcuWkiQvLy95eXkV26fol31JatGihRYvXqwNGzaoefPmyszM1OHDhyVJWVlZOnHixDnvUzRAqFWrlvbs2SNJ+uabb3TkyBHNmjVLCQkJuv7669WpUye1bNlSzZs319tvv62GDRtKKuh/AwC4+ggTAJR7M2bM0IQJE9ShQwe99dZbkgrm8aampur555/XyJEjJUmjRo1SaGioTp06pczMzPO+3tNPP63ly5crJSVFp06d0vz58x2P7d69W+np6fL399e6desUGhrqeOxPf/qTGjRooOXLl+u6665TXl4e0xwAlFvJycnKzc2Vh4eHvvjiC/3222966aWXFBgYqGnTphXbt2iTw7NHBEgFX+xPnTqlH3/8Uc2aNVNWVpYyMzPl4eGhkydPytfXV59++qnatGnjeM7gwYM1btw4ZWdna+/evZIKmi126dJFGRkZjqBDkl5++WVFRESoefPm6tatm/7yl79o/Pjxuvfee9WlSxc1atRI3t7eSk9P108//SQvLy99/PHHkqT58+dr2LBhysnJUW5uroYO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uvvuu+Xm5qagoCCFhoaqbt26MsaoTp06+v333y9pH2OM473z8vKK1XL//ffLGKN69erpyJEjF6x7xIgRiouLU3Z2trZt26ZOnTqV2jEBAKAqIEwAAFQp7dq10+7du0t8LCEhQfT1cU6LFi20cuVKFfZgCggI0Lp16yRJOTk52rRpk2NKgbu7u+N5RX8vyfH8i+1Tq1Yt7dmzR5K0cuXKYo97eHgU2/dCunXrpk2bNumjjz7SPffcc/EPCgAAiiFMAABUCGfPzT9w4IAOHDignj17qk2bNho7dqwk6auvvlJUVJQiIyN122236ZdffpEkNWjQQFOnTtWPP/6oP//5z9q2bZustRo5cqTatWunnj17auTIkXr55ZclFXT+79ixozp16sQIiAsYPHiw/Pz8HH8uDRo00MaNG9W5c2dFRkZqwIABatq0aam939ChQ/Xmm2+qe/fuSk5Oduq5YWFhuuuuu7RkyRIZY9S7d289+uijio2NLbX6AACoKljNAQBQIcTFxWnNmjVavHix3NzcNHPmTMXFxenbb7+Vj4+PbrrpJm3YsEHHjx9XYGCgsrOzNX36dNWsWVNbtmzRypUrFRYWprS0ND300EN6/fXX5efnp71792rVqlXatWuXBg0aJD8/P916661yc3PTNddco0OHDikpKUnDhg3T888/7+rDgFL0ww8/aMyYMVq7dq2rSwEAoNxgNQcAQKVy9tz8WrVqqUePHvL19ZUxRkFBQTp69KjWrVunIUOGaPbs2UpLS9Pnn3+u2267TXXq1NHSpUt1+PBh+fr6qnXr1urTp48iIiK0cOFC9evXT23btlWXLl3UpUsX7dy5U7t371Z+fr5q166tf/7zny4+AigNderUcfx+2bJlGjZsmAurAQCg4iJMAABUCGfPzT906FCxOfJSwVSISZMmOZoz5ufn68CBA+rWrZukgi+STZo00S+//KLExERt3bpVycnJOn36tPLz87Vv3z5JUmhoqMLCwtSoUSN16NBBgwYNcoQYqNiycvPV7ulP5V0vVHNXbpRnkw6uLgkAgAqJpSEBABXC4MGDtX37drVr106+vr7q2rVrifvFxMSoZcuWCgwMVJ06deTn56cNGzZIKgggduzYoW3btqlLly5655131KpVK33yySe688475e7uLmOMevTooaeeekpHjx5VamqqsrOzy/KjVkoJ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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.manifold import TSNE\n", "\n", "tsne = TSNE(perplexity=30, n_components=2, init='pca', n_iter=5000)\n", "plot_only = 500\n", "low_dim_embs = tsne.fit_transform(final_embeddings[:plot_only,:])\n", "labels = [vocabulary[i] for i in range(plot_only)]\n", "plot_with_labels(low_dim_embs, labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 기계 번역" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`basic_rnn_seq2seq()` 함수는 간단한 인코더/디코더 모델을 만듭니다. 먼저 `encoder_inputs`를 상태 벡터로 인코딩하는 RNN을 실행하고 그다음 `decoder_inputs`을 마지막 인코더 상태로 초기화시킨 디코더를 실행합니다. 인코더와 디코더는 같은 RNN 셀 타입을 사용하지만 파라미터를 공유하지는 않습니다." ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [], "source": [ "import tensorflow as tf\n", "reset_graph()\n", "\n", "n_steps = 50\n", "n_neurons = 200\n", "n_layers = 3\n", "num_encoder_symbols = 20000\n", "num_decoder_symbols = 20000\n", "embedding_size = 150\n", "learning_rate = 0.01\n", "\n", "X = tf.placeholder(tf.int32, [None, n_steps]) # 영어 문장\n", "Y = tf.placeholder(tf.int32, [None, n_steps]) # 프랑스어 번역\n", "W = tf.placeholder(tf.float32, [None, n_steps - 1, 1])\n", "Y_input = Y[:, :-1]\n", "Y_target = Y[:, 1:]\n", "\n", "encoder_inputs = tf.unstack(tf.transpose(X)) # 1D 텐서의 리스트\n", "decoder_inputs = tf.unstack(tf.transpose(Y_input)) # 1D 텐서의 리스트\n", "\n", "lstm_cells = [tf.contrib.rnn.BasicLSTMCell(num_units=n_neurons)\n", " for layer in range(n_layers)]\n", "cell = tf.contrib.rnn.MultiRNNCell(lstm_cells)\n", "\n", "output_seqs, states = tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq(\n", " encoder_inputs,\n", " decoder_inputs,\n", " cell,\n", " num_encoder_symbols,\n", " num_decoder_symbols,\n", " embedding_size)\n", "\n", "logits = tf.transpose(tf.unstack(output_seqs), perm=[1, 0, 2])" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [], "source": [ "logits_flat = tf.reshape(logits, [-1, num_decoder_symbols])\n", "Y_target_flat = tf.reshape(Y_target, [-1])\n", "W_flat = tf.reshape(W, [-1])\n", "xentropy = W_flat * tf.nn.sparse_softmax_cross_entropy_with_logits(labels=Y_target_flat, logits=logits_flat)\n", "loss = tf.reduce_mean(xentropy)\n", "optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)\n", "training_op = optimizer.minimize(loss)\n", "\n", "init = tf.global_variables_initializer()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# 연습문제 해답" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. to 6." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "부록 A 참조." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 7. 임베딩된 레버(Reber) 문법" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "먼저 문법에 맞는 문자열을 생성하는 함수가 필요합니다. 이 문법은 각 상태에서 가능한 전이 상태의 리스트입니다. 하나의 전이는 출력할 문자열(또는 생성할 문법)과 다음 상태를 지정합니다." ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [], "source": [ "from random import choice, seed\n", "\n", "# 일관된 출력을 위한 유사난수 초기화\n", "seed(42)\n", "np.random.seed(42)\n", "\n", "default_reber_grammar = [\n", " [(\"B\", 1)], # (상태 0) =B=>(상태 1)\n", " [(\"T\", 2), (\"P\", 3)], # (상태 1) =T=>(상태 2) or =P=>(상태 3)\n", " [(\"S\", 2), (\"X\", 4)], # (상태 2) =S=>(상태 2) or =X=>(상태 4)\n", " [(\"T\", 3), (\"V\", 5)], # 등등..\n", " [(\"X\", 3), (\"S\", 6)],\n", " [(\"P\", 4), (\"V\", 6)],\n", " [(\"E\", None)]] # (상태 6) =E=>(종료 상태)\n", "\n", "embedded_reber_grammar = [\n", " [(\"B\", 1)],\n", " [(\"T\", 2), (\"P\", 3)],\n", " [(default_reber_grammar, 4)],\n", " [(default_reber_grammar, 5)],\n", " [(\"T\", 6)],\n", " [(\"P\", 6)],\n", " [(\"E\", None)]]\n", "\n", "def generate_string(grammar):\n", " state = 0\n", " output = []\n", " while state is not None:\n", " production, state = choice(grammar[state])\n", " if isinstance(production, list):\n", " production = generate_string(grammar=production)\n", " output.append(production)\n", " return \"\".join(output)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "기본 레버 문법에 맞는 문자열을 몇 개 만들어 보겠습니다:" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BTXXTTTTVPXTTTTTVPSE BTXSE BTXXTVPSE BTXXVPSE BTSSXXTTVVE BTXSE BTSSSXSE BPTTTVVE BTXXVVE BPTTVVE BTSXXTTTTVPSE BPTTVVE BPTVPSE BPTTVPXVVE BPVPXTTTVPXTVPSE BTXSE BPTTTTVPXTTTTTTTVPXVVE BPTVVE BTXSE BPTTTVVE BTSXXVPSE BTXXTTTTTVVE BPTTVPSE BPVVE BPTTTVPXVPXTTTTTVPXTTVVE " ] } ], "source": [ "for _ in range(25):\n", " print(generate_string(default_reber_grammar), end=\" \")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "좋습니다. 이제 임베딩된 레버 문법에 맞는 문자열을 몇 개 만들어 보겠습니다:" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPBPTVVEPE BTBPTVPXVVETE BPBPTTTVVEPE BPBTXSEPE BPBPTTTTTVPSEPE BTBTSXSETE BPBPVPSEPE BPBPVVEPE BPBTXSEPE BPBTSXSEPE BTBPTTVVETE BPBPVVEPE BTBTXSETE BPBPTTVVEPE BTBTSXXVVETE BTBTXXTVPXTVPSETE BTBPTVVETE BPBPVPXTTVPXTVVEPE BTBTXSETE BPBTXSEPE BPBTSXXTVPSEPE BPBPVVEPE BPBPTTTTTTTTTTVPXVVEPE BPBPVVEPE BPBPVVEPE " ] } ], "source": [ "for _ in range(25):\n", " print(generate_string(embedded_reber_grammar), end=\" \")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "좋네요, 이제 이 문법을 따르지 않는 문자열을 생성할 함수를 만듭니다. 무작위하게 문자열을 만들 수 있지만 그렇게 하면 너무 문제가 쉬워지므로 대신 문법을 따르는 문자열을 만든 후 하나의 문자만 바꾸어 놓도록 하겠습니다:" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [], "source": [ "def generate_corrupted_string(grammar, chars=\"BEPSTVX\"):\n", " good_string = generate_string(grammar)\n", " index = np.random.randint(len(good_string))\n", " good_char = good_string[index]\n", " bad_char = choice(list(set(chars) - set(good_char)))\n", " return good_string[:index] + bad_char + good_string[index + 1:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "잘못된 문자열 몇 개를 만들어 보죠:" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "BPBPVPEEPE BPBVXSEPE BPBPTVVPPE BTBPSPSETE BTBPVVTTE BPBTSSXXTVTVVEPE BPVTSXXTVPSEPE BPBTXSVPE BTBPTTTVPSPTE BPBTSXXTTTXTTVVEPE BPBBXXVPXTVPXTTVVEPE BPBPTTVXEPE BPBPVVESE BPEPTTVVEPE BPBPVSSEPE BPBTBXXVVEPE BEBPTTTVPXVVETE BPBTSSXVEPE BPBPVXEPE BVBTXSEPE BTBPTVPXVPXVVETT SPBTSXXTVPXVPSEPE BPBTSXXTTTVBSEPE BPBPVPXVVVPE BTBTSBSETE " ] } ], "source": [ "for _ in range(25):\n", " print(generate_corrupted_string(embedded_reber_grammar), end=\" \")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "문자열을 바로 RNN에 주입할 수는 없습니다. 먼저 벡터의 연속으로 바꾸어야 합니다. 각 벡터는 원-핫 인코딩을 사용하여 하나의 문자를 나타냅니다. 예를 들어, 벡터 `[1, 0, 0, 0, 0, 0, 0]`는 문자 \"B\"를 나타내고 벡터 `[0, 1, 0, 0, 0, 0, 0]`는 문자 \"E\"를 나타내는 식입니다. 이런 원-핫 벡터의 연속으로 문자열을 바꾸는 함수를 작성해 보겠습니다. 문자열이 `n_steps`보다 짧으면 0 벡터로 패딩됩니다(나중에, 텐서플로에게 각 문자열의 실제 길이를 `sequence_length` 매개변수로 전달할 것입니다)." ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [], "source": [ "def string_to_one_hot_vectors(string, n_steps, chars=\"BEPSTVX\"):\n", " char_to_index = {char: index for index, char in enumerate(chars)}\n", " output = np.zeros((n_steps, len(chars)), dtype=np.int32)\n", " for index, char in enumerate(string):\n", " output[index, char_to_index[char]] = 1.\n", " return output" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [1, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1],\n", " [0, 0, 0, 1, 0, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0]], dtype=int32)" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "string_to_one_hot_vectors(\"BTBTXSETE\", 12)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이제 50%는 올바른 문자열 50%는 잘못된 문자열로 이루어진 데이터셋을 만듭니다:" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [], "source": [ "def generate_dataset(size):\n", " good_strings = [generate_string(embedded_reber_grammar)\n", " for _ in range(size // 2)]\n", " bad_strings = [generate_corrupted_string(embedded_reber_grammar)\n", " for _ in range(size - size // 2)]\n", " all_strings = good_strings + bad_strings\n", " n_steps = max([len(string) for string in all_strings])\n", " X = np.array([string_to_one_hot_vectors(string, n_steps)\n", " for string in all_strings])\n", " seq_length = np.array([len(string) for string in all_strings])\n", " y = np.array([[1] for _ in range(len(good_strings))] +\n", " [[0] for _ in range(len(bad_strings))])\n", " rnd_idx = np.random.permutation(size)\n", " return X[rnd_idx], seq_length[rnd_idx], y[rnd_idx]" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [], "source": [ "X_train, l_train, y_train = generate_dataset(10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "첫 번째 훈련 샘플을 확인해 보겠습니다:" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [1, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 1, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 1],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 0, 0, 0, 0, 1, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 1, 0, 0],\n", " [0, 1, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0]], dtype=int32)" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_train[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "데이터셋에서 가장 긴 문자열 때문에 패딩된 0 벡터가 많습니다. 문자열 길이가 얼마나 될까요?" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "23" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "l_train[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "타깃 클래스는?" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0])" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_train[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "아주 좋습니다! 올바른 문자열을 구분할 RNN을 만들 준비가 되었습니다. 앞서 MNIST 이미지를 분류하기 위해 만든 것과 매우 비슷한 시퀀스 분류기를 만듭니다. 차이점은 다음 두 가지입니다:\n", "* 첫째, 입력 문자열이 가변 길이이므로 `dynamic_rnn()` 함수를 호출할 때 `sequence_length`를 지정해야 합니다.\n", "* 둘째, 이진 분류기이므로 출력 뉴런은 하나만 필요합니다. 이 뉴런은 각 문자열에 대해 올바른 문자열일 추정 로그 확률을 출력할 것입니다. 다중 클래스 분류에서는 `sparse_softmax_cross_entropy_with_logits()`를 사용했지만 이진 분류에서는 `sigmoid_cross_entropy_with_logits()`를 사용합니다." ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [], "source": [ "reset_graph()\n", "\n", "possible_chars = \"BEPSTVX\"\n", "n_inputs = len(possible_chars)\n", "n_neurons = 30\n", "n_outputs = 1\n", "\n", "learning_rate = 0.02\n", "momentum = 0.95\n", "\n", "X = tf.placeholder(tf.float32, [None, None, n_inputs], name=\"X\")\n", "seq_length = tf.placeholder(tf.int32, [None], name=\"seq_length\")\n", "y = tf.placeholder(tf.float32, [None, 1], name=\"y\")\n", "\n", "gru_cell = tf.contrib.rnn.GRUCell(num_units=n_neurons)\n", "outputs, states = tf.nn.dynamic_rnn(gru_cell, X, dtype=tf.float32,\n", " sequence_length=seq_length)\n", "\n", "logits = tf.layers.dense(states, n_outputs, name=\"logits\")\n", "y_pred = tf.cast(tf.greater(logits, 0.), tf.float32, name=\"y_pred\")\n", "y_proba = tf.nn.sigmoid(logits, name=\"y_proba\")\n", "\n", "xentropy = tf.nn.sigmoid_cross_entropy_with_logits(labels=y, logits=logits)\n", "loss = tf.reduce_mean(xentropy, name=\"loss\")\n", "optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate,\n", " momentum=momentum,\n", " use_nesterov=True)\n", "training_op = optimizer.minimize(loss)\n", "\n", "correct = tf.equal(y_pred, y, name=\"correct\")\n", "accuracy = tf.reduce_mean(tf.cast(correct, tf.float32), name=\"accuracy\")\n", "\n", "init = tf.global_variables_initializer()\n", "saver = tf.train.Saver()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "훈련하는 동안 진척 상황을 확인할 수 있도록 검증 세트를 만듭니다:" ] }, { "cell_type": "code", "execution_count": 130, "metadata": {}, "outputs": [], "source": [ "X_val, l_val, y_val = generate_dataset(5000)" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0 훈련 손실: 0.6884, 정확도: 54.00% 검증 세트 정확도: 59.40%\n", " 1 훈련 손실: 0.6599, 정확도: 58.00% 검증 세트 정확도: 63.64%\n", " 2 훈련 손실: 0.6004, 정확도: 74.00% 검증 세트 정확도: 68.62%\n", " 3 훈련 손실: 0.6283, 정확도: 60.00% 검증 세트 정확도: 65.70%\n", " 4 훈련 손실: 0.4015, 정확도: 88.00% 검증 세트 정확도: 80.82%\n", " 5 훈련 손실: 0.3289, 정확도: 86.00% 검증 세트 정확도: 85.18%\n", " 6 훈련 손실: 0.2138, 정확도: 92.00% 검증 세트 정확도: 87.38%\n", " 7 훈련 손실: 2.9554, 정확도: 90.00% 검증 세트 정확도: 82.60%\n", " 8 훈련 손실: 0.0486, 정확도: 98.00% 검증 세트 정확도: 98.00%\n", " 9 훈련 손실: 0.0348, 정확도: 100.00% 검증 세트 정확도: 97.18%\n", " 10 훈련 손실: 0.0106, 정확도: 100.00% 검증 세트 정확도: 98.64%\n", " 11 훈련 손실: 0.0096, 정확도: 100.00% 검증 세트 정확도: 99.14%\n", " 12 훈련 손실: 0.0023, 정확도: 100.00% 검증 세트 정확도: 99.92%\n", " 13 훈련 손실: 0.0011, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 14 훈련 손실: 0.0008, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 15 훈련 손실: 0.0006, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 16 훈련 손실: 0.0005, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 17 훈련 손실: 0.0004, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 18 훈련 손실: 0.0003, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 19 훈련 손실: 0.0003, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 20 훈련 손실: 0.0003, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 21 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 22 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 23 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 24 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 25 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 26 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 27 훈련 손실: 0.0002, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 28 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 29 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 30 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 31 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 32 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 33 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 34 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 35 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 36 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 37 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 38 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 39 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 40 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 41 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 42 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 43 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 44 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 45 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 46 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 47 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 48 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n", " 49 훈련 손실: 0.0001, 정확도: 100.00% 검증 세트 정확도: 99.98%\n" ] } ], "source": [ "n_epochs = 50\n", "batch_size = 50\n", "\n", "with tf.Session() as sess:\n", " init.run()\n", " for epoch in range(n_epochs):\n", " X_batches = np.array_split(X_train, len(X_train) // batch_size)\n", " l_batches = np.array_split(l_train, len(l_train) // batch_size)\n", " y_batches = np.array_split(y_train, len(y_train) // batch_size)\n", " for X_batch, l_batch, y_batch in zip(X_batches, l_batches, y_batches):\n", " loss_val, _ = sess.run(\n", " [loss, training_op],\n", " feed_dict={X: X_batch, seq_length: l_batch, y: y_batch})\n", " acc_train = accuracy.eval(feed_dict={X: X_batch, seq_length: l_batch, y: y_batch})\n", " acc_val = accuracy.eval(feed_dict={X: X_val, seq_length: l_val, y: y_val})\n", " print(\"{:4d} 훈련 손실: {:.4f}, 정확도: {:.2f}% 검증 세트 정확도: {:.2f}%\".format(\n", " epoch, loss_val, 100 * acc_train, 100 * acc_val))\n", " saver.save(sess, \"./my_reber_classifier\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이제 두 개의 문자열에 이 RNN을 테스트해 보죠. 첫 번째는 잘못된 것이고 두 번째는 올바른 것입니다. 이 문자열은 마지막에서 두 번째 글자만 다릅니다. RNN이 이를 맞춘다면 두 번째 문자가 항상 끝에서 두 번째 문자와 같아야 한다는 패턴을 알게 됐다는 것을 의미합니다. 이렇게 하려면 꽤 긴 단기 기억(long short-term memory)이 필요합니다(그래서 GRU 셀을 사용했습니다)." ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_reber_classifier\n", "\n", "레버 문자열일 추정 확률:\n", "BPBTSSSSSSSSSSSSXXTTTTTVPXTTVPXTTTTTTTVPXVPXVPXTTTVVETE: 17.99%\n", "BPBTSSSSSSSSSSSSXXTTTTTVPXTTVPXTTTTTTTVPXVPXVPXTTTVVEPE: 99.90%\n" ] } ], "source": [ "test_strings = [\n", " \"BPBTSSSSSSSSSSSSXXTTTTTVPXTTVPXTTTTTTTVPXVPXVPXTTTVVETE\",\n", " \"BPBTSSSSSSSSSSSSXXTTTTTVPXTTVPXTTTTTTTVPXVPXVPXTTTVVEPE\"]\n", "l_test = np.array([len(s) for s in test_strings])\n", "max_length = l_test.max()\n", "X_test = [string_to_one_hot_vectors(s, n_steps=max_length)\n", " for s in test_strings]\n", "\n", "with tf.Session() as sess:\n", " saver.restore(sess, \"./my_reber_classifier\")\n", " y_proba_val = y_proba.eval(feed_dict={X: X_test, seq_length: l_test})\n", "\n", "print()\n", "print(\"레버 문자열일 추정 확률:\")\n", "for index, string in enumerate(test_strings):\n", " print(\"{}: {:.2f}%\".format(string, 100 * y_proba_val[index][0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "쨘! 잘 작동하네요. 이 RNN이 완벽한 신뢰도로 정확한 답을 냈습니다. :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 8. 과 9." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Coming soon..." ] } ], "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.8" }, "nav_menu": {}, "toc": { "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 6, "toc_cell": false, "toc_section_display": "block", "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }