Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Google Exam Professional-Machine-Learning-Engineer Topic 8 Question 70 Discussion

Actual exam question for Google's Google Professional Machine Learning Engineer exam
Question #: 70
Topic #: 8
[All Google Professional Machine Learning Engineer Questions]

You are creating a social media app where pet owners can post images of their pets. You have one million user uploaded images with hashtags. You want to build a comprehensive system that recommends images to users that are similar in appearance to their own uploaded images.

What should you do?

Show Suggested Answer Hide Answer
Suggested Answer: D

The best option to build a comprehensive system that recommends images to users that are similar in appearance to their own uploaded images is to download a pretrained convolutional neural network (CNN), and use the model to generate embeddings of the input images. Embeddings are low-dimensional representations of high-dimensional data that capture the essential features and semantics of the data. By using a pretrained CNN, you can leverage the knowledge learned from large-scale image datasets, such as ImageNet, and apply it to your own domain. A pretrained CNN can be used as a feature extractor, where the output of the last hidden layer (or any intermediate layer) is taken as the embedding vector for the input image. You can then measure the similarity between embeddings using a distance metric, such as cosine similarity or Euclidean distance, and recommend images that have the highest similarity scores to the user's uploaded image. Option A is incorrect because downloading a pretrained CNN and fine-tuning the model to predict hashtags based on the input images may not capture the visual similarity of the images, as hashtags may not reflect the appearance of the images accurately. For example, two images of different breeds of dogs may have the same hashtag #dog, but they may not look similar to each other. Moreover, fine-tuning the model may require additional data and computational resources, and it may not generalize well to new images that have different or missing hashtags. Option B is incorrect because retrieving image labels and dominant colors from the input images using the Vision API may not capture the visual similarity of the images, as labels and colors may not reflect the fine-grained details of the images. For example, two images of the same breed of dog may have different labels and colors depending on the background, lighting, and angle of the image. Moreover, using the Vision API may incur additional costs and latency, and it may not be able to handle custom or domain-specific labels. Option C is incorrect because using the provided hashtags to create a collaborative filtering algorithm may not capture the visual similarity of the images, as collaborative filtering relies on the ratings or preferences of users, not the features of the images. For example, two images of different animals may have similar ratings or preferences from users, but they may not look similar to each other. Moreover, collaborative filtering may suffer from the cold start problem, where new images or users that have no ratings or preferences cannot be recommended.Reference:

Image similarity search with TensorFlow

Image embeddings documentation

Pretrained models documentation

Similarity metrics documentation


Contribute your Thoughts:

Gayla
10 days ago
Yeah, that's a good point, Shaun. The Vision API route could be a nice balance between complexity and performance. Plus, it would allow us to leverage both the visual features and the hashtag information, which seems like a more well-rounded approach.
upvoted 0 times
...
Shaun
11 days ago
I'm not sure about that. Wouldn't using the Vision API to retrieve labels and colors be a more straightforward solution? It seems like it would be simpler to implement and might work just as well, especially if the hashtags are reliable.
upvoted 0 times
...
Leah
12 days ago
I agree with Ellsworth. Using a pre-trained model to extract features and compute image similarity seems like the most robust approach. The hashtags can be a useful additional signal, but they shouldn't be the only factor in the recommendation system.
upvoted 0 times
...
Ellsworth
13 days ago
Hmm, this is an interesting question. I think the best approach would be to use a pre-trained convolutional neural network and generate image embeddings to make recommendations. That way, we can capture the visual similarity between the images without relying solely on the hashtags, which might not always be accurate or comprehensive.
upvoted 0 times
...

Save Cancel