Wikipedia:Reference desk/Archives/Computing/2023 June 16

= June 16 =

AI
In the news nowadays, almost every new innovation in the use of computers, good or bad, seems to be dubbed "AI" -- things that even just a year ago would have been merely "people doing stuff with computers". Are all these so-called "AI" applications really qualitatively different from what went before, before everything was termed "AI", or is it just a case of everyone jumping on an "AI" bandwagon? 2A00:23C8:7B09:FA01:9425:E4FF:5FA8:86C8 (talk) 20:10, 16 June 2023 (UTC)


 * Inasmuch as these innovations are based on Large Language Models, Transformers, or any deep learning methods based on artificial neural networks, it is IMO fully justified to label them as applications of AI. A technology-independent criterion is, for a given cognitive task that humans are able to perform, whether we understand how humans can do that. If we understand it, we can describe it in the form of an algorithm. If we do not understand this but nevertheless make a machine perform the task reasonably well (or perhaps very well), it is "artificial intelligence". --Lambiam 22:04, 16 June 2023 (UTC)
 * But most of the labelling of things as AI these days is done by people such as journalists with no special knowledge in the computing field, or by people with even fewer qualifications for writing stuff about stuff. Or even more worse, by people wanting to market a new product or feature. It IS an overused term. HiLo48 (talk) 02:48, 19 June 2023 (UTC)
 * I mean, of course there's an element of marketing, AI being the current hotness. But that said, Lambiam's definition is almost identical to mine ("it's AI if we don't understand how it works"), and computing meeting that definition has in a very short time come to dominate the landscape of almost everything you do other than on your personal CPU, and probably some of what you do do on your personal CPU. --Trovatore (talk) 03:14, 19 June 2023 (UTC)
 * That assumes it is possible to develop an AI that humans cannot understand. All current models of AI are understood. It may be very tedious to backtrack through something like a million-node neural network, but there is nothing that cannot be understood. A better definition, in my opinion, is simply a simulation of human intelligence. The field is very vast and encompasses everything from simple monotonic logic to machines that appear to think on their own (they don't, but it appears that they do). 97.82.165.112 (talk) 11:56, 19 June 2023 (UTC)
 * Oh, neural nets can be understood at the level of individual nodes, no debate there. What no one seems to understand is why they do what they do.  We can follow each step, but we still don't understand why they work, not in the same way we understand, say, an algorithm in Introduction to Algorithms.  Maybe it would have been clearer if I'd said "why" rather than "how".  But in any case I disagree with you that these models are "understood". --Trovatore (talk) 17:52, 19 June 2023 (UTC)
 * Even very simple programs, having nothing to do with AI, can exhibit unexplainable behaviour. You can have a program that produces an infinite string of 0s and 1s, for example
 * 01101011110101011110111010101101110101101011101101101010101110101111011110110101...
 * Now you wonder, why is a 0 always followed by a 1? Why are there no two 0s in a row? This question may prove unanswerable. You cannot even decide if occurrences of 00 are merely rare, or impossible. For any given 0 you can figure out the next symbol given a sufficiently long life and an inexhaustible supply of paper and pencils, but even though you then know why the 0 in position 211172672 was followed by a 1 in position 211172673, you still don't know why the pattern 00 is excluded in general, or even if it is actually excluded. --Lambiam 08:28, 20 June 2023 (UTC)
 * The repeated statements that AI is not understood or explainable by humans is very wrong. The developers of AI products are human. They fully understand what they are doing. They fully understand the algorithms. They fully understand how the training sets affect the ouput. They fully understand how the PRNG algorithms affect the output. They can trace any form of output to the appropriate PRNG seed and training set source. There is nothing about AI that is beyond human comprehension. Now, we can separately discuss script kiddies. They don't understand the AI, but they don't understand anything at all. They are just slightly trained monkeys. But, I find it silly to use them as a basis for defining AI. The term itself is decades old and refers to a machine being used to mimic human intelligence. Nothing more. Nothing less. 12.116.29.106 (talk) 11:39, 20 June 2023 (UTC)
 * OK look, let me first admit something. I'm not a super-expert on machine learning.  I work with some of them and understand it around the edges, but I am not myself such an expert.  There are people who know a lot more about it than I do.  It's possible you are one, and if so I invite you to educate me.
 * But so far you haven't engaged the issue. Your responses look like those of a glib reductionist who thinks that if we understand particle physics, then we understand hurricanes.
 * Test case: Suppose we train a neural net to classify the MNIST database of handwritten single digits.  This can be done with very high precision and recall, and you get a classifier that can very accurately decipher most people's handwritten digits.  The classifier, modulo the ordinary boilerplate code that adds up inputs to a node, applies the activation function, and passes it on, is just a bunch of weights.
 * Now, what is it specifically about those weights that recognizes a 4, and distinguishes it from an 8?
 * That's what I think is not well understood. Undoubtedly there are people who understand it a great deal better than I personally do, and maybe you are one of them.  But so far you have not addressed this point. --Trovatore (talk) 17:10, 20 June 2023 (UTC)
 * That is almost exactly my area of work. So, I want to give a more complete answer, but I want to avoid a long rambling answer. I hope this will find a balance. The network is a series of weights. It is not difficult to go through the weights and identify which ones play a significant part in telling a 4 from an 8 and which don't provide much help at all. As an example from a different field, assume that you had the entire component diagram of an old tactical radar and controller system. They were published in multiple books of schematics, usually around 20 thick books. That is a lot. It is complicated. Nobody is expected to know exactly what the voltage at every point in the system is at any point in time. But, humans did understand it. If something broke, they could go through the circuitry, identify what wasn't working, and fix it. AI is no different. Humans designed the algorithms, the data structures, and the calculations. The end result may be too large to easily see everything all at once, but it isn't impossible to understand. If there is a problem - or even just a question about why something was produced - a human can go through the program and identify the problem and fix it. Some of my hardest problems are with probabilistic networks, which can be very large. I am asked why a single patient out of millions of patients in a population was identified as being diabetic when they aren't diabetic. I have to go through the AI program, step by step, and see how it weights every input and how those affect everything everything else until I map it to something that indicates diabetes. Then, I know what input is causing the issue and I can either manually fix the AI or I can use examples of that case to train the AI to stop making that mistake. I feel it is important to note that I don't trace through by drawing a big map on a whiteboard with numbers and formulas. I write computer programs that trace through and tell me what I want to know. So, I go from knowing how the AI works to writing a program to tell me exactly what the AI is doing at some point and how that affects other things the AI is doing. I also want to point out that this is very unrelated to the current GPT craze. That is just pattern matching. I give you the start of a sentence like "It looks like" and you use that to find a pattern of words that match it well. Autocomplete has been around for many years. GPT is just a different way of building the patterns to draw from, but the result is still just stringing along patterns that have a high probability of being correct. It is very good at exploiting rules that we probably know but don't pay close attention to. The way I like to explain it is that the GPT models are very good at stringing together words that follow the proper rules of the source language, but they have absolutely no clue what any of the words mean. 12.116.29.106 (talk) 17:37, 20 June 2023 (UTC)
 * That was very interesting. Thank you. --Trovatore (talk) 18:27, 20 June 2023 (UTC)