$30 off During Our Annual Pro Sale. View Details »

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

ABEJA
March 04, 2019

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

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

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

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

ABEJA

March 04, 2019
Tweet

More Decks by ABEJA

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. ABEJA Platform for AI Pipeline
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
    Ξϊςʔ
    γϣϯ
    ऩू ஝ੵ ֶश σϓϩΠ
    ܧଓత
    ΠϯςάϨʔγϣϯ
    ࣮ߦ

    View Slide

  4. Ξϊςʔγϣϯͱ͸ʁ
    ඇߏ଄σʔλ Ξϊςʔγϣϯ ߏ଄σʔλ
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
    Ξϊςʔ
    γϣϯ

    View Slide

  5. Ξϊςʔγϣϯͱ͸ʁ
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
    Ξϊςʔ
    γϣϯ

    View Slide

  6. Ξϊςʔγϣϯͱ͸ʁ
    ▪ Ωζݕग़
    ▪ ෆྑ඼ݕग़
    ▪ ෦඼෼ྨ
    ▪ ࣗಈӡస
    ▪ ةݥ෺ମೝࣝ
    ▪ ॻྨ෼ྨ
    ▪ จࣈೝࣝ
    Face
    ▪ إೝূ
    ▪ إͷ೥ྸ/ੑผ
    ▪ ਓ਺Χ΢ϯτ
    ▪ ද৘ݕग़
    ▪ ෦԰෼ྨ
    ▪ Ձ֨ࣗಈࠪఆ
    ▪ Ի੠ೝࣝ
    ▪ Ի੠ͷจॻԽ
    ▪ ࣗಈ຋༁
    ▪ ίʔϧηϯλʔͷࣗಈԠ౴
    ▪ ΦϖϨʔγϣϯͷՄࢹԽ
    ▪ ϒϥϯυ඼෼ྨ
    ▪ ϑΝογϣϯݕग़
    ▪ ࣗಈλά෇͚
    ▪ ࣗಈࠪఆ
    Defective
    Parts
    Fashion
    Car
    Document
    Home
    Voice
    Operation
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
    Ξϊςʔ
    γϣϯ

    View Slide

  7. ABEJA Platform Annotation
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश

    View Slide

  8. Ξϊςʔγϣϯͷछྨ
    σʔλͷ
    औಘ
    σʔλͷ
    ஝ੵ
    όϦσʔ
    γϣϯ
    Ξϊςʔ
    γϣϯ
    Ϟσϧߏ

    ֶश ධՁ σϓϩΠ ਪ࿦ ࠶ֶश
    ը૾
    ςΩετ
    Ի੠
    ಈը
    ఺܈
    ࣌ܥྻ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. ABEJA Platform Annotation

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  24. Annotationͷཁ݅ఆٛ

    View Slide

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

    View Slide

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

    View Slide

  27. View Slide

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

    View Slide

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

    View Slide

  30. 料理の分類は簡単?

    View Slide

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

    View Slide

  32. View Slide

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

    View Slide

  34. View Slide

  35. ࣽ͠Ί ஜલࣽ

    View Slide

  36. View Slide

  37. View Slide

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

    View Slide

  39. 解決案1: 詳細なルール決め
    ஜલࣽ
    ࣽ͠Ί
    େࠜ
    ཬҶ
    ͚ͨͷ͜
    ܲ೑
    χϯδϯ
    Ϩϯίϯ
    ΰϘ΢
    ίϯχϟΫ
    χϯδϯ
    Ϩϯίϯ
    ίϯχϟΫ
    ΰϘ΢
    ͖͵͞΍

    View Slide

  40. 解決案2: ラベル間引き
    ࣽ͠Ί ஜલࣽ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ֤ΞϊςʔλʔͷCMΛ୯ҐߦྻͰॳظԽ
    E-step: 

    ΞϊςʔλʔͷCMΛݻఆͨ͠΋ͱͰ

    ֤σʔλͷϥϕϧΛ໬౓ਪఆ

    M-step:
    ϥϕϧͷ໬౓Λݻఆͨ͠΋ͱͰCMΛߋ৽
    ੑผਪఆ ೥୅ਪఆ

    View Slide

  47. Χϝϥө૾ʹର͢ΔΞϊςʔγϣϯղੳྫ
    ੑผ ೥୅
    Worker1
    Worker2
    Worker3
    Worker4
    ੑผ ೥୅ ੑผ ೥୅
    Χϝϥ1 Χϝϥ2 Χϝϥ3

    View Slide

  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 ਅͷϥϕϧ

    View Slide

  49. ख़࿅޻൑அϞσϧ
    ྫ) ই/αϏ൑ఆػ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  56. 解決案1: 画像補正

    View Slide

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

    View Slide

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

    View Slide

  59. ϚχϡΞϧվળࢧԉ

    View Slide

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

    View Slide

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

    View Slide

  62. マニュアル改善支援
    ϚχϡΞϧ
    ࡞੒
    ϚχϡΞϧͷ
    ਫ਼౓ݕূ
    ෆ໌఺ڞ༗/
    ϑΟʔυόοΫ/
    ΞυόΠε
    ϚχϡΞϧ
    վળ
    ϚχϡΞϧਫ਼౓:
    62%
    ϚχϡΞϧਫ਼౓:
    80%
    ϑΟδϏϦςΟ
    Ξϊςʔγϣϯ
    ϑΟδϏϦςΟ
    ݁Ռ
    ϨϏϡʔ
    ϚχϡΞϧͷ৘ใ͚ͩ
    ͰΞϊςʔγϣϯ
    ϚχϡΞϧਫ਼౓:
    92%

    View Slide

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

    View Slide

  64. Ξϊςʔλʔͷ෼ੳ

    View Slide

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

    View Slide

  66. Ξϊςʔλʔͷ෼ੳ

    View Slide

  67. Ξϊςʔλʔͷ෼ੳ

    View Slide

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

    View Slide

  69. ࣄલਪ࿦

    View Slide

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

    View Slide

  71. 効果

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  75. ຊ೔ͷ·ͱΊ

    View Slide

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

    View Slide