読者です 読者をやめる 読者になる 読者になる

【MLP 深層学習】第2章 順伝播型ネットワーク

深層学習、通称青イルカ本の学習メモ。

深層学習 (機械学習プロフェッショナルシリーズ)

深層学習 (機械学習プロフェッショナルシリーズ)

知らなかったことや重要だと思ったところをQ&A形式にして自分が復習しやすい形にしてある。

活性化関数にシグモイド関数やロジスティック関数を使われてきたのはなぜ?

ニューラルネットは、ヒトの神経細胞を模擬したものであり、 生物の神経細胞が持つ性質をモデル化するとこうなる。

Rectified linear function(ReLU関数)の利点は?

{} $$ f(u) = max(u, 0) $$

上記がReLU関数。
シグモイド関数などよりも、単純な関数のため計算量が小さい。
またシグモイド関数では入力の変動の大きさに気を使う必要がある。
(大きすぎると出力がほとんどの場合0か1になってしまう)

NNでは各ユニットの活性化関数が非線形性を持つことが本質的に重要なのはなぜ?

層間は線形変換されるため、 非線形領域を分類するためには、その役目を活性化関数がになる必要があると考えられるため。

事後確率(条件付き確率)とはなにか?

事後確率とは, 事象Aが起こった条件下において,事象Bが起こる確率のこと. 例えば

  • 雨が降る確率をP(雨)
  • 交通事故の発生確率をP(事故)

としたとき,雨が降っている日に(= 雨が降っているという条件下において),
交通事故が発生する確率を

P(事故|雨) と表すことに決める. これが事後確率である.

事後確率の定義は以下のようになる。 {} $$ P(B|A) = \frac{P(B, A)}{P(A)} $$

多クラス分類問題のときになぜ誤差関数を交差エントロピーで置くのか?

他クラス分類問題のときには、
ある層での入力に対する出力の活性化関数を、softmax functionとする。
なぜかというと、全ニューロンの和を1にでき、各ニューロンの出力を確率とみなせるため。 {} $$ y_k = \frac{\exp(u_k)}{\sum_{j=1} \exp(u_j)} $$

そして、{y_k}を「与えられた入力{x}がクラス{C_k}に属する事後確率」とみなす。
このとき事後分布は、 {} $$ p(d|x) = \prod_{k=1}^K p(C_k|x)^{d_k} $$

この尤度の対数をとり符号を反転すると、交差エントロピーの式になる。 {} $$ E(w) = - \sum_{n=1}^N \sum_{k=1}^K d_{nk} \log y_{k} (x_n;w) $$