解答と解説を表示
<h4>ReLU関数の計算</h4>
<p>ReLU(Rectified Linear Unit)関数は、入力が0以下の場合は0を、入力が0より大きい場合はその入力値をそのまま出力する関数です。</p>
<div class="formula">
$ f(x) = \max(0, x)$
</div><p>与えられた入力値 5 に対してReLU関数を適用します。</p><h5>入力値 5 の場合</h5>
<div class="formula">
$ f(5) = \max(0, 5) = 5$
</div><p>したがって、出力値は 5 となります。</p><div class="key-point">
<div class="key-point-title">ReLUの特徴</div>
<ul>
<li>計算が非常に高速(加算、比較、乗算のみ)。</li>
<li>勾配消失問題を緩和する効果がある(正の領域では勾配が1)。</li>
<li>スパースな活性化(多くのニューロンが0を出力する)をもたらすことがある。</li>
<li>負の入力に対して勾配が0になるため、ニューロンが「死んでしまう」(Dying ReLU)問題が発生することがある。</li>
</ul>
</div><h5>他の活性化関数との比較</h5>
<p>シグモイド関数やtanh関数と比較して、ReLUは計算コストが低く、勾配消失を起こしにくいため、ディープラーニングで広く利用されています。</p>
<div class="code-block">
<pre>
import numpy as npdef relu(x):
return np.maximum(0, x)inputs = np.array([-3, 0, 5])
outputs = relu(inputs)
print(f"Inputs: {inputs}")
print(f"ReLU Outputs for 5: {relu(5)}")
# 出力:
# Inputs: [-3 0 5]
# ReLU Outputs for 5: 5
</pre>
</div>