イラストからのコメント生成チュートリアル

 イラストからのコメント生成チュートリアル

nico-illustデータセット( https://dmv.nico/ja/nico-opendata/ )を用いて、イラストを入力すると適切なコメントを生成するモデルを学習する。

niconico超コメント生成ハッカソン
( https://chokaigi2016-dmv.connpass.com/event/28524/ )のチュートリアル資料です。

A82e268e52c06ad69b83f1a251c682d4?s=128

Keisuke OGAKI

March 21, 2016
Tweet

Transcript

  1. 5.

    Nico-illustλάೝࣝ •  ࢖ͬͯΔϞσϧ͸ɺVGGͷ Ұ൪খ͍͞Ϟσϧ •  λά͸ෳ਺͚ͭΒΕΔ΋ͷ Ͱ͋ΓɺϚϧνϥϕϧ໰୊ •  ग़ݱස౓্Ґͷ͏ͪɺΩϟ ϥΫλ໊ɾ࡞඼໊Λද͢΋

    ͷΛ400λά༻ҙ •  (ద੾ͳύϥϝλΛબ΂ ͹)GPUΛར༻ͯ͠1िؒ͘ Β͍Ͱऩଋ͢ΔɻτϨʔχ ϯάσʔλͰ༧ଌਫ਼౓5ׂ ͘Β͍ 5 ΞϦγΞɾιϦου χίχཱମͪΌΜ イラスト CNN タグ マルチラベル Sigmoid cross entropy
  2. 7.

    ྨࣅը૾ݕࡧ •  ྨࣅը૾ΛͲΜͲΜ ୧ͬͯɺٻΊΔը૾ʹ ͨͲΓண͚ΔUI •  ൅ܕɾ෰૷ͳͲͷΩϟ ϥΫλੑ͕ྨࣅ͍ͯ͠ Δը૾͕ީิʹग़ͯ͘ Δ

    –  ͜͜Ͱ͸ΩϟϥΫλͷྫ ͸ग़͞ͳ͍ͷͰɺͥͻ webσϞͰࢼͯ͠Έͯ͘ ͍ͩ͞ –  https://nico-opendata.jp/ ja/demo/similar/ 7
  3. 12.

    ίϝϯτಛ௃ͷநग़ \n ͖ ΌΘ ͨ Μ ͖ Ό Θ ͨ

    Μ 12 LSTM LSTM Linear •  ίϝϯτղੳͷϙΠϯ τ͸ɺܗଶૉղੳ্͕ ख͘ߦ͔ͳ͍ͱ͍͏͜ ͱɻ –  ৽ޠ͕ଟͯࣙ͘ॻ͕ରԠ Ͱ͖ͳ͍ –  ࣙॻΛڧԽͯ͠΋ɺݴ͍ ׵͑΍่͕͠ଟ͍ •  ࠓͷͱ͜Ζɺจࣈ୯Ґ LSTM͕΋ͬͱ΋্ख͘ ͍͘ɻ
  4. 13.

    ྨࣅίϝϯτݕࡧ •  ΧςΰϦೝࣝͷ໰ ୊Λ༻͍ͯLSTMΛ τϨʔχϯά 13 \n ͔ Θ ͑

    ͑ LSTM LSTM Linear 動物 シングルラベル Softmax cross entropy
  5. 17.

    ը૾ಛ௃ͱίϝϯτಛ௃ͷରԠͷֶश •  Πϥετɾίϝϯτͷ̎ छྨͷղੳʹ͍ͭͯड़΂ ͨͷͰɺ͜ͷ̎ͭΛ݁ͼ ͚ͭΔ࿩Λ͢Δɻ •  ໨ඪ͸ɺΠϥετʹద੾ ͳίϝϯτΛ͚ͭΔ͜ͱ • 

    ·ͣ͸ɺੜ੒Ͱ͸ͳ͘ݕ ࡧʹ͍ͭͯड़΂Δ 17 イラスト コメント Πϥετ CNN ίϝϯτ LSTM イラスト特徴 コメント特徴
  6. 18.

    18 \n ͔ Θ ͑ ͑ LSTM LSTM Linear ベクトル同士の比較

    Mean Squared Error 画像と、そこについているコメントのペアデータ
  7. 19.

    19 \n ͔ Θ ͑ ͑ LSTM LSTM Linear ベクトル同士の比較

    Mean Squared Error 画像と、そこについているコメントのペアデータ ロスの伝搬 画像とコメントの特徴空間をマージする
  8. 39.

    TODO1: Contrastive Loss 39 \n ͔ Θ ͑ ͑ LSTM

    LSTM Linear ベクトル同士の比較 Mean Squared Error 画像と、そこについているコメントのペアデータ ロスの伝搬 画像とコメントの特徴空間をマージする
  9. 40.

    TODO1: Contrastive Loss 40 \n ͔ Θ ͑ ͑ LSTM

    LSTM Linear 正例なら近づける、負例なら離す Contrastive Loss 画像とコメントのペアデータ 負例として他の画像に付いているコメントも ロスの伝搬 画像とコメントの特徴空間をマージする ロスの伝搬
  10. 42.

    TODO2: Encoder-decoder •  ࠓճ࿩ͨ͠ͷ͸ɺը૾ͷ encoderͱίϝϯτͷ encoderΛಉ࣌ʹτϨʔχ ϯά͢Δ࿩ͱ͍͑Δ •  Ұൠʹɺը૾->ίϝϯτͷ (ͱ͍͏͔ࣗવݴޠॲཧͷ)

    ࠓͷτϨϯυ͸encoder- decoder •  ը૾ΛCNNͰΤϯίʔυ ͯ͠ɺͦΕΛLSTMͷ0จ ࣈ໨ͷೖྗͱͯ͠ɺ1จࣈ ໨ʙΛ༧ଌ͍ͯ͘͠Ϟσϧ 42 LS T M LS T M Linear \n ͖ Ό Θ ͨ Μ ͖ Ό Θ ͨ Μ Encoder-CNN Decoder-LSTM
  11. 43.

    TODO2: Encoder-decoder ੜ੒ྫ λά༧ଌ: ϥϒϥΠϒʂ, ໼ᖒʹ͜ >͡Ό͋Latͷ͠खͱฦ౴ͯ͠΋Β͓͏ λά༧ଌ: Steins;Gate >ത࢜!!!!!!!!!!!!!!!!

    λά༧ଌ: ౦ํ, খ໺௩খொ, ෩ݟ༓߳ >ਆʑ͍͠ͳ͊ λά༧ଌ: ਐܸͷڊਓ >ද৘Ά͍ͳ͊ •  ౰ͨΓোΓͷແ͍ίϝϯτ͔ɺΠϚΠν೔ຊޠͱͯ͠ඍົͳίϝϯτ͕ੜ੒͞Εͯ͠·͏ •  ೔ຊޠΛจࣈ୯ҐͰѻ͍ͬͯΔͱ͍͏ͷ͕ɺdecoderͱ͸૬ੑ͕ѱ͍ͷ͔ͳɺͱ΋ߟ͑ΒΕΔɻࢀߟʹͯ͠Δ࿦จ ͸ӳޠ΍ϑϥϯεޠͳͲͰɺ୯ޠ୯ҐͰग़ྗ͢ΔϞσϧͳͷͰɻ  43