畳み込みニューラルネットワークが分かりませんか?怖がらないでください、このかわいい写真を​​見ればわかりますよ!

畳み込みニューラルネットワークが分かりませんか?怖がらないでください、このかわいい写真を​​見ればわかりますよ!

この記事では、畳み込みニューラル ネットワーク (CNN) の基本原理を、関連する数学理論を省き、最も簡潔かつわかりやすい方法で説明します。

同時に、CNN ネットワークをゼロから構築するなどの問題に興味がある場合は、「Artificial Intelligence for Humans Volume 3: Deep Learning and Neural Networks」の第 10 章を読むことを著者は推奨しています。

さあ、CNNの旅を始めましょう——

ネットワーク構造

CNN モデルは通常、フィードフォワード ニューラル ネットワーク モデルに基づいて構築されるため、その構造を理解しておく必要があります。違いは、「非表示レイヤー」が次のレイヤーに置き換えられることです。

  • 畳み込み層
  • プーリングレイヤー

完全接続層(密層)

構造は次の図のようになります。

畳み込み

この段階では、入力画像はグリッドによってスキャンされ、ネットワークへの入力として渡されます。次に、ネットワークは入力画像に畳み込み層を適用し、3 つの画像を含む 3D キューブ構造に分割します。これら 3 つの画像フレームは、それぞれ元の画像の赤、緑、青の情報を表します。

次に、PhotoShop のフィルターを使用して特定の特徴を強調するのと同様に、画像に畳み込みフィルター (ニューロンとも呼ばれます) を適用します。たとえば、漫画「Doc And Mharti」では、Roberts クロス エッジ強調フィルターを使用した効果が次の図に示されています。

オリジナル画像

治療後

100 種類以上のフィルターを備えたニューラル ネットワークが複雑な特徴を選別する能力がいかに強力であるかは想像に難くなく、それが現実世界の物事を識別するのに大いに役立つでしょう。ニューラル ネットワークが画像に畳み込みフィルターを適用すると、特徴/活性化マップを取得できます。

特徴マップは、指定された領域内の特定のニューロンによってアクティブ化されます。たとえば、下の左側の画像にエッジ検出フィルターを追加すると、そのアクティブ化マップが右側の画像に表示されます。

これらの点は 0 の行を表します (これらの領域がエッジである可能性が高いことを示します)。 2 次元配列では、値「30」は、画像領域にエッジが存在する可能性が高いことを示します。

レイヤーをアクティブ化

活性化マップができたら、その中の活性化関数を使用できます。研究者の最初の関数である ReLU 活性化関数 (正規化線形ユニット) を例として使用してみましょう。しかし、シグモイド関数や双曲正接関数を使用すると最良のトレーニング結果が得られると信じている研究者もいますが、私はそうは思いません。

アクティベーション レイヤーを使用すると、システムに非線形性が導入され、入力と出力の一般性が向上します。 ReLU(x) 関数は、単純に max(0,x) またはアクティベーション マップ内の負の重みを返します。

プーリング層

次のベストプラクティスは通常、特徴マップにディーププーリング(またはその他のタイプのプーリング)を適用することです。プーリング層を適用する原理は、小さなグリッドで画像をスキャンし、各グリッド セルを、指定されたグリッド内の最適な値を含む単一のセルに置き換えることです。

これを実行する重要な理由の 1 つは、特定の特徴が入力の特定の領域にあることがわかれば、その特徴の正確な位置を無視してデータを一般化し、過剰適合を減らすことができることです。たとえば、トレーニングの精度が 99% に達したとしても、これまでに見たことのない新しいデータでテストすると、その精度は 50% にしかなりません。

出力層

***プーリング層の後は、完全に接続されたネットワークに渡される情報の一部である、残りのアクティベーション マップについて説明します。完全接続層が含まれており、前の層の各ニューロンの出力を完全接続層のニューロンに単純にマッピングし、出力にソフトマックス関数を適用します。これは、前述の ReLU 関数に似た活性化関数です。

画像を分類するためにニューラル ネットワークを使用するため、ここではソフトマックス関数を使用します。ソフトマックス出力は、合計が 1 になる確率のリストを返します。各確率は、特定の画像が特定の出力クラスに属する確率を表します。しかし、後で画像の予測や復元のタスクになると、線形活性化関数の方がうまく機能します。

これまでは、畳み込み層とプーリング層が 1 つずつという単純なケースのみを検討してきたことに注意してください。最高の精度を達成したい場合は、通常、複数の層を積み重ねる必要があります。各完全な反復の後、ネットワークを通じて計算された損失に基づいて重みが更新されます。

<<:  Ant Financialが機械学習ツールSQLFlowをオープンソース化、機械学習はSQLよりも簡単

>>:  AIがバリアフリー時代へ:手話認識・翻訳の応用が意味するものとは?

ブログ    
ブログ    
ブログ    

推薦する

AIが材料科学に革命を起こす! Google DeepMindの新しい研究がNatureに掲載され、一度に220万の新素材を予測した。

たった 1 つの AI を使って、人類が生み出すのに 800 年近くかかった知識を獲得しました。これ...

次世代人工知能の開発方向(第2部)

[[349523]]人工知能は半世紀以上前から存在していますが、人工知能の分野は過去 10 年間で...

マイクロソフト、Nvidia が 5300 億の NLP モデル「Megatron-Turing」をリリース、価格は A100 で 4480 台

[[428336]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

...

「顔認識」は「性格認識」を生み出しました。テクノロジーが善のために使われるようになるまでにはどれくらい時間がかかるのでしょうか?

最近、顔認識の新技術に関する記事が科学誌「サイエンティフィック・リポーツ」に掲載された。ロシアの研究...

マスク氏は有言実行だ!テスラブランドの人工呼吸器が「納品」、モデル3の部品で製造

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

MDFR: 顔画像復元と顔回転の結合モデルに基づく顔認識法

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

知っておくべき 10 個の機械学習 API

[[257117]] [51CTO.com クイック翻訳] 今日では、携帯電話の写真ストリーム認識...

AI の応用分野トップ 10 を調べて、自分の専攻分野が含まれているかどうか確認してください。

人工知能や脳の研究を考えるとき、人々はターミネーターマシンが世界を破壊するイメージを思い浮かべます。...

Java データ構造とアルゴリズム分析 (VIII) - スプレー ツリー

ストレッチツリーの紹介スプレー ツリーは特殊な二分探索ツリーです。特別なのは、バイナリ検索ツリーであ...

...

...

Pytorch の核心であるオプティマイザを突破! !

こんにちは、Xiaozhuangです!今日は Pytorch のオプティマイザーについてお話します。...