Posts

Showing posts from March, 2021
Reading the Financial Robot's Mind Personification aside... I've used the catch phrase "Reading the Robot's Mind" to point out the need to manage societal impact of automated pattern recognition systems and artificial intelligence (AI). One of the larger societal impacts of such systems is when a AI is the decision maker for financial outcomes that affect people's lives. I was glad to be able to attend several of the informative sessions at the recent Washington DC Financial Technology Week (#dcfintechweek2020) event, and I wanted to share some of the takeaways that I gathered. As you likely already know, machine learning (ML) must be validated before it is put into live practice, and being able to assess the robustness of the ML model is of tantamount importance. Most developers use a standard "in-sample/out-of-sample" testing model for such an assessment, and also often similarly use "data quality validation" and "outcome monitoring ...
Image
Reading the Robot Mind: Deep Convolution Networks Decoded Even as "Explainable AI" is all the rage, coding/transformation fidelity is a critical success factor. Whether you are using frequency bands from Fourier transforms, statistical features of Wavelet decomposition, or various filters in Convolution Networks - researchers must be able to perform the reverse coding/transformation to see if they have retained sufficient information for classification. Without this, they are only guessing via network architecture trial and error. These tools are sorely lacking in Keras on Tensorflow in Python, so I wrote my own. I would like to see these more generalized and made into public libraries. Question: Who can point me to current work in this area, or can give advice on next steps in my effort? EXAMPLE: In a deep convolution network trained to recognize Bengali handwriting, this diagram examines the 64 filters after six layers of 2 dimensional convolution. It performs the reverse t...
Image
Robot Bias - Do We Need New Laws? Bias in NLP based chat moderation Natural Language Processing, or NLP, seeks to have machines act as chat-robots in ways similar to that telephone call to a robot we're all so familiar with. NLP seeks to eliminate the "press or say one" and replace it with a text chat session that is, well, more natural. NLP functionality has also expanded its role into that of a robot chat moderator. The moderator's function is to weed out "toxic" statements. As defined by The Conversation AI team, a research initiative founded by Jigsaw and Google (both part of Alphabet), a "toxic" statement is one that is "rude, disrespectful or otherwise likely to make someone leave a discussion." The Conversation AI team [ goes on to explain ] the problem of Hidden Bias. "When [our team] first built toxicity models, they found that the models incorrectly learned to associate the names of frequently attacked identities with toxic...
Image
"Update Robot Doctor Now?"​ Gulp! In April 2019 the US Food and Drug Administration proposed a new regulatory framework that would cover when a robot doctor gets a software upgrade. Yikes! Naturally, they didn't use the term "Robot Doctor." The FDA calls a robot doctor an "Artificial Intelligence/Machine Learning (AI/ML) Based Software as a Medical Device (SaMD)." Whether you call it a robot doctor or a AI/ML SaMD, they show up in your daily life in the form of devices and machines that use software to inform or even drive medical decisions, and in certain cases, even treat or diagnose without the need for human intervention. These are definitely very different classes of devices! Most of the devices we encounter deal with non-serious healthcare situations, like standing on a bathroom scale that also informs you of your BMI. Sometimes though, the healthcare situations are serious or even critical. It makes sense to treat each of these situations, and a...
Image
Will Your Career Involve AI? I think everyone's career will be impacted by Artificial Intelligence, Machine Learning, and Data Analytics. I would love to see more exposure to modern Data Analytics for every degree major at the university where I teach, so I have been experimenting with it over the past few months. First, let me toot my own horn... I am very proud to announce that the Kaggle team over at Google has given me the designation of machine learning software "Kernel Expert." This is a ranking given to very few people and is quite an honor because I am currently ranked 271st out of 89,986 people who are given such a ranking (top 1%) and that is out of more than 1,000,000 Kaggle participants, most of whom are not ranked. What about you? Bragging aside - It only took me 10 months, and it was soooo easy to get started! You should definitely take a look at Kaggle, and at a bare minimum, search the "Kernels" for "your career name" and see what work ...
Software Example (Python Keras using Tensorflow): Novel "Residual Auto-Encoder" similar to wavelet analysis. This "how-to" example comes from a competition held on the kaggle.com website. Example VSB Power using Auto-encoding is part of the Github repository:  https://github.com/prof-nussbaum/Auto-Encoder-CODEC WHAT IS THE OVERARCHING GOAL? The competition, as well as details about the data set used for training, can be found here: https://www.kaggle.com/c/vsb-power-line-fault-detection . The purpose of the competition is to see who best can create an AI system that classifies signals on medium voltage overhead power lines indicating a fault (fallen tree, etc.). There are human experts who can do this classification from the original data, and indeed have done so to create the training and testing data. WHY USE MULTIPLE AUTO-ENCODING NETWORKS? This example uses multiple auto-encoding networks. Similar to wavelet analysis, an auto-encoding network is used to find a s...
Reading the Robot Mind: - How to Avoid the Michigan Unemployment Fiasco It used to be that only human experts examined data and made decisions. Now Artificial Intelligence (AI) is enabling robotic decision making in an ever-widening variety of applications. As society allows this to happen, there is a greater likelihood that these robot decisions can affect people’s lives. The MiDAS System for Detecting Unemployment Fraud in the State of Michigan A poster-child for AI gone bad is the Michigan MiDAS unemployment fraud detection software. On September 17, 2013, the Michigan Unemployment Insurance Agency announced that it would be shutting down for 5 days to install a MiDAS software system that would update the aging automated response system[1]. What ensued was a fiasco of epic proportions that is still costing the state of Michigan millions of dollars. In this case, 34,000 people were falsely accused of unemployment fraud by this robot, and they are still trying to dig out of their...
Image
Auto-Associative How To - INCLUDING SOFTWARE CODE This repository includes "how to" examples of auto-associative neural networks. These networks have the ability to encode and decode (CODEC) sample data in the most efficient and low-loss way. The minimization of the loss function is accomplished through the use of gradient descent training algorithms. Example 1 - Auto-Associative How to (using TGS Salt Columns) The first "how-to" example comes from a competition held on the kaggle.com website. WHAT IS THE OVERARCHING GOAL? The competition, as well as details about the data set used for training, can be found here: https://www.kaggle.com/c/tgs-salt-identification-challenge . The purpose of the competition is to see who best can create an AI system that classifies seismic data. There are human experts who can do this classification from the original data, and indeed have done so to create the training and testing data. WHY USE AUTO-ASSOCIATIVE NETWORKS? In many case...
Image
  The Hourglass - My Pet Peeve: Oh how I hate that hourglass icon. When I want a machine to do something, I expect results in milliseconds. If two whole seconds go by I want to know "What's the holdup?" I don't think I'm alone in this regard. I understand that certain algorithms are complicated and can take time. As "Big Data" gets bigger and more distributed across multiple devices and networks, communication holdups can make things even slower. Nevertheless, opacity is no way to treat the user. The user cannot read the mind of the robot - unless they are given tools to do so. There is a simple solution to this, but it requires extra programming. Simply provide some indicator (an icon, a cursor, some other feedback) that reveals the internal state of the software. If it's cursors that you're using to communicate with the user, then make a few versions of that hourglass - one for each major internal state of the software. In this way, the user ca...
Image
 Reading the Robot Mind:  It used to be that only human experts examined data and made decisions. Now Artificial Intelligence (AI) is enabling robotic decision making in an ever-widening variety of applications. As society allows this to happen, there is a greater likelihood that these robot decisions can affect people’s lives. It makes sense, therefore, to understand the capabilities and societal implications of AI robots. Big data is a term used to describe both the opportunities and the problems associated with so much information now available for decision making. With the advent of the Internet of Things (IoT) the impact of this huge amount of data is only growing. Actionable decisions need to be distilled from big data and AI can only go so far based on linear extrapolation. Because of this, many non-linear deep learning algorithms are being developed. What exactly have these AI robots learned so deeply from all of this big data? This question is very reasonable for soci...