コンボリューションニューラルネットワーク
翻訳反転の重なり部分の面積を介して関数fおよびgによって特徴付けられる数学演算子を生成するための2つの関数f、gの第三の関数の畳み込みによって。式の数学的な定義:
実際に、離散畳み込みにおける畳み込みネットワークの使用は、すなわち不連続、それは操作の方法で、以下の畳み込みと組み合わせて、畳み込みカーネルは、入力データに対応する位置と重み付け演算によるものです核の概念は、十分に理解されるであろう。
畳み込みニューラルネットワークは、二つの最も重要な点は、知識のある畳み込みカーネルとアーキテクチャの畳み込みニューラルネットワーク
- コンボリューションカーネル
- コンボリューションカーネルは定義されました
- 畳み込み演算
- 深さ
- ストライド
- ゼロパディング
- コンボリューションニューラルネットワーク構造
- INPUT入力層
- コンボリューション層CONV
- アクティベーション機能層RELU
- プーリング層POOL
- 完全接続層FC
コンボリューションカーネル
コンボリューションカーネルは、ネットワークのコアで、CNNのトレーニングプロセスは、継続的に最適なプロセスまで、コンボリューションカーネルパラメータを更新することです。
コンボリューションカーネルが定義されている入力画像の部分領域について、加重平均処理、請求このプロセスは、重錘、コンボリューションカーネルである関数によって定義されます。
各チャンネル内に、赤、緑、青の画素にそれぞれ、チャネルの色値で三枚のRGBカラー画像を以下の図に示すの右側に二次元アレイとして使用することができ、画素値は0から255の間の値を表しています。コンピュータ(* 600 900 * 3)とすることができる900×600のカラー画像は、アレイを示していると仮定する。
コンボリューション処理
コンボリューション処理を小行列、すなわちコンボリューションカーネルに基づいている、上に画素のマトリクスは、過去を掃引することによって、コンボリューションの数を確認するスイープが対応する位置で乗算され、その和を得るための各工程連続前記しました、すべてのスイープ後、値を取得するために、すべてのSaowanは、新しい行列を生成します。下記に示すように、
畳み込みニューラルネットワークのコンボリューションカーネルサイズ、数を設定するコンボリューションカーネルを読み込む方法。小行列のコンボリューション層と一般的に(3,3)、各値は、我々が最初にランダムな初期値を持つことになり、(トレーニング)ニューロンパラメータ(重量)を探すために必要があるということである畳み込みカーネル、鉄道網、最良のパラメータ値を見つけるまで、ネットワークの後に連続し、広めるためにこれらのパラメータ値によって更新されます。機能の喪失を評価する必要性によって「ベスト」。
畳み込み演算と等価である特徴抽出、畳み込みフィルタに相当し、我々は、特徴を抽出する必要があります。
左から右下の、最終的に得られたスペクトル特性の右側に掃引、畳み込み以下。
- 深さ:我々は畳み込み演算を使用するフィルタの数に相当する深さ。図7に示すネットワークでは、我々は、それによって、図の三つの異なる特徴を生成する3枚の異なる初期コンボリューションフィルタ船画像を使用します。これら3つの特徴は、3つの「深さ」をマッピング備わり、従って、2次元地図マトリックススタックとして見ることができます。
- 手順:画素数が入力行列にストライド次フィルタ行列を移動しています。ストライドが1であるとき、私たちは、第1のフィルタにピクセルを移動します。ストライドが2である場合、各フィルタは、二つの画素を移動させます。大きい方のステップ、より小さな生成された特徴マップ。これは、2つの縦方向と横方向を持っています
- ゼロフィリング:いくつかのケースでは、ゼロで充填された入力行列の境界は非常に便利になりますので、我々は、入力画像境界要素マトリクスにフィルタを適用することができます。ゼロは便利な機能を満たし、それは私たちが特性マップのサイズを制御することを可能にするということです。ゼロパディングはゼロで満たされた狭い畳み込みを使用することなく、畳み込み幅を添加するとしても知られます。
ゼロパディング(パディング)
畳み込み寸法が以下になった後、得られた行列は元の行列よりも小さくなり、これは良好な計算ではなく、パディングが必要で、レイヤー0外側元マトリックスパッチパッケージ内の各コンボリューションの前に、横方向のみに埋めることができ、画像は、入力画像のサイズが一致すると畳み込まれるように、または単に、すべての周りに長手方向に記入、または0。
たとえば、次の3×3行列を、より小さい:必要性は、結果行列がなければならない掃き出す、掃引する3×3のコンボリューションカーネルと、元の行列5×5のコンボリューションを行います。
それは300 * 300 302 * 302マトリックスとなるように、すなわち、約300×300マトリックスプラス外側の円「0」は、畳み込み演算をパディングプラス0円を補完する、それは、次いで、300 * 300畳み込まれ同じサイズとアートワーク。
コンボリューションニューラルネットワークアーキテクチャ
:CNNは、一般に、5つの部分に分割され、入力層、畳み込み層、活性機能層、プールされた層、完全接続層
層の活性化関数 - - 細胞層 - しかし、注入点の必要性に注意が、畳み込みネットワークは、ほとんどの場合、4層の中間、すなわち畳み込み層を示すに交互に使用される層のコンボリューション - 活性化機能層 - ちょうど一般意志のレベル以上の細胞層...交互構造、もちろん、畳み込みの新興ネットワーク、でもプーリング層の一部が省略されているため、5階建ての構造。
入力層
ネットワーク全体を入力し、画像は、典型的には画素のマトリックスである、上記の図には、入力の三次元構造を見ることができ、一般的な画像は、RGBカラー画像のように、深さの概念を有することになるからです第1の2次元画像は長さと幅を指定され、第三の寸法はRGB三色の深さであるa * b *表C形であり、モノクロ画像は、深さ1
コンボリューション層
この層の主な部分は、畳み込みを実行することで、コンボリューションカーネルは、すでに実際にコンボリューションカーネルは、このレベルでは、我々はいくつかはあまり見ることができるこの計算を実現している畳み込み層の概念が導入されました種のキーワード:
- フィルタフィルタ:事前に定義された達成ニューロン畳み込み。
- ステップストライド
- パディングパディング
-
奥行きの深さ:深さの画像はこちらを参照して、しかし、1層(フィルター)でニューロンの数を指していない、さまざまな機能に焦点を当てて処理フィルターは、我々は異なった特徴マップを望むものとは異なっている、それが提供されていますフィルタの複数の特徴マッププロセスを与えるために、各フィルタは、複数のフィルタ、複数の特徴マップを与えることが、一緒に積み重ね、これらの特徴マップの視点が出力されるような、それを見ることができるフィルタの数は、特徴マップと同じですこの数の、それは深さです。
励起機能層
実際に畳み込みが結合する前に、活性化関数を使用することが多い層で処理され、実際には、線形の活性化関数の役割の役割であり、ネットワーク内のコンボリューション、励起関数は、一般的に使用されるReLuの、関数ほとんどの状況でシグモイド関数の処理を使用しないことに注意してください。
プーリング層
特徴マップに作用する、入力行列のサイズに対応する更なる濃度は、さらに抽出された特徴です。畳み込み演算の後に我々は、同様の特性情報と隣接領域、地物多くの情報を抽出し、これらの機能のすべてのデータが計算難易度を高めるために、情報の冗長性を持つことになります保持する場合、あなたは、お互いを置き換えることができ、この時間プーリングは落下に相当します二次元操作。マトリックスのプールは、小面積の領域に対する領域の代わりに、最大値または平均値である、マトリックスの小さなサイズは、独自のネットワークを構築する時に提供されてもよいです。小行列は、左上から右下へ掃引されます。下記に示すように、
プーリング層は、以下の機能があります。
- 对 Feature Map 又进行一次特征提取,这也是减小数据量的操作
- 获取更抽象的特征,防止过拟合,提高泛化性
- 经过这个处理,对输入的微小变化有更大的容忍,也就是说如果数据有一些噪音,那么经过这个特征提取的过程,就一定程度上减小了噪音的影响。
最后一点要注意的是,池化层并非是卷积网络所必需的。一些新的CNN网络设计时候并没有使用池化层。
全连接层
在一开始的结构图中可以看出, CNN网络还有一个特点 : 可能有多轮 卷积层 和池化层的处理,这时候,模型已经将图像输入处理成了信息含量更高的特征,为了实现分类的任务(一般是分类,当然也会有其他的任务),需要使用全连接层来完成分类任务。
对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权。像下面的中间层就是全连接方式。