ニューラル ネットワーク: プレイグラウンド エクササイズ

最初のニューラル ネットワーク

この演習では、最初の小さなニューラル ネットをトレーニングします。ニューラル ネットにより、明示的な特徴クロスを使用せずに非線形モデルを学習できるようになります。

タスク 1: 指定されたモデルは、2 つの入力特徴を 1 つのニューロンに結合します。このモデルは非線形性を学習しますか?それを実行して、推測を確認します。

タスク 2: 隠しレイヤのニューロン数を 1 から 2 に増やし、さらに ReLU などの線形アクティベーションから非線形アクティベーションに変更してみてください。非線形性を学習できるモデルを作成できますか?データを効率的にモデル化できるか

タスク 3: ReLU などの非線形活性化を使用して、隠しレイヤのニューロン数を 2 から 3 に増やす。データを効果的にモデル化できるか実行によってモデルの品質はどのように異なるか

タスク 4: 隠しレイヤまたはレイヤごとのニューロンを追加または削除して、テストを続けます。学習率、正則化、その他の学習設定も変更可能です。テストの損失を 0.177 以下にできるニューロンとレイヤの最小数を指定します。

モデルのサイズを大きくすると、フィットは向上しますか?また、その収束速度はどのくらいですか? これによって、良いモデルに収束する頻度は変わりますか?たとえば、次のアーキテクチャを試してください。

  • 3 つのニューロンが隠れている最初のレイヤ。
  • 3 つのニューロンが存在する 2 つ目の隠れ層。
  • 2 つのニューロンからなる 3 つ目の隠れ層。

(解答はエクササイズのすぐ下に表示されます)。



ニューラル ネットの初期化

この演習では、再度 XOR データを使用しますが、ニューラル ネットのトレーニングの再現性と初期化の重要性を確認します。

タスク 1: モデルを 4 ~ 5 回実行します。各トライアルの前に [ネットワークをリセット] ボタンを押して、新しいランダム初期化を取得します。([ネットワークをリセット] ボタンは、再生ボタンの左にある円形のリセット矢印です)。収束を確認するには、各トライアルを少なくとも 500 ステップ実行します。各モデル出力はどの形状に収束しますか?非凸最適化における初期化の役割について、どのように説明しますか。

タスク 2: レイヤといくつかのノードを追加して、モデルをもう少し複雑にしてみます。タスク 1 のトライアルを繰り返します。これにより、結果に安定性が追加されますか。

(解答はエクササイズのすぐ下に表示されます)。



ニューラル ネット スパイラル

このデータセットはノイズの多いスパイラルです。当然、ここでは線形モデルが失敗するでしょうが、手動で定義する特徴クロスは構築が難しい場合があります。

タスク 1: X1 と X2 のみを使用して、最適なモデルをトレーニングします。レイヤやニューロンを追加または削除したり、学習率、正則化率、バッチサイズなどの学習設定を変更したりできます。最も良くないテスト損失はどれか?モデル出力サーフェスはどのくらいスムーズですか。

タスク 2: ニューラル ネットを使用した場合でも、最良のパフォーマンスを実現するために、なんらかの特徴量エンジニアリングが必要になることがよくあります。プロダクトの他の特徴、または sin(X1) と sin(X2) などの変換を追加してみてください。より良いモデルを入手できますか?モデル出力のサーフェスはよりスムーズですか?

(解答はエクササイズのすぐ下に表示されます)。