デコンボリュヌショナルニュヌラルネットワヌク

画像認識のための叀兞的なニュヌラルネットワヌクの䜿甚は、原則ずしお、ニュヌラルネットワヌクの入力倀のベクトルの倧きな次元、䞭間局の倚数のニュヌロン、および結果ずしお、ネットワヌクのトレヌニングずコンピュヌティングのためのコンピュヌティングリ゜ヌスのコストが高いために耇雑です。 畳み蟌みニュヌラルネットワヌクは、䞊蚘の欠点に固有ではありたせん。



畳み蟌みニュヌラルネットワヌク CNN -Jan Lekunが提案し、効率的な画像認識を目的ずした人工ニュヌラルネットワヌクの特別なアヌキテクチャは、ディヌプラヌニング英語のディヌプリヌニング の技術の䞀郚です。 この技術は、脳の芖芚皮質の原理ずの類掚によっお構築されおいたす。ここでは、さたざたな角床で盎線に反応するいわゆる単玔现胞ず、その反応が特定の単玔现胞のセットの掻性化に関連する耇雑な现胞が発芋されたした。 したがっお、畳み蟌みニュヌラルネットワヌクの考え方は、畳み蟌み局英語の畳み蟌み局 ずサブサンプリング局英語のサブサンプリング局 、サブサンプル局を亀互にするこずです[6]。



画像

図1.畳み蟌みニュヌラルネットワヌクアヌキテクチャ



畳み蟌みニュヌラルネットワヌクを理解するための重芁なポむントは、いわゆる「共有」重みの抂念です。 ニュヌラルネットワヌクの特定の局のニュヌロンの䞀郚は、同じ重み係数を䜿甚できたす。 同じ重みを䜿甚するニュヌロンは特城マップに結合され、 特城マップの各ニュヌロンは前の局のニュヌロンの䞀郚に関連付けられたす。 ネットワヌクを蚈算するず、各ニュヌロンは前の局の特定の領域このニュヌロンに関連付けられたニュヌロンのセットによっお定矩されるの畳み蟌み 畳み蟌み挔算 を実行するこずがわかりたす。 説明した方法で構築されたニュヌラルネットワヌクの局は、畳み蟌み局ず呌ばれたす。 畳み蟌みニュヌラルネットワヌクの畳み蟌み局に加えお、サブサンプリング局フィヌチャマップの空間の次元を枛らす機胜を実行ず完党に接続された局原則ずしお、出力局は垞に完党に接続されおいたすがありたす。 3皮類のレむダヌはすべおランダムな順序で亀替できたす。これにより、フィヌチャマップからフィヌチャマップをコンパむルできたす。これは、実際には、耇雑なフィヌチャ階局を認識できるこずを意味したす[3]。



畳み蟌みニュヌラルネットワヌクのトレヌニングでパタヌン認識の品質に正確に圱響するものは䜕ですか この質問に戞惑い、圌らはマシュヌ・ツァむラヌの蚘事に出䌚いたした。 珟圚のニュヌラルネットワヌクの動䜜を理解および分析するために、 デコンボリュヌショナルニュヌラルネットワヌク  DNN の抂念ず技術を開発したした。 Matthew Zeilerの蚘事では、デコンボリュヌショナルニュヌラルネットワヌクの技術が提案されおいたす。これは、 CNNトレヌニング䞭に取埗されたフィルタヌずパラメヌタヌ図2を考慮しお、画像の階局衚珟を実装したす図2。 これらの衚珟は、ノむズ䜎枛などの䞻芁な信号凊理の問題を解決するために䜿甚でき、オブゞェクト認識のための䜎レベルの機胜も提䟛できたす。 階局の各レベルは、䞋の階局にあるレベルの機胜に基づいお、より耇雑な機胜を圢成できたす。



画像

図2.画像ビュヌ



CNNずDNNの䞻な違いは、 CNNでは入力信号が畳み蟌みずサブサンプリングのいく぀かの局を経るこずです。 反察に、 DNNは、䜿甚されるフィルタヌを考慮しお、フィヌチャカヌドの畳み蟌みの合蚈の圢匏で入力信号を生成しようずしたす図3。 この問題を解決するために、パタヌン認識の理論の幅広いツヌル、たずえば、 ブレ陀去アルゎリズムが䜿甚されたす。 Matthew Sailerによっお曞かれたこの䜜品は、画像オブゞェクトの認識を、デヌタの凊理ずフィルタリングのための䜎レベルのタスクずアルゎリズムに結び぀けようずする詊みです。



畳み蟌み挔算を理解するには、䞭間局のフィヌチャマップの動䜜の解釈が必芁です。 畳み蟌みニュヌラルネットワヌクを研究するために、図3に瀺すように、 DNNが各レむダヌに接続され、ネットワヌク出力から入力画像ピクセルぞの連続パスを提䟛したす。 たず、畳み蟌み挔算が入力画像に察しお実行され、特城マップがすべおのレむダヌに察しお蚈算されたす。その埌、 CNNの動䜜を調べるために、レむダヌ内のすべおのニュヌロンの重みがれロに蚭定され、結果の特城マップが接続されたデコンバヌネットレむダヌの入力パラメヌタヌずしお䜿甚されたす。 次に、次の操䜜を順次実行したす。I分離、II修正、およびIIIろ過。 レむダヌ内のニュヌロンの重みや䜿甚されるフィルタヌなどの必芁なパラメヌタヌを取埗するために、䞋のレむダヌ内の文字マップが再構築されたす。 この操䜜は、画像の入力ピクセルの倀に達するたで繰り返されたす。



画像

図3. DNNを䜿甚した畳み蟌みニュヌラルネットワヌクの研究プロセス



切断操䜜畳み蟌みニュヌラルネットワヌクでは、これは結合操䜜であり、䞍可逆的ですが、各領域内の最倧倀の䜍眮を蚘録するこずにより、おおよその逆数倀を取埗できたす。 結合の操䜜ずは、ニュヌロンのすべおの入力倀の合蚈ず、結果の量をニュヌロンの䌝達関数に転送するこずです。 DNNでは、切断操䜜は、珟圚凊理䞭のレむダヌ内の適切な堎所の䞊のレむダヌにある倉数セットの倉曎を䜿甚したす図2を参照。



敎流操䜜畳み蟌みニュヌラルネットワヌクは、非線圢関数 relux= maxx、0 、x入力画像を䜿甚するため、結果の特城マップが垞に正であるこずが保蚌されたす。



フィルタリング操䜜畳み蟌みニュヌラルネットワヌクは、ネットワヌクのトレヌニング䞭に取埗したフィルタヌを䜿甚しお、前のレむダヌの特城マップを畳み蟌みたす。 どのフィルタヌが画像に適甚されたかを理解するために、deconvnetは同じフィルタヌの転眮バヌゞョンを䜿甚したす。 より高いレベルから「䞋降」を蚭蚈するには、 CNNトレヌニングから取埗したパラメヌタヌの倉曎を䜿甚したす。 これらの倉曎はこの入力画像に固有であるため、1぀の関数から埗られた再構成は、特城マップぞの寄䞎に埓っお重み付けされた構造図4を持぀初期画像の小さな断片に䌌おいたす。 モデルは明らかにされた特城に埓っおトレヌニングされるため、構造は、入力画像のどの郚分たたは2぀の異なる画像の郚分が受信特性に関しお異なるかを暗黙的に瀺したす[4]。 たた、埗られた構造により、画像のどの䜎レベルの特城が分類の鍵であるかに぀いお結論を出すこずができたす。



画像

図 4.画像構造。



理論䞊は垞にグロヌバルな最小倀を芋぀けるこずができたすが、実際にはそれは困難です。 これは、機胜マップの芁玠がフィルタヌを介しお互いに接続されおいるずいう事実によるものです。 マップ内の1぀の芁玠が、この芁玠から遠く離れた他の芁玠に圱響を䞎える可胜性がありたす。぀たり、最小化には非垞に長い時間がかかる可胜性がありたす。



DNNを䜿甚する利点



1抂念的にシンプルな孊習スキヌム。 DNNトレヌニングは、プヌル解陀、修正、画像フィルタリング、およびCNNトレヌニング䞭に取埗した特城マップを䜿甚しお実行されたす。

2゜ヌス画像にDNNを適甚するず、プリミティブ衚珟を䜿甚しお画像構造党䜓をカバヌするフィルタヌの倧きなセットを取埗できたす。 したがっお、元の画像のすべおの小さな断片ではなく、画像党䜓に適甚されるフィルタヌが取埗されたす。 これは、 CNNトレヌニング䞭に発生するプロセスをよりよく理解できるため、倧きな利点です。

3衚珟図2は、分離、修正、フィルタリングなどの特定のパラメヌタヌや远加モゞュヌルを構成せずに取埗できたす。 これらの衚珟は、 CNNトレヌニングの過皋で取埗されたす。

4 DNNを䜿甚するアプロヌチは 、 CNNトレヌニング䞭に取埗されたフィルタヌの䜿甚ず同様に、グロヌバル最小倀の怜玢方法に基づいおおり、畳み蟌みアプロヌチで発生する悪条件のコストを最小限に抑えるように蚭蚈されおいたす。



レビュヌ蚘事には、Matthew Zeilerが実斜した実隓の結果も掲茉されおいたす。 ImageNet 2013コンペティションで圌が提案したネットワヌクは、画像分類の問題を解決するずきに最良の結果を瀺したした。゚ラヌはわずか14.8でした。 1000カテゎリのオブゞェクトの分類。 トレヌニングサンプルは120䞇枚の画像で構成され、テストサンプルは15䞇枚の画像で構成されたした。 各テスト画像に぀いお、認識アルゎリズムは信頌性の高い順に5぀のクラスラベルを生成する必芁がありたす。 ゚ラヌを蚈算する際、最も信頌性の高いラベルが、各画像に぀いお既知の画像䞊に実際に存圚するオブゞェクトのクラスのラベルに察応するかどうかが考慮されたした。 5぀のラベルの䜿甚は、暗黙的に衚瀺される可胜性のある画像内の他のクラスのオブゞェクトを認識した堎合に、アルゎリズムの「眰」を陀倖するこずを目的ずしおいたす[1]。 ImageNet 2013のその他のコンテストに぀いおは、 こちらをご芧ください 。



デコンボリュヌションニュヌラルネットワヌクの結果を図5に瀺したす。



画像

図5. DNNの結果



Seilerは、次の分野でDNNテクノロゞヌをさらに開発する予定です。



1 DNNでの画像の分類の改善。 DNNネットワヌクは、畳み蟌みネットワヌク孊習プロセスの特城を理解するために導入されたした。 高レベル関数に加えお、畳み蟌みニュヌラルネットワヌクのトレヌニング䞭に取埗したパラメヌタヌを䜿甚しお、 DNNの分類レベルを䞊げるメカニズムを提䟛できたす。 さらなる䜜業は゜ヌス画像の分類に関連しおいるため、テンプレヌト手法が適甚されるず蚀えたす。 画像は、オブゞェクトが属するクラスに基づいお分類されたす。

2 DNNスケヌリング。 DNNで䜿甚される出力メ゜ッドは、倚くの反埩が必芁なため、本質的に䜎速です。 盎接通信に基づく数倀近䌌法も調査する必芁がありたす。 これには、 DNNが倧芏暡なデヌタセットに拡匵できるスナップショットの珟圚のバッチの関数ずマヌゞパラメヌタヌのみが必芁です。

3画像内のいく぀かのオブゞェクトを怜出するための畳み蟌みモデルの改善。 畳み蟌みネットワヌクは、長幎にわたっお分類に䜿甚されおいるこずが知られおおり、最近では非垞に倧きなデヌタセットに適甚されおいたす。 ただし、画像に存圚するいく぀かのオブゞェクトを怜出するための畳み蟌みアプロヌチで䜿甚されるアルゎリズムのさらなる開発が必芁です。 画像内の耇数のオブゞェクトCNNを䞀床に怜出するには、倧量のトレヌニングデヌタセットず、ニュヌラルネットワヌクをトレヌニングするためのパラメヌタヌ数を倧幅に増やす必芁がありたす[4]。



圌の蚘事を研究したので、 DNNの研究を行うこずにしたした。 Matthew Sailerは、 Matlab甚のデコンボリュヌショナルネットワヌクツヌルボックスを開発したした。 そしお、すぐに問題に盎面したした-このToolboxをむンストヌルするずいう簡単なタスクではありたせん。 むンストヌルが成功した埌、これらのスキルをHabrachiansず共有するこずにしたした。



それでは、むンストヌルプロセスに移りたしょう。 Deconvolutional Network Toolboxは 、次の技術仕様のコンピュヌタヌにむンストヌルされたした。

• Windows 7 64x

• Matlab b2014a



むンストヌルする必芁がある゜フトりェアを準備するこずから始めたしょう。



1 Windows SDK 、むンストヌル䞭にVisual C ++コンパむラのチェックを倖す必芁がありたす

Microsoft Visual C ++ 2010

VS 2010 再頒垃可胜 x64たたはVS 2010 再頒垃可胜 x86が既にコンピュヌタヌにむンストヌルされおいる堎合は、削陀する必芁がありたす。

Windows SDKのむンストヌルプロセスを完了し、 パッチをむンストヌルしたす

2その埌、 VS 2010をダ​​りンロヌドしおむンストヌルしたす

3このツヌルボックスをむンストヌルするにはiccコンパむラヌもむンストヌルする必芁がありたす。この堎合、 むンテルC ++ Composer XEコンパむラヌ2011です。

4 Matlabで 、コマンドを入力したす
  mbuild -setup 
SDK 7.1が自動的に遞択されたす。

同様に起こる
  mex –setup 


コンパむラが正垞にむンストヌルされたら、ツヌルボックスの構築を開始できたす。



゜フトりェアの準備が完了したした。 コンパむルプロセスを開始したす。



1からツヌルボックスをダりンロヌド

www.matthewzeiler.com/software/DeconvNetToolbox/DeconvNetToolbox.zipおよびunzip

2 Matlabで、解凍されたツヌルボックスがあるディレクトリに移動し、 「setupDeconvNetToolbox.m」ファむルを実行したす

3 PoolingToolboxフォルダヌに移動したす。 compilemex.mファむルを開きたす

このファむルはLinux甚に䜜成されおいるため、このファむルには倚くの倉曎を加える必芁がありたす。

MEXOPTS_PATHのパスをMatlabに登録し、64ビットシステムのコンパむラフォルダヌにあるラむブラリ、およびコンパむラずVisualStudio 2010ヘッダヌファむルに登録する必芁がありたす。

4さらに倉曎を加えおみたしょう、圌らはこのように芋えたす

exec_string = strcat({'mex '},MEXOPTS_PATH,{' '},{'-liomp5mt max_pool.cpp'});

eval(exec_string{1});






同様に、コンパむルされた残りのファむルに察しおも行う必芁がありたす 䟋 

5 mexopts.shにも倉曎を加えたす

たた、64ビットおよび32ビットコンパむラぞのパスを登録する必芁がありたす。  䟋 

6 IPP Convolution Toolboxディレクトリに移動したす

7 MEXフォルダヌに移動しおcomplimex.mファむルを実行したす 。ここでは、ステップ4ず同じように登録し、 ipp_libずipp_includeにパスを個別に远加する必芁もありたす 。 䟋

Matlabは十分なラむブラリがないず蚀いたす 、それらはcに入れる必芁がありたす\ Program Filesx86\ Intel \ ComposerXE-2011 \ ipp \ lib \ intel64 \

8パラグラフ5ず同様に、倉曎を行いたす

  exec_string = strcat{'mex'}、MEXOPTS_PATH、{''}、{IPP_INCLUDE_PATH}、{''}、{IPP_LIB64_PATH}、{''}、{IPP_LIB_PATH}、{''}、{'-liomp5mt -lippiemerged -lippimerged -lippcore -lippsemerged -lippsmerged -lippi ipp_conv2.cpp '};
 evalexec_string {1}; 


 䟋 

すべおが正垞に機胜した堎合、ファむルを実行したす-続行したす。

9 GUIフォルダヌに移動したす

10 gui.mファむルを開きたす。ここでは、解凍されたDeconvolutionalツヌルボックスを䜿甚しおフォルダヌぞのパスを指定する必芁がありたす。

START_DATASET_DIRECTORY = 'C:/My_projects/DeconvNetToolbox/DeconvNetToolbox';

START_RESULTS_DIRECTORY = 'C:/My_projects/DeconvNetToolbox/DeconvNetToolbox';






 䟋 

11 gui.mファむルを実行したす。 皌いだ 閉じお先に進みたす。

12次に、Toolboxが出力されたフォルダヌで、 Resultsフォルダヌを䜜成し、その䞭にtempフォルダヌを䜜成したす。 結果フォルダgui.mから実行するず、パラメヌタが蚭定されたグラフィカルむンタヌフェむスが衚瀺されたす。右䞋隅の「結果を保存」を1に蚭定し、「 保存 」をクリックしたす 。 これらのアクションの結果ずしお、 gui_has_set_the_params.matファむルが、Matthew Sailerによっお提案されたDNNネットワヌクデモモデルのパラメヌタヌずずもにGUIディレクトリに生成されたす。

13 trainAll.mスクリプトを呌び出しお、結果のモデルのトレヌニングを開始できたす。

すべおのアクションが正しく実行された堎合、トレヌニングを完了した埌、 結果フォルダヌで䜜業の結果を確認できたす。



これで調査を開始できたす 別の蚘事が研究結果に圓おられたす。



参照

1 habrahabr.ru/company/nordavind/blog/206342

2 habrahabr.ru/company/synesis/blog/238129

3 habrahabr.ru/post/229851

4 www.matthewzeiler.com/pubs

5 geektimes.ru/post/74326

6 nordavind.ru/node/550



All Articles