Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アノテーションで精度の高い教師データを作成する為に必要な仕組み

Ade0cb4143c001fef8ca5aa320c2eb1d?s=47 ABEJA
March 04, 2019

 アノテーションで精度の高い教師データを作成する為に必要な仕組み

SIX 2019 dev-a-3
Takuma Teramoto @ABEJA, Inc.

「アノテーションで精度の高い教師データを作成する為に必要な仕組み」

ABEJA Platform Annotationでは、アノテーションツールの提供と、アノテーション委託サービスの提供を行っています。2017年にサービスを開始し、現在、我々のサービス上で数百万件ものアノテーション、教師データの作成が実施されています。
本セッションでは、学習モデルの精度改善に重要となってくる、大量の高品質な教師データを効率的に作成する際に必要となってくる仕組みやポイントを実際の研究などの事例を交えて、お伝えします。

Ade0cb4143c001fef8ca5aa320c2eb1d?s=128

ABEJA

March 04, 2019
Tweet

More Decks by ABEJA

Other Decks in Technology

Transcript

  1. DAY 1 “ٕ” Developer Day ਫ਼౓ͷߴ͍ڭࢣσʔλΛ࡞੒͢Δ ࢓૊Έͱӡ༻ ࣉຊ୓ຏɹגࣜձࣾABEJA Ξϊςʔγϣϯࣄۀ෦

  2. Profile ໊ݹ԰ग़਎ɻେֶ͸ϝσΟΞ৘ใΛઐ߈ɻࡏֶதʹ࣍ ੈ୅ܕΠϯλʔϑΣʔεͷݚڀΛߦ͍ɺ৽ଔͰήʔϜ ΤϯδχΞͱͯ͠ηΨήʔϜεʹೖࣾɻίϯγϡʔϚʔ ήʔϜιϑτͷ։ൃۀ຿ɺιʔγϟϧήʔϜ։ൃۀ຿ ʹैࣄɻ 2016೥ʹגࣜձࣾABEJAʹσβΠφʔͱͯ͠ೖࣾɺͦ ͷޙBtoBࣄۀͷΧελϚʔαΫηε΍ϓϩμΫτΦʔ φʔͷܦݧΛܦͯɺݱࡏ͸Ξϊςʔγϣϯࣄۀ੹೚ऀ ʹैࣄɻ

    σʔλΛ׆༻ͨ͠৽نࣄۀ։ൃͳͲΛओʹߦ͍ͬͯΔɻ
  3. ABEJA Platform for AI Pipeline σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ

    γϣϯ Ξϊςʔ γϣϯ Ϟσϧߏ ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश Ξϊςʔ γϣϯ ऩू ஝ੵ ֶश σϓϩΠ ܧଓత ΠϯςάϨʔγϣϯ ࣮ߦ
  4. Ξϊςʔγϣϯͱ͸ʁ ඇߏ଄σʔλ Ξϊςʔγϣϯ ߏ଄σʔλ σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ γϣϯ

    Ξϊςʔ γϣϯ Ϟσϧߏ ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश Ξϊςʔ γϣϯ
  5. Ξϊςʔγϣϯͱ͸ʁ σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ γϣϯ Ξϊςʔ γϣϯ Ϟσϧߏ

    ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश Ξϊςʔ γϣϯ
  6. Ξϊςʔγϣϯͱ͸ʁ ▪ Ωζݕग़ ▪ ෆྑ඼ݕग़ ▪ ෦඼෼ྨ ▪ ࣗಈӡస ▪

    ةݥ෺ମೝࣝ ▪ ॻྨ෼ྨ ▪ จࣈೝࣝ Face ▪ إೝূ ▪ إͷ೥ྸ/ੑผ ▪ ਓ਺Χ΢ϯτ ▪ ද৘ݕग़ ▪ ෦԰෼ྨ ▪ Ձ֨ࣗಈࠪఆ ▪ Ի੠ೝࣝ ▪ Ի੠ͷจॻԽ ▪ ࣗಈ຋༁ ▪ ίʔϧηϯλʔͷࣗಈԠ౴ ▪ ΦϖϨʔγϣϯͷՄࢹԽ ▪ ϒϥϯυ඼෼ྨ ▪ ϑΝογϣϯݕग़ ▪ ࣗಈλά෇͚ ▪ ࣗಈࠪఆ Defective Parts Fashion Car Document Home Voice Operation σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ γϣϯ Ξϊςʔ γϣϯ Ϟσϧߏ ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश Ξϊςʔ γϣϯ
  7. ABEJA Platform Annotation σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ γϣϯ Ξϊςʔ

    γϣϯ Ϟσϧߏ ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
  8. Ξϊςʔγϣϯͷछྨ σʔλͷ औಘ σʔλͷ ஝ੵ όϦσʔ γϣϯ Ξϊςʔ γϣϯ Ϟσϧߏ

    ங ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश ը૾ ςΩετ Ի੠ ಈը ఺܈ ࣌ܥྻ
  9. ը૾ͷݕग़(Image Detection)

  10. ը૾ͷݕग़(Image Detection)

  11. ྖҬͷநग़(Image Segmentation)

  12. ଟ֯ܗநग़(Polygon Detection)

  13. ಈըͷγʔϯݕग़(Scene Recognition)

  14. ಈըͷγʔϯݕग़(Text Extraction)

  15. ABEJA Platform Annotation ABEJA Platform Annotation͸ɺ௚ײతͳΞϊςʔγϣϯઐ༻πʔϧ(β൛)ɺΞϊςʔγϣϯҕୗαʔϏεͷ 2ͭͷϓϥϯΛఏڙ͓ͯ͠Γɺ͍ͣΕ΋඼࣭ͷߴ͍ڭࢣσʔλΛߴ଎ʹఏڙ͢Δ͜ͱʹಛԽ͍ͯ͠·͢ɻ

  16. ABEJA Platform Annotation ABEJA Platform Annotation͸ɺ2017೥ʹͦͷαʔϏεΛ։࢝ͯ͠Ҏདྷɺ ͢Ͱʹ਺ඦສ݅Ҏ্ͷΞϊςʔγϣϯΛ࣮ࢪ͍ͯ͠·͢ɻ ଟ͘ͷۀछɺۀଶͷاۀ͕αʔϏεΛ׆༻͠ɺػցֶशͷ։ൃɾӡ༻ΛՃ଎͍ͯ͠·͢ɻ

  17. ABEJA Platform Annotation

  18. σʔληοτͷਫ਼౓ͱϞσϧֶश

  19. Noisy ֶशσʔλαΠζେ ਫ਼౓ Effect of Annotation Noise x Train Data

    Size
  20. Accuracy Progress MNIST CIFAR10 CIFAR100 ΞϊςʔγϣϯϊΠζͷগͳ͍ଟྔͷσʔλ͔Βֶशͨ͠΄͏͕ߴਫ਼౓

  21. Relative Accuracy Progress (Acc. / Best Acc.) ΞϊςʔγϣϯϊΠζͷগͳ͍ଟྔͷσʔλ͔Βֶशͨ͠΄͏͕ਫ਼౓޲্͕଎͍ MNIST CIFAR10

    CIFAR100
  22. ਫ਼౓ͷߴ͍ڭࢣσʔλΛ࡞੒͢Δ ࢓૊Έͱӡ༻

  23. ̍ɽཁ݅ఆٛ(ϧʔϧઃఆ) ̎ɽΞϊςʔλʔͷ෼ੳ ̏ɽֶशࡁΈϞσϧʹΑΔΞϓϩʔν

  24. Annotationͷཁ݅ఆٛ

  25. Q. AͱBͲͪΒ͕ʰݘʱͰͲͪΒ͕ʰೣʱͰ͠ΐ͏ʁ A. B. ݘ ೣ

  26. ࣮Ϗδωεʹ૊Έࠐ·ΕΔϞσϧ͸ ΋ͬͱߴ౓ͳ൑அΛཁٻ͞ΕΔ

  27. None
  28. ΞϥεΧϯϚϥϛϡʔτ γϕϦΞϯϋεΩʔ Ҿ༻: https://wanchan.jp/osusume/detail/6820

  29. ߴ೉౓൑அϞσϧ ྫ) ྉཧ൑ఆػ

  30. 料理の分類は簡単?

  31. ࣍ͷը૾܈Λ ࣽ͠Ίɾஜલࣽ ʹ෼ྨ͍ͯͩ͘͠͞

  32. None
  33. ࣽ͠Ί: ࣽो͕࢒Βͳ͍Α͏ʹ࣌ؒΛ͔͚ͯͬ͘͡ΓࣽΔௐཧ๏ ஜલࣽ: ࣽΔલʹ༉ͰᖱΊͯɺՐ͕௨Γ΍ͨ͘͢͠Γɺ ΞΫ͕Ͱͳ͍Α͏ʹ͢Δௐཧ๏

  34. None
  35. ࣽ͠Ί ஜલࣽ

  36. None
  37. None
  38. 高難度判断データセット化の課題 •ڥքઢ͕ᐆດͷҝɺΞϊςʔλʔʹΑͬͯ܏޲͕ϒϨΔ •Ξϊςʔλʔͷ஌ࣝ΍จԽͷࠩͰ݁Ռ͕༳ΕΔ •౴͕͑ॏͳΔը૾ͱϥϕϧ͕ϓϩδΣΫτ಺ʹଘࡏ͢ΔՄೳੑ͕༗Δ

  39. 解決案1: 詳細なルール決め ஜલࣽ ࣽ͠Ί େࠜ ཬҶ ͚ͨͷ͜ ܲ೑ χϯδϯ Ϩϯίϯ

    ΰϘ΢ ίϯχϟΫ χϯδϯ Ϩϯίϯ ίϯχϟΫ ΰϘ΢ ͖͵͞΍
  40. 解決案2: ラベル間引き ࣽ͠Ί ஜલࣽ

  41. ఆੑ൑அͷϞσϧ ྫ) ೥ྸ/ੑผ൑ఆػ

  42. 年齢/性別を教師付けして学習 20୅/உੑ 20୅/ঁੑ 50୅/உੑ Model

  43. 実際にカメラから上がってくる研究用の社内カメラ映像データ 35ࡀ 34ࡀ 28ࡀ

  44. 定性判断のデータセット化の課題 •ڥքઢ͕ᐆດͷҝɺΞϊςʔλʔʹΑͬͯ܏޲͕ϒϨΔ •ࣗ෼ͱ઀఺͕͋·Γͳ͍೥୅͸ಛʹ೉͍͠ •܏޲ͷภΓΛແ͘͢ҝʹ͸ଟ͘ͷΞϊςʔλʔ͕ඞཁ

  45. 解決案: 複数人による冗長性アノテーション 34ࡀ/உੑ 39ࡀ/உੑ 32ࡀ/உੑ ɾଟ਺ܾ ɾฏۉԽ ɾೝ͕ࣝ೉͍͠σʔλͱ ֶͯ͠श ɾΞϊςʔλʔͷॏΈ෇͚

    35ࡀ/உੑ TaskID: 1 TaskID: 1
  46. Inferring Annotators’ CMs with EM-algorithm ಉҰσʔλΛෳ਺ͷΞϊςʔλʔʹׂΓৼΓɺͦͷ݁ՌͷҰ؏ੑΛ΋ͱʹΞϊςʔλʔ͝ͱͷ Ξϊςʔγϣϯ܏޲ʢConfusion Matrix, CMʣΛਪఆ Initialize:


    ֤ΞϊςʔλʔͷCMΛ୯ҐߦྻͰॳظԽ E-step: 
 ΞϊςʔλʔͷCMΛݻఆͨ͠΋ͱͰ
 ֤σʔλͷϥϕϧΛ໬౓ਪఆ
 M-step: ϥϕϧͷ໬౓Λݻఆͨ͠΋ͱͰCMΛߋ৽ ੑผਪఆ ೥୅ਪఆ
  47. Χϝϥө૾ʹର͢ΔΞϊςʔγϣϯղੳྫ ੑผ ೥୅ Worker1 Worker2 Worker3 Worker4 ੑผ ೥୅ ੑผ

    ೥୅ Χϝϥ1 Χϝϥ2 Χϝϥ3
  48. Model-based Method ίετͷ͔͔ΔॏෳΞϊςʔγϣϯͳ͠Ͱ΋ɺΞϊςʔλʔͷڍಈࣗମΛϞσϧԽ͢ Δ͜ͱͰɺΞϊςʔγϣϯͷ܏޲ΛਪఆՄೳ [3] A. Khetan+, “Learning From Noisy

    Singly-labeled Data”, 2017 p(y|x, i) = E y|z⇠p(y|z,i) [p(z|x)] Ξϊςʔγϣϯ σʔλ Ξϊςʔλʔ ਪఆϞσϧ Confusion Matrix ਅͷϥϕϧ
  49. ख़࿅޻൑அϞσϧ ྫ) ই/αϏ൑ఆػ

  50. 製造部品の不良品検知

  51. 製造部品の不良品検知 - 傷 - 打痕 - 汚れ - サビ

  52. 傷や汚れが細かったり

  53. 様々なパターンの画像が生データとして入ってきたり

  54. 傷・サビのレベル感や程度で分類する必要があったり ԚΕ Level3 ԚΕ Level1 ԚΕ Level3

  55. 熟練工判断データセット化の課題 •ը૾্Ͱɺࣝผ͢Δϥϕϧ͕ࡉ͔͍ •ঢ়ଶɾࡱӨ֯౓ɾ໌౓ɾً౓ɾ৭ຯ౳ɺ༷ʑͳੜσʔλͷύλʔϯ͕ λεΫͱͯ͠ೖͬͯ͘Δ •ই΍αϏͷఔ౓Ͱ෼ྨΛߦ͏ඞཁ͕͋Γɺڥքઢ͕ᐆດ

  56. 解決案1: 画像補正

  57. 解決案2: 境界線定義 αϏ Level1 αϏ Level2 αϏ Level3 MIN MAX

    MIN MAX MIN MAX
  58. 解決案3: チェックフロー定義

  59. ϚχϡΞϧվળࢧԉ

  60. マニュアル改善支援 ॳ৺ऀ ख़࿅ऀ 1೥ 1ϲ݄

  61. マニュアル改善支援 ॳ৺ऀ ख़࿅ऀ OK!

  62. マニュアル改善支援 ϚχϡΞϧ ࡞੒ ϚχϡΞϧͷ ਫ਼౓ݕূ ෆ໌఺ڞ༗/ ϑΟʔυόοΫ/ ΞυόΠε ϚχϡΞϧ վળ

    ϚχϡΞϧਫ਼౓: 62% ϚχϡΞϧਫ਼౓: 80% ϑΟδϏϦςΟ Ξϊςʔγϣϯ ϑΟδϏϦςΟ ݁Ռ ϨϏϡʔ ϚχϡΞϧͷ৘ใ͚ͩ ͰΞϊςʔγϣϯ ϚχϡΞϧਫ਼౓: 92%
  63. マニュアル改善支援 ॳ৺ऀ ख़࿅ऀ 1೥ 1ϲ݄

  64. Ξϊςʔλʔͷ෼ੳ

  65. Ξϊςʔλʔͷ෼ੳ ΞϊςʔλʔͷϩάʢλεΫ਺ɾλεΫͷ։࢝࣌ؒɾλε Ϋͷऴྃ࣌ؒɾNG཰౳ʣΛɺ σʔλϕʔεʹ஝ੵ͓ͯ͘͠ͱଟ༷ͳ෼ੳ͕Ͱ͖Δɻ

  66. Ξϊςʔλʔͷ෼ੳ

  67. Ξϊςʔλʔͷ෼ੳ

  68. ֶशࡁΈϞσϧΛ࢖ͬͨΞϓϩʔν

  69. ࣄલਪ࿦

  70. ᶃਪ࿦݁ՌͷϑΟʔυόοΫ ᶄΞϊςʔγϣϯ࣌ʹਪ࿦݁Ռ͕ࣄલදࣔ͞Εɺ ࠶ֶश༻ͷΞϊςʔγϣϯίετ͕লྗԽ ࣄલਪ࿦ ABEJA Platform·ͨ͸ ଞͷਪ࿦؀ڥ Annotation

  71. 効果

  72. ࣄલਪ࿦ޮՌ Ξϊςʔγϣ ϯίετ Ξϊςʔγϣ ϯίετ ࣄલਪ࿦ ਪ࿦ແ͠

  73. ࣄલਪ࿦ͷཹҙ఺ Ϟσϧͷਫ਼౓͕ߴ͍ఔɺ Ξϊςʔγϣϯ࡞ۀ͕ద౰ Խ͠ɺϞσϧͷؒҧ͍Λݟ མͱ͢Մೳੑ͕ߴ͍

  74. ࣄલਪ࿦ʹσίΠΛ͓ࠞͥͯ͘ Θ͟ͱϊΠζΛ͔͚ͨ μϛʔʹ͔͔͍ͬͯͳ͍͔ ఆظతʹνΣοΫ

  75. ຊ೔ͷ·ͱΊ

  76. • ߴੑೳͷֶशϞσϧΛ։ൃ͢Δҝʹ͸ɺେྔͷϊΠζͷগͳ͍ڭࢣσʔλ Λֶशʹ͔͚Δඞཁ͕͋Δɻ • ೉қ౓ͷߴ͍ΞϊςʔγϣϯͰ΋ɺࡉ͔͍ཁ݅ఆٛ෇͚ɺϑΟʔυόοΫ Λ܁Γฦͤ͹ɺҰఆਫ਼౓Ͱσʔλ࡞੒͕ՄೳʹͳΔɻ • Ξϊςʔλʔͷ෼ੳΛߦ͏͜ͱͰɺΞϊςʔλʔͷಛ௃΍λεΫͷϘτϧ ωοΫΛൃݟ͢Δ͜ͱ͕Ͱ͖Δɻ •

    ֶशࡁΈϞσϧΛ׆༻͠Ξϊςʔγϣϯʹରͯ͠ϑΟʔυόοΫ͢Δ͜ͱ Ͱɺίετ࡟ݮ΍඼࣭୲อΛߦ͏͜ͱ͕Ͱ͖Δɻ ຊ೔ͷ·ͱΊ