Python で ReLU 関数を実装する

Vaibhhav Khetarpal 2023年1月30日
  1. ReLU 関数
  2. Python で ReLU 関数を実装する
Python で ReLU 関数を実装する

このチュートリアルでは、Relu 関数とそれを Python で実装する方法について説明します。

ReLU 関数

Relu 関数は機械学習の基本であり、ディープラーニングを使用する際に不可欠です。

ReLU という用語は Rectified Linear Unit の略語であり、ディープラーニングのベースである人工ニューラルネットワークの場合のアクティベーション機能として機能します。機械学習と深層学習の両方のアルゴリズムを実装するのに適したプログラミング言語の 1つである Python には、ReLU 関数の使用範囲があります。

簡単な数学用語では、ReLU 関数は次のように定義できます。

f(x) = max(0,x)

この関数は x に関して線形であり、すべての負の値をゼロにすることができます。

Python で ReLU 関数を実装する

Python で ReLU 関数を実装するために、新しい関数を定義して NumPy ライブラリを使用できます。

NumPy ライブラリを使用すると、Python で行列や配列を処理できます。これは、このプログラミング言語では同じものを直接実装できないためです。NumPy ライブラリの maximum() 関数は、新しく作成した関数定義内で利用して、ReLU 関数を作成できます。

次のコードは、Python で ReLU 関数を実装します。

import numpy as np


def relu1(a):
    return np.maximum(0, a)


print(relu1(-3))

上記のコードは、次の出力を提供します。

0

上記のコードでは、単一の整数を扱います。ただし、私たちが作成した ReLU 関数は、単一の整数から NumPy 配列や同様のオブジェクトまでの範囲で簡単に機能します。

この関数が入力として数値を取得すると、出力は常に数値になります。この関数に配列を渡すときも同じ規則に従います。

入力されたオブジェクトのタイプは、常に出力として返されるオブジェクトタイプです。

興味深いことに、配列を処理するときは、plotly ライブラリを利用でき、配列や同様のオブジェクトに対する ReLU 関数のアクションを表すグラフを作成することもできます。

ReLU 関数の動作をよりよく説明するために、ここで単純な配列の例を取り上げて、手元のタスクを実行します。さらに、グラフを描き、このアレイでの ReLU 関数のライブアクションを確認します。

次のコードは、Python の配列で ReLU 関数を使用しています。

import numpy as np
import plotly.express as px


def relu1(a):
    return np.maximum(0, a)


x1 = np.linspace(start=-5, stop=5, num=26)
print(x1)
x2 = relu1(x1)
print(x2)
px.line(x=x1, y=x2)

上記のコードは、次の出力を提供します。

ReLU 関数出力

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python NumPy