Multiclass Neural Network (多クラス ニューラル ネットワーク) モジュールMulticlass Neural Network module

この記事では Azure Machine Learning デザイナー (プレビュー) 内のモジュールについて説明します。This article describes a module in Azure Machine Learning designer (preview).

このモジュールを使用すると、複数の値を持つターゲットを予測するのに使用できるニューラル ネットワーク モデルを作成できます。Use this module to create a neural network model that can be used to predict a target that has multiple values.

たとえば、この種のニューラル ネットワークは、数字または文字の認識、ドキュメントの分類、パターン認識などの複雑なコンピューター ビジョン タスクで使用できます。For example, neural networks of this kind might be used in complex computer vision tasks, such as digit or letter recognition, document classification, and pattern recognition.

ニューラル ネットワークを使用する分類は、教師あり学習手法であるため、ラベル列を含む "タグ付けされたデータセット" が必要となります。Classification using neural networks is a supervised learning method, and therefore requires a tagged dataset that includes a label column.

モデルのトレーニングは、対象のモデルとタグ付けされたデータセットを "モデルのトレーニング" に入力として渡すことにより行うことができます。You can train the model by providing the model and the tagged dataset as an input to Train Model. その後は、トレーニング済みのモデルを使用して新しい入力例の値を予測することができます。The trained model can then be used to predict values for the new input examples.

ニューラル ネットワークについてAbout neural networks

ニューラル ネットワークは、一連の相互接続された層です。A neural network is a set of interconnected layers. 入力は最初の層であり、重み付きエッジとノードから成る非巡回グラフによって出力層に接続されています。The inputs are the first layer, and are connected to an output layer by an acyclic graph comprised of weighted edges and nodes.

入力層と出力層の間には、複数の非表示の層を挿入できます。Between the input and output layers you can insert multiple hidden layers. 予測タスクのほとんどは、1 つまたは少数の非表示の層を使用して簡単に行うことができます。Most predictive tasks can be accomplished easily with only one or a few hidden layers. ただし、最近の研究では、画像認識や音声認識などの複雑なタスクには多くの層を備えたディープ ニューラル ネットワーク (DNN) が有効であることが示されています。However, recent research has shown that deep neural networks (DNN) with many layers can be effective in complex tasks such as image or speech recognition. これらの連続する層を使用して、セマンティックの深さのレベルの増加がモデル化されます。The successive layers are used to model increasing levels of semantic depth.

入力と出力の間のリレーションシップは、入力データに関してニューラル ネットワークをトレーニングすることで習得されます。The relationship between inputs and outputs is learned from training the neural network on the input data. グラフの方向は入力から、非表示の層を経由して出力層へと進みます。The direction of the graph proceeds from the inputs through the hidden layer and to the output layer. 層内のノードはすべて、重み付きエッジによって次の層内のノードに接続されます。All nodes in a layer are connected by the weighted edges to nodes in the next layer.

特定の入力に対してネットワークの出力を計算するには、非表示の層内の各ノードおよび出力層内の各ノードで値を計算します。To compute the output of the network for a particular input, a value is calculated at each node in the hidden layers and in the output layer. この値は、前の層からのノードの値の加重和を計算することで設定されます。The value is set by calculating the weighted sum of the values of the nodes from the previous layer. 次に、その加重和にアクティブ化関数が適用されます。An activation function is then applied to that weighted sum.

多クラス ニューラル ネットワークを構成するConfigure Multiclass Neural Network

  1. デザイナー内のご利用のパイプラインに、多クラス ニューラル ネットワーク モジュールを追加します。Add the MultiClass Neural Network module to your pipeline in the designer. このモジュールは、 [Machine Learning](機械学習)[Initialize](初期化)[Classification](分類) カテゴリにあります。You can find this module under Machine Learning, Initialize, in the Classification category.

  2. Create trainer mode (トレーナー モードの作成) : このオプションを使用して、モデルのトレーニング方法を指定します。Create trainer mode: Use this option to specify how you want the model to be trained:

    • Single Parameter (単一パラメーター) : モデルを構成する方法が既にわかっている場合は、このオプションを選択します。Single Parameter: Choose this option if you already know how you want to configure the model.

    • [Parameter Range](パラメーター範囲) : 最適なパラメーターがわからず、パラメーター スイープを実行する場合は、このオプションを選択します。Parameter Range: Select this option if you are not sure of the best parameters, and want to run a parameter sweep. 反復する値の範囲を選択します。モデルのハイパーパラメーターの調整では、指定した設定の可能なすべての組み合わせに対して反復処理を行い、最適な結果を生成するハイパーパラメーターを決定します。Select a range of values to iterate over, and the Tune Model Hyperparameters iterates over all possible combinations of the settings you provided to determine the hyperparameters that produce the optimal results.

  3. Hidden layer specification (非表示の層の仕様) : 作成するネットワーク アーキテクチャの種類を選択します。Hidden layer specification: Select the type of network architecture to create.

    • Fully connected case (完全結合ケース) : 既定のニューラル ネットワーク アーキテクチャを使用してモデルを作成するには、このオプションを選択します。Fully connected case: Select this option to create a model using the default neural network architecture. 多クラス ニューラル ネットワーク モデルの場合、既定値は次のとおりです。For multiclass neural network models, the defaults are as follows:

      • 単一の非表示の層One hidden layer
      • 出力層は非表示の層に完全結合されます。The output layer is fully connected to the hidden layer.
      • 非表示の層は入力層に完全結合されます。The hidden layer is fully connected to the input layer.
      • 入力層内のノードの数については、トレーニング データ内のフィーチャーの数によって決まります。The number of nodes in the input layer is determined by the number of features in the training data.
      • 非表示の層内のノード数はユーザーが設定できます。The number of nodes in the hidden layer can be set by the user. 既定値は、100 です。The default is 100.
      • 出力層内のノードの数は、クラスの数によって異なります。The number of nodes in the output layer depends on the number of classes.
  4. Number of hidden nodes (非表示ノードの数) : このオプションでは、既定のアーキテクチャでの非表示ノードの数をカスタマイズできます。Number of hidden nodes: This option lets you customize the number of hidden nodes in the default architecture. 非表示ノードの数を入力します。Type the number of hidden nodes. 既定値は、100 個のノードを含んだ 1 つの非表示の層となります。The default is one hidden layer with 100 nodes.

  5. The learning rate (学習率) : 修正の前に各イテレーションで実行されるステップのサイズを定義します。学習率の値を大きくすると、モデルの収束速度は速くなりますが、極小値から離れていってしまう可能性があります。The learning rate: Define the size of the step taken at each iteration, before correction.A larger value for learning rate can cause the model to converge faster, but it can overshoot local minima.

  6. Number of learning iterations (学習のイテレーション数) : アルゴリズムがトレーニング ケースを処理する必要がある最大回数を指定します。Number of learning iterations: Specify the maximum number of times the algorithm should process the training cases.

  7. The initial learning weights diameter (初期学習の重みの直径) : 学習プロセスの開始時のノードの重みを指定します。The initial learning weights diameter: Specify the node weights at the start of the learning process.

  8. The momentum (モーメンタム) : 学習中に以前のイテレーションからノードに適用する重みを指定します。The momentum: Specify a weight to apply during learning to nodes from previous iterations.

  9. Shuffle examples (例のシャッフル) : イテレーションとイテレーションの間にケースをシャッフルするには、このオプションを選択します。Shuffle examples: Select this option to shuffle cases between iterations.

    このオプションをオフにした場合、パイプラインを実行するたびに、まったく同じ順序でケースが処理されます。If you deselect this option, cases are processed in exactly the same order each time you run the pipeline.

  10. Random number seed (乱数シード) : 同じパイプラインを実行するたびに再現性を確保したい場合は、シードとして使用する値を指定します。Random number seed: Type a value to use as the seed, if you want to ensure repeatability across runs of the same pipeline.

  11. トレーニング データセットといずれかのトレーニング モジュールを接続します。Connect a training dataset and one of the training modules:

結果Results

トレーニングの完了後:After training is complete:

  • トレーニングされたモデルのスナップショットを保存するには、 [モデルのトレーニング] モジュールの右側のパネルにある [出力] タブを選択します。To save a snapshot of the trained model, select the Outputs tab in the right panel of the Train model module. [データセットの登録] アイコンを選択して、再利用可能なモジュールとしてモデルを保存します。Select the Register dataset icon to save the model as a reusable module.

次のステップNext steps

Azure Machine Learning で使用できる一連のモジュールを参照してください。See the set of modules available to Azure Machine Learning.