JavaScriptを使用して最初のニューラルネットワークを作成する


A neural network is a series of algorithms that endeavors to recognize underlying relationships in a set of data through a process that mimics the way the human brain operates. In this sense, neural networks refer to systems of neurons, either organic or artificial in nature.


これは、「ニューラルネットワーク」がinvestopediaからどのような意味を持つのかを説明しているので、実際にはニューラルネットワークは人間の脳がどのように学習しているのかのマッピングのようなものであり、機械学習をする機械に適用しようとしている.
私たちはおそらくすべてのPythonの機械学習や深い学習を聞いたことがある、それはAIの空想言語、それは強力な言語であり、それは被験者の研究者や開発者の巨大なコミュニティでバックアップされているが、彼の主要な銃としてJavaScriptを使用してソフトウェア開発者として私はどのように我々は脳と神経回路網を構築することができますを表示したいと思います.公園で散歩をするライブラリ.
// provide optional config object (or undefined). Defaults shown.
const config = {
  binaryThresh: 0.5,
  hiddenLayers: [3],
  activation: 'sigmoid',
};

const net = new brain.NeuralNetwork(config);
そしてこれだ!私たちは、1つのステートメントで私たちの最初の神経回路網を作成しました、私はそれがどんなより簡単であったかもしれないように、私はそれが現在正確に起こったように思えなかったので、あなたが「脳」を見ることができるように、私たちが引数で渡される特定の設定でニューラルネットワークをつくることができる方法を我々に提供します.
今、神経回路網を作ることは楽しいです、そして、しかし、それがそうすることができるのと同じくらい愚かである現在の状態で以外、それは幼児のように全く何も理解しません、そして、ちょうど赤ちゃんのように、それはものを試みることによって学ぶでしょう
net.train([
  {
    input: [0, 0],
    output: [0],
  },
  {
    input: [0, 1],
    output: [1],
  },
  {
    input: [1, 0],
    output: [1],
  },
  {
    input: [1, 1],
    output: [0],
  },
]);
脳.JSは我々がニューラルネットワーク「電車」のためにもう一つの方法を我々に提供します

私たちには、2つの入力をとる入力層があります、そして、それらは我々の例で1 sと0であるでしょう、そして、彼らはニューロンを含む隠れた層に通過します、そして、これは魔法が起こるところです、そして、最終的に、それは出力層に行きます.
それでは、正確にどのように訓練しますか?
訓練過程において、いくつかの反復回数が発生することにより、最初の反復で入力を取り、結果を生成し、最初に完全にランダムになり、このステップを「前方伝搬」と呼ぶ
最初の反復の結果はおそらくマークから外れています、そして、それはエラー差が計算されるということです、そして、ここでよく、少しの数学は起こります、そして、隠れた層のニューロンへの調整はそれが次の反復で異なる結果を生じるのを許容します、そして、このステップは「バックプロパゲーション」と呼ばれています.
いくつかの繰り返しが発生し、エラーのしきい値が満たされたときにのみ停止します(この設定は通常、“0.003”のようなものです)、または20 Kの繰り返しが発生した場合(これはbrain . jsでデフォルトですが、同様に設定できます).
最後に、これを実行してください
const output = net.run([1, 0]); // [0.987]
我々はそれが1と0の入力を取得するときに見ることができるように、それは基本的に98.7 %の結果は、結果は“1”は正しいです!
我々は最終的に祝うことができると我々はちょうどXORを理解する最初のAIを作成した事実を楽しむ!


追加のリソースについては、メインのウェブサイトhere