Putting Artificial Intelligence back into people's hands
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47234 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2020371 / 490
4
7
9
10
14
15
16
25
26
29
31
33
34
35
37
40
41
42
43
45
46
47
50
51
52
53
54
58
60
64
65
66
67
70
71
72
74
75
76
77
78
82
83
84
86
89
90
93
94
95
96
98
100
101
105
106
109
110
116
118
123
124
130
135
137
141
142
144
146
151
154
157
159
164
166
167
169
172
174
178
182
184
185
186
187
189
190
191
192
193
194
195
200
202
203
204
205
206
207
208
211
212
214
218
222
225
228
230
232
233
235
236
240
242
244
249
250
251
253
254
258
261
262
266
267
268
271
273
274
275
278
280
281
282
283
284
285
286
288
289
290
291
293
295
296
297
298
301
302
303
305
306
307
310
311
315
317
318
319
328
333
350
353
354
356
359
360
361
370
372
373
374
375
379
380
381
383
385
386
387
388
391
393
394
395
397
398
399
401
409
410
411
414
420
421
422
423
424
425
427
429
430
434
438
439
444
449
450
454
457
458
459
460
461
464
465
466
468
469
470
471
472
480
484
486
487
489
490
00:00
Student's t-testComputer animation
00:42
Artificial neural networkEndliche ModelltheorieWorld Wide Web ConsortiumMereologyArtificial neural networkEndliche ModelltheorieOperator (mathematics)Number1 (number)Medical imagingParameter (computer programming)NeuroinformatikArithmetic meanSoftwareoutputFunction (mathematics)Computer animation
03:13
Data modelFile formatFreewareCodeFLOPSOnline service providerArtificial neural networkFreewareEndliche ModelltheorieParameter (computer programming)Wave packetFile formatSoftware frameworkComputer programmingLinearizationSoftware2 (number)Set (mathematics)CodeoutputMereologyPredictabilityCoefficient of determinationNumberOperator (mathematics)Computer animation
05:43
Endliche ModelltheorieData modelLocal ringAlgorithmWechselseitige InformationWordPredictabilityLocal ringEndliche ModelltheorieAlgorithmWordInterpreter (computing)EmailComputer animation
06:57
Computer-generated imageryDisk read-and-write headTask (computing)Coefficient of determinationSoftware frameworkMedical imagingComputer animation
07:12
Linear regressionComputer-generated imageryEndliche ModelltheorieMedical imagingSoftwareWeightMereologyLinear regressionComputer animation
07:53
Endliche ModelltheoriePredictabilityTable (information)Computer animation
08:32
GenderComputer chessCross-correlationAttribute grammarSign (mathematics)Negative numberBit rateCompilation albumoutputMetric systemProxy serverPredictionData modelFunction (mathematics)Arithmetic meanAttribute grammarSet (mathematics)Functional (mathematics)MereologyAlgorithmGraph coloringRegular graphSlide rulePhysical systemChemical equationEndliche ModelltheorieArtificial neural networkPredictabilityoutputBit rateMultiplication signInsertion lossParameter (computer programming)Cross-correlationMeasurementMaxima and minimaWave packetComputer programmingNumberWell-formed formulaGender1 (number)MathematicsFunction (mathematics)Point (geometry)Product (business)Computer animation
16:07
Insertion lossSocial classAlgorithmEndliche ModelltheorieSampling (statistics)Representation (politics)PrototypeFunctional (mathematics)Different (Kate Ryan album)MathematicsValidity (statistics)Right angleTerm (mathematics)Field (computer science)Distribution (mathematics)NumberMachine learningInternet service providerOrientation (vector space)Graph coloringComputer animation
18:37
Attribute grammarFunction (mathematics)Right angleSocial classSet (mathematics)WeightoutputFunctional (mathematics)Distribution (mathematics)Multiplication signGradientDifferent (Kate Ryan album)Computer animation
20:03
FacebookPoint cloudOpen source
Transcript: English(auto-generated)
00:06
Okay, welcome everyone. Our next speaker is Vincent, who's going to talk to us about putting artificial intelligence back into people's hands. So please welcome Vincent.
00:23
So hello, my name is Vincent Le Cartier, and I'm a PhD student at the Lyon University Hospital in France, and I'm also an FSFE volunteer. So today I'd like to talk about how to make artificial intelligence more accessible,
00:41
transparent, and fair. And my talk is therefore divided into those three parts. So first I will talk about accessibility in artificial intelligence, and to that first I will introduce just basic concept about neural networks.
01:02
So what I say applies to neural network, but also about other algorithms. So our talk is that you have the input on the left, the output on the right, and you have tiny neurons that are organized in two layers. And so the input goes through the network and to the output on the right.
01:28
To make a neural network accessible, meaning that it can be used by everyone, and everyone can train the model, what you can do is to use already trained model, and you leverage
01:44
that model to train the one you want to create yourself. So you freeze the part on the left, that is, you freeze the parameters of the model on the left, and you only focus on the right part, which is the part that you are
02:01
going to train. And so that means that you have only a small amount of computation to do, and you don't have to train the whole model yourself, meaning that you can train the model on your computer.
02:20
So here I'd like to explain that the bigger model are not necessarily the more accurate ones. So how to read this graph? So on the x-axis you have the number of operations required to train the model. On the y-axis you have the accuracy, and the size of each blob is the number of parameters of the model.
02:40
So this is for image classification, but this applies to other tasks. And you can see that the biggest models are not the more accurate ones. So that you can have a tiny model, yet have good results, so you don't have to download a large model trained by a large company, and you can have a tiny model, and
03:05
have good results, so that you can have an accessible AI that you can use yourself. To make AI more accessible, you should consider reading the model in a format that makes
03:21
it easy for people to reuse it. So you can use a format called, for example, ONNX, which works across frameworks for developing artificial intelligence programs. And you should consider releasing all the parameters of the model.
03:40
Also you should consider releasing the training code for the model as a free license, so that other people can improve the training code, and can also replicate your model. And also the data set that goes with it, if this is possible. And also, when designing a model, you should consider the accuracy of the model, but also
04:05
the size of the parameters, and the number of operations required. So the second part of my talk is about transparency in artificial intelligence. We have to realize that artificial intelligence is not only used for classifying dogs
04:24
and cats, but also for important stuff like lawn approval, justice, our healthcare system, or self-driving cars, so very important tasks. So this is necessary to have transparency for those tasks, because it allows you to
04:42
interpret the results, that is making sure that the model is picking up the right thing in the input to do the classification, or the prediction. And so it allows you to trust the model, and therefore you can debug it more easily. So you trust the model, and you are able to make sure it's accurate in a good way.
05:07
So I will let you a couple of seconds to read this short comic strip. So the thing is, the parameters of neural networks are like a giant pile of linear algebra,
05:26
and it's really complicated to make them transparent, because there are a lot of parameters, and it's hard for you to understand what's going on inside the network. So we can create an AI that is designed from the ground up with transparency in mind.
05:44
Here, I introduced a solution called LIM for local interpretable model agnostic explanations that allows you to have insight inside the model, so that you can understand what's going on inside.
06:01
So for this example, on the left side, so you have two different algorithms that try to predict something, and on the left, you can see that it highlights the words in the document that was used for the prediction. And here, this is a prediction for, like, is a text about religion or a taste.
06:25
And here, you can see that it picks up words that are relevant for the task. And on the right side, you have an algorithm that tries to predict something about religion with meaningless words, such as, like, an NTP posting auth, or, like, garbage,
06:43
or, like, useless data of an email. So as the two models yield the same result, the one on the left is better, because it chose the right word. And so this framework also works for images.
07:01
Here, this is a task of dog classification, and you can see that it says the head of the dog was used for the classification. So basically, how it works is that it, for images, it cuts the image down into manageable pieces,
07:22
and it runs the part of the image through the network, and it gets probabilities each time out of the network, and then it tries to use a logistic regression to try to approximate the network into a simpler model.
07:40
And with the weight of the simplified version, it says it knows what part of the image was used for the classification. And so this also works for tabular data. So here, this is 2D, like, tabular data, and this is for predicting the salary between
08:08
less than 50k or more than 50k. And you can see all the columns that was the features that was used to do the classification, allowing you to ensure that your model is well trained and is transparent so that
08:26
you can give an explanation for your predictions. The next part of my talk is about fairness in artificial intelligence.
08:41
So fairness is about having an accurate model, but also a fair one that can be used for predictions and is not unfair. So to make a fair algorithm, what you can do is just try to remove some features of
09:03
the model. Let's say you have a sensitive attribute and you want to have a fair model, you can just remove the feature that is sensitive. So this is easy for predicting the speed of a car, because let's say the color of
09:21
the car is very sensitive, then you can just remove it, right, because it does not contribute to the prediction of the speed of the car, because the color of every color has the same speed. But for a regular data set with personal data, it's complicated to do that, because here, for example, if you try to predict the salary
09:44
of someone, you cannot just only remove the gender of the person, because you have correlation in the data. Here, in the OB feature, you have someone which is part of a volleyball team, and it's the woman's volleyball team, meaning that
10:00
to have a completely fair model that does not take gender into account, you would have to remove the gender and the OB of the person, so that you will have to remove half of your data set to have a fair algorithm. So there is a balance between accuracy of the model and the fairness, because the more features you remove, the less
10:21
your model will be able to be accurate. So you have to think about correlation for removing an attribute. I will introduce some vocabulary for the next slides. So you have the true positive and true negative, that in a binary classification of an algorithm, this
10:44
is where the prediction was correct. So like you say, the ground truth was true, and you predicted true, and vice versa. False positive and false negative are where you predicted true and the ground truth was false, and the contrary. So here we present an algorithm that was
11:06
still used in the justice system in America. So that was used in Florida. The goal of the algorithm was to say, to give a score about recidivism for criminals, so how likely they are going to recidivate.
11:22
And it turns out that the algorithm was racist, because if you measure the false positive rate and the false negative rate of the algorithm, it's completely different for black people and white people. So for black people, the false positive rate
11:42
was almost 45%, meaning that the algorithm predicted that they are going to recidivate, but in fact, they did not. So for the data, they say that someone was going to recidivate two years after their crime. And so for the white defendants,
12:02
this is the contrary, with a false negative rate that is much more higher. So my point is that you can have a very accurate or performant model, yet this is complicated to know how fair it is if you don't try to figure this out. So you cannot say,
12:22
OK, my algorithm is accurate, so this is done, and I continue and I achieve this model in production. You have to make sure that the model is also fair. Another example, this time in healthcare. So this is again in the US. So on the x-axis, you have a risk score of an algorithm, so
12:43
a risk score for your health. And on the y-axis, you have the number of disease of the person, like chronic conditions. And the algorithm gave the same risk score for thicker black patients and healthier white people.
13:03
So the issue is that it was again a bit racist, because while you would have expected that the risk score was the same regardless of your skin color. So this is really an issue with bias in healthcare. So to sum up,
13:26
an algorithm can be unfair because the input data itself is biased. That is, you have a lot of examples of black people and a few ones for white people, for example. And you can also train the data
13:41
with the model with the wrong metric, just like we saw with the previous slide where they didn't take into account the health of the individual to do the prediction. And so you can also create a bad prediction model that will also be unfair.
14:01
And bias can be indeed hard to notice because if you have a good accuracy, you cannot try to detect bias all the time. So as data scientists, we really make sure that we create fair algorithm and accurate algorithm.
14:24
So I thought about this problem of how to make an algorithm fair. And I had the idea of building fairness into AI during the training of the algorithm. So please don't be scared by math formula. But I thought that you consider the number of values of a predicted
14:44
attribute, let's say gender, then you have two possible values. This is an example. So you have the number of values of a predicted attribute. You create a function that says how fair is your algorithm for the one value of your predicted attribute. Then
15:04
you sum up all the measures for all possible values of the protected attribute and you divide by the minimum. And after you sum with your loss function, which tells how good your algorithm is performing, this is used to update the parameters of the neural network.
15:25
And so that allows you to then build fairness into the training of the artificial intelligence program. And you have a way to decide what is more important for you between the accuracy and the fairness. So you will have a fair algorithm
15:44
and you don't need to remove any data for that. You can have any protected attribute inside your data set and you have a fair algorithm with this kind of mathematical functions. So to sum up, don't only focus on accuracy, but also focus on transparency, on
16:04
accessibility and fairness. Thank you very much. We have time for some questions. I am going to be greedy and make two questions.
16:26
I own a Mazda Miata sports car and everybody knows that red cars are 10 kilometers faster than all the color cars. It's just known. Okay. Sorry. I did not hear your question. Red cars are faster. My sports car is red. It's faster. I work for a company that's doing machine learning. It's applied to breast
16:46
cancer detection. We're doing the same work as Google DeepMind. We're in competition with them. Our current models are trained on white Western women, UK and American data samples. But we
17:01
do want to work with health care providers in Japan and China. But it's known that it's a physiological fact that oriental women have denser breasts. We know our models won't work on as well with women. We do know we have to train our models with those populations.
17:24
I first thought you were talking about fairness in terms of social fairness. And I think you must recognize that in the health care field there are differences between different populations. And your model has to be trained on those
17:42
populations. That's our next step is we're going to do that. Hopefully make it as valid. Right. So what you could do is to try to have the distribution of the population that you are given. You have the same number of examples
18:02
and samples of different kinds of persons in the population. And you can also try to, as I said, have a mathematical representation of fairness and try to use that in your scoring function to have a fair algorithm. You can also try, if that doesn't work, you can also try to
18:23
train one model prototype of your population. Hey, my question was more related to designing of loss function. So how is it so different from class weighting, which is essentially used right across all the data sets that we use
18:44
today? Which class function? Class weighting. Weighting the classes. So let's say you have the data and you don't have to really balance them. The bias can be balanced. So the question was how this function is different from having class weight in the loss
19:04
function. So this is a bit different. This is a bit different because here with class weight, you only use the distribution of the input. But here, this is agnostic to the input. You can have whatever function you want. And so
19:24
this is much more flexible than having class weights. I just got confused whether we are introducing bias by doing this or rather removing it. It's a second grade person. This is another solution. We still have time for
19:43
another question or two. Any other questions? Let's thank our speaker again.
Recommendations
Series of 10 media
Series of 14 media