0
$\begingroup$

I've got a project in university to build a vehicle on Arduino and I'd like to implement reinforcement learning for it. The processors on Arduino, of course, are too slow for this task so here is my question. Is it possible to perform all the learning in the cloud which will communicate with the vehicle via wifi? And if so, I would really appreciate some hints or references. Thanks.

$\endgroup$
1
$\begingroup$

In general, yes. Just create the network so that it can be run on another machine or the cloud for training. Training basically consists of running many, many test scenarios through the network, and this gradually assigns values to each 'neuron' and connection (I oversimplify slightly).

Once the network is trained, you can copy the trained network onto your Arduino device and use it in your 'real world' experiments. There will be some saved document or file that contains all those weights and biases for the network. The TensorFlow neural network library, for example, has a guide for saving the weights and biases at https://www.tensorflow.org/programmers_guide/saved_model

However, I do not know which neural network libraries can run on Arduino as well as other platforms. And as a sidenote, if you have a budget you may want to look into Nvidia's Jetson platform/chip at http://www.nvidia.com/object/embedded-systems.html as it is made for both deep learning and embedded systems (arduino is a low-end form of an embedded system). It's not as expensive as I expected, but still may be out of budget and the community isn't anywhere near as large - but it's good to know that the hardware already exists.

$\endgroup$
0
$\begingroup$

If you are looking for training a neural network on Arduino, it might not be a very good idea. For this purpose, i would suggest a device with higher computation power, such as your own computer or a Raspberry-Pi . However, if you wish to run a neural network on Arduino after training it and using the obtained weights, it can be done and there are a few libraries on the web that can help you out. For the purpose of using cloud-based data, Tensorflow would be a good starting point.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.