Машинное обучение в браузере
Рассмотрим построение и обучение простой нейронной сети прямо в браузере на основе tensorflow.js (JavaScript). Запуск программ машинного обучения полностью на стороне клиента в браузере открывает новые возможности, такие как интерактивное машинное обучение.
Рассмотрим код (html), пояснения даны в видео ниже
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<html> <head></head> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"></script> <script lang="js"> async function doTraining(model){ const history = await model.fit(x, y, { epochs: 400, callbacks:{ onEpochEnd: async(epoch, logs) =>{ console.log("Эпоха:" + epoch + " Потери:" + logs.loss); } } }); } const model = tf.sequential(); model.add(tf.layers.dense({units: 1, inputShape: [1]})); model.compile({loss:'meanSquaredError', optimizer:'sgd'}); model.summary(); const x = tf.tensor2d([-2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0], [7, 1]); const y = tf.tensor2d([-13.0, -8.0, -3.0, 2.0, 7.0, 12.0, 17.0], [7, 1]); doTraining(model).then(() => { alert(model.predict(tf.tensor2d([11], [1,1]))); }); </script> <body> <h1>Искусственный интеллект живёт здесь</h1> </body> </html> |
Видео (нейросеть на JavaScript)
Запуск программ машинного обучения полностью на стороне клиента в браузере открывает новые возможности, такие как интерактивное машинное обучение. Запуск ML в браузере означает, что с точки зрения пользователя нет необходимости устанавливать какие-либо библиотеки или драйверы. Пользователи могут открывать веб-страницу с мобильного устройства, в этом случае модель может использовать данные датчиков телефона, например, гироскопа или акселерометра. Также все данные остаются на стороны клиента, что делает TensorFlow.js пригодным для вывода с низкой задержкой (есть нюансы), а также для приложений, сохраняющих конфиденциальность.
Можно импортировать существующую, предварительно обученную модель для вывода. Если у вас есть существующая модель TensorFlow или Keras, которую вы ранее обучали в автономном режиме, вы можете преобразовать ее в формат TensorFlow.js и загрузить ее в браузер для вывода.
Также можно использовать TensorFlow.js, чтобы полностью определять, обучать и запускать модели в браузере, используя Javascript и API-интерфейс слоев высокого уровня.
Подробнее про tensorflow.js здесь.