機械学習用語集: 画像モデル

このページでは、画像モデルに関する用語集について説明します。用語集のすべての用語については、こちらをクリックしてください。

A

拡張現実

#image

コンピュータで生成した画像をユーザーの現実世界ビューに重ね合わせ、複合ビューを提供するテクノロジー。

B

境界ボックス

#image

次の画像内の犬のように、画像内の対象領域を囲む長方形の(xy)座標。

ソファに座っている犬の写真。犬の体の周囲に、左上座標が(275、1271)、右下座標が(2954、2761)の緑色の境界ボックス

C

畳み込み

#image

数学では、簡単に言うと 2 つの関数が組み合わされています。機械学習では、畳み込みで畳み込みフィルタと入力行列を組み合わせて、重みをトレーニングします。

「畳み込み」という用語は、機械学習では多くの場合、畳み込み演算または畳み込み層の略称です。

畳み込みがない場合、機械学習アルゴリズムは大きなテンソルのセルごとに別個の重みを学習しなければなりません。たとえば、2K x 2K の画像で機械学習アルゴリズムのトレーニングを行う場合、400 万の別個の重みを見つける必要が生じます。畳み込みのおかげで、機械学習アルゴリズムは畳み込みフィルタ内のすべてのセルの重みを見つけるだけで済み、モデルのトレーニングに必要なメモリを大幅に削減できます。畳み込みフィルタが適用されると、各フィルタに乗算されるように、単純にセル間で複製されます。

畳み込みフィルタ

#image

畳み込み演算で 2 つのアクターのいずれかが指定されている。(もう一方のアクターは入力マトリックスのスライスです)。畳み込みフィルタは、入力行列と同じランクの小さな行列です。たとえば 28x28 の入力行列であれば、フィルタは 28x28 より小さい任意の 2D 行列になります。

写真操作では、畳み込みフィルタ内のすべてのセルは通常、1 と 0 の一定のパターンに設定されます。機械学習では、通常、畳み込みフィルタに乱数がシードされ、ネットワークが理想的な値をトレーニングします。

畳み込みレイヤ

#image

畳み込みフィルタが入力行列を通過するディープ ニューラル ネットワークのレイヤ。たとえば、次の 3x3 の畳み込みフィルタを考えてみましょう。

次の値を持つ 3x3 行列: [[0,1,0], [1,0,1], [0,1,0]]

次のアニメーションは、5x5 入力行列を含む 9 つの畳み込み演算から構成される畳み込みレイヤを示しています。各畳み込み演算は、入力行列の異なる 3x3 スライスに作用されます。結果の 3x3 行列(右側)は、9 つの畳み込み演算の結果で構成されています。

2 つの行列を示すアニメーション。最初の行列は、5x5 の行列です。[[128,97,53,201,198]、[35,22,25,200,195]、[37,24,28,197,182]、[33,28,92,195,179],[31,472 番目の行列は [38 行列] [[181,303,618]、[115,338,605]、[169,351,560] です。2 つ目の行列は、5x5 行列の異なる 3x3 サブセットに、畳み込みフィルタ [[0, 1, 0], [1, 0, 1], [0, 1, 0]] を適用して計算されます。

畳み込みニューラル ネットワーク

#image

ニューラル ネットワーク。少なくとも 1 つのレイヤが畳み込みレイヤです。一般的な畳み込みニューラル ネットワークは、次のレイヤの組み合わせで構成されています。

畳み込みニューラル ネットワークは、画像認識など、特定の種類の問題に対して大きく成功しています。

畳み込み演算

#image

次の 2 段階の数学演算:

  1. 畳み込みフィルタと入力行列のスライスの要素ごとの乗算。(入力行列のスライスは、畳み込みフィルタと同じランクとサイズです)。
  2. 結果の商品マトリックス内のすべての値の合計。

たとえば、次の 5x5 入力行列について考えてみます。

5x5 行列: [[128,97,53,201,198]、[35,22,25,200,195]、[37,24,28,197,182]、[33,28,92,195,179], [31,40,100,100]

次の 2x2 の畳み込みフィルタを考えてみましょう。

2x2 行列: [[1, 0], [0, 1]]

各畳み込み演算には、入力行列の単一の 2x2 スライスが含まれます。たとえば、入力マトリックスの左上にある 2x2 スライスを使用するとします。したがって、このスライスの畳み込み演算は次のようになります。

畳み込みフィルタ [[1, 0], [0, 1]] を入力行列の左上の 2x2 セクション [[128,97], [35,22]] に適用します。
畳み込みフィルタでは、128 と 22 はそのまま残りますが、97 と 35 はゼロになります。したがって、畳み込み演算によって値 150(128+22)が得られます。

畳み込みレイヤは、一連の畳み込み演算で構成され、それぞれが入力行列の異なるスライスに作用します。

D

データの拡張

#image

既存のサンプルを変換して追加のサンプルを作成することで、トレーニングのサンプルの範囲と数を手動で増加させる。たとえば、画像が特徴の 1 つであるとしますが、データセットに有用な関連性を学習するのに十分な画像サンプルが含まれていません。モデルを適切にトレーニングできるように、十分なラベル付きの画像をデータセットに追加するのが理想的です。それが不可能な場合は、データ拡張で各画像の回転、引き伸ばし、反射を行って元の画像の多くのバリアントを生成し、場合によっては十分なトレーニング済みデータを生成して、優れたトレーニングを実現できます。

深度分離可能な畳み込みニューラル ネットワーク(sepCNN)

#image

Inception に基づく畳み込みニューラル ネットワーク アーキテクチャ。ただし、Inception モジュールは深度に分離可能な畳み込みに置き換えられます。Xception とも呼ばれます。

深度分離可能な畳み込み(分離可能な畳み込みとも呼ばれます)では、標準の 3D 畳み込みを 2 つの別々の畳み込み演算に当てはめて計算効率を高めます。まず、深度 1(n ✕ n ✕ 1)と 2 番目に、点数 1 と 1 和の畳み込みを加算します。

詳細については、Xception: Depthwise Separable Convolutions によるディープ ラーニングをご覧ください。

ダウンサンプリング

#image

次のいずれかの意味を持つ過負荷用語

  • モデルを効率的にトレーニングするために、特徴の情報量を減らす。たとえば、画像認識モデルをトレーニングする前に、高解像度画像を低解像度形式にダウンサンプリングします。
  • 過小評価対象のクラスのサンプルの割合が過小評価されているものの、過小評価されているクラスのモデル トレーニングを改善する。たとえば、クラス 不均衡なデータセットでは、モデルは大半のクラスについて多くのことを学ぶ傾向があり、マイノリティ クラスについてはあまり学習しない傾向があります。ダウンサンプリングは、大多数のクラスと少数派のクラスのトレーニング量のバランスをとるのに役立ちます。

I

画像認識

#image

画像内のオブジェクト、パターン、またはコンセプトを分類するプロセス。画像認識は、画像分類とも呼ばれます。

詳細については、ML の実践: 画像分類をご覧ください。

ユニオンを介した交差(IoU)

#image

2 つのセットの和集合比。機械学習の画像検出タスクでは、IoU を使用して、グラウンド トゥルース 境界ボックスに対するモデルの予測境界ボックスの精度を測定します。この場合、2 つの箱の IoU は重なり合う面積と総面積の比であり、値の範囲は 0(予測境界ボックスとグラウンド トゥルースの境界ボックスの重なりなし)から 1(予測境界ボックスとグラウンド トゥルースの境界ボックスはまったく同じ座標)です。

たとえば、以下の画像で:

  • 予測境界ボックス(モデルがペイントのナイトテーブルが配置される場所を示す座標が紫色で囲まれます)
  • グラウンド トゥルースの境界ボックス(ペイントのナイトテーブルが実際に配置されている位置を区切る座標)は緑色で囲まれます。

ファン ゴッホの絵画「アルルのヴィンテージの寝室」は、ベッドのそばで夜の表の周りに 2 つの異なる境界ボックスを配置しています。グラウンド トゥルースの境界ボックス(緑色)は、ナイトテーブルを完全に取り囲んでいます。予測された境界ボックス(紫色)は、グラウンド トゥルースの境界ボックスの右 50% のオフセットです。夜間テーブルの右下の 4 分の 1 を囲み、残りのテーブルの部分は欠落しています。

ここで、予測とグラウンド トゥルースの境界ボックス(左下)の交差は 1、予測とグラウンド トゥルースの境界ボックス(右下)の和集合は 7 であるため、IoU は \(\frac{1}{7}\)になります。

上と同じ画像ですが、各境界ボックスが 4 つの象限に分割されています。グラウンド トゥルース 境界ボックスの右下象限と予測境界ボックスの左上象限が重なり合うため、合計 7 つの象限が存在します。この重複セクション(緑色で強調表示された部分)は交差を表し、その面積は 1 です。 上と同じ画像ですが、各境界ボックスが 4 つの象限に分割されています。グラウンド トゥルース 境界ボックスの右下象限と予測境界ボックスの左上象限が重なっているため、合計 7 つの象限が存在します。両方の境界ボックス(緑で囲まれた部分)で囲まれた内部は、ユニオンを表し、面積は 7 です。

K

キーポイント

#image

画像内の特定の特徴の座標。たとえば、花の種類を区別する画像認識モデルの場合、キーポイントは各花びら、幹、しおりなどの中心になります。

L

landmarks

#image

キーポイントの類義語。

M

MNIST

#image

LeCun、Cortes、Burges によってコンパイルされた 60,000 枚の画像を含む一般公開ドメインのデータセット。各画像は、人間が 0 ~ 9 の数字で手動で書き込んだ方法を示しています。各画像は 28x28 の整数の配列として格納され、各整数は 0 ~ 255 のグレースケール値です。

MNIST は機械学習の正規データセットであり、多くの場合、新しい機械学習アプローチのテストに使用されます。詳細については、手書き数字の MNIST データベースをご覧ください。

P

プーリング

#image

前の畳み込み層で作成した行列(または行列)をより小さな行列に変換します。プールは通常、プールされた領域の最大値または平均値を取ります。たとえば、次の 3x3 マトリックスがあるとします。

3x3 行列 [[5,3,1], [8,2,5], [9,4,3]]。

畳み込み演算は、畳み込み演算と同様に、そのマトリックスをスライスに分割し、その畳み込み演算をストライドでスライドさせます。たとえば、プーリング オペレーションで畳み込み行列が 1x1 のストライドで 2x2 スライスに分割されたとします。次の図に示すように、4 つのプール操作が行われます。各プーリング オペレーションで、そのスライス内の 4 つの最大値が選択されるとします。

入力行列は、値 [[5,3,1]、[8,2,5]、[9,4,3]] を含む 3x3 です。入力行列の左上の 2x2 サブマトリックスは [[5,3], [8,2]] であるため、左上のプール演算によって値 8(最大 5、3、8、および 2)が生成されます。入力行列の右上の 2x2 サブマトリックスは [[3,1], [2,5]] であるため、右上のプーリング演算は値 5 を生成します。入力行列の左下の 2x2 サブマトリックスは [[8,2], [9,4]] であるため、左下のプーリング演算では値 9 が得られます。入力行列の右下の 2x2 サブマトリックスは [[2,5], [4,3]] であるため、右下のプーリング演算によって値 5 が得られます。要約すると、プーリング オペレーションでは 2x2 行列 [[8,5], [9,5]] が生成されます。

プーリングは、入力行列で変換の不変を適用します。

ビジョン アプリケーション用のプーリングは、より一般的には空間プーリングと呼ばれています。時系列アプリケーションは通常、プーリングを「一時プーリング」と呼びます。一般的には、プーリングは「サブサンプリング」または「ダウンサンプリング」と呼ばれます。

R

回転不変

#image

画像分類問題では、アルゴリズムで画像の向きが変わっても画像を正しく分類する能力が得られます。たとえば、アルゴリズムは、テニスラケットが上、横、下のいずれか向いているかどうかを判断できます。回転不変は常に望ましいとは限りません。たとえば、逆さまの 9 を 9 に分類すべきではありません。

変換の不変性サイズの不変性もご覧ください。

S

サイズの不変性

#image

画像分類問題では、アルゴリズムで画像サイズが変更された場合でも画像を正しく分類できます。たとえば、200 万ピクセルを消費しているか、20 万ピクセルを消費しているかをアルゴリズムが識別することもできます。最良の画像分類アルゴリズムであっても、サイズ不変性には現実的な制限があります。たとえば、アルゴリズム(または人間)は、20 ピクセルしか消費しない猫の画像を正しく分類する可能性はほとんどありません。

不変不変回転不変もご覧ください。

空間プーリング

#image

プーリングをご覧ください。

ストライド

#image

畳み込み演算またはプーリングでは、次の一連の入力スライスの各次元のデルタ。たとえば、次のアニメーションは、畳み込み演算中の(1,1)のストライドを示しています。したがって、次の入力スライスは、前の入力スライスの右側に 1 つの位置を開始します。オペレーションが右端に到達すると、次のスライスは左端まで移動しますが、1 つ下の位置になります。

入力 5x5 行列と 3x3 畳み込みフィルタ。ストライドは(1,1)であるため、畳み込みフィルタは 9 回適用されます。最初の畳み込みスライスは、入力行列の左上の 3x3 サブマトリックスを評価します。2 番目のスライスは、上中央の 3x3 サブマトリックスを評価します。3 番目の畳み込みスライスは、右上の 3x3 サブマトリックスを評価します。4 番目のスライスは、左中央の 3x3 サブマトリックスを評価します。5 番目のスライスは、中間の 3x3 サブマトリックスを評価します。6 番目のスライスは、中央右の 3x3 サブマトリックスを評価します。7 番目のスライスは、左下の 3x3 サブマトリックスを評価します。8 番目のスライスは、下部中央の 3x3 サブマトリックスを評価します。9 番目のスライスは、右下の 3x3 サブマトリックスを評価します。

上記の例は、2 次元のストライドを示しています。入力行列が 3 次元の場合、ストライドも 3 次元になります。

サブサンプリング

#image

プーリングをご覧ください。

T

翻訳の不変性

#image

画像分類問題では、画像内のオブジェクトの位置が変化しても、アルゴリズムが画像をうまく分類できます。たとえば、アルゴリズムが犬をフレームの中央に置いていても、フレームの左端にあっても識別を行うことができます。

サイズ不変回転不変もご覧ください。