Python で分類と回帰を組み合わせたニューラル ネットワーク モデル

Python で分類と回帰を組み合わせたニューラル ネットワーク モデル

[[406559]]

Python 中国語コミュニティ (ID: python-china)

一部の予測問題では、同じ入力に対して数値とクラス ラベルの両方を予測する必要があります。シンプルなアプローチは、同じデータに対して回帰予測モデルと分類予測モデルを開発し、これらのモデルを順番に使用することです。より効果的な場合が多い別のアプローチは、同じ入力から数値ラベル値とカテゴリラベル値の両方を予測できる単一のニューラル ネットワーク モデルを開発することです。これはマルチ出力モデルと呼ばれ、Keras や TensorFlow などの最新のディープラーニング ライブラリを使用して開発および評価するのが比較的簡単です。

このチュートリアルでは、回帰と分類予測を組み合わせたニューラル ネットワークを開発する方法を学びます。このチュートリアルを完了すると、次のことが分かります。

  • 一部の予測問題では、各入力例に対して数値とクラス ラベル値の両方を予測する必要があります。
  • 複数の出力を必要とする問題に対して、個別の回帰モデルと分類モデルを開発する方法。
  • 回帰予測と分類予測の両方が可能なニューラル ネットワーク モデルを開発および評価する方法。

チュートリアルの概要

このチュートリアルは、次の 3 つの部分に分かれています。

  • 回帰と分類のための単一モデル
  • 回帰モデルと分類モデルを分離する

アワビデータセット

回帰モデル

分類モデル

  • 回帰モデルと分類モデルを組み合わせる

回帰と分類のための単一モデル

ディープラーニング ニューラル ネットワーク モデルは、回帰問題または分類問題のいずれかに対して開発するのが一般的ですが、一部の予測モデリング タスクでは、回帰予測と分類予測の両方を実行できる単一のモデルを開発する必要がある場合があります。回帰とは、与えられた入力に対して数値を予測する予測モデリングの問題を指します。分類とは、入力が与えられた場合にクラス ラベルまたはクラス ラベルの確率を予測する予測モデリングの問題を指します。

数値やカテゴリ値を予測したい場合、いくつかの問題が発生する可能性があります。この問題を解決する 1 つの方法は、必要な予測ごとに個別のモデルを開発することです。このアプローチの問題点は、別々のモデルによる予測が異なる可能性があることです。ニューラル ネットワーク モデルを使用するときに使用できるもう 1 つのアプローチは、同じ入力に対して数値出力とクラス出力の両方を個別に予測できる単一のモデルを開発することです。これはマルチ出力ニューラル ネットワーク モデルと呼ばれます。このタイプのモデルの利点は、開発および保守するモデルが 2 つではなく 1 つで済むこと、また両方の出力タイプで同時にモデルをトレーニングおよび更新することで、2 つの出力タイプ間の予測の一貫性を高めることができることです。回帰予測と分類予測の両方を実行できるマルチ出力ニューラル ネットワーク モデルを開発します。

まず、この要件を満たすデータセットを選択し、回帰予測と分類予測用の個別のモデルの開発から始めましょう。

回帰モデルと分類モデルを分離する

このセクションでは、まず、回帰予測と分類予測の両方を行う必要がある可能性のある実際のデータセットを選択し、次に予測の種類ごとに個別のモデルを開発します。

アワビデータセット

「Abalone」データセットを使用します。アワビの年齢を判定するのは時間のかかる作業であり、物理的な詳細のみに基づいてアワビの年齢を判定することが望ましいです。これはアワビの物理的詳細を記述したデータセットであり、生物の年齢の代理となるアワビの年輪の数を予測する必要があります。

「年齢」は、数値 (年単位) またはカテゴリ ラベル (一般的な年単位) として予測できます。データセットは実例の一部として自動的にダウンロードされるため、ダウンロードする必要はありません。このデータセットは、必要になる可能性のある数値入力とカテゴリ入力の両方を含むデータセットの例を提供します。

まず、データセットをダウンロードして要約する例を開発しましょう。

  1. # アワビのデータセットを読み込んで要約する 
  2. pandasからread_csvをインポートする 
  3. matplotlibからpyplotをインポートする 
  4. # データセットをロード 
  5. url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv'    
  6. データフレーム= read_csv (url、ヘッダー=なし)  
  7. # 形状を要約する 
  8. 印刷(データフレーム.shape)  
  9. # 最初の数行を要約する 
  10. 印刷(データフレーム.head())

まず例を実行し、次にデータセットの形状をダウンロードして要約します。モデルのトレーニングと評価に使用できる例 (行) が 4,177 個あり、ターゲット変数を含む特徴 (列) が 9 個あることがわかります。最初の文字列値を除いて、すべての入力変数は数値変数であることがわかります。データ準備を簡素化するために、モデルから最初の列を削除し、数値入力値のモデリングに重点を置きます。

  1. (4177、9)  
  2. 012345678  
  3. 0 メートル 0.4550.3650.0950.51400.22450.10100.15015  
  4. 1 メートル 0.3500.2650.0900.22550.09950.04850.0707  
  5. 2F0.5300.4200.1350.67700.25650.14150.2109  
  6. 3M 0.4400.3650.1250.51600.21550.11400.15510  
  7. 4 私 0.3300.2550.0800.20500.08950.03950.0557

このデータは、個別の回帰および分類多層パーセプトロン (MLP) ニューラル ネットワーク モデルを開発するための基礎として使用できます。

注: このデータセットに最適なモデルを開発しようとしているわけではありません。代わりに、回帰予測と分類予測の両方を実行できるモデルを開発するという特定の手法を実証しています。

回帰モデル

このセクションでは、アワビデータセット用の回帰 MLP モデルを開発します。まず、列を入力要素と出力要素に分割し、文字列値を含む最初の列を削除する必要があります。また、ロードされたすべての列に浮動小数点型(ニューラル ネットワーク モデルで想定される)を強制し、後でモデルが認識する必要がある入力機能の数を記録します。

  1. # 入力変数(X)と出力変数(y)に分割 
  2. X, y =データセット[:, 1:-1], データセット [:, -1]  
  3. X, y = X.astype ('float'), y.astype('float')  
  4. n_features = X .shape[1]

次に、データセットをトレーニング データセットとテスト データセットに分割します。ランダムサンプルの 67% を使用してモデルをトレーニングし、残りの 33% を使用してモデルを評価します。

  1. # データをトレーニングセットとテストセットに分割する 
  2. X_train、X_test、y_train、 y_test = train_test_split (X、y、 test_size = 0.33 random_state = 1 )

次に、MLP ニューラル ネットワーク モデルを定義します。このモデルには 2 つの隠し層があり、最初の層には 20 個のノード、2 番目の層には 10 個のノードがあり、どちらも ReLU アクティベーションと「通常の」重み初期化 (推奨方法) を使用します。レイヤーとノードの数は任意に選択されます。出力層には、数値と線形活性化関数を予測するための単一のノードが含まれます。

  1. # kerasモデルを定義する 
  2. モデル=シーケンシャル()  
  3. model.add(Dense(20, input_dim = n_features , activation = 'relu' , kernel_initializer = 'he_normal' ))  
  4. model.add(Dense(10, activation = 'relu' , kernel_initializer = 'he_normal' ))  
  5. model.add(Dense(1, activation = 'linear' ))

確率的勾配降下法を採用した Adam の効率的なバージョンを使用して、平均二乗誤差 (MSE) 損失関数を最小化するようにモデルをトレーニングします。

  1. # kerasモデルをコンパイルする 
  2. model.compile(損失= 'mse' オプティマイザー= 'adam' )

モデルを 150 エポックトレーニングし、32 個のサンプルのミニバッチでサンプリングします (これも任意に選択されます)。

  1. # データセットにkerasモデルを適合させる 
  2. model.fit(X_train、y_train、エポック= 150 バッチサイズ= 32 詳細= 2 )

最後に、モデルをトレーニングした後、ホールドアウト テスト データセットで評価し、平均絶対誤差 (MAE) を報告します。

  1. # テストセットで評価する 
  2. yhat =モデル.予測(X_test)  
  3. 誤差=平均絶対誤差(y_test, yhat)  
  4. print('MAE: %.3f'% エラー)

要約すると、以下に、回帰問題としてフレーム化されたアワビデータセットの MLP ニューラル ネットワークの完全な例を示します。

  1. # アワビデータセットの回帰 MLP モデル 
  2. pandasからread_csvをインポートする 
  3. tensorflow.keras.models から importSequential  
  4. tensorflow.keras.layers から importDense  
  5. sklearn.metricsからmean_absolute_errorをインポートします 
  6. sklearn.model_selection から train_test_split をインポートします 
  7. # データセットをロード 
  8. url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv'    
  9. データフレーム= read_csv (url、ヘッダー=なし)  
  10. データセット=データフレーム.values  
  11. # 入力変数(X)と出力変数(y)に分割 
  12. X, y =データセット[:, 1:-1], データセット [:, -1]  
  13. X, y = X.astype ('float'), y.astype('float')  
  14. n_features = X .shape[1]  
  15. # データをトレーニングセットとテストセットに分割する 
  16. X_train、X_test、y_train、 y_test = train_test_split (X、y、 test_size = 0.33 random_state = 1 )  
  17. # kerasモデルを定義する 
  18. モデル=シーケンシャル()  
  19. model.add(Dense(20, input_dim = n_features , activation = 'relu' , kernel_initializer = 'he_normal' ))  
  20. model.add(Dense(10, activation = 'relu' , kernel_initializer = 'he_normal' ))  
  21. model.add(Dense(1, activation = 'linear' ))  
  22. # kerasモデルをコンパイルする
  23. model.compile(損失= 'mse' オプティマイザー= 'adam' )
  24. # データセットにkerasモデルを適合させる 
  25. model.fit(X_train、y_train、エポック= 150 バッチサイズ= 32 詳細= 2 )  
  26. # テストセットで評価する 
  27. yhat =モデル.予測(X_test)  
  28. 誤差=平均絶対誤差(y_test,yhat)  
  29. print('MAE: %.3f'% エラー)

例を実行すると、データセットが準備され、モデルが適合され、モデル エラーの推定値が報告されます。

注意: アルゴリズムや評価手順の確率的特性、または数値精度の違いにより、結果が異なる場合があります。例を複数回実行し、平均結果を比較することを検討してください。

この場合、モデルの誤差は約 1.5 であることがわかります。

  1. エポック145/150  
  2. 88/88- 0s- 損失: 4.6130  
  3. エポック146/150  
  4. 88/88- 0s- 損失: 4.6182  
  5. エポック147/150  
  6. 88/88- 0s- 損失: 4.6277  
  7. エポック148/150  
  8. 88/88- 0s- 損失: 4.6437  
  9. エポック149/150  
  10. 88/88- 0s- 損失: 4.6166  
  11. エポック150/150
  12.   88/88- 0s- 損失: 4.6132  
  13. 前兆: 1.554

ここまでは順調ですね。次に、同様の分類モデルの開発を見てみましょう。

分類モデル

アワビのデータセットは、各「リング」整数が個別のクラス ラベルとして扱われる分類問題として表現できます。この例とモデルは上記の回帰例と非常に似ていますが、いくつか重要な変更点があります。これには、各「リング」値に、0 から始まり、「クラス」の合計数から 1 を引いた数で終わる個別の整数を最初に割り当てる必要があります。これは LabelEncoder を使用して実現できます。また、後でモデルに必要となる、一意にエンコードされたクラス値の合計数として、クラスの合計数を記録することもできます。

  1. # 文字列を整数にエンコードする 
  2. y =ラベルエンコーダー().fit_transform(y)  
  3. n_class =長さ(ユニーク(y))

前と同じようにデータをトレーニング セットとテスト セットに分割した後、モデルを定義し、モデルの出力数をクラス数と同じになるように変更し、マルチクラス分類で一般的なソフトマックス活性化関数を使用できます。

  1. # kerasモデルを定義する 
  2. モデル=シーケンシャル()  
  3. model.add(Dense(20, input_dim = n_features , activation = 'relu' , kernel_initializer = 'he_normal' ))  
  4. model.add(Dense(10, activation = 'relu' , kernel_initializer = 'he_normal' ))  
  5. model.add(Dense(n_class, activation = 'softmax' ))

クラスラベルを整数値としてエンコードしたと仮定すると、整数エンコードされたクラスラベルを持つマルチクラス分類タスクに適したスパースカテゴリクロスエントロピー損失関数を最小化することでモデルを適合させることができる。

  1. # kerasモデルをコンパイルする 
  2. model.compile(損失= 'sparse_categorical_crossentropy' オプティマイザー= 'adam' )

前と同じようにトレーニング データセットにモデルを適合させた後、保持されたテスト セットで分類精度を計算することでモデルのパフォーマンスを評価できます。

  1. # テストセットで評価する 
  2. yhat =モデル.予測(X_test)  
  3. yhat = argmax (yhat,=-1).astype('int')  
  4. acc =精度スコア(y_test,yhat)  
  5. print('精度: %.3f' % acc)

以上のことを踏まえて、以下に、分類問題として分類されるアワビデータセットの MLP ニューラル ネットワークの完全な例を示します。

  1. # アワビデータセットの分類 MLP モデル 
  2. numpyからuniqueをインポート 
  3. numpyからargmaxをインポート 
  4. pandasからread_csvをインポートする 
  5. tensorflow.keras.models から importSequential
  6. tensorflow.keras.layers から importDense  
  7. sklearn.metricsからaccuracy_scoreをインポートする 
  8. sklearn.model_selection から train_test_split をインポートします 
  9. sklearn.preprocessing から LabelEncoder をインポートします 
  10. # データセットをロード 
  11. url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv'    
  12. データフレーム= read_csv (url、ヘッダー=なし)  
  13. データセット=データフレーム.values  
  14. # 入力変数(X)と出力変数(y)に分割 
  15. X, y =データセット[:, 1:-1], データセット [:, -1]  
  16. X, y = X.astype ('float'), y.astype('float')  
  17. n_features = X .shape[1]  
  18. # 文字列を整数にエンコードする 
  19. y =ラベルエンコーダー().fit_transform(y)  
  20. n_class =長さ(ユニーク(y))  
  21. # データをトレーニングセットとテストセットに分割する 
  22. X_train、X_test、y_train、 y_test = train_test_split (X、y、 test_size = 0.33 random_state = 1 )  
  23. # kerasモデルを定義する 
  24. モデル=シーケンシャル()  
  25. model.add(Dense(20, input_dim = n_features , activation = 'relu' , kernel_initializer = 'he_normal' ))  
  26. model.add(Dense(10, activation = 'relu' , kernel_initializer = 'he_normal' ))  
  27. model.add(Dense(n_class, activation = 'softmax' ))  
  28. # kerasモデルをコンパイルする 
  29. model.compile(損失= 'sparse_categorical_crossentropy' オプティマイザー= 'adam' )  
  30. # データセットにkerasモデルを適合させる 
  31. model.fit(X_train、y_train、エポック= 150 バッチサイズ= 32 詳細= 2 )  
  32. # テストセットで評価する 
  33. yhat =モデル.予測(X_test)  
  34. yhat = argmax (yhat,=-1).astype('int')  
  35. acc =精度スコア(y_test,yhat)  
  36. print('精度: %.3f' % acc)

例を実行すると、データセットが準備され、モデルが適合され、モデル エラーの推定値が報告されます。

注意: アルゴリズムや評価手順の確率的特性、または数値精度の違いにより、結果が異なる場合があります。例を複数回実行し、平均結果を比較することを検討してください。

この場合、モデルの精度は約 27% であることがわかります。

  1. エポック145/150  
  2. 88/88- 0s- 損失: 1.9271  
  3. エポック146/150  
  4. 88/88- 0s- 損失: 1.9265  
  5. エポック147/150  
  6. 88/88- 0s- 損失: 1.9265  
  7. エポック148/150  
  8. 88/88- 0s- 損失: 1.9271
  9.  エポック149/150  
  10. 88/88- 0s- 損失: 1.9262
  11. エポック150/150  
  12. 88/88- 0s- 損失: 1.9260  
  13. 精度: 0.274

ここまでは順調ですね。次に、回帰予測と分類予測の両方を実行できる複合モデルの開発について見てみましょう。

回帰モデルと分類モデルを組み合わせる

このセクションでは、単一の入力に対して回帰予測と分類予測の両方を実行できる単一の MLP ニューラル ネットワーク モデルを開発します。これはマルチ出力モデルと呼ばれ、関数型 Keras API を使用して開発できます。

まず、データセットを準備する必要があります。以前と同じように分類用のデータセットを準備できますが、エンコードされたターゲット変数を元のターゲット変数値と区別するために別の名前で保存する必要があります。

  1. # 文字列を整数にエンコードする 
  2. y_class =ラベルエンコーダー().fit_transform(y)  
  3. n_class =長さ(ユニーク(y_class))

次に、入力、生の出力、エンコードされた出力変数をトレーニング セットとテスト セットに分割できます。

  1. # データをトレーニングセットとテストセットに分割する 
  2. X_train、X_test、y_train、y_test、y_train_class、 y_test_class = train_test_split (X、y、y_class、 test_size = 0.33 random_state = 1 )

次に、機能 API を使用してモデルを定義します。このモデルは、スタンドアロン モデルと同じ数の入力を受け取り、同じ方法で構成された 2 つの隠し層を使用します。

  1. # 入力 
  2. 可視=入力(形状=(n_features,))  
  3. hidden1 =(20、アクティベーション= 'relu' kernel_initializer = 'he_normal' )(表示)  
  4. hidden2 =(10、アクティベーション= 'relu' kernel_initializer = 'he_normal' )(hidden1)

次に、モデルの 2 番目の隠し層に接続する 2 つの個別の出力層を定義できます。

1 つ目は、単一のノードと線形活性化関数を持つ回帰出力層です。

  1. # 回帰出力 
  2. out_reg =(1、活性化= '線形' )(hidden2)

2 番目は分類出力層で、予測するクラスごとに 1 つのノードがあり、ソフトマックス活性化関数を使用します。

  1. # 分類出力 
  2. out_clas =(n_class、活性化= 'softmax' )(hidden2)

次に、1 つの入力層と 2 つの出力層を持つモデルを定義できます。

  1. # モデルを定義する 
  2. model =モデル(入力=可視出力=[out_reg、out_clas])

2 つの出力層が与えられた場合、最初の (回帰) 出力層の平均二乗誤差損失と、2 番目の (分類) 出力層に対するスパース カテゴリ クロス エントロピーという 2 つの損失関数を使用してモデルをコンパイルできます。

  1. # kerasモデルをコンパイルする 
  2. model.compile(損失=['mse','sparse_categorical_crossentropy'],オプティマイザー= 'adam' )

参考用にモデルの図を作成することもできます。これには、pydot と pygraphviz がインストールされている必要があります。これが問題になる場合は、この行と plot_model() 関数のインポート ステートメントをコメント アウトできます。

  1. # モデルのグラフをプロットする 
  2. plot_model(モデル、 to_file = 'model.png' show_shapes = True )

モデルが予測を行うたびに、2 つの値が予測されます。同様に、モデルをトレーニングする場合、サンプルごとに出力ごとに 1 つのターゲット変数が必要になります。このようにして、モデルをトレーニングし、モデルの各出力に回帰ターゲットと分類ターゲットのデータを慎重に提供することができます。

  1. # モデルのグラフをプロットする 
  2. plot_model(モデル、 to_file = 'model.png' show_shapes = True )

適合モデルは、保持されたテスト セット内の各例に対して回帰予測と分類予測を行うことができます。

  1. # テストセットで予測を行う 
  2. yhat1、 yhat2 =モデル予測(X_test)

最初の配列は、平均絶対誤差による回帰予測を評価するために使用できます。

  1. # 回帰モデルの誤差を計算する 
  2. 誤差=平均絶対誤差(y_test,yhat1)
  3.   print('MAE: %.3f'% エラー)

2 番目の配列は、分類精度を使用して分類予測を評価するために使用できます。

  1. # 分類モデルの精度を評価する 
  2. yhat2 = argmax (yhat2,=-1).astype('int')  
  3. acc =精度スコア(y_test_class,yhat2)
  4.   print('精度: %.3f' % acc)

それでおしまい。これらすべてをまとめると、以下はアワビのデータセットに対するコンバイナ回帰と分類予測のためのマルチ出力モデルのトレーニングと評価の完全な例です。

  1. # アワビデータセットの回帰と分類の予測を組み合わせた mlp  
  2. numpyからuniqueをインポート 
  3. numpyからargmaxをインポート 
  4. pandasからread_csvをインポートする 
  5. sklearn.metricsからmean_absolute_errorをインポートします 
  6. sklearn.metricsからaccuracy_scoreをインポートする 
  7. sklearn.model_selection から train_test_split をインポートします 
  8. sklearn.preprocessing から LabelEncoder をインポートします 
  9. tensorflow.keras.models から importModel  
  10. tensorflow.keras.layersからインポート入力 
  11. tensorflow.keras.layers から importDense  
  12. tensorflow.keras.utilsからplot_modelをインポートします 
  13. # データセットをロード
  14.   url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/abalone.csv'    
  15. データフレーム= read_csv (url、ヘッダー=なし)  
  16. データセット=データフレーム.values  
  17. # 入力変数(X)と出力変数(y)に分割 
  18. X, y =データセット[:, 1:-1], データセット [:, -1]  
  19. X, y = X.astype ('float'), y.astype('float')  
  20. n_features = X .shape[1]  
  21. # 文字列を整数にエンコードする 
  22. y_class =ラベルエンコーダー().fit_transform(y)  
  23. n_class =長さ(ユニーク(y_class))  
  24. # データをトレーニングセットとテストセットに分割する 
  25. X_train、X_test、y_train、y_test、y_train_class、 y_test_class = train_test_split (X、y、y_class、 test_size = 0.33 random_state = 1 )
  26.   # 入力 
  27. 可視=入力(形状=(n_features,))  
  28. hidden1 =(20、アクティベーション= 'relu' kernel_initializer = 'he_normal' )(表示)  
  29. hidden2 =(10、アクティベーション= 'relu' kernel_initializer = 'he_normal' )(hidden1)  
  30. # 回帰出力 
  31. out_reg =(1、活性化= '線形' )(hidden2)  
  32. # 分類出力 
  33. out_clas =(n_class、活性化= 'softmax' )(hidden2)  
  34. # モデルを定義する 
  35. model =モデル(入力=可視出力=[out_reg、out_clas])  
  36. # kerasモデルをコンパイルする 
  37. model.compile(損失=['mse','sparse_categorical_crossentropy'],オプティマイザー= 'adam' )  
  38. # モデルのグラフをプロットする 
  39. plot_model(モデル、 to_file = 'model.png' show_shapes = True )  
  40. # データセットにkerasモデルを適合させる 
  41. model.fit(X_train、[y_train、y_train_class]、エポック= 150 バッチサイズ= 32 詳細= 2 )  
  42. # テストセットで予測を行う 
  43. yhat1、 yhat2 =モデル予測(X_test)  
  44. # 回帰モデルの誤差を計算する 
  45. 誤差=平均絶対誤差(y_test,yhat1)  
  46. print('MAE: %.3f'% エラー)  
  47. # 分類モデルの精度を評価する 
  48. yhat2 = argmax (yhat2,=-1).astype('int')  
  49. acc =精度スコア(y_test_class,yhat2)  
  50. print('精度: %.3f' % acc)

例を実行すると、データセットが準備され、モデルが適合され、モデル エラーの推定値が報告されます。

注意: アルゴリズムや評価手順の確率的特性、または数値精度の違いにより、結果が異なる場合があります。例を複数回実行し、平均結果を比較することを検討してください。

マルチ出力モデル図が作成され、モデルの 2 番目の隠し層に接続された回帰 (左) および分類 (右) 出力層が明確に表示されます。

この場合、モデルは約 1.495 の妥当な誤差と、以前と同様の約 25.6% の精度の両方を達成していることがわかります。

  1. エポック145/150  
  2. 88/88- 0s- 損失: 6.5707- 高密度2損失: 4.5396- 高密度3損失: 2.0311  
  3. エポック146/150  
  4. 88/88- 0s- 損失: 6.5753- 高密度2損失: 4.5466- 高密度3損失: 2.0287  
  5. エポック147/150
  6. 88/88- 0s- 損失: 6.5970- 高密度2損失: 4.5723- 高密度3損失: 2.0247  
  7. エポック148/150  
  8. 88/88- 0s- 損失: 6.5640- 高密度2損失: 4.5389- 高密度3損失: 2.0251  
  9. エポック149/150  
  10. 88/88- 0s- 損失: 6.6053- 高密度2損失: 4.5827- 高密度3損失: 2.0226  
  11. エポック150/150  
  12. 88/88- 0s- 損失: 6.5754- 高密度2損失: 4.5524- 高密度3損失: 2.0230  
  13. 前兆: 1.495  
  14. 精度: 0.256

<<:  自動配送物流における人工知能の応用

>>:  自動運転車の安全基準を緩和?米国上院議員の提案は拒否された

ブログ    
ブログ    

推薦する

ルーティングの基本アルゴリズム設計の目標とタイプ

基本的なルーティング アルゴリズムの設計目標とタイプは、基本的なルーティング アルゴリズムに関する知...

調査によると、AIはデータ文化に大きな影響を与えている

2023年はGenAIの年ですが、GenAI(生成型人工知能)の採用率は期待に応えていません。ほとん...

...

2019年の中国の人工知能産業の現状と今後の動向

[[264806]]新たな産業変革の中核的な原動力であり、将来の発展に関わる戦略的技術として、国は人...

AWS 上でディープラーニングホストを構築する (Windows 版)

この記事では、Amazon EC2 P2 インスタンスをレンタルして使用する方法について簡単に説明し...

自動化を推進するAIテストツール

テスト自動化における人工知能の使用は、品質保証業界を支配する最新のトレンドの 1 つです。実際、キャ...

単語の段落により、モデルは「システムプロンプト単語」を明らかにすることができます。 ChatGPTとBingも例外ではなかった

リリースされるや否やネットワーク全体を驚かせたChatGPT音声ダイアログ——ガガは、その自然で流暢...

米軍はU2に人工知能副操縦士を装備した。世界で最も操縦が難しい航空機は将来ドローンになるかもしれない

ロシアのスプートニク通信は12月17日、米空軍が最近、U2戦闘機の副操縦士として初めて人工知能を使用...

...

3分レビュー! 2021年12月の自動運転業界の開発動向を簡単に概観

チップ不足と疫病の影響により、今年初めから自動運転産業の発展は減速を余儀なくされたが、数ヶ月の回復期...

...

TikTok本社は米国に残り、ByteDanceが管理権とコアアルゴリズムを保持する

事情に詳しい関係者らは、米政府に提出した提案に基づき、バイトダンスがティックトックの本社を米国内に維...

2日間で星の数が1,000を突破:OpenAIのWhisperの蒸留後、音声認識が数倍高速化

少し前に、「テイラー・スウィフトが中国語を披露」する動画がさまざまなソーシャルメディアプラットフォー...

量子コンピューティング + 人工知能 - これが未来のテクノロジーの最大のホットスポットです!

[[219586]] 1990年代初頭、ウィチタ州立大学の物理学教授エリザベス・バーマンが量子物理...

HumanGaussian オープンソース: ガウススプラッティングに基づく高品質な 3D 人体生成のための新しいフレームワーク

3D 生成の分野では、テキスト プロンプトに基づいて高品質の 3D 人間の外観と形状を作成することは...