UX tools in Artificial Neural Network Design

introduction

Artificial Intelligence is a powerful tool that enables the creation of dynamic and adaptive technologies.

Figura 1: Euler Diagram - AI taxonomy

Constructing the AI taxonomy with an Euler Diagram we can see that Machine Learning is a subfield of AI, and refers to the science of helping computers discover patterns and relationships in data. 

Deep Learning is a kind of ML techniques where the term "deep" refers to the complexity of the applied mathematical model, where several “layers” are connected in a network.

what are artificial neural network?

An Artificial Neural Network (ANN) is an information processing paradigm inspired by biological systems. Indeed, ANN success is given by human brain structure similarity, consisting of simple processing units, neurons, and weighted direct connections.

Figure 2: mathematic neuron representation McCulloch e Pitts

There are three learning paradigms: supervised, unsupervised and reinforcement learning.

In Supervised learning, the network is provided with both inputs and the desired outputs.

In Unsupervised learning, the network is provided with inputs but not with desired outputs.

In Reinforcement learning, feedback are given after success or failure of the system outputs.

ANN training is carried out through multiple cells and connections, computing simultaneously a huge amount of data, called training set.

Learning is a complex process, that includes many skills. There are many definitions starting from differents points of view (behavioural, psychological, pedagogical, etc.).

“We define learning as the transformative process of taking in information that—when internalized and mixed with what we have experienced—changes what we know and builds on what we do. It’s based on input, process, and reflection. It is what changes us."–From The New Social Learning by Tony Bingham and Marcia Conner

Simplifying, it can be defined as the ability to adapt to different received input. In ANN models this ability is realized by creating and removing connections, by changing connection’s weights and thresholds. Therefore, learning process is not realized through neurons, but through connections.

Such process is achieved employing a succession of mathematical functions: activation function; propagation function; output function.

Figure 3: function graphic representation [1]

Learning process is also determined by ANN topology. There are different topologies (Feedforward Network, Recurrent Network, Completely Linked Network), each of which differs on layer’s numerosity and neuron’s connections.

Figure 4: Completely Linked ANN

Recommendation systems

There are many possible ANN implementations, but I’m going to focus on recommendation systems.

A recommendation system helps the user exploring content and information, offering a personalized subset of items, tailored to user’s preferences.

Recommendations are realized through different mathematical models. Most of them are addressable to content-based, context-based or hybrid approach. Such approach can be implemented with different algorithms, a promising one is Collaborative Filtering.

“In a typical CF scenario, there is a list of m users u1,u2,. . . ,um and a list of n items i1,i2,. . . ,in, and each user, ui, has a list of items, iui, which the user has rated, or about which their preferences have been inferred through their behaviors.”[19]

A significant part of the research on ANN concerns creating and evaluating better prediction algorithms, but user’s behavior is the primary element that determine recommendation’s success.

Designing ANN with ux methods

“A big challenge with ML systems is prototyping… if you wait to have a fully built ML system in place to test the design, it will likely be too late to change it in any meaningful way after testing."[2]

This is one of the reasons why UX design approach must be included in early stage of ML systems research and prototyping (I talked about this topic in "UX & HCI in Artificial Intelligence research and projects" article).

UX tools are a good way to analyze how system could evolve adapting to user’s needs through interactions. UX design approach, therefore, can help evaluate, in early stage of the process, ANN structures, inputs and weights changing, considering user’s point of view. Therefore, design approach helps anticipating testing phase and simplifying prototyping phase.

To realize such objective, we have to rethink UX tools with the purpose of mapping system’s evolution.

Below I propose possible modified UX tools to design ML systems.

Google Matrix

Figure 5: Google matrix

Google Design (in User Centered Machine Learning initiative) guidelines underlines the importance of separating impactful ideas from less impactful ones, to help teams understand the value of ML to their use cases.

This is useful to create valuable machine learning systems that do not replicate human capabilities, but fill up human weaknesses or difficult tasks, considering at the same time ML impact.

Interviews and Personas

Speaking of interviews and personas tools, I just want to emphasize the usefulness of exploring not only user’s needs, but also user's personality and emotional characteristics. This focus on emotional and personal elements is really important, because it enables long-term systems interaction analysis.

It could be more and more useful creating two versions of the same personas: one referring to the current characteristics, the other simulating possible future changing. It's not important to be careful or precise at this time, you can modify "tn personas", because the exercise aims to keep in mind changes.

In recommendations example, a changing element could be user's explorative tendency. Switching from Fig. 6 (personas at time t0) to Fig. 7 (personas at time tn), we can see such change.

Figure 6: personas characteristics example at time t_0
Figure 7: personas characteristics example at time t_n

Evolution Map

Having already developed personas, the next step is about creating a common vision on system's features evolution. The most valuable ML system evolves over time with users’ mental models. When people interact with these systems, they’re giving new inputs, that have to influence and adjust the kinds of outputs they’ll see in the future.

Thus, it is important to map both user’s and system's evolution, to figure out how ML system could/have to change over interactions. 

What I call Evolution Map is an HI-level map to describe interactions for different personas. I'll describe it in Recommendation systems example.

Figure 8: Evolution Map

The first step is to complete personas character, giving a description based on the possible relationship with the system. In figure 8, I speculate about recommendation system user that make use of recommendation as an instrument to discover new music.

user
Figure 9: Evolution Map, personas

The second step regards the description of the first interaction with the system, identifying emotional state and system's changing variables.

Figure 10: Evolution Map, first interaction example

The third step is about focusing on understanding and explore meaningful interactions that have to modify the algorithm. Most of the time it is useless to map every interactions, so you have to determine timing, looking at your interview insights.

Figure 11: Evolution Map, following interaction example

The Evolution map is a way to analyze interactions to determine ANN learning paradigms and inputs weights choices. This enables a deep exploration, going through single identified interactions.

Deep Adaptation Map

What I mean by Deep Adaptation Map is a tool inspired by Computational design method, that make use of computer programming syntax:

Figure 12: variables[3]
Figure 13: loops[3]
Figure 14: conditionals[3]

As we said, ANN are a succession of mathematic functions that calculate weights that determine neurons activation, overcoming threshold value. For this reason, algorithm syntax, that is easy to visualize, enable the representation of low level interactions, to evaluate ANN inputs, thresholds and possible connections.

Resuming Recommendations example, single user's action could be variables, re-proposition of some content (songs, albums, artists) could be loops, user's choices on recommended items could be conditionals. Doing so, in Collaborative Filtering recommendation algorithm, we can visualise in a map user's choices on items to determine connection's weights change or threshold's change.

Figure 15: complete structure[3]

Deep Adaptation Map could be a good way to share design output with Machine Learning developers, creating a common language.

An important property of Evolution Map and Deep Adaptation Map is that you can use both iteratively, or you can start with a piece of Deep Adaptation Map and successively explore the overall Evolution Map.

conclusions

UX design approach, can help evaluate ANN's learning paradigms and weights, creating an evolution guideline among Human interactions.

Evolution Map and Deep Adaptation Map tools are my proposition, born from my Artificial Intelligence studies, but there are several design method that can help evaluate and prototype Artificial Intelligence projects and algorithms, like CF Collaborative Filtering, creating a common language between UX designers and AI developers.

bibliography

[1] David Kriesel. A brief introduction on neural networks, 2007
[4] Xiaoyuan Su and Taghi M Khoshgoftaar. A survey of collaborative filtering techniques. Advances in artificial intelligence,2009. 


[5] Harnessing the power of "favorites" lists for recommendation systems, William W. Wadge

 

Contact me at

corinneschillizzi@gmail.com