ホームページ >バックエンド開発 >Python チュートリアル >ResNet 対 EfficientNet 対 VGG 対 NN
私は学生として、大学の非効率な遺失物システムによって引き起こされるフラストレーションを目の当たりにしてきました。現在のプロセスは、拾得物ごとに個別の電子メールに依存しているため、多くの場合、紛失物とその所有者との間の連絡が遅れたり、連絡が取れなかったりすることがあります。
私自身と他の学生のためにこの経験を改善したいという願望に駆られて、私は忘れ物システムに革命を起こすディープラーニングの可能性を探るプロジェクトに着手しました。 このブログ投稿では、紛失物の識別と分類を自動化するために、事前トレーニング済みモデル (ResNet、EfficientNet、VGG、および NasNet) を評価する私の過程を共有します。
比較分析を通じて、私たちのシステムに統合するのに最適なモデルを特定し、最終的にはキャンパス内のすべての人にとって、より速く、より正確で、ユーザーフレンドリーな遺失物エクスペリエンスを作成することを目指しています。
Inception-ResNet V2 は、Keras で利用可能な強力な畳み込みニューラル ネットワーク アーキテクチャであり、Inception アーキテクチャの強みと ResNet からの残りの接続を組み合わせています。このハイブリッド モデルは、計算効率を維持しながら、画像分類タスクで高い精度を達成することを目的としています。
トレーニング データセット: ImageNet
画像形式: 299 x 299
def readyForResNet(fileName): pic = load_img(fileName, target_size=(299, 299)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_resnet(expanded)
data1 = readyForResNet(test_file) prediction = inception_model_resnet.predict(data1) res1 = decode_predictions_resnet(prediction, top=2)
VGG (Visual Geometry Group) は、画像分類タスクにおけるシンプルさと有効性で知られるディープ畳み込みニューラル ネットワーク アーキテクチャのファミリーです。これらのモデル、特に VGG16 と VGG19 は、2014 年の ImageNet Large Scale Visual Recognition Challenge (ILSVRC) での好成績により人気を博しました。
トレーニング データセット: ImageNet
画像フォーマット: 224 x 224
def readyForVGG(fileName): pic = load_img(fileName, target_size=(224, 224)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_vgg19(expanded)
data2 = readyForVGG(test_file) prediction = inception_model_vgg19.predict(data2) res2 = decode_predictions_vgg19(prediction, top=2)
EfficientNet は、以前のモデルよりも大幅に小型かつ高速でありながら、画像分類タスクで最先端の精度を実現する畳み込みニューラル ネットワーク アーキテクチャのファミリーです。この効率は、ネットワークの深さ、幅、解像度のバランスをとる新しい複合スケーリング方法によって実現されます。
トレーニング データセット: ImageNet
画像フォーマット: 480 x 480
def readyForEF(fileName): pic = load_img(fileName, target_size=(480, 480)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_EF(expanded)
data3 = readyForEF(test_file) prediction = inception_model_EF.predict(data3) res3 = decode_predictions_EF(prediction, top=2)
NasNet (Neural Architecture Search Network) は、深層学習における画期的なアプローチであり、ニューラル ネットワーク自体のアーキテクチャが自動化された検索プロセスを通じて発見されます。この検索プロセスは、特定のタスクで高いパフォーマンスを達成するために、レイヤーと接続の最適な組み合わせを見つけることを目的としています。
トレーニング データセット: ImageNet
画像フォーマット: 224 x 224
def readyForNN(fileName): pic = load_img(fileName, target_size=(224, 224)) pic_array = img_to_array(pic) expanded = np.expand_dims(pic_array, axis=0) return preprocess_input_NN(expanded)
data4 = readyForNN(test_file) prediction = inception_model_NN.predict(data4) res4 = decode_predictions_NN(prediction, top=2)
表は、上記のモデルの主張される精度スコアをまとめたものです。 EfficientNet B7 が最高の精度でリードし、NasNet-Large と Inception-ResNet V2 が僅差で続きます。 VGG モデルは精度が低くなります。私のアプリケーションでは、処理時間と精度のバランスが取れたモデルを選択したいと考えています。
ご覧のとおり、EfficientNetB0 が最も速い結果を提供しますが、精度を考慮すると InceptionResNetV2 の方が優れたパッケージです
私のスマート遺失物発見システムには、InceptionResNetV2 を使用することにしました。 EfficientNet B7 は最高の精度で魅力的に見えましたが、私はその計算要求について懸念していました。リソースが限られており、リアルタイムのパフォーマンスが望まれることが多い大学の環境では、精度と効率のバランスを取ることが重要であると感じました。 InceptionResNetV2 は完璧に適合しているように思えました。計算量を過度に消費せずに強力なパフォーマンスを提供します。
さらに、ImageNet で事前トレーニングされているという事実により、人々が失う可能性のあるさまざまなオブジェクトを処理できるという自信が得られます。そして、Keras での作業がいかに簡単であるかを忘れないでください。そのおかげで私の決断は間違いなく容易になりました。
全体的に、InceptionResNetV2 は私のプロジェクトに正確さ、効率性、実用性の適切な組み合わせを提供すると信じています。紛失したアイテムを所有者と再会させるのにどのように機能するかを見るのが楽しみです!
以上がResNet 対 EfficientNet 対 VGG 対 NNの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。