読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】隠れ層はReLU、出力はシグモイドかソフトマックス、ってどう使い分けるん?活性化関数まとめ【G検定】

12レスカテゴリ:AI・機械学習
1: 名無しさん

活性化関数、シグモイド・tanh・ReLU・Leaky ReLU・ソフトマックスと種類が多い
どこで何を使えばええん?

2: 名無しさん

前提のおさらい。多層パーセプトロンは、各層で重みつきの和をとって、それを活性化関数に通す。なめらかな関数にすると、誤差逆伝播法で重みを学習できる

3: 名無しさん

>>1
そもそも活性化関数がないと、層を何層重ねても全体が1つの線形関数(重みつきの和)にまとまってまう
みたいに、掛け算を重ねても掛け算1回と同じ。曲がった関数をはさむから、層を重ねる意味が出る

4: 名無しさん

シグモイド関数は出力が0〜1

微分は で、一番大きくても での0.25。 だともう約0.10

5: 名無しさん

>>4
微分が最大0.25ってことは、層を通るたびに勾配が4分の1以下になるん?

6: 名無しさん

>>5
そう。10層重ねると、多くても
前の層ほど勾配が消えてほとんど学習が進まん。これが勾配消失問題で、隠れ層にシグモイドを使わなくなった大きな理由

7: 名無しさん

tanh関数は出力が −1〜1 で、。微分の最大は1で、シグモイドよりは勾配が消えにくい
出力の中心が0になるのも学習にはええ。でも が大きいと微分が0に近づくのは同じ

8: 名無しさん

ReLU関数は 。正なら入力をそのまま、負なら0
正の側の微分はいつも1やから、何層重ねても勾配が小さくならん。計算も軽い。今の隠れ層では一番よく使われる

9: 名無しさん

>>8
負のときは微分が0やろ。ずっと負の入力しか来んユニットは、まったく学習せんくなるんちゃう?

10: 名無しさん

>>9
なる。そこで負の側にも小さい傾きをつけたのがLeaky ReLU関数。たとえば で
入力が なら、ReLUは0、Leaky ReLUは 。傾きが0にならんから、学習が止まりにくい

11: 名無しさん

出力層は、タスクで決まる
2クラス分類:シグモイド(1つの確率)
多クラス分類:ソフトマックス(クラスごとの確率、合計1)
回帰:何も通さない(恒等関数)。値の範囲を縛らんため

12: 名無しさん

>>11
隠れ層はReLUの仲間、出力層はタスクに合わせて、と分けて覚えると混ざらんな

管理人のひとこと