画像認識のための深い学習:なぜそれが難しいのか、どこにいたのか、そして次は何ですか

私は最近、本に焦点を当てた教育 本の潜水は各々の新しい問題のために私達がノンフィクションの本に飛び込む隔週の時事通信である。 あなたは本のコアレッスンと実際の生活の中でそれらを適用する方法について学びます。 あなたはここでそれを購読することができます。

ディープラーニングは、ここ数年にわたってコンピュータビジョンを絶対に支配しており、多くのタスクとそれに関連する競技でトップスコアを達成しています。 これらのコンピュータビジョン競技の中で最も人気があり、よく知られているのはImageNetです。 ImageNet competitionは、データセット内の指定された画像を最も正確に分類するモデルを作成することで研究者にタスクを実行します。

過去数年間で、深い学習技術は、さらに人間のパフォーマンスを上回る、この競争の中で急速な進歩を可能にしています。 今日は、これらの進歩がディープラーニングでどのように起こったのか、そこから何を学ぶことができ、ここからどこに行くことができるのかを洞察するために、その進歩を見直すつもりです。

それでは、ImageNetの挑戦についてとても難しいことは何ですか? データを見てみることから始めましょう。 ImageNet分類タスクのデータは、Flickrや他の検索エンジンから収集され、1000のオブジェクトカテゴリ/クラスのいずれかに属する各画像を人間によって手動でラ データセットの分布は、以下の表に示されています。p>

ImageNetデータセット
ImageNetデータセット
ImageNetデータセット

2012年までに、imagenetはほぼ1.3万のトレーニング画像を持っていました。 このような大規模な画像分類タスクの主な課題は、画像の多様性です。 ここでは、その例のカップルを見てみることができます。下の画像をチェックしてください。

左側には、別の画像分類challangeからいくつかの例の画像が表示されます:パスカル。 PASCAL challengeでは、約20,000のトレーニング画像と20のオブジェクトカテゴリしかありませんでした。 その課題には、以下に示すように、「鳥」、「犬」、「猫」のような非常に一般的なクラスカテゴリがありました。 ImageNetの挑戦にシフトし、それは全く新しいボールゲームです。 すべての種類の犬を包含する”犬”と呼ばれる一般的なクラスを持つ代わりに、ImageNetには各犬種のクラスがあります。 実際には、代わりにパスカル”犬”カテゴリの、ImageNetは犬の異なる品種のための120のカテゴリを持っています! したがって、このタスクに使用するモデル/アルゴリズムは、非常に似ていて区別が困難であっても、これらの非常に細かい特定のクラスを処理できより専門的な用語では、クラス間の変動性を最大化したいと考えています。

これは、異なる種類の鳥を含む2つの画像が、両方の鳥であってもデータセットでは異なるカテゴリにあるため、モデルとは非常に異なって見えるようにすることを意味します。 下の図をチェックしてください。div>

ここではimagenetのもう一つの挑戦的な機能です:同じクラスのオブジェクトは非常に異なって見えることができます。 下の画像をチェックしてみましょう。 左の二つは、クラス”オレンジ”からの両方であり、右の二つは、クラス”プールテーブル”からの両方です。 しかし、画像の各ペアは非常に異なって見えます! 人間としては、オレンジの一つがカットされていて、もう一つがカットされていないことがわかります。プールテーブルの一つの写真がズームインされていることもわかりますが、もう一つはズームインされていないこともわかります。これはクラス内変動と呼ばれています。 同じクラスの2つの画像が深層学習モデルにかなり似ているように見えるようにするため、この変動を最小限に抑えたいと考えています。div>

クラス内変動

これらの画像分類の課題が知られているので、deep learningがこのタスクに大きな進歩を遂げることができた方法を確認しましょう。

画像分類のための深い学習の急速な進歩

2012年以来、ほぼ毎年、画像分類のタスクのための深い学習モデルの開発に大きなブレークスルー それが原因で大規模であり、挑戦的なデータは、ImageNetの挑戦ずっと進歩を測定するための主要な基準である。 ここでは、このタスクに関する深層学習の進歩と、その進歩を可能にした主要なアーキテクチャのいくつかを見ていきます。すべてを開始したもの

: AlexNet

AlexNet Architecture

Back in 2012, a paper from the University of Toronto was published at NIPS and boy was it ever a shocker. That paper was ImageNet Classification with Deep Convolutional Networks. これは、当時前例のない進歩であったImageNetチャレンジの誤り率を50%近く削減した後、この分野で最も影響力のある論文の一つになるでしょう。 この論文から得られたAlexnetのニューラルネットワークアーキテクチャを上に示した。

論文は、画像分類のタスクのための深い畳み込みニューラルネットワーク(CNN)を使用することを提案しました。 それは今日使用されているものと比較して比較的簡単でした。 この論文から来た主な貢献は次のとおりでした:

  • 成功した大規模な画像分類のための深いを使用する最初の。 これは、ImageNetからの大量のラベル付けされたデータと、2つのGpuで並列計算を使用してモデルをトレーニングするために可能になりました。
  • 彼らは、非直線性活性化関数にReLUを使用し、tanh関数と比較してより良好に実行され、トレーニング時間が減少することを見出しました。 ReLUの非線形性は、深いネットワークのデフォルトの活性化関数になる傾向があります。
  • 彼らは、画像の平行移動、水平反射、および平均減算からなるデータ増強技術を使用しました。 彼らの技術は、多くのコンピュータビジョンタスクのために、今日非常に広く使用されています。
  • 彼らは、トレーニングデータへのオーバーフィッティングの問題に対処するために、ドロップアウトレイヤーを使用しました。
  • 連続した畳み込み層とプーリング層を持ち、最後に完全に接続された層が続くという彼らの提案されたスタイルは、今日でも多くの最先端のネットワー

基本的に、AlexNetは、コンピュータビジョンタスクのためのCnnを使用するベースラインとデフォルトの技術を提供し、バーを設定します!

より深く行くことができます:VGGNet

VGGNetアーキテクチャ

vggnetの論文”very deep convolutional neural networks for large-scale image recognition”は2014年に発表され、多くの畳み込みとreluを持つ深いネットワークを使用するアイデアをさらに拡張しました。 Vggnetのニューラルネットワークアーキテクチャを上に示した。 彼らの主なアイデアは、あなたが本当に高精度を得るために派手なトリックを必要としなかったということでした。 小さな3×3の畳み込みと非線形性の多くを持つ深いネットワークだけでトリックを行います! 上の図の同じサイズの繰り返しブロックのスタックは、3x3sのスタックを使用した直接の結果です! Vggnetsの主な貢献は次のとおりです。

  • AlextNetで使用されている11×11の代わりに、3×3サイズのフィルタのみを使用します。 彼らは、2つの連続する3×3の畳み込みが、等価な受容場または「視野」(すなわち、それが見るピクセル)を単一の5×5畳み込みとして有することを示 これの利点は、フィルタサイズを小さくすることの利点を維持しながら、より大きなフィルタをシミュレートすることです。 フィルターを小さくする最初の利点は、パラメーターの数が減少することです。 第二は、各畳み込みの間にReLU関数を使用することができ、決定関数をより差別的にするネットワークにより多くの非線形性を導入することである。
  • 各レイヤーの入力ボリュームの空間サイズが(プーリングレイヤーの結果として)減少するにつれて、ボリュームの深さが増加します。 この背後にある考え方は、空間情報が減少するにつれて(最大プーリングによるダウンサンプリングから)、正確で高度に識別的な分類に使用するため したがって、特徴マップの数は、分類に使用されるこれらの特徴をキャプチャできるように深さとともに増加する。
  • これは、データ増強の新しい種類を導入しました:スケールジッタリング。
  • Caffe toolboxを使用してモデルを構築しました。 この時点で、深層学習ライブラリはますます人気が高まっています。

さらに深く行く: H2>

GoogLeNetからのインセプションモジュール
GoogLeNetからのインセプションモジュール

googlenetアーキテクチャは、”畳み込みでより深く行く”という論文のマルチスケール処理とともに、計算リソースの問題に実際に対処した最初の 私たちは私たちの分類ネットワークをより深く、より深く作り続けるように、我々は多くのメモリを使用しているポイントに到達します。 さらに、過去には1×1から11×11までのさまざまな計算フィルタサイズが提案されています。 InceptionモジュールとGoogLeNetは、これらの問題のすべてに次の貢献で取り組んでいます。

  • 各3×3と5×5の前に1×1畳み込みを使用することにより、inceptionモジュールは各層を通過するフィーチャマップの数を削減し、計算とメモリ消費を削減します。
  • inceptionモジュールには、1×1、3×3、および5×5の畳み込みがすべて並列にあります。 この背後にあるアイデアは、どのような情報が学習され、使用されるかを訓練することによって、ネットワークが決定できるようにすることでした。 また、マルチスケール処理を可能にします:モデルは、より小さな畳み込みを介してローカルフィーチャと、より大きな畳み込みを持つ高抽象化されたフィーチャの両方を回復することができます。 すごい!
  • GOOGLENETは、CNNレイヤーを常に順番に積み重ねる必要はないという考えを導入した最初のモデルの一つでした。 この論文の著者は、深さだけでなく、パフォーマンスを向上させるためにネットワーク幅を増やすこともできることを示しました。

ショートカットでスキップする: ResNet

Residual block from ResNet

Since it’s initial publication in 2015 with the paper “Deep Residual Learning for Image Recognition”, ResNets have created major improvements in accuracy in many computer vision tasks. ResNetアーキテクチャは、ImageNet上で人間レベルのパフォーマンスを渡す最初のものであり、残留学習の主な貢献は、今日の多くの最先端のネットワークでデフォルト

  • 上記の問題に対処するために、彼らはskip-connectionsを使用した残留学習を導入します。 このアイデアは、追加スキップ接続をショートカットとして使用することで、深いレイヤーは前のレイヤーのフィーチャに直接アクセスできます。 これにより、ネットワークを介して機能情報をより簡単に伝播することができます。 また、勾配をより効率的に逆伝播させることができるため、トレーニングにも役立ちます。
  • それは100-200層以上を使用するのが一般的である最初の”超深”ネットワーク、。
  • 極端にショートカットを取る: DenseNet

    DenseNetビジュアライゼーション
    DenseNetビジュアライゼーション

    ショートカット接続は、論文”密に接続された畳み込みネットワーク”からのdensenetsの導入によって極端に取られました。 DenseNetsは、ショートカット接続のアイデアを拡張しますが、ResNetよりもはるかに密な接続性を持っています。

    • DenseNetsは、各レイヤーを他のすべてのレイヤーにフィードフォワードファッションで接続します。 これにより、各レイヤは、先行するすべてのレイヤのすべてのフィーチャマップを入力として使用でき、独自のフィーチャマップが後続のすべてのレイヤ
    • これは、未加工のフィーチャがレイヤーを直接通過するように、Resnetで使用される追加ではなく連結によって行われます。
    • Resnetよりも優れたパフォーマンスを示しました。 DenseNetsは、消失勾配の問題を軽減し、フィーチャの伝播を強化し、フィーチャの再利用を促進し、パラメータの数を大幅に削減するのに役立ちます。

    これらは、ここ数年にわたって画像分類の進歩のバックボーンを形成してきた主要なアーキテクチャです。 大きな進歩がなされており、この新しい技術で多くの現実世界の問題を解決するために使用することができるので、見ることは刺激的です。 ただ一つの質問が残っています…..私たちはここからどこに行くのですか

    私たちが見直したように、画像分類のための深い学習の研究が活況を呈しています! 私たちは、人間レベルのパフォーマンスを上回る、このタスクの方法を改善するための巨大な措置を講じました。 ディープニューラルネットワークは現在、画像を分類するために多くの企業で広く使用されており、多くの新しいスタートアップ技術の基礎となっています。この進歩のすべてを見ることは素晴らしいことですが、私たちは常に改善に努力しなければなりません。

    画像分類における深層学習モデルには、まだ多くの課題があります。 これらは、私たちが前進したい場合に対処するために重要な課題です。 ここで私は私が重要と考えるそれらのいくつかの上に行くだろうし、研究者が積極的に対処しようとしていること:P>

    教師なし学習から教師なし学習へ

    例教師あり学習と教師なし学習のうち

    現在、コンピュータビジョンタスクに適用されているほとんどの深層学習方法は、教師あり これは、大量のラベル付けされたトレーニングデータが必要であることを意味します。 このデータは、取得するのが面倒でコストがかかります。 それについて考えてみてください:ImageNetの挑戦には1がありました。3万人のトレーニング例とそれは1000の異なるカテゴリのためだけでした! 人間はすべてのデータを取得し、各画像を通過し、それにラベルを付ける必要があります。

    ほとんどの場合、企業が独自の特定のアプリケーションに画像分類ネットワークを適用したい場合、事前に訓練されたImageNetネットワークを微調整するた この微調整を行うには、彼らはまだ自分のデータの多くを収集し、それをラベル付けする必要があります。

    研究者は積極的に努力を入れて、この問題に対処する上で進歩を遂げています。 高速かつ効果的な転送学習、半教師あり学習、およびワンショット学習のようなものに行われているより多くの仕事があります。 私たちはおそらく教師なし学習にまっすぐにジャンプしませんが、これらの方法での研究は正しい方向への強力なステップです

    私たちの敵

    敵対的な画像は大きな問題を引き起こす可能性があります

    生成的な敵対的ネットワーク(gans)を使用する人気の高まりは、画像分類 敵対的な画像は、そのクラスカテゴリは、人間には明らかに見えるが、深いネットワークで大規模な障害を引き起こす一言で言えば画像です。 上の画像をチェックしてください。 わずかな歪み(一見)で、画像の深いネットワークの分類は、パンダからテナガザルに行きます!

    私たち人間にとっては、画像がまだパンダであることは明らかに見えますが、何らかの理由で深いネットワークがそのタスクに失敗します。 これは現実世界の適用で非常に危ない場合もある:あなたの自動運転車が歩行者を確認しないし、代りにそれらを動かしたら何か。 問題の一部は、ネットワーク内で何が起こっているのかを完全に理解していないという考えに起因している可能性があります。 いずれにしても、研究者はこの挑戦的な問題に積極的に取り組んでいます。

    プロセスの高速化

    MobileNetsベンチマーキング

    ディープラーニングの進歩の多くは、ハードウェア、特にGPUの改善によって推進されています。 Gpuは、並列に実行できる計算の高速処理を可能にします。 深いネットワークでは、行列演算のために大量の乗算加算演算が必要です。 これは進歩のために素晴らしいものでしたが、私たちはどこにでもGpuを持っていません!

    上記で説明したものを含む多くの最先端のネットワークは、ハイエンドGPU上で合理的な速度で推論でのみ実行されます。 モバイルデバイスは大規模な市場であり、その市場にサービスを提供するための措置を講じることが重要です。 さらに、ネットワークが深くなるにつれて、より多くのメモリを必要とする傾向があり、より多くのデバイスがネットワークを実行でき

    この分野での研究は、実際には最近かなりピックアップしています。 MobileNetsは、モバイルデバイス上で直接深いネットワークを実行するために一般的になっているアーキテクチャのファミリです。 それらは、メモリ消費量と推論時間の両方を削減するために、異なるスタイルの畳み込みを使用します。

    それをすべてラップする

    それはラップです! 私たちは、画像を分類することについてとても難しいことを見て、深い学習を使用して現場で行われている驚くべき進歩を見直しました。 私たちはまた、先にある課題のいくつかを見ました。 しかし、新しい科学と工学でこれらの課題に取り組むことは、技術についてとてもエキサイティングなものです。

    コメントを残す

    メールアドレスが公開されることはありません。