G検定 ニューラルネットワークと活性化関数 #2

株式会社リュディアです。G検定対策として G検定 ニューラルネットワーク #1 に続きまとめていきたいと思います。

ニューロンとシナプスによるニューラルネットワークによるモデリングを説明しました。また各ニューロンが刺激を伝搬する際の刺激の強さの計算方法についても説明しました。今回はあるニューロンが受けた刺激の強さに対して「自分が発火すべきかどうか」を判断する方法についてまとめたいと思います。

結論から記載すると、あるニューロンが受けた刺激の強さに対して自分が発火すべきかどうかは活性化関数で決定します。G検定公式テキスト(初版第7刷)の p103 に記載されています。活性化関数の例としてシグモイド関数が記載されていますね。

私たちはもう少し遡って理解できるようにまとめたいと思います。ここまでも記載してますが自分自身が発火すべきかどうかを判断するための関数が活性化関数です。ニューラルネットワークで何を判断したいかによって、活性化関数を使い分けることが必要となります。

では最も単純なステップ関数について記載してきます。以下のグラフをみてください。

画像1

あるニューロンへの入力の合計 x に対し x = 0 を境に活性化関数 f(x) は 0 または 1 になります。入力が 0 以上であればニューロンは 1、つまり発火します。入力が 0 未満であればニューロンは 0 、つまり発火しません。このステップ関数はヘヴィサイドの階段関数とも呼ばれています。Wikipedia の解説ページを以下につけておきます。

このステップ関数では、あるニューロンの入力が 0 以上か未満かで「自分が発火すべきかどうか」を判断しているのですが、入力が 0 以上か未満か、という境界はどうなんでしょうか?使い物にならないですよね?そこで入力が t 以上か未満かで「自分が発火すべきかどうか」を判断するような関数にすればどうでしょうか?この t を閾値と呼びます。閾値 = threshold を定義したステップ関数を以下に示します。

画像2

t を閾値とするステップ関数を用いることで、どのような値であれば発火すべきか、を設計者が決定できます。この t の値は G 検定でも頻繁に問われるハイパーパラメータになります。設計者なりユーザが決めるパラメータで、過去の経験やらデータ分析結果に基づき決定する必要があります。

今回はニューロンが「自分自身が発火すべきどうか判断する方法」として活性化関数、特に最も単純なステップ関数をまとめました。

では、ごきげんよう。

この記事が気に入ったらサポートをしてみませんか?