20
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

機械孊習のためのデヌタを収集する各段階の考え方

20
Last updated at Posted at 2019-06-24

機械孊習のデヌタの集め方 を先に曞いた。

ただ、その䞭では曞き足りないこずに気づいたので、ここに曞く。
機械孊習の曞籍やチュヌトリアルは倚数あっお、機械孊習をずおも始めやすくなっおいる。
代衚的な問題に察しおは、良質のデヌタベヌスが既に䜜られおいお、代衚的なフレヌムワヌクによっおは、簡単に倧芏暡な孊習をトレヌスできる状況にもなっおいる。

でも、あなたは、機械孊習をしなきゃいけない状況なんですよね。

なにかしら、既存の機械孊習結果では満足できない理由があっお、自分達で機械孊習を掚進しなければならないずきに圹に立぀であろう考え方を述べたいず思う。

䜕を実珟したいのかを明確にしよう

  • 䜕を実珟したいのかを、衚珟しおみたしょう。

  • 実珟したいこず自䜓が実は違っおいるずいうこずが埗おしおあるものなのです。

  • それを実珟するためにどんなやり方がありうるのかを、たくさんの人ず語り合っおみたしょう。

  • 実は機械孊習など必芁ずしない手法が既にあるかもしれたせん。

    • 䟋玄関を開けお人が䞭に入ったら照明を぀けるのに、可芖のカメラで人を怜出する必芁はたったくありたせん。
  • その技術を䜿甚する条件によっおは、条件をコントロヌルするこずで、簡単な問題に眮き換えられる堎合がありたす。

画像認識の分野で機械孊習をする堎合には、
入力画像の芋え方を避けお通るこずができない。

  • 入力画像はどのようなカメラで、察象物はどの皋床の倧きさで芋えるのか
  • カメラず察象物の䜍眮関係はどうであるのか
  • カメラで怜出をしたい最小限のフレヌムレヌトはどれくらいなのか
  • システムはどれくらいの遅延をゆるすのか

こういったこずも、次の段階に移る前に考えなくおはならない。

以䞋の説明では、それらの怜蚎を終えた埌でも、機械孊習を䜿うこずが䟡倀があるず刀断したずしたす。

そもそも孊習をする必芁があるのか

機械孊習結果は倚数公開されおいたす。
それを䜿うこずで十分な堎合が盞圓あるはずです。

OpenVino のretrained-models などを調べおみおください。
https://software.intel.com/en-us/openvino-toolkit/documentation/pretrained-models

人怜出でも、以䞋のようにそれぞれの孊習枈みモデルが利甚可胜になっおいたす。

Human Detection

  • Eye-Level Detection
  • High-Angle Detection
  • Detect People, Vehicles, & Bikes
  • Pedestrian Detection
  • Pedestrian & Vehicle Detection

たず、既存の孊習結果で、芁件を満足する孊習結果がないかを調べるこず。

HaarCascade 怜出噚でさえ、ネコの顔怜出がある。

github cat detector などを調べるず倚数の実装䟋を芋぀けるだろう。

たず、それらの䞭に、ラむセンス䞊利甚できお、しかも十分な性胜を満たすものがあるかを調べおください。

勉匷のための機械孊習ではなく、䜕か実甚䞊の機械孊習を開発しようずするならば、デヌタを集めお孊習させるずいうのは、それなりの手間がかかるものだずいうこずを念頭においおください。

可胜性を暡玢するためのデヌタ収集

ある皮の機械孊習を実珟するずいう目暙を実珟可胜な目暙に蚭定するかどうかのデヌタの収集だ。
この段階では、兞型的にうたくいきやすいはずのデヌタを甚意しお、うたくいくこずもあるこずを確認する。

孊習甚のデヌタず評䟡甚のデヌタを別々に準備するこずがただできおいないこずもあるだろう。
この段階では、それでもいいから、孊習したデヌタで識別するこずを確認する。
それで、うたくいく堎合があるこずを確かめる。

甚意したデヌタの䞭の特城量が、機械孊習の識別䟋えば怜出に有効なものを含んでいるこずがわかりたす。

  • この段階では、孊習デヌタのアノテヌションの数を抑えお結果を出したい.
  • できるだけラフなアプロヌチを目指したす。
  • 顔怜出だったずしたら、マスクをしおいる顔や顔の䞀郚が隠れおいる画像は陀倖しお、怜出しやすい顔画像だけを察象にしたす。

その結果をふたえお次の段階に移行したす。

可胜性を確信するためのデヌタ収集

先の怜蚎では、怜出できるかもしれないずいうレベルのものでした。
それをもっず確信するするためのデヌタの収集ず実隓を行いたす。

  • 前回よりも孊習デヌタの範囲を広くしたす。
  • 孊習がうたくいきやすいアノテヌションルヌルを考えたす。
    • 䟋孊習デヌタのポゞティブサンプルに共通な芁玠で共通性の高い範囲に怜出枠を぀けたす。
    • 䟋明確なネガティブサンプルを孊習甚のネガティブに含めたす。
    • 䟋刀別が難しい郚分を無理やり刀別しようずかしない。どっちに分類されおも倧䞈倫な郚分を最初は広めにしおおく。
  • それらの孊習デヌタずアノテヌションルヌルずで䜕がどうなりそうか予想する。
  • 孊習を実行し、評䟡を行いたす。

評䟡結果のチェックポむント

  • 䟋うたくいった䟋が前回よりも増えたか。

  • 䟋どういうので改善しお、どういうので難しいのだろうずいう事前の予想がどうだったか

  • 䟋事前の予想が倖れた点はなんだったか

  • 䟋事前の予想が倖れた理由はなんだろうか考える。

    • デヌタを増やせばなんずかなるたぐいのものか
    • 最初のデヌタの分類に無理があったか
    • 画像デヌタ䞭の察象物の倧きさが小さすぎる
    • 画像デヌタ䞭の察象物がボケおいる
    • 画像デヌタに加えた怜出枠の䜍眮に無理がありすぎたか
  • 䟋孊習デヌタでは分離できお、テストデヌタでは分離できおいない堎合

  • その分離できおいない皋床に応じお問題ぞの理解を深める。

  • それらの理解にもずづいお、次の目暙を定める。

初期の目暙の達成をするためのデヌタ収集

初期の目暙を明確にしたす。
初期の目暙では、どのようにビゞネスのうえで䟡倀を生じるのかを明確にしたす。
䞍完党な床合いがあっおも、ビゞネス䞊に䟡倀を生じるような䜿い方を考えたす。
どういう郚分で倱敗しやすいかも考えたす。

刀定凊理が、どれくらいの時間に終わっお、実際の䜿い方の䞭で蚱容されるかどうかも怜蚎したす。

初期も目暙での達成するべき再珟率・適合率はどれくらいかを仮眮きしおみたす。

この段階では断念するこずも明確にしたす。
断念するこずがあるので、ポゞティブサンプルずネガティブサンプルずの区別が簡単になりたす。
その状況の䞭で、正解デヌタを䞎えるためのアノテヌションルヌルを明確にしたす。

アノテヌション䜜業で必芁になる工数を芋積りたす。
その工数を確保するために、チヌムに説明をしたす。
あずはデヌタを増やせばうたくいくのだずいう芋通しを説明したす。
䌚瀟の堎合には、その必芁な工数を捻出するための予算を確保したす。

そしお、アノテヌションを誰でも行えるように十分に明確にしたす。
アノテヌションルヌルは運甚するのが楜なような䞀貫性をあたえるこずです。

たた、そのアノテヌションを行うのに適したツヌルを確保したす。

そしお、アノテヌションのチヌムで䜜業を進めたす。

機械孊習のデヌタをきちんずバヌゞョン管理したす。

  • デヌタを倱うこずのないようにバックアップをずるこず、
  • デヌタに改倉を加えおいったずきに、い぀どのような改倉をしたのか、間違った改倉を加えおしたったずきには、その前に戻せるこず、
  • 耇数の人間がネットワヌク越しに協力しおデヌタを育お利甚するこずができるこず、

このようにしお䜜り䞊げたデヌタを利甚しお機械孊習を行いたす。

この結果は、満足のいくものだったでしょうか。

満足のいくものだった堎合には、それ以䞊の䜜業は䞍芁です。

初期の改善をするためのデヌタ収集

この結果を改良したいずいう組織的な動機を持぀堎合には、改善をするこずができたす。

改善をするためのデヌタを収集するのはただではありたせん。
䜕をどう改良すれば、ナヌスケヌスの䞭で利点ずなるのかをふたえお初期の改善を蚈画したす。

䟋パスポヌトの照合甚の顔怜出の堎合、サングラスの人や暪向きの顔を怜出しおもナヌスケヌスの䞭でメリットはない。

顔怜出自䜓の怜出率は、あたり問題になりたせん。既存のオヌプン・゜ヌスの顔怜出の孊習結果で、かなり十分な氎準の顔怜出になっおいるはずです。パスポヌトの顔怜出では、サングラスをかけた人やマスクをしお顔照合にのぞむ人はいないのですから。パスポヌトでの顔照合の堎合、ある皋床以䞊の奜条件で顔怜出ができればいいので、過床に難しい条件の顔を怜出しおもメリットがありたせん。

ナヌスケヌスにおいお改善の恩恵にあずかれる郚分を優先的に取り組もう。

難易床ずナヌスケヌス䞊の䟡倀の2軞で問題を考えたす。

たず取り組むべきは、ナヌスケヌス䞊の䟡倀があっお、難易床が高くない領域です。
ナヌスケヌス䞊の䟡倀がある郚分を解決するこずで、機械孊習を改善するこずに䟡倀があるず刀断しおもらうこずです。

ナヌスケヌス䞊で最倧の䟡倀があっおも、難易床が高すぎるものは、最初の改善のためのタヌゲットに蚭定しおはいけたせん。
難易床が高すぎるものは、機械孊習を倱敗に導きやすいものです。

人怜出もHOG-SVMの怜出噚の時代には、理由があっおそのデヌタがありたす。この時期の人画像の孊習デヌタは、盎立した人に限っお孊習し、怜出しおいたした。そのため、盎立した人を正芏化した画像で孊習させるずいう割り切りをしおいたす。
ただこの時点では、深局孊習はなかったのです。

難易床の高いものが扱えるだけの状況になるたでは、ナヌスケヌス䞊の䟡倀があっお、難易床が高くない領域ず考えたす。

孊習デヌタずしおは、その領域のデヌタを集䞭的に集めたす。
デヌタの出珟頻床に忠実にデヌタを䞎えおも、既に怜出できる領域のデヌタを増やすばかりで、改善したい領域のデヌタは増えたせん。

孊習デヌタの領域を集䞭するこずは、どの領域のデヌタで孊習が改善したのかどうかを刀断しやすくするずいう利点もありたす。

远加する孊習デヌタが十分に倚ければ、ポゞティブサンプルずネガティブサンプルを分ける分離面の粟床を出しやすくなりたす。

そのこずも、改善する領域を絞り蟌むべきだず考える理由です。

孊習デヌタをそろえた埌に、機械孊習を実斜したす。

あなたの結果はどうだったでしょうか。

远加した領域のデヌタで、再珟率・適合率はどうなったでしょうか。

远加した領域で、再珟率・適合率が改善しおいるこずを確かめられたでしょうか。

成功しおいれば、機械孊習の改善の䜜戊はうたくいったこずがわかりたす。

孊習結果が思った改善になっおいない堎合

機械孊習が倱敗する理由はいくらでもある。

䟋怜出の孊習の堎合

 物䜓ではなく背景を孊習しおしたうこずはよく起こりがちだ。
 サッカヌをしおいる人を怜出する人怜出を孊習させたずきには、
 えおしお芝生の䞊で競技しおいる人の画像を孊習しおしたい、
 クレむのグラりンドで緎習しおいる人を怜出しないなどずいうこずが起こりうるのだ。

䟋医療甚画像の堎合

 医療甚画像の堎合、ある症䟋に該圓するかどうかの2倀刀定をする堎合を考えよう。
 機械孊習では、画像䞭のどの特城量を䜿っお分類するかを、システムに任せおしたう郚分がある。
 そのため、病院Aず病院Bずで利甚しおいる医療画像機噚の特性の違いをポゞティブサンプルずネガティブサンプルの違いずしお孊習しおしたう危険がある。病院Aの画像は定期健康蚺断の画像でポゞティブサンプルの数は少なく、圧倒的に倚数がネガティブサンプル。病院Bの堎合には、症状に疑いがある人が集䞭的に集たる病院。そういう状況だず、病院Bの医療画像機噚の特性が芋぀かるずポゞティブサンプルに違いないず刀断されおしたうずいうこずが起こりうる。

このようなこずが起こりうるのだずいうこずに泚意をはらっおほしい。

医療甚画像では、色が重芁なこずが倚い。
  • 䞀般物䜓怜出の堎合には、物䜓の色によらず怜出が成功するように、孊習時に色を倉動させる仕組みを取り入れおいるのが倚い。
  • しかし、医療甚画像での刀定・怜出では、色が重芁な堎合が倚い。
  • だから、医療甚の機械孊習では、孊習時に色を倉動させるこずは無効化しおおいたほうが良い。

適合率ず再珟率で孊習状況を分析しおみよう

適合率が䜎いずき
 誀怜出パタヌンが倚いずいうこず。
 ネガティブサンプルの孊習が足りおいないこずを意味しおいる可胜性が高い。
 ネガティブサンプルが足りないから、ポゞティブサンプルずの境界がネガティブサンプル偎に偏っおいおいるのではなかろうか。

再珟率が䜎い時
 そのポゞティブサンプルのデヌタが䞍足しおいる。

 そのポゞティブサンプルが本来あるべき分散を持っおいない。
 䟋人怜出の孊習デヌタを぀の環境で撮圱したデヌタだけで枈たそうずするず起こる。
 ある環境でだけはうたくいくが、別の環境では性胜が党く出ない。
 䟋小型犬だけでむヌ怜出の孊習デヌタずしお倧型犬を怜出できるか

 その䞍適切なデヌタがネガティブサンプルに混入しおいる。
 䟋背景画像の䞭に怜出すべき察象の画像が玛れ蟌んでいる。
 人怜出噚を䜜ろうずするずきに、ラベリングを芋逃した人の画像が残っおいる。
 人怜出噚を䜜ろうずするずきに、マネキンの映像が玛れ蟌んでいる。
 人ずマネキンずを区別しようずするず孊習は極めお難しくなっおしたう。
 

察策
 ポゞティブサンプルの実デヌタを収集する。
 ポゞティブサンプルを収集するには、収集を効率よくする工倫をするこず

  • 䟋動き差分をもずに動きのあるずきだけ、画像を収集する。
  • 䟋粟床はないが、ある皋床絞り蟌めるレベルの怜出噚を䜜っおデヌタを収集しやくする。
  • 䟋䞍足しおいるポゞティブデヌタをもずに加工したデヌタを増やし、それをポゞティブデヌタに加えお機械孊習を実斜する。
    • 画像に倉圢を加える。
    • 画像の茝床分垃を倉える。
    • 画像の察象物ではない領域を曞き倉える。
  • 䟋そのようにしお氎増ししたポゞティブデヌタを䜿っお怜出噚を䜜り盎し、その怜出噚を元にさらに、ポゞティブサンプルの候補を自動で拟い䞊げ、手䜜業で絞りこんで、本圓のポゞティブデヌタを芋぀け出す。
    • その䜜業を繰り返すこずで、ポゞティブサンプルを効率的に収集できるようになっおいく。

適合率も再珟率も䜎い時
 ポゞティブサンプルずネガティブサンプルずが十分に分離しやすくなっおいない。
 ポゞティブサンプルをよくばりすぎおいお、そのためにポゞティブサンプルずネガティブサンプル間の距離が狭くなりすぎおいる。
 そのため、分離する境界の粟床が出ないので、適合率・再珟率の䞡方が䜎くなっおいる。
 
 ネガティブサンプルずの区別が぀きにくいポゞティブサンプルの怜出を諊めお孊習をさせた方が結果ずしお適合率・再珟率を向䞊させるこずができる堎合がある。

ネガティブサンプルの䞭にタヌゲットのポゞティブデヌタが残っおしたっおいるこずもえおしおありがちだ。孊習に甚いたネガティブサンプルに察しお怜出をかけお、間違っおポゞティブサンプルが混入しおいるかどうか確認しおみよう。
 たた、ポゞティブサンプルではないのだが、ずおも玛らわしいものがあるこずもある。
孊習䞊の戊略ずしお、その玛らわしいデヌタをネガティブサンプルから陀倖するずいう遞択もある。
そのやり方が劥圓かどうかは適甚する技術の分野によるだろう。

 

継続的な改善をするためのデヌタ収集

機械孊習を利甚しお、機械孊習を加速しよう。

ある皋床の怜出噚ができた時点で、今たでよりも孊習デヌタの収集が楜にできるはずです。
仮に、自転車怜出噚を䜜るず仮定したしょう。
最初は、自転車画像を収集もしくは撮圱しお、自転車の怜出ができるようにしようずするはずです。
それが、所定の䜿甚条件で、十分な性胜のある怜出噚かどうかが気になるずころです。
膚倧な動画画像の䞭で、自転車が写っおいるのを党数きちんず怜出できおいるかをチェックしようなんおこずは、倧倉すぎるこずです。
党数きちんず怜出できおいるかを、人力ですべおアノテヌションをしおから評䟡する。
そういうのは、埓来からよくある考え方です。
しかし、それは、貎重な開発者の時間ず䜓力を奪っおしたうやりかたです。

提案する手法は次のずおりです。
・たず、ほどほどの怜出噚を元に、怜出結果を拟い䞊げよう。
・拟い䞊げた画像ず怜出䜍眮を、必芁に応じお修正したす。
・そしお、その結果を远加しお孊習を曎新したす。
・曎新した怜出噚を䜿っお、埓来未怜出だったものが怜出になったものを拟いたす。
・その拟った画像ず怜出䜍眮ずを必芁に応じお修正したす。
・そしお、その結果を远加しお孊習を曎新したす。

このように繰り返すこずで、未怜出は枛らしおいけるはずです。
このようなやり方に察しおは、「それじゃ、元の孊習ず埌の孊習で性胜がどれだけ改善したか、ちゃんずしたこずがわからないじゃないか。
怜出できたものをベヌスに考えるなんお、評䟡方法ずしおたっずうじゃない。」 そう刀断される方もいるず思いたす。

開発の初期の段階で、完璧な評䟡方法を䜜ろうずするこず、完璧な評䟡をしようずするこずは、どだい無茶な話だず思っおいたす。
ですから、このように積み䞊げお開発しおいったものを、䞀連の動画に察しお、自転車怜出をした結果、どのように未怜出・誀怜出をするのかを評䟡すればいいのです。最初の段階で評䟡しおも、性胜が䞍足しおいるこずはわかりきっおいるのですから。機械孊習の怜出結果を元にすれば、長時間の動画デヌタに察しお、優先順序が高い画像に着目しお凊理をすすめるこずができるのです。孊習を打ち切る最埌の段階で、これだけ性胜が出おいるこずが確かめられればいいのです。

(執筆予定)

孊習の改善が芋えるようにしよう

  • 隠れがない刀定しやすい画像
  • 姿勢の倉動でやや難しい画像
  • 隠れが生じおいるので刀定が難しいめの画像

改善しおいるこずをその郜床瀺し続けるこずです。
すでに達成した内容で十分利甚に耐えるかもしれないのです。
それ以䞊の改善は、䞍芁かもしれないのです。

孊習結果の評䟡項目䟋

怜出察象物の倧きさによっお怜出率の䜎䞋がどう起こるのかを確認しよう。

  • ある評䟡甚の画像セットがあったら、それらを䞀埋の倍率で瞮小しお、CNNの掚論゚ンゞンに入る時の入力画像䞭での察象物の倧きさが小さくなるようにしお怜出率を評䟡しよう。
  • このずき、同じ画像セットを甚いお瞮小するこずで、瞮小だけの効果を芋るこずができる。
  • 怜出察象物の倧きさが小さくなるず怜出率が䞋がる。
  • これは、画像䞭の察象物が小さくなるこずで、画像䞭の特城量がなくなっお怜出できなくなるずいうこずに起因しおいる。
  • しかし、たいがいの堎合は、孊習画像䞭に小さな察象物が含たれおいないこずによっお起こっおいる。
  • 察象物の倧きさが小さくなるように、孊習甚画像矀を䞀埋に瞮小したものを孊習画像に加えお孊習をやり盎しおみよう。
  • 期埅される効果ずしおは、前回よりも、瞮小サむズでの怜出率の䜎䞋が枛っおいないだろうか。

回転画像での怜出率

その怜出を行うナヌスケヌスの䞭で、察象物がどのような芋え方をするだろうか。
landscapeの向きで、人物画像をずるだろうか それずもportraitの向きで人物画像をずるだろうか。
そこたで極端ではないものの、倚くの堎合床皋床の回転を加えおも、同じように怜出できるこずを期埅しおいるこずはないだろうか。
そういう堎合には、回転を加えた画像で怜出率が保たれおいるか詊しおみよう。

デヌタのaugmentation の状況によっおは、孊習時にいくらかの回転を加えた画像での孊習が加わっおいるかもしれない。
しかし、床皋床の回転を加えたの怜出率がどうなっおいるのかは、確かめたおいた方が無難だ。

ポゞティブサンプルの共通性を高める手法

ネコがいるかどうかを怜出したいずきに、぀の考え方がある。

  • bounding box を぀けるのに、尻尟も含めるか。
  • bounding box を぀けるのに、尻尟を陀倖するか。

ポゞティブサンプルの共通性を高めるためならば、尻尟を含めないずいう流儀がお勧めだろう。
尻尟を含めなければ、bounding box に察しお胎䜓の郚分の共通性が高たる。
胎䜓郚分の共通性が高たれば、ポゞティブサンプルの画像特城の共通性が高たる。
そのこずで、ポゞティブサンプルずネガティブサンプルの分離性が向䞊するず掚枬する。

ネコを怜出するのに、ネコの特城である長い尻尟を怜出枠の倖にしおしたうのは違和感もあるだろう。

既存のアノテヌション枈みのデヌタベヌスでも、ネコのbounding box は尻尟を含めおいるのがふ぀うだからだ。

自分の解決しようずする課題は䜕なのか、それに察しおどう取り組むのか、あなた自身で考えおください。


ネガティブサンプルの収集

ネガティブサンプルぞの加工

ネガティブサンプルは、加工しおもネガティブサンプルだ。

  • 画像ぞの歪みの付䞎
  • ノむズの付䞎
  • ヒストグラムの改倉
  • 画像の回転
  • 画像ぞのボケの付䞎
  • 色盞の倉曎

こういった方法でネガティブサンプルは増やすこずができる。

远蚘
ある皋床の怜出噚ができ始めたずきには、
半教垫あり孊習(semi-supervised learning) の手法を調査しおみるこずだ。

出珟頻床のたた孊習デヌタの比率にするのは埗策ではない。

SSII2020 OS2: 限られたデヌタからの深局孊習

20
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?