image caption pytorch
1.0.0
エンコーダー/デコーダー アーキテクチャに基づいて PyTorch を使用してニューラル画像キャプション モデルを実装します。
データセットは Flikr8k で、予算を計算してすぐに結果を得るのに十分な大きさです。データセット内には 8091 枚の画像があり、各画像に 5 つのキャプションが付いています。したがって、モデルが複雑すぎる場合はオーバーフィットする傾向があります。公式ソースは壊れています。データセットの別のリンクはこことここにある可能性があります
モデルのアーキテクチャは次のように説明されます。画像のエンコーダ ネットワークは Resnet-101 です (torchvision からロードできる)。デコーダは基本的に LSTM ベースの言語モデルであり、コンテキスト ベクトル (エンコードされた画像特徴) を LSTM の初期の隠し/セル状態として使用します [1]。気配りのあるモデルも実装されています [2]。
モデルは SGD によって勢いよくトレーニングされます。学習率は 0.01 から始まり、プラトーに陥った場合は 10 で割られます。モーメンタム 0.9 とウェイト減衰 0.001 が使用されます。
モデル [1] は、BLEU-1 テスト スコア 35.7 で、比較的合理的な記述を取得できます。
画像 | キャプション |
---|---|
2 匹の犬が芝生で遊んでいます。 | |
ボートでカヤックをしている人がいます。 | |
男の子がプールで水しぶきを上げています。 | |
二人の人が水辺の波止場に座っています。 | |
赤いユニフォームを着たサッカー選手が群衆の前でサッカーボールを持って走っている。 | |
スノーボーダーが丘から飛び降りています。 | |
茶色の犬が砂の上でボールで遊んでいます。 | |
青いシャツを着た少年が草原を走っています。 | |
カラフルな衣装を着た人々のグループ。 |
ピトーチ 0.4.1
[1] Show and Tell: ニューラル画像キャプション ジェネレーター (https://arxiv.org/abs/1411.4555)
[2] 見せる、参加する、伝える: 視覚的な注意を伴うニューラル画像キャプション生成 (https://arxiv.org/abs/1502.03044)