10

Two questions:

1) Does anyone know if I can add new image classes to the pre-trained Inception-v3 model? For example, I wanted to train TensorFlow on a multitude of national flags, but I need to make sure that I can still recognize the images from the ImageNet hierarchy. I realize that there is a way to wipe the top layer of Inception and completely retrain the model on my classes, but this very limiting and time consuming.

2) Also, is there a way to output the entire hierarchy containing the tag that the image receives? I wish to be able to not only see specifically what Inception tags the image as, but I want to see all of the more broad 'synsets' from ImageNet. For example, instead of just seeing the output "toy poodle", I am interested in "Animal/Domesticated Animal/Dog/Poodle/toy poodle".

Any responses are greatly appreciated.

4

3 に答える 3

4

1) 出力層はソフトマックスです。つまり、定義済みの数のニューロンがあり、それぞれが 1 つの特定のクラスに対して定義されています。技術的には、ネットワーク手術を実行して、新しいクラスを表す出力層にもう 1 つのニューロンを持たせることができます。ただし、ネットワークの追加のトレーニングを実行して、新しいクラスを説明するためにすべての重みを更新する必要があります。悪いニュース - 更新はネットワーク全体に影響し、ネットワークが巨大であるため、しばらく時間がかかる可能性があります。朗報です。事前にトレーニングされた既存のネットワークのこのような変更は、すべてをゼロから学習するよりも高速です。

2) そのようなヒエラルキーが存在すると考える根拠は何ですか? 確かに、データの内部表現について何も知ることはできません。もちろん、各機能のニューロンの活性化を調べて視覚化することもできますが、これらの活性化が何を意味するのかを自分で理解しようとする必要があります。そしておそらく、あなたが期待するような階層は見つからないでしょう。要約すると、ANN が内部でデータを表現する方法を理解するのは簡単なことではありません。実際には - 非常に難しいものです。

さらに読むことをお勧めします: https://github.com/tensorflow/models/tree/master/inception

ドキュメントのこの部分に注意してください - それはあなたの #1 に強く関連しています

于 2016-07-07T14:05:03.120 に答える