Custom Vision について理解する
ここでは、Azure AI Custom Vision サービスを使用して、機械学習モデルを作成します。 Custom Vision のしくみについて詳しく説明します。 次に、アイデアから完全に機能するモデルまで、モデルの構築に使用する詳細なプロセスを確認します。
機械学習とは
AI、機械学習、ディープ ラーニングについては聞いたことがあるのではないでしょうか。 用語を確認し、それらの違いを理解しましょう。
人工知能 (AI): AI は、人間の知能を模倣するようにコンピューターをプログラミングするプロセスです。 AI には、"機械学習" が含まれています。 AI の概念は、マシンを使用して人間の知能を模倣するものですが、AI にはさまざまな手法があります。 このモジュールが焦点を当てている手法は機械学習です。
機械学習: 機械学習は AI のサブセットです。 機械学習には、"経験" を基にしてマシンをトレーニングする手法が使用されます。 経験は、正解と不正解が既に与えられているデータセットと考えてください。 機械学習でコンピューターに使用される回答は、コンピューターが特定のタスクを完了する方法を改善するために提供されています。 機械学習の分野には、"ディープラーニング" も含まれます。
ディープ ラーニング: ディープ ラーニングは機械学習のサブセットであり、"人工ニューラル ネットワーク (ANN)" に基づきます。 学習プロセスが "深い" のは、ANN が複数のレイヤー (入力、出力、非表示のレイヤー) で構成されるためです。 各レイヤーには、入力データを次のレイヤーで特定の予測タスクに使用できる情報に変換するためのユニットが含まれています。 ニューラル ネットワーク構造によって、マシンは独自のデータ処理を使用して学習できるようになります。
モデルを構築するときは、人間の知能の模倣を試みます。 データを "経験" として使用し、特定のタスクまたは機能を学習するようにモデルをトレーニングします。
転移学習とは
Azure AI Custom Vision には、"転移学習" が使用されています。 転移学習とは、事前知識を使用して、目前の問題をより適切に解決する能力です。 人間は、常にこのアプローチを使用して、問題を解決します。 Microsoft では、コンピューターでこれを行う新しい方法も発見しています。
Azure の Custom Vision サービスでの転移学習は、事前トレーニング済みモデルで構成されるレイヤーをニューラル ネットワークに追加することによって機能します。 モデルがトレーニング済みであれば、新しいデータのトレーニングを開始するのに有利です。 トレーニングは、一般的な知識のドメインから始まります。 特定の問題を解決するために、新しいレイヤーがニューラル ネットワークに追加されます。 このケースでは、解決する問題は鳥を識別する方法です。 事前トレーニング済みのモデルから始めることで、大量のデータを追加することなく、より良い結果を得ることができます。
機械学習モデルを構築する方法
機械学習モデルの構築プロセスについての理解を深めるため、プロセスの概要を詳細な手順に従って見ていきます。 このプロセスを完了すると、機械学習モデルが作成されます。
的確な質問を考えます。 質問は、"1 つの鳥の画像から鳥の種を識別し、鳥の習性のさまざまな傾向やパターンを文書化することはできるか?" です。
データを準備する。 鮮明で、準備の整った鳥の画像のデータセットが Cornell Lab から提供されているので、この手順は完了しています。 別のモデルを作成する場合は、モデルのトレーニングに使用するデータを見つけて準備する必要があります。 関心のある的確な質問に答えるために役立つデータを見つけましょう。
アルゴリズムを選択します。 Azure の Custom Vision サービスは、"畳み込みニューラル ネットワーク (CNN)" を使用しているため、この手順について心配する必要はありません。 CNN は、画像解析に一般的に使用されているディープ ラーニングの一種です。 アルゴリズムが既に作成されているので、"かなりの" 時間を節約できます。
候補モデルを選択します。 Custom Vision サービスには、質問に適切に回答できるパフォーマンスのモデルかどうかを判断するために役立つ有用なグラフとデータが用意されています。 モデルのパフォーマンスが満足できるレベルであると思われる場合は、次の手順であるテストに進みます。
未見の (新しい) データを使用してモデルをテストします。 新しいデータを追加してモデルをテストすることが重要です。 インターネット検索でテスト画像をいくつか見つけ、トレーニングに使われていないデータによって、モデルのパフォーマンスを確認します。 この方法でテストすることが重要である理由については、モジュールの後半で説明します。
モデルをデプロイします。 Custom Vision には、モデルをデプロイするときのオプションがいくつか用意されています。 エンドポイントにデプロイしてモデルを統合するか、モデルをダウンロードすることができます。 モデルをダウンロードする場合は、複数の形式から選択して、プロジェクトに最適な方法でデプロイすることができます。 このモジュールでは、Custom Vision ポータルで使用できるクイックデプロイ オプションの使用方法について説明します。
それではモデルの構築を始めましょう。