ここでのキーワードは、事前とスケールです。簡単な例として、写真から人の年齢を予測しようとしていると想像してください。画像と年齢のデータセットを使用すると、ディープラーニングモデルをトレーニングして予測を行うことができます。画像の90%は役に立たないため、これは客観的に本当に非効率的であり、人物がいる領域だけが実際に役立ちます。特に、人の顔、体、そしておそらく服。
一方、事前に訓練されたオブジェクト検出ネットワークを使用して、最初に人物の境界ボックスを抽出し、画像をトリミングしてから、ネットワークに渡すこともできます。このプロセスにより、いくつかの理由でモデルの精度が大幅に向上します。
1)最初に人を見つける必要がないのとは対照的に、すべてのネットワークリソース(つまり、重み)は、年齢予測の実際のタスクに集中できます。人の顔には便利な機能が含まれているため、これは特に重要です。そうしないと、必要な細かい機能が最初の数層で失われる可能性があります。理論的には十分に大きなネットワークでこれを解決できるかもしれませんが、それは途方もなく非効率的です。トリミングされた画像は、元の画像よりもかなり規則的です。元の画像には大量のノイズがありますが、切り取られた画像の不一致は、目的と非常に高い相関があります。
2)トリミングされた画像は、同じ縮尺になるように正規化できます。これにより、2番目のネットワークがスケーリングの問題に対処するのに役立ちます。元のイメージでは、人が近くまたは遠くに発生する可能性があるためです。スケールを事前に正規化することで、トリミングされた画像が完全にトリミングされた画像を満たす人物がいることが保証されるようにします(遠くにある場合はピクセル化されますが)。これがスケーリングにどのように役立つかを確認するために、元の画像の幅と高さの半分であるトリミングされたボディは、処理するピクセルが4分の1少ないため、この画像に同じネットワークを適用すると、各レイヤーで元のネットワークの受容フィールドが4倍になります。
たとえば、Kaggleの肺の競争では、上位のソリューションの共通のテーマは、肺の画像を可能な限り切り取って各肺のコンポーネントを分離する何らかの前処理でした。効果は立体的であるため、これは3D画像で特に重要です。各次元の20%を削除すると、ほぼ半分のピクセルが削除されます。