ディープラーニングに取り組む過程で、著者が最も興味を持ったのは、オブジェクトを分類するためのいくつかのモデルでした。 *** の研究結果によると、このタイプのモデルはすでにリアルタイム ビデオで複数のオブジェクトを検出できることがわかりました。これは、コンピューター ビジョンの分野における最新の技術革新のおかげです。 周知のとおり、畳み込みニューラル ネットワーク (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 ディープラーニング プロジェクト、あなたはどれを選びますか?
多数の法執行機関と契約している顔認識会社が、ハッキングされ顧客リスト全体が盗まれたと報告した。デイリ...
[[387788]]簡単に言えば、ロボットに「聞く」機能を持たせるには、音声信号を電気信号に変換し、...
[[189866]]私たちは皆、検証コードに精通しています。reCAPTCHA は、人間と機械を区別...
[[253534]]編集:Tailang一部のアナリストは、2030年までに人々は複雑なデジタルシス...
[[211628]] 1. ニューラルネットワークの基礎ニューラル ネットワークは、あらゆる関数に適...
OpenAIは10月27日、汎用人工知能(AGI)によって引き起こされる可能性のある壊滅的なリスクを...
今年に入ってから、人工知能分野の発展は新たな盛り上がりを見せています。消費者レベルの人工知能アプリケ...
トランスフォーマーベースのビジュアルベースモデルは、セグメンテーションや検出などのさまざまな下流タス...
最近、百度文心は3つの主要機能をリリースし、カスタマイズされたマルチラベルテキスト分類、感情傾向分析...
オンライン予約プラットフォームは人々の旅行計画の方法に革命をもたらし、モバイルアプリによりユーザーは...
MITコンピュータ科学・人工知能研究所(MIT CSAIL)は3月3日、現段階では人間はAIに仕事を...
ジェミニが世論に大騒ぎを引き起こした後、ピチャイ氏の辞任を求める声があらゆるところで聞かれた。過去 ...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
[[248704]] 11月6日午前のニュース、第20回「21世紀のコンピューティング」学術セミナー...
2016年、AlphaGoが人間のチェスプレイヤーであるイ・セドルを破り、人工知能に関する研究と考...