CNNが画像の特徴を自動的に抽出できる理由

CNNが画像の特徴を自動的に抽出できる理由

1. はじめに

従来の機械学習のシナリオのほとんどでは、まず特徴エンジニアリングなどの方法を通じて特徴表現を取得し、次にトレーニング用の機械学習アルゴリズムを選択します。トレーニングプロセス中、物事を表す特徴は固定されます。

その後、ディープラーニングが登場しました。ディープラーニングが外部に推奨する非常に重要な点は、ディープラーニングは特徴を自動的に抽出できるということです。 DNNからディープラーニングを理解し始めると、「ディープラーニングは特徴を自動で抽出できる」ということに戸惑うでしょう。しかし、CNNからディープラーニングを理解し始めると、「ディープラーニングは特徴を自動で抽出できる」ということが自然に理解できるようになります。

2. 特徴抽出

CNN ネットワークには主に 2 つの演算子があり、1 つは畳み込み層、もう 1 つはプーリング層です。ほとんどの人にとって、プーリング層を理解するのは難しくありません。プーリング層は、スライディング ウィンドウをスライドさせ、スライディング ウィンドウ内の値を合計または平均化するだけです。ほとんどの人は、次の図を見て畳み込み層を理解します。畳み込み層はスライディング ウィンドウをスライドさせ、スライディング ウィンドウ内で畳み込み演算を実行します。

CNN の畳み込み層とプーリング層がどのように動作するかを理解しても、CNN がどのように動作するかについての洞察が自動的に得られるわけではありません。まだ疑問が残ります。なぜ CNN の畳み込み層はこのようになっているのでしょうか? Lecun は CNN の畳み込み層を設計する際に何を考慮したのでしょうか?

この問題を理解するために、まず「画像の特徴を抽出するための最もシンプルなアイデアは何でしょうか?」という質問について考えてみましょう。問題を単純化するために、白黒画像内の文字が A か X かを分類します。

2 つの間の明確な違いは、A の上部のパターンです。

画像内で A の上部のパターンを抽出できる場合、画像内の文字は A です。抽出できない場合、画像内の文字は X です。画像に A のトップ パターンが含まれているかどうかを抽出するために、画像内で A のトップ パターンをスライドさせ、セグメント化されたローカル画像と A のトップ パターンの内積を計算します。下の図は、画像Aの部分1と2から切り出された局所画像とAの上部パターンの内積を示しています。

図によれば、A の画像のパート 1 は文字 A の上部であり、内積は 4 です。パート 2 は A の上部ではないため、内積は 1 のみです。図AのスライドAをトップモードにすると、結果は

次に最高値を取得し、最終結果は 4 になります。つまり、トップパターンを含む画像の「傾向」または「可能性」は 4 であると言えます。特徴を抽出しました。

X 画像に対して同じ操作を実行すると、結果は 3 になります。この結果は、X の交差から得られます。

ここで、画像内のスライドする A の上部のパターンは、実際には CNN の畳み込み層が行うことであり、A の上部のパターンは畳み込みカーネルであることがわかります。同時に、内積結果の最大値を取ることは、最大プーリング層の操作です。つまり、CNN は畳み込み層とプーリング層を使用して、最も単純な画像特徴抽出方法を実装します。もちろん、現実世界の CNN ははるかに複雑です。1) 現実世界の画像と畳み込みカーネルには複数のレイヤーがあります。これは理解しやすいです。画像が多層化されている場合、ローカルパターンも多層化される必要があり、畳み込みカーネルも当然多層化されます。 2) 現実世界の CNN は畳み込み層とプーリング層で構成されているのではなく、畳み込み層が複数層あります。これは理解しやすいですね。このとき、ローカルパターンは複数の連続した畳み込みカーネルによって表現されます。

3. 自動学習

上記の説明から、CNN モデルが畳み込み層とプーリング層を使用して画像の特徴を抽出する方法がわかりました。重要なのは、畳み込みカーネルが画像内のローカル パターンを表すことです。もう一度、上の例を見てみましょう。A のトップモードの畳み込みカーネルがわかっており、それを選択します。

しかし、現実世界ではそうすることはできません。大規模な画像ライブラリの場合、どのローカルパターンが効果的かはわかりません。たとえローカルパターンを選択した場合でも、それはあまりにも特殊であり、反一般化可能性を失ってしまいます。では、この問題にどう対処すればいいのでしょうか。つまり、畳み込みカーネルの値をどのように決定すればよいのでしょうか。

ここでは、有名な勾配逆伝播アルゴリズムについて説明しなければなりません。最初に、畳み込みカーネルのパラメータをランダムに初期化し、次に勾配逆伝播アルゴリズムに基づく最適化アルゴリズムを通じて畳み込みカーネルの値を適応的に調整し、モデル予測値と真の値の間の誤差を最小限に抑えます。このようにして得られた畳み込みカーネルのパラメータは直感的ではないかもしれませんが、特徴を効果的に抽出し、モデル予測値と真の値の間の誤差を最小限に抑えることができます。問題を単純化するために、単層画像を例として使用します。たとえ単層画像に簡略化したとしても、畳み込み層とプーリング層の勾配を計算するのは依然として困難です。さらに視覚化するために、畳み込み層を、勾配の計算が容易な複数の単純な線形演算子に分解し、プーリング層を、勾配の計算が容易な複数の単純な演算に分解します。

畳み込み層とプーリング層を分解すると、勾配を計算するための次の一連の式を簡単に得ることができます。

プーリング層自体にはパラメータがなく、勾配を返すだけで済みます。ここで、*** プーリング層に注意する必要があります。*** 操作はウィンドウ内の *** 値を選択します。これは連続関数ではないため、導関数 (勾配) は存在しません。仮定

つまり、行列xのi行j列目の値が***の場合、

もう一つの問題は、畳み込み層の勾配をどのように見つけるかということです。畳み込みを表すためにconv(xx,ww)conv(xx,ww)を使用し、conv(xx,ww)i,jconv(xx,ww)i,jは畳み込み結果のi行j列目を表し、xconv−i,jxconv−i,jは畳み込み結果のi行j列目を生成するために使用されるローカルイメージを表します(つまり、xconv−i,j⋅ww=conv(xx,ww)i,jxconv−i,j⋅ww=conv(xx,ww)i,j)。畳み込みカーネルパラメータの勾配は、次の式を使用して計算できます。

では、勾配をどのように戻すのでしょうか。下の図に示すように、まず画像サイズの行列を表す δ(i,j)δ(i,j) を定義し、i 行目と j 列目の畳み込み結果の画像領域を畳み込みカーネルパラメータで埋め、その他の領域は 0 にします。

この時点で、返される勾配の式が得られます。

4. まとめ

畳み込みカーネルを使用して画像のローカルパターンを特徴付けることにより、CNN は画像の特徴を抽出できます。勾配逆伝播アルゴリズムを使用することで、CNN は各畳み込みカーネルのパラメータを決定し、画像の特徴を自動的に抽出できます。このように考えると、「ディープラーニングは特徴を自動で抽出できる」ということが自然に理解できるはずです。

CNNなどのディープラーニングモデルが特徴を自動的に抽出することがなぜそれほど重要なのでしょうか?まずはペドロ・ドミンゴス[1]の「機械学習の本質とは何か?」という講演から始めましょう。ペドロ・ドミンゴス[1]は次のように主張している。

表現とは、関連する特徴をどのように表現するかを指し、特徴エンジニアリング、特徴演算子、特徴の組み合わせなどの問題が含まれます。目標とは、モデルに学習させたい内容を指し、問題のモデリングと目的関数が含まれます。最適化とは、勾配降下法、確率的勾配降下法、進化的コンピューティングなどの最適化アルゴリズムを使用してモデルを計算する方法です。従来の機械学習のシナリオのほとんどでは、表現とターゲットは分離されています。最適化アルゴリズムを使用して目標を達成するプロセスでは、物事を表現する特徴は固定されており、目標と最適化のフィードバックに応じて適応的に調整されることはありません。

ニューラル ネットワーク、またはディープ ニューラル ネットワークは、表現とターゲットを組み合わせて「共同学習」を行います。ディープラーニング モデルのトレーニング プロセス中に、機能関連のパラメーター (CNN 畳み込みカーネルのパラメーターなど) は、目的と最適化されたフィードバック (勾配) に応じて適応的に調整できます。特徴は適応的に調整することができ、ディープラーニングは深く階層化された特徴表現システムを確立することができます。

参考文献

[1] ドミンゴス、ペドロ。「機械学習について知っておくべきいくつかの有用な事柄」Communications of the ACM 55.10(2012):78-87。

【編集者のおすすめ】

  1. Keras または TensorFlow?プログラマーはディープラーニングフレームワークをどのように選択すべきでしょうか?
  2. AIの原動力となるディープラーニング
  3. フロントエンドエンジニアは、これらの18のトリッ​​クをマスターすることで、ブラウザでディープラーニングを習得できます
  4. 人工知能がボトルネックに到達しました!学者らが「共同で」ディープラーニングに反対し、AIの今後の発展方向を指摘
  5. 不正行為防止スパムテキスト認識のためのZhihuのディープラーニング実践の詳細な説明
[編集者:パン・グイユ TEL: (010) 68476606]

<<:  シェア | Meituanのディープラーニングシステムのエンジニアリング実践

>>:  クック:人工知能が本当に知的であるためには、人間の価値観を尊重しなければならない

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

...

AIと胚の融合?システム生物学者のパトリック・ミュラーは双子ネットワークを使ってゼブラフィッシュの胚を研究している

動物の発育過程において、胚は時間の経過とともに複雑な形態変化を遂げます。研究者は、発育の時間と速度を...

...

AIカーゴのロープロファイルバージョン?ネットユーザーがCNN1台を使って「ニード・フォー・スピード9」でレース

最近、Redditユーザーが、2005年にリリースされたクラシックゲーム「ニード・フォー・スピード9...

...

人工知能がビデオ業界に力を与え、新しいエンターテインメント時代の変化が訪れる

[[264843]]人工知能の基本的な技術アプリケーションとして、コンピューター ビジョンは、その幅...

...

2021年、人工知能は知的ではない

ガートナー曲線について聞いたことがあるかもしれません。新しい技術が初めて導入されたとき、誰も興味を示...

ビッグデータと人工知能が戦略的な新興分野となる

最近、教育部は「教育部の高等大学教育の建設を加速し、人材育成能力を全面的に向上させることに関する意見...

独占 | R で Keras と TensorFlow を使用してディープラーニング モデルを構築する方法を教えます

[[197801]]導入: R と Python のどちらを選択するかは、常に熱く議論されているトピ...

15人の専門家が予測:AIは2024年にサイバーセキュリティのルールを変える

AI技術の飛躍的な発展に伴い、攻撃者はAIの武器化を加速させ、ソーシャルエンジニアリング技術と組み合...

中国のAIチップ「覚醒」の5年

10 種類以上のチップが発売され、多くの合併や買収が行われています。これは、過去 500 日間の中国...

...