[REINFORCE + Dueling Q Learning][Release 1.6] DataPredict - Machine And Deep Learning Library (Reinforcement Learning, Retrainable Models and more!)

Usage Preview

Credit to @Cffex for providing the codes for AIs’ movement and sensing.

The full file for the source code in this video can be found here.
(DataPredict’s and MatrixL’s libraries terms and conditions apply due to source code containing these libraries.)

Please send bug reports here. It seems like the library got too large for me to maintain and bug hunting myself.

Overview

Hi guys! I introduce you to a new Machine + Deep Learning Library!

Thanks to the object-orientated programming, this version of the library now contains optimizers and many more. More details in the documentation.

Documentation And Tutorials: Welcome to Aqwam’s DataPredict Library! | DataPredict

Pretrained Neural Networks: GitHub - AqwamCreates/DataPredict-Pretrained-Neural-Networks

Source code for a simple usage of reinforcement learning neural network can be found here.

Download Links

ModuleScript (Release Versions) For This Library:

Package For This Library (Recommend For Up-To-Date Library):
https://www.roblox.com/library/12727977273/DataPredict-Library

ModuleScript (Unstable) For This Library: https://create.roblox.com/marketplace/asset/12591886004/Aqwams-Roblox-Machine-And-Deep-Learning-Library

ModuleScript for Matrix Library: Aqwam's Matrix Library - Roblox

Quick Introduction

What is machine learning?

Machine learning is a way for computers to predict information based on the data we given to them. Machine learning can do three main tasks: Regression, Classification and Clustering.

  • Regression: Generates a continuous value (e.g. -1.1, 2.09, 20) from given data.

  • Classification: Generates a discrete value (e.g. 1, 2, 3), mainly for classifying given data.

  • Clustering: Generates centroids (center of data) based on the given data and predict which centroids that a data belongs to.

What is deep learning?

It is a more advanced version of machine learning, but mainly covers the neural network models. The training techniques are significantly improved and models are more complex compared to machine learning.

So how do we use this library?

In machine/deep learning, we mainly need to do training before we can predict things. To train, we need a lot of data and choose the correct models so that we can achieve very good results. Once training is done, you can use the model to predict values based on the data that was never seen before by the model.

Features
  • Retrainable models - for future model improvements

  • Organized functions - for better control

  • Optimizers - for increasing training speeds

  • More complex models - for wider use cases

Use Cases

NeuralNetwork:

  • Self-learning enemies.

  • Self-learning pets.

RecurrentNeuralNetwork:

  • Movement prediction

LinearRegression:

  • Make prediction on how long will a player reach certain level
  • Spawn an enemy where the difficulty is based on input

LogisticRegression:

  • Make an enemy that makes decision between 2 choices (e.g. fighting and running)
  • Detect hacking players

KMeans

  • Group players in terms of experience level

SupportVectorMachine

  • Detect hacking players
What I Have Used It For

In one of my games (zero players, but somewhat released), it is mainly used for:

  • Some of my AI Assistants (to help enhance gaming experience and variety)
  • Sales analysis for better product pricing strategy (when the game becomes popular).
  • AI players for player retention during durations of low players count.

If you are curious how my game looks like, you can have a look here:
[BETA] Terrae Uprising: Pre-Mana - Roblox

Want Better Performance?

The current version uses “MatrixL”, but there is more performant version named “MatrixL-Turbo”, where it has 3x better performance on (some) larger models such as Neural Networks.

You can directly contact me to purchase a license to use the “MatrixL-Turbo” per month. You are expected to give in personal information and perform video calls to ensure that the process is done with our interest.

Who Uses This Library?
  • Senior game developers
  • University students
  • Researchers
  • AI enthusiasts

(Some proof can be seen from the likes by other people on this first post.)

Not accepting feature requests. Only bug reports.

Expect this release version 1.6 as the “final” version.

There are two versions: Release (or Stable) and Beta (or Unstable). Choose the first version if you wish to use fully tested version of this library as well as in commercial scale. The latter contains up-to-date version of this library, which may contain bugs.

Don’t forget to leave a like if you find this resource useful!

128 Likes

I don’t even understand the main point of this post. The post and documentation are very rushed and you can barely tell what this even is just by taking a glance.

16 Likes

Ah. I apologize. I gotten way to excited about this to the point that I neglected to make things clear in my post. I’ll do better next time.

10 Likes

There, we go. I’ve edited the post. Just tell me if it still is not clear.

9 Likes

I have completed the API reference pages. You should go ahead and look what this machine and deep learning library has in store.

9 Likes

I still don’t see what the point of this resource is?

10 Likes

I mean, you could do a google search first instead of asking me here.

https://www.analyticsinsight.net/top-10-uses-of-ml-to-make-your-video-games-more-engaging/

14 Likes

Updated the library and API reference. Regularization object is now available and has replaced lambda in certain models.

7 Likes

The title itself gives you enough information, lol.

Have you tried actually reading the post

20 Likes

I have to say that, Reading the documentation. It’s not like I can’t understand what you write but, I feel like you should elaborate more on each function then just a few lines.

You’ve done a great job on the library but I feel like you should consider a few tweaks of examples or references on the documentation :slight_smile:

9 Likes

Could you be a bit more specific on that? I’m interested in hearing it.

6 Likes

If you check your private messages, I’ve sent you some specifications. Have a great reading :]

5 Likes

Neural Network with Reinforcement Learning has been added! Check it out in the updated API! Located under Models > NeuralNetwork.

6 Likes

Okay yes it’s machine learning, but what does it actually do? Can you just generically feed it input after training and it’ll come up with it’s guess?

3 Likes

Can you just generically feed it input after training and it’ll come up with it’s guess?

Yes that is the concept of machine learning. Basically you feed a lot of data and train it. Once trained, you can give data without the label so that it produces the predicted output.

However, special cases like neural network models, you can predict while training the model so that it gets more accurate every time it predicts the output. You can do this with NeuralNetwork:reinforce() function.

5 Likes

This seems intriguing, I’m not sure why a lot of the comments are so hostile. However, it would be nice to have some demonstrations showcasing its practical applications. Such as an open-sourced demonstration of NPC decision making.

Otherwise this post would probably go over a lot of people’s heads haha.

10 Likes

Yeah. I’ll try to make a video about this. I’m just kind of surprised that not many people understood how this library works since there are a lot of these libraries in other programming languages.

6 Likes

Machine learning is a rapidly growing field that has recently gained a lot of attention. As a result, many people do not understand how it works and may underestimate the difficulty of creating an AI.

Unfortunately, some people do not appreciate the effort required to develop these technologies, and may become frustrated when they cannot easily understand or use them.

I am not that much familiar with ais, can you please make an opened sourced module? so people like me can see how it works.

I still can’t believe you made it for free

Thank you so much for this amazing resource, this is just like brain.js but implemented on roblox!

10 Likes

Technically, you can have a look at the codes in this GitHub repository without it being open sourced.

I encourage you play around with the codes and adjust them to fit your needs.

Also, I just made if for free so that I can dominate the whole Roblox’s AI market more games can become more fun.

6 Likes

I have added the Package version of this library. You can keep up-to-date library when needed!

4 Likes