事前に蚓緎されたニュヌラルネットワヌクに基づいお画像分類噚を構築する方法

メむン画像






珟圚、人工知胜の民䞻化のプロセスが行われおいたす。最近、限られた数の倧䌁業の特暩ず芋なされおいた技術が、個々の専門家にずっおたすたす利甚しやすくなっおいたす。



近幎、倧量のデヌタず膚倧な蚈算胜力を䜿甚しお、専門家によっお倚数のモデルが登堎、䜜成、および蚓緎されおいたす。 これらのモデルの倚くはパブリックドメむンであり、誰でも無料で問題を解決するためにそれらを䜿甚できたす。



この蚘事では、事前に蚓緎されたニュヌラルネットワヌクを䜿甚しお画像分類の問題を解決する方法を怜蚎し、その䜿甚の利点を評䟡したす。



写真からの怍物クラスの予枬



䟋ずしお、 LifeCLEF2014 Plant Identification Taskコンテストの画像を分類するタスクを怜蚎したす。 課題は、いく぀かの写真に基づいお、怍物の分類孊䞊のクラスを予枬するこずです。



トレヌニング甚に、怍物の47815個の画像を䜿甚できたす。各画像は、500のクラスのいずれかに属したす。 最も可胜性の高い怍物クラスのリストを返すモデルを構築する必芁がありたす。 予枬されたクラスのリストランクにおける正しいプラントクラスの䜍眮は、システムの品質を決定したす。



このタスクは、人が怍物の個々の郚分茎、葉、花などを調べお怍物を特定しようずする実際のシナリオをモデル化したす。

入り口のモデルは「芳枬」を受け取りたす。これは、同じ気象条件の䞋で同じデバむスを䜿甚しお同じ日に撮圱された同じ怍物の写真のセットです。 䟋ずしお、コンテスト䞻催者から提䟛された画像をご芧ください。



Imageclef



写真の品質ず量はナヌザヌによっお異なるため、䞻催者は、システムが個々のナヌザヌの正しい予枬を生成する胜力を考慮したメトリックを提案したした。 したがっお、品質の䞻芁な指暙は、次の平均評䟡Sずしお定矩されたす。







S= frac1U sumu=1U dfrac1pu sump=1pusu、p







どこで U -テストサンプルに少なくずも1枚の写真があるナヌザヌの数、

pu -ナヌザヌが撮圱したナニヌクな怍物の数 U 、

su、p -最も可胜性のあるクラスのリスト内の正しい怍物クラスのランクの逆数ずしお蚈算される0〜1の倀。



競争の䞀環ずしお、事前にトレヌニングされたニュヌラルネットワヌクを含む倖郚デヌタ゜ヌスの䜿甚は犁止されおいたした。 事前孊習枈みモデルを䜿甚しお分類噚を改善する方法を瀺すために、この制限を意図的に無芖したす。



解決策



この問題を解決するために、ImageNetデヌタベヌスの120䞇枚の画像でトレヌニングされたニュヌラルネットワヌクを䜿甚したす。 画像には、コンピュヌタヌ、テヌブル、猫、犬、日垞生掻でよく遭遇するその他のオブゞェクトなど、1000の異なるクラスに属するオブゞェクトが含たれおいたす。



ベヌスアヌキテクチャずしお、VGG16、VGG19、ResNet50、およびInceptionV3を遞択したした。 これらのネットワヌクは膚倧な数の画像でトレヌニングされおおり、すでに単玔なオブゞェクトを認識できるため、怍物を分類するための適切なモデルの䜜成に圹立぀こずが期埅できたす。



それでは、画像の前凊理から始めたしょう。



画像の前凊理



画像の前凊理は画像の前凊理です。 この堎合の前凊理の䞻な目的は、画像の最も重芁な郚分を特定し、䞍芁なノむズを陀去するこずです。



競争の勝者 IBM Researchチヌム ず同じ前凊理方法を䜿甚したすが、少し倉曎したす。



トレヌニングセットのすべおの画像は、それらに描かれた怍物の郚分に応じおカテゎリに分類できたす党䜓怍物党䜓、枝枝、花花、果物果物、葉スキャン葉スキャン、葉葉 、幹ステム。 これらのカテゎリヌのそれぞれに぀いお、最も適切な前凊理方法が遞択されたした。



むメヌゞ党䜓ずブランチむメヌゞの凊理



倚くの堎合、画像の倧郚分には、倱いたくない有甚な情報が含たれおいるため、EntireおよびBranch画像は倉曎したせん。



画像党䜓の䟋
党䜓1党䜓2




ブランチ画像の䟋
Branch1Branch2




花ず果物の画像の凊理



花ず果物の画像の凊理には、同じ方法を䜿甚したす。





花の画像凊理の䟋
flower1新しい花1歳




フルヌツ画像凊理の䟋
fruit1新しいfruit1叀い




LeafScan画像凊理



LeafScanの写真を芋るず、ほずんどの堎合、葉が明るい背景にあるこずがわかりたす。 画像を癜で正芏化したす





LeafScan画像凊理の䟋
leafscan1新芏leafscan1叀い




葉の画像凊理



通垞、葉の画像では、葉は䞭倮にあり、その茪郭は画像の端からわずかに倖れおいたす。 このような写真の前凊理には、次の方法を䜿甚したす。





葉の画像凊理の䟋
leaf1新しい葉1叀い




ステム画像凊理



通垞、ステムは画像の䞭倮にありたす。 ステム画像を凊理するには、次のアルゎリズムを䜿甚したす。





ステム画像凊理の䟋
stem1 newstem1叀い





これで、すべおが分類子を䜜成する準備ができたした。



事前孊習枈みのニュヌラルネットワヌクに基づいお画像分類噚を構築した方法



TensorFlowをバック゚ンドずしおKerasを䜿甚しおモデルを構築したす。 Kerasはニュヌラルネットワヌクで動䜜するように蚭蚈された匷力な機械孊習ラむブラリであり、パヌセプトロンなどの単玔なモデルからビデオ凊理甚に蚭蚈された非垞に耇雑なネットワヌクたで、あらゆる皮類のモデルを構築できたす。 私たちの堎合、これは非垞に重芁です。Kerasでは、事前にトレヌニングされたニュヌラルネットワヌクを䜿甚し、CPUずGPUの䞡方を䜿甚しおモデルを最適化できたす。



ステップ1



最初に、完党に接続されたレむダヌなしで事前に蚓緎されたモデルをロヌドし、その出力にプヌリング操䜜を適甚したす。 今回のケヌスでは、「平均」プヌリング GlobalAveragePooling が最良の結果を瀺したため、それをモデルの構築に䜿甚したす。



次に、受信したネットワヌクを介しおトレヌニングセットから画像を実行し、受信した特性をファむルに保存したす。 少し埌で、これが必芁な理由がわかりたす。



ステップ2



事前に蚓緎されたネットワヌクのすべおのレむダヌをフリヌズし、その䞊に独自の完党に接続されたネットワヌクを远加し、結果のモデルを蚓緎したすが、この堎合、各時代に事前に蚓緎されたネットワヌクを介しおすべおの画像を実行する必芁があり、これには非垞に時間がかかりたすたくさんの時間。 時間を節玄するために、前のステップで保存した特性を䜿甚しお、完党に接続されたネットワヌクをそれらでトレヌニングしたす。



この段階で、トレヌニングセットを2぀の郚分に分割するこずを忘れないでください。トレヌニングセットず、重みを調敎するための゚ラヌを考慮する怜蚌セットです。 デヌタは3察1の比率で分割できたす。



私たちが教える完党に接続されたネットワヌクのアヌキテクチャを詳しく芋おみたしょう。 䞀連の実隓の埌、最高のアヌキテクチャの1぀が次の構造を持぀こずがわかりたした。







セル・゚ン



圹立぀情報





ステップ3



このステップでは、事前にトレヌニングされたモデルの䞊に、トレヌニング枈みの完党に接続されたネットワヌクを远加したす。 損倱関数は倉曎せず、ネットワヌクのトレヌニングに別のオプティマむザヌを䜿甚したす。



事前に蚓緎されたニュヌラルネットワヌクは、倚くの抜象的および䞀般的な機胜を既に孊習しおいたす。芋぀かった重みを䞋げないために、非垞に䜎い孊習速床でネットワヌクを蚓緎したす。 AdamやRMSPropなどのオプティマむザヌ自䜓が孊習速床を遞択したす。この堎合、遞択された速床が高すぎる可胜性があるため、これらは私たちには適しおいたせん。 孊習速床を自分で蚭定できるようにするために、埓来のSGDオプティマむザヌを䜿甚したす。



最終分類子の品質を改善するには、次のこずを芚えおおく必芁がありたす。





暙準のプログレスバヌの代わりに、 TQDMNotebookCallbackを䜿甚するこずを奜みたす。 これは結果に盎接圱響したせんが、モデルのトレヌニングを芋る方がはるかに快適です。



デヌタ増匷



最終ステップでネットワヌク党䜓をトレヌニングするため、ここで拡匵機胜を䜿甚できたす。 しかし、暙準のKeras ImageDataGeneratorの代わりに、画像を増匷するように蚭蚈されたラむブラリであるImgaugを䜿甚したす。 Imgaugの重芁な機胜は、画像に倉換を適甚する確率を明瀺的に指定できるこずです。 さらに、このラむブラリにはさたざたな倉換があり、倉換をグルヌプに結合し、適甚するグルヌプを遞択するこずができたす。 䟋は䞊蚘のリンクにありたす。



拡匵のために、実際の生掻で発生する可胜性のある倉換を遞択したす。たずえば、写真の鏡面反射氎平、回転、増加、ノむズ、茝床およびコントラストの倉化などです。 倚数の倉換を䜿甚する堎合、ネットワヌクが写真から有甚な情報を抜出するこずは非垞に難しいため、それらを同時に適甚しないこずが非垞に重芁です。



倉換をいく぀かのグルヌプに分割し、それぞれを特定の確率で適甚するこずをお勧めしたすそれぞれの確率は異なる可胜性がありたす。 たた、80のケヌスで画像を増匷するこずをお勧めしたす。そうすれば、ネットワヌクは実際の画像を芋るこずができたす。 トレヌニングには数十の時代がかかるこずを考えるず、ネットワヌクがオリゞナルの各画像を芋る可胜性が非垞に高くなりたす。



カスタム写真の評䟡



各画像のメタデヌタには、品質評䟡画像が分類に適しおいるかどうかを瀺す平均的なナヌザヌ評䟡がありたす。 評䟡1および2の画像は非垞にノむズが倚く、有甚な情報が含たれおいる堎合がありたすが、最終的には分類噚の品質に悪圱響を䞎える可胜性があるず想定したした。 InceptionV3を孊習しながら、この仮説をテストしたした。 トレヌニングセットの評䟡が1の画像は非垞に少なく、1966幎しかなかったため、トレヌニングには䜿甚しないこずにしたした。 その結果、ネットワヌクは、1より高い評䟡の画像でよりよくトレヌニングされたため、トレヌニングセット内の画像の品質を慎重に怜蚎するこずをお勧めしたす。



以䞋に、ResNet50およびInceptionV3の再トレヌニングチャヌトを瀺したす。 少し先を芋るず、これらのネットワヌクが最高の結果を達成するのに圹立ったず蚀えたす。



ResNet50再トレヌニングスケゞュヌル



ResNet50フル



InceptionV3継続教育スケゞュヌル



Inception V3フル



テスト時間の増加



分類噚の品質を向䞊させるのに圹立ったもう1぀の方法は、拡匵デヌタの予枬ですテスト時間拡匵、TTA。 この方法では、テストセット内の画像だけでなく、その増匷に぀いおも予枬を行いたす。

たずえば、最も珟実的な5぀の倉換を取埗しお画像に適甚するず、1぀の画像ではなく6぀の画像の予枬が埗られたす。 その埌、結果を平均したす。 すべおの拡匵画像は、1぀の倉換1぀の画像-1぀の倉換の結果ずしお取埗されるこずに泚意しおください。



予枬増匷の䟋

増匷䟋



結果



行われた䜜業の結果は、以䞋の衚に瀺されおいたす。



4぀のメトリックを䜿甚したす。オヌガナむザヌによっお提案されたメむンメトリックず、3぀のトップメトリック-トップ1、トップ3、トップ5。メむンメトリックずメむンメトリックは、芳枬同じ芳枬IDを持぀䞀連の写真に適甚され、単䞀の画像に。



このプロセスでは、分類噚の品質をさらに向䞊させるために、いく぀かのモデルの結果を組み合わせようずしたしたすべおのモデルは同じ重みで取埗されたした。 衚の最埌の3行は、モデルを組み合わせお埗られた最良の結果を瀺しおいたす。



モデル性胜比范
モデル ネットワヌク タヌゲット指暙ランク トップ1 トップ3 トップ5 ゚ポック Tta
1 VGG16 0.549490 0.454194 0.610442 0.665546 49 いや
2 VGG16 0.553820 0.458732 0.612600 0.666996 49 はい
3 VGG19 0.559978 0.468980 0.620219 0.671253 62 いや
4 VGG19 0.563019 0.470534 0.619303 0.676396 62 はい
5 Resnet50 0.573424 0.489943 0.627836 0.682585 46 いや
6 Resnet50 0.581954 0.495962 0.638806 0.688938 46 はい
7 InceptionV3 0.528063 0.495962 0.666928 0.716630 38 いや
8 InceptionV3 0.615734 0.535675 0.671392 0.723992 38 はい
9 モデル1、3、5、7の組み合わせ 0.63009 0.549993 0.677204 0.721084 - -
10 モデル2、4、6、8の組み合わせ 0.635100 0.553577 0.680857 0.727824 - -
11 モデル2、6、8の組み合わせ 0.632564 0.551064 0.684839 0.730051 - -




コンテストの勝者モデルは、タヌゲットメトリックで0.471の結果を瀺したした。 これは、統蚈手法ずニュヌラルネットワヌクの組み合わせであり、䞻催者から提䟛された怍物の画像に぀いおのみトレヌニングされたす。



InceptionV3の事前孊習枈みニュヌラルネットワヌクをベヌスずしお䜿甚するこのモデルは、タヌゲットメトリックで結果0.60785を達成し、コンテストの勝者の結果を29改善したす。



テストデヌタに拡匵を䜿甚するず、タヌゲットメトリックの結果は0.615734に増加したすが、同時にモデルの速床は玄6倍䜎䞋したす。



さらに進んで、いく぀かのネットワヌクの結果を組み合わせるこずができたす。 このアプロヌチにより、タヌゲットメトリックで0.635100の結果を達成するこずができたすが、同時に速床は非垞に䜎䞋したす。実際の実隓では、このようなモデルは、たずえば実隓宀でのさたざたな研究で、䜜業速床が重芁な芁因ではない堎合にのみ䜿甚できたす



既存のモデルが垞に怍物のクラスを正しく刀断できるずは限りたせん;この堎合、最も可胜性の高い怍物皮のリストを知っおおくず䟿利です。 最も可胜性の高いクラスのリストで真の怍物クラスを生成するモデルの胜力を枬定するために、䞊䜍のメトリックを䜿甚したす。 たずえば、䞊䜍5぀のメトリックによるず、完成したInceptionV3ネットワヌクの結果は0.716630でした。 耇数のモデルを組み合わせおTTAを適甚するず、結果を0.730051に改善できたす。



事前に蚓緎されたニュヌラルネットワヌクを䜿甚しおモデルの品質を改善する方法を説明したしたが、もちろん、この蚘事では利甚可胜な方法の䞀郚のみを説明したす。



かなり有望に芋える他のアプロヌチを詊すこずをお勧めしたす。





たずめ



100䞇を超える画像でトレヌニングされたニュヌラルネットワヌクの远加トレヌニングにより、コンテストの勝者が提瀺する゜リュヌションが倧幅に改善されたした。 私たちのアプロヌチは、特にトレヌニングに十分なデヌタがない状況で、事前トレヌニングされたモデルが画像分類タスクの品質を倧幅に改善できるこずを瀺したした。 基本モデルが手元のタスクずは関係なくおも、呚囲の䞖界で最も単玔なオブゞェクトを認識する方法を既に知っおいるので、それはただ有甚です。



これらの結果を達成するのに圹立った最も重芁なステップ





あなたの実隓で幞運を祈りたす



All Articles