{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "headers" }, "source": [ "Project: /overview/_project.yaml\n", "Book: /overview/_book.yaml\n", "\n", "\n", "\n", "\n", "\n", "\n", "{% comment %}\n", "The source of truth file can be found [here]: http://google3/zz\n", "{% endcomment %}" ] }, { "cell_type": "markdown", "metadata": { "id": "metadata" }, "source": [ "
\n", " View on TensorFlow.org\n", " | \n", "\n", " Run in Google Colab\n", " | \n", "\n", " View source on GitHub\n", " | \n", "\n", " Download notebook\n", " | \n", "
tf.keras.Sequential
モデルを構築しましょう。最初に Embedding レイヤーから始めます。Embedding レイヤーは単語一つに対して一つのベクトルを収容します。呼び出しを受けると、Embedding レイヤーは単語のインデックスのシーケンスを、ベクトルのシーケンスに変換します。これらのベクトルは訓練可能です。(十分なデータで)訓練されたあとは、おなじような意味をもつ単語は、しばしばおなじようなベクトルになります。\n",
"\n",
"このインデックス参照は、ワンホットベクトルを tf.keras.layers.Dense
レイヤーを使って行うおなじような演算に比べてずっと効率的です。\n",
"\n",
"リカレントニューラルネットワーク(RNN)は、シーケンスの入力を要素を一つずつ扱うことで処理します。RNN は、あるタイムステップでの出力を次のタイムステップの入力へと、次々に渡していきます。\n",
"\n",
"RNN レイヤーとともに、tf.keras.layers.Bidirectional
ラッパーを使用することができます。このラッパーは、入力を RNN 層の順方向と逆方向に伝え、その後出力を結合します。これにより、RNN は長期的な依存関係を学習できます。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:30:37.028703Z",
"iopub.status.busy": "2022-12-14T23:30:37.028122Z",
"iopub.status.idle": "2022-12-14T23:30:37.674125Z",
"shell.execute_reply": "2022-12-14T23:30:37.673434Z"
},
"id": "LwfoBkmRYcP3"
},
"outputs": [],
"source": [
"model = tf.keras.Sequential([\n",
" tf.keras.layers.Embedding(encoder.vocab_size, 64),\n",
" tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64)),\n",
" tf.keras.layers.Dense(64, activation='relu'),\n",
" tf.keras.layers.Dense(1)\n",
"])"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sRI776ZcH3Tf"
},
"source": [
"訓練プロセスを定義するため、Keras モデルをコンパイルします。"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:30:37.678494Z",
"iopub.status.busy": "2022-12-14T23:30:37.678088Z",
"iopub.status.idle": "2022-12-14T23:30:37.691638Z",
"shell.execute_reply": "2022-12-14T23:30:37.690924Z"
},
"id": "kj2xei41YZjC"
},
"outputs": [],
"source": [
"model.compile(loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),\n",
" optimizer=tf.keras.optimizers.Adam(1e-4),\n",
" metrics=['accuracy'])"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zIwH3nto596k"
},
"source": [
"## モデルの訓練"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:30:37.695374Z",
"iopub.status.busy": "2022-12-14T23:30:37.694832Z",
"iopub.status.idle": "2022-12-14T23:40:15.238765Z",
"shell.execute_reply": "2022-12-14T23:40:15.238030Z"
},
"id": "hw86wWS4YgR2"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 1/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 95s 231ms/step - loss: 0.6377 - accuracy: 0.5728 - val_loss: 0.4529 - val_accuracy: 0.7719\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 2/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 73s 186ms/step - loss: 0.3278 - accuracy: 0.8643 - val_loss: 0.3480 - val_accuracy: 0.8438\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 3/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 63s 160ms/step - loss: 0.2456 - accuracy: 0.9049 - val_loss: 0.3427 - val_accuracy: 0.8724\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 4/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 55s 139ms/step - loss: 0.2070 - accuracy: 0.9240 - val_loss: 0.3599 - val_accuracy: 0.8703\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 5/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 54s 136ms/step - loss: 0.1807 - accuracy: 0.9339 - val_loss: 0.3375 - val_accuracy: 0.8604\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 6/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 50s 126ms/step - loss: 0.1589 - accuracy: 0.9434 - val_loss: 0.3482 - val_accuracy: 0.8604\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 7/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 49s 124ms/step - loss: 0.1411 - accuracy: 0.9514 - val_loss: 0.3726 - val_accuracy: 0.8568\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 8/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 49s 123ms/step - loss: 0.1279 - accuracy: 0.9566 - val_loss: 0.4189 - val_accuracy: 0.8635\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 9/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 45s 115ms/step - loss: 0.1216 - accuracy: 0.9580 - val_loss: 0.5034 - val_accuracy: 0.8500\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Epoch 10/10\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 45s 113ms/step - loss: 0.1133 - accuracy: 0.9625 - val_loss: 0.4414 - val_accuracy: 0.8448\n"
]
}
],
"source": [
"history = model.fit(train_dataset, epochs=10,\n",
" validation_data=test_dataset, \n",
" validation_steps=30)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:15.243039Z",
"iopub.status.busy": "2022-12-14T23:40:15.242495Z",
"iopub.status.idle": "2022-12-14T23:40:31.378783Z",
"shell.execute_reply": "2022-12-14T23:40:31.378053Z"
},
"id": "BaNbXi43YgUT"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"391/391 [==============================] - 16s 41ms/step - loss: 0.4472 - accuracy: 0.8446\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test Loss: 0.4472350776195526\n",
"Test Accuracy: 0.8445600271224976\n"
]
}
],
"source": [
"test_loss, test_acc = model.evaluate(test_dataset)\n",
"\n",
"print('Test Loss: {}'.format(test_loss))\n",
"print('Test Accuracy: {}'.format(test_acc))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DwSE_386uhxD"
},
"source": [
"上記のモデルはシーケンスに適用されたパディングをマスクしていません。パディングされたシーケンスで訓練を行い、パディングをしていないシーケンスでテストするとすれば、このことが結果を歪める可能性があります。理想的にはこれを避けるために、 [マスキング](../../guide/keras/masking_and_padding)を使うべきですが、下記のように出力への影響は小さいものでしかありません。 \n",
"\n",
"予測値が 0.5 以上であればポジティブ、それ以外はネガティブです。"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:31.382784Z",
"iopub.status.busy": "2022-12-14T23:40:31.382126Z",
"iopub.status.idle": "2022-12-14T23:40:31.386150Z",
"shell.execute_reply": "2022-12-14T23:40:31.385542Z"
},
"id": "8w0dseJMiEUh"
},
"outputs": [],
"source": [
"def pad_to_size(vec, size):\n",
" zeros = [0] * (size - len(vec))\n",
" vec.extend(zeros)\n",
" return vec"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:31.389366Z",
"iopub.status.busy": "2022-12-14T23:40:31.388826Z",
"iopub.status.idle": "2022-12-14T23:40:31.392901Z",
"shell.execute_reply": "2022-12-14T23:40:31.392152Z"
},
"id": "Y-E4cgkIvmVu"
},
"outputs": [],
"source": [
"def sample_predict(sample_pred_text, pad):\n",
" encoded_sample_pred_text = encoder.encode(sample_pred_text)\n",
"\n",
" if pad:\n",
" encoded_sample_pred_text = pad_to_size(encoded_sample_pred_text, 64)\n",
" encoded_sample_pred_text = tf.cast(encoded_sample_pred_text, tf.float32)\n",
" predictions = model.predict(tf.expand_dims(encoded_sample_pred_text, 0))\n",
"\n",
" return (predictions)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:31.396331Z",
"iopub.status.busy": "2022-12-14T23:40:31.395669Z",
"iopub.status.idle": "2022-12-14T23:40:32.107876Z",
"shell.execute_reply": "2022-12-14T23:40:32.107091Z"
},
"id": "O41gw3KfWHus"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1/1 [==============================] - 1s 655ms/step\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.39028847]]\n"
]
}
],
"source": [
"# パディングなしのサンプルテキストの推論\n",
"\n",
"sample_pred_text = ('The movie was cool. The animation and the graphics '\n",
" 'were out of this world. I would recommend this movie.')\n",
"predictions = sample_predict(sample_pred_text, pad=False)\n",
"print(predictions)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:32.111555Z",
"iopub.status.busy": "2022-12-14T23:40:32.110978Z",
"iopub.status.idle": "2022-12-14T23:40:33.008524Z",
"shell.execute_reply": "2022-12-14T23:40:33.007691Z"
},
"id": "kFh4xLARucTy"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1/1 [==============================] - 1s 852ms/step\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-0.81083757]]\n"
]
}
],
"source": [
"# パディングありのサンプルテキストの推論\n",
"\n",
"sample_pred_text = ('The movie was cool. The animation and the graphics '\n",
" 'were out of this world. I would recommend this movie.')\n",
"predictions = sample_predict(sample_pred_text, pad=True)\n",
"print(predictions)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"execution": {
"iopub.execute_input": "2022-12-14T23:40:33.012066Z",
"iopub.status.busy": "2022-12-14T23:40:33.011431Z",
"iopub.status.idle": "2022-12-14T23:40:33.153533Z",
"shell.execute_reply": "2022-12-14T23:40:33.152641Z"
},
"id": "ZfIVoxiNmKBF"
},
"outputs": [
{
"data": {
"image/png": "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yXfccQfXX389YN5DraSguKI2btyI0+lk1qxZrrCybNkyt2M6d+5MUlISTzzxxGnnt27dmoCAAJKSkrj77rtPe75kVe/k5GQaNGgAmCM352Pt2rW8/PLLDB06FICDBw9y9OhRt34dOnSI3bt3n3EU6LbbbuORRx7hxRdfZPv27a5pOm9kGAZHMvLMkJNqjujsLl5P50xXXQXZbbSJCqZtZDCtI82vbaIUdESkeikAeZlbb72Va6+9lm3btnHbbbe59rdu3ZoPPviAYcOGYbFYmDp16mlXjJ2vVq1aUVhYyEsvvcSwYcNYu3YtCxYscDsmISGBTp06cd9993Hvvfdit9v58ssvuemmmwgLC+PRRx/lkUcewW6306dPH9LT09m2bRt33XUXrVq1IjY2lscff5wZM2awe/duZs2adV59a926NW+++Sbdu3cnMzOThx9+2G3U54orrqB///7ceOONzJ49m1atWrFz504sFgtXX301YNZT3XDDDTz88MNcddVVNGnSpFJ/TrWJYRikZ+ezJzWbXWXCzp7UbLLzy18w0M/HSuvIerSJCC4TeMwaHQUdEfE0BSAvM2DAABo2bMiuXbu45ZZbXPtnz57NnXfeSe/evV0BJDMzs1Kv0aVLF2bPns2zzz5LQkIC/fv3JzExkdGjR7uOadOmDZ999hl///vf6dmzJwEBAcTFxbluWjt16lR8fHyYNm0aR44cITo6mnvvvRcAX19f3n33XcaPH0/nzp3p0aMHTz/99Blrisp69dVXueeee7j88suJjY1l5syZPPTQQ27HvP/++zz00EOMGjWKnJwcWrVqxTPPPON2zF133cU777zDnXfeWak/o5rsZG4Bu1OzS6evikd1TuSePs0I5jo6LcKDaOMazQmmTWQwlzQM1O0fRKTG0r3AyqF7gcm5vPnmmzz44IMcOXIEu91+1mNr6u9Mdn4Re1JLAk62OaqTknXGm3paLdC0URBtIuuVTl9FBdOsURB2H11eLiKep3uBiVwkubm5JCcn88wzz/CXv/zlnOGnJih7ifmulNKgc/jkqTOe07h+AG2jzCmrtpHmiE6riHpaHFBE6gwFIKmwt99+m7/85S/lPte0aVO2bdtWzT2qPs899xwzZsygf//+JCQkeLo7bipziXlEsB9tigNO26jiq68ig6nnp38aRKRu0xRYOTQFdnZZWVmk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l/vuu4+//e1vHDp0iM8///y0NYLO5ujRozgcDiIjI932R0ZGkpKScs7zN2zYwNatW7n77rvd9l999dX861//IikpiWeffZavv/6aIUOG4HA4ym0nISGBjIwM13bw4MHzfg+1Qcn0V+uIYALsKoAWERGp1AgQwDXXXONWeOwJr776Kp06daJnz55u+0eOHOn6vlOnTnTu3JmWLVvy1VdfMXDgwNPa8fPzq9M1QltUAC0iIuKmUiNAP/zwA+vXrz9t//r16/nf//533u2EhYVhs9lITU1125+amkpUVNRZz83JyWHJkiXcdddd53ydFi1aEBYWxt69e8+7b3VJ6S0wNP0lIiIClQxAEyZMKHea6PDhw0yYMOG827Hb7XTr1o2kpCTXPqfTSVJSEr169Trrue+99x75+fncdttt53ydQ4cOcezYMaKjo8+7b3WJboEhIiLirlIBaPv27Vx++eWn7b/sssvYvn17hdqKj49n0aJFvPHGG+zYsYPx48eTk5PD2LFjARg9erRbkXSJV199leHDh59W2Jydnc3DDz/M999/z/79+0lKSuK6666jVatWDB48uEJ9qwtSM/NIzyopgFYAEhERgUrWAPn5+ZGamkqLFi3c9icnJ+PjU7EmR4wYQXp6OtOmTSMlJYWuXbuyevVqV2H0gQMHsFrdc9quXbv49ttv+eyzz05rz2az8fPPP/PGG29w8uRJYmJiuOqqq3jqqafqdJ3PmZSsAN0qop4KoEVERIpZDMMwKnrSqFGjSE5O5t///jehoeaowsmTJxk+fDgREREsW7asyjtanTIzMwkNDSUjI4OQkNpdN/PCmt3MTdrDDZc3ZvbNXT3dHRERkYumIp/flRoBev755+nfvz9NmzblsssuA2Dz5s1ERkby5ptvVqZJuUi2agVoERGR01QqADVu3Jiff/6Zt99+m59++omAgADGjh3LqFGj8PX1reo+ygXQLTBEREROV+l1gIKCgujbty+XXHKJ695cn3zyCQD/7//9v6rpnVyQtMw80koKoGNq91SeiIhIVapUANq3bx/XX389W7ZswWKxYBgGFovF9fyZVlyW6lUy+tMyvB6B9kpnXRERkTqnUpfBP/DAAzRv3py0tDQCAwPZunUrX3/9Nd27d+err76q4i5KZWn6S0REpHyVGhZYt24dX3zxBWFhYVitVmw2G3379iUx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VANUDex2O926dSMpKcm1z+l0kpSURK9evTzYM+9kGAYTJ07kww8/5IsvvqB58+ae7pJXGzhwIFu2bGHz5s2urXv37tx6661s3rxZ4ccD+vTpc9rSELt376Zp06Ye6pF3y83NxWp1/7i22Ww4nU4P9ahu0AhQNYmPj2fMmDF0796dnj17MmfOHHJychg7dqynu+Z1JkyYwDvvvMO///1vgoODSUlJASA0NJSAgAAP9877BAcHn1Z/FRQURKNGjVSX5SEPPvggvXv3ZubMmdx8881s2LCBhQsXsnDhQk93zSsNGzaMGTNmcMkll9ChQwd+/PFHZs+ezZ133unprtVqugy+Gs2bN49//OMfpKSk0LVrV1588UXi4uI83S2vY7FYyt3/2muvcccdd1RvZ6RcV155pS6D97CPP/6YhIQE9uzZQ/PmzYmPj2fcuHGe7pZXysrKYurUqXz44YekpaURExPDqFGjmDZtGna73dPdq7UUgERERMTrqAZIREREvI4CkIiIiHgdBSARERHxOgpAIiIi4nUUgERERMTrKACJiIiI11EAEhEREa+jACQiIiJeRwFIROQMLBYLH330kae7ISIXgQKQiNRId9xxBxaL5bTt6quv9nTXRKQO0M1QRaTGuvrqq3nttdfc9vn5+XmoNyJSl2gESERqLD8/P6Kioty2Bg0aAOb01CuvvMKQIUMICAigRYsWLF++3O38LVu2MGDAAAICAmjUqBH33HMP2dnZbscsXryYDh064OfnR3R0NBMnTnR7/ujRo1x//fUEBgbSunVrVqxY4XruxIkT3HrrrYSHhxMQEEDr1q1PC2wiUjMpAIlIrTV16lRuvPFGfvrpJ2699VZGjhzJjh07AMjJyWHw4ME0aNCAH374gffee4/PP//cLeC88sorTJgwgXvuuYctW7awYsUKWrVq5fYaTzzxBDfffDM///wzQ4cO5dZbb+X48eOu19++fTuffPIJO3bs4JVXXiEsLKz6/gBEpPIMEZEaaMyYMYbNZjOCgoLcthkzZhiGYRiAce+997qdExcXZ4wfP94wDMNYuHCh0aBBAyM7O9v1/MqVKw2r1WqkpKQYhmEYMTExxmOPPXbGPgDGlClTXI+zs7MNwPjkk08MwzCMYcOGGWPHjq2aNywi1Uo1QCJSY/3xj3/klVdecdvXsGFD1/e9evVye65Xr15s3rwZgB07dtClSxeCgoJcz/fp0wen08muXbuwWCwcOXKEgQMHnrUPnTt3dn0fFBRESEgIaWlpAIwfP54bb7yRTZs2cdVVVzF8+HB69+5dqfcqItVLAUhEaqygoKDTpqSqSkBAwHkd5+vr6/bYYrHgdDoBGDJkCL/99hurVq1izZo1DBw4kAkTJvD8889XeX9FpGqpBkhEaq3vv//+tMeXXnopAJdeeik//fQTOTk5rufXrl2L1Wqlbdu2BAcH06xZM5KSki6oD+Hh4YwZM4a33nqLOXPmsHDhwgtqT0Sqh0aARKTGys/PJyUlxW2fj4+Pq9D4vffeo3v37vTt25e3336bDRs28OqrrwJw6623Mn36dMaMGcPjjz9Oeno6999/P7fffjuRkZEAPP7449x7771EREQwZMgQsrKyWLt2Lffff/959W/atGl069aNDh06kJ+fz8cff+wKYCJSsykAiUiNtXr1aqKjo932tW3blp07dwLmFVpLlizhvvvuIzo6mnfffZf27dsDEBgYyKeffsoDDzxAjx49CAwM5MYbb2T27NmutsaMGUNeXh4vvPACDz30EGFhYfz5z38+7/7Z7XYSEhLYv38/AQEB9OvXjyVLllTBOxeRi81iGIbh6U6IiFSUxWLhww8/ZPjw4Z7uiojUQqoBEhEREa+jACQiIiJeRzVAIlIrafZeRC6ERoBERETE6ygAiYiIiNdRABIRERGvowAkIiIiXkcBSERERLyOApCIiIh4HQUgERER8ToKQCIiIuJ1/j9j58LEal9k2wAAAABJRU5ErkJggg==\n",
"text/plain": [
"