CNNを知っておくべきだ

CNNを知っておくべきだ

CNN というと、最初は特定のテレビ局を思い浮かべる人が多かったのですが、数年後にはディープラーニングを思い浮かべる人が多くなりました。

過去 2 年間のディープラーニングの嵐の元凶は CNN であると言っても過言ではありません。2012 年以降、CNN は影を潜めていたニューラル ネットワークを再び日の目を見るようにし、人工知能の世界で支配的な地位を確立しました。

ディープラーニングは画像を理解するためだけにしか使えないと思っているなら、それは間違いです。なぜなら、その用途はテキストから画像や音声、手書きの数字認識から有名なGAN敵対的学習まで多岐にわたり、すべてディープラーニングと切り離せないものだからです。

ただし、CNN を理解するには、画像を例として使用する方が適切です。一言で言えば、CNN 画像処理の本質は情報抽出です。巨大なネットワークは、最も重要な画像の特徴を段階的に抽出することができ、これを自動特徴エンジニアリングと呼ぶこともあります。

CNN を構築するきっかけとなったのは、人間による視覚情報の認識プロセスです。 人間の脳が物体を認識する際の最初の問題は、特定の種類の物体に対応する画像が何万もあることです。たとえば、リンゴには何千もの異なる状態があります。物体のカテゴリを識別するとき、実際にはこれらの何千もの異なる画像に同じラベルを付けていることになります。


CNNは人間の脳にインスピレーションを受けている

物理学では、物事の結果が一連の変化とは関係がないという性質を不変性といいます。例えば、リンゴをどの角度で回転させても、リンゴのままです。これがリンゴの回転不変性です。ただし、数字の6は異なります。特定の角度で回転させると、9になります。回転不変性はありません。

私たち人間は通常、こうした変化に関係なく物事を認識できます。つまり、変化に関連する情報を無視するのです。画像を認識する場合、実際にアルゴリズムにはこの人間の能力が必要なので、まず実際の物体情報とはまったく関係のない何かを学習させます。

数字の認識を例に挙げてみましょう。数字が何であるかは回転角度と関係がありますが、画像内の上下左右の位置とは関係がありません。この不変性を、翻訳不変性と呼びます。

この問題を解決する最も大雑把な方法は、さまざまな位置に「1」を置くなど、多数のサンプルを作成し、機械に間違いを学習させることです。 そうすると、すべてのポジションが尽きることになりますが、この方法でオブジェクトの認識を完了した人は誰もいないと思います。

では、どうすればよいでしょうか。この問題に対する答えは、CNN の畳み込みです。畳み込み演算自体は変換不変だからです (わかりにくいかもしれませんが、以下を参照してください)。

畳み込みは、その名の通り、「卷」は掃引を意味し、「积」は乗算を意味します。 畳み込みは、基本的にカーネルと呼ばれる行列を使用して、それを画像の小さなブロックに 1 つずつ貼り付け、画像ブロックの各ピクセルに 1 回乗算して出力値を取得し、スキャンした後に新しい画像を取得します。 3*3 畳み込みを使用して 4*4 画像をロールし、その効果を確認します。


畳み込みの数学的プロセス

畳み込みカーネルは小さな検出器のようなものです。その DNA は畳み込みカーネルの数字に記録されており、それが何をするかを伝えています。畳み込みカーネルが画像をスキャンするとき、その DNA が変化しない限り、画像内の上下左右のどこにあっても結果は同じです。これが、畳み込み自体が並進不変性を持つという原理です。 この不変性により、1 を認識できる畳み込みは、画像内の任意の位置で 1 を認識でき、1 回のトレーニング コストだけで任意の画像に対して操作できます。

画像処理の分野では、畳み込みは長い間フィルターと呼ばれる別名で呼ばれてきました。画像をフィルターに入れると、画像のエッジ、シャープ化された画像、またはぼやけた画像など、新しい画像が生成されます。

Photoshop を使用したことがある方は、シャープ化、ぼかし、高コントラスト認識などのフィルターがいくつかあることにお気づきでしょう。これらはすべて同様のテクノロジーを使用しています。このテクノロジーは、マトリックスを使用して画像の各小部分を処理して、画像変換を行います。 ローパス フィルターとハイパス フィルターについて話すことがあります。ローパス フィルターは通常、ノイズを減らすために使用され、ハイパス フィルターは画像の微妙なテクスチャを取得できます。 Photoshop を使用するときは、畳み込みを操作しています。畳み込みカーネル内の数値が決定されると、その機能も決定されます。

なぜこれが機能するのでしょうか? なぜなら、画像の特徴は隣接するピクセル間に存在することが多く、カーネルは小さな領域内のピクセル間の関係を計算することで局所的な特徴を抽出するからです。これは、局所情報のセンサー、または物理学における演算子として理解できます。

たとえば、上記のエッジ抽出フィルタは、ラプラスと呼ばれる物理的な演算を実行します。ピクセルが明るい状態から暗い状態に変化したときのみ 1 を取得し、それ以外の場合は 0 を取得します。したがって、抽出される画像の特徴はエッジです。 実際、画像内の情報は多くの場合、画像の端に含まれていることがわかっています。人物のスケッチを描けば、その人物を間違いなく完全に認識できます。 情報の主要なキャリアであるエッジを見つけ、その他の冗長な情報を除外することで、最初のレイヤーよりも適切に処理された画像が得られ、画像を検索する必要性が大幅に減少します。


畳み込みのエッジ抽出プロセス

畳み込みで一般的に使用されるカーネルには 2 つの特性があります。1 つ目はカーネルがローカルである、つまり画像内のローカル領域にのみ反応する点です。2 つ目は重み共有です。 つまり、カーネルを使用して画像全体をスキャンし、そのプロセス中はカーネルの値は変更されません。これにより、上記の翻訳が変形されないことが保証されます。 たとえば、物体を認識する場合、その認識は物体の位置に依存しないのは明らかです。 位置とは独立しており、変換に対して不変です。

では、畳み込みはどのようにして数字 1 を他のさまざまな形状から認識するのに役立つのでしょうか? 数字の鋭い線は畳み込み値を高くします (警告を鳴らします)。 1 が画像のどこに現れても、ローカル スキャン + 統合重みアルゴリズムで 1 を見つけることができます。1 を認識する同じ畳み込みカーネルを使用して画像をスキャンすると、どの位置でも 1 を見つけることができます。

では、畳み込みとニューラル ネットワークの関係は何でしょうか。その答えは、畳み込みが画像をスキャンするとき、畳み込みカーネルを画像ブロックに掛け合わせる各プロセスは、シナプスを使用して画像の小さな部分を検出し、何が見え、何が見えないかを判断する独立したニューロンと見なすことができるということです。畳み込みプロセス全体はニューラル ネットワークの層に対応しているのではないですか? なるほど、畳み込みプロセス全体はニューラル ネットワークの層に相当します。


ニューロンは小さな検出器のようなもの

畳み込みは、画像内の任意の位置で同じ種類の情報を抽出できるツールであると述べました。抽出に加えて、重要な情報を取り出し、重要でない情報を破棄する必要があることも説明しました。この操作はプーリングと呼ばれます。

ただし、元の画像が 28*28 の場合、カーネルから出力される画像も 28*28 のままであることに注意してください。実際、ほとんどの場合、画像のローカル機能の変更はピクセル レベルでは発生しません。局所的特徴の不変性を仮定とみなし、この仮定を数式として畳み込み層に追加することで、冗長な情報をフィルター処理することができます。これがプーリングの目的です。つまり、周囲の自分に似ているピクセルを捨てるのです。


マックスプーリングの数学的プロセス

プーリングの本質は、統計的効率を向上させるためのダウンサンプリングです。より正式に言えば、ローカル フィーチャの不変性を利用して次元を削減することです。プーリング手法は多数ありますが、最も一般的な手法は最大プーリングと呼ばれ、複数の隣接するピクセルの中から最も高い値を持つピクセルを代表として見つけ、その他を破棄します。

このように、畳み込みからプーリングまでの処理を経て、1 を識別するタスクでは、各小領域にエッジがあるかどうかを検証し、1 が存在する可能性のある領域を見つけることができます。 プーリングの終了時点では、元の画像の各領域に 1 が含まれているかどうかを示す、特徴マップとも呼ばれる低次元画像が得られます。

さて、たくさんの写真から 1 を識別できましたが、2 はどうやって取得するのでしょうか。2 を Z 字型に書きましょう。これがどのようにできるのか、わかりますか。垂直線だけでなく、水平線も認識する必要があります。畳み込み層は 1 つの特徴のみを処理することに注意してください。垂直線と水平線の両方を見つけたい場合は、2 つの異なる畳み込み層が必要で、それらを並列に接続します。

[[214498]]
手書き数字認識

では、どうしますか? 水平線は 1 つの機能マップに対応し、垂直線は別の機能マップに対応します。 2 つを識別したい場合は、2 つの機能マップを比較して、両方の機能マップに同時にアラームがある位置 (水平線と垂直線の両方) があるかどうかを確認するだけです。

この比較プロセスを処理するために、畳み込みを使用することもできます (その理由は依然として変換不変性です)。

このとき、新しい畳み込み層は、前の 2 つの畳み込みの結果を結合し、特徴の特徴、つまり水平線と垂直線の交差の特徴を形成します。

ここで私たちの理論をより高いレベルに引き上げることができます。 奥行きとは何を意味するのでしょうか。考えてみましょう。画像を正しく識別するには、変化だけを見たり、角だけを見たりするだけではだめです。誰が誰であるかを知るには、画像全体を理解する必要があります。 言い換えれば、私たちは局所的な連想から全体的な連想へと進化する必要があります。実像は全体的な連想を持たなければなりません。たとえば、私の顔は、眼鏡、鼻、耳が一緒に観察されたときにのみ、私の顔と呼べます。一部だけが観察されたら、それは何の意味もありません。グローバルな特徴を抽出するにはどうすればよいでしょうか?

あるレベルから別のレベルへの進行には、通常、前のレベルの水平および垂直統合 (レイヤー間またはレイヤー内の組み合わせ、またはその両方) が含まれます。私たちの特徴の組み合わせは、プーリングによって次元が削減されたレイヤーに基づいています。したがって、実際には、各ニューロン決定の情報は、前のレベルの情報よりも多くなります。私たちは、ニューロン決定によってカバーされるピクセルの数を表すために、受容野という学術用語を使用します。前のレベルはより多くの入力ニューロンを認識するため、受容野はより多くのニューロンを認識します。 ニューロンが最上位層に近いほど、グローバルな関連付けに近くなります。


深くなるほど受容野が大きくなり、表現がより抽象的になります。

これは物理学の基本的な方法であるスケール変換(後述)に似ており、グローバル情報を抽出するための非常に中核的な方法でもあります。私はこれをステップバイステップ方式と呼んでいます。 画像をレベルごとにダウンサンプリングし、画像内の 4 つの小さなグリッドを 1 つに結合し、次に新しい画像内の 4 つの小さなグリッドを 1 つに結合して、大きな画像が小さなサンプルに縮小されるまで続けます。各層の畳み込みは単一の畳み込みではなく、異なる特徴抽出を行う畳み込みネットワークの集合体です。例えば、先ほど述べた異なる方向のエッジ溝で形成される畳み込みの集合体。その背後に異なる大きさの角度で構成されたネットワークの集合体があると想像できます。これは空間スケールで実現できる特徴エンジニアリングを反映しています。

各レベルでこのような相互接続が行われるため、層が上がるにつれて受容野は大きくなります。 CNN ネットワーク全体は、封建的な階層社会のようなものです。トップには王がおり、グループ全体で世界的なビジョンを持つ唯一の人物です。次のレベルは領主で、領主の上には売春婦、騎士、農民 (最下層のニューロン) がいます。

グローバルな概念を「抽象的」という別の言葉に置き換えてみましょう。深い畳み込みにより、ニューラル ネットワークに抽象化の機能が与えられます。 この上向き畳み込みによる基底変換を行う処理を基底生成(ディープラーニングは基底生成)と呼ぶ人もいます。さらに深く考えると表現といいます。人間の思考に例えると抽象化です。 抽象化とは、さまざまなものを非常に深いレベルで接続することであり、CNN は抽象化の物理的な方法を事前に教えてくれます。

これまで説明してきたのは、すべて人工的な特徴エンジニアリングです。ネットワークが深くても、それはディープネットワークとしか呼べず、学習とはまったく関係がありません。このようなシステム (mxnxpxz) を手動で設計すると、一生をかけて研究しても間違いを犯してしまう可能性があると言われています。このような構造は、機械自身によってのみ学習できると言えます。これがディープラーニングの本質です。いくつかの基本的な仮定 (正則化) と最適化関数を使用して、最適化 (進化) によりこのような構造を見つけます。基本的な仮定は、いくつかの不変量に​​反映されるイメージのいくつかの基本構造に過ぎません。物理学は本当に素晴らしいです。

ディープラーニングのトレーニングとは、コンピューターが機械学習における最も難しいステップである特徴エンジニアリング(特徴エンジニアリングは本質的に基底変換です)の完了を支援することです。かつて、人間は画像認識の方法について頭を悩ませてきました。人間がどのように画像を認識するのかを解明し、物体を認識するために人間が使用できる特徴をコンピューターに入力しようとしていました。しかし今では、深層畳み込みによって、コンピューターが自らこのプロセスを完了しています。

2012 年の畳み込みネットワークの開発傾向は、次の方向に見られます。

1. より深いモデル: AlexNet から VCG19、ハイウェイ ネットワークから残余ネットワークまで、主要な開発トレンドはより深いモデルです。 モデルを深く理解していくと、魔法のようなことが起こることがよくあります。 もちろんネットワークの幅(チャンネル数)も増えています。


これは最も基本的なCNNです


これは簡単なことだ

2. よりスムーズな情報交換: 深さによって生じる最初の問題は、トレーニングとバックプロパゲートが難しいことです。 残余ネットワークから現在普及している高密度ネットワークまで、異なるレイヤー間での情報交換がよりスムーズになることが大きな発展の傾向です。 異なるレイヤー間の直接的な情報チャネルを徐々に追加していきます。


高密度ネットワーク

3. 転移学習、半教師あり学習、敵対的学習、強化学習など、教師あり学習以外の学習手法との組み合わせ。 後者の 2 つは、教師あり学習よりもはるかに興味深いものです。

4. 軽量。CNN ネットワークがどんどん深くなるにつれて、ネットワーク ファイルをインストールできなくなることがよくあります。そのため、CNN ネットワークの軽量展開が重要なポイントになります。パフォーマンスとエネルギー消費のバランスを見つけたいと考えています。 良い方法は、ネットワークの重みを整理し、重要でない重みを削除することです。別の方法は、重みごとのデータ ビット数を減らすか、0 と 1 を使用して重みを表すことです。多くの情報が失われたように見えますが、巨大なネットワークの情報は統計的に表現されるため、どれだけ失われたかはわかりません。


生物学的プロセスに似た剪定プロセス

以上がCNNの概要です。画像処理は自分には関係ないと思ってはいけません。今言ったことは、記事をマトリックスにしたら、それは単なる画像に過ぎないということです。音声をマトリックスにしたら、それは単なる画像に過ぎません。これらはすべてCNNにリンクできるのです。

何をするにしても、勤勉なコンピュータエンジニア、ゲームデザイナー、ハイエンドの金融アナリスト、あるいは普通の消費者であっても、あなたの人生は将来CNNと切り離せないものになるでしょう。詳細については、以下をご覧ください。

Cruiser の実践的なディープラーニング コースでは、実践的なディープラーニングを段階的に学習できます。このコースでは、機械学習、ディープラーニング、ディープ ビジョン、ディープ自然言語処理、そして最も特徴的なディープ強化学習について学習します。自分の分野でディープラーニングの学際的な応用を学び、友人を驚かせ、周囲の人々から素晴らしい人物として見られるようになるかどうかを確認してください。先ほど述べた方法は、コースの中で詳細に説明されます。

<<:  将来スマートフォンは消滅するのでしょうか? Huaweiがそれに代わるスマートフォンを発売します!

>>:  Pythonを学ぶときは、学習の方向性と開発ツールの選択を明確に知っておく必要があります。

ブログ    
ブログ    

推薦する

エッジ AI ソフトウェア市場は 2023 年までに 11 億 5,000 万ドルに達する見込み

市場調査会社MarketsandMarketsによると、世界のエッジ人工知能(エッジAI)ソフトウェ...

MITが「計算能力」に関する警告を発令:ディープラーニングは計算能力の限界に近づいている

ディープラーニングの人気は、基本的に人々の計算能力の追求によるものです。最近、MIT は警告を発しま...

1 つのニューロンには 5 ~ 8 層のニューラル ネットワークがあります。ディープラーニングの計算の複雑さは生物学によって克服されています。

人工知能の開発にはまだまだ長い道のりが残っているようです。エルサレムのヘブライ大学の研究者らは、単一...

アプリランキング操作の水軍が復活:Appleのアルゴリズムを破るために5倍のコストを費やす

[「今回の調整は、主にユーザーのアクティベーション率、アプリの使用頻度、評価など総合的に考慮して行う...

すべての携帯電話にAIが搭載されているのに、なぜそれを軽蔑するのですか?

携帯電話の発表会を見れば、AI機能の追加が目に入ります。しかし、多くのユーザーはこれをやや否定的に捉...

Google が暗号化アルゴリズム SHA-1 の廃止を急いでいる理由

[[120276]]ハッシュアルゴリズムのヒルベルト曲線図 (Ian Boyd 提供) Google...

復旦大学の論文は、3体のSFシーンを実現:体にディスプレイ画面を装着し、ナビゲートやチャットも可能

誰もが歩くディスプレイ画面であり、これは単なる SF のワンシーンではありません。羅吉が最も感動した...

AIがパートナー探しをお手伝い:Tinder + AI = 仲人?

[[346697]] 2012年、インキュベーター企業のHatch Labsは、IACとXtrem...

トヨタが GenAI を活用して IT サービスを変革する方法

「私の大胆な決断の1つは、2025年までに従来のヘルプデスクを廃止したいということだった」とトヨタ自...

EfficientViT-SAM: 精度を変えずにその場で離陸!

著者らは、高速化された SAM モデル ファミリである EfficientViT-SAM を提案しま...

周志華:「データ、アルゴリズム、計算力」は人工知能の3つの要素であり、今後は「知識」が加わる必要があります。

CCF-GAIR 2020人工知能フロンティア特別セッションでは、南京大学コンピュータサイエンス学...

生成型人工知能に関する簡単な議論

生成AIには長い歴史があります。いくつかの情報源によれば、1950 年代にはすでに登場していたようで...

将来のシステム設計のための機械学習

エリアス・ファロン氏は、電子設計自動化技術の大手プロバイダーである Cadence Design S...

2017 年グローバル人工知能人材ホワイトペーパー: 世界トップクラスの AI 人材の秘密を解明!

人工知能における競争は優秀な人材に基づいて行われます。国の将来の発展方向として、AI技術は経済発展、...

AIが死海文書の秘密を解読:筆写者は1人だけではなかった

海外メディアの報道によると、フローニンゲン大学の研究者らが新たな筆跡分析法を開発した。この手法は死海...