{"id":108,"date":"2020-08-20T17:20:02","date_gmt":"2020-08-20T17:20:02","guid":{"rendered":"https:\/\/machine-learning.webcloning.com\/2020\/08\/20\/the-fastest-driver-in-formula-1\/"},"modified":"2020-08-20T17:20:02","modified_gmt":"2020-08-20T17:20:02","slug":"the-fastest-driver-in-formula-1","status":"publish","type":"post","link":"https:\/\/salarydistribution.com\/machine-learning\/2020\/08\/20\/the-fastest-driver-in-formula-1\/","title":{"rendered":"The fastest driver in Formula 1"},"content":{"rendered":"<div id=\"\">\n<p><em>This blog post was co-authored, and includes an introduction, by Rob Smedley, <\/em><em>Director of Data Systems at Formula 1<\/em><\/p>\n<p>Formula 1 (F1) racing is the most complex sport in the world. It is the blended perfection of human and machine that create the winning formula. It is this blend that makes F1 racing, or more pertinently, the driver talent, so difficult to understand. How many races or Championships would Michael Schumacher really have won without the power of Benetton and later, Ferrari, and the collective technical genius that were behind those teams? Could we really have seen Lewis Hamilton win six World Championships if his career had taken a different turn and he was confined to back-of-the-grid machinery? Maybe these aren\u2019t the best examples because they are two of the best drivers the world has ever seen. There are many examples, however, of drivers whose real talent has remained fairly well hidden throughout their career. Those that never got that \u201cright place, right time\u201d break into a winning car and, therefore, those that will be forever remembered as a midfield driver.<\/p>\n<p>The latest F1 Insight powered by AWS is designed to build mathematical models and algorithms that can help us answer the perennial question: who is the fastest driver of all time? F1 and AWS scientists have spent almost a year building these models and algorithms to bring us that very insight. The output focuses solely on one element of a driver\u2019s vast armory\u2014the pure speed that is most evident on a Saturday afternoon during the qualifying hour. It doesn\u2019t focus on racecraft or the ability to win races or drive at 200 mph while still having the bandwidth to understand everything going on around you (displayed so well by the likes of Michael Schumacher or Fernando Alonso). This ability, which transgresses speed alone, allowed them both, on many an occasion, to operate as master tacticians. For someone like myself, who has had the honor of watching those very skills in action from the pitwall, I cannot emphasize enough how important those skills are\u2014they are the difference between the good and the great. It is important to point out that these skills are not included in this insight. This is about raw speed only and the ability to push the car to its very limits over one lap.<\/p>\n<p>The output and the list of the fastest drivers of all time (based on the F1 Historic Data Repository information spanning from 1983 to present day) offers some great names indeed. Of course, there are the obvious ones that rank highly\u2014Ayrton Senna, Michael Schumacher, Lewis Hamilton, all of whom emerge as the top five fastest drivers. However, there are some names that many may not think of as top 20 drivers on first glance. A great example I would cite is Heikki Kovalainen. Is that the Kovalainen that finished his career circling round at the back of the Grand Prix field in Caterham, I hear you ask? Yes in fact, it\u2019s the very same. For those of us who watched Kovalainen throughout his F1 career, it comes as little surprise that he is so high up the list when we consider pure speed. Look at his years on the McLaren team against Lewis Hamilton. The qualifying speaks volumes, with the median difference of just 0.1 seconds per lap. Ask Kovalainen himself and he\u2019ll tell you that he didn\u2019t perform at the same level as Hamilton in the races for many reasons (this is a tough business, believe me). But in qualifying, his statistics speak for themselves\u2014the model has ranked him so highly because of his consistent qualifying performances throughout his career. I, for one, am extremely happy to see Kovalainen get the data-driven recognition that he deserves for that raw talent that was always on display during qualifying. There are others in the list, too, and hopefully some of these are your favorites\u2014drivers that you have been banging the drum about for the last 10, 20, 40 years; the ones that might never have gotten every break, but you were able to see just how talented they were.<\/p>\n<p><em> \u2014 Rob Smedley<\/em><\/p>\n<hr>\n<h2><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-14914\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-1-1.jpg\" alt=\"\" width=\"1000\" height=\"562\"><\/h2>\n<h2>Fastest Driver<\/h2>\n<p>As part of F1\u2019s 70th anniversary celebrations and to help fans better understand who are the fastest drivers in the sport\u2019s history, F1 and the <a href=\"https:\/\/aws.amazon.com\/ml-solutions-lab\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Machine Learning Solutions Lab<\/a> teamed up to develop Fastest Driver, the latest F1 Insight powered by AWS.<\/p>\n<p>Fastest Driver uses AWS machine learning (ML) to rank drivers using their qualifying sessions lap times from F1\u2019s Historic Data Repository going back to 1983. In this post, we demonstrate how by using <a href=\"https:\/\/aws.amazon.com\/sagemaker\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SageMaker<\/a>, a fully managed service to build, train, and deploy ML models, the Fastest Driver insight can objectively determine the fastest drivers in F1.<\/p>\n<h2>Quantifying driver pace using qualifying data<\/h2>\n<p>We define <em>pace<\/em> as a driver\u2019s lap time during qualifying sessions. Driver race performance depends on a large number of factors, such as weather conditions, car setup (such as tires), and race track. F1 qualifying sessions are split into three sessions: the first session eliminates cars that set a lap time in 16th position or lower, the second eliminates positions 11\u201315, and the final part determines the grid position of 1st (pole position) to 10th. We use all qualification data from the driver qualifying sessions to construct Fastest Driver.<\/p>\n<p>Lap times from qualifying sessions are normalized to adjust for differences in race tracks, which enables us to pool lap times across different tracks. This normalization process equalizes driver lap time differences, helping us compare drivers across race tracks and eliminating the need to construct track-specific models to account for track alterations over time. Another important technique is that we compare qualifying data for drivers on the same race team (such as Aston Martin Red Bull Racing), where teammates have competed against each other in a minimum of five qualifying sessions. By holding the team constant, we get a direct performance comparison under the same race conditions while controlling for car effects.<\/p>\n<p>Differences in race conditions (such as wet weather) and rule changes (such as rule impacts) leads to significant variations in driver performances. We identify and remove anomalous lap time outliers by using deviations from median lap times between teammates with a 2-second threshold. For example, let\u2019s compare Daniel Ricciardo with Sebastian Vettel when they raced together for Red Bull in 2014. During that season, Ricciardo was, on average, 0.2 seconds faster than Vettel. However, the average lap time difference between Ricciardo and VetteI falls to 0.1 seconds if we exclude the 2014 US Grand Prix (GP), where Ricciardo was more than 2 seconds faster than Vettel on account of Vettel being penalized to comply with the <a href=\"https:\/\/en.wikipedia.org\/wiki\/107%25_rule\" target=\"_blank\" rel=\"noopener noreferrer\">107% rule<\/a> (which forced him to start from the pit lane).<\/p>\n<h2>Constructing Fastest Driver<\/h2>\n<p>Building a performant ML model starts with good data. Following the driver qualification data aggregation process, we construct a network of teammate comparisons over the years, with the goal of comparing drivers across all teams, seasons, and circuits. For example, Sebastian Vettel and Max Verstappen have never been on the same team, so we compare them through their respective connections with Daniel Ricciardo at Red Bull. Ricciardo was, on average, 0.18 seconds slower than Verstappen during the 2016\u20132018 seasons while they were at Red Bull. We remove outlier sessions, such as the 2018 GPs in Bahrain, where Ricciardo was quicker than Verstappen by large margins because Verstappen didn\u2019t get past Q1 due to a crash. If each qualifying session is assumed to be equally important, a subset of our driver network including only Ricciardo, Vettel, and Verstappen yields Verstappen as the fastest driver: Verstappen was 0.18 seconds faster than Ricciardo, and Ricciardo 0.1 seconds faster than Vettel.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-14915\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-2-1.jpg\" alt=\"\" width=\"1000\" height=\"562\"><\/p>\n<p>Using the full driver network, we can compare all driver pairings to determine the faster racers. Going back to Heikki Kovalainen, let\u2019s look at his years in the McLaren team against Lewis Hamilton. The qualifying speaks volumes with the median difference of just 0.1 seconds per lap. Kovalainen doesn\u2019t have the same number of World Championships as Hamilton, but his qualifying statistics speak for themselves\u2014the model has ranked him high because of his consistent qualifying performance throughout his career.<\/p>\n<p>An algorithm called the <a href=\"https:\/\/www.masseyratings.com\/theory\/massey97.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Massey\u2019s method<\/a> (a form of linear regression) is one of the core models behind the Insight. Fastest Driver uses Massey\u2019s method to rank drivers by solving for a set of linear equations, where each driver\u2019s rating is calculated as their average lap time difference against teammates. Additionally, when comparing ratings of teammates, the model uses features like driver strength of schedule normalized by the number of interactions with the driver. Overall, the model places high rankings to drivers who perform extraordinarily well against their teammates or perform well against strong opponents.<\/p>\n<p>Our goal is to assign each driver a numeric rating to infer that a driver\u2019s competitive advantage relative to other drivers assuming the expected margin of lap time difference in any race is proportional to the difference in a driver\u2019s true intrinsic rating. For the more mathematically inclined reader: let <em>x<sub>j <\/sub><\/em>represent each of all drivers and <em>r<sub>j<\/sub><\/em> represent the true intrinsic driver ratings. For every race, we can predict the margin of the lap time advantage or disadvantage (<em>y<sub>i<\/sub><\/em>) between any pair of two drivers as:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-14918\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-3.jpg\" alt=\"\" width=\"509\" height=\"34\"><\/p>\n<p>In this equation, <em>x<sub>j<\/sub><\/em> is +1 for the winner and -1 for the loser, and <em>e<sub>i<\/sub><\/em> is the error term due to unexplained variations. For a given set of <em>m<\/em> game observations and <em>n<\/em> drivers, we can formulate an (<em>m<\/em> * <em>n<\/em>) system of linear equations:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-14919\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-4.jpg\" alt=\"\" width=\"147\" height=\"34\"><\/p>\n<p>Driver ratings (<em><strong>r<\/strong><\/em>) is a solution to the normal equation via linear regression:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-14920\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-5.jpg\" alt=\"\" width=\"156\" height=\"45\"><\/p>\n<p>The following example code of Massey\u2019s method and calculating driver rankings using Amazon SageMaker demonstrates the training process:<\/p>\n<div class=\"hide-language\">\n<pre><code class=\"lang-python\">1.\timport numpy as np\r\n2.\timport pandas as pd\r\n3.\timport statsmodels.api as sm\r\n4.\tfrom scipy.stats import norm \r\n5.\t\r\n6.\t#example data comparing five drivers\r\n7.\tdata = pd.DataFrame([[1, 0, 88, 90], \r\n8.\t                     [2, 1, 87, 88],\r\n9.\t                     [2, 0, 87, 90],\r\n10.\t                     [3, 4, 88, 92],\r\n11.\t                     [3, 1, 88, 90],\r\n12.\t                     [1, 4, 90, 92]], columns=['Driver1', 'Driver2', 'Driver1_laptime', 'Driver2_laptime'])\r\n13.\t\r\n14.\tdef init_linear_regressor_matrix(data, num_of_drivers, col_to_rank):\r\n15.\t    \"\"\"initialize linear system matrix for regression\"\"\"\r\n16.\t    wins = np.zeros((data.shape[0], num_of_drivers))\r\n17.\t    score_diff = np.zeros(data.shape[0])\r\n18.\t\r\n19.\t    for index, row in data.iterrows():\r\n20.\t        idx1 = row[\"Driver1\"]\r\n21.\t        idx2 = row[\"Driver2\"]\r\n22.\t        if row['Driver1_laptime'] - row['Driver2_laptime'] &gt; 0:\r\n23.\t            wins[(index)][(idx1)] = -1\r\n24.\t            wins[(index)][(idx2)] = 1\r\n25.\t            score_diff[(index)] = row['Driver1_laptime'] - row['Driver2_laptime']\r\n26.\t        else:\r\n27.\t            wins[(index)][(idx1)] = 1\r\n28.\t            wins[(index)][(idx2)] = -1\r\n29.\t            score_diff[(index)] = row['Driver2_laptime'] - row['Driver1_laptime']\r\n30.\t    wins_df = pd.DataFrame(wins)\r\n31.\t    wins_df[col_to_rank] = score_diff\r\n32.\t    return wins_df \t\r\n33.\t\r\n34.\tdef massey(data, num_of_drivers, col_to_rank='delta'):\r\n35.\t    \"\"\"Compute for each driver, adjacency matrix and aggregated scores, as input to the Massey Model\"\"\"\r\n36.\t\r\n37.\t    wins_df = init_linear_regressor_matrix(data, num_of_drivers, col_to_rank)\r\n38.\t    model = sm.OLS(\r\n39.\t        wins_df[col_to_rank], wins_df.drop(columns=[col_to_rank])\r\n40.\t    )\r\n41.\t    results = model.fit(cov_type='HC1')\r\n42.\t    rankings = pd.DataFrame(results.params)\r\n43.\t    rankings['std'] = np.sqrt(np.diag(results.cov_params()))\r\n44.\t    rankings['consistency'] = (norm.ppf(0.9)-norm.ppf(0.1))*rankings['std']\r\n45.\t    rankings = (\r\n46.\t        rankings\r\n47.\t        .sort_values(by=0, ascending=False)\r\n48.\t        .reset_index()\r\n49.\t        .rename(columns={\"index\": \"Driver\", 0: \"massey\"})\r\n50.\t    )\r\n51.\t    rankings = rankings.sort_values(by=[\"massey\"], ascending=False)\r\n52.\t    rankings[\"massey_new\"] = rankings[\"massey\"].max() - rankings[\"massey\"]\r\n53.\t    return rankings[['Driver', 'massey_new']]\r\n54.\t\r\n55.\trankings = massey(data, 5)\r\n56.\tprint(rankings)\r\n<\/code><\/pre>\n<\/div>\n<h2>The kings of the asphalt<\/h2>\n<p>Topping our list of rankings of fastest drivers are the esteemed Ayrton Senna, Michael Schumacher, Lewis Hamilton, Max Verstappen, and Fernando Alonso. This is delivered through the Fastest Driver insight, which produces a dataset ranking based on speed (or qualifying times) of all drivers from the present day back to 1983, by simply ranking drivers in descending order of <code>Driver<\/code>, <code>Rank<\/code> (integer), <code>Gap to Best<\/code> (milliseconds).<\/p>\n<p>It\u2019s important to note that to quantify a driver\u2019s ability, we need to observe a minimum number of interactions. To factor this in, we only include teammates who have competed against each other in at least five qualifying sessions. A number of parameters and considerations have been put in place as an effective means of identifying various conditions with unfair comparisons, such as crashes, failures, age, career breaks, or weather conditions changing over qualifying sessions.<\/p>\n<p>Furthermore, we noticed that if a driver re-joined F1 following a break of three years or more (such as Michael Schumacher in 2010, Pedro de la Rosa in 2010, Narain Karthikeyan in 2011, and Robert Kubica in 2019), this adds a 0.1 second advantage to driver relative pace. This is exemplified when drivers have a large age gap with their teammates, such as Mark Webber vs. Sebastian Vettel in 2013, Felipe Massa vs. Lance Stroll in 2017, and Kimi R\u00e4ikk\u00f6nen vs. Antonio Giovinazzi in 2019. From 1983\u20132019, we observe that competing against a teammate who is significantly older gives a 0.06-second advantage.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-14954\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/F1-x-AWS-Fastest-Driver_Top-50.jpg\" alt=\"\" width=\"1000\" height=\"1753\"><\/p>\n<p>These rankings aren\u2019t proposed as definitive, and there will no doubt be disagreement among fans. In fact, we encourage a healthy debate! Fastest Driver presents a scientific approach to driver ranking aimed at objectively assessing a driver\u2019s performance controlling for car difference.<\/p>\n<h2>Lightweight and flexible deployment with Amazon SageMaker<\/h2>\n<p>To deliver the insights from Fastest Driver, we implemented Massey\u2019s method on a Python web server. One complication was that the qualifying data consumed by the model is updated with fresh lap times after every race weekend. To handle this, in addition to the standard request to the web server for the rankings, we implemented a refresh request that instructs the server to download new qualifying data from <a href=\"https:\/\/aws.amazon.com\/s3\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Simple Storage Service (Amazon S3<\/a>).<\/p>\n<p>We deployed our model web server to an <a href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/how-it-works-deployment.html#how-it-works-hosting\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SageMaker model endpoint<\/a>. This makes sure that our endpoint is highly available, because multi-instance Amazon SageMaker model endpoints are distributed across multiple Availability Zones by default, and have automatic scaling capabilities built in. As an additional benefit, the endpoints integrate with other Amazon SageMaker features, such as <a href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/model-monitor.html\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SageMaker Model Monitor<\/a>, which automatically monitors model drift in an endpoint. Using a fully-managed service like Amazon SageMaker means our final architecture is very lightweight. To complete the deployment, we added an API layer around our endpoint using <a href=\"https:\/\/aws.amazon.com\/api-gateway\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon API Gateway<\/a> and <a href=\"https:\/\/aws.amazon.com\/lambda\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Lambda<\/a>. The following diagram shows this architecture in action.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-14922\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/fastestdriver-6.jpg\" alt=\"\" width=\"1000\" height=\"562\"><\/p>\n<p>The architecture includes the following steps:<\/p>\n<ol>\n<li>The user makes a request to API Gateway.<\/li>\n<li>API Gateway passes the request to a Lambda function.<\/li>\n<li>The Lambda function makes a request to the Amazon SageMaker model endpoint. If the request is for rankings, the endpoint computes the UDC rankings using the currently available qualifying data and returns the result. If the request is to refresh, the endpoint downloads the new qualifying data from Amazon S3.<\/li>\n<\/ol>\n<h2>Summary<\/h2>\n<p>In this post, we described how F1 and the Amazon ML Solutions Lab scientists collaborated to create Fastest Driver, the first objective and data-driven model to determine who might be the fastest driver ever. This collaborative work between F1 and AWS has provided a unique view of one of the sport\u2019s most enduring questions by looking back at its history on its 70th anniversary. Although F1 is the first to employ ML in this way, you can apply the technology to answer complex questions in sports, or even settle age-old disputes with fans of rival teams. This F1 season, fans will have many opportunities to see Fastest Driver in action and launch into their own debates about the sport\u2019s all-time fastest drivers.<\/p>\n<p>Sports leagues around the world are using AWS machine learning technology to transform the fan experience. The Guinness Six Nations Rugby Championship competition and Germany\u2019s Bundesliga use AWS to bring fans closer to the action of the game and deliver deeper insights. In America, the NFL uses AWS to bring advanced stats to fans, players, and the league to improve player health and safety initiatives using AI and ML.<\/p>\n<p>If you\u2019d like help accelerating your use of ML in your products and processes, please contact the <a href=\"https:\/\/aws.amazon.com\/ml-solutions-lab\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon ML Solutions Lab<\/a> program.<\/p>\n<hr>\n<h3>About the Authors<\/h3>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-14957 size-full alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/rob-smedley-100.jpg\" alt=\"\" width=\"100\" height=\"100\">Rob Smedley <\/strong>has over 20 years of experience in the world of motorsport, having spent time at multiple F1 teams including Jordan, as a Race Engineer at Ferrari and most recently as Head of Vehicle Performance at Williams. He is now Director of Data systems at Formula 1, and oversees the F1 Insights program from a technical data side.<\/p>\n<p>\u00a0<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-14935\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/colby-wise.jpg\" alt=\"\" width=\"100\" height=\"132\">Colby Wise <\/strong>is a Data Scientist and manager at the Amazon ML Solutions Lab, where he helps AWS customers across numerous industries accelerate their AI and cloud adoption.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-12803\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/06\/09\/delger-enkhbayar-100.jpg\" alt=\"\" width=\"100\" height=\"131\">Delger Enkhbayar <\/strong>is a data scientist in the Amazon ML Solutions Lab. She has worked on a wide range of deep learning use cases in sports analytics, public sector and healthcare. Her background is in mechanism design and econometrics.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-14936\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/guang-yang.jpg\" alt=\"\" width=\"100\" height=\"134\">Guang Yang <\/strong>is a data scientist at the Amazon ML Solutions Lab where he works with customers across various verticals and applies creative problem solving to generate value for customers with state-of-the-art ML\/AI solutions.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-12804\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/06\/09\/ryan-cheng-100.jpg\" alt=\"\" width=\"100\" height=\"133\">Ryan Cheng <\/strong>is a Deep Learning Architect in the Amazon ML Solutions Lab. He has worked on a wide range of ML use cases from sports analytics to optical character recognition. In his spare time, Ryan enjoys cooking.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><img decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-14937\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2020\/08\/19\/george-price.jpg\" alt=\"\" width=\"100\" height=\"129\">George Price <\/strong>is a Deep Learning Architect at the Amazon ML Solutions Lab where he helps build models and architectures for AWS customers. Previously, he was a software engineer working on Amazon Alexa.<\/p>\n<p>\u00a0<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/aws.amazon.com\/blogs\/machine-learning\/the-fastest-driver-in-formula-1\/<\/p>\n","protected":false},"author":0,"featured_media":109,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/108"}],"collection":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":0,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media\/109"}],"wp:attachment":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}