Искусственный интеллект

Домой Что такое ИИ? Человеческий интеллект История языков История чисел История вычислений Роботы Замена работы Примеры ИИ Теория разума Программирование JavaScript ИИ в браузере

Математика

Математика Линейные функции Линейная алгебра Векторы Матрицы Тензоры

Статистика

Вероятность Статистика Распределение

Графика

ИИ-плоттер Линейные графики ИИ Диаграммы рассеяния ИИ

Наука ИИ

наук Сбор данных Кластеризация Регрессии Машинное обучение Нейронные сети

Машинное обучение

Персептроны Признание Обучение Тестирование Обучение Терминология Мозг.js

ТензорФлоу

Учебник по TFJS Операции TFJS Модели TFJS Средство просмотра TFJS

Пример 1

Ex1 Введение Ex1 Данные Модель Ex1 Ex1 Обучение

Пример 2

Ex2 Введение Ex2 Данные Модель Ex2 Ex2 Обучение

JS-графика

вступление Графическое полотно График Plotly.js График Chart.js График Google График D3.js

Модели TensorFlow


TesorFlow.js

Библиотека JavaScript для

Обучение и развертывание
моделей машинного обучения
в браузере


Модели тензорного потока

Модели и слои являются важными строительными блоками в машинном обучении .

Для различных задач машинного обучения вы должны объединить разные типы слоев в модель, которую можно обучать с помощью данных для прогнозирования будущих значений.

TensorFlow.js поддерживает разные типы моделей и разные типы слоев.

Модель TensorFlow — это нейронная сеть с одним или несколькими слоями .


Проект Tensorflow

Проект Tensorflow имеет этот типичный рабочий процесс:

  • Сбор данных
  • Создание модели
  • Добавление слоев в модель
  • Компиляция модели
  • Обучение модели
  • Использование модели

Пример

Suppose you knew a function that defined a strait line:

Y = 1.2X + 5

Then you could calculate any y value with the JavaScript formula:

y = 1.2 * x + 5;

To demonstrate Tensorflow.js, we could train a Tensorflow.js model to predict Y values based on X inputs.

The TensorFlow model does not know the function.

// Create Training Data
const xs = tf.tensor([0, 1, 2, 3, 4]);
const ys = xs.mul(1.2).add(5);

// Define a Linear Regression Model
const model = tf.sequential();
model.add(tf.layers.dense({units:1, inputShape:[1]}));

// Specify Loss and Optimizer
model.compile({loss:'meanSquaredError', optimizer:'sgd'});

// Train the Model
model.fit(xs, ys, {epochs:500}).then(() => {myFunction()});

// Use the Model
function myFunction() {
  const xArr = [];
  const yArr = [];
  for (let x = 0; x <= 10; x++) {
    xArr.push(x);
    let result = model.predict(tf.tensor([Number(x)]));
    result.data().then(y => {
      yArr.push(Number(y));
      if (x == 10) {plot(xArr, yArr)};
    });
  }
}

The example is explained below:


Collecting Data

Create a tensor (xs) with 5 x values:

const xs = tf.tensor([0, 1, 2, 3, 4]);

Create a tensor (ys) with 5 correct y answers (multiply xs with 1.2 and add 5):

const ys = xs.mul(1.2).add(5);

Creating a Model

Create a sequential mode:.

const model = tf.sequential();

In a sequential model, the output from one layer is the input to the next layer.


Adding Layers

Add one dense layer to the model.

The layer is only one unit (tensor) and the shape is 1 (one dimentional):

model.add(tf.layers.dense({units:1, inputShape:[1]}));

in a dense the layer, every node is connected to every node in the preceding layer.


Compiling the Model

Compile the model using meanSquaredError as loss function and sgd (stochastic gradient descent) as optimizer function:

model.compile({loss:'meanSquaredError', optimizer:'sgd'});

Tensorflow Optimizers

  • Adadelta -Implements the Adadelta algorithm.
  • Adagrad - Implements the Adagrad algorithm.
  • Adam - Implements the Adam algorithm.
  • Adamax - Implements the Adamax algorithm.
  • Ftrl - Implements the FTRL algorithm.
  • Nadam - Implements the NAdam algorithm.
  • Optimizer - Base class for Keras optimizers.
  • RMSprop - Implements the RMSprop algorithm.
  • SGD - Stochastic Gradient Descent Optimizer.

Training the Model

Train the model (using xs and ys) with 500 repeats (epochs):

model.fit(xs, ys, {epochs:500}).then(() => {myFunction()});

Using the Model

After the model is trained, you can use it for many different purposes.

This example predicts 10 y values, given 10 x values, and calls a function to plot the predictions in a graph:

function myFunction() {
  const xArr = [];
  const yArr = [];
  for (let x = 0; x <= 10; x++) {
    let result = model.predict(tf.tensor([Number(x)]));
    result.data().then(y => {
      xArr.push(x);
      yArr.push(Number(y));
      if (x == 10) {display(xArr, yArr)};
    });
  }
}

This example predicts 10 y values, given 10 x values, and calls a function to display the values:

function myFunction() {
  const xArr = [];
  const yArr = [];
  for (let x = 0; x <= 10; x++) {
    let result = model.predict(tf.tensor([Number(x)]));
    result.data().then(y => {
      xArr.push(x);
      yArr.push(Number(y));
      if (x == 10) {display(xArr, yArr)};
    });
  }
}