視覚畳み込みニューラルネットワークモデルを習得し、画像認識技術の分野を探索します。

視覚畳み込みニューラルネットワークモデルを習得し、画像認識技術の分野を探索します。

 

ディープラーニングに取り組む過程で、著者が最も興味を持ったのは、オブジェクトを分類するためのいくつかのモデルでした。 *** の研究結果によると、このタイプのモデルはすでにリアルタイム ビデオで複数のオブジェクトを検出できることがわかりました。これは、コンピューター ビジョンの分野における最新の技術革新のおかげです。

周知のとおり、畳み込みニューラル ネットワーク (CNN または ConvNet) は、ここ数年でディープラーニングの分野で多くの大きな進歩を遂げてきましたが、ほとんどの人にとって、この説明はまったく直感的ではありません。したがって、このモデルがいかに大きな進歩を遂げたかを理解するには、まず畳み込みニューラル ネットワークがどのように機能するかを理解する必要があります。

畳み込みニューラルネットワークは何ができるのでしょうか?

畳み込みニューラル ネットワークは、画像内の特徴を見つけるために使用されます。 CNN の最初の数層では、ニューラル ネットワークは単純な「線」と「角度」の認識を実行できます。さらに、ニューラル ネットワークを通じてそれを継承し、より複雑な特徴を認識することもできます。この特性により、CNN は画像内のオブジェクトの認識に非常に優れています。

畳み込みニューラルネットワーク

CNN は、畳み込み層、プーリング層、活性化関数など、さまざまな層を含むニューラル ネットワークです。

畳み込み層はどのように機能しますか?

CNN の仕組みを理解するには、畳み込みを理解する必要があります。畳み込みには、画像を調べてフィルターを適用するなどの特定の処理が含まれます。

上の図は 5x5 のマトリックスです。ここで、別の 3x3 行列を画像の上に移動し、その 3x3 行列と、覆われた画像の部分とを乗算して、単一の値を生成します。次に、3x3 マトリックスを右と下にシフトして、画像全体を「カバー」します。 *** を実行すると、上記のようなコンテンツが取得されます。

畳み込み層の目的はフィルタリングです。フィルターは、畳み込み出力の値を乗算したベクトルの重みのスタックによって表されます。これらの重みは、画像をトレーニングするにつれて変化します。つまり、画像を評価すると、画像がキャプチャしたいくつかの特徴に基づいて、画像の内容が予測されます。

プーリング層

CNN アーキテクチャでは、畳み込み層の後の層は主にプーリング層です。入力画像を重複しない長方形のセットに分割し、各サブ領域の値を出力します。

2 つの主要なプーリング レイヤーは、*** プーリングと平均プーリングです。

*** プール - サブ領域の *** 値を出力します。

平均プーリング - サブ領域の平均を出力します。

プーリング レイヤーは、深さではなく空間次元を削減するために使用されます。

空間次元を削減することの主な利点は次のとおりです。

  • 空間情報を削減することで、計算パフォーマンスを最適化できます。
  • 空間情報を減らすことで、より少ないパラメータでモデルをトレーニングできるようになり、過剰適合の可能性が減ります。
  • 固定値を取得します。

活性化関数

活性化関数は他のニューラル ネットワークとまったく同じように機能し、その主な目的は値を特定の範囲に圧縮することです。よく使用される活性化関数は次のとおりです。

最も一般的に使用される活性化関数は、ReLu 活性化関数です。入力 'x' を受け取り、 'x' が正であるかどうかを判定し、正でない場合は 0 を返します。 ReLu 関数を使用する理由は、実行コストが安いためです。

上記の画像は畳み込み層の一般的な表現です。プーリング層を通じて畳み込みと ReLu 関数を実行しました。レイヤーは互いに積み重ねられています。

ディープ ニューラル ネットワーク (DNN) の定義とトレーニングはこれまでになく簡単になりましたが、ほとんどの人は依然として誤解しています。

この目的のために、視覚化を使用して CNN モデル内のさまざまなレイヤーを理解します。

Kerasを使用した可視化

この部分では、Keras を使用して視覚化を実装してみます。 Keras を使用して入力を視覚化し、VGG16 アーキテクチャのさまざまなレイヤーのフィルターのアクティブ化を最大化し、ImageNet でトレーニングします。

まず、Keras で VGG16 モデルを定義することから始めましょう。

最後の畳み込み層のみに入ることに注意してください。その理由は、完全に接続されたレイヤーを追加すると、モデルに固定の入力サイズ (224x224、元の ImageNet 形式) を使用する必要があるためです。 畳み込みモジュールを保持することにより、モデルは任意の入力サイズに適応できます。

モデルには、ImageNet で事前トレーニングされた重みのセットがロードされます。

ここで、特定のレイヤー (layer_name) 内の特定のフィルター (filter_index) のアクティブ化を促進する損失関数を定義しましょう。これは Keras バックエンド関数を通じて実行され、これによりコードを TensorFlow と Theano 上で実行できるようになります。

すべてがとてもシンプルです。ここでの唯一のコツは、入力画像のピクセル勾配を正規化して、勾配上昇が十分にスムーズになるようにすることです。

ここで、定義した Keras 関数を使用して、入力空間で勾配上昇法を実行できます。

この操作は、TensorFlow を使用する CPU では数秒かかります。

生成された入力を抽出して表示できます。

結果:

最初のレイヤーは基本的に方向と色をエンコードするだけです。これらの方向とフィルターは、ベース グリッドとスポット テクスチャに結合されます。これらのテクスチャは徐々に組み合わさって、より複雑なパターンを形成します。

各レイヤーのフィルターはベクトルの基礎と考えることができます。ベクトルは通常完全であり、入力レイヤーをコンパクトにエンコードするために使用できます。フィルターは、より広い空間範囲からの情報を統合し始めると、より複雑になります。

以下は、さまざまなレイヤーから生成された特徴マップの画像です。

レイヤー 1 は主に水平線、垂直線、斜めの線を生成します。主に画像内のエッジを検出するために使用されます。 Tier 2 ではさらに詳しい情報を提供しようとします。主にコーナーを検出します。 3 番目のレイヤーでは、目や顔などの複雑なパターンを検出できるようになります。この機能マップは、訓練された顔検出モデルから取得されたものであると考えられます。レベル 4 では、顔のより複雑な部分 (目など) にも適用できます。

5 番目のレイヤーでは、特徴マップを使用して、人物、車のタイヤ、動物の顔などの特定の顔を生成できます。この機能マップには、画像に関するほとんどの情報が含まれています。

結論は

一般的に言えば、CNN と他の画像認識モデルの間に大きな違いはありません。関連する書籍を読むことで、この点についての理解を深めることができます。

<<:  ドーパミンが来る! Google が新しい強化学習フレームワーク Dopamine を発表

>>:  8 月の Github のトップ 10 ディープラーニング プロジェクト、あなたはどれを選びますか?

ブログ    

推薦する

2024年に人工知能はどこへ向かうのでしょうか?

2023年はテクノロジー分野にとって波乱に富んだ年であり、言語学習モデルが爆発的に増加し、人工知能...

...

人工知能は、企業がエンドツーエンドのインテリジェントな自動化を実現することを促進します。

[[401604]]新型コロナウイルスによる混乱に対応するため、組織が急いでビジネスプロセスを適応...

上位 10 の古典的なソート アルゴリズムの詳細な説明: バブル ソート、選択ソート、挿入ソート

[[377307]] 1. アルゴリズムの評価基準ソートアルゴリズムを説明する前に、まずアルゴリズム...

...

L4自動運転の脆弱性: 認識アルゴリズムは人工の3D悪意のある障害物を回避できない可能性がある

最近、ある調査により、レベル4自動運転で使用されるマルチセンサーフュージョンベースの認識技術にセキュ...

...

...

埋め込みアルゴリズム空間ベクトル角度式とその応用

[[350122]]一部のデバイスは、正しく動作するために適切な方向に設置する必要があります。たとえ...

AIの「不確実な時代」にどう向き合うか

AIの拡大する影響私たちの日常生活における AI の影響はますます明らかになってきています。 AI ...

機械学習でよく使われる損失関数についてどれくらい知っていますか?

機械は損失関数を通じて学習します。これは、特定のアルゴリズムが与えられたデータをどれだけ適切にモデル...

過去10年間のデータ分析と人工知能の7つの災害のレビュー

2017年、『エコノミスト』誌は、石油ではなくデータが世界で最も価値のある資源になったと宣言し、この...

2018 年のビッグデータ、機械学習、人工知能の予測!

AI へのビッグデータ投資は減速の兆しを見せていません。今後 1 年間の予測をいくつかご紹介します...