これは, 今年1月~3月に開催された人工知能技術戦略会議等主催 第1回AIチャレンジコンテスト[1]の「料理分類部門」に挑戦したときの取組みについて, TensorFlow研究会#17でLT発表した時の内容をベースに数回に分けて紹介するものである.
(LT発表からだいぶ時間がたってしまったが...)
関連記事:
・第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (1)
・第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (2)
・第1回AIチャレンジコンテスト(料理分類部門)に挑戦してみた!! (3)
0. コンテストの概要
テーマ:画像認識
クックパッド様の提供する画像データを使用して, 料理の領域検出・料理の分類の画像認識アルゴリズムの作成に挑戦
スケジュール:
2017年1月10日(火) | コンテスト開始 |
2017年3月31日(金) | コンテスト終了 |
2017年4月10日(月) | 予測モデル等の提出締め切り(※入賞候補者) |
2017年5月上旬 | 検収・審査にて入賞者を決定 |
2017年5月22日(月) | 表彰式 |
コンテスト内容:
今回チャレンジした料理分類部門の詳細は以下の通り.
25種類の料理カテゴリの1つに分類
学習データ:
・ラベル付きデータ10,000画像
・ラベルなしデータ50,000画像
テストデータ:
・10,000画像
評価関数:
:集合Aの要素数
:サンプル数
:i番目の予測値
:i番目の真値
注) コンテスト用の画像データはクックパッド様提供.
1. 予備検討
1.1 データを見る
25種類のカテゴリは以下の通り.
グループ | ||||||
bread | sandwich | sliced | sweets | table | ||
noodle | somen | udon | ||||
pasta | cream | gratin | japanese | oil | tomato | |
rice | boiled | bowl | curry | fried | risotto | sushi |
soup | miso | potage | ||||
sweets | cheese | cookie | muffin | pie | pound | pudding |
データの一例:
Sandwich
実は, 以下にもSandwichのラベルが...
人間でも正しく分類できないよ~.
1.2 まずは試してみる
Model | Framework/Library | Accuracy | Notes |
独自4層のCNN | TensorFlow | ~0.40 | ペットボトル認識ベース |
Alexnet | Chainer | 約0.55 | チュートリアル |
VGG16 | Keras + TensorFlow | 約0.60 | |
ResNet50 | Keras + TensorFlow | 約0.65 |
割と早い段階で, トップは0.75くらいの精度を出していたが, とりあえずの目標を0.70以上とした.
0.70以上の精度出すには, 何か工夫が必要.
・データの特性を活かす
・ラベルなしデータを使用する
今回は, どんな内容のコンテストだったかを中心に紹介した.
次回は, いくつか試してみたことについて記載する.
----
参照URL:
[1] 人工知能技術戦略会議等主催 第1回AIチャレンジコンテスト
GPUを支える技術 ――超並列ハードウェアの快進撃[技術基礎] (WEB+DB PRESS plus)
| CUDA by Example 汎用GPUプログラミング入門
| 玄人志向 ビデオカードGEFORCE GTX 1080Ti搭載 GF-GTX1080Ti-E11GB/FE
| MSI GeForce GTX 1080 Ti GAMING X 11G グラフィックスボード VD6302
|