私は人工ニューラルネットワークに本当に興味がありますが、開始する場所を探しています。
どんなリソースがありますか?また、良い開始プロジェクトは何ですか?
Neural Netプログラミングの例を次に示します。 http://www.codeproject.com/KB/recipes/neural_dot_net.aspx
ここから読み始めることができます: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html
私はそれについてのコースを訪問し、いくつかの文献を研究しました。
まず第一に、人工神経回路網は脳と何らかの関係があるという概念を捨ててください。生物学を学習しても、ニューラルネットワークを効果的に適用することはできません。線形代数、計算、および確率理論を学習します。少なくとも、関数の基本的な微分、連鎖規則、偏微分(勾配、ヤコビアンおよびヘッセ行列)、および行列の乗算と対角化の理解の概念に慣れる必要があります。
ネットワークをトレーニングするときに実際に行うことは、大規模な多次元関数を最適化することです(ネットワーク内の各重みに関するエラー測定値を最小化します)。そのため、非線形数値最適化の手法を調査することは有益です。これは広く研究されている問題であり、ニューラルネットワーク以外にも多くの文献があります。また、Webで利用可能な数値最適化に関する講義ノートも多数あります。まず、ほとんどの人は単純な gradient descent を使用しますが、これは次のような微妙な方法よりもはるかに遅く、効果が低い場合があります
基本的なアイデアが得られたら、隠れ層でさまざまな「押しつぶす」機能を試し、さまざまな種類の正則化、および学習を高速化するためのさまざまな調整を追加します。 「ベストプラクティス」の包括的なリストについては、 このペーパー を参照してください。
このテーマに関する最高の本の1つは、クリスビショップの パターン認識のためのニューラルネットワーク です。この段階ではかなり古くなっていますが、それでも優れたリソースであり、使用済みのコピーをオンラインで約30ドルで見つけることができます。彼の新しい本のニューラルネットワークの章 パターン認識と機械学習 も非常に包括的です。実装中心の特に優れたチュートリアルについては、 CodeProject.comのこのチュートリアルを参照 畳み込みネットワークと呼ばれる巧妙なネットワークを実装します。これにより、学習が非常にうまくなるように接続が制限されます。視覚的なパターンを分類します。
サポートベクターマシンと他のカーネルメソッドは、何をしているのかわからずに適用でき、受け入れられる結果を得ることができるため、非常に人気があります。一方、ニューラルネットワークは、多くの問題、特にコンピュータービジョンのようなドメインでの大規模な問題には適していますが、慎重な調整が必要な巨大な最適化問題です。
Code Project のAnoop Madhusudananによるこの素晴らしいシリーズを強くお勧めします。
彼は、わかりやすい方法でそれらがどのように機能するかを理解するための基礎を説明し、brainnet
ライブラリを使用して自分で作る。
ニューラルネットワークは、最近では一種のデクラスです。 サポートベクターマシンおよびカーネルメソッドは、より多くのクラスの問題に適していますバックプロパゲーション。ニューラルネットワークと遺伝的アルゴリズムは、現代の機械学習についてあまり知らないが、最先端ではない人々の想像力を捕らえます。
AIと機械学習の詳細については、Peter Norvigの Artificial Intelligence:A Modern Approach を読むことをお勧めします。これは、AIと多くの最新技術に関する広範な調査です。それは歴史と古い技術も行き渡り、AIと機械学習の基礎のより完全な基礎を提供します。
ただし、ニューラルネットワークは非常に簡単です。特に、適切な逆伝播ではなく、遺伝的アルゴリズムを使用して重みを決定する場合。
私は2番目のdwfの推奨事項パターン認識のためのニューラルネットワーク Chris Bishopによる。ただし、おそらく最初のテキストではありません。 Norvigまたはオンラインチュートリアル(Matlabのコードを使用!)は、おそらくより穏やかな入門書でしょう。
優れたスタータープロジェクトは、OCR(光学文字認識)です。テキストのページをスキャンし、ネットワークを介して各文字をフィードして、分類を実行できます。 (もちろん、最初にネットワークをトレーニングする必要があります!)。
Raul Rojasの本 は非常に良いスタートです(無料です)。また、 Haykinの本の第3版 は、大量ですが、非常によく説明されています。
どこから始めないかをお勧めできます。ケビン・ガーニーによる An Introduction to Neural Networks を購入しました。これはAmazonで好評で、「認知科学とコンピューター科学の最も重要なトピックの1つへのアクセスしやすい紹介」であると主張しています。個人的には、この本を出発点としてお勧めしません。理解できるのは約10%だけですが、多分それは私だけです(英語は私の母国語ではありません)。このスレッドから他のオプションを見ていきます。
http://www.ai-junkie.com/ann/evolved/nnt1.html は、多層パーセプトロンの明確な紹介ですが、逆伝播アルゴリズムについては説明していません
また、generation5.orgを見ることができます。これは、一般的なAIに関する多くの記事を提供し、ニューラルネットワークに関するいくつかの素晴らしいテキストを持っています。
お金を払ってもかまわないなら、 脳理論とニューラルネットワークのハンドブック はとても良いです。多くの分野の研究をカバーする287の記事が含まれています。それは序論と理論から始まり、そしてあなたの興味を最もよくカバーするために記事を通して経路を強調します。
最初のプロジェクトに関しては、 Kohonen maps は興味深い categorization :音楽コレクションの隠れた関係を見つける、 スマートロボットを構築する 、または Netflixプライズ 。
教科書「計算知能」は非常に役立つことがわかりました。
Programming Collective Intelligence は、検索およびランキングアルゴリズムのコンテキストでこれについて説明します。また、利用可能なコードでは here (ch.4)で、本で説明されている概念をPythonの例で説明しています。
私は、生物学を勉強することは良い出発点ではないと言った他の人々に同意します...生物学には多くの無関係な情報があるからです。ニューロンがその機能を再現するためにどのように機能するかを理解する必要はありません-そのアクションをシミュレートするだけです。 Ray Kurzweilによる「How To Create A Mind」をお勧めします-計算モデルに関連する生物学の側面に入ります(いくつかの入力を組み合わせてしきい値に達したら発火することでシミュレートされたニューロンを作成します)が、次のような無関係なものは無視しますニューロンが実際にthouse入力を追加する方法。 (たとえば、+と不等式を使用して、しきい値と比較します)
また、この本は実際には「心の創造」に関するものではないことを指摘する必要があります。これは、階層パターン認識/新皮質にのみ焦点を当てています。一般的なテーマについては1980年代から考えられているので、おそらく同じ情報の少し古い形式を含む古い本がたくさんあります。たとえば、ビジョンシステムは多層パターン認識ツールであることを示す古いドキュメントを読みました。彼はこれが新皮質全体に当てはまると主張する。また、彼の「予測」を一言で考えてみてください-彼のハードウェアの見積もりはおそらくかなり正確ですが、単純なタスクの複雑さを過小評価していると思います(例:車の運転)。確かに、彼は多くの進歩を遂げました(そしてその一部になりました)が、私はまだ彼は楽観的すぎると思います。人間ができる99.9 +%と比較すると、AI車が90%の時間を正常に走行できるかどうかには大きな違いがあります。 AIが少なくとも20年間私を運転してくれるとは思わない...ゲーム)
AIが何であり、どのようにモデル化できるかについての基本的な考えを既にお持ちの場合は、より技術的なものにスキップする方が良いでしょう。
Fausettの Fundamentals of Neural Networks がわかりやすい入門書であることがわかりました。
良い出発点は常に Wikipedia になると思います。ここには、ニューラルネットを使用するドキュメントやプロジェクトへの便利なリンクもあります。
実際のシミュレータでのニューラルネットワークの概念のアプリケーションについて簡単に学習したい場合は、 http://grey.colorado.edu/ CompCogNeuro/index.php/CCNBook/Main
この本は学校で教科書として使用されており、個々のニューロンから高次の実行機能に至るまで、さまざまな脳の領域を案内します。
さらに、各セクションには宿題の「プロジェクト」が追加されていますが、これらはすでにダウンしています。ダウンロードして手順に従い、この章で説明したすべてをシミュレートしてください。彼らが使用しているソフトウェア、Emergentは、少しひどいですが、信じられないほど堅牢です。それは、私が信じている10年以上の仕事の産物です。
私はこの学期の学部のクラスでそれを経験しました、それは素晴らしかったです。すべてを段階的に説明します