XenTorch | Neural Network Constructor

XENTORCH Neural Networks Simplified

Introduction

The main goal of XenTorch module is to save time making neural networks in Studio, simplify the process, thus expanding the opportunity for more neural network projects on Roblox. This module is capable of creating and training fully connected architectures.

Current Capabilities

Note: Check marks indicate completed features, crosses indicate features which are being worked on.

Build network according to given parameters (layer info and functions) :white_check_mark:
Linear Layers :white_check_mark:
Convolutional Layers :x:
Biases :white_check_mark:
Activation Functions :white_check_mark:
Back Propagation: Normal/Stochastic Gradient Descent :white_check_mark:
Genetic Algorithm :white_check_mark: :
Recurrent Algorithm :x:
Save/Load Network :white_check_mark:

Current Activation and Cost Functions:

ReLU :white_check_mark:
ReLU Derivative :white_check_mark:
Sigmoid :white_check_mark:
Sigmoid Derivative :white_check_mark:
Softmax :white_check_mark:
Softmax Derivative (Partial Support) :white_check_mark:
Mean Squared Error :white_check_mark:
Mean Squared Error Derivative :white_check_mark:

Module

API

https://davoidd.github.io/XenTorch/

Please don’t hesitate to reply to this post with feedback, suggestions, or bugs!

28 Likes

This is a really cool project! Why should I use this instead of GitHub - Kironte/Roblox-Neural-Network-Library: An advanced object orientated neural network library for Roblox.?

Good question! The main reason why you would choose this module over the other, is that it’s more intuitive. If you compare the example code of Kironte’s module to this, you can notice the difference
in complexity immediately. As I said in the post, the goal of this module is to help you build architectures easily. If you have any more concerns, please let me know.

3 Likes

Can we classify this post as community resource already? There is currently no resource we can use, it merely seems like a press release for now.

It looks really promising though! I would definitely consider using your module, as I’m working on a lot of AI-based projects lately (such as self-driving pursuit cars) I would love it if you could provide real use-case examples when you release!

Keep me posted!

2 Likes

PRE-RELEASE UPDATE


  • Release Date: Initial version will be released this week.

  • Current Bugs & Errors

    • Roblox rounds some of the multiplications to 0, so only very small learning rates can be used with big networks.
  • Priority Features To Be Added

    • Full Softmax Derivative
    • Training/Test Data Separator
    • Cost Indicator Function
    • Saving/Loading Networks
    • API Manual
  • Personal Thoughts

    The amount of hours I put into debugging the gradient algorithm was pain staking, but I finally got it to work properly. As an example project, after the initial release I’m planning on making an NPC AI which mimics how ordinary players walk to points and get around obstacles. This is my first public module and I hope everything goes well!

2 Likes

RELEASE UPDATE


Module has been released!

Work to be done:

  • Convolutional Layers
  • Genetic Algorithm
  • Recurrent Algorithm

Known bugs/issues:

  • Different learning rates affecting the functionality of training networks. If network training isn’t working, try smaller or bigger learning rates.

    Cause of Error: Probably because of the automatic rounding of numbers.

3 Likes

Cool! I’m a little new to neural networks; But is there anything this can make that is more efficient/useful than normal non-neural network coding?

Of course! You can create classifiers, vehicle automation and much more. The benefit of using neural networks is that it takes away the need to manually code everything, and even turns out to be better than a manually programmed AI most of the time if utilised correctly.

1 Like

What if I’m considering making something that makes a UI with a UDim2 value move to a goal UDim2 value, but naturally? Does that sound like something neural network-worthy? That’s the only project I have right now that could probably use this.

For something like that, I would create a function which outputs a position, given an input of time. And a neural network is essentially a multi-dimensional function which adapts to training inputs. So in my opinion, it’s something that a neural network can achieve, the only down side which I can think of is that you would need to create your own transitions manually first and record the data.

1 Like

I see, thank you.
I saw the documentation and it looks pretty clean.

1 Like

This seems really interesting and I would love to use this, but I don’t understand how Nueral networks and machine learning works. Any sort of beginners guide so I can work my way up to this Module?

1 Like

Hmm, I think I’ll add references to the API for better understanding.

Why is this not completely open source?

I didn’t think there would be any problem if I didn’t provide the link to the module. Would it be better if I did?

People can contribute to it and report bugs, feature requests and so on. Also, you can prove that there are no backdoor shenanigans that way.

It is not necessary though.

Right, I’ll add the link then.

Just realised I hadn’t named the module ‘MainModule’ when uploading it, so it wasn’t requirable via id. You should be able to do so now.

v1.0.1 UPDATE LOG


WHAT’S NEW

  • Genetic Crossover

Work to be done:

  • Convolutional Layers
  • Recurrent Algorithm
  • More Organized Website
1 Like

I have to say Your module looks promising…

I’m really into learning Neural Network now and you just made it easier for me… so Thanks. :smiley:

1 Like