DataPredict [Release 1.21] - General Purpose Machine Learning And Deep Learning Library (Learning AIs, Generative AIs, and more!)

Is this good at all?

Ah sorry for the late response. If you really want to replace it, just copy paste if from the output. The output should print out random numbers whenever the model parameters are saved.

1 Like

Good news, everyone! I have completed the DataPredict website, but currently developing the DataPredict Cloud section. Sooner or later, you will be able to train the models on the cloud!

You can have a look here: datapredict.online

Also, if you want to add projects or publications to the website, please let me know and send relevant files!

4 Likes

Hi,
I make an NPC, that should [for now] just go to a specific position.
Is this good?

local function getInput()
	local Speed = currentSpeed
	local Health = Humanoid.Health / Humanoid.MaxHealth
	local HealthDifferent = Health - OldHealth 
	--local LiveTime = os.time() - startTime 
	local angle = NPC.HumanoidRootPart.Orientation.Magnitude
	local angleDifference = OldAngle - angle
	local DistanceToGoal = (Goal.Position - NPC.HumanoidRootPart.Position).Magnitude
	local Winkel = math.deg(math.atan2((Goal.Position - NPC.HumanoidRootPart.Position).Unit.Z, (Goal.Position - NPC.HumanoidRootPart.Position).Unit.X))
	--Raycasts	
	reward = 0
	reward += (DistanceToGoal  - OldDistanceToGoal)* -1
	reward += ((DistanceToGoal - firstDistanceToGoal)* -1) / 100
	OldHealth = Health
	OldDistanceToGoal = DistanceToGoal
	OldAngle = NPC.HumanoidRootPart.Orientation.Magnitude
	return Speed,Health,HealthDifferent,angle,angleDifference,DistanceToGoal,Winkel
end

With Winkle I mean the angle to the position in C°

You got some bad inputs there. And too many unneeded inputs. If you just want the npc to go specific position, all you need is the distance and angle difference. Also use raycast to check if the npc is blocked or not.

Release 1.15 Survey

Hi guys! Currently, I’m looking into a number of features to be added to the library for the next version, and I will be surveying what features I should be adding. Here are the list of stuff I’m thinking of adding. Implementing one of these stuff can be quite difficult and time-consuming.

Generative Adversarial Network (GAN)

Information:

GANs are the early stages of generative AI technology that you see used by Roblox today. It allows players to generate content out of random input. I might include the variants of GAN as well. In theory it should work, but I’m not sure if it would work in real life scenarios.

Potential Use Cases:

  • Generating buildings and arts from nothing.
Discrete State Space For Reinforcement Learning

Information:

Currently the reinforcement learning algorithms can only take continuous state (environment) space, which might not be applicable to all learning AI use cases. By adding discrete state space for the reinforcement learning, hopefully it adds more flexibility to our library.

Potential Use Cases:

  • Enables the learning AI’s to play board games.

  • Enables the learning AI gets rewarded based on room/grid its on.

Recurrent Neural Networks (RNN) With Reinforcement Learning

Information:

The current reinforcement learning neural networks has no ability to remember the past. By integrating recurrent neural network with reinforcement learning, the AI can remember things from the past.

Note that the training might take significantly more longer than your usual reinforcement learning neural networks and may cause Roblox Studio to freeze if you’re not careful.

But before I can implement this, I need to update the current Recurrent Neural Network and the LSTM.

Potential Use Cases:

  • More tactical learning AIs

Put in your vote which one you prefer. Note that this is for research purposes only and it might not get implemented.

  • Generative Adversarial Network (GAN)
  • Discrete State Space For Reinforcement Learning
  • Recurrent Neural Networks (RNN) With Reinforcement Learning

0 voters

4 Likes

Just bumping this up to get this poll viewed.

They are all so nice!

I like all of these ideas, I guess start with the most voted for, once complete do the second, then the last.

1 Like

Release 1.14 Re-Update Notification

Hello guys! I wanted to inform you that I have made several calculation mistakes on some parts of reinforcement learning algorithms. Because of this, I recommend you to reinstall the DataPredict library to get the latest fixes.

Don’t worry, there are no API changes, just internal calculation changes.

3 Likes

I’m bumping this up. Currently, I have implemented the original Generative Adversarial Network (GAN). If a lot of people use it, then I’ll put the variations of it. Apparently, it was easy for me to implement…

So for now, you can select other than GAN.

1 Like

I have about 14 in development projects that use this library, it’s just not many people are talking in the forums, it may seem silent but in the background there is a lot of usage for your library.

2 Likes

Ah, that’s nice. Do you often use the documentation? How about the API itself? Easy to use or confusing? I want to make sure it is easy to understand.

After all, I spent like 2 years on this project. 3 if you add in prototyping and designing the matrix library and the DataPredict library.

1 Like

Programming for me is more like an internal feeling, a deeper understanding of a different language, so for me personally I don’t use much documentation.

1 Like

Release 1.15 (GENERATIVE AI UPDATE!!!)

Added

  • Added GenerativeAdversarialNetwork, ConditionalGenerativeAdversarialNetwork and WassersteinGenerativeAdversarialNetwork models.

Changes

  • The train(), predict() and reinforce() functions can now take any number of arguments in GradientDescentModifier.

Fixes

  • Made some minor fixes to the NeuralNetwork model.
5 Likes

Am I seeing it correctly or does the click amount for Release 1.15 download link is at 18 right after I uploaded?

If it is. God damn, you guys are fast.

3 Likes

Just giving you a heads up. If you’re planning to use Generative models, I recommend you reupdating the DataPredict Library. Apparently, I did not double check for some missing codes.

1 Like

Just giving you a heads up. DataPredict had minor bugs that went under the radar, especially for reinforcement learning algorithms. Please do update it as soon as possible.

2 Likes

DataPredict Neural Survey

Hi guys! This is an another day for me to put a survey again!

Currently, I plan to resume DataPredict Neural and looking into how I should structure the codes of TensorL. TensorL is similar to MatrixL library, but the MatrixL library stores 2 dimensional arrays. Meanwhile the TensorL contains any number of dimensional arrays.

The thing I want to ask you is that for TensorL, do you prioritize on speed performance or ease of use?

If you focus on performance, the structure of TensorL library will be similar to the MatrixL. You pretty much need to call add(), subtract() and other functions which can be not easy to use.

If you focus on ease of use, the structure of TensorL library will use the natural arithmetic operators (i.e. +, -, *) and the values will be stored in “tensor” object. It is easier to use, but less speed performant.

So which do you prioritize?

  • High Speed Performance
  • Easy To Use

0 voters

1 Like