星の本棚スマートフォン用の表示で見る星の本棚サイエンス、テクノロジー、エンジニア関連のノート(忘備録)です。Learning]ニューラルネットワーク、ディープラーニングに関してのマイノートです。今後も随時追加予定です。大きく分けて以下の2つの問題設定&解決のための手法に分けることが出来る。非連続で微分不可能な関数であるが、その他の領域では微分可能なので、ニューラルネットワークにおいては、微分可能な活性化関数として取り扱われることが多い。対応することが出来るのが最大の利点である。近くなり、入力層に近い層で入出力誤差が消失してしまい、うまく学習できなくなるような問題である。いう活性化関数である。これらの活性化関数では、勾配(傾き)が一定なので、誤差消失問題を起こさない。従って、深い層のネットワークでも学習が可能となり、現在多くのニューラルネットワークで採用されている。これらの活性化関数を通して出力される値は、先に示したグラフのように負の値が出てきたりと、そのままでは扱いづらい欠点が存在する。関数を通じて出力を確率に変換するようにする。関数の式は以下のように与えられる。微視的状態を与える確率の式の形に対応している。これはまさに、情報理論でいうとこのシャノンの情報量に対応している。)は、モデルの出力と目的値(真の値、教師データ)との差(いいえ変えれば、誤差、距離)を計測する関数であり、モデルの学習に適用されるものである。大きく分けて以下の2つの問題設定&解決のための手法に分けることが出来た。(クラスの)分類問題の為の手法(SVM、k-NN、ロジスティクス回帰、等)従って、損失関数も同様にして、回帰問題の為の損失関数と、分類問題の為の損失関数が存在することになる。0)の近くで急なカーブを描く。この特性が、損失関数と扱う際に優れているのが特徴である。正則化の損失関数は、目的値への距離の絶対値で表される損失関数である。0)からのズレが大きくなっても(ズレの大きなに関わらず)、その傾き(勾配)は一定である。正則化よりも、外れ値にうまく対応するケースが多いのが特徴である。0)にて、関数が連続でないために、対応するアルゴリズムがうまく収束しないケースが存在することに注意が必要となる。)クラスの分類問題の為の損失関数は、現在の学習結果が与えられたデータに対してどの程度「良い感じなのか」を定量化するために使われる。1)の負例と正例となる。ことが証明されている。このことをパーセプトロンの収束定理と呼ぶ。それ以上のレベルの識別性能を持つことを主張したモデル。セグメンテーションで第1位で優勝したモデルであるが、ただ単に、コンペで高い正解率を叩き出しただけではなく、その残差構造自体に本質的で重要な意味を持つ。抽象的な構造を捉えることが出来るために、識別性能をより高めることが出来る。16層(VGG-16)、19層(VGG-19)、22層(GoogLeNet)にして識別性能を高めている。層の深さを深くしすぎると、下図の結果のように、逆に識別性能が低下してしまうことが経験的・実験的に知られている。下図ではまた、学習データセットにおいても層が深いほうが正解率が低いので、層を深くしすぎたために過学習が発生して、識別性能が低下したというわけではないことを示している点に注意。層を深くすると性能が低下する理由としては、勾配消失問題や勾配爆発問題が考えられる。防止することが出来るが、層を深くしすぎるこれらの手法も有効ではなくなってくる。構造を加えることにより、このような非常に深いネットワークにおいても、勾配消失問題や勾配爆発問題を防止することが出来るようにし、結果として、非常に深いネットワークでの高い識別性能を実現する。アーキテクチャの基本構造を比較を示した図である。構造が追加されている。ところまで、恒等写像でスキップする。ネットワークの学習対象とする。次元が等しい条件を前提としていることに注意。元に、最終的な出力関数を決定する。勾配消失問題を防ぐことが出来る。その微分が1に非常に近い値となるために、誤差逆伝播法による勾配計算時に、他の層をスキップ出来る。出力関数の次元が異なる場合は、以下のような2つの方法で対応する。次元を一致させた上で、スキップして加算する。)であるが、増加した次元分の要素を、ゼロパディングで埋める。この2番目の手法では、パラメーター数は増加しない。connections以下の表は、このネットワーク構成の、詳細なパラメーターを示した図である。程度になっていることに注目。network)での、層の深さを変えたときの識別性能を示した図である。層の深さを変えたときの識別性能を示した図である。細い線は、学習データセットでの誤識別率。層の深さを深くすると、識別性能が上昇していることが見てとれる。層まで深くしているが、更に深くしていっても(例えば、1202層)、同様の傾向は成り立つ。グラフ畳み込みネットワークグラフ構造からなるニューラルネットワークを構築するにあたっては、通常のニューラルネットワークのように畳み込み演算を定義できる必要がある。グラフ構造ではニューラルネットワークにおける画像の畳み込みのように、隣接する点の関係性が一定でないために、通常の畳み込みはうまく機能しない。そこで、グラフ構造における畳み込み演算を構築する必要があるのだが、その方法には大きく分けて以下の2つの種類がある。convolution)ここでは、グラフフーリエ変換を用いたグラフ畳み込みについて見ていく。前提として、通常の畳み込み演算とフーリエ変換には、以下のような関係がある。通常の畳み込み演算の一般形は、となるが、この演算のフーリエ変換は、各々の関数のフーリエ変換の積で簡単に表現出来る。フーリエ級数展開やフーリエ変換は、正規直交基底としての固有ベクトル(=固有関数)で固有値展開したものである。固有値と固有ベクトルである。これら2つの観点から、グラフ構造における畳み込み演算を、以下の観点から構築する。ラプラシアンに対応したグラフラプラシアンで置き換え、そのグラフラプラシアンの固有値と固有ベクトルで、グラフ上のフーリエ変換(=グラフフーリエ変換)を表現し、そのグラフフーリエ変換(と逆グラフフーリエ変換)から、グラフ上のグラフ畳み込みを定義する。実対称行列なので、グラフラプラシアンも実対称行列である。用いて対角化可能であり、以下の関係が成り立つ。演算はグラフフーリエ変換となる。逆グラフフーリエ変換は、となる。このグラフフーリエ変換と逆グラフフーリエ変換を用いて、グラフ畳み込みを以下のように定義する。するとと書き直せるので、一般的には、と表現することが出来る。このように表現したグラフ畳み込みは、固有ベクトルの計算と固有ベクトルとの積の計算が、データ次元に応じて計算量が膨大になるという問題がある。多項式で近似する方法が提案されている。Filtering前節で見たように、グラフフーリエ変換を用いたグラフ畳み込みは、以下のように式で表現できる。このように表現したグラフ畳み込みでは、固有ベクトルの計算と固有ベクトルとの積の計算が、データ次元に応じて計算量が膨大になるという問題がある。チェビシェフ多項式で近似する方法が提案されている。以下の多項式で展開することを考える。正規直交基底としての固有ベクトル(=固有関数)で固有値展開した形)そして、この展開式の具体的な形として、チェビシェフ多項式での多項式近似を考える。オーダーに依存した計算コストとなり、計算コストが大幅に減少させることが出来る。Networks前節では、グラフフーリエ変換を用いたグラフ畳み込みの式を、以下の式のようにチェビシェフ多項式で近似した。次数までの近似式を採用する。対して線形なモデルとなり、モデルの表現力は低下してしまうが、非線形部分は、グラフ畳み込みネットワークの多層構造で担保するようにする。逆に、K=1とすることで、モデルの過学習が抑えられる効果もある。して、1つのパラメーターでのみ表現出来るようにすると、上式は、と書き換えられる。勾配損失問題や勾配発散問題への対策として、以下のような置き換えを行う。最終的な結論としては、グラフネットワークの各層の出力は、以下の式で計算出来ることになる。間のクロスエントロピーで定義される。Networksグラフフーリエ変換を用いたグラフ畳み込みでは、グラフ構造は無向グラフに限定され、又、グラフフーリエ変換を行う必要があるため処理が扱いづらく、計算量が多いという問題があった。この問題を解決するために、グラフフーリエ変換ではなく、通常の畳み込みのように、線形結合+活性化関数の形でグラフ畳み込みを行えるようにする。グラフ構造は、知識ベースの有向グラフである必要がある。関係性を持つような有向グラフを指す。以下のようなグラフ畳み込みを導入する。番目の頂点での次の中間層での1つの頂点を決める式であるので、全ての頂点でこの処理を行うことで、次の中間層での全ての頂点が求まり、1回のグラフ畳み込みが行える動作となる。この畳み込みは、通常の畳み込みのように、重みベクトルとベクトルの線形和+活性化関数の形になっており、扱いやすいメリットがある。損失関数は、単純に最終的出力と教師データとの間のクロスエントロピーで定義される。【補足】グラフラプラシアングラフラプラシアンは、グラフ構造の接続辺数の情報を持つ次数行列と、各接続頂点番号の情報を持つ隣接行列の差で定義される。意味になっており、それ故に、ラプラシアンと名付けられている。このグラフラプラシアンの固有値と固有ベクトルには、グラフ構造の重要な情報が含まれる。VGG-16)に基づいて構成され、これをベースネットワークという。このベースネットワークで、特徴量を検出する。層で、特徴マップがダウンサンプリングされて、後段に行くほど、特徴マップのグリッドサイズが小さくなるが、このことは、各々の層の特徴マップには、色々なサイズの物体を検出出来る情報が含まれていることを意味している。モデルの後段の特徴マップ(特徴レイヤー)の各グリッドでは、大きな物体の情報。前段では、小さな物体の情報を取得することが出来る。各グリッドにおける特徴量を使用して、バウンディングボックス(BBOX)のアスペクト比、所属クラス、座標のオフセットを学習させる。」というのが、基本的なコンセプトである。畳み込み特徴レイヤーを、(途中で打ち切られている)ベースネットワークの最後尾に追加している。これらのレイヤーは、特徴マップのサイズを小さくさせ(上図)、マルチスケールでの検出の予想を可能にする。(下図)検出を予想するための畳み込みモデルは、各特徴レイヤーにおいて異なっている。畳み込みフィルタ(フィルタ行列)の集合を使用して、固定の検出予想の集合を生成可能である。デフォルトボックスの座標に関してのオフセット値を生成(算出)する。バウンディングボックスの座標オフセットの出力値は、各特徴マップの位置に対するデフォルトボックスの位置に対して測定される。モデルは、(前述のように)いくつかの特徴レイヤーを、ベースネットワークの最後に追加するが、これらの特徴レイヤーは、異なるスケールとアスペクト比のデフォルトボックスに対するオフセット値と、それに付随する確信度を予測する。「デフォルトボックスとアスペクト比(デフォルトボックスと回帰によるオフセット予想)」ネットワークのトップで、複数の特徴マップに関して、各特徴マップのセル(グリッド)とデフォルトボックスの集合を関連付けている。内に存在することを示す指標である検出スコア(物体の中心座標が含まれているなら1となる)と、セル中のデフォルトボックスのオフセット値を予想する。4つ(x,yの中心座標2つ、幅w、高さh)を計算する。個の出力が生成されることになる。異なるスケールの物体検出を取り扱うために、元画像を異なるサイズで処理し、それらの結果を結合する手法を提案している研究も存在する。全ての物体のスケールについて、同じパラメータを共有しながら、同様の効果を得ることがことが出来る。(更に、こちらの手法では同一の単一のネットワークの使用するため、処理が軽くなるメリットがある。物体検出に下位と上位の特徴マップを使用する。(実践的には、より多くの特徴マップを小さい計算コストで使用出来る。詳細には、デフォルトボックスを中心とする提案領域は、物体のスケール値、中心座標、高さ、幅が合っていないことがあるため、スケール値、幅、高さ、中心座標に回帰する畳み込み層を追加している。以下のようにして計算される。中間レイヤーのスケールは、上式に従って規則的な間隔で設定される。異なるアスペクト比を設定する。入力画像(上図の(a))と、各物体それぞれの正解ボックス(デフォルトボックスの内、各物体が収まるボックス。上図の赤枠と青枠)のみである。4×4の特徴マップ内)で評価する。ボックスのマッチ度を図る。