ニューラルネットワークの層とノードの数を設定する方法

ニューラルネットワークの層とノードの数を設定する方法

[51CTO.com クイック翻訳] 人工ニューラル ネットワークには、ネットワークのアーキテクチャまたはトポロジーを制御する 2 つの重要なハイパーパラメータがあります。それは、レイヤーの数と各非表示レイヤーのノードの数です。

ネットワークを構成するときに、これらのパラメータの値を指定する必要があります。特定の予測モデリング問題に対してこれらのハイパーパラメータを構成する最も信頼性の高い方法は、強力なテスト ツールを使用して体系的な実験を実施することです。

機械学習分野の初心者にとって、これは簡単ではないかもしれません。重要なのは、最適なレイヤー数とノード数を計算する分析的な方法を見つけること、または簡単な経験則に従うことです。

この記事では、レイヤーとノードの役割と、予測モデリングの問題に対して多層パーセプトロン ニューラル ネットワークを構成する方法について学習します。

この記事を読むと、次のことがわかります。

  • 単層パーセプトロン ネットワークと多層パーセプトロン ネットワークの違い。
  • ネットワークには 1 つ以上の隠し層の値があります。
  • ネットワーク内のレイヤーとノードの数を構成する 5 つの方法。

さあ始めましょう!

[[239712]]

図1: ニューラルネットワークの層とノードの数を設定する方法

概要

この記事は以下の 4 つの部分に分かれています。

  1. 多層パーセプトロン
  2. レイヤーを数えるにはどうすればいいですか?
  3. なぜ複数のレイヤーがあるのですか?
  4. 使用するレイヤーとノードの数はいくつですか?

多層パーセプトロン

ノードは、ニューロンまたはパーセプトロンとも呼ばれ、1 つ以上の重み付けされた入力接続、何らかの方法で入力を組み合わせる伝達関数、および接続された出力を持つ計算単位です。

次に、ノードはレイヤーに編成され、ネットワークを形成します。

単層人工ニューラル ネットワークは、単層とも呼ばれます。名前が示すように、ノードの層は 1 つだけです。単一レイヤー内の各ノードは入力変数に直接接続され、出力変数を取得します。

単層ネットワークには、アクティブなユニットが 1 層だけあります。入力は、単一の重み層を介して出力に直接接続されます。出力は互いに影響を及ぼさないため、N 個の出力を持つネットワークは N 個の独立した単一出力ネットワークとして見ることができます。

—NeuralForge: フィードフォワード人工ニューラルネットワークにおける教師あり学習、1999 年、p. 15

単層ネットワークは、多層ネットワーク (多層パーセプトロンとも呼ばれる) に拡張できます。多層パーセプトロン (MLP) は、複数の層を持つ人工ニューラル ネットワークです。

入力変数に接続された入力層、1 つ以上の隠し層、および出力変数を生成する出力層があります。

標準的な多層パーセプトロン (MLP) は、互いに接続された単層のパーセプトロンで構成されます。入力ノードの層が 1 つ、出力ノードの層が 1 つ、中間層が 1 つ以上あります。内部層は、システムの入力と出力から直接観察できないため、「隠し層」と呼ばれることもあります。

—NeuralForging: フィードフォワード人工ニューラルネットワークにおける教師あり学習、1999 年、31 ページ

MLP のレイヤーの種類を次のようにまとめることができます。

  • 入力レイヤー: 入力変数。可視レイヤーと呼ばれることもあります。
  • 隠し層: 入力層と出力層の間にあるノード層。隠しレイヤーが 1 つ以上存在する場合があります。
  • 出力層: 出力変数を生成するノード層。

最後に、ニューラル ネットワークの形状と機能を説明するために使用される用語がいくつかあります。

  • サイズ: モデル内のノードの数。
  • 幅: 特定のレイヤー内のノードの数。
  • 深さ: ニューラル ネットワーク内の層の数。
  • 機能: ネットワーク構成によって学習できる機能の種類または構造。 「表現力」と呼ばれることもあります。
  • アーキテクチャ: ネットワーク内のレイヤーとノードの特定の配置。

レイヤーを数えるにはどうすればいいですか?

過去には、層の数え方について意見の相違がありました。

意見の相違の焦点は、入力層をカウントすべきかどうかです。 1 つの見解は、入力はアクティブ入力ではなく、単なる入力変数であるため、入力層をカウントすべきではないというものです。私たちはこの規則を使用しますが、これは Neural Forging という本でも推奨されている規則でもあります。

したがって、入力層、1 つの隠れ層、および 1 つの出力層を持つ MLP は 2 層 MLP です。MLP の構造は、簡単な表記法を使用して要約できます。

この便利な表記法は、レイヤーの数とレイヤーあたりのノードの数をまとめたものです。各層のノード数は、入力層から出力層の順に整数で指定され、各層のサイズはスラッシュ文字 ("/") で区切られます。

たとえば、ネットワークの入力層に 2 つの変数、8 つのノードを持つ隠し層、および 1 つのノードを持つ出力層がある場合、2/8/1 という表記法を使用して記述できます。

多層パーセプトロン ニューラル ネットワークのレイヤーとサイズを記述するときには、この表記法を使用することをお勧めします。

なぜ複数のレイヤーがあるのですか?

使用するレイヤーの数を指定する前に、複数のレイヤーが必要な理由について考えることが重要です。

単層ニューラル ネットワークは、線形に分離可能な関数を表すためにのみ使用できます。これは、2 つのクラスを線できれいに分離できる分類問題などの単純な問題を意味します。問題が単純な場合は、単層ネットワークで十分な場合があります。

私たちが解決したい問題のほとんどは線形に分離可能ではありません。

多層パーセプトロンは凸領域を表すために使用できます。これは、実質的に、線形分離可能という制限を克服し、インスタンスを分離して分類できるように、高次元空間内のインスタンスの形状を描くことを学習できることを意味します。

実際、リップマンの 1987 年の論文「ニューラル ネットワーク コンピューティング入門」には、2 つの隠し層を持つ MLP があれば、任意の形状の分類領域を作成するのに十分であるという理論的発見がありました。これは非常に有益ですが、各レイヤーでいくつのノードが使用されているか、または重みがどのように学習されるかについては、論文ではまったく示されていないことに注意してください。

さらなる理論的発見と証拠により、MLP は普遍的な近似値であることが示されています (https://en.wikipedia.org/wiki/Universal_approximation_theorem)。単一の隠し層を持つ MLP は、必要なあらゆる関数を近似できます。

具体的には、普遍近似定理は、線形出力層と少なくとも 1 つの隠れ層を持ち、任意の「スクイージング」活性化関数 (ロジスティック シグモイド活性化関数など) を備えたフィードフォワード ネットワークは、ネットワークに十分な隠れユニットがある場合、任意のボレル測定可能な関数を近似できると述べています。

- ディープラーニング、2016年、198ページ。

これは頻繁に引用される理論的発見であり、それに関する文献は多数あります。実際には、特定の問題に対して単一の隠し層で使用するノードの数もわかりませんし、重みを効率的に学習または設定する方法もわかりません。さらに、単一の隠れ層を持つ MLP では直接学習できない関数や、無限の数のノードを必要とする関数に対して、多くの反例が提案されています。

十分に大きな単一の隠し層 MLP で学習できる関数の場合でも、2 つ (またはそれ以上) の隠し層で学習する方が効率的な場合があります。

十分に大きな隠し層があればほとんどの関数を近似できるのに、なぜさらに多くの層を使用するのでしょうか?理由の一つは「十分に大きい」という言葉にあります。単一の隠し層は一部の機能には最適ですが、より多くの層を持つソリューションと比較して単一の隠し層ソリューションが非常に非効率になる機能もあります。

—NeuralForge: フィードフォワード人工ニューラルネットワークにおける教師あり学習、1999 年、38 ページ

使用するレイヤーとノードの数はいくつですか?

MLP を紹介したので、実際の問題に取り組みましょう。多層パーセプトロンではいくつの層を使用すればよいのでしょうか。また、各層ではいくつのノードを使用すればよいのでしょうか。

このセクションでは、この問題に対処するための 5 つのアプローチを紹介します。

1) 実験

一般的に、MLP が使用するレイヤーとノードの数を尋ねられたとき、私は通常次のように答えます。

わかりません。体系的な実験を行って、特定のデータセットに最適なものを見つけてください。

私はまだこれに答えることを主張します。

通常、特定の現実世界の予測モデリング問題を解決するために、人工ニューラル ネットワーク内のレイヤーの数や各レイヤーで使用されるノードの数を分析的に数えることはできません。

レイヤーの数と各レイヤーのノード数は、指定する必要があるモデルのハイパーパラメータです。

あなたは、ニューラル ネットワークを使用して特定の問題を解決しようとする最初の人かもしれません。あなたより前にこの問題を解決した人は誰もいません。したがって、ネットワークをどのように構成すればよいかを正確に指示できる人は誰もいません。

それを知るには、強力なテスト ツールと制御された実験を使用する必要があります。たとえば、この記事をご覧ください: ディープラーニング モデルのスキルを評価するにはどうすればよいでしょうか? 》(https://machinelearningmastery.com/evaluate-skill-deep-learning-models/)

どのようなヒューリスティックに遭遇したとしても、答えは、特定のデータセットに最も適したものを見つけるための慎重な実験に行き着きます。

2) 直感

ネットワークを直感的に構成できます。たとえば、特定の予測モデリング問題を解決するにはディープ ネットワークが必要であるという直感があるかもしれません。

ディープ モデルは、入力変数の空間から出力変数の空間まで、抽象化のレベルが徐々に高くなる階層を提供します。

問題領域についてある程度理解している場合は、予測問題を適切に解決するために、深い階層モデルが必要になる場合があります。この場合、複数の深さのレイヤーを持つネットワーク構成を選択できます。

ディープモデルを選択するということは、学習したい関数がいくつかのより単純な関数のサブセットであると信じていることを意味します。これは表現学習の観点から説明できます。表現学習では、学習の問題は、他のより単純な変動の影響によって説明できる変動の影響のセットを発見することであると考えています。

―ディープラーニング、2016年、201ページ。

この直感は、ドメインでの経験、ニューラル ネットワーク モデリングの問題に関する経験、またはその両方から得られる可能性があります。

私の経験では、実験を通じて直感が無効であることが証明されることが多いです。

3) 深さ

Goodfellow、Bengio、Courville は、彼らの独創的なディープラーニングの教科書の中で、経験的に言えば、ディープニューラルネットワークは興味のある問題に対してより優れたパフォーマンスを発揮するようだ、と強調しています。

具体的には、深さが明らかに有利な場合には、統計的な議論としてディープ ニューラル ネットワークを選択すべきであると示唆しています。

経験的に、深さが増すほど、多くのタスクに一般化されます。 […] これは、ディープアーキテクチャを使用すると、モデルが学習する関数の空間上で実際に有用な事前条件が表現されることを示唆しています。

――ディープラーニング、2016年、201ページ。

この議論を使用すると、ディープ ネットワーク (多くの層を持つネットワーク) を使用することが、困難な予測モデリングの問題に取り組むためのネットワークを構成するための経験的な方法になり得ることが示されます。

4) アイデアを借りる

シンプルですが、時間がかかる可能性があるアプローチは、文献で報告されている調査結果を活用することです。

あなたの問題に似た予測問題に MLP を使用する方法について説明している研究論文を探してください。これらの論文で使用されているネットワーク構成に注意し、それを問題の構成をテストするための出発点として使用します。

モデル ハイパーパラメータの転送可能性により、モデルをある問題から別の問題に適応させることができます。これは困難な未解決の問題であり、モデル ハイパーパラメータの構成が科学というよりも芸術である理由です。

ただし、関連する問題に使用されるネットワーク層とノードの数は、アイデアをテストするための良い出発点となります。

5) 検索

さまざまなネットワーク構成をテストするための自動検出を設計します。

検索では、文献から得たアイデアと自分の直感を組み合わせることができます。

一般的な検索戦略には次のようなものがあります。

  • ランダム: 各レイヤー内のレイヤーとノードのランダムな構成を試します。
  • グリッド: レイヤーの数とレイヤーごとのノードの数を体系的に検索します。
  • ヒューリスティック手法: 遺伝的アルゴリズムやベイズ最適化などの構成の有向検索を試みます。
  • 徹底的なアプローチ: レイヤーとノードの数の可能なすべての組み合わせを試します。この戦略は、小規模なネットワークとデータセットで機能する可能性があります。

これは、大規模なモデル、大規模なデータセット、およびその両方の組み合わせでは困難になる可能性があります。計算負荷を軽減または管理するためのアイデアとしては、次のものが挙げられます。

  • 検索を高速化するために、トレーニング データセットの小さなサブセットにモデルを適合させます。
  • 検索空間のサイズを厳密に制限します。
  • 複数のサーバーインスタンス間で検索を並列化します (たとえば、Amazon EC2 を使用)。

時間とリソースが許せば、体系的な検索をお勧めします。

さらに読む

さらに詳しく知りたい場合は、このセクションでこのトピックに関する詳細なリソースを参照してください。

  • 1987 年の「ニューラル ネットワーク コンピューティング入門」: https://ieeexplore.ieee.org/abstract/document/1165576/
  • 隠れ層とノードはいくつありますか? (2009) 》:https://www.tandfonline.com/doi/abs/10.1080/01431160802549278

  • ニューラルフォージ: フィードフォワード人工ニューラルネットワークにおける教師あり学習 (1999): https://amzn.to/2vhyW8j
  • ニューラルネットワーク、2016年: https://amzn.to/2IXzUIY

記事

  • Wikipedia の人工ニューラル ネットワークのエントリ:

https://en.wikipedia.org/wiki/人工ニューラルネットワーク

  • 普遍近似定理に関する Wikipedia のエントリ:

https://en.wikipedia.org/wiki/普遍近似定理

  • 隠し層はいくつ使用すればよいですか? comp.ai.neural-nets よくある質問:

http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-9.html

結論

この記事では、さまざまなレイヤーとノードの役割と、多層パーセプトロン ニューラル ネットワークを構成する方法について学習しました。

具体的には、次のことが分かります。

  • 単層パーセプトロン ネットワークと多層パーセプトロン ネットワークの違い。
  • ネットワークには 1 つ以上の隠し層の値があります。
  • ネットワーク内のレイヤーとノードの数を構成する 5 つの方法。

何か質問はありますか?コミュニケーションのためにメッセージを残してください!

元のタイトル: ニューラル ネットワークのレイヤーとノードの数を設定する方法、著者: Jason Brownlee

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  最終的にAIによってモザイクが見破られたとき、私たちのプライバシーはどこに隠されるのでしょうか?

>>:  AIが仕事や生活を奪ったら、人類の未来はどうなるのでしょうか?

ブログ    
ブログ    

推薦する

...

ガイドはここにあります! GPT3.5を微調整して大規模モデルをカスタマイズしましょう!

著者 | 崔昊レビュー | Chonglou一般的なモデルは優れていますが、技術者は、独自の大規模な...

Github 年次レポートレビュー: TensorFlow が間違いなく最大の勝者です!

現在、世界中の何百万もの開発者が GitHub を使用してコードを共有し、ビジネスを構築しており、多...

...

中国語で最も強力なオープンソース モデルがここにあります! 130億のパラメータ、商用利用の閾値0、Kunlun Wanweiより

最も徹底したオープンソース モデルがここにあります - 130 億のパラメーター、申請なしで商用利用...

人工知能が防犯カメラの機能を強化している

今日、セキュリティという言葉を聞くと、それは通常、サイバーセキュリティ、特に人工知能に関するものにな...

...

私はAIとキングオブグローリーを6ラウンドプレイしましたが、精神が崩壊しました

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

人工知能と機械学習がもたらす劇的な変化を示す6つの事例

[[219896]]現在、人工知能 (AI) と機械学習 (ML) ほど注目されているテクノロジーは...

安全性は小さな問題ではありません。これがAI時代に彼らが選択することです

AI時代においては、セキュリティを早急に再定義する必要があります。人工知能やモノのインターネットなど...

なぜ機械学習は人工知能よりも優れているのでしょうか?

人工知能、データサイエンス、機械学習はすべて同じ分野に属します。問題は、この場合、どちらが正しい目的...

...

「脳制御+AI」で人は「本能」で運転できるようになる

「左に曲がれ、左に曲がれ、左に曲がれと言っただろう!」「ステップ!ステップ!ブレーキを踏め!」「手で...

このレポートを読めば、人工知能に関するあなたの常識は基本的に正しいものとなるでしょう。

[[266878]]中国における人工知能に関する議論の多くは体系化されておらず、断片的であり、人工...

...