BlackFriday 2024! 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 6 Question 87 Discussion

Actual exam question for Google's Professional Machine Learning Engineer exam
Question #: 87
Topic #: 6
[All 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:

Emilio
1 months ago
Ah, the age-old debate of collaborative vs. content-based filtering. I'd have to go with C on this one. Keep it simple, stupid - the hashtags have all the information you need!
upvoted 0 times
Johanna
10 days ago
User 1: I think we should go with option A, fine-tuning the model with hashtags for recommendations.
upvoted 0 times
...
...
Lennie
1 months ago
Haha, option A? Predicting hashtags from images? That's so 2015. Haven't you heard of transfer learning? D is clearly the superior choice here.
upvoted 0 times
Jospeh
8 days ago
D) Download a pretrained convolutional neural network, and use the model to generate embeddings of the input images. Measure similarity between embeddings to make recommendations.
upvoted 0 times
...
Misty
11 days ago
B) Retrieve image labels and dominant colors from the input images using the Vision API. Use these properties and the hashtags to make recommendations.
upvoted 0 times
...
Daniela
22 days ago
A) Download a pretrained convolutional neural network, and fine-tune the model to predict hashtags based on the input images. Use the predicted hashtags to make recommendations.
upvoted 0 times
...
...
Edna
2 months ago
I'm leaning towards option B. Using image labels, dominant colors, and hashtags together could provide more comprehensive recommendations.
upvoted 0 times
...
Bonita
2 months ago
I think B is the best approach. Combining visual features and hashtags is a more well-rounded recommendation system. Why not take advantage of all the available data?
upvoted 0 times
...
Tambra
2 months ago
I disagree, I believe option D is the way to go. Generating embeddings and measuring similarity seems more accurate.
upvoted 0 times
...
Amber
2 months ago
I think we should go with option A. Fine-tuning a pretrained CNN sounds like the best approach.
upvoted 0 times
...
Geraldine
2 months ago
Option D is the way to go! Pretrained embeddings are the key to efficient image similarity comparisons. Why reinvent the wheel when you can leverage state-of-the-art models?
upvoted 0 times
Latanya
2 months ago
I agree, using pretrained convolutional neural networks for generating embeddings is a smart approach.
upvoted 0 times
...
Junita
2 months ago
Option D is definitely the best choice. Pretrained embeddings are powerful for image similarity comparisons.
upvoted 0 times
...
...

Save Cancel