O JavaScript não precisa de introdução especial-é uma das linguagens de plataforma cruzada mais populares entre os desenvolvedores da web.
E embora algumas pessoas o considerem apenas uma linguagem para desenvolvimento de front-end, JavaScript atua como uma linguagem de programação para todos os fins hoje em dia e suas possibilidades são infinitas.
Procurando as principais bibliotecas JavaScript que você pode usar em seus projetos de aprendizado de máquina? Aqui estão eles.
Sináptico
Synaptic é uma conhecida biblioteca de rede neural JavaScript criada pelo MIT que pode ser usada com Node.js ou o navegador. Uma característica significativa desta biblioteca é sua capacidade de construir e treinar qualquer arquitetura de rede neural de primeira ou segunda ordem, devido ao seu algoritmo livre de arquitetura e estrutura pré-fabricada.
Ele também pode importar ou exportar redes para JSON como uma função autônoma para que eles possam se conectar a outras redes ou até mesmo portas de conexões. O Synaptic inclui algumas arquiteturas embutidas interessantes como redes Hopfield, máquinas de estado, perceptrons multicamadas, redes de memória de curto prazo longas (LSTMs) e semelhantes. E, como o Synaptic é uma biblioteca de código aberto, qualquer pessoa pode contribuir com ela ou usá-la gratuitamente.
O Synaptic também inclui um treinador que é capaz de treinar qualquer rede neural específica com testes como o teste Embedded Reber Grammar, resolver um XOR, completar uma tarefa Distracted Sequence Recall e tarefas de treinamento integradas. Também ajuda a comparar o desempenho de diferentes arquiteturas de rede neural.
O exemplo a seguir mostra como criar uma rede neural usando a biblioteca Synaptic:
//criando uma rede const {Camada, Rede}=window.synaptic; deixe innerLayer=new Layer (2); deixe hiddenLayer=new Layer (3); deixe outerLayer=nova camada (1); innerLayer.project (hiddenLayer); hiddenLayer.project (outerLayer); rede const=nova rede ({ input: innerLayer, oculto: [hiddenLayer], saída: outerLayer });
Agora, você pode trabalhar no processo de teste da rede neural criada acima.
Brain.js
Brain.js é uma biblioteca de execução rápida baseada em JavaScript usada para aprendizado de máquina e redes neurais. Ele pode ser usado no navegador ou com Node.js. Com Brain.JS, diferentes tipos de redes estão disponíveis para diferentes tarefas. Ele fornece suporte para várias redes neurais, como Long Short Term Memory NN , NN recorrente e Feedforward NN .
Brain.js é uma biblioteca de processamento rápido devido ao uso de GPU para cálculos. Mesmo se a GPU não estiver disponível, ela reverte para JS puro e continua a processar. Brain.js fornece várias implementações de rede neural e incentiva a construção de treinamento e execução dessas redes neurais no lado do servidor junto com Node.js.
Outra coisa boa sobre esta biblioteca é que você não precisa estar estritamente familiarizado com as redes neurais para trabalhar com ela. Para integrar seu site a esses modelos de rede, basta implementá-los como uma função ou usar o formato JSON.
Brain.js pode ser usado para criar uma rede neural simples rapidamente usando uma linguagem de alto nível. Ele permite que você construa algumas funcionalidades realmente interessantes com apenas algumas linhas de código e um bom conjunto de dados. Além disso, Brain.JS oferece a capacidade de execução em javascript do lado do cliente.
O exemplo a seguir mostra como criar um NN usando o MNIST conjunto de dados, que tem cerca de 50.000 amostras de dígitos manuscritos.
//criando uma rede contexto const=requer ('cérebro'); const getData=function (content) { const rows=content.toString (). split ('\ n'); valores const=[]; para (covaluesnst i=0; iVocê pode trabalhar no processo de teste da rede neural, que é criada pelo exemplo acima.
TensorFlow.js
TensorFlow.js é uma biblioteca JavaScript de código aberto desenvolvida pela reunião do Google Brain. Ele impulsiona a aceleração de hardware com sua variedade completa e flexível de ferramentas. Devido às suas camadas de aprendizado profundo e álgebra linear abrangente, esta biblioteca se tornou o pão com manteiga para todos os projetos de JavaScript baseados no aprendizado de máquina.
O TensorFlow.js permite que os usuários treinem redes neurais com a ajuda de um navegador ou executem modelos pré-treinados em um modo de inferência enquanto trazem blocos de construção de aprendizado de máquina para a web. Você pode executar os modelos padrão do TensorFlow que estão disponíveis atualmente ou até mesmo convertê-los em alguns modelos Python como complemento.
Além disso, o TensorFlow.js torna muito fácil construir modelos do zero usando a álgebra linear de baixo nível do Javascript.
TensorFlow.js também inclui alguns modelos de aprendizado de máquina pré-existentes. Eles podem ser usados para treinar seus próprios dados. Ele também oferece a capacidade de implantar os modelos de aprendizado de máquina em qualquer lugar, incluindo o dispositivo, independentemente da linguagem que você usa, no local, no navegador ou na nuvem.
Você pode considerar o uso do TensorFlow.js em seu próximo projeto JavaScript baseado em aprendizado de máquina. Ele fornece melhores visualizações de gráficos computacionais ao mesmo tempo que oferece alguns benefícios, como novos lançamentos frequentes, atualizações rápidas e desempenho perfeito.
Além disso, TensorFlow.js é altamente paralelo e desenvolvido para ser usado em combinação com vários softwares de back-end como ASIC, GPU, etc.
Além disso, TensorFlow.js é uma versão do TensorFlow , incluindo muitas outras subversões, como o TensorFlow Extended para a experiência completa, TensorFlow Lite para dispositivos móveis e ligações TensorFlow Rust para Rust etc.
O código a seguir descreve como criar uma rede neural simples usando TensorFlow.js para realizar uma interferência. Este modelo requer um valor de entrada e um valor de saída para lidar com um NN.
Aqui, tentamos uma nova instância de modelo chamando o método
tf.sequential
. A partir disso, podemos obter um novo modelo sequencial. Um modelo sequencial pode ser chamado de modelo em que suas saídas de uma camada são usadas como entradas para outra camada, ou seja, a topologia do modelo é uma"pilha"bruta de camadas-sem qualquer ramificação ou salto.Em seguida, a primeira camada pode ser adicionada chamando o método
model.add
, que cria uma camada densa. No exemplo a seguir, adicionamos uma camada densa com uma entrada e uma saída para a rede neural://Definindo um modelo sequencial de aprendizado de máquina const modelObj=tf.sequential (); //Adicionar uma única camada modelObj.add (tf.layers.dense ({unidades: 1, inputShape: [1]}));Depois disso, podemos incluir a perda e a função otimizadora do modelo:
//Especifique perda e otimizador para o modelo modelObj.compile ({perda:'meanSquaredError', otimizador:'sgd'});Isso é feito passando um objeto de configuração para o método de compilação da instância do modelo. O objeto de configuração contém duas propriedades conforme abaixo:
loss
eoptimizer
Mente
Com script em JavaScript, Mind é uma biblioteca absolutamente flexível para redes neurais e negociação com navegadores e Node.js para fazer melhores previsões. Um dos principais recursos do Mind é que ele processa dados de treinamento usando uma implementação de matriz enquanto permite que os desenvolvedores personalizem a topologia da rede.
Começar com esta biblioteca é muito conveniente, pois é rapidamente conectável e mais fácil de baixar e enviar plug-ins do que outras bibliotecas. A facilidade de configurar redes pré-treinadas também é outra vantagem da Mind.
Confira o exemplo abaixo sobre como usar a mente em redes neurais.
let category=[ 'Açao', 'Aventura', 'Animação', 'Comédia', ]; deixe a entrada=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; movie.category.forEach (function (category) { let index=category.indexOf (categoria); se (índice>-1) insira [índice]=1; }); //treinar a rede usando as classificações fornecidas por um usuário usando Mind () deixe mente=mente () .aprender([ {entrada: entrada, saída: [avaliações/5]} ]);ConvNetJS
ConvNetJS é uma biblioteca JavaScript projetada especificamente para treinar modelos de aprendizagem profunda e trabalhar com redes neurais. A característica mais importante desta biblioteca é que ela depende totalmente dos navegadores, então qualquer outro software especial como GPU, compiladores não são necessários. ConvNetJS também suporta Node.js.
ConvNetJS consiste em módulos de rede neural comuns que possuem camadas totalmente conectadas e não linearidades. Esta biblioteca possui a capacidade de formular e resolver redes neurais usando JavaScript simples, oferecendo suporte para alguns módulos de rede comuns.
Ele também oferece recursos para especificação de redes neurais, classificação e problemas de arrependimento, redes convolucionais para processamento de imagens, um módulo de aprendizado de reforço experimental baseado em Deep Q Learning e um módulo de aprendizado complementar que ainda está em nível experimental.
Consulte o seguinte exemplo de código simples para entender como implementar ConvNet.js em redes neurais:
//criar uma rede const layer_defs=[]; rede const=novo convnetjs.Net (); net.makeLayers (layer_defs);Sendo popular entre desenvolvedores experientes, ConvNetJS é uma biblioteca em constante atualização. Outro ótimo recurso é sua disponibilidade em Node.js.
ML5.js
ML5.js é uma biblioteca de código aberto completa e abrangente para aprendizado de máquina com Node.js e navegadores. Você pode adicionar suas próprias dependências ao usá-lo com Node.js.
Ele foi desenvolvido com base no TensorFlow e não possui dependências externas. Semelhante ao Tensorflow, esta biblioteca pode lidar com operações matemáticas que são aceleradas pela GPU além do gerenciamento de memória para algoritmos de aprendizado de máquina.
O ML5.js facilita o acesso a muitos algoritmos de aprendizado de máquina pré-treinados no navegador para que possam ser usados para vários fins, como detecção de linguagem corporal humana e tom, personalização de imagens, geração de textos, localização de relações de linguagem em Inglês, compondo faixas de música, etc.
Esta biblioteca oferece uma compreensão intensiva do aprendizado de máquina, juntamente com várias complexidades, como computação ética e coleta de dados, tornando-a adequada, mesmo para um iniciante.
ML5.js oferece utilitários para problemas supervisionados e não supervisionados e modelos de missão crítica e simples. Além disso, é uma biblioteca de aprendizado de máquina JavaScript multifuncional para desenvolvedores Typescript e JavaScript que inclui bibliotecas de suporte para matemática e estatística, algoritmos de regressão, redes neurais artificiais, aprendizado não supervisionado e supervisionado, extrações de recursos, modelos lineares, bagging , conjunto, decomposição, agrupamento e assim por diante.
Além disso, o ML5.js também permite a geração de números aleatórios, classificação, operações de bits em matrizes e tabelas de hash-e ainda fornece aos usuários uma rotina para otimizações, manipulação de matrizes e álgebra linear. Outra grande vantagem desta biblioteca é o suporte para validação cruzada.
//Inicializar um método classificador de imagem let classifier; //Uma variável para manter uma imagem deixe a imagem; function preload () { classifier=ml5.imageClassifier ('MobileNet'); image=loadImage ('images/car.png'); }Neuro.js
Neuro.js é uma estrutura JavaScript para desenvolver e treinar modelos de aprendizagem por reforço e aprendizagem profunda modelos que são amplamente usados para fazer assistentes com tecnologias de IA e bots de bate-papo.
Muitos desenvolvedores usam essa biblioteca para desenvolver, praticar e treinar modelos de aprendizado profundo e de aprendizado de máquina e, em seguida, implantá-los em um navegador da Web ou em Node.js com seus scripts JS.
Algumas das principais vantagens desta biblioteca são que ela ajuda a se envolver na classificação em tempo real, fornece suporte on-line para a aprendizagem e oferece suporte à classificação de formulários com vários rótulos ao criar projetos de ML. Dê uma olhada no exemplo de código de classificação de cores abaixo criado usando a biblioteca Neuro.js.
A natureza simples e voltada para o desempenho da biblioteca Neuro.js permite o aprendizado de máquina acessível e prático para qualquer pessoa que a use:
//Usando uma matriz de pares de entrada e saída: const neuroModel=require ("neuro.js"); const colorsClassifier=new neuroModel.classifiers.NeuralNetwork (); colorsClassifier.trainBatch ([ {entrada: {vermelho: 0,03, verde: 0,7, preto: 0,5}, saída: 0},//=preto {entrada: {vermelho: 0,16, verde: 0,09, preto: 0,2}, saída: 1},//=branco {entrada: {redr: 0,5, verde: 0,5, preto: 1,0}, saída: 1}//=branco ]); console.log (colorsClassifier.classify ({red: 1, green: 0.4, b: 0})); //0,99=quase brancoKeras.Js
Keras.js pode ser considerado o segundo JS mais usado framework para aprendizado profundo após TensorFlow.js. É muito popular entre os desenvolvedores que trabalham com bibliotecas de rede neural. Como várias estruturas são usadas por Keras para back-end, você pode treinar modelos em CNTK, TensorFlow e outras estruturas.
Os modelos de aprendizado de máquina criados com o Keras podem ser executados no navegador. Embora os modelos também possam ser executados em Node.js, apenas o modo CPU estará disponível para isso. Não haverá aceleração de GPU.
Muitas empresas líderes, como Netflix e Uber, estão trabalhando com os modelos Keras de rede neural para aprimorar a experiência do usuário. Várias organizações científicas, como NASA , CERN , etc., use esta tecnologia para seus projetos relacionados à inteligência artificial. Keras é considerada uma alternativa JS para biblioteca de inteligência artificial e permite que você execute diferentes modelos em seu projeto e utilize o suporte de GPU que é fornecido pela API de designs 3D WebGL.
Conclusão
Neste artigo, abordamos várias bibliotecas JavaScript que você pode usar ao se envolver com aprendizado de máquina ou ciência de dados.
Embora o JavaScript não seja muito íntimo de assuntos como aprendizado profundo e aprendizado de máquina, espera-se que seja a linguagem mais proeminente entre os desenvolvedores de ML nos próximos anos.
O desenvolvimento das plataformas e bibliotecas mencionadas acima será a principal razão por trás disso. E, como JS é uma linguagem de programação básica, será incrivelmente conveniente trabalhar com algoritmos e encontrar soluções para muitos problemas.
Por fim, entrar na ciência de dados com JavaScript certamente se tornará uma grande vantagem para iniciantes e uma abordagem incrível para os programadores progredirem no aprendizado de máquina.
A postagem Melhores bibliotecas de aprendizado de máquina JavaScript em 2021 apareceu primeiro no LogRocket Blog .