MCPで接続 →

計算を入力してください

公式

広告

結果

ソフトサインの表を生成しました
101
φ(x) = x /(1 + |x|) のデータ点数
最初のソフトサイン値 -0.833333
最後のソフトサイン値 0.833333
x ソフトサイン φ(x) φ'(x)(1次導関数)
-5 -0.83333333 0.02777778
-4.9 -0.83050847 0.02872738
-4.8 -0.82758621 0.02972652
-4.7 -0.8245614 0.0307787
-4.6 -0.82142857 0.03188776
-4.5 -0.81818182 0.03305785
-4.4 -0.81481481 0.03429355
-4.3 -0.81132075 0.03559986
-4.2 -0.80769231 0.03698225
-4.1 -0.80392157 0.03844675
-4 -0.8 0.04
-3.9 -0.79591837 0.04164931
-3.8 -0.79166667 0.04340278
-3.7 -0.78723404 0.04526935
-3.6 -0.7826087 0.04725898
-3.5 -0.77777778 0.04938272
-3.4 -0.77272727 0.05165289
-3.3 -0.76744186 0.05408329
-3.2 -0.76190476 0.05668934
-3.1 -0.75609756 0.0594884
-3 -0.75 0.0625
-2.9 -0.74358974 0.06574622
-2.8 -0.73684211 0.06925208
-2.7 -0.72972973 0.07304602
-2.6 -0.72222222 0.07716049
-2.5 -0.71428571 0.08163265
-2.4 -0.70588235 0.08650519
-2.3 -0.6969697 0.09182736
-2.2 -0.6875 0.09765625
-2.1 -0.67741935 0.10405827
-2 -0.66666667 0.11111111
-1.9 -0.65517241 0.11890606
-1.8 -0.64285714 0.12755102
-1.7 -0.62962963 0.13717421
-1.6 -0.61538462 0.14792899
-1.5 -0.6 0.16
-1.4 -0.58333333 0.17361111
-1.3 -0.56521739 0.18903592
-1.2 -0.54545455 0.20661157
-1.1 -0.52380952 0.22675737
-1 -0.5 0.25
-0.9 -0.47368421 0.27700831
-0.8 -0.44444444 0.30864198
-0.7 -0.41176471 0.34602076
-0.6 -0.375 0.390625
-0.5 -0.33333333 0.44444444
-0.4 -0.28571429 0.51020408
-0.3 -0.23076923 0.59171598
-0.2 -0.16666667 0.69444444
-0.1 -0.09090909 0.82644628
0 0 1
0.1 0.09090909 0.82644628
0.2 0.16666667 0.69444444
0.3 0.23076923 0.59171598
0.4 0.28571429 0.51020408
0.5 0.33333333 0.44444444
0.6 0.375 0.390625
0.7 0.41176471 0.34602076
0.8 0.44444444 0.30864198
0.9 0.47368421 0.27700831
1 0.5 0.25
1.1 0.52380952 0.22675737
1.2 0.54545455 0.20661157
1.3 0.56521739 0.18903592
1.4 0.58333333 0.17361111
1.5 0.6 0.16
1.6 0.61538462 0.14792899
1.7 0.62962963 0.13717421
1.8 0.64285714 0.12755102
1.9 0.65517241 0.11890606
2 0.66666667 0.11111111
2.1 0.67741935 0.10405827
2.2 0.6875 0.09765625
2.3 0.6969697 0.09182736
2.4 0.70588235 0.08650519
2.5 0.71428571 0.08163265
2.6 0.72222222 0.07716049
2.7 0.72972973 0.07304602
2.8 0.73684211 0.06925208
2.9 0.74358974 0.06574622
3 0.75 0.0625
3.1 0.75609756 0.0594884
3.2 0.76190476 0.05668934
3.3 0.76744186 0.05408329
3.4 0.77272727 0.05165289
3.5 0.77777778 0.04938272
3.6 0.7826087 0.04725898
3.7 0.78723404 0.04526935
3.8 0.79166667 0.04340278
3.9 0.79591837 0.04164931
4 0.8 0.04
4.1 0.80392157 0.03844675
4.2 0.80769231 0.03698225
4.3 0.81132075 0.03559986
4.4 0.81481481 0.03429355
4.5 0.81818182 0.03305785
4.6 0.82142857 0.03188776
4.7 0.8245614 0.0307787
4.8 0.82758621 0.02972652
4.9 0.83050847 0.02872738
5 0.83333333 0.02777778

ソフトサイン関数とは

ソフトサイン関数(Softsign Function)は、ニューラルネットワークで用いられる活性化関数の一つで、\(\varphi(x) = \frac{x}{1+|x|}\) と定義されます。双曲線正接関数(tanh)と同じく滑らかなS字曲線を描き、出力は開区間 \((-1, 1)\) に収まります。両者の大きな違いは漸近線への近づき方にあり、ソフトサインは多項式的に(\(\frac{1}{|x|}\) のオーダーで)\(\pm 1\) に近づくのに対し、tanh は指数的に近づきます。この緩やかな飽和の性質によって、一部のネットワーク構造では勾配消失の影響を抑えやすくなります。

原点を通り、プラス1とマイナス1に水平漸近線を持つS字型のsoftsign曲線
Softsign関数は -1 と +1 の間に収まるS字型の曲線です。

この計算ツールの使い方

3つの値を入力します。x の初期値(先頭行の x)、増分値(各行ごとに加える刻み幅)、そして繰り返し回数(生成する行数)です。これらを指定すると、各点について x、ソフトサイン \(\varphi(x)\)、1次導関数 \(\varphi'(x)\) を並べた表が作成され、曲線のグラフ化や特定の値の確認に活用できます。

計算式の解説

各行で \(a = 1 + |x|\) とおくと、$$\varphi(x) = \frac{x}{a}, \qquad \varphi'(x) = \frac{1}{a^{2}}$$ となります。\(|x|\) が負になることはないため分母 \(a\) は常に 1 以上で、ゼロ除算は起こらず、関数はどの点でも滑らかです。ソフトサイン関数は奇関数(\(\varphi(-x) = -\varphi(x)\))であり、その導関数は偶関数(\(\varphi'(-x) = \varphi'(x)\))です。原点では \(\varphi(0) = 0\)、\(\varphi'(0) = 1\) となります。

広告
原点上で最大値1に達し、両側で0に向かって減衰する釣鐘型のsoftsign導関数曲線
導関数は x = 0 で最大値 1 をとり、|x| が大きくなるにつれて 0 に近づきます。

計算例

\(x = -5\) のとき、\(a = 1 + 5 = 6\) なので \(\varphi(-5) = -\frac{5}{6} = -0.8333333\)、\(\varphi'(-5) = \frac{1}{36} = 0.0277778\) です。\(x = 1\) のとき、\(a = 2\) なので \(\varphi(1) = 0.5\)、\(\varphi'(1) = 0.25\) です。\(x = 0\) のとき、\(a = 1\) なので \(\varphi(0) = 0\)、\(\varphi'(0) = 1\) です。初期設定(初期値 -5、刻み 0.1、101 行)では、x が -5 から +5 まで変化する表が得られます。

よくある質問

なぜ導関数は負にならないのですか? \(\varphi'(x) = \frac{1}{(1+|x|)^{2}}\) は平方の逆数であるため、常に正の値をとります。つまりソフトサインは単調増加関数です。

tanh とはどう違うのですか? どちらも有界な範囲に飽和しますが、ソフトサインは有理関数的に緩やかに飽和するのに対し、tanh は指数的に飽和します。そのためソフトサインは、より広い入力範囲にわたって勾配が消えにくくなります。

刻み幅をマイナスにできますか? はい。負の刻みにすると表は減少方向に並びます。刻みを 0 にすると、すべての行が同じ x の値を繰り返します。

最終更新: