10 ms·
Do simpler machine learning models exist and how can we find them?
- donkeyboy 4y agoYes, they exist, and they are called Linear Regression and Decision Tree. Not everything needs to be a neural network. Anyway, residual connections in NNs as well as distillation being only a 1% hit to performance imply our models are way too big.
- heyitsguay 4y agoI think this is one of those issues where it's easy to observe from the sidelines that models "should" be smaller (it'd make my life a whole lot easier), but it's not so clear how to actually create small models that work as well as these larger models, without having the larger models first (as in distillation). If you have any ideas to do better and aren't idly wealthy, I'd suggest pursuing them. Create a model that's within a percentage point or two of GPT3 on big NLP benchmarks, and fame and fortune will be yours. [Edit] this of course only applies for domains like NLP or computer vision where neural networks have proven very hard to beat. If you're working on a problem that doesn't need deep learning to achieve adequate performance, don't use them!
- z3c0 4y agoI've always thought it was abundantly clear how to make smaller models perform as well as large models: keep labeling data and build a human-in-the-loop support process to keep it on track. My perspective is more pessimistic. I think people opt for huge unsupervised models because they believe that tuning a few thousand more input features is easier than labeling copious amounts of data. Plus (in my experience) supervised models often require a more involved understanding of the math, whereas there's so many NN frameworks that ask very little of the users.
- janef0421 4y agoSupervised models would also require a lot more human labour, and the goal of most machine learning projects is to achieve cost-savings by eliminating human labour.
- z3c0 4y agoUp front, yes, but long term, I wholly disagree. A model that performs at 95% or higher will assuredly eliminate human work, no matter how many interns you enlist to label the data.
- heyitsguay 4y agoPeople have tried (and continue to try) that human-in-the-loop data growth. Basically any applied AI company is doing something like that every day, if they're getting their own training data in the course of business. It helps but it won't turn your bag-of-words model into GPT3. Companies like Google have even spent huge amounts of time and money on enormous labeled datasets -- JFT-300M or something like that for computer vision tasks, as you might guess, ~300M labeled images. It creates value, but it creates more value for larger models with higher capacity.
- deleted 4y ago[deleted]
- z3c0 4y agoI "have tried (and continue to try) that human-in-the-loop data growth" to enormous success, bringing logistic regression models to greater than 99% accuracy. And you can chain vectorization strategies to create more input features than simply a bag-of-words, like morphology, shape, etc. We (the software company that I work for) don't need GPT-3, because it is a specialized model geared towards generating human-like text. Most NLP problems are just parsing text for actionable information, and oftentimes, supervised models can be chained to create something far more effective towards your needs than trying to shoehorn a massive general-purpose unsupervised model into a specialized problem.
- mrguyorama 4y agoIt's almost like we have no clue what we are doing with NN and are just tweaking knobs and hoping it works out in the end. And yet people still like to push this idea that we will magically and accidentally build a superintelligence on top of these systems. It's so frustrating how deep into their own koolaid the ML industry is. We don't even know how the brain learns, we don't understand intelligence, there's no valid reason to believe a NN "learns" the same way a human brain learns, and individual human neurons are infinitely more complex and "learning" than even a single layer of a NN.
- heyitsguay 4y agoAs someone in the ML industry, who knows many people in the ML industry, we all know this. It's non-technical fundraisers that spread the hype, and non-technical laypeople that buy into it. Meanwhile, the folks building things and solving problems plug right along, aware of where limitations are and aren't.
- scrumlord 4y ago[dead]
- hooande 4y ago> It's almost like we have no clue what we are doing with NN and are just tweaking knobs and hoping it works out in the end. No, we understand very well how NNs work. Look at PartiallyTyped's comment in this thread. It's a great explanation of the basic concepts behind modern machine learning. You're quite correct that modern neural networks have nothing to do with how the brain learns or with any kind of superintelligence. And people know this. But these technologies have valuable practical applications. They're good at what they were made to do.
- sdenton4 4y agoWe've got lots of great tricks for making audio ml run fast (we need to produce 16k samples per second on a mobile phone CPU, and sound great), but I think they haven't back propagated to the image or language communities.
- heyitsguay 4y agoInteresting, any material you can share?
- PartiallyTyped 4y ago> Anyway, residual connections in NNs as well as distillation being only a 1% hit to performance imply our models are way too big. I disagree with the conclusion. It indicates that our optimisers are just not good enough, likely because gradient descent is just weak. The argument for residual connections is that we can create a nested family of models which enables expressing more models, but also embedding the smaller ones into them. The smaller models may be retrieved if our model learns to produce the the identity function at later layers. The problem though is that that is very difficult, meaning that our optimisers are simply not good enough at constructing identify functions. With the residual layers, we can embed the identity function into the structure of the model, and we now need to learn to map to 0 (since a residual is f(x) = x+g(x)), we need only to learn g(x)=0). As for our optimisers being bad, the argument is that with an overparameterised network, there is always a descent direction, but we land on local minima that are very close to the global one. The descend direction may exist in the batch, but when considering all the batches, we are at a local minimum. We can find many such local minima via certain symmetries. The general problem however is that even with the full dataset, we can only make local improvements in the landscape. Thus, it’s that the better models are embedded within the larger ones, and more parameters enable us to find them because of nested families, symmetries, and because of always having a descent direction.
- visarga 4y ago> It indicates that our optimisers are just not good enough, likely because gradient descent is just weak. No, the networks are ok, what is wrong is the paradigm. If you want rule or code based exploration and learning it is possible. You need to train a model to generate code from text instructions, then fine-tune it with RL on problem solving. The code generated by the model is interpretable and generalises better than running computation in the network itself. Neural nets can also generate problems, tests and evaluations of the test outputs. They can make a data generation loop. As an analogy, AlphaGo generated its own training data by self play and had very strong skills.
- PartiallyTyped 4y agoI did say that the networks are okay. In fact, I am arguing that the networks are even overcompensating for the weakness of optimisers. Neural nets are great even given that they are differentiable and we can propagate gradients through them without affecting the parameters. I don’t think that this reply takes into consideration just how inefficient RL and the likes are. In fact, RL is so inefficient that current SOTA in RL is … causal transformers that perform in-context learning without gradient updates. Depending on the approach one takes with RL, be it policy gradients or value networks, it still relies on gradient descent (and backprop). Policy gradients are just increasing the likelihood of useful actions given the current state. It’s a likelihood model increasing probabilities based on observed random walks. Value networks are even worse because one needs to derive not only the quality of the behaviour but also select an action. Sure enough, alternative methods exist such as model based RL, etc, and for example ChatGPT use RL to train some value functions and learn how to rank options, but all of these rely on gradient descent. Gradient descent, especially stochastic, is just garbage compared to stuff that we have for fixed functions that are not very expensive to evaluate. With stochastic gradient descent, your loss landscape depends on the example or mini batch, so a way to think about it is that the landscape is a linear combination of all the training examples, but at any time you observe only some of them and cope that the gradient doesn’t mess up too bad. But in general gradient descent shows linear convergence rate (cf Nocedal et al Numerical Opt, or Boyd and Vanderberghe’s proof where they bound the improvement of the iterates), and that’s a best case scenario (meaning non stochastic, non partial). Second order methods can get quadratic convergence rate but they are prohibitly expensive for large models, or require hessians (good luck lol). None of these though address limitations imposed by loss functions, eg needing exponentially higher values to increase a prediction optimised by cross entropy (see the logarithm). Nor do they address the bound on the information that we have about the minima. So needing exponentially more steps (assuming each update is fixed in length) while relying on linear convergence is … problematic to say the list
- danuker 4y agoIf interpretability is sufficiently important, you could straight-up search for mathematical formulae. My SymReg library pops to mind. I'm thinking of rewriting it in multithreaded Julia this holiday season. https://github.com/danuker/symreg https://github.com/danuker/symreg
- heyitsguay 4y agoHow often are closed-form equations actually useful for real world problem domains? When i did my PhD in applied math, they mostly came up in abstracted toy problems. Then you get into the real world data or a need for realistic modeling and it's numerical methods everywhere.
- danuker 4y agoI find them most useful when there are many variables, or when I can see there's a relationship but I don't feel like trying out equation forms manually. It is indeed of limited use, since often I can spot the relationship visually. And once I get the general equation I can easily transform the data to get a linear regression.
- chimeracoder 4y ago> How often are closed-form equations actually useful for real world problem domains? When i did my PhD in applied math, they mostly came up in abstracted toy problems. Then you get into the real world data or a need for realistic modeling and it's numerical methods everywhere. And closed-form equations are themselves almost always simplified or abstracted models derived from real-world observations.
- version_five 4y agoEngineering?
- mellavora 4y agoWell, Black-Scholes has proved pretty useful. With the caveat that all models are wrong-- and most people using B-S know this. Which is why actual option prices have the "smile", with tail prices being higher than the model would predict (because traders know that the model underestimates tail risk, and generally have a good sense of how far it underestimates it, because the model is fairly transparent). Because B-S is closed form, you can run it backwards, to convert actual prices to an implied volatility. Which is also known to be wrong, because historical standard deviations of returns are only somewhat predictive of future observed returns. As one person put it, Black-Scholes is the wrong model, into which you put the wrong data, to get the right answer.
- cs702 4y ago> I wonder whether it would make sense to separate the concepts of "simpler" and "interpretable." Interesting. I was thinking the same, after coming across a preprint proposing a credit-assignment mechanism that seems to make it possible to build deep models in a way that enables interpretability: https://arxiv.org/abs/2211.11754 https://arxiv.org/abs/2211.11754 (please note: the results look interesting/significant to me, but I'm still making my way through the preprint and its accompanying code). Consider that our brains are incredibly complex organs, yet they are really good at answering questions in a way that other brains find interpretable. Meanwhile, large language models (LLMs) keep getting better and better at explaining their answers with natural language in a way that our brains find interpretable. If you ask ChatGPT to explain its answers, it will generate explanations that a human being can interpret -- even if the explanations are wrong! Could it be that "model simplicity" and "model interpretability" are actually orthogonal to each other?
- kylevedder 4y agoHumans give explanations that other humans find convincing, but they can be totally wrong and non-causal. I think human explanations are often mechanistically wrong / totally acausal. As a famous early example, this lady provided an unprompted explanation (using only the information available to her conscious part of her brain in her good eye) for some of her preferences despite the mechanism of action being subconscious observations out of her blind eye. https://www.nature.com/articles/336766a0 https://www.nature.com/articles/336766a0
- joe_the_user 4y agoI don't think anyone has come up with an unambiguous definition of "interpretable". I mean, often people assume that, for example, a statement like "it's a cat because it has fur, whiskers and pointy ears" is interpretable because it's a logical conjunction of conditions. But a logical conjunction of a thousand vague conditions could easily be completely opaque. It's a bit like the way SQL initially advanced, years ago, as "natural language interface" and simple SQL statements are a bit like natural language but large SQL statements tend to be more incomprehensible than even ordinary computer programs. If you ask ChatGPT to explain its answers, it will generate explanations that a human being can interpret -- even if the explanations are wrong! The funny thing is that yeah, LLMs often come up with correct method-description for wrong answers and wrong method-descriptions for right answers. Human language is quite slippery and humans do this too. Human beings tend to start loose but tighten things up over time - LLMs are kind of randomly tight and loose. Maybe this can be tuned but I think "lack of actual understanding" will make this difficult.
- fxtentacle 4y agoWe blow up model sizes to reduce the risk of overfitting and to speed up training. So yes, usually you can shrink the finished model by 99% with a bit of normalization, quantization and sparseness. Also, plenty of "deep learning" tasks work equally well with decision trees if you use the right feature extractors.
- jakearmitage 4y agoWhat are feature extractors?
- danuker 4y agoI suspect features created manually from the data (as opposed to solely using the raw data): https://en.wikipedia.org/wiki/Feature_(computer_vision)#Extraction https://en.wikipedia.org/wiki/Feature_(computer_vision)#Extr...
- optimalsolver 4y agoI thought increasing model size raises the risk of overfitting, rather than the opposite?
- londons_explore 4y agoAre people 'interpretable'? If you ask an art expert 'how much will this painting sell for at auction', he might reply '$450k'. And when questioned, he'll probably have a long answer about the brush strokes being more detailed than this other painting by the same artist, but it being worth less due to surface damage... If our 'black box' ML models could give a similar long answer when asked 'why', would that solve the need? Because ChatGPT is getting close to being able to do just that...
- ketralnis 4y agoIf you tell that same art expert that it actually sold for $200k, they'll happily give you a post-hoc justification for that too. ChatGPT is equally good at that, you can ask it all sorts of "why" questions about falsehoods and it will confidently muse with the best armchair expert.
- satvikpendem 4y agoI just submitted an article about a paper by Deepmind whose main conclusion is that "data, not size, is the currently active constraint on language modeling performance" [0]. This means that even if we have bigger models, with billions and trillions of parameters, they are unlikely to be better than our current ones, because our amount of data is the bottleneck. TFA though also reminds me of the phenomenon in mathematical proofs where some long winded proof eventually comes up but then over time it becomes simplified as more mathematicians try to optimize it, in much the same way as programmers with technical debt ("make it work, make it right, make it fast"), such as with the four color theorem that was until now computer assisted but it seems there is a non computer assisted proof out [1]. I wonder if the problem in TFA could itself be solved by machine learning, where models would create, train, and test other models, changing them along the way, similar to genetic programming but with "artificial selection" and not "natural selection" so to speak. [0] https://news.ycombinator.com/item?id=34098087 https://news.ycombinator.com/item?id=34098087 [1] https://news.ycombinator.com/item?id=34082022 https://news.ycombinator.com/item?id=34082022
- hooande 4y agotwo thoughts People love to say "it's early" and "it will improve" about ChatGPT. but amount of training data IS the dominant factor in determining the quality of the output, usually in logarithmic terms. it's already trained on the entire internet. it's hard to see how they'll be able to significantly increase that. And having models build models is drastically overrated. again, the accuracy/quality improvements are largely driven by the scale and diversity of the dataset. that's like 90% of the solution to any ml problem. choosing the right model and parameters is often a minor relative improvement
- tlarkworthy 4y agoAll the books. I think books might be better
- recuter 4y agoThere's only about 100m books (in English). About the same volume of text as the web all total.
- nsxwolf 4y ago"black box models have led to mistakes in bail and parole decisions in criminal justice" Lolwut? Does your average regular person know machine learning is used to make these decisions at all?
- aputsiak 4y agoPetar Veličković et al has a concept of geometric deep learning, see this forthcoming book: https://geometricdeeplearning.com/ https://geometricdeeplearning.com/ There is also the Categories for AI, cats.for.ai, course which deals with the applying category theory into ML.
- deleted 4y ago[deleted]
- WhitneyLand 4y agoInstead of a rigorous CS oriented paper, it (the article referenced by Dr. Rudin) seems more like an editorial on the risks of using AI for consequential decisions. It proposes using simpler models and the benefits of explainable vs interpretable AI in these cases. However it seems to deal more with problems of perception in AI and how things might be better in the ideal rather than present any specific results. Maybe I’m missing something, not sure of the insight here? I agree it’s an important issue and laudable goal.
- topspin 4y agoThe paper content might not be all that but the fact of its existence is interesting to me. Lines are being drawn around what AI can be permitted to engage; if the methods aren't understood then they can't be controlled, and there are large domains where the Powers That Be won't tolerate what they can't control. Of course, it is at least as likely that the outcomes are actually less arbitrary than the conventional, and this this is what causes consternation.
- HWR_14 4y agoIsn't TikTok's recommendation engine famously a fairly simple machine learning model? Where simple means they really honed it down to the most important factors?
- tbalsam 4y agoI recently released a codebase in beta that modernizes a tiny model that gets really good performance on CIFAR-10 in about 18.1 or so seconds on the right single GPU -- a number of years ago the world record was 10 minutes, down from several days a few years previously. While most of my work was porting and cleaning up certain parts of the code for a different purpose (just-clone-and-hack experimentation workbench), I've spent years optimizing neural networks at a very fine grained level, and many of the lessons learned here in debugging reflected that. I believe that there are fundamentally a few big NP-hard layers (at least two that I can define, and likely several other smaller ones) unfortunately but they are not hard blockers to progress. The model I mentioned above is extremely simple and has little "extra fat" where it is not needed. It also importantly seems to have good gradient and such flow throughout, something that's important for a model to be able to learn quickly. There are a few reasonable priors, like initializing and freezing the first convolution to whiten the inputs based upon some statistics from the training data. That does a shocking amount of work in stabilizing and speeding up training. Ultimately, the network is simple, and there are a number of other methods to help it reach near-SOTA, but they are as simple as can be. I think as this project evolves and we get nearer to the goal (<2 seconds in a year or two), we'll keep uncovering good puzzle pieces showing exactly what it is that's allowing such a tiny network to perform so well. There's a kind of exponential value to having ultra-short training times -- you can somewhat open-endedly barrage-test your algorithm, something that's already led to a few interesting discoveries that I'd like to refine before publishing to the repo. If you're interested, the code is here. The running code is a single .py with the upsides and downsides that come with that. If you're interested or have any questions, let me know! :D :)))) https://github.com/tysam-code/hlb-CIFAR10 https://github.com/tysam-code/hlb-CIFAR10
- jacquesm 4y agoVery nice work! What I've found with optimizations is that once you have exhausted one avenue that has almost magically caused another one to be opened up which you can then squash and so on. The compounding effect of such serial optimizations can be considerable. I wonder if converting a model back into code and then optimizing that is a viable path, you could then try to drop out little bits of the code to see if they meaningfully affect the output or not.
- derbOac 4y agoDoes anyone have recommendations on papers on current definitions of interpretability and explainability?
- Oranguru 4y agoThis technical report from the European Commission was very useful in the research I conducted on this topic earlier this year. https://publications.jrc.ec.europa.eu/repository/handle/JRC119336 https://publications.jrc.ec.europa.eu/repository/handle/JRC1...
- whoevercares 4y agoGood luck. AWS and other big AI/ML infra providers will give exact opposite incentives - they want you to train larger models with larger clusters. And they will sponsor those folks researching on larger models for their own business.
- Animats 4y agoThis is someone's commentary Actual articles on this.[1] Mostly paywalled, unfortunately. This seems to be Rudin's thing - finding equally accurate but simpler models for things upon which deep learning can be trained. Where is there something on this that's not paywalled? [1] https://ece.duke.edu/faculty/cynthia-rudin https://ece.duke.edu/faculty/cynthia-rudin
- alecco 4y agoDo Simpler Models Exist and How Can We Find Them? (2019) Cynthia Rudin, Professor of Computer Science, Electrical and Computer Engineering, and Statistical Science, Duke University https://pdfs.semanticscholar.org/7b99/2c46800f8913c251259c1d981a7695105c5a.pdf https://pdfs.semanticscholar.org/7b99/2c46800f8913c251259c1d...
- alecco 4y agoDo Simpler Models Exist and How Can We Find Them? (2019) Cynthia Rudin, Professor of Computer Science, Electrical and Computer Engineering, and Statistical Science, Duke University https://pdfs.semanticscholar.org/7b99/2c46800f8913c251259c1d981a7695105c5a.pdf https://pdfs.semanticscholar.org/7b99/2c46800f8913c251259c1d...
- IgorPartola 4y agoWhat I am curious about: are there GPT type large language models that don’t have the same restrictions as the ones we’ve seen so far. For example, I remember having great fun reading some political parody blogs about 10 years ago that I thought would be kinda fun to recreate with AI but all implementations I’ve seen refuse to generate anything that would be considered remotely offensive by anyone which means no satire.
- totetsu 4y agoOnes mans tool for automatically generating endless political satire is another mans tool for missinformation/political spam to drown out real speech/hate speech generator. You might try and find a version you can run on your own hardware.
- firsttimebigboy 4y agothat sounds like a purely political/administrative decision and not a technical restriction. There's plenty of offensive material to be trained from on the internet and language models should have no problem generating offensive material (plenty of stories of twitter trained bots spewing out nazi propagnda)
- screye 4y agoIt is actually the other way round. The models would be even better if their overlords decided to let it train and learn anything unencumbered. These limitations are deliberate and ethical. One example is that stable diffusion (SD) (think GPT for images) does a pretty bad job of rendering humans. It also isn't trained on NSFW data. Now, people took these SD models and trained them on pornographic images. Turns out, this new model while excellent at generating NSFW images, also became really good at creating humans in general. There are similar gains that we are ethically leaving on the table. IMO, it's for the best. The field is moving fast enough as it is.
- hackernewds 4y agoFood for thought if it is deliberate, who defines what is "ethical"? Models are inherently biased by all sorts of unconscious biases
- henning 4y agoMaybe don't use machine learning for criminal justice situations, you fucking irresponsible assholes?
- gyulai 4y agoI found the opening chapters of "Computational Learning Theory" by Kearns & Vazirani [1] really eye-opening in this regard. It starts using the example of "rectangle" learning, where data points are encoded as points in a 2-dimensional space, just like many other learning algorithms start by encoding things as points in N-dimensional space. But then, instead of launching straight into decision trees or k-means or Gaussians or anything like that, the book does something strange: It uses "rectangle" as a machine learning model. The idea is that some points are marked with one label (red) others with another (blue). You want to fit a model to distinguish red from blue. So you just take the min/max of all the x/y corrdinates that you've seen in your training data to get a lower-left and upper-right point defining a rectangle and predict that all points inside the rectangle are red. Then the book continues with all the usual stuff like figuring out error surfaces, computing precision/recall and so forth and then introduces concepts like big-O analysis of data complexity, overfitting problems by having a sense for the kolmogorov complexity in the model space versus amount of data, etc. etc. This really blew my mind, that, at the point where the "magic" was supposed to come in, introducing neural networks or whatever, they just skip over that, sort of saying: That's not important yet, let's just use a simple thing like 'rectangle' as a placeholder for now as it will serve our purpose just as well. So: Any method for selecting a model (e.g. particular rectangle) from a meta-model (e.g. set of all rectangles) can be a valid machine learning method and there really is no "magic" to neural networks. What really matters is whether the model is well-suited to the phenomenon being modelled, given the way the data is encoded. So it makes a lot of sense to obsess over preprocessing of data and to come up with custom models to fit custom modelling needs. It makes very little sense to chase all the newest and greatest breakthroughs in [machine learning flavour of the week]. This has been pretty much how I have been doing machine learning over the course of 10 years, working as a Data Scientist. My advice to people starting out in this field: By walking down this path, you will have predictably successful project outcomes while at the same time flushing your career down the tube. ...your ignorant bosses will never see you as the smart guy in the room, if everyone else is talking about neural networks and you are talking about rectangles. [1] https://a.co/d/5ZEyQKg https://a.co/d/5ZEyQKg