ついに誰かが畳み込みニューラルネットワーク(CNN)を明確にした。

ついに誰かが畳み込みニューラルネットワーク(CNN)を明確にした。

[[406748]]

従来のニューラル ネットワーク レイヤーは完全に接続されています。サンプリング データ レイヤーの数が多く、入力が高次元データである場合、パラメーターの数は天文学的な数になる可能性があります。

たとえば、1000×1000 ピクセルのグレー画像をトレーニングする場合、入力ノードの数は 1000×1000 です。隠し層ノードが 100 の場合、入力層から隠し層への重みマトリックスは 1000000×100 になります。隠れ層を追加してバックプロパゲーションを実行すると、結果は想像できます。それだけでなく、完全接続方式では過剰適合が発生しやすくなります。

したがって、画像、ビデオ、音声、自然言語などのデータ情報をより効率的に処理するには、別の方法を見つける必要があります。長年にわたるたゆまぬ努力の結果、人々はついにいくつかの効果的な方法とツールを発見しました。その中でも畳み込みニューラルネットワークが代表的なものです。

01 畳み込みネットワークの一般的なアーキテクチャ

畳み込みニューラル ネットワーク (CNN) は、1986 年に BP アルゴリズムで初めて提案されたフィードフォワード ニューラル ネットワークです。 1989 年に LeCun はこれを多層ニューラル ネットワークに適用しましたが、ニューラル ネットワークのプロトタイプが基本的に形成されたのは、1998 年に LeCun が LeNet-5 モデルを提案したときでした。

次の 10 年間、畳み込みニューラル ネットワークの研究は、2 つの理由から低迷しました。1 つ目は、研究者が多層ニューラル ネットワークの BP トレーニングに必要な計算量が非常に大きく、当時のハードウェアの計算能力ではまったく達成不可能であることを認識したことです。2 つ目は、SVM などの浅い機械学習アルゴリズムも登場し始めたことです。

2006年、ヒントンは「ニューラルネットワークによるデータの次元削減」と題する論文を科学誌に発表し、衝撃的なデビューを果たしました。CNNは再び目覚め、大きな進歩を遂げました。 2012年、CNNがImageNetコンペティションで優勝しました。

2014 年に、Google は 20 層の VGG モデルを開発しました。同年、DeepFace モデルと DeepID モデルが登場し、LFW データベースでの顔認識と顔認証の精度が 99.75% まで直接向上し、人間の平均を超えました。

畳み込みニューラル ネットワークは、1 つ以上の畳み込み層と最上部の完全接続層 (従来のニューラル ネットワークに対応)、および関連する重みとプーリング層で構成されます。他のディープラーニングアーキテクチャと比較して、畳み込みニューラルネットワークは画像認識と音声認識においてより優れた結果をもたらすことができます。このモデルは、バックプロパゲーション アルゴリズムを使用してトレーニングすることもできます。

他のディープなフィードフォワード ニューラル ネットワークと比較して、畳み込みニューラル ネットワークは、より少ないパラメータでより高いパフォーマンスを実現できます。図 3-1 は単純な畳み込みニューラル ネットワーク アーキテクチャです。

▲図3-1 畳み込みニューラルネットワークの模式図

図 3-1 に示すように、アーキテクチャには、畳み込み層、プーリング層、完全接続層、出力層などの畳み込みニューラル ネットワークの一般的な層が含まれます。また、正規化層、高度な層などの他の層が含まれる場合もあります。次に、各層の構造と原理について詳しく説明します。

図 3-1 は、畳み込み層、プーリング層、および完全結合層で構成される比較的単純な畳み込みニューラル ネットワークを使用して手書き入力データを分類するアーキテクチャの概略図です。次に、この畳み込みニューラル ネットワークをコードで定義し、各部分の定義と実装の原則を紹介します。

02 チャンネルの魅力を高める

チャネルを追加するということは、実際には畳み込みカーネルを追加することを意味し、これが畳み込みプロセス全体の中核となります。比較的単純な畳み込みカーネルまたはフィルターには、垂直エッジ フィルター (Vertical Filter)、水平エッジ フィルター (Horizo​​ntal Filter)、ソーベル フィルター (Sobel Filter) などがあります。

これらのフィルターは、画像の垂直エッジ、水平エッジを検出したり、画像の中央領域の重みを強調したりすることができます。以下では、いくつかの図を使用して、これらのフィルターの特定の機能を簡単に説明します。

1. 垂直エッジ検出

垂直エッジ フィルタは 3×3 行列です (フィルタは一般に奇数次行列であることに注意してください)。その特徴は、1 列目と 3 列目に値があり、2 列目が 0 であることです。図 3-2 に示すように、元のデータの垂直エッジを検出するために使用できます。

▲図3-2 垂直エッジのフィルタ検出

2. 水平エッジ検出

水平エッジ フィルタも 3×3 行列です。その特徴は、1 行目と 3 行目に値があり、2 行目が 0 であることです。図 3-3 に示すように、元のデータの水平エッジを検出するために使用できます。

▲図3-3 水平エッジのフィルタ検出

上記の 2 つのフィルタが画像の水平エッジ検出と垂直エッジ検出に与える影響を図 3-4 に示します。

▲図3-4 画像の水平エッジ検出と垂直エッジ検出におけるフィルタの効果

上記で紹介した 2 つのフィルターは比較的単純です。ディープラーニングでは、垂直エッジ、水平エッジなどの検出に加えて、フィルターは他のエッジ特徴も検出する必要があります。

では、フィルターはどのように決定するのでしょうか?フィルターは、標準的なニューラル ネットワークの重み行列 W に似ています。W は、勾配降下アルゴリズムを繰り返し実行して取得する必要があります。したがって、ディープラーニングでは、フィルターもモデルのトレーニングを通じて取得する必要があります。畳み込みニューラル ネットワークはこれらのフィルターの値を計算し、画像のすべてのエッジ特徴の検出を実現します。

03 ネットワークを深める動機

ネットワークを深くすることによる利点としては、パラメータの数を減らし、受容野(ニューロンに変更が適用される局所的な空間領域)を拡大できることなどが挙げられます。

受容野とは、畳み込みニューラル ネットワークの各層によって出力される特徴マップ上のピクセルが入力画像にマッピングされる領域のサイズを指します。簡単に言えば、受容野とは、図 3-5 に示すように、特徴マップ上の各点に対応する入力マップ上の領域です。

▲図3-5 ネットワーク層を追加して受容野を拡大する図

図3-5からわかるように、畳み込み層が複数あると、特徴によって表現される情報量が増加し、1つのs3がx1、x2、x3、x4、x5の情報を表すようになります。

さらに、レイヤーを積み重ねることで、ネットワークの表現力がさらに向上します。これは、活性化関数に基づく「非線形」な表現力をネットワークに付加するものであり、非線形関数の重ね合わせにより、より複雑な内容を表現できるようになります。

異なるレイヤーで抽出された画像の特徴は異なります。図 3-6 に示すように、レイヤーの数が増えるほど、表現される特徴は複雑になります。

▲図3-6 層によって特徴が異なる

図 3-6 からわかるように、前のレイヤーによって抽出された特徴は、いくつかの色とエッジの特徴など、比較的単純です。さらに進むと、抽出される特徴はより複雑になり、複雑な幾何学的形状になります。これは、多層畳み込みを通じてレイヤーごとの特徴抽出と画像の抽象化を完了するという、畳み込みニューラル ネットワークの当初の設計意図と一致しています。

図 3-7 に示すように、ELMo 事前トレーニング済みモデルでも同様の状況が存在します。レイヤーの数が増えるにつれて、表現するコンテンツはより複雑で抽象的になります。

▲図3-7 ELMoモデル

04 残留接続

ネットワーク層の数が増えると、微分の連鎖律に従って、勾配消失や爆発などの問題が発生する可能性が高くなります。たとえば、各ネットワーク層の活性化関数の導関数が比較的小さい場合、複数回の乗算の後に勾配がどんどん小さくなる可能性があります。これは、勾配消散と呼ばれることがよくあります。深いネットワークの場合、勾配は浅い層に到達するとほとんどなくなります。

このような問題を解決する場合、適切な活性化関数を使用することに加えて、残差接続を使用するというもう 1 つの重要な手法があります。図3-8は残留接続の簡単な概略図です。

▲図3-8 残留接続の模式図

図 3-8 に示すように、図中の各導関数に恒等項 1 が追加され、dh/dx = d(f + x)/dx = 1 + df/dx となります。このとき、元の導関数 df/dx が非常に小さい場合でも、誤差を効果的に逆伝播することができ、これも残差接続の核心的な考え方です。

著者について: Wu Maogui は、ビッグデータと人工知能技術の上級専門家であり、BI、データマイニングと分析、データウェアハウス、機械学習などの分野で 20 年以上働いています。彼は、Spark、TensorFlow、PyTorch、Keras などに基づく機械学習とディープラーニングの分野で幅広いエンジニアリングの実績があり、埋め込みに関する詳細な研究を行っています。

シニア データ サイエンティストの Wang Hongxing 氏は、Bosch (China) Investment Co., Ltd. Suzhou Branch に勤務し、BOSCH データ レイク、データ分析、人工知能関連の製品とサービスの設計と開発を担当しています。彼はビッグデータ、機械学習、人工知能の分野で豊富な実務経験を持っています。

この記事は「Embedding in Simple Terms: Principle Analysis and Application Practice」から抜粋したもので、出版社の許可を得ています。

<<:  シングルチップマイクロコンピュータ用のいくつかのC言語アルゴリズム

>>:  Facebook、MITなどが研究論文を発表:ディープラーニングの実際の仕組みを説明する理論

ブログ    
ブログ    
ブログ    

推薦する

AIの偏見を公平に防ぐ方法

人工知能 (AI) には、ビジネス運営に革命を起こす大きな可能性があります。実際、ある調査によると、...

天一雲が大規模言語モデル微調整データコンテストで優勝しました!

最近、天地FT-Data Rankerコンテストが終了し、天一クラウドインテリジェントエッジビジネス...

小売業界のトレンド: 人工知能からクーポンコードまで

[[436501]]機械学習と人工知能 (AI) の登場により、企業のビジネスのやり方は大きく変化し...

人工知能オープンプラットフォームの構築が活況を呈しており、AIの将来の発展は有望である

人工知能は、応用と開発のチャンスの時代をもたらしました。人工知能は、新たな産業変革の原動力であるだけ...

人工知能がメンタルヘルスの改善に役立つ4つの方法

[51CTO.com クイック翻訳] 私たちはメンタルヘルスの危機を経験しています。世界人口の約 1...

...

...

機械学習サーバーの利用率とスケーラビリティを最大化するにはどうすればよいでしょうか?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

JavaScript でアルゴリズムの複雑さを学ぶ

この記事では、アルゴリズムの文脈における「二次」や「n log(n)」などの用語の意味について説明し...

このAIはマスクをハゲにし、テスラの設計を手伝った

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

Metaが新しいモバイルAIジェネレーターを公開、5分でAIアプリを作成、AndroidとiOSの両方をサポート

最近、毎年恒例の PyTorch 開発者会議が開催されました。このカンファレンスでは、Meta(旧F...

人工知能を活用して室内装飾デザインを最適化する方法

インテリアデザインや装飾に AI を応用することで、エンジニアやインテリアデザイナーは、機械学習によ...

...