たたみ蟌みニュヌラルネットワヌクずは







はじめに



畳み蟌みニュヌラルネットワヌクSNS。 生物孊ず数孊ずコンピュヌタヌサむ゚ンスが混ざった奇劙な組み合わせのように聞こえたすが、これらのネットワヌクはコンピュヌタヌビゞョンの分野で最も圱響力のある革新の1぀です。 ニュヌラルネットワヌクが最初に䞀般的な泚目を集めたのは2012幎で、アレックスクリゞェフスキヌのおかげでImageNetコンテスト倧たかに蚀うず、これは毎幎のマシンビゞョンオリンピアヌドで優勝し、分類゚ラヌの蚘録が26から15に䞋がり、突砎口ずなりたした。 今日、詳现なトレヌニングは倚くの䌁業のサヌビスの䞭心にありたすFacebookは、自動タグ付けアルゎリズムにニュヌラルネットワヌクを䜿甚し、ナヌザヌの写真を怜玢するにはGoogleを、補品の掚奚事項を生成するにはAmazonを、ナヌザヌのホヌムペヌゞをパヌ゜ナラむズするにはPinterestを、怜玢むンフラストラクチャにはInstagramを䜿甚しおいたす。







しかし、ネットワヌクの叀兞的な、そしおおそらく最も䞀般的な䜿甚䟋は画像凊理です。 SNAを䜿甚しお画像を分類する方法を芋おみたしょう。







挑戊する



画像を分類するタスクは、初期画像を取埗し、そのクラス猫、犬などたたは画像を最もよく説明する可胜性のあるクラスのグルヌプを出力するこずです。 人々にずっお、これは圌らが誕生から孊び始める最初のスキルの䞀぀です。













努力するこずなく、自然に倧人になりたす。 考えさえしなくおも、私たちは私たちを取り巻く空間ず物を玠早く簡単に認識するこずができたす。 画像を芋たり、自分の呚りで䜕が起こっおいるかを芋るず、ほずんどの堎合、シヌンをすぐに説明し、各オブゞェクトにショヌトカットを䞎えるこずができたす。これはすべお無意識に、目に芋えない圢で起こりたす。 パタヌンをすばやく認識し、すでに埗た知識を芁玄し、写真に蚘録されたさたざたな状況に適応するこれらのスキルは、電子的な友人には利甚できたせん。







入力ず結論



コンピュヌタヌが画像を芋る入力デヌタを受け取るず、ピクセルの配列が芋えたす。 たずえば、解像床ず画像サむズに応じお、配列のサむズは32x3323はRGBチャンネルの倀になりたす。 わかりやすくするために、JPG圢匏のカラヌ画像があり、そのサむズが480x480であるずしたす。 察応する配列は480x480x3になりたす。 これらの各数倀には、0〜255の倀が割り圓おられたす。これは、この時点でのピクセルの匷床を衚したす。 これらの数倀は、画像に䜕が含たれおいるかを刀断しおも意味がありたせんが、コンピュヌタヌで䜿甚できる唯䞀の入力デヌタです。 考えは、コンピュヌタヌにこのマトリックスを䞎え、むメヌゞクラスの確率を説明する数字を衚瀺するこずです猫の堎合は.80、犬の堎合は.15、鳥の堎合は.05など。







コンピュヌタヌに䜕が欲しい



タスク、入力、および出力を定矩したので、゜リュヌションに到達する方法に぀いお考えおみたしょう。 コンピュヌタヌは、䞎えられたすべおのデヌタを識別し、犬を犬にし、猫を猫にするナニヌクな機胜を認識できるようにしたいず考えおいたす。 私たちの囜では、このプロセスも無意識のうちに起こりたす。 犬の画像を芋るずき、画像に足や4本の足などの識別可胜な特性がある堎合、特定のクラスに関連付けるこずができたす。 同様に、コンピュヌタヌは、境界線や曲率などのベヌスラむン特性を怜玢し、畳み蟌み局のグルヌプを介しおより抜象的な抂念を構築するこずにより、画像を分類できたす。 これは、SNAが行うこずの䞀般的な説明です。 それでは、詳现に移りたしょう。







生物孊的぀ながり



初めに、少し歎史。 畳み蟌みニュヌラルネットワヌクずいう甚語を最初に聞いたずき、おそらく神経科孊や生物孊に関連する䜕かを考えおいたでしょう。 ある意味で。 SNSは、たさに芖芚野のプロトタむプです。 芖芚野には、芖野の特定の領域に敏感な现胞の小さな郚分がありたす。 このアむデアは、1962幎のフヌベルずノィヌれルによる玠晎らしい実隓の助けを借りお詳现に調べられたした ビデオ 。特定の方向の境界を芖芚化したずきにのみ個々の脳神経现胞が反応たたは掻性化したこずを瀺したした。 たずえば、いく぀かのニュヌロンは、垂盎の境界を認識したずきにアクティブになり、䞀郚のニュヌロンは氎平たたは斜めになりたす。 HubelずWieselは、これらすべおのニュヌロンがコアアヌキテクチャの圢に集䞭しおおり、䞀緒になっお芖芚を圢成するこずを発芋したした。 特定の問題特定の特性を探す芖芚野のセルなどを解決し、マシンを䜿甚するシステム内の特殊なコンポヌネントのこのアむデアは、SNAの基瀎です。







構造



詳现に戻りたす。 SNAは正確に䜕をしたすか 画像が撮圱され、䞀連の畳み蟌み、非線圢局、結合局、および完党に接続された局を通過しお、出力が生成されたす。 先ほど述べたように、結論は画像を最もよく説明するクラスたたはクラスの確率です。 難しいのは、これらの各局が䜕をしおいるのかを理解するこずです。 それでは、最も重芁なこずに移りたしょう。







最初の局は数孊的な郚分です



SNAの最初の局は垞に畳み蟌みです。 この畳み蟌み局の入力を芚えおいたすか 前述のように、入力画像はピクセル倀を持぀32 x 32 x 3のマトリックスです。 たたみ蟌み局が䜕であるかを理解する最も簡単な方法は、画像の巊䞊を照らす懐䞭電灯の圢で想像するこずです。 この懐䞭電灯が発する光が5 x 5の領域をカバヌするずしたしょう。今床は、懐䞭電灯が入力画像のすべおの領域を移動するこずを想像しおみたしょう。 コンピュヌタヌトレヌニングの芳点から、この懐䞭電灯はフィルタヌニュヌロンたたは栞ず呌ばれ、それが光る領域は受容野知芚野ず呌ばれたす。 ぀たり、フィルタヌは行列ですこのような行列は、重み行列たたはパラメヌタヌ行列ずも呌ばれたす。 フィルタヌの深さは入力画像の深さず同じである必芁があるこずに泚意しおください数孊的な忠実床の保蚌がありたす。このフィルタヌの寞法は5 x 5 x 3です。 巊䞊隅にしたす。 フィルタヌは畳み蟌みを生成する、぀たり入力画像に沿っお移動するため、フィルタヌ倀に画像ピクセルの初期倀を乗算したす芁玠ごずの乗算。 これらすべおの乗算が合蚈されたす合蚈75回の乗算。 そしお、結果は単䞀の数字です。 芚えおおいおください、それは単に画像の巊䞊隅にあるフィルタヌの䜍眮を象城しおいたす。 各ポゞションでこのプロセスを繰り返したす。 次の手順は、フィルタヌを1぀ず぀右に移動し、次に1぀ず぀右に移動するこずです。 入力された画像の䞀意の䜍眮ごずに番号が生成されたす。 すべおの䜍眮でフィルタヌを通過した埌、28 x 28 x 1のマトリックスが取埗されたす。これは、アクティベヌション関数たたは機胜マップず呌ばれたす。 32 x 32の画像の5 x 5フィルタヌを通過できる784の異なる䜍眮があるため、28 x 28のマトリックスが埗られ、これらの784の数倀は28 x 28のマトリックスに倉換されたす。













小さな発蚀䞊蚘の画像を含む画像の䞀郚は、マむケルニヌルセンの玠晎らしい本「 ニュヌラルネットワヌクずディヌプラヌニング マむケルニヌルセンからのものです。匷くお勧めしたす」。







ここで、1぀ではなく2぀の5 x 5 x 3フィルタヌを䜿甚するずしたす。 その堎合、出力倀は28 x 28 x 2になりたす。







最初の局



この畳み蟌みが実際に高レベルで行うこずに぀いお話したしょう。 各フィルタヌは、プロパティ識別子ず芋なすこずができたす。 プロパティずは、盎線の境界線、単玔な色、曲線を意味したす。 すべおの画像に共通する最も単玔な機胜に぀いお考えおください。 最初のフィルタヌが7 x 7 x 3であり、曲線怜出噚であるずしたす。 今床は、フィルタヌの深さが3であるずいう事実を無芖し、簡単にするためにフィルタヌず画像の最䞊局のみを考慮したす。 フィルタヌは、曲線の圢状を決定する領域に沿っお数倀が高くなるピクセル構造を持っおいたすここで説明しおいるフィルタヌは単なる数字です。













数孊的芖芚化に戻りたしょう。 入力画像の巊䞊隅にフィルタヌがある堎合、フィルタヌ倀にこの領域のピクセル倀を乗算したす。 クラスを割り圓お、巊䞊隅にフィルタヌを蚭定したいサンプル画像を芋おみたしょう。













必芁なのは、フィルタヌ倀に画像の元のピクセル倀を掛けるこずだけです。













実際、入力フィルタヌの圢状がこのフィルタヌが衚す曲線に広く䌌おいお、すべおの乗算倀が合蚈される堎合、結果は倧きな倀になりたす 次に、フィルタヌを移動するずどうなるかを芋おみたしょう。













倀はずっず䜎いです これは、カヌブ怜出フィルタヌが怜出できる新しい画像領域には䜕もないためです。 この畳み蟌み局の出力はプロパティマップであるこずに泚意しおください。 最も単玔な堎合、畳み蟌みフィルタヌが1぀ある堎合およびこのフィルタヌが曲線怜出噚である堎合、プロパティマップには、曲線が存圚する可胜性が高い領域が衚瀺されたす。 この䟋では、巊䞊隅の28 x 28 x 1プロパティマップの倀は6600です。この高い倀は、おそらく曲線に䌌た䜕かが画像に存圚し、この確率がフィルタヌをアクティブにしたこずを瀺したす。 右䞊隅では、プロパティマップの倀は0になりたす。これは、フィルタヌをアクティブにできる画像が䜕もなかったためです蚀い換えるず、この領域には曲線がありたせんでした。 これは1぀のフィルタヌのみを察象ずしおいるこずに泚意しおください。 これは、倖偎に曲がった線を怜出するフィルタヌです。 内偎に曲がっおいる、たたはたっすぐになっおいるラむンには、他のフィルタヌがある堎合がありたす。 フィルタヌが倚いほど、プロパティマップの深さが倧きくなり、玹介画像に関する情報が倚くなりたす。







泚このセクションで説明したフィルタヌは、折りたたみの数孊を単玔化するために単玔化されおいたす。 以䞋の図は、蚓緎されたネットワヌクの最初の畳み蟌み局のフィルタヌの実際の芖芚化の䟋を瀺しおいたす。 しかし、考え方は同じです。 最初のレむダヌのフィルタヌは、入力画像の呚りに折り返され、探しおいる特定の特性が入力画像にあるずきに「アクティブ化」たたは倧きな倀を生成したす。













泚䞊蚘の画像は、Andrej KarpathyずJustin Johnsonが教えたスタンフォヌド231Nコヌスのものです。SNAの詳现を知りたい方にはお勧めです。







ネットワヌクを深く掘り䞋げたす



今日、埓来の畳み蟌みニュヌラルネットワヌクアヌキテクチャには、畳み蟌み局が散圚する他の局がありたす。 トピックに興味がある人は、これらのレむダヌの機胜ず効果を理解するためにこれらのレむダヌに぀いお読むこずを匷くお勧めしたす。 叀兞的なSNAアヌキテクチャは次のようになりたす。













最埌の局は、最埌ではありたすが、最も重芁な局の1぀です。埌で説明したす。 すでにわかったこずをたずめたしょう。 最初の畳み蟌み局のフィルタヌを決定する方法に぀いお説明したした。 境界線や曲線などの基本的なレベルのプロパティを発芋したす。 ご想像のずおり、写真に衚瀺されるオブゞェクトの皮類を提案するために、手、足、耳など、より高いレベルのプロパティを認識できるネットワヌクが必芁です。 それでは、最初の畳み蟌み局の埌のネットワヌク出力がどのように芋えるか考えおみたしょう。 サむズは28 x 28 x 3です3぀のフィルタヌ5 x 5 x 3を䜿甚する堎合。 画像が1぀の畳み蟌み局を通過するず、最初の局の出力は2番目の局の入力倀になりたす。 今では、芖芚化が少し難しくなっおいたす。 最初のレむダヌに぀いお話したずき、入力は入力画像デヌタのみでした。 しかし、2番目のレむダヌに移動したずき、その入力倀は1぀以䞊のプロパティマップでした-前のレむダヌを凊理した結果です。 入力デヌタの各セットは、元の画像で特定の基本的な特城が芋぀かった䜍眮を瀺したす。







これで、この䞊に䞀連のフィルタヌを適甚するず2番目の畳み蟌み局に画像を枡す、より高いレベルのプロパティを衚すフィルタヌが出力でアクティブになりたす。 これらのプロパティのタむプは、ハヌフリング盎線境界ずベンドの組み合わせたたは正方圢耇数の盎線゚ッゞの組み合わせです。 画像が通過する畳み蟌み局が倚くなり、ネットワヌクをさらに進むず、アクティベヌションカヌドに衚瀺される特性が耇雑になりたす。 ネットワヌクの最埌には、画像に手曞きのテキストがある堎合、ピンク色のオブゞェクトがある堎合などにアクティブになるフィルタヌがありたす。 畳み蟌みネットワヌクのフィルタヌに぀いお詳しく知りたい堎合は、Matt ZeilerずRob Fergusがこのテヌマに関する優れた研究論文を執筆しおいたす。 たた、YouTubeでは、これらのプロセスを芖芚的に衚珟したJason Josinskiのビデオがありたす。







もう䞀぀の興味深い点。 ネットワヌクの奥深くに移動するず、フィルタヌはより倧きな知芚のフィヌルドで機胜したす。぀たり、フィルタヌは元の画像のより広い領域からの情報を凊理できるこずを意味したす簡単に蚀えば、より広いピクセル空間の領域を凊理するのに適しおいたす。







完党に接続されたレむダヌ



高レベルのプロパティを発芋できるようになったので、最もクヌルなこずは、ネットワヌクの最埌に完党に接続されたレむダヌを远加するこずです。 このレむダヌは入力デヌタを取埗し、N空間ベクトルを衚瀺したす。Nは、プログラムが目的のクラスを遞択するクラスの数です。 たずえば、数倀を認識するプログラムが必芁な堎合、数倀は10であるため、Nの倀は10になりたす。このN空間ベクトルの各数倀は、特定のクラスの確率を衚したす。 たずえば、数字認識プログラムの結果のベクトルが[0 0.1 0.1 0.75 0 0 0 0 0.05]の堎合、画像が「1」である確率は10であり、画像が10である可胜性が高い「2」、75の確率は「3」、5の確率は「9」ですもちろん、結論を出す方法は他にもありたす。







完党に接続されたレむダヌが機胜する方法は、前のレむダヌの出力にアクセスし思い出すように、高レベルのプロパティマップを衚瀺する必芁がありたす、特定のクラスにより関連するプロパティを定矩するこずです。 たずえば、ある画像に犬がいるずプログラムが予枬する堎合、脚や4本の脚などの高レベルの特性を反映するプロパティマップには高い倀が必芁です。 同様に、プログラムが画像に鳥がいるこずを認識するず、翌やくちばしなどの高レベルの特性で衚されるプロパティマップで高い倀を持ちたす。 完党に接続されたレむダヌは、高レベル関数が特定のクラスに匷く関連し、特定の重みを持っおいるずいう事実を調べたす。したがっお、前のレむダヌず重みの積を蚈算するず、異なるクラスの正しい確率が埗られたす。













トレヌニングたたは「このこずを機胜させるもの」



これは、これたで特に蚀及しなかったニュヌラルネットワヌクの1぀の偎面です。 これはおそらく最も重芁な郚分です。 倚くの質問がありたす。 最初の畳み蟌み局のフィルタヌは、境界線ず曲線を探す必芁があるこずをどのように知っおいたすか 完党に接続されたレむダヌは、プロパティマップが探しおいるものをどのように知るのですか 各レむダヌのフィルタヌはどの倀を保存するかをどのように知るのですか コンピュヌタヌがフィルタヌたたは重みを調敎できる方法は、逆䌝播法ず呌ばれる孊習プロセスです。







この方法の説明に移る前に、ニュヌラルネットワヌクが機胜するために必芁なものに぀いお話したしょう。 私たちが生たれたずき、私たちの頭は空です。 猫、犬、鳥の芋分け方がわかりたせん。 SNAの堎合も同様です。ネットワヌクが構築されるたで、フィルタヌの重みたたは倀はランダムです。 フィルタは、境界線ず曲線を探す方法を知りたせん。 䞊局のフィルタヌは、足ずくちばしを探す方法を知りたせん。 私たちが幎をずるず、䞡芪ず教垫は私たちに異なる写真ず画像を芋せお、察応するラベルを割り圓おたす。 SNAを通過する孊習プロセスでも、写真を衚瀺しおラベルを付けるずいう同じ考え方が䜿甚されたす。 犬、猫、鳥の䜕千もの画像があるトレヌニング画像のセットがあるず想像しおみたしょう。 各画像には、動物の名前のラベルが付いおいたす。







誀差逆䌝播法は、盎接分垃、損倱関数、逆分垃、および重み曎新の4぀の個別のブロックに分割できたす。 盎接配信䞭に、トレヌニング画像が撮圱されたす-芚えおいるように、これは32 x 32 x 3マトリックスです-ネットワヌク党䜓に枡されたす。 最初のトレヌニングの䟋では、すべおの重みたたはフィルタヌ倀がランダムに初期化されたため、出力倀は[.1 .1 .1 .1 .1 .1 .1 .1 .1 .1 .1]などのようになりたす。特定の番号を優先しない倀。 このような重みを持぀ネットワヌクは、基本レベルのプロパティを芋぀けるこずができず、画像のクラスを合理的に決定できたせん。 これは損倱関数に぀ながりたす。 珟圚䜿甚しおいるのはトレヌニングデヌタです。 そのようなデヌタには、画像ずラベルの䞡方がありたす。 最初のトレヌニングむメヌゞが番号3であるずしたす。むメヌゞのラベルは[0 0 0 1 0 0 0 0 0 0 0]です。 損倱関数はさたざたな方法で衚珟できたすが、暙準偏差暙準誀差がよく䜿甚されたす。これは1/2珟実-予枬の2乗です。













倉数Lに察しおこの倀を䜿甚したす。ご想像のずおり、最初の2぀のトレヌニング画像の損倱は非垞に倧きくなりたす。 それでは盎感的に考えおみたしょう。 予枬ラベル畳み蟌み局の出力がトレヌニングむメヌゞのラベルず同じであるこずを確認したいこれは、ネットワヌクが正しい仮定を行ったこずを意味したす。 これを達成するには、損倱の量を最小限に抑える必芁がありたす。 これを数孊的分析から最適化問題ずしお芖芚化するこずにより、どの入力この堎合は重みがネットワヌクの損倱たたぱラヌに最も盎接寄䞎したかを芋぀ける必芁がありたす。













損倱を最小化する考えを芖芚化する1぀の方法は、ニュヌラルネットワヌクの重み明らかに2぀以䞊ですが、䟋は単玔化されおいたすが独立倉数であり、埓属倉数が損倱です。損倱を最小化するタスクは、重みを調敎するこずです芖芚的には、カップのようなオブゞェクトの最䞋点に近づく必芁がありたす。これを達成するには、重みを考慮しお損倱の導関数を芋぀ける必芁がありたす描かれたグラフの枠組み内で-各方向の角床係数を蚈算したす。







これはdL / dWの数孊的な同等物です。ここで、Wは特定のレむダヌの重量です。 次に、ネットワヌクを通じお逆䌝播を実行し、どの重みが損倱に倧きな圱響を䞎えるかを決定し、損倱を枛らすためにそれらを調敎する方法を芋぀ける必芁がありたす。 導関数を蚈算した埌、最埌のステップである重みの曎新に進みたす。 すべおのフィルタヌの重みを取埗し、それらを曎新しお、募配の方向に倉化するようにしたす。













孊習速床は、プログラマヌが遞択するパラメヌタヌです。 トレヌニング率が高いずいうこずは、重みの曎新でより倧きなステップが取られたこずを意味するため、サンプルが重みの最適なセットを取埗するのにかかる時間が短くなりたす。 しかし、孊習率が高すぎるず、最適なパフォヌマンスの達成を劚げる、非垞に倧きくお䞍十分な正確な跳躍に぀ながる可胜性がありたす。













盎接䌝播プロセス、損倱関数、逆䌝播、および重みの曎新は、通垞、単䞀サンプリング期間たたぱポック時代ず呌ばれたす。 プログラムは、各トレヌニング画像に察しお䞀定の期間、このプロセスを繰り返したす。 パラメヌタヌの曎新が最埌のトレヌニングサンプルで完了した埌、理論䞊のネットワヌクは十分にトレヌニングされ、レむダヌの重みが正しく構成されたす。







テスト䞭



最埌に、SNAが機胜するかどうかを確認するために、異なる画像ずショヌトカットのセットを取埗し、ネットワヌクを介しお画像を枡したす。 出力を珟実ず比范し、ネットワヌクが機胜するかどうかを確認したす。







䌁業がSNAを䜿甚する方法



デヌタ、デヌタ、デヌタ。 この6文字の魔法を倧量に持っおいる䌁業は、他の競合他瀟よりも論理的に有利です。 ネットワヌクに入力できるトレヌニングデヌタが倚いほど、トレヌニングの反埩回数が倚くなり、重みの曎新が倚くなりたす。たた、本番環境を離れる前に、より良いトレヌニングネットワヌクを取埗できたす。 FacebookおよびInstagramは、珟圚所有しおいる10億人のナヌザヌのすべおの写真、Pinterest-500億ピンからの情報、Google-怜玢デヌタ、およびAmazon-毎日賌入される数癟䞇の補品に関するデヌタを䜿甚できたす。 そしお今、あなたは圌らが圌ら自身の目的のために䜿甚する魔法を知っおいたす。







発蚀



この投皿はSNAを理解するための良い出発点になるはずですが、これは完党なレビュヌではありたせん。 この蚘事で説明しなかった点には、非線圢局ずプヌリング局のほか、フィルタヌサむズ、ステップ、むンデントなどのネットワヌクハむパヌパラメヌタヌが含たれたす。 ネットワヌクアヌキテクチャ、バッチ正芏化、フェヌゞンググラデヌション、ドロップアりト、初期化方法、非凞最適化、シフト、損倱関数オプション、デヌタ拡匵、正則化方法、機械機胜、逆䌝播修正およびその他倚くの無理な今のずころ;-)トピック







 ナタリアベヌスによる翻蚳








All Articles