The science behind Hunches: Deep device embeddings

A machine learning model learns representations that cluster devices according to their usage patterns.

Using Alexa, customers can control thousands of different smart-home devices — such as lights, plugs, switches, door locks, cameras, and thermostats — with just their voices. But the Alexa smart-home interface is more than just a voice-based remote control.

Automatic Actions feedback.png
Automatic Actions feedback page in the Alexa mobile app.

In 2018, we launched Hunches, an Alexa setting that offers reminders when Alexa thinks you forgot to turn off a light or to lock a door. Since then, we have expanded Hunches to include a proactive experience called Automatic Actions: we turn off lights and adjust thermostats when customers are asleep or leave the home. Today, thanks to predictive and proactive features like Hunches and Routines, one in four smart-home interactions is initiated by Alexa — without customers’ having to say anything.

Taking proactive actions in the home is a responsibility we take seriously, and our machine learning models need to clear a high bar in order to meet customer expectations. Before initiating an action, multiple models make decisions, including estimating the light level, predicting whether customers have gone to sleep or left the home, and predicting which devices should be controlled.

Each of these components is an active area of research and innovation, but in this post, I’m going to focus on how we decide which device to control. We do this by mapping customers' smart-home usage patterns to a set of archetypes.

Smart-home usage patterns

Smarthouse Usage Patterns.jpg
Usage grid.png
State data timelines showing sample usage patterns of devices in a home. Some lights are left on at night (e.g., “Porch light”). Some are typically controlled together (e.g., “Living room” and “Plug 1”). Some are named to indicate their placement and usage, while others, like “Plug 1”, do not provide this information.

We derive insights about a device by how it is named and grouped, as well as by how it is used. Consider the time periods of the “on” states of the example devices in the image of state data timelines. We see the typical bathroom-light pattern of short spans of on-state over the day and longer spans in the evening.

Another device in the living room is mostly used in the evening. A third device is just called “Plug 1”, but it is highly correlated with the usage behavior in the living room. Alexa may infer that this plug is located in the living room. It could, for example, be attached to a Christmas tree. If our model knew this for certain, it could offer the customer a Routine that synchronizes the tree lights with holiday music.

Two factors make proactive routines challenging:

  • Sparsity: While some smart homes are fully wired, other customers may own one Echo Dot and a single smart light bulb. We want to offer them Hunches, too.
  • Diversity: There are hundreds of thousands of possible configurations for Echo devices, smart-home appliances, and their uses. Even if two homes are configured identically, customers may be using their devices very differently. For example, a device labeled “bedroom light” may be in the main bedroom or a guest bedroom, or it may just be a closet light.

Deep device embeddings model

Many of our services boil down to the question of what state customers would like their devices to be in: that’s what drives both Automatic Actions and Hunches. To answer that question, we train an encoder model that produces a device representation — an embedding — that encodes the device’s previous states and the configuration of the home, including device names, device types, and device groupings. From that embedding, a decoder model can predict the device’s future state.

Hunches training pipeline small.png
Device embedding architecture. Green: Training path. A neural network is trained to predict the state of a device at randomly sampled times, using features such as its aggregated past usage, device names, and device groupings. Deep device embeddings are the representations that encode device usage and static device data. Yellow: Embedding path. To force devices into categories of typical usage, which reduces the required storage for each device, we cluster the embeddings. The cluster centers feed into application models that predict, say, whether we should turn off a light or send a Hunch. The application models are initialized using the weights of the state prediction model.

But predicted home state does not directly answer questions like whether a light should be turned off or a Hunch should be sent. For that purpose, we use a model trained to predict whether a given Hunch will be accepted or not. The Hunch acceptance model uses the home state prediction model’s encoder, which can compute per-home or per-device embeddings. We term the per-device embeddings the deep device embeddings.

In this model, the weights of the embedding encoder represent information collected across customers; devices with similar usage patterns yield representations that are close to one another in the embedding space. Some bathroom lights, for instance, may bear the label “bathroom light”, but others may be identified by device grouping or usage patterns. Using an embedding space allows us to abstract away these individual features.

From embeddings to semantics

While deep device embeddings are useful to predict Hunches, we also find that the embedding space has some interesting properties when visualized.

Sample visualizations.png
Sample visualization of deep device embedding space. Each dot represents the embedding of one device in a random sample of 100,000 devices. Embeddings are projected to two dimensions using UMAP, which reduces the high-dimensional embedding space to two dimensions while preserving local clusters. Left figure: Colors indicate how long devices are typically left on. One of the dominant dimensions in the space correlates with this measure because the model was trained to predict whether a device would be on at a certain time. Right figure: Colors mark cluster assignments; labels are the dominant name given by customers to this device. We see that islands of similar device usage emerge, such as clusters of devices named “outside” and “porch”.

What’s interesting about this space is that there are clusters to which we can attach usage semantics. In our sample visualization, we define 60 clusters using k-means and color some of them. The title of each cluster is the name in it that is most frequent when normalized by its frequency in the complete dataset. We find that clusters carry semantic information; for example, the isolated island of devices consisting of the “outside” and “porch” (blue and brown) clusters is most likely outdoor devices that are left on for long durations at a time.

While the labels given to clusters are the dominant names, they are not the only names associated with the clusters. For instance, we also find devices labeled “First Light” in the outdoor cluster. The embeddings are able to tag devices not just by how they are named and grouped but also based on their usage.

The device embedding space thus provides an automated way to map device usage patterns in different homes into a common space that can be used to drive services such as Automatic Actions or Hunches.

Outlook

For all the convenience offered by Hunches and Automatic Actions, we still see opportunities to make the smart home smarter.

For example, we project all customer device usage into common roles. While this can be helpful when data is sparse, we would also like to offer customers more personalized smart-home services. We recently implemented a new representation called deep home embeddings, which aggregates information across all devices in the home and enables us to create proactive automations that consider the state of the home holistically.

Most smart homes start out with just one or two Internet-connected devices and add more over time. We are always trying to find ways to automate repetitive tasks, provide relevant reminders that increase customer convenience, and offer useful recommendations for all Alexa Smart Home customers.

Acknowledgments: Charles Brett, Maisie Wang, Michael Dillon, Paul Savastinuk, Usman Aleem

Related content

US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
LU, Luxembourg
Are you a talented and inventive scientist with a strong passion about modern data technologies and interested to improve business processes, extracting value from the data? Would you like to be a part of an organization that is aiming to use self-learning technology to process data in order to support the management of the procurement function? The Global Procurement Technology, as a part of Global Procurement Operations, is seeking a skilled Data Scientist to help build its future data intelligence in business ecosystem, working with large distributed systems of data and providing Machine Learning (ML) and Predictive Modeling expertise. You will be a member of the Data Engineering and ML Team, joining a fast-growing global organization, with a great vision to transform the Procurement field, and become the role model in the market. This team plays a strategic role supporting the core Procurement business domains as well as it is the cornerstone of any transformation and innovation initiative. Our mission is to provide a high-quality data environment to facilitate process optimization and business digitalization, on a global scale. We are supporting business initiatives, including but not limited to, strategic supplier sourcing (e.g. contracting, negotiation, spend analysis, market research, etc.), order management, supplier performance, etc. We are seeking an individual who can thrive in a fast-paced work environment, be collaborative and share knowledge and experience with his colleagues. You are expected to deliver results, but at the same time have fun with your teammates and enjoy working in the company. In Amazon, you will find all the resources required to learn new skills, grow your career, and become a better professional. You will connect with world leaders in your field and you will be tackling Data Science challenges to ensure business continuity, by taking the right decisions for your customers. As a Data Scientist in the team, you will: -be the subject matter expert to support team strategies that will take Global Procurement Operations towards world-class predictive maintenance practices and processes, driving more effective procurement functions, e.g. supplier segmentation, negotiations, shipping supplies volume forecast, spend management, etc. -have strong analytical skills and excel in the design, creation, management, and enterprise use of large data sets, combining raw data from different sources -provide technical expertise to support the development of ML models to facilitate intelligent digital services, such as Contract Lifecycle Management (CLM) and Negotiations platform -cooperate closely with different groups of stakeholders, e.g. data/software engineers, product/program managers, analysts, senior leadership, etc. to evaluate business needs and objectives to set up the best data management environment -create and share with audiences of varying levels technical papers and presentations -deal with ambiguity, prioritizing needs, and delivering results in a dynamic environment Basic qualifications -Master’s Degree in Computer Science/Engineering, Informatics, Mathematics, or a related technical discipline -3+ years of industry experience in data engineering/science, business intelligence or related field -3+ years experience in algorithm design, engineering and implementation for very-large scale applications to solve real problems -Very good knowledge of data modeling and evaluation -Very good understanding of regression modeling, forecasting techniques, time series analysis, machine-learning concepts such as supervised and unsupervised learning, classification, random forest, etc. -SQL and query performance tuning skills Preferred qualifications -2+ years of proficiency in using R, Python, Scala, Java or any modern language for data processing and statistical analysis -Experience with various RDBMS, such as PostgreSQL, MS SQL Server, MySQL, etc. -Experience architecting Big Data and ML solutions with AWS products (Redshift, DynamoDB, Lambda, S3, EMR, SageMaker, Lex, Kendra, Forecast etc.) -Experience articulating business questions and using quantitative techniques to arrive at a solution using available data -Experience with agile/scrum methodologies and its benefits of managing projects efficiently and delivering results iteratively -Excellent written and verbal communication skills including data visualization, especially in regards to quantitative topics discussed with non-technical colleagues
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, CA, San Francisco
About Twitch Launched in 2011, Twitch is a global community that comes together each day to create multiplayer entertainment: unique, live, unpredictable experiences created by the interactions of millions. We bring the joy of co-op to everything, from casual gaming to world-class esports to anime marathons, music, and art streams. Twitch also hosts TwitchCon, where we bring everyone together to celebrate, learn, and grow their personal interests and passions. We’re always live at Twitch. Stay up to date on all things Twitch on Linkedin, Twitter and on our Blog. About the role: Twitch builds data-driven machine learning solutions across several rich problem spaces: Natural Language Processing (NLP), Recommendations, Semantic Search, Classification/Categorization, Anomaly Detection, Forecasting, Safety, and HCI/Social Computing/Computational Social Science. As an Intern, you will work with a dedicated Mentor and Manager on a project in one of these problem areas. You will also be supported by an Advisor and participate in cohort activities such as research teach backs and leadership talks. This position can also be located in San Francisco, CA or virtual. You Will: Solve large-scale data problems. Design solutions for Twitch's problem spaces Explore ML and data research
US, WA, Seattle
We are a team of doers working passionately to apply cutting-edge advances in deep learning in the life sciences to solve real-world problems. As a Senior Applied Science Manager you will participate in developing exciting products for customers. Our team rewards curiosity while maintaining a laser-focus in bringing products to market. Competitive candidates are responsive, flexible, and able to succeed within an open, collaborative, entrepreneurial, startup-like environment. At the leading edge of both academic and applied research in this product area, you have the opportunity to work together with a diverse and talented team of scientists, engineers, and product managers and collaborate with others teams. Location is in Seattle, US Embrace Diversity Here at Amazon, we embrace our differences. We are committed to furthering our culture of inclusion. We have ten employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We have innovative benefit offerings, and host annual and ongoing learning experiences, including our Conversations on Race and Ethnicity (CORE) and AmazeCon (gender diversity) conferences. Amazon’s culture of inclusion is reinforced within our 14 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust Balance Work and Life Our team puts a high value on work-life balance. It isn’t about how many hours you spend at home or at work; it’s about the flow you establish that brings energy to both parts of your life. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We offer flexibility in working hours and encourage you to find your own balance between your work and personal lives Mentor & Grow Careers Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we’re building an environment that celebrates knowledge sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects based on what will help each team member develop into a better-rounded engineer and enable them to take on more complex tasks in the future. Key job responsibilities • Manage high performing engineering and science teams • Hire and develop top-performing engineers, scientists, and other managers • Develop and execute on project plans and delivery commitments • Work with business, data science, software engineer, biological, and product leaders to help define product requirements and with managers, scientists, and engineers to execute on them • Build and maintain world-class customer experience and operational excellence for your deliverables
US, Virtual
The Amazon Economics Team is hiring Interns in Economics. We are looking for detail-oriented, organized, and responsible individuals who are eager to learn how to work with large and complicated data sets. Some knowledge of econometrics, as well as basic familiarity with Stata, R, or Python is necessary. Experience with SQL, UNIX, Sawtooth, and Spark would be a plus. These are full-time positions at 40 hours per week, with compensation being awarded on an hourly basis. You will learn how to build data sets and perform applied econometric analysis at Internet speed collaborating with economists, data scientists and MBAʼs. These skills will translate well into writing applied chapters in your dissertation and provide you with work experience that may help you with placement. Roughly 85% of interns from previous cohorts have converted to full time economics employment at Amazon. If you are interested, please send your CV to our mailing list at econ-internship@amazon.com.
US, WA, Seattle
Amazon internships are full-time (40 hours/week) for 12 consecutive weeks with start dates in May - July 2023. Our internship program provides hands-on learning and building experiences for students who are interested in a career in hardware engineering. This role will be based in Seattle, and candidates must be willing to work in-person. Corporate Projects (CPT) is a team that sits within the broader Corporate Development organization at Amazon. We seek to bring net-new, strategic projects to life by working together with customers and evolving projects from ZERO-to-ONE. To do so, we deploy our resources towards proofs-of-concept (POCs) and pilot programs and develop them from high-level ideas (the ZERO) to tangible short-term results that provide validating signal and a path to scale (the ONE). We work with our customers to develop and create net-new opportunities by relentlessly scouring all of Amazon and finding new and innovative ways to strengthen and/or accelerate the Amazon Flywheel. CPT seeks an Applied Science intern to work with a diverse, cross-functional team to build new, innovative customer experiences. Within CPT, you will apply both traditional and novel scientific approaches to solve and scale problems and solutions. We are a team where science meets application. A successful candidate will be a self-starter comfortable with ambiguity, strong attention to detail, and the ability to work in a fast-paced, ever-changing environment. As an Applied Science Intern, you will own the design and development of end-to-end systems. You’ll have the opportunity to create technical roadmaps, and drive production level projects that will support Amazon Science. You will work closely with Amazon scientists, and other science interns to develop solutions and deploy them into production. The ideal scientist must have the ability to work with diverse groups of people and cross-functional teams to solve complex business problems.