Welcome to the AI for Good Summit 2018 here in Geneva. My guest is David Danks. He is professor of philosophy and psychology at Carnegie Mellon University. Thank you for joining us, sir. Thank you so much for having me. So artificial intelligence as a force for good, because that's what we're discussing here, the AI for Good Summit. So what do you have to say about that? Well, I think that the first thing to realize is that AI might be for good. It might be for ill. It might be for profit, which could be good or ill. AI is really a tool. It's a way to take the sorts of things that typically have happened up here in the human brain and the human mind, and have at least some of it done in a computer, replacing some of our human cognitive labor with the machine cognitive labor. And so what we need to ask ourselves is, why are we doing that? Are we doing it to advance social good? Are we doing it to help people solve the problems that they face in their daily lives? Or are we doing it because it seems cool to us and it might make us some money? Or it might appease the venture capitalist investors who have given us money to start our company? I think one of the things about AI for social good and AI for good generally is that it correctly puts the emphasis back on the people. It takes the emphasis away from the technology. It says what matters is how are we helping the humans out there, the ones who are developing, deploying, using, regulating the technology, rather than how are we making people happy that, oh, we built yet another widget or yet another tool. So AI has a way to augment the human? Definitely. Augment rather than replace. I think many of the concerns right now about AI revolve around the workforce. That's a very common topic is, will AI put people out of work? Will AI change people's lives in ways that they are unhappy with either financially or otherwise? I think one thing to realize is, of course, changing people's lives isn't limited to the economic space. If there were an AI that could do my job, it would actually be a psychological harm to me, not just an economic one, part of who I am as a professor. And so I think we need to recognize that AI should be trying to help me be a better professor, not ending my chances of it. AI should be helping the lawyer be a better lawyer, not replacing the lawyer. And that idea of augmentation I think is critical when we think about AI for good. You've touched upon an aspect of the conversations that have been happening here at the AI for Good Summit and it's trust, trusting AI and feeling confident and happy with AI. So how do you do that? Well, so the first thing to realize is that the way we understand trust based on five decades of research and social psychology and organizational behavior is trust is about making yourself vulnerable because you think that the other person, the trustee, is going to be able to help you in some way, that they're going to act in a way that helps you reach your goals. And so I think it's really critical when we think about using any technology. We're always making ourselves vulnerable. If you use Facebook, you're making yourself vulnerable in certain ways. And the question is, are you doing it for the right reasons? Do you have the right justified expectations about how the technology will help you achieve your goals? Why are you making yourself vulnerable? All of these come back to the questions of, do you trust the technology for the right reasons? And so I think that's really at the bedrock of every decision that we ever make about whether we're going to use the technology, whether we're going to allow our children to use the technology, it all comes back to, do we trust the technology? Now, how do we build that? That's the hard part. That requires experience with the technology. People, if you give somebody a brand new technology, they won't always be comfortable with it right off the bat. It requires people overcoming the sort of feeling that AI is alien somehow. It's not a technology that I think most members of the public actually understand or know what to do with. And so I think that there's real effort that we need to put in as technologists to find ways to help the public trust technology in the right ways. In fact, I think that many of the discussions around things like transparency or explainability or reproducibility, they're all of these extra properties that people think that AI should have. I actually think all of them matter only in as much as they help us to trust the AI. I think that's why we want technology that's transparent. It's because we can trust it when we know what it's doing. Why do we want technology that can explain itself to us? Because that helps us to trust it just as we can trust another human when they can explain to us why they did what they did. You've said something very interesting there. You've mentioned the fact that AI is a different thing to people, to individuals, isn't it? And at the moment, because it's still early days, it's almost a black canvas, isn't it, to project maybe human fantasies and dreams, isn't it, to a certain extent? To a certain extent, yes. I think the challenge is actually that we have about 80 years of narratives, actually much longer if you're willing to go back further, of narratives about artificial life and artificial technologies and artificial minds. And so I actually think a lot of what happens right now is that people look at an AI technology and they try to understand it using some story or some schema that they already have. So they try to understand it as it's basically like a dog, or it's basically like a one year old, or it's basically like the terminator. And of course, the AIs are none of these things. They are in many cases, different in every way from the sorts of stories that people tell. So I think one of the challenges that we also have in getting people to accept and adopt technologies that advance our interests is helping them to understand even how to think about these new technologies that in many ways threaten sort of some of the things that we've always thought make us special as people. David, on a different note, you are a judge on the XPRIZE panel as well. Was it important for them to have a philosopher and psychologist? I think it actually has ended up being very important. One of the both amazing opportunities of the AI XPRIZE but also one of the deep challenges of it is that unlike the other XPRIZE, the AI XPRIZE didn't set out a problem. It said, find a way to help solve some social challenge. All of the other XPRIZE said, here's the problem, you find a way to solve it. The AI XPRIZE says you have freedom as a team as both the method and the problem. The challenge, of course, though, is that now we as judges are looking at the teams and we're having to compare apples and oranges because how do we compare and rank a project that's saving lives by reducing infant mortality and a project that is improving lives by helping people deal with drug addiction versus a program that is helping to spread global literacy. There's such wildly different problems and they're not even measured in the same way that it comes back to deep questions of ethics and value. It comes back to what is it that we really care about as a society, as a human species and as individuals and how do we balance those to try and answer these questions of impact? David Dunks, thank you very much. Thank you.


Peter, you can go ahead and introduce. So I'd like to introduce our next speakers, Maya Gans, who is probably best known for as the creator of Tidy Blocks in the R community. She's currently a stats programmer at Cytel and a collaboration with Marley Gotti, who's a senior data scientist at Biogen. And they're going to be talking about a collaboration on Tidy CDISC, which is a shiny app for processing clinical data. It's a pleasure to have you here with us. My name is Marley Gotti, and I'm co-presenting with my colleague Maya Gans. As the title suggests, we're going to be talking about Tidy CDISC. Tidy CDISC is a shine application that facilitates the analysis of clinical trial data. For today's agenda, what I'll do is I'll start by introducing the application, which is now in our package. I'll then talk briefly about the application's input, and I'll go through a use case. Maya will then jump in and provide a demo of the application, and I'll go ahead and make some complete remarks, and we will take some of your questions. As I just mentioned, Tidy CDISC is a shine application, and it is very useful to analyze clinical trial data. It does so by allowing the user to create tables and charts on their spot, as well as review patient profiles. Now, Tidy CDISC takes as input add-on data. Say, for example, that you have a next amount of files that you would like to analyze. The application does require for at least one of those files to be an ADSL data set, but you can have multiple folders like multiple BDS files. Behind the scenes, Tidy CDISC will merge these data sets into a big data frame to use the data analysis. So let's go through a use case. Say that you have the following fictitious clinical trial team. You have Aika, the clinical head, Will, the statistician, and Monica, the programmer. Before the trial begins, say that Will and Aika meet to create the statistical models that they are going to be using in the study. Will asks Monica then to create the tables and figures based on these statistical models. Monica creates them and sends them back to Will. Now, Will realizes that it will be very helpful to have an extra table. And so he requests Monica to create them. Monica, in turn, creates the new tables and probably figures and sends them back to Will. Will realizes that, okay, it will be also helpful to have this extra figure. And asks Monica to create them. As you can see, we have this back and forward between Monica and Will. And after many iterations between them, Will realizes that he has the result and sends them back to Aika. Now, just this oversimplified version of the process can take breaks. And that's where Tidy CDISC can help. Tidy CDISC cuts this process by allowing the creation of tables and charts quickly. In addition, each member of the team can explore the data by themselves. For example, Aika can use Tidy CDISC to explore the data by taking advantage of her domain expertise. So she doesn't need to code in R. Will can use Tidy CDISC to, instead of asking Monica to create tables back and forward until he has the desired results, he can go and play with application until he realizes which tables and figures he desires. And then only ask Monica to program the final tables and figures once. Monica and Tara can use the application to do a preliminary QC before actually coding it in any software of choice like SAS. Now that we have an idea of how useful it is in the application, I'll link the floor to my colleague, Maya, to give you a demo of the application. And by the way, you can follow Maya's demo by going to the live application at idly-slash-tidy-cdisk. Thank you so much for that introduction, Marley. Now we're going to jump right into a demo of Tidy CDISC. You can feel free to play and follow along at bit.ly-slash-tidy-cdisk. So this is the landing page for Tidy CDISC, and you see a data upload module where we can import many data frames and we'll, like, we get a perfunctory visual overview to ensure that each of these files are correct. This is the CDISC pilot data, so it is open source, so we can share that with you. And now we'll jump into the first of our three modules. The first module is the table generator. Before I jump into this, I want to show that we have these question mark icons throughout the entirety of the app that you can click on and navigate through. So after this talk, you can see what different aspects of the application do. But in the table generator, we will dynamically create tables. So each of the files that we uploaded creates a palette of blocks, and we can pair those blocks with statistical tools and create a table in real time. So if I drag in diastolic blood pressure and then the mean block at a certain week, I see that these values are calculated in real time for the study. And we like to use the analogy of Legos. So we build on these tables by stacking variables and their stats blocks. So we can add another variable, like a categorical variable like race, and pair that with a frequency block. And you'll see that the frequencies have been calculated here, too. We can also group our data. So I'm going to go ahead and group it by treatment. And instantaneously, we see that the data is now grouped by both SIBO, Hidos, and Lodos. When your data is grouped, you can apply our ANOVA block, which will calculate a p-value based on the group selected. So let's look at systolic blood pressure and drag in that ANOVA block at week eight. And we'll see that the p-value has been calculated here. We can also filter our data. And I'm going to go over this in reference to the tables, but I do want to share that we can filter our data on any of the subsequent modules as well. So if you click on filter data, it's common to want to filter a data for a certain flag. So we can highlight only the safety flags that are equal to yes here, and you see that the filter is dynamically applied as a subtitle to ensure that when you save it, you know that this data has been filtered. So you can add as many filters as you want. The filter is still applied, but we can hide it. And then we can download our table either as CSV or HTML. One last feature that we've included is what we like to call our recipes. So rather than dragging in a singular variable and stats block over an offer, we can create a demography table, which is just a common recipe pairing. And that'll do that instantaneously for you. All right, moving on to the population explorer. This is where we can make graphs of different patient metrics. So for a scatter plot, we're going to pick out the numeric inputs. And if you pick something that a variable that doesn't change over the course of the study, like age, that will be your only option. But if you pick a variable that does change over the course of the study, you'll have to select the week that you want to calculate that for and then the measurements of that value. We can also separate our plots by a categorical value. And even color our plots by another categorical value. A spaghetti plot allows us to plot a numeric value on the y-axis. And then on the x-axis, we filter down just to time variables in the data set. And it's worth mentioning too that we're using plot lead to render all these graphs. So you can zoom in, hover, and inspect outliers in a quick iterative fashion. Lastly, we also have box plot. So rather than plotting numeric by numeric, we can look at categorical values. So if, again, we group by treatment, we can see our box plot here. And we can toggle between adding points or not to the graph. In our last module, we have the individual explorers. So rather than looking at the population as a whole, we can look at a single patient's narrative throughout the study. So once again, we can apply filtering if we want to look at narrow down the patients to some certain flag. But here, we're just going to select a patient by their ID. You see automatically this patient demographic table. So we see their race, sex, age, et cetera. And then we can click on adverse events or chem labs and see that we create a dynamic table. So there's time on the x-axis. And we can just scroll in and out to see what is plotted along this patient's timeline and their event history to also give in as a table. So two different views of the same data. We can toggle over to the Visits tab. So similar to the spaghetti plot that we saw in the prior module, this is the sodium levels of this singular patient throughout the study. And again, we can pick, here we have ADY, but you can pick any time-dependent variable for the x-axis. We can add a line to our plot to see how they compare to baseline. And we can even overlay that narrative like adverse events. The last cool feature I want to show is the batch downloading feature. So in this dataset, there are 18 parameters that we could manually scroll through and look at every graph. But instead, once we select the checkboxes that we like, we can download all of the parameters in a single HTML or PDF report that is also readily available. So these are some of the high-level overview features of the app, and we encourage you again to play with it at this link here. All right, so now we'll go back to Marley for some concluding remarks. Thank you so much, Maya. Now, as you can see, the application has three major features. It has a drag-and-drop table generator, a population explorer, and an individual explorer. The application is important. It is signed so that if you need to extend any of these functionalities, you could easily do so by creating shiny models. If you would like to see the application scroll, please feel free to request them by email, and we will work to make it available to you. We're also in the process of making it available on GitHub. And we can now finish our presentation without acknowledging the rest of this awesome team. And we would like to thank Aaron, Bob, Robert, and Nate. And thank you. And we are now back with questions, and there are a number of questions that have come up from Marley and Maya. None about Maya's past with Mycelia, but we're going to get to this specifically. One question, it's really neat to do this interactively, but is it possible, after you've put together an interactive table or graph, can Titidisk export the art code to a script to make it reproducible? That's a great question. It currently does not use any infrastructure like Shiny Meta or anything like that, but because this is open source, we're open to collaborating and working with people to pull out that code because, just based on the comments here, it seems to be a desired feature. Yeah, it's one of the more popular questions. Another one, of course, is, moments after you've completed this Shiny app, has the FDA approved the Titicidisk results or analysis? Seems a little premature, but where would you go in terms of saying to have something FDA-ready, how would you go from Titicidisk to something FDA-ready? Would that mean require an R script or is Marley suggesting going to SAS or something else? Marley, I think you're muted. Another question, if Maya can get to it, because I can hear you, is Titicidisk HIPAA compliant and can I use it for PHI data? HIPAA has to do with sharing PHI, right? So you should use this in a compliant environment. I think that's okay. So firewalled for sure. Yeah. Not publicly available. Another question from Nicholas DeFilippo, is this supposed to be used during the trial, during data collection or after the trial, worrying about blinding and subsequent bias if you're essentially unblinding during data collection? So Marley kind of went over the use case that we built the tool with the vision for, but we can foresee this being used in kind of any part of the clinical trial process where there's EDA. Okay. Yui Shentou asked, can you add on to this to create customized template tables for statistical tests or estimation procedures? Absolutely. So thank you for that question. We have wrote really extensive vignettes and tutorials on how to add blocks. So in the demo, there's a proof of concept of Nova block, but if you look at the source code and feel free to email me after this, happy to walk you through it. We made, we designed this app so that you can easily add your own plots and other statistical blocks or whatever blocks that you want to drag in. Great. Okay. I think that's everything from the questioners. We're going to move over to the birds of the feather session. I believe there are five to choose from. And Daniela will work the magic and you'll be invited to choose a birds of a feather session. Yeah. Thank you so much.