工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Equipment >> 産業用ロボット

ニューラルネットワークにはいくつの隠しレイヤーと隠しノードが必要ですか?

この記事では、多層パーセプトロンの非表示部分を構成するためのガイドラインを提供します。

ニューラルネットワークに関するこのシリーズのこれまでのところ、パーセプトロンNN、多層NN、およびPythonを使用してそのようなNNを開発する方法について説明してきました。採用できる隠れ層とノードの数について説明する前に、以下のシリーズに追いつくことを検討してください。

  1. ニューラルネットワークを使用して分類を実行する方法:パーセプトロンとは何ですか?
  2. 単純なパーセプトロンニューラルネットワークの例を使用してデータを分類する方法
  3. 基本的なパーセプトロンニューラルネットワークをトレーニングする方法
  4. 単純なニューラルネットワークトレーニングを理解する
  5. ニューラルネットワークのトレーニング理論の概要
  6. ニューラルネットワークの学習率を理解する
  7. 多層パーセプトロンを使用した高度な機械学習
  8. シグモイド活性化関数:多層パーセプトロンニューラルネットワークでの活性化
  9. 多層パーセプトロンニューラルネットワークをトレーニングする方法
  10. 多層パーセプトロンのトレーニング式とバックプロパゲーションを理解する
  11. Python実装のためのニューラルネットワークアーキテクチャ
  12. Pythonで多層パーセプトロンニューラルネットワークを作成する方法
  13. ニューラルネットワークを使用した信号処理:ニューラルネットワーク設計での検証
  14. ニューラルネットワークのデータセットのトレーニング:Pythonニューラルネットワークをトレーニングおよび検証する方法
  15. ニューラルネットワークにはいくつの隠しレイヤーと隠しノードが必要ですか?

非表示レイヤーの要約

まず、ニューラルネットワークの隠れノードに関するいくつかの重要なポイントを確認しましょう。

次の図は、基本的な多層パーセプトロンの構造をまとめたものです。

隠しレイヤーはいくつですか?

ご想像のとおり、この質問に対する簡単な答えはありません。ただし、理解しておくべき最も重要なことは、1つの隠れ層を持つパーセプトロンは非常に強力な計算システムであるということです。 1つの隠れ層で十分な結果が得られない場合は、最初に他の改善を試してください。たとえば、学習率を最適化するか、トレーニングエポックの数を増やすか、トレーニングデータセットを強化する必要があります。 2番目の隠れ層を追加すると、コードの複雑さと処理時間が増加します。

もう1つ覚えておくべきことは、強力なニューラルネットワークは、コーディングの労力とプロセッサリソースの無駄だけではなく、ネットワークをオーバートレーニングの影響を受けやすくすることで、実際にプラスの害を及ぼす可能性があるということです。

パート4でオーバートレーニングについて話しましたが、ソリューションが十分に一般化されていないニューラルネットワークの動作を視覚化する方法として次の図が含まれています。

超強力なパーセプトロンは、人々が時々状況を「考えすぎる」方法に漠然と類似した方法でトレーニングデータを処理する場合があります。

詳細に焦点を合わせすぎて、実際には非常に単純な問題に過度の知的努力を払うと、「全体像」を見逃し、最適ではないことが判明する解決策になってしまいます。同様に、過剰な計算能力と不十分なトレーニングデータを持つパーセプトロンは、新しい入力サンプルをより効果的に分類する一般化されたソリューション(次の図に示す)を見つける代わりに、過度に特定のソリューションに落ち着く可能性があります。

では、実際に複数の非表示レイヤーが必要になるのはいつですか?私はあなたに個人的な経験からのガイドラインを与えることはできません。私ができる最善のことは、ジェフ・ヒートン博士(リンクされたテキストの158ページを参照)の専門知識を伝えることです。彼は、1つの隠れ層により、ニューラルネットワークが「ある有限空間から別の有限空間への連続マッピングを含むあらゆる関数を近似できる」と述べています。 。」

2つの隠れ層があるため、ネットワークは「任意の決定境界を任意の精度で表す」ことができます。

隠しノードはいくつですか?

隠れ層の最適な次元を見つけるには、試行錯誤が必要です。上で説明したように、ノードが多すぎることは望ましくありませんが、ネットワークが入出力関係の複雑さをキャプチャできるようにするために十分なノードが必要です。

試行錯誤はすべてうまくいきますが、何らかの合理的な出発点が必要になります。上記のリンク先の同じ本(159ページ)で、ヒートン博士は、隠れ層の次元を選択するための3つの親指のルールについて言及しています。漠然とした信号処理の直感に基づいた推奨事項を提供することで、これらに基づいて構築します。

  1. ネットワークに出力ノードが1つしかなく、必要な入出力関係がかなり単純であると思われる場合は、入力次元の3分の2に等しい隠れ層の次元から始めます。
  2. 複数の出力ノードがある場合、または必要な入出力関係が複雑であると思われる場合は、隠れ層の次元を入力の次元に出力の次元を加えたものに等しくします(ただし、入力の次元の2倍未満に保ちます)。
  3. 必要な入出力関係が非常に複雑であると思われる場合は、非表示の次元を入力次元の2倍未満に設定してください。

結論

この記事が、多層パーセプトロンの隠れ層構成を構成および改良するプロセスを理解するのに役立つことを願っています。

次の記事では、Pythonの実装といくつかの問題例を使用して、隠れ層の次元の影響を調べます。


産業用ロボット

  1. トグルプレスとは何ですか?どのように機能しますか?
  2. ラックアンドピニオンプレスはどのように機能しますか?
  3. トランスファーモールディングとは何ですか?どのように機能しますか?
  4. トランスミッションとは何ですか?それはどのように機能しますか?
  5. ニューラルネットワークへのバイアスノードの組み込み
  6. 隠れ層ニューラルネットワークの精度を上げる方法
  7. ニューラルネットワークのトレーニングデータセット:Pythonニューラルネットワークをトレーニングおよび検証する方法
  8. Pythonで多層パーセプトロンニューラルネットワークを作成する方法
  9. 多層パーセプトロンのトレーニング式とバックプロパゲーションを理解する
  10. 産業用クラッチとは何ですか?
  11. 油圧ポンプに必要な HP は?