今日は、機械学習分野のコンピューター ビジョン アルゴリズムのベンチマークで広く使用されている、古典的な画像分類データ セットCIFAR-10を紹介したいと思います。10 年以上の開発を経て、このデータセットの識別問題は「解決」され、多くのモデルは 80% の分類精度を容易に達成できます。テストデータセットにおける深層学習畳み込みニューラル ネットワークの分類精度90% 以上の場合もあり、良好なパフォーマンスが得られます。しかし、それでも多くの初心者にとっては良い選択ですので、見てみましょう。
目次
1. データセットの紹介
出版社: トロント大学コンピューターサイエンス
発売時期: 2009年
バックグラウンド:
CIFAR-10の本質は、データセットのサブセットである[8,000万の小さな画像データセット](「8,000万の小さな画像」データセット)と呼ばれる部分です。データには物議を醸す内容が含まれていたため、棚から削除されました。
序章:
CIFAR10 は、ヒントンの学生である Alex Krizhevsky と Ilya Sutskever によって編集された普遍的な物体認識のための小さなデータセットです。CIFAR-10データセットには、10 クラスに分割された 60,000 個の 32x32 カラー画像が含まれており、クラスあたり 6,000 個の画像があります。
2. データセットの詳細
1. ラベルデータ量
トレーニング セット: 50,000 画像
テストセット: 10000 画像
2. 表示区分
データセットには合計 10 のカテゴリがあります。具体的な分類を図1に示します。
3. 視覚化
(図1)
3. データセットタスクの定義と導入
1. 画像の分類
● タスクの定義
画像分類は、コンピューター ビジョンの分野で意味情報に基づいてさまざまな画像を分類するパターン認識方法です。
● 評価指標
精度:
n_correct/n_total、すべてのサンプルに対する正しいラベル予測を持つサンプルの割合。
特定のカテゴリの精度:
TP/(TP+FP)、このカテゴリとして予測されたサンプルのうち、正しく予測されたサンプルの数。
特定のカテゴリのリコール:
TP/(TP+FN)、このカテゴリのサンプルで正しく予測されたサンプルの数。
注:上記の評価指標において、TP は True Positive、FP は False Positive、FN は False Negative、n_correct は予測された全サンプル数、n_total は全サンプル数を表します。
4. データセットファイル構造の解釈
1. データセットのディレクトリ構造
dataset_root/
├── batches.meta #记录分类信息的元文件
├── data_batch_1 #训练集1
├── data_batch_2 #训练集2
├── data_batch_3 #训练集3
├── data_batch_4 #训练集4
├── data_batch_5 #训练集5
├── readme.html #README文件
└── test_batch #测试集文件
2. アノテーションファイル形式
データ セット内の各画像は 32X32 RGB 画像であるため、データ セットは画像ファイルを直接保存せず、numpy 2 次元配列を通じて各データ セット内のすべての画像を保存し、対応するファイル名を記録します。
公式 Web サイトが提供するアンロード コードを使用すると、data_batch_1 などのファイル内のデータを解析できます。
Python3:
def unpickle(file):
import pickle
withopen(file, 'rb') as fo:
dict = pickle.load(fo, encoding='bytes')
return dict
Python2:
def unpickle(file):
import cPickle
withopen(file, 'rb') as fo:
dict = cPickle.load(fo)
return dict
解析後、取得した辞書は 4 つの部分に分割されます。1 つはトレーニング セットの番号、2 つは各ピクチャの分類番号、3 つ目はすべてのピクチャで構成される numpy 配列、4 つ目はファイルのリストです名前。
ラベル リストで、各値に対応する分類カテゴリは次のとおりです。
データリストには、このバッチ内のすべての画像の情報が格納されます。配列は 10000X3072 の 2 次元 numpy 配列で、各行には画像の RGB 情報が格納されます。各行の 1 次元配列において、最初の 1024 データはピクチャの R チャネル情報を記録し、中間の 1024 データはピクチャの G チャネル情報を記録し、最後の 1024 データは B チャネル情報を記録します。
各チャンネル情報の 1024 個のデータのうち、32 個をグループとして使用し、各グループは画像の各行の 32 個のピクセル点の値を記録します。最初の 32 個の値のセットには画像の最初の行のピクセル値が記録され、2 番目の 32 個の値のセットには画像の 2 行目のピクセル値が記録されます。
3. メタ情報のフォーマット
Batches.meta ファイルには、カテゴリ変数の値と、対応するカテゴリの比較情報が記録されます。提供されたコードを解析すると、辞書の結果は次のようになります。
5. データセットのダウンロード
OpenDataLab プラットフォームは、 CIFAR-10 データ セットの完全なデータ セット情報、直感的なデータ分布統計、スムーズなダウンロード速度、便利なビジュアル スクリプトを提供します。元のリンクをクリックして表示します。
https://opendatalab.org.cn/CIFAR-10
参考文献
[1] 公式ウェブサイト: http://www.cs.toronto.edu/~kriz/cifar.html
[2] データセットのダウンロード: http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
著者丨杜昆明
賢者がいる、万物は繁栄する
- 終わり -
上記は、この共有、さらにエキサイティングなデータセットの乾物であり、見逃せません。他に見たいものがある場合は、小さな助手に言いに来てください。より多くのデータセットが棚に並び、より包括的なデータセット内容の解釈、最も強力なオンライン Q&A、最も活発な仲間のサークル...OpenDataLab 公式コミュニケーション グループに WeChat opendatalab_yunying を追加することを歓迎します。