{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 活性化関数" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## シグモイド関数\n", "\n", "$$\n", " h(x) = \\frac{1} {1 + \\exp(-x)}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## シグモイド関数の説明の前に…ステップ関数を作る\n", "\n", "パーセプトロンのように、閾値以上だと0, 閾値以下だと1を出力、と閾値を境に出力する値が変わる関数のことを「ステップ関数」または「階段関数」と呼ぶ。\n", "\n", "シグモイド関数と比較するために入力が0を超えたら1を出力し、それ以外は0を出力するステップ関数を作る。\n", "\n", "$$\n", " y = \\begin{cases}\n", " 0 \\quad (x \\leqq 0) \\\\\n", " 1 \\quad (x > 0) \\\\\n", " \\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "def step_function(x):\n", " \"\"\"\n", " 入力xに対し、0 <= x の時は 0, x > 0 の時は1を返却する\n", " ステップ関数\n", " \n", " Parameters\n", " ----------\n", " x: numpy.ndarray\n", " 入力xの配列\n", " \"\"\"\n", " y = x > 0\n", " return y.astype(np.int)\n", "\n", "x = np.arange(-5.0, 5.0, 0.1) # x\n", "y = step_function(x)\n", "\n", "plt.plot(x, y)\n", "plt.ylim(-0.1, 1.1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## シグモイド関数の実装" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "def sigmoid(x):\n", " \"\"\"\n", " シグモイド関数\n", " \n", " Parameters\n", " ----------\n", " x: numpy.ndarray\n", " 入力xの配列\n", " \"\"\"\n", " return 1 / (1 + np.exp(-x))\n", "\n", "x = np.arange(-5.0, 5.0, 0.1) # x\n", "y = sigmoid(x)\n", "\n", "plt.plot(x, y)\n", "plt.ylim(-0.1, 1.1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ステップ関数とシグモイド関数の比較" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.arange(-5.0, 5.0, 0.1)\n", "y1 = step_function(x)\n", "y2 = sigmoid(x)\n", "\n", "plt.plot(x, y1, label=\"ステップ関数\", ls=\"--\")\n", "plt.plot(x, y2, label=\"シグモイド関数\")\n", "plt.ylim(-0.1, 1.1)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ステップ関数と比較したとき、シグモイド関数のグラフはなめらかなのがわかる。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 非線形関数\n", "\n", "「線形関数」がグラフ上1本の直線になるのに対し、「非線形関数」は1本の直線にならない。\n", "\n", "ニューラルネットワークでは、「線形関数」を使ってしまうと、隠れ層のないネットワークになる (≒入力が1しかない、単純な関数になる) ので使わない。\n", "\n", "たとえは、$h(x) = cx$ という線形関数があったする。 \n", "これを活性化関数として、3層のネットワークを構築したとしよう。\n", "\n", "$$\n", " y(x) = h(h(h(x)))\n", "$$\n", "\n", "これを展開すると\n", "\n", "$$\n", " y(x) = c(c(cx)) \\\\\n", " y(x) = c^3x\n", "$$\n", "\n", "つまり\n", "\n", "$$\n", " y(x) = ax \\\\\n", " (a = c^3)\n", "$$\n", "\n", "と、単純な別の活性化関数に置き換わってしまう。\n", "\n", "つまり、多層$y(x) = h(h(h(x)))$にしたつもりでも、単層$\n", " y(x) = ax \\quad\n", " (a = c^3)\n", "$にした結果と同じになってしまう" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ReLU 関数\n", "\n", "シグモイド関数は古くから使われているが、最近は **ReLU** (Rectified Linear Unit) が使われるようになった。\n", "\n", "$$\n", " h(x) = \\begin{cases}\n", " x \\quad (x > 0) \\\\\n", " 0 \\quad (x \\leq 0)\n", " \\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "def relu(x):\n", " \"\"\"\n", " 入力xに対し、x > 0 の時は x, x <= 0 の時は0を返却する\n", " ReLU関数\n", " \n", " Parameters\n", " ----------\n", " x: numpy.ndarray\n", " 入力xの配列\n", " \"\"\"\n", " return np.maximum(0, x)\n", "\n", "x = np.arange(-5.0, 5.0, 0.1) # x\n", "y = relu(x)\n", "\n", "plt.plot(x, y)\n", "plt.ylim(-0.1, 1.1)\n", "plt.show()" ] } ], "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.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }