But For the Want of An Algorithm November 21, 2021
Posted by Peter Varhol in Algorithms, Machine Learning, Strategy.Tags: algorighms, Zillow
add a comment
I’ll bet you never heard that statement before. Algorithms are the basis of machine learning and decision-making today. Recently, for the want of an accurate and representative algorithm, Zillow is laying off a quarter of their staff and exiting its home-buying and selling business.
To be fair, it’s not all about the machine learning algorithm(s) that it used to determine what homes to buy and what to pay for them. The algorithm was the starting point for an in-person inspection and negotiation by actual people. But the algorithm overpriced homes across the country, resulting in Zillow losing millions of dollars and not able to sell many homes at the list price.
But it does illustrate overt dependence on algorithms to represent a particular problem domain. And home prices are particularly susceptible to local conditions. One algorithm does not fit all.
There are a number of ways that algorithms can be biased. They may not fully represent the problem domain, or the domain may have changed since the algorithm was developed. In this case, probably both of these contributed to the problem.
So there are dangers in using algorithms to represent domains and scenarios, dangers that can cost a great deal of money. This illustrates the importance of testing; not just testing, but the testing and evaluation of algorithms. And this seems to be a step that Zillow didn’t take.
Tragically, Once Again Self-Driving Cars Aren’t August 28, 2021
Posted by Peter Varhol in Machine Learning, Software development, Technology and Culture, travel.Tags: autonomous vehicles
add a comment
Two stories crossed my attention today that once again, tragically demonstrate that we are likely decades away from self-driving cars, if at all. The first, and stupidest, was with the largest and most arrogant auto company, Toyota, which for some inconceivable reason decided to test-drive its autonomous buses at the Paralympics. One hit an athlete in a legal crosswalk, injuring him and knocking him out of the Games.
Toyota’s CEO posted an apology on YouTube (not even referring to the athlete’s name, which is simply insulting), which is not so much an apology as a brazen PR stunt. I know people who swear by Toyota cars; I swear at them, and this level of arrogance makes it worse. Make it right with the athlete, which Toyota will not do, lest they damage their brand.
The second is, of course, a Tesla, which advertises a “fully autonomous mode” which is anything but. A driver who admits he was not paying attention, instead watching a movie, hit two police cars with lights flashing on the side of the road, attending to another motorist.
Of course, despite the marketing names Tesla gives its driver-assist technology (and that’s really what it is), they have plenty of caveats in the fine print. Those caveats are to keep it out of legal trouble even though the marketing names strongly suggest otherwise. This was the eleventh police car displaying flashing lights that Teslas have hit. While Tesla may end up being a long term success, it is doing itself no favors in the interim.
So what happened to all of the predictions? This is how Anthony Foxx, former U.S. secretary of transportation, envisioned the future of autonomous vehicles in 2016:
“By 2021, we will see autonomous vehicles in operation across the country in ways that we [only] imagine today. … Families will be able to walk out of their homes and call a vehicle, and that vehicle will take them to work or to school. We’re going to see transit systems sharing services with some of these companies.”
Auto executives were no less effusive. Elon Musk is by far the worst of the group. I strongly believe that these so-called predictions were/are criminally wrong, because they encourage people to misuse today’s technology.
I personally believe that fully autonomous vehicles are at least decades away, and possibly completely infeasible.
Driverless Cars Are Decades Away, If At All May 31, 2021
Posted by Peter Varhol in aviation, Machine Learning, Technology and Culture.Tags: autonomous vehicles, driverless cars, Tesla
add a comment
I am not a fan of Elon Musk. While at one level I appreciate his audaciousness, which seems to enable him to accomplish impossible goals through sheer force of will, the arrogance through which that force is delivered tends to cheapen it for me. It is perhaps fortunate that he cares not one whit about what I think.
Nevertheless, one area that we disagree on starkly is the self-driving car. Musk recently released a new version of Autopilot for Tesla, which he is referring to as Vision. He believes that Vision will enable Tesla to achieve full driverless experiences within two years.
Um, no. While Autopilot and Vision might seem a bit like magic, they have serious limitations. And the complexity inherent in fully self-driving cars is far more enormous than we have tackled to date. We tend to liken it to aircraft autopilots, which are charged with mostly maintaining straight and level flight on a given course. Modern autopilots can also successfully land a plane, but that is a well-understood and relatively simple maneuver.
Equating self-driving cars to an autopilot is a bad analogy. Cars travel in three dimensions, with unexpected obstacles and often poor weather. Aircraft have multiple pilots that can take over immediately in case of unexpected events. These pilots are also paying attention to the flight information, rather than sleeping or playing a game.
Effectively, the only way to have one fully self-driving car is to make every car on the highway self-driving. You are not going to stop manual drivers from pulling out in front of you, or cutting you off, or driving more slowly than your self-driving car wants to go. So every single car has to be under positive control. And there may well need to be the equivalent of a staffed control tower to make sure traffic flows smoothly.
So Musk and Tesla will continue releasing incremental upgrades, always claiming that the ultimate breakthrough is only a couple of years away. In reality, it won’t happen during my lifetime.
On Deepfakes and Geography April 27, 2021
Posted by Peter Varhol in Machine Learning, Technology and Culture.Tags: deepfakes, geography
1 comment so far
When I was in the sixth grade, my science teacher sat me down with a book of overlapping aerial images of terrain, and handed me a pair of stereoscopic glasses. “I want you to draw topographical maps of these terrains,” he said. I took to the task assiduously, and in a few weeks had over a dozen hand-drawn topographical maps of well-known terrains. Of course, they were likely pretty inaccurate, as I was working with only my eyesight to add quantitative information to my estimates of depth and slope.
But they weren’t fake, by any means. They were the product of careful observation of the photos, and drawing of the representations. Now we have this thing called deepfakes, where we are able to display highly realistic geographical information and images that have been faked.
It turns out that people aren’t the only raw material for deepfakes. Maps and satellite images can also be faked. Your first thought may be “why?” I know mine was. But the more interesting question may well be who would bother to produce them? Consider these scenarios:
Well, let’s say there is a secret military installation, somewhere in the mountains. We can use deepfakes to hide it entirely in perfectly realistic images shown to the public or to adversaries. Likewise, we can put a fake base somewhere and use its images for similar purposes. Who is to know, unless they try to physically visit.
Let’s say we have a natural disaster, a destructive hurricane or earthquake. For PR or political purposes, we may want to show far less damage than actually occurred. Geographical deepfakes give us the ability to do so.
In both cases, governments can control access to the physical spaces and overhead airspace, so the images can reasonably be presented as ground truth. Except that they’re not. Instead, they are carefully crafted messages, communicating only what their creators want known.
These seem like relatively small transgressions in the grand scheme of things. I’m not at all a conspiracy theorist, so I doubt that such activities can be carried out on a grand scale. We can’t keep people out of, for example, Los Angeles if there is a major earthquake.
But geographical deepfakes take us one step closer into what people are calling the “post-truth” era. There is the saying that “you are entitled to your opinion, but not your facts.” Well, with deepfakes, perhaps you are, if you prepare and present them well enough. To me, that is a frightening proposition.
A Path to AI Explainability April 23, 2021
Posted by Peter Varhol in Machine Learning, Technology and Culture.Tags: AI, explainable artificial intelligence, Pepper
1 comment so far
I mentioned a while ago that I once met Pepper, the Softbank robot that responds to tactile stimulation. This article notes that Pepper can now introspect, that is, work through his “thought” processes aloud as he performs his given activities. I find that fascinating, in that what Pepper is really doing explainable AI, which I have been writing about recently.
The result is that Pepper can not only carry out verbal instructions, but also describe what he is doing in the process. I don’t really understand how to code this, but I do appreciate the result.
Explainable AI is the ability of an AI system to “describe” how it arrived at a particular result, given the input data. It actually consists of three separate parts – transparency, interpretability, and explainability. Transparancy means that we need to be able to look into the algorithms to clearly discern how they are processing input data. Explainability means that we might want to support queries into our results, or to get detailed explanations into more specific phases of the processing.
Further, it appears that Pepper, through talking out his instructions (I really dislike using human pronouns here, but it’s convenient) is able to identify contradictions or inconsistencies that prevent him from completing the activity. That frees Pepper to ask for additional instructions.
That’s an innovative and cool example of explainability, and extends to the ability of the AI to ask questions if the data are ambiguous or incomplete. We need more applications like this.
Why Testing Needs Explainable Artificial Intelligence April 19, 2021
Posted by Peter Varhol in Algorithms, Machine Learning, Software development.Tags: Algorithms, explainable artificial intelligence, Machine Learning, neural networks, testing, XAI
add a comment
Many artificial intelligence/machine learning (AI/ML) applications produce results that are not easily understandable from their training and input data. This is because these systems are largely black boxes that use multiple algorithms (sometimes hundreds) to process data and return a result. Tracing how this data is processed, in mathematical algorithms, is an impossible task for a person.
Further, these algorithms were “trained” or adjusted based on the data used as the foundation of learning. What is really happening there is that the data is adjusting algorithms to reflect what we already know about the relationship between inputs and outputs. In other words, we are doing a very complex type of nonlinear regression, without any inherent knowledge of a casual relationship between inputs and outputs.
At worst, the outputs from AI systems can sometimes seem nonsensical, based on what is known about the problem domain. Yet because those outputs come from software, we are inclined to trust them and apply them without question. Maybe we shouldn’t.
But it can be more subtle than that. The results could pose a systemic bias that made outputs seem correct, or at least plausible, but are not, or at least not ethically right. And users rarely have recourse to question the outputs, making them a black box.
This is where explainable AI (XAI) comes in. In cases where the relationship between inputs and outputs is complex and not especially apparent, users need the application to explain why it delivered a certain output. It’s a matter of trusting the software to do what we think it is doing. Ethical AI also plays into this concept.
So how does XAI work? There is a long way to go here, but there are a couple of techniques that show some promise. It operates off of the principles of transparency, interpretability, and explainability. Transparency means that we need to be able to look into the algorithms to clearly discern how they are processing input data. While that may not tell us how those algorithms are trained, it provides insight into the path to the results, and is intended for interpretation by the design and development team.
Interpretability is how the results might be presented for human understanding. In other words, if you have an application and are getting a particular result, you should be able to see and understand how that result was achieved, based on the input data and processing algorithms. There should be a logical pathway between data inputs and result outputs.
Explainability remains a vague concept while researchers try to define exactly how it might work. We might want to support queries into our results, or to get detailed explanations into more specific phases of the processing. But until there is better consensus, this feature remains a gray area.
The latter two characteristics are more important to testers and users. How you do this depends on the application. Facial recognition software can usually be built to describe facial characteristics and how they match up to values in an identification database. It becomes possible to build at least interpretability into the software.
But interpretability and explainability are not as easy when the problem domain is more ambiguous. How can we interpret an e-commerce recommendation that may or may not have anything to do with our product purchase? I have received recommendations on Amazon that clearly bear little relationship to what I have purchased or examined, so we don’t always have a good path between source and destination.
So how do we implement and test XAI?
Where Testing Gets Involved
Testing AI applications tends to be very different than testing traditional software. Testers often don’t know what the right answer is supposed to be. XAI can be very helpful in that regard, but it’s not the complete answer.
Here’s where XAI can help. If the application is developed and trained in a way where algorithms show their steps in coming from problem to solution, then we have something that is testable.
Rule-based systems can make it easier, because the rules form a big part of the knowledge. In neural networks, however, the algorithms rule, and they bear little relationship to the underlying intelligence. But rule-based intelligence is much less common today, so we have to go back to the data and algorithms.
Testers often don’t have control over how AI systems work to create results. But they can delve deeply into both data and algorithms to come up with ways to understand and test the quality of systems. It should not be a black box to testers or to users. How do we make it otherwise?
Years ago, I wrote a couple of neural network AI applications that simply adjusted the algorithms in response to training, without any insight on how that happened. While this may work in cases where the connection isn’t important, knowing how our algorithms contribute to our results has become vital.
Sometimes AI applications “cheat”, using cues that do not accurately reflect the knowledge within the problem domain. For example, it may be possible to facially recognize people, not through their characteristics, but through their surroundings. You may have data to indicate that I live in Boston, and use the Boston Garden in the background as your cue, rather than my own face. That may be accurate (or may not be), but it’s not facial recognition.
A tester can use an XAI application here to help tell the difference. That’s why developers need to build in this technology. But testers need deep insight into both the data and the algorithms.
Overall, a human in the loop remains critical. Unless someone is looking critically at the results, then they can be wrong, and quality will suffer.
There’s no one correct answer here. Instead, testers need to be intimately involved in the development of AI applications, and insist on explanatory architecture. Without that, there is no way of comprehending the quality that these applications need to deliver actionable results.
Will We Have to File a Flight Plan? March 26, 2021
Posted by Peter Varhol in aviation, Machine Learning, Technology and Culture, travel.Tags: autonomous vehicles, Scale AI
1 comment so far
I have been an airplane pilot, although I haven’t commanded an aircraft in years. Depending on where you were going, you could just hop in the plane and go. But if you were flying into controlled airspace, you generally had to file a flight plan, which defined your intentions. Am I flying through, or landing at a controlled airport? What am I proposing as an altitude and course? And, of course, things may adapt based on actual conditions through the controlled airspace.
I am currently watching the Scale AI Transform conference online. A speaker is talking about autonomous vehicles, and about how we (collectively) have spent billions of dollars without yet deploying those vehicles except in very limited tests.
It occurs to me that we may need to file the equivalent of a flight plan in order to get into our car in the future. I wonder if we might have to specify our destination and route that we intended to travel. Today air flight plans are mostly manual, but I will not be surprised if we have to spend some time on the computer in the future just to drive to the supermarket.
Autonomous vehicles represent an exceeding complex technical problem. You need many exacting sensors in the car, real time processing and decision-making in the car, an unambiguous knowledge of road rules, extremely reliable communication between vehicles, and a broker, likely in the cloud, that can manage traffic flow and decisions on a real time basis. Maybe, possibly, we might also have to have the equivalent of a staffed air traffic control to manage traffic.
In most circumstances, it is much more complex than flying an airplane. The pilot is still ultimately in control, and can interact with both human controllers and automated systems to make the best decisions.
When I first started traveling to California, I was nonplussed at the red lights on merging onto freeways. I came to understand that it was about traffic flow, a very primitive method that enabled a slightly better spacing out of cars. While the advantage of autonomous vehicles has the potential to be significant, the sensing, decision-making, and control of autonomous vehicles extend far beyond this.
So I think it’s going to be a while before we get fully autonomous vehicles. We have read stories about how people have accidents because they turn their fate over to self-driving systems. That’s stupid today, and it will likely be a bad choice for years to come.
The Limits of Data December 21, 2020
Posted by Peter Varhol in Algorithms, Machine Learning, Strategy.Tags: bias, data
1 comment so far
I’ve been teaching statistics and operations research since, well, the mid-1980s I guess, to more or less degrees of student sophistication. In most cases, I try to add some real world context over what most students consider to be a dry and irrelevant topic, even as I realize that most people are in the room because it’s required for their degree.
Except that over the last few years statistics and analytics has shown itself to be anything but irrelevant. As data has become easier to collect and store, and faster processing has brought information to life from data in real time, more and more scientific, engineering, business, and management professionals are at least trying to use data to make more justifiable decisions.
(I casually follow American professional football, and have been amazed over the last few years to see disdain for any sort of analytics turn into a slavish following and detailed definition of obscure analytical results.)
And at least some people seem to be paying attention. I still get a lot of “I’m not a math person” or “I make my decisions without considering data” but that is becoming less common as people recognize that they are expected to justify the directions they take.
In general this is a good trend. An informed decision is demonstrably better than one based on “gut feel.” As the saying goes, you are entitled to your own opinion, but not your own facts. Professionals making decisions based on analytics won’t always result in the right answer, but it will be better than what many are doing today.
But data is not a universal panacea. First, any data set we use may not accurately represent the problem domain. There may have been data collection errors, or the data may not be highly related with the conclusion you want to draw. For example, there may be a correlation with intelligence and income, but the true determiner may well be education, not intelligence. In these circumstances, our analytics can lead us to the wrong conclusion.
Our data can also be biased. Machine learning systems do a poor job at facial recognition of other races, for example, causing high levels of misidentification. This is primarily because we don’t have good data on facial characteristics of those races. Years ago, Amazon came up with an algorithm to identify potential candidates for IT jobs that overwhelmingly used male data. The algorithms quite naturally came to the incorrect conclusion that only men made good IT workers.
So while our data can make decisions more accurately, it’s only the case when we apply it correctly. And that’s not as easy as it sounds.



