{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Ic4_occAAiAT" }, "source": [ "##### Copyright © 2020 The TensorFlow Authors." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "execution": { "iopub.execute_input": "2024-01-11T18:04:11.610879Z", "iopub.status.busy": "2024-01-11T18:04:11.610336Z", "iopub.status.idle": "2024-01-11T18:04:11.614291Z", "shell.execute_reply": "2024-01-11T18:04:11.613637Z" }, "id": "ioaprt5q5US7" }, "outputs": [], "source": [ "#@title Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": { "id": "sPrjeJhFQBmu" }, "source": [ "# 統合勾配" ] }, { "cell_type": "markdown", "metadata": { "id": "hKY4XMc9o8iB" }, "source": [ "
![]() | \n",
" ![]() | \n",
" ![]() | \n",
" ![]() | \n",
" ![]() | \n",
"
x
の重要度が小さいか不連続であることは理にかなっていますか?*\n",
"\n",
"- **右**: IG の背後にある直観は、ピクセル `x` のローカル勾配を累積し、モデルの全体的な出力クラス確率にどれだけ追加または減算するかを表すスコアとしてその重要性を属性付けすることです。IG は 3 つの部分に分けて計算することができます。\n",
"\n",
" 1. 0(基準点または開始点)と 1(入力ピクセルの値)の間の特徴空間の直線に沿って小さなステップを補間する\n",
" 2. 各ステップで、各ステップに関するモデルの予測間の勾配を計算する\n",
" 3. これらのローカル勾配を累積(累積平均)することで、基準と入力間の積分を近似する\n",
"\n",
"この直感を強化するために、以下の例の「消防艇」画像に IG を適用して、上記の 3 つの部分を説明します。 "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "28MU35BCLM-s"
},
"source": [
"### 基準の確立"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MIPG5yYfkydQ"
},
"source": [
"基準は、特徴量重要度を計算する際の開始点として使用される入力画像です。直感的に、基準の説明的な役割を、入力画像に存在する場合の「消防艇」に対する各ピクセルの影響と比較する「消防艇」予測に対する各ピクセルの不在の影響を表していると考えることができます。結果として、基準の選択は、ピクセル特徴量重要度を解釈し、視覚化する上での中心的役割を果たします。基準の選択に関するその他の説明については、このチュートリアルの最後にある「次のステップ」に記載されたリソースをご覧ください。ここでは、ピクセル値がすべてゼロである黒い画像を使用します。\n",
"\n",
"ほかには、すべて白の画像、もしくはランダム画像といった選択肢を試すことができます。これは、`tf.random.uniform(shape=(224,224,3), minval=0.0, maxval=1.0)` で作成することができます。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-11T18:04:25.962031Z",
"iopub.status.busy": "2024-01-11T18:04:25.961759Z",
"iopub.status.idle": "2024-01-11T18:04:25.968269Z",
"shell.execute_reply": "2024-01-11T18:04:25.967611Z"
},
"id": "wxvpwGkj4G4J"
},
"outputs": [],
"source": [
"baseline = tf.zeros(shape=(224,224,3))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"execution": {
"iopub.execute_input": "2024-01-11T18:04:25.971747Z",
"iopub.status.busy": "2024-01-11T18:04:25.971482Z",
"iopub.status.idle": "2024-01-11T18:04:26.061877Z",
"shell.execute_reply": "2024-01-11T18:04:26.061261Z"
},
"id": "vXRYwBWQS19B"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAALFklEQVR4nO3dXYiV5b/H4d+MNeOI1ETvpJgl5YBGUXhQps1MB9rIHFgZvVGQVAdBHZUUFA0RFeEgoQW9jFhYmZWRYToHI5an0QuVZIQnHTQNimDJWLr2QezvbtC9t/1x9szmf12wYD0P91r3vY4+67mfWUxTo9FoFABUVfNELwCAyUMUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhTgf3HxxRfXvffem+OdO3dWU1NT7dy5c8LWBONFFJhw69evr6ampjGP8847rzo7O2vbtm0TvTz4t3LaRC8A/lNfX1/Nnj27Go1G/fLLL7V+/fq66aab6uOPP65ly5ZN9PJi0aJFdfjw4WppaZnopcApJwpMGkuXLq1rrrkmx/fdd1+df/759fbbb0+qKDQ3N9fUqVMnehkwLmwfMWm1t7dXW1tbnXbaf313efHFF+vaa6+ts88+u9ra2urqq6+uzZs3H/fawcHBWrhwYbW3t9f06dPr8ssvr8cff3zMmNHR0Xrqqadqzpw51draWjNnzqxHH320RkdH/8d1neiewg033FDz5s2r7777rjo7O2vatGl10UUX1QsvvHDc6//VeeH/gisFJo2DBw/WyMhINRqNGh4erpdeeqkOHTpUd911V8asWbOment7684776wjR47UO++8U7feemtt3bq1enp6qqrq22+/rWXLltUVV1xRfX191draWj/++GPt3r0773Ps2LHq7e2tzz//vO6///7q6Oiob775pvr7++uHH36oLVu2/OP1HzhwoJYsWVLLly+vFStW1ObNm+uxxx6r+fPn19KlS8dtXjilGjDBBgYGGlV13KO1tbWxfv36MWN///33McdHjhxpzJs3r9HV1ZVz/f39japq/Prrr//tnG+++Wajubm58dlnn405/8orrzSqqrF79+6cmzVrVuOee+7J8dDQUKOqGkNDQzm3ePHiRlU1NmzYkHOjo6ONCy64oHHzzTf/S/PCRLB9xKSxdu3aGhwcrMHBwXrrrbeqs7OzVq5cWR988EHGtLW15fmBAwfq4MGDdf3119cXX3yR8+3t7VVV9dFHH9WxY8dOONd7771XHR0dNXfu3BoZGcmjq6urqqqGhob+8fqnT58+5qqmpaWlFixYUD/99NO4zgunku0jJo0FCxaMudF8++2311VXXVUPPfRQLVu2rFpaWmrr1q31zDPP1JdffjlmD76pqSnPb7vttnrttddq5cqVtWrVquru7q7ly5fXLbfcUs3Nf30P2rt3b33//fd17rnnnnAtw8PD/3j9M2bMGLOOqqqzzjqrvv766xyPx7xwKokCk1Zzc3N1dnbWmjVrau/evbV///7q7e2tRYsW1bp16+rCCy+s008/vQYGBmrjxo15XVtbW+3atauGhobqk08+qU8//bTefffd6urqqh07dtSUKVPq2LFjNX/+/Fq9evUJ5545c+Y/Xu+UKVNOeL7xt/94Ox7zwqkkCkxqf/75Z1VVHTp0qN5///2aOnVqbd++vVpbWzNmYGDguNc1NzdXd3d3dXd31+rVq+vZZ5+tJ554ooaGhurGG2+sSy+9tL766qvq7u4+7tv9eJqoeeFkuafApPXHH3/Ujh07qqWlpTo6OmrKlCnV1NRUR48ezZh9+/Yd9xc7+/fvP+69rrzyyqqqbDmtWLGifv7553r11VePG3v48OH67bffTt0H+ZuJmhdOlisFJo1t27bVnj17quqvvfWNGzfW3r17a9WqVXXGGWdUT09PrV69upYsWVJ33HFHDQ8P19q1a2vOnDlj9u37+vpq165d1dPTU7Nmzarh4eFat25dzZgxoxYuXFhVVXfffXdt2rSpHnzwwRoaGqrrrruujh49Wnv27KlNmzbV9u3bx9zfOFUmal44WaLApPHkk0/m+dSpU2vu3Ln18ssv1wMPPFBVVV1dXfX666/Xc889V4888kjNnj27nn/++dq3b9+YKPT29ta+ffvqjTfeqJGRkTrnnHNq8eLF9fTTT9eZZ55ZVX9tL23ZsqX6+/trw4YN9eGHH9a0adPqkksuqYcffrguu+yycfmMEzUvnKymxt/vggHwb809BQBCFAAIUQAgRAGAEAUAQhQAiJP+nYKf5AP8/3Yyv0BwpQBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECcdrIDG43GeK4DgEnAlQIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgDxH1CGx0uhal/qAAAAAElFTkSuQmCC",
"text/plain": [
"