植物の葉の形態(たくさんありますが)を、ここでは5グループに限定して、それに属する写真を学習させました。下図のとおりです。
植物の葉の形態5グループの学習用写真(合計40枚) |
さて、数十秒で学習が終わったCNNに対して、学習時とは異なる以下の写真2枚を投入してみます。もちろん、こんなに甘くはないです(これは肝に銘じておきます)が、この2例に関してはうまく認識(分類)できました。
評価用写真2枚に対する認識(グループ識別)の結果 |
まだまだ、未知の世界なのですが、学習時にも、評価時にも、使った写真の背景や明るさなどには何も手を加えていません。そのまま、学習させ、評価して、このような結果ですから、可能性を感じないわけには行きません。
なお、この学習過程において、精度がどのように向上して行くか(誤差がどのように減少していくか)をグラフで示しておきます。これは、TensorFlowに付属のTensroboardで表示したものです。
ここで誤解のないようにコメントして置きたいと思います。上図では、精度1.00すなわち、100%に達しています。しかし、これはどんな画像も間違いなく5グループに正確に分類できることを意味してはいません。あくまで、学習用の40枚の画像については、すべて正しく(5グループに)グループ分けできるCNNが完成したことを意味します。ですから、学習時とはちがう別の画像を持ってきた場合には、それがどのグループに属すかの判定が正しくできる保証はありません。しかし、どれかのグループの画像に何らかの類似点がある画像を持ってきた場合は、うまくグループ分類できる可能性が(かなりの程度)あるだろうということです。