【活性化関数】ReLU関数(ランプ関数)とは?【超わかりやすく解説】

ニューラルネットワークで重要な活性化関数の1つである「ReLU関数」を、紹介します。理解のしやすいReLU関数をPythonで実装も行いながら紹介しています。

ReLU関数とは?

ReLU関数のグラフ

ReLU関数は、負の値の入力は「 0 」を、正の値の入力は「 x 」を出力する関数です。

活性化関数の中で1番良い関数とも言われることがあります。
シグモイド関数は「-1」〜「1」しか出力を行いませんが、
ReLU関数は上限がない関数なので、その分学習の速度が早くなります。

ReLU関数は活性化関数の中でも隠れ層で非常に利用されている関数です。
ランプ関数とも言われます。

ReLU関数の数式

ReLU関数は非常にシンプルな関数なので、数式も非常にシンプルです。
「 = 」はどちらにつけても大丈夫です。

Pythonで実装

実装

#ReLU関数
import numpy as np

def ReLU(x):
    return np.maximum(0,x)

if __name__ == '__main__':
    print(ReLU(4)) # 任意の数字を入力
【実行結果】
4

5行目で、NumPyのmaximumを利用してReLU関数を表現しています。

【参考】ステップ関数をプロットするコード

下記は、matplotlibを使ってReLU関数を描画するコードです。

#ReLU関数
import matplotlib.pyplot as plt
import numpy as np
import math

x = np.arange(-6, 6, 0.1)
y = np.maximum(0,x)

plt.grid()
plt.plot(x, y)
plt.show()

このコードを実行すると、下のグラフが実行結果として生成されます。
上手くReLU関数が描けていますね。

ということで本記事は、
ニューラルネットワークで非常に重要な、活性化関数の1つであるReLU関数を紹介しました!
最後まで読んでいただき、ありがとうございました\(^o^)/

ディープラーニングのおすすめ書籍

専門書としては異例の発行部数を誇る、素晴らしい書籍です(^^)
初心者の方から知識のある方まで、幅広い方に向けて書かれていますよ!\(^o^)/

超オススメのPC用品

PCを操作する上で、トラックボールマウスが非常におすすめです!
僕も感動したこのマウスを、騙されたと思って使ってみてください!(^^)

外部モニターで2倍以上の効率化が見込めます!
安いものだと、たったの1万円前後なのでおすすめですよー!\(^o^)/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です