ディープラーニングに取り組む過程で、著者が最も興味を持ったのは、オブジェクトを分類するためのいくつかのモデルでした。 *** の研究結果によると、このタイプのモデルはすでにリアルタイム ビデオで複数のオブジェクトを検出できることがわかりました。これは、コンピューター ビジョンの分野における最新の技術革新のおかげです。 周知のとおり、畳み込みニューラル ネットワーク (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 ディープラーニング プロジェクト、あなたはどれを選びますか?
過去2年間で、「スマートホーム」はほぼすべての家電メーカーが必ず話題にし、自社製品になくてはならない...
噂は本当で、Microsoft は大規模な言語モデルのトレーニングに使用できるカスタム AI チップ...
[[350388]]人工知能のトレンドの 1 つは、「クラウド」から「エッジ」へと急速に移行している...
テレンス・タオはGPT-4をどれくらい愛しているのでしょうか?今回、論文を書いたり研究をするときだけ...
杭州アジア競技大会初の金メダルが誕生した。女子軽量級ダブルスカルボート決勝では、中国の鄒佳琦選手と邱...
Google はどのようにしてわずか数秒で Web ページ全体をさまざまな言語に翻訳するのか、ある...
エッジAIについて学ぶエッジ AI とは、集中型のクラウド サーバーに依存するのではなく、センサー、...
生体認証とは、ある人物の特定の生物学的特徴に基づいてその人物を識別する技術の使用を指します。テクノロ...
ちょうど今、コロンビア大学のシステム生物学助教授であるモハメッド・アルクライシ氏が、AlphaFol...
ABI Research は、2026 年までに、何らかの形で人工知能 (AI) を活用した拡張現実...
編集者注: 人工知能技術によって引き起こされる失業危機は、業界ではよく話題になります。人々がもっと議...
最近、2018 ABC SUMMIT Baidu Cloud Intelligence Summit...
AIはここまでの発展を経て意識を獲得したのでしょうか?数日前、チューリング賞受賞者のベンジオ氏が参加...
昨日、GPT-4 がなぜ「知能を低下させた」のかを体系的に研究した論文が、AI 界で幅広い議論を巻き...