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のディープラーニングシステムのエンジニアリング実践

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

ブログ    

推薦する

ブロックチェーンと機械学習はどのようにして最も強力な人工知能を生み出すのでしょうか?

ブロックチェーン市場のデータに基づいて機械学習モデルをトレーニングすることで、世界で最も影響力のある...

シティグループは5年以内に1万人の雇用を人工知能で置き換える計画

[[233047]]フィナンシャル・タイムズによると、シティグループは5年以内に投資銀行部門の技術・...

微分方程式と機械学習: 類似点と相違点の例

AI分野におけるモデリング手法として、微分方程式と機械学習がありますが、それぞれの利点は何でしょうか...

...

企業は人工知能の可能性に目がくらんでいるのでしょうか?

多くの企業が AI イニシアチブの導入に意欲的に取り組んでいる一方で、AI が自社のビジネスにどのよ...

未来志向のAI自動テストツール

翻訳者 | 陳俊校正:孫淑娟近年、自動テストは大きな進化を遂げています。これは、人為的エラーの可能性...

ChatGPTという独立系ゲームがSteamから削除されました。開発者は「貯金と3年半の人生が消えてしまいました」と語っています。

3年半このゲームに一生懸命取り組んだのに、ChatGPT を使用したという理由だけで Steam ...

「無人運転」の技術的道筋

無人運転車が実際に走行するには、認識、意思決定、実行における技術的な問題を解決する必要があります。 ...

...

AI および機械学習プロジェクトはどの程度安全ですか?

人工知能と機械学習は私たちに利益をもたらしますが、そのセキュリティには注意が必要です。どれくらい安全...

自動化から拡張現実まで: 製造業を混乱させる 12 の革新的なテクノロジー トレンド

製造業は、自動車、電子機器、医療機器、機械、その他のシステムの部品を生産する上で重要な役割を果たして...

磁気リンクがAIサークルを席巻、87GBシードが直接オープンソースの8x7B MoEモデル

「ハイエンド」オープンソースでは、最も単純なリリース方法が採用されることが多いです。昨日、Mistr...

5 分で機械学習モデルのハイパーパラメータを最適化するマスターマニュアル

[[396168]]機械学習アルゴリズムには、特定のデータセットに合わせて調整できるハイパーパラメー...

百人一首の戦いはかつてないレベルに到達!

執筆者 | 王 瑞平校正 | Yun Zhao最近また「100均戦争」が始まってます…一輪の花が春を...

人工知能が大人気ですね~最近のAIの応用シナリオは何でしょうか?

人工知能は徐々に私たちの生活に入り込み、さまざまな分野に応用されてきました。AIは私たちの仕事のパー...