Tiny Machine Learning on HarvardX Q&A / AMA on March 18th @ 430pm EST

Hello Sir,

I recently read about Bosch BHI260 AP sensor and they mention they perform " On-device learning and automatic tracking of fitness movements" .

They use ARC EM4 microcontroller and they are also using an external Flash in their design.

It would be great to know an expert view about on-device learning in a microcontroller with such a low power consumption.

image.png

Thanks and Regards,

Vrinda

I may be wrong but i think these are Grove connectors. As for the design and pinout I do not know, but they are likely 4-pin with 2.0 mm pitch. https://www.seeedstudio.com/Grove-Universal-4-pin-connector.html

Hi, this is my question:
There are different types of machine learning systems and algorithms besides neural networks. Are other learning systems used in the TinyML landscape?
Thanks!

1 Like

This is a great question, absolutely. There are a ton of ML based approaches such as SVMs and decisions trees etc. Happy to dig into it on the call.

1 Like

Hi, I would like to raise two questions that could be discussed in the AMA tomorrow. I am still attending the course 3 of TinyML, so chances are that these questions are already addressed later in the course. Anyway, there’s no harm in asking :wink:

  • The first is in the KWS application, how about having more than one word in the same keyword? (i.e. “Ok Google” or “Hey Siri”). What are the challenges to bear in mind in doing so? One of the first things that comes to my mind is that the spectrogram would have to be bigger and therefore the number of slices would need to be adapted accordingly.

I am really interested in designing a system with this multi-keyword structure since, apart from creating a more personalized system, we could afford to squeeze the threshold so that the model won’t fall into a False Negative easily and in turn, we could improve even more the accuracy.

  • The second question is regarding sensor fusion. Would it be possible to perform two different tasks on the same device? Considering that “supposedly” in terms of memory we could cram two models together plus the two different buffers of input data, will we need two interpreters for each inference? I imagine that one alternative would be to make a “bungle” by running each model in a different device and get the resulting solution on a third one, but I am intrigued by the possibility of giving it a try.

Two questions have crossed my mind, apologies if they are covered late in course 2 or in course 3.
Is it ever practical for the distributed TinyML devices to act as data collection agents to collect/pre-process data points that they are responding to and send it back to a central site for use a future training data?

Is it possible to to create ‘synthetic’ training data? E.g. creating random images/sonograms that represent ‘unknowns’. Could this address over-fitting?

Glad to see this question! Course 3 will have you do this exact exercise where you run multiple models together in a cascaded fashion.

2 Likes

Hello everyone, here are some of the questions I would like to be discussed in the AMA . I am at the midpoint of course 3 as of now so please ignore if these questions are already addressed in the later section of course 3.

  1. I remember Prof. Vijay stating the MFCC calculation algorithm used in mc implementation for KWS was simple and there are other algorithms available that produce better results. I was wondering while training the model in collab do we use the simple algorithm and train the model or use the other better ones and train. Does training with one algorithm affects the accuracy if we use a different one while inferring (for words that sound similar).

  2. In the VWW application, I was playing around with the inference part and I noticed if I hold a phone screen containing my pic in front of the camera I was getting a positive result. Intuitively it makes sense ( as the camera module is taking the picture before inference and cannot differentiate between a physically available person vs a person in a picture ). I was wondering if there is any way to address this issue as I believe it is a disadvantage in security-related applications (eg automatic door ).

  3. This is a general question, we have touched upon supervised, semisupervised and unsupervised learning through these courses using neural networks it would be great if we discuss other TIny ML technique implementations (for eg decision trees) and also Reinforcement Learning . If there are any specific challenges to implement I would love to hear experts discuss these challenges.

Thank you, Looking forward to the session and hope to learn from the interesting discussions.

Hi @vjreddi

I have following questions to ask in AMA:

  1. Are you planning more courses related to TinyML on edX in the immediate future?

  2. Recently received email from Backyard Brains about your partnership with them to use applications of TinyML. Can you share what is this partnership is going to be and are you planning new course with them? Is it open to everyone?

Regards,

Ram

Hey @PNFoley, thanks for dropping a note here. We didn’t get to answer this question but in Course 4 we will be getting into this sort of topic talking about how to get multiple agents together. We will talk about federated learning and TinyML as a service. Stay tuned for that.

Very good question. I encourage you to watch the below video.

Dr. Krstulović from Audio Analytic explains about how to think about collecting “synthetic data”. He explains some of the pitfalls of that sort of data collection. It is a wonderful lecture, encourage you to attend – it is quite engaging cause he plays the different real / synthetic sounds etc.

1 Like

Thank you @vjreddi and all those involved in the TinyML courses for the excellent Q&A today. It was very informative and I am glad I was able to attend. It was very cool to put names to faces and to get to meet the many team members who have helped put all of this together.

Looking forward to the next one :slight_smile:

1 Like

Hi Ram!

Yes, in another two/three months (I’d estimate ideally over summer), we will be releasing the Advanced TinyML. Right now, our focus is on helping you all deploy TinyML. We very much want to see you learn how to program in TensorFlow Lite Micro and deploy the models and support your overall learning and experience.

The backyard brain activity is to help inspire youth about TinyML via internships. We are also working with them on helping teachers learn how to teach tinyML to their students/classes etc.

We are increasingly starting to focus on how we empower others to teach tinyML. This is in part why @brian_plancher has been working hard on making all our materials public — so that others can take the seed material we provide and improve and teach it in their own customized way. Stay tuned for more about this.

1 Like

Hi @vjreddy
Is this new course Advanced TinyML will it be part of Professional Certificate in
Tiny Machine Learning (TinyML) on edX?

Yeap! It will be. It will mostly be focused on MLOps / productivity and efficiency with a strong bend toward applications and future possibilities.

1 Like

Thanks @vjreddi. It will be helpful if google can plan for TensorFlow lite for Micro professional certification exam similar to TensorFlow professional certification currently we have.

That’s a good suggestion – will pass it along to Laurence Moroney.

Thanks for these answer vj and thanks to all of the contributors to the TinyML course.

Hi,

where can i found the video of TinyML Harvardx AMA?

We will be posting the video later today or tomorrow, stay tuned!

Since this was the first one, we introduced the team etc. In future AMAs, I expect we can get more technical or more focused on answering questions. There were so many questions :slight_smile:

Would folks like another AMA?

4 Likes

Yes, for sure. The last AMA was fabulous! These live interactions are very useful for online courses.

1 Like