[Release 1.14] DataPredict - Machine And Deep Learning Library (Learning 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

1 Like