From de914e06d9f7acb89abc4641c965b56ad9fc0a94 Mon Sep 17 00:00:00 2001 From: Haesun Park Date: Thu, 24 May 2018 16:37:46 +0900 Subject: [PATCH] =?UTF-8?q?16=EC=9E=A5=20=EB=85=B8=ED=8A=B8=EB=B6=81=20?= =?UTF-8?q?=EC=9E=AC=EC=8B=A4=ED=96=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 16_reinforcement_learning.ipynb | 20935 ++++++++++++++++++------------ images/rl/cart_pole_plot.png | Bin 12071 -> 11996 bytes 2 files changed, 12513 insertions(+), 8422 deletions(-) diff --git a/16_reinforcement_learning.ipynb b/16_reinforcement_learning.ipynb index ef93744..1a0c707 100644 --- a/16_reinforcement_learning.ipynb +++ b/16_reinforcement_learning.ipynb @@ -11,12 +11,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPython 3.5.5\n", - "IPython 6.3.0\n", + "CPython 3.6.5\n", + "IPython 6.4.0\n", "\n", "numpy 1.14.3\n", "sklearn 0.19.1\n", - "scipy 1.0.1\n", + "scipy 1.1.0\n", "matplotlib 2.2.2\n", "tensorflow 1.8.0\n", "gym 0.10.5\n" @@ -352,7 +352,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -553,7 +553,7 @@ "data": { "text/html": [ "" @@ -4994,7 +4278,7 @@ { "data": { "text/plain": [ - "array([-0.00326381, -0.00892555, 0.02935513, -0.00128701])" + "array([-0.01028308, 0.03910706, 0.03149887, 0.00700671])" ] }, "execution_count": 25, @@ -5089,7 +4373,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD/CAYAAAAQaHZxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABDlJREFUeJzt3FFKAmEYQNEmXEXbaB1tQ9ek22gbtY22Mb1ESAUFOv3j3HNAUEH5HsbLx/DjNM/zHQDbdj96AACWJ/YAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAG70QN84b8bAL6bLv0Cmz1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QMBu9ACwNq+nw4/vP+6P/zwJXI/NHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDs4Q/8Lw63TuwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB7OvJ4Oo0eARYg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9/OJxfxw9AlxM7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEns2bpunPjyU+D2sg9gABu9EDwNo8v+0/nz89nAZOAtdjs4cz56H/6TXcKrEHCBB7gACxhw8vx/23e/Tu2bMV0zzPo2c4t6ph2Ib/PBK5st8T23HxRbyq0zjOKXPrXMMs4RpLxKpibytiCTZ7cM8eIEHsAQLEHiBA7AECxB4gQOwBAsQeIGBV5+xhCc6+g80eIEHsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBgN3qAL6bRAwBskc0eIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIOAdBBArQqzRDE4AAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD/CAYAAAAQaHZxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABD1JREFUeJzt3cFtGlEUQNFMRBVuw3W4DVyTacN1uI20MVmYhYMtOxKD//jfcyQWsBi9BVyeRl+wrOv6C4C5/R49AAC3J/YAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAGH0QNc8NsNAO8t117AZg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPEHAYPQDszcvp8d1r98enAZPAdmz2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPbwxkd/XAIzEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsYcv3B+fRo8AVxN7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHs4ezk9jh4BbkbsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7Jnasiz//bjlNWA0sQcIOIweAPbk+c/xn+cPd6dBk8C2bPZwdhl6mInYwyd8ATALsYdPuI3DLMQezoSdmS3ruo6e4a1dDcPP993HIXf2eWIeV7+Rd3UaxzllfjrvYW5hiyViV7G3FbE1mz28cs8eIEDsAQLEHiBA7AECxB4gQOwBAsQeIGBX5+xha869wyubPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AwGH0ABeW0QMAzMhmDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxDwF8mDKhPNBUEkAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -5156,7 +4440,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAEYCAYAAAAeWvJ8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABS9JREFUeJzt3cFx2lAUQFHIUEXaiNtIG6YOl2HaSBtxG2mDLLKxjbGRkHQhOmfGC3vB/IWZy5feF9vj8bgBgMq3egEArJsQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkNrVC3jH84YA7sd2ihexIwIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiC1qxcAa/Ry2L/5/cfjc7QS6NkRwQ14OexP4gRrIUQApIQIgJQQAZASIljYuXtBBhZYKyECICVEAKSECICUEAGQEiJYkEEFOCVEAKSECBbiET7wMSGCmMtyrJ0QAZASIgBSQgQLcH8IzhMiCLk/BEIEQEyIYGYuy8HnhAiAlBABkBIiiBhUgH+ECICUEMGMPG0bviZEAKSECICUEAGQEiKYiYOscBkhgoUZVIC3hAiAlBDBDFyWg8sJEQApIQIgJUSwIIMKcEqIAEgJEUzM8+VgGCECICVEAKSECICUEMGEHGSF4YQIFmBQAc4TIpiI3RCMI0QApIQIZuayHHxOiABICREAKSGCCRhUgPGECGbk/hB8TYgASAkRACkhAiAlRHAlgwpwHSGCmRhUgMsIEQApIYIr+FpwuJ4QAZASIgBSQgRASogASAkRjGRQAaYhRACkhAiAlBABkBIiGMHz5WA6QgQTMqgAwwkRDGQ3BNMSIlZvu90O+jnnYX+Y5HVgbYQIgNSuXgDcm19/Hk/+9vP7IVgJ/B/siABICREM8Pv5dDe02Xy8SwIuI0Qwgaenh3oJcLeECIDU9ng81mt47aYWwzqMHaV+fZnuYT98WOHG3nswxiTnEISI1avO9NzYew/GmOTNc1Pj2w75sSb+37l3U32YuqkQ+YRIwY4IWoYVAEgJEQApIQIgJUQApIQIgJQQAZASIgBSN3WOCArO80DLjgiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFK7egHvbOsFALAsOyIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUn8Bm29lFSLelIwAAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAEYCAYAAAAeWvJ8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABQ5JREFUeJzt3cFx2lAUQFErQxVpI7SRNqAOlwFtpA2njbRBFlkkY4xtgdAV0TkzbFgwb4Hm8uF/MZxOpycAqHypBwBg3YQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiA1KYe4BX3GwJ4HMMUL2JFBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQGpTDwBr8/O4f/P5b7vDzJPAMlgRAZASIgBSQgRASogASAkRACkhghnZMQfnhAiAlBDBTC6thmDthAhivpZj7YQIgJQQAZASIgBSQgRASohgBs4PwWVCBEBKiODOnB+C9wkRACkhAiAlRBCxUQH+ECIAUkIEQEqI4I6cH4KPCREAKSECICVEAKSECICUEMGd2KgAnyNEAKSECO7AjU7h84QIgJQQAZASIgBSQgQzsmMOzgkRACkhgok5PwTjCBEAKSECICVEAKSECICUEMGE3NoHxhMimIEdc3CZEMFErIbgOkIEd2Y1BO8TIgBSQgRASogASAkRACkhggnYMQfXEyK4Izvm4GNCBEBKiABICREAKSGCG/lHVriNEAGQEiIAUkIEN/C1HNxOiABICREAKSECICVEAKSECK5kowJMQ4gASAkRACkhAiAlRACkhAiu4B9ZYTpCxOoNwzD6ccl2f5zkdWBNhAiA1KYeAB7Ny2H39OPX7uz55+dtMA08PisiGOmtCAHXEyIAUkIEQEqIYKTvX4/1CPBfGU6nUz3DvxY1DOtwyzbql8Pf34u2+/GBWtj1B2NNcgZBiFi98jzPwq4/GGuSi2dR27cd8GNtvOd5ZFN9kFpUiHw6pGBFBC2bFQBICREAKSECICVEAKSECICUEAGQEiIAUos6RwQFZ3mgZUUEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQCpTT3AK0M9AADzsiICICVEAKSECICUEAGQEiIAUkIEQEqIAEgJEQApIQIgJUQApIQIgJQQAZASIgBSQgRASogASAkRACkhAiAlRACkhAiAlBABkBIiAFJCBEBKiABICREAKSECIPUbeNJbfH1bP+8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -5221,7 +4505,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD/CAYAAAAQaHZxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABLBJREFUeJzt3NtpG1EUQFFPUBVpI24jbdhlGJcRt5E2kjbSxuQnBCG/ZI2SuTN7LTAYgcX5kLcv9wye5nm+AWDfPq09AAD/ntgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwQc1h7ghP/dAPDctPQNnOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiDgsPYAMJqfT/d/v/9y923FSeB6pnme157h2FDD0HIc+WOCzwCmpW/gGgcgQOwBAsQe/nBdw56JPbzjtbt82BKxBwgQe4AAsQcIEHs4YknLXok9nMGSlq0Te4AAsQcIEHs44d6ePRJ7gACxhzNZ0rJlYg8QIPYAAWIPL7CkZW/EHiBA7OEDLGnZKrGHV7jKYU/EHj7I6Z4tEnuAALEHCBB7eIN7e/ZC7AECxB4uYEnL1og9QIDYAwSIPbzDkpY9EHuAALGHC1nSsiViDxAg9gABYg9nsKRl68QeFnBvz1aIPUCA2AMEiD1AgNjDmSxp2TKxh4UsadkCsQcIEHuAALEHCBB7+ABLWrZK7OEKLGkZndjDBznds0ViD1fidM/IxB4gQOwBAsQeIEDs4QKWtGyN2MMVWdIyKrEHCBB7gACxBwgQe7iQJS1bIvZwZZa0jEjsAQLEHl4wTdNZX0t//r33gWsRe1jg9v5p7RHgLIe1B4A9+P7r7uQVfwQYi5M9LPQ89Dc3Dw8/VpgEXif2AAFiDxAg9rDQ4+Pts9e+fnZnz1imeZ7XnuHYUMPQ9b8fhxzs95DxLP5ADvU0jueNqfLZ5y3XOAwMFXunG0bhZM/euLMHCBB7gACxBwgQe4AAsQcIEHuAALEHCBjqOXsYhefe2Rsne4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAALEHCBB7gACxBwgQe4AAsQcIEHuAgMPaA5yY1h4AYI+c7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECfgMZeVQP9vfpjgAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD/CAYAAAAQaHZxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAABKNJREFUeJzt3MFNW0EUQNE4chW0kbRBG1ATbiNthDbShrNByHIM2Njkz/x7joRkFlizsK+e5n2x2e/33wBYt+9LHwCAryf2AAFiDxAg9gABYg8QIPYAAWIPECD2AAFiDxAg9gAB26UPcMT/bgD41+baNzDZAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEiD1AwHbpA8BonnePr69/PDwteBK4HbGHF4eRh7VxjQMQIPbwDtM+ayH2AAFiDxAg9vDCkzesmdjDB9zbswZiDxAg9gABYg8H3NuzVmIPECD2cAZLWmYn9gABYg8QIPZwxJKWNRJ7gACxhzNZ0jIzsQcIEHuAALGHEyxpWRuxBwgQe7iAJS2zEnt4g6sc1kTs4UKme2Yk9gABYg8QIPbwDvf2rIXYAwSIPXyCJS2zEXuAALEHCBB7+IAlLWsg9gABYg+fZEnLTMQeIEDsAQLEHs5gScvsxB4gQOzhCpa0zELsAQLEHiBA7OFMlrTMTOzhSu7tmYHYAwSIPUCA2AMEiD1cwJKWWYk93IAlLaMTe7iQ6Z4ZiT1AgNjDjbjKYWRiDxAg9gABYg+fYEnLbMQeIEDs4YYsaRmV2AMEiD1AgNjDJ1nSMhOxhxM2m81ZP6c87x7P/vu33gNuTewBArZLHwDW4Nefh9fX93e7BU8Cp5ns4UqHoT/1O4xA7OEKPx9N8cxB7OEL/H4y3TMWsYcrHd/R39/tTPwMZ7Pf75c+w6GhDkPX/3wkcrDvIGO6+gM51NM4njmmyOeej9xiIBgq9iYcRmGyZ23c2QMEiD1AgNgDBIg9QIDYAwSIPUCA2AMEDPWcPYzCs++sjckeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBgu/QBjmyWPgDAGpnsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQLEHiBA7AECxB4gQOwBAsQeIEDsAQL+Ah8WVBUmj+TxAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -5292,7 +4576,7 @@ "data": { "text/html": [ "" @@ -5524,7 +4801,7 @@ "data": { "text/html": [ "" @@ -5754,7 +5006,7 @@ "data": { "text/html": [ "" @@ -6074,7 +5321,7 @@ "data": { "text/html": [ "" @@ -6811,16 +6058,16 @@ { "data": { "text/plain": [ - "{'/conv2d/bias:0': ,\n", - " '/conv2d/kernel:0': ,\n", - " '/conv2d_1/bias:0': ,\n", + "{'/conv2d/kernel:0': ,\n", + " '/conv2d/bias:0': ,\n", " '/conv2d_1/kernel:0': ,\n", - " '/conv2d_2/bias:0': ,\n", + " '/conv2d_1/bias:0': ,\n", " '/conv2d_2/kernel:0': ,\n", - " '/dense/bias:0': ,\n", + " '/conv2d_2/bias:0': ,\n", " '/dense/kernel:0': ,\n", - " '/dense_1/bias:0': ,\n", - " '/dense_1/kernel:0': }" + " '/dense/bias:0': ,\n", + " '/dense_1/kernel:0': ,\n", + " '/dense_1/bias:0': }" ] }, "execution_count": 62, @@ -6904,7 +6151,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "metadata": {}, "outputs": [], "source": [ @@ -6930,7 +6177,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ @@ -6940,7 +6187,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -6962,7 +6209,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -6980,7 +6227,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 69, "metadata": {}, "outputs": [], "source": [ @@ -7006,7 +6253,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 70, "metadata": {}, "outputs": [], "source": [ @@ -7025,7 +6272,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 71, "metadata": { "scrolled": true }, @@ -7035,7 +6282,7 @@ "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from ./my_dqn.ckpt\n", - "반복 13269992\t훈련 스텝 3999999/4000000 (100.0)%\t손실 1.899633\t평균 최대-Q 220.667374 " + "반복 13992\t훈련 스텝 3999999/4000000 (100.0)%\t손실 0.534047\t평균 최대-Q 221.066981 " ] } ], @@ -7112,7 +6359,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 72, "metadata": {}, "outputs": [ { @@ -7150,14 +6397,14 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" @@ -10948,7 +10223,7 @@ "" ] }, - "execution_count": 70, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -10981,7 +10256,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 74, "metadata": {}, "outputs": [], "source": [ @@ -10992,7 +10267,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 75, "metadata": {}, "outputs": [], "source": [ @@ -11006,12 +10281,12 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 76, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -11042,7 +10317,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 77, "metadata": {}, "outputs": [], "source": [ @@ -11067,12 +10342,12 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 78, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlUAAAEuCAYAAACnC+ctAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAADAdJREFUeJzt3W2IpWd9x/HfPy5Zk12p1iS1UDG1Kwjii0yakkJrUg2iFq0PtRWkNIgxBVs1g40tqEiI1GKcRBFhUdt9IaUvfGHVQqGltTSVQM1EIYImRqykbUok1NaHrXH36otzJxxPZ2Z3Zv87Z2b284EDM/fc57qvE8jF91znYWuMEQAAzs1Fy54AAMBBIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAai6oCrqqNVNarqG3O3Mff3T1XVm6eff7OqvrVw+8DcuY9U1ZUbXGP+fu+ajp2oqhur6oaqunvu3FFVT99krn9ZVTdu8VhurapPbnWfqrp7Yf4vrKrbp9sNVXXPmf+rAXtRVX2xql6zcGxxDXjvtFYt3v6nqtY2GdcaRotDy54Au2OMceyJn6vqx5ucdjTJPWOMN2xz7E8n+fQ0dm3nvlX1UJIj068/leRvtjj9iiQPn2HIn0vy6jHGl+eu8dvbmROwZ12W5D+2OmGMcVuS2xaPV9VtSR7f5D7WMFrYqbpAPfHsLcnrznGc587tgD2Q5HtV9ZSzvf8Y4xfGGM8aYzwryV9tcZ1K8utJXlRVhxf+/OHp8fzsjh4EsOdV1fOTPC/JC3c4xLOzQdBYw+hkp+oCNS0AqapPneM430xybBprJckdY4xTZ3qyNy1az0zyM0lWkqyf4VLvSvIPSb6c5GNVddMY4/T0t7ePMU5M4+7wkQB71RQk70/y50n+uKq+NMa4b+GcK5L82RbD/FKSF1TV65LcPsa4J7GG0UtUHXynkzxUVd+YO/atLc5/ZVXN//2OMcZHz/JatyY5Pvf7WpJTSb4+d+xfM1tUTif5QWZb+Q8m2fB9AlV1UWaL0e8k+eUxxner6pok/7jFlvhnq+pHSX48xnj+dOxtSW5O8tBZPhZgD6iqQ0k+lOTnk/xKkmuT/HVV3TrGmH9S+J0kN57lsP+9yXFrGOdEVB1wY4wfZHoWtomPJfnPud8/t933VCVJVb0+yeuTfGXu8Gpm2+3vm5vPlVuM8dEk/75w+FiSlyW5bozx3WmMm6rqjQvznveq+fcjTD6S5AtJbj/DQwH2lluTPCfJ9dN69vdVdV2SN0/BkiSZdn2+M73p+92bjPWZMcY7N/qDNYwOouoCUVVvy+yZzqIrMls4/t+zn6q6NMnTMlsU/muLsV+T5I7MnkH+RVU9doa5/GGSt2/wp2ckeWuSbz5xYIzxQJLrpvu9OslbMnvGeiqz94Od2mTuh5P8dGaLMbB//WmS02OMMYXIbyW5MrNdouNJfpi53ffpZbQTi4PU7FPO1290AWsYXUTVBWKM8ZHMnun8hKo6Mffr95JcO738dzrJ95M8luRr2WCRmu7/B0luSvLSMcbXq+olmT2rO7LR+dNcPpjkgxuMten7u6rqN5Lcldn2/r8keUqSFyf5RJIPzJ36WGafvvnfJP+W5O4kP9psXGBvG2OcSpKq+qMkr03yjsx2ky5N8qokfzLddsQaRidRdYGoqvcl+f3M3new6PPJT36seJMxNjr88SSfGGP8cBrj20netBBri+PcPs1lo92vz2xytxcnOTHG+ML8udOW/a8muXe6/som1wP2t5cnef8Y44vT799P8smqekWSX0vyQJJU1TuSvCcbf/XC5zY4Zg2jja9UuLAcSvLUDW7X7nTAMcbJJxajJr+4yfG/S/K7VXV9VV1aVU+bttJvyOwTNcDB9rdJ3llVV1XVU6vq6VX1hsyC5J8Wzr0os/Vu8Xb94qDWMDrVGOPMZ8EeUFWvTPJ7SZ6b2fsQvpbkzjHGPy91YsB5N32twpsye0/Vs5OcTPLVJB8eY3xpmXM7W9awg09UAQA08PIfAEADUQUA0GDXP/135513bvv1xtXV1fMxFWAH1tbWtn2fW2655SD92xvbXsP80yOwd+zwbU9n9T+xnSoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaHlj2Bs7G6urrsKQDs2Pr6+rKnAOwCO1UAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADfbFN6ofPnx42VMA2LGjR48uewrALrBTBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAg33x5Z+PP/74sqcAsGMnT55c9hSAXWCnCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKDBvvhG9YsvvnjZUwDYsUsuuWTZUwB2gZ0qAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAa7Isv/3z00UeXPQVgctllly17CvvOgw8+uOwpAJNjx46dt7HtVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA02BffqH7kyJFlTwFgxy6//PJlTwHYBXaqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBosC++/POuu+5a9hSAydra2rKnsO9cc801y54CMBljnLex7VQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAECDQ8ueALtnde7ntaXNAmBnrr766id/vvfee5c4E9iYnSoAgAaiCgCggagCAGjgPVUHkTdPAfvYzTff/OTPx48fX+JMYHvsVAEANBBVAAANvPx3YJz5NT+vBAJ71fr6+pM/b/aSn69RYK+zUwUA0EBUAQA08PLfQeR1PmAf84k/9is7VQAADUQVAEADL/8dGF7zA/avlZWVZU8BzpmdKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaHBoty/4yCOP7PYlIUmyurp63q+xtrZ23q+xbA8//PCyp7BU999//7KnwAVqfX39vF9jZWXlvF9j2e67775t3+eqq646q/PsVAEANBBVAAANRBUAQANRBQDQQFQBADSoMcay5wAAsO/ZqQIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaPB/+oBlBA1K15MAAAAASUVORK5CYII=\n", + "image/png": "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+G+l+ZwPWF1+8cdRY6UKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABqIKAKCBqAIAaCCqAAAaiCoAgAaiCgCggagCAGggqgAAGogqAIAGogoAoIGoAgBoIKoAABqIKgCABscO+oBPPPHEQR8SkiTr6+v7foyNjY19P8ayPf7448uewlI9/PDDy54Cl6jNzc19P8ba2tq+H2PZHnrooV0/57rrrruo/axUAQA0EFUAAA1EFQBAA1EFANBAVAEANKgxxrLnAACw8qxUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0EFUAAA1EFQBAA1EFANBAVAEANBBVAAANRBUAQANRBQDQQFQBADQQVQAADUQVAEADUQUA0EBUAQA0+D97y2FomDBkvwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -11134,7 +10409,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 79, "metadata": {}, "outputs": [], "source": [ @@ -11143,9 +10418,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 81, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n" + ] + } + ], "source": [ "env = gym.make(\"BipedalWalker-v2\")" ] @@ -11163,7 +10447,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "metadata": {}, "outputs": [], "source": [ @@ -11172,7 +10456,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "metadata": {}, "outputs": [], "source": [ @@ -11181,9 +10465,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.imshow(img)\n", "plt.axis(\"off\")\n", @@ -11192,9 +10487,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 85, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 2.74731708e-03, -2.37687770e-05, 1.84897050e-03, -1.59998417e-02,\n", + " 9.18241963e-02, -2.44001253e-03, 8.60346854e-01, 3.20565856e-03,\n", + " 1.00000000e+00, 3.22292708e-02, -2.43984465e-03, 8.53896812e-01,\n", + " 1.72559964e-03, 1.00000000e+00, 4.40814108e-01, 4.45820212e-01,\n", + " 4.61422890e-01, 4.89550292e-01, 5.34102917e-01, 6.02461159e-01,\n", + " 7.09149063e-01, 8.85932028e-01, 1.00000000e+00, 1.00000000e+00])" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "obs" ] @@ -11208,27 +10519,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Box(4,)" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "env.action_space" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 87, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([-1., -1., -1., -1.], dtype=float32)" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "env.action_space.low" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 88, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([1., 1., 1., 1.], dtype=float32)" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "env.action_space.high" ] @@ -11242,7 +10586,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "metadata": {}, "outputs": [], "source": [ @@ -11251,9 +10595,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(81, 4)" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "possible_torques = np.array([-1.0, 0.0, 1.0])\n", "possible_actions = np.array(list(product(possible_torques, possible_torques, possible_torques, possible_torques)))\n", @@ -11262,7 +10617,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "metadata": {}, "outputs": [], "source": [ @@ -11315,7 +10670,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "metadata": {}, "outputs": [], "source": [ @@ -11342,9 +10697,4190 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 93, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n" + ] + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "frames = run_bipedal_walker()\n", "video = plot_animation(frames)\n", @@ -11360,9 +14896,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 94, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 1000/1000" + ] + } + ], "source": [ "n_games_per_update = 10\n", "n_max_steps = 1000\n", @@ -11406,9 +14950,556 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 95, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", + "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", + "INFO:tensorflow:Restoring parameters from ./my_bipedal_walker_pg.ckpt\n" + ] + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "frames = run_bipedal_walker(\"./my_bipedal_walker_pg.ckpt\")\n", "video = plot_animation(frames)\n", @@ -11419,7 +15510,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "최상의 결과는 아니지만 적어도 직립해서 (느리게) 오른쪽으로 이동합니다. 이 문제에 대한 더 좋은 방법은 액터-크리틱(actor-critic) 알고리즘을 사용하는 것입니다. 이 방법은 행동 공간을 이산화할 필요가 없으므로 훨씬 빠르게 수렴합니다. 이에 대한 더 자세한 내용은 Yash Patel가 쓴 멋진 [블로그 포스트](https://towardsdatascience.com/reinforcement-learning-w-keras-openai-actor-critic-models-f084612cfd69)를 참고하세요." + "최상의 결과는 아니지만 적어도 직립해서 (느리게) 오른쪽으로 이동합니다(훨씬 더 오랜 학습이 필요할 것 같습니다 :). 이 문제에 대한 더 좋은 방법은 액터-크리틱(actor-critic) 알고리즘을 사용하는 것입니다. 이 방법은 행동 공간을 이산화할 필요가 없으므로 훨씬 빠르게 수렴합니다. 이에 대한 더 자세한 내용은 Yash Patel가 쓴 멋진 [블로그 포스트](https://towardsdatascience.com/reinforcement-learning-w-keras-openai-actor-critic-models-f084612cfd69)를 참고하세요." ] }, { diff --git a/images/rl/cart_pole_plot.png b/images/rl/cart_pole_plot.png index 24d4ce347858e86d9868b48facdfbfa1147ca8a1..cfa74162e2019b79fd8f8941e36ea995fb221263 100644 GIT binary patch literal 11996 zcmeHNYfw{16kctVARuU*ky;*6+d->>+L@yA6hUCB31f8>tN5-(!GsVYFal8-OBp5F zX{#--s;&8<#i|_GIfPw4M<#}lqblP3Gpk%DQgtT@v;r#slM=U zqWBY~Qa;1a&pN?ZrdaE@t@w%)0AdgwK6AdR;C|i7#JZRf5tnyW=3NuTimr>+?-NB1 zOsKwUT71lqyG-7;qciS7XN5Pk3y;t7IOvG^_x#9eX8ri4S3fS4d)A7eAHh4gQ|#)( zF)_=M3On0j(@w25ZsD}-9-bQqO>`aIP(@9Vnz&Q!>gq9>Ze3yu4uYLRW6KF{pK#L@ z*bfc8!Gu-uMIXbm6+7d`dPA8MrBJmPr||5c(eOkxlUw(uKE{c`V8GQ>HM8&va9NLW zLnRGk&GDNJ!KhwTx+)!>(NE)<5eoal=omc^`3F<6+B9^-&8TCOb8|x@F30~CuN<`? zN$I{IewxdBF51di=klgEZ#Ex!``#{{>5y~f@ruNzTiy6-kS%1nb##s^T<%-5B7v$R z#S-ikHd*982&JmfkU_auFQ55}GcPS?jR{}Qcx-!8O*@Jz-M8v}R2SkJDh=>VHdP?T z@vQNsivAjB0&ZdgRwc0uj>nFwR*pbCP{h$9koqh32E%4ooU|!p+0wj3gdAw(L5{Zd zX)0sO_2>TCdbWhI6=GNE?p%|OaMxW;tJnI#L7;~nwP#Nzi>mHiJAhWSIALyC87bWk z;jqM9G}9`uw~VU-c0DclihA-8c)aGwT*PCeKaZRQB015|ns&H%b;E46ddPihL2HI( z4^yJ*g*?gRmPhr}Am|v#ysLXa@vDeuL$PI*>l%|XO*31-V{yuEA+=JUOlE3HYGo1E zu^fB&NqevEOr3t5+75LhY|BajA0%EUoJ<>wi(sTXd3FzO5Ij$XXnf_xEWU5O2EOW& zN9B}~S7SD_LTS5LG37Bp3}-7?9{JzKTL2}EmL{fZU(zUiu@#ipKsRmos(gf;-hsz? zS{_`Jn3U>pfsf!;s4bXjruhHra$N%>L~ZoEgwgrg#gmD(&@IrBvFyp?JLq_1XhL^#FKxKAdV4=NAC^*E#fbqt3sYk2b*(td zqo?cHBf~~H`j(5$_3$bdpgt*GJL?(WWmm8EgRUu1mQ5g(BG(BE4l zT@Ei|7vE_WEwuQaaiUNFhE77i1yFytHf?2l&*S~tsH}68I$S!BEm4?#zHVf8SAK8n zVVYr?g(w&&Nwl>{gp8Xzw!!U6lXNOh>thMA<^aQ$@`pvetp`yqv!qMHENbK zQMeBJ&6)q(O7sncJ{wUK7CD&BgM1%3NpeAc_yPz71OoUKo@fDqfK&k?0=&Z@L?96K zs|sHHQRGSWoP}+rUblaz+t2D@Z0B|?`(1Lj0DY%|$97>DJ#ZhEO%EoIVV)K(4`({u h`W&|FNEYfJMgob)p;Ctldk>;zq9Y{XC1K0A{0*<0(&+#I literal 12071 zcmeHNeN0nV6u%;jDpO!+#Er2ciY`ipk8=I8T^B(5io?P#yj|45X@-*xISMNXgIhzF z2RDgx0fz!E5jZa3=n#2;;{whF916HZKpx<@fO7$d0xl7d2RJU^T)?4V3?#yhUbIQW zL{;@j_gP^B@fHBGk$n!~=u-fATNlC3QP|a`D|ZXFrods){As4$CBfox0BDY=aw4Di zJ`9ANG|liizAY(0=9K3|4nVjqEz_9?r^AcC;fOnWRpvVak;-HDbpZ)!R~ ze$)Awd=Ecj5ffpBuJIsS*~6wXSy1iriIIiJ3@yX&Q1gx~%L^VO?`*U8+%aCEt5`7@53+Ss)C&p@-qXsLBXDfu>~nvrMt18F_6!+1MO@jG^J!U}w_a)b9Hjs<=yU ztIVQpom%Dy7s=YNzq(FZvuc8V+p<`=+|>vk64g1C=>k7t$!gcgKf)rv^Zm*9;Nnl+ z{0e{eJ(zzu|L(W;`E#CKKjl8O@cn_$JoCPIY=5(0e-DHRTZ5MJ@xo&cKMr*G*)$b+HPibIVUqCqGBjfsxA2Q&B_&c)!j zikCF~YjAi3^;RfDB!m5E4avwF#r|i>Q~81oOA?Qkh3x@20o<%ubZ*X}#A0-45#B5Z zq;&lhNacQ#1gd<9V+o;|>f^sy=<#Xz0L5A6M-?AXtFhRiFfP(!!dO_%$Mww=OEj=# zbKD7gs9*R}!KRZi)7=M6DyOL+HP)xm@o7+4+;xM2`i!c>rUFDia={-igyjKPmNa8Ri08l<5f z_~2zIOplF?Rk|doOS7|;oi(bFI(=UN$$cAHxG!iPe0WYcUTmRi^b1Z_B(@<#(cf2m zJ0xeg|Foj7wW+(rA8tqO%p!uU3Oeqm%cl-Cw{)xFSwkcms~d9L9e0+lnLK=Gpm=FG z%-p5wsQ{WVjV1Kt(KWrOx4!-M^QzLQk(-_& z-p?0=W)kj96)W3OV~vH))xsRBaIC_y3VWNABi1oMthr~B?NQSZ?0ivXU+s&AYa{S)l8FMk zgW^ngsy*p@(Z#kNXcYj3Ja|8cE>~y#)M@Sv+`{Dqy>=hjx>Z)j1s^XjMjnrjjEN`@ HU%T@k-8fC6