alexbeloi
Joined 10 years ago
Joined 10 years ago
Do 100 of these problems: https://leetcode.com/tag/dynamic-programming/
It does optimize for profit, just with extra steps. For most FB ads products (that you see in feed), advertisers pay based on conversions (views, clicks, likes, joins, purchases, etc.). So revenue is directly tied to conversions. Then there are extra steps weighing in revenue != profit, advertiser retention, repetitiveness, long term user value, etc.
https://www.facebook.com/business/news/news-feed-fyi-bringin...
https://about.fb.com/news/2019/04/remove-reduce-inform-new-s...
Simplest example that you are very likely already familiar with is that of a 'best fit line' to some xy scatter plot. This starts by making an assumption (model choice) that the relationship between `x` and `y` is linear, e.g. `y=mx + b`, then you can use data (xy points) to figure out the most likely values for `m` and `b`. You can then make predictions for new `x_new` values by plugging them into your known line to get `y_new`.
Machine learning often manifests in a two step process: first feature extraction, and then fitting features to a desired output. Deep learning combines these as an end-to-end process to eliminate 'human in the loop' problems that occur from feature extraction.
Example: you want to predict who should win a chess game in a given board state
Feature extraction (what information you think matters): what pieces does white have, what pieces does black have, is white in check, is black in check, how many valid squares can white king move to, how many valid squares can black king move, etc...
* Fitting: make an assumption about the relationship between features and outcome (model choice), fit model using data (features, outcome)
The Deepblue 2 model that played Kasparov used around 8000 features (not sure if this is the feature vector size or # of features). As you can imagine, feature extraction is highly dependent on expert knowledge of the problem and will often fail to cover unknown situations/cases.
Deep learning models aim is to avoid limitations of expert knowledge by using raw data (e.g. occupancy of each square on a chess board) and extract features implicitly rather than relying on explicit human formulas. It has also opened up new possibilities for areas where expert knowledge has made little progress in the past (e.g. there is not much an expert can say about what pixel features are might indicate a dog/cat is contained in an image).
I watched the live broadcast of this announcement where they did a recap of all 10 previous matches (against TLO and Mana) and they talked about this concern. During today's announcement they presented a new model that could not see the whole map and had to use the camera movement to focus properly. The deepmind team said it took somewhat longer to train but they were able to achieve the same levels of performance according to their metrics and play-testing against previous version.
However...
They did a live match vs LiquidMana (6th match against Mana) against the latest version (with camera movement) and LiquidMana won! LiquidMana was able to repeatedly do hit-and-run immortal drop harassment in AlphaStar's base, forcing it to bring troops back to defend its base, causing it to fall behind in production and supply over time and ultimately lose a major battle.
In the future we'll likely have super-human spatial and temporal resolution, right now more improvements have been gained from highest possible spatial resolution with minimal plausible temporal resolution.
To understand what the difficulty is, it's important to consider that the size of the sensor input is very large. Don't think of it like twenty range finders around the car, rather a 360 degree medium resolution color + depth image (about 0.5 million data points coming at 30 fps).
It's difficult because you will never encounter the same set of sensor inputs twice, so you can't treat it like a search space problem. Once you've accepted that, you're in AI/ML territory where you might try to reason about what the closest set of known sensor inputs and action would be (classical AI, expert system), but that is impractically difficult with as 0.5 million dimensional search space, or train an ML model to 'reason' about the sensor space to make a decision about the appropriate action.
Approaches using a small number of sensors can do automatic breaking and smarter cruise control, but haven't been seen to be successful about navigating and making strategic decisions. The current belief is that more can be done by using denser sensors and more data and seems to be the case. There are people working on reducing the sensor density requirement, but the main focus right now is building a successful and safe self driving car, regardless of sensor and compute costs.
I've built deep learning recommendation systems in production for clients with millions of users and it's sometimes surprisingly difficult to beat the "most trending <products>" baseline if all you care about is views/purchases. It will in the short term to meet business goals, but it hurts the user experience over time and will inevitably increase churn.
Those people aren't interchangeable and it's preferable to have both to run smoothly. It sounds like you're speaking from a position of upper management, where you don't have the time to be managing an executor type person and you'd prefer more independent people directly under you.
I think this was the article that talked about this (apologies for the paywall): https://www.nytimes.com/2021/12/27/magazine/dna-test-crime-i...