1
7 Comments

Ask questions/get feedback for your ML related products/ideas

I'd like to help the Indie Hacker community with questions related to ML, if you have any questions big or small, I'd hope I can give some useful information to you. Of course I'd like to invite any other members to chime in with any advice they have also!

A bit about me, I've been doing machine learning engineering on and off for 5 years and am currently in my final year of Masters in Computer Science focusing on ML.

on January 6, 2022
  1. 2

    Hope the course is going well. Here is a question to get you started: Is ML just for looking at differences in data sets, or can it also cope with images?

    For example, if I had 5 screen shots of a website working normally on the same page, and 1 screen shot with everything broken (ie style sheets messed up and logos / menus in the wrong place), can ML manage to report / flag that 1 image as different?

    Not sure if that would come under ML or a different type of cognative services.

    Dave

    1. 1

      Hey Dave,

      Machine Learning can absolutely be used with images, as you seem to have noticed however generally images will be trickier to train in comparison to tabular data.

      The problem you have suggested is an example of "anomaly detection", where you are attempting to identify when something unexpected happens in your dataset.

      Your proposed method of giving a system examples of the webpage rendered correctly and when something is broken would absolutely be one way of going about this problem (however the number of images required would probably be higher than you suggested),.

      I'm assuming that perhaps this system may be used for some sort of monitoring service for customers to alert them if their webpage has broken, in this case a "semi-supervised" approach may make sense. This would be that you would give the system many examples of it working correctly, which could simply be recorded every hour and such. The system then creates a statistical model of what it thinks this page will look like, and if it suddenly sees a image which it didn't think was very likely to occur this is something which you would be able to identify.

      If you were to try and build a system like this one possible way which I might suggest would be to generate a "feature embedding" (a representation) of the images (the best way to create this would be the key to it working well).

      This feature embedding would probably be the output of a Neural Network, which would convert the image into a vector with some fixed number of values, (let's say 10).

      Given all the previous versions of the website, which are all dots in this 10 dimensional space, you would put a probability distribution over the entire space for where the next screenshot should be. You would want a probability distribution which is high near the points you've already seen and get lower further away, (perhaps a gaussian mixture model)

      When you would then take the next screenshot of the website, and if the likelihood of seeing this example was below some threshold, fire off an email to the owner.

      Given your question seemed pretty high level I didn't go into specific details on some things but if you have any additional questions or if I missed something let me know.

      1. 2

        Wow, even for a high level of detail thats got some terms and things to look into.

        If anyone wants a new API idea for the above to pass it images after training that could be a useful service.

        Based on some of those terms I did a search and found this, so I might have some fun later on in the year once got initial product launched.

        https://www.pyimagesearch.com/2020/01/20/intro-to-anomaly-detection-with-opencv-computer-vision-and-scikit-learn/

        1. 1

          Glad you found it useful!

  2. 1

    Question from a team member of mine: from an insider perspective, what's the actual difference between ML and AI? Is AI a real thing in your field or mostly a word the rest of us just toss around inaccurately?

    1. 1

      I think there is an interesting but subtle distinction. Something which I think demonstrates this quite well is that in my degree there are 2 distinct courses which you can take "Machine Learning" and "Artificial Intelligence".

      The AI course actually had the name "Intelligent Systems" previously and has existed for a while, it focused on wide variety of methods which enabled systems to act "intelligently", such as heuristics, modelling of the environment in such a way that we can implement algorithms in a sensible way, constraint satisfaction etc. An expert system which is just a sequence of ifs statements someone could call AI.

      The ML course focused on things such a Neural Networks, probability theory, calculus, linear algebra, convex optimisation etc.

      I think the most useful way I can think to conceptualise the difference between them, is that machine learning is about creating systems which learn from data, where as AI is about the ability to create systems which operate as if they have some sort of intelligence. Everything that is ML could be called AI, but not everything which is AI could be called ML.

      The conflation of the 2 terms is quite pervasive however, one thing I have noticed personally is that when a new startup claims to be using "AI" that their technical foundations for this claim is normally weaker than when they claim to use machine learning. Again personally it seems like AI is used more by less technical people, and ML by more, (when what you are talking about is ML) so if I was to market something I would take this into account.

      Hope this was useful!

      1. 1

        Super interesting! I wonder if there will ever be a day when words like this become less buzzwordy and start getting some of their actual meaning back