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에서 머신 러닝 또는 딥 러닝을 수행하는 것에 대해 들어봤을 것입니다. Python은 멋진 AI 언어이고 강력한 언어이며 해당 주제에 대한 연구자 및 개발자의 거대한 커뮤니티로 뒷받침되지만 JavaScript를 자신의 것으로 사용하는 소프트웨어 개발자로서 지원됩니다. ML을 공원에서 산책하게 만드는 라이브러리인 Brain.js로 신경망을 구축하는 방법을 보여드리고 싶습니다.

// provide optional config object (or undefined). Defaults shown.
const config = {
  binaryThresh: 0.5,
  hiddenLayers: [3],
  activation: 'sigmoid',
};

const net = new brain.NeuralNetwork(config);


그리고... 바로 이거야!! 우리는 하나의 명령문으로 첫 번째 신경망을 만들었습니다. 이보다 더 쉬울 수는 없었습니다. 이제 정확히 무슨 일이 일어났는지 볼 수 있듯이 "두뇌"는 우리가 다음을 사용하여 신경망을 만들 수 있는 방법을 제공합니다. 특정 구성이 인수에 전달되었습니다.

이제 신경망을 만드는 것은 재미있고 모든 것이 있지만 현재 상태에서는 가능한 한 어리석고, 유아처럼 아무것도 이해하지 못하고, 아기처럼 무언가를 시도하여 배울 것이므로 훈련시키자. 우리는

net.train([
  {
    input: [0, 0],
    output: [0],
  },
  {
    input: [0, 1],
    output: [1],
  },
  {
    input: [1, 0],
    output: [1],
  },
  {
    input: [1, 1],
    output: [0],
  },
]);


따라서 Brain.js는 신경망 "훈련"을 위한 또 다른 방법을 제공합니다. 이를 통해 각 예의 입력과 출력을 포함하는 데이터 배열을 전달하여 신경망을 훈련할 수 있습니다. 이 경우 XOR 함수를 이해하도록 훈련합니다. , 이것이 이 예제의 신경망이 표현될 수 있는 방법입니다.



우리는 두 개의 입력을 받는 입력 레이어를 가지고 있고 그것들은 우리의 예에서 1과 0이 될 것이고 그것들은 뉴런을 포함하는 숨겨진 레이어로 전달되고 여기에서 마술이 일어나고 마지막으로 출력 레이어로 이동합니다.

그렇다면 정확히 어떻게 훈련합니까?

훈련 과정에서 우리가 제공한 데이터로 신경망을 훈련시키는 여러 번의 반복이 발생합니다. 첫 번째 반복에서 입력을 받아 결과를 생성합니다. 처음에는 완전히 무작위이며 이 단계를 "순방향 전파"

첫 번째 반복의 결과는 아마도 완전히 빗나갔을 것입니다. 오차 차이가 계산되고 여기에서 약간의 수학이 발생하고 다음 반복에서 다른 결과를 생성할 수 있도록 숨겨진 레이어의 뉴런에 대한 조정이 이루어집니다. 이 단계를 "역전파"라고 합니다.

그 후 몇 번의 반복이 발생하고 오류 임계값이 충족될 때만 중지됩니다(직접 구성할 수 있으며 일반적으로 "0.003"과 유사함). )

마지막으로 우리는 이것이 작동하는지 확인하기 위해 이것을 실행하고 싶습니다.

const output = net.run([1, 0]); // [0.987]


1과 0 입력을 받을 때 볼 수 있듯이 0.987의 추정치를 제공합니다. 이는 기본적으로 98.7%의 결과가 올바른 "1"이라고 확신합니다!!

XOR을 이해하는 최초의 AI를 만들었다는 사실을 마침내 축하하고 즐길 수 있습니다.




추가 리소스는 기본 웹사이트here를 확인하십시오.

좋은 웹페이지 즐겨찾기