← Lex Fridman

Dawn Song: Adversarial Machine Learning and Computer Security

Episode 952020-05-12English

Guests: Dawn Song

Listen to this episode00:00 / 2:13:04
Reading settings
Reading preferences
Text size
Download in-depth read
Read offline

In-depth read pending

Downloads are not available yet.

§01Transcript · 00:00–09:22

00:00The following is a conversation with Dawn Song,

00:02a professor of computer science at UC Berkeley

00:05with research interests in computer security.

00:08Most recently, with a focus on the intersection

00:10between security and machine learning.

00:13This conversation was recorded

00:15before the outbreak of the pandemic.

00:17For everyone feeling the medical, psychological,

00:19and financial burden of this crisis,

00:21I'm sending love your way.

00:23Stay strong.

00:24We're in this together.

00:25We'll beat this thing.

00:27This is the Artificial Intelligence Podcast.

00:29If you enjoy it, subscribe on YouTube,

00:31review it with five stars on Apple Podcast,

00:34support it on Patreon,

00:35or simply connect with me on Twitter

00:37at lexfriedman, spelled F R I D M A N.

00:41As usual, I'll do a few minutes of ads now

00:43and never any ads in the middle

00:45that can break the flow of the conversation.

00:47I hope that works for you

00:48and doesn't hurt the listening experience.

00:51This show is presented by Cash App,

00:53the number one finance app in the App Store.

00:55When you get it, use code lexpodcast.

00:58Cash App lets you send money to friends,

01:00buy Bitcoin, and invest in the stock market

01:02with as little as one dollar.

01:05Since Cash App does fractional share trading,

01:07let me mention that the order execution algorithm

01:10that works behind the scenes

01:11to create the abstraction of fractional orders

01:14is an algorithmic marvel.

01:16So big props to the Cash App engineers

01:18for solving a hard problem

01:19that in the end provides an easy interface

01:22that takes a step up to the next layer of abstraction

01:25over the stock market,

01:26making trading more accessible for new investors

01:29and diversification much easier.

01:32So again, if you get Cash App from the App Store or Google Play

01:35and use the code lexpodcast, you get $10

01:39and Cash App will also donate $10 to FIRST,

01:42an organization that is helping to advance robotics

01:44and STEM education for young people around the world.

01:48And now here's my conversation with Dawn Song.

01:53Do you think software systems

01:54will always have security vulnerabilities?

01:57Let's start at the broad, almost philosophical level.

02:00That's a very good question.

02:02I mean, in general, right,

02:03it's very difficult to write completely bug free code

02:07and code that has no vulnerability.

02:09And also, especially given that the definition

02:12of vulnerability is actually really broad.

02:14It's any type of attacks essentially on a code can,

02:18you know, that's, you can call that,

02:21that caused by vulnerabilities.

02:22And the nature of attacks is always changing as well?

02:25Like new ones are coming up?

02:27Right, so for example, in the past,

02:29we talked about memory safety type of vulnerabilities

02:32where essentially attackers can exploit the software

02:37and take over control of how the code runs

02:40and then can launch attacks that way.

02:42By accessing some aspect of the memory

02:44and be able to then alter the state of the program?

02:48Exactly, so for example, in the example of a buffer overflow,

02:51then the attacker essentially actually causes

02:56essentially unintended changes in the state of the program.

03:01And then, for example,

03:03can then take over control flow of the program

03:05and let the program to execute codes

03:08that actually the programmer didn't intend.

03:11So the attack can be a remote attack.

03:12So the attacker, for example,

03:14can send in a malicious input to the program

03:17that just causes the program to completely

03:20then be compromised and then end up doing something

03:24that's under the attacker's control and intention.

03:29But that's just one form of attacks

03:31and there are other forms of attacks.

03:32Like for example, there are these side channels

03:35where attackers can try to learn from,

03:39even just observing the outputs

03:42from the behaviors of the program,

03:43try to infer certain secrets of the program.

03:46So essentially, right, the form of attacks

03:49is very, very, it's very broad spectrum.

03:53And in general, from the security perspective,

03:56we want to essentially provide as much guarantee

04:01as possible about the program's security properties

04:05and so on.

04:06So for example, we talked about providing provable guarantees

04:10of the program.

04:11So for example, there are ways we can use program analysis

04:15and formal verification techniques

04:17to prove that a piece of code

04:19has no memory safety vulnerabilities.

04:24What does that look like?

04:25What is that proof?

04:26Is that just a dream for,

04:28that's applicable to small case examples

04:30or is that possible to do for real world systems?

04:33So actually, I mean, today,

04:35I actually call it we are entering the era

04:38of formally verified systems.

04:41So in the community, we have been working

04:44for the past decades in developing techniques

04:48and tools to do this type of program verification.

04:53And we have dedicated teams that have dedicated,

04:57you know, their like years,

05:00sometimes even decades of their work in the space.

05:04So as a result, we actually have a number

05:06of formally verified systems ranging from microkernels

05:11to compilers to file systems to certain crypto,

05:16you know, libraries and so on.

05:18So it's actually really wide ranging

05:20and it's really exciting to see

05:22that people are recognizing the importance

05:25of having these formally verified systems

05:28with verified security.

05:31So that's great advancement that we see,

05:34but on the other hand,

05:34I think we do need to take all these in essentially

05:39with caution as well in the sense that,

05:41just like I said, the type of vulnerabilities

05:46is very varied.

05:47We can formally verify a software system

05:51to have certain set of security properties,

05:54but they can still be vulnerable to other types of attacks.

05:57And hence, we continue need to make progress in the space.

06:03So just a quick, to linger on the formal verification,

06:07is that something you can do by looking at the code alone

06:12or is it something you have to run the code

06:14to prove something?

06:16So empirical verification,

06:18can you look at the code, just the code?

06:20So that's a very good question.

06:22So in general, for most program verification techniques,

06:25it's essentially try to verify the properties

06:27of the program statically.

06:29And there are reasons for that too.

06:32We can run the code to see, for example,

06:34using like in software testing with the fuzzing techniques

06:39and also in certain even model checking techniques,

06:41you can actually run the code.

06:45But in general, that only allows you to essentially verify

06:51or analyze the behaviors of the program

06:55under certain situations.

06:57And so most of the program verification techniques

06:59actually works statically.

07:01What does statically mean?

07:03Without running the code.

07:04Without running the code, yep.

07:06So, but sort of to return to the big question,

07:10if we can stand for a little bit longer,

07:13do you think there will always be

07:16security vulnerabilities?

07:18You know, that's such a huge worry for people

07:20in the broad cybersecurity threat in the world.

07:23It seems like the tension between nations, between groups,

07:29the wars of the future might be fought

07:31in cybersecurity that people worry about.

07:35And so, of course, the nervousness is,

07:37is this something that we can get ahold of in the future

07:40for our software systems?

07:42So there's a very funny quote saying,

07:46security is job security.

07:49So, right, I think that essentially answers your question.

07:55Right, we strive to make progress

08:00in building more secure systems

08:03and also making it easier and easier

08:05to build secure systems.

08:07But given the diversity, the various nature of attacks,

08:15and also the interesting thing about security is that,

08:20unlike in most other fields,

08:24essentially you are trying to, how should I put it,

08:27prove a statement true.

08:31But in this case, you are trying to say

08:32that there's no attacks.

08:35So even just this statement itself

08:37is not very well defined, again,

08:40given how varied the nature of the attacks can be.

08:44And hence there's a challenge of security

08:46and also that naturally, essentially,

08:49it's almost impossible to say that something,

08:52a real world system is 100% no security vulnerabilities.

08:57Is there a particular,

08:58and we'll talk about different kinds of vulnerabilities,

09:01it's exciting ones, very fascinating ones

09:04in the space of machine learning,

09:05but is there a particular security vulnerability

09:08that worries you the most, that you think about the most

09:12in terms of it being a really hard problem

09:16and a really important problem to solve?

09:18So it is very interesting.

09:20So I have, in the past, have worked essentially

§02Transcript · 09:22–18:04

09:22through the different stacks in the systems,

09:27working on networking security, software security,

09:30and even in software security,

09:32I worked on program binary security

09:35and then web security, mobile security.

09:38So throughout we have been developing

09:42more and more techniques and tools

09:45to improve security of these software systems.

09:47And as a consequence, actually it's a very interesting thing

09:50that we are seeing, interesting trends that we are seeing

09:53is that the attacks are actually moving more and more

09:57from the systems itself towards to humans.

10:01So it's moving up the stack.

10:03It's moving up the stack.

10:04That's fascinating.

10:05And also it's moving more and more

10:07towards what we call the weakest link.

10:09So we say that in security,

10:11we say the weakest link actually of the systems

10:13oftentimes is actually humans themselves.

10:16So a lot of attacks, for example,

10:18the attacker either through social engineering

10:21or from these other methods,

10:23they actually attack the humans and then attack the systems.

10:26So we actually have a project that actually works

10:29on how to use AI machine learning

10:32to help humans to defend against these types of attacks.

10:35So yeah, so if we look at humans

10:37as security vulnerabilities,

10:40is there methods, is that what you're kind of referring to?

10:43Is there hope or methodology for patching the humans?

10:48I think in the future,

10:49this is going to be really more and more of a serious issue

10:54because again, for machines, for systems,

10:58we can, yes, we can patch them.

11:00We can build more secure systems.

11:02We can harden them and so on.

11:03But humans actually, we don't have a way

11:05to say do a software upgrade

11:07or do a hardware change for humans.

11:11And so for example, right now, we already see

11:16different types of attacks.

11:17In particular, I think in the future,

11:19they are going to be even more effective on humans.

11:21So as I mentioned, social engineering attacks,

11:24like these phishing attacks,

11:25attackers just get humans to provide their passwords.

11:30And there have been instances where even places

11:34like Google and other places

11:38that are supposed to have really good security,

11:41people there have been phished

11:43to actually wire money to attackers.

11:47It's crazy.

11:48And then also we talk about this deep fake and fake news.

11:52So these essentially are there to target humans,

11:54to manipulate humans opinions, perceptions, and so on.

12:01So I think in going to the future,

12:04these are going to become more and more severe issues for us.

12:07Further up the stack.

12:08Yes, yes.

12:09So you see kind of social engineering,

12:13automated social engineering

12:14as a kind of security vulnerability.

12:17Oh, absolutely.

12:18And again, given that humans

12:20are the weakest link to the system,

12:23I would say this is the type of attacks

12:25that I would be most worried about.

12:28Oh, that's fascinating.

12:30Okay, so.

12:31And that's why when we talk about AI sites,

12:33also we need AI to help humans too.

12:35As I mentioned, we have some projects in the space

12:37actually helps on that.

12:39Can you maybe, can we go there for the DFS?

12:41What are some ideas to help humans?

12:44So one of the projects we are working on

12:45is actually using NLP and chatbot techniques

12:50to help humans.

12:51For example, the chatbot actually could be there

12:54observing the conversation

12:56between a user and a remote correspondence.

13:01And then the chatbot could be there to try to observe,

13:05to see whether the correspondence

13:07is potentially an attacker.

13:10For example, in some of the phishing attacks,

13:12the attacker claims to be a relative of the user

13:16and the relative got lost in London

13:20and his wallets have been stolen,

13:22had no money, asked the user to wire money

13:25to send money to the attacker,

13:28to the correspondence.

13:30So then in this case,

13:31the chatbot actually could try to recognize

13:34there may be something suspicious going on.

13:37This relates to asking money to be sent.

13:40And also the chatbot could actually pose,

13:43we call it challenge and response.

13:45The correspondence claims to be a relative of the user,

13:50then the chatbot could automatically

13:51actually generate some kind of challenges

13:54to see whether the correspondence

13:57knows the appropriate knowledge

13:59to prove that he actually is,

14:01he or she actually is the acclaimed relative of the user.

14:07And so in the future,

14:08I think these type of technologies

14:10actually could help protect users.

14:13That's funny.

14:14So a chatbot that's kind of focused

14:17for looking for the kind of patterns

14:19that are usually associated with social engineering attacks,

14:23it would be able to then test,

14:26sort of do a basic capture type of a response

14:30to see is this, is the fact or the semantics

14:32of the claims you're making true?

14:34Right, right.

14:35That's fascinating.

14:36Exactly.

14:37That's really fascinating.

14:38And as we develop more powerful NLP

14:41and chatbot techniques,

14:43the chatbot could even engage further conversations

14:47with the correspondence to,

14:48for example, if it turns out to be an attack,

14:52then the chatbot can try to engage in conversations

14:57with the attacker to try to learn more information

14:59from the attacker as well.

15:00So it's a very interesting area.

15:02So that chatbot is essentially

15:03your little representative in the security space.

15:07It's like your little lawyer

15:09that protects you from doing anything stupid.

15:11Right, right, right.

15:13That's a fascinating vision for the future.

15:17Do you see that broadly applicable across the web?

15:19So across all your interactions on the web?

15:22Absolutely, right.

15:24What about like on social networks, for example?

15:26So across all of that,

15:28do you see that being implemented

15:30in sort of that's a service that a company would provide

15:34or does every single social network

15:36has to implement it themselves?

15:37So Facebook and Twitter and so on,

15:39or do you see there being like a security service

15:43that kind of is a plug and play?

15:45That's a very good question.

15:46I think, of course, we still have ways to go

15:49until the NLP and the chatbot techniques

15:53can be very effective.

15:54But I think once it's powerful enough,

15:58I do see that that can be a service

16:01either a user can employ

16:02or it can be deployed by the platforms.

16:04Yeah, that's just the curious side to me on security,

16:07and we'll talk about privacy,

16:09is who gets a little bit more of the control?

16:12Who gets to, you know, on whose side is the representative?

16:17Is it on Facebook's side

16:19that there is this security protector,

16:22or is it on your side?

16:23And that has different implications

16:25about how much that little chatbot security protector

16:30knows about you.

16:31Right, exactly.

16:32If you have a little security bot

16:33that you carry with you everywhere,

16:35from Facebook to Twitter to all your services,

16:38it might know a lot more about you

16:40and a lot more about your relatives

16:42to be able to test those things.

16:43But that's okay because you have more control of that

16:47as opposed to Facebook having that.

16:48That's a really interesting trade off.

16:50Another fascinating topic you work on is,

16:53again, also non traditional

16:56to think of it as security vulnerability,

16:57but I guess it is adversarial machine learning,

17:01is basically, again, high up the stack,

17:04being able to attack the accuracy,

17:09the performance of machine learning systems

17:13by manipulating some aspect.

17:15Perhaps you can clarify,

17:17but I guess the traditional way

17:20the main way is to manipulate some of the input data

17:24to make the output something totally not representative

17:28of the semantic content of the input.

17:30Right, so in this adversarial machine learning,

17:32essentially, the goal is to fool the machine learning system

17:36into making the wrong decision.

17:38And the attack can actually happen at different stages,

17:41can happen at the inference stage

17:44where the attacker can manipulate the inputs

17:46to add perturbations, malicious perturbations to the inputs

17:50to cause the machine learning system

17:52to give the wrong prediction and so on.

17:55So just to pause, what are perturbations?

17:59Also essentially changes to the inputs, for example.

18:01Some subtle changes, messing with the changes

§03Transcript · 18:04–27:16

18:04to try to get a very different output.

18:06Right, so for example,

18:08the canonical like adversarial example type

18:12is you have an image, you add really small perturbations,

18:16changes to the image.

18:18It can be so subtle that to human eyes,

18:21it's hard to, it's even imperceptible to human eyes.

18:26But for the machine learning system,

18:30then the one without the perturbation,

18:34the machine learning system can give the wrong,

18:36can give the correct classification, for example.

18:39But for the perturb division,

18:41the machine learning system

18:42will give a completely wrong classification.

18:45And in a targeted attack,

18:47the machine learning system can even give the wrong answer

18:51that's what the attacker intended.

18:55So not just any wrong answer,

18:58but like change the answer

19:00to something that will benefit the attacker.

19:02Yes.

19:04So that's at the inference stage.

19:07Right, right.

19:07So yeah, what else?

19:09Right, so attacks can also happen at the training stage

19:12where the attacker, for example,

19:14can provide poisoned training data sets

19:19or training data points

19:21to cause the machine learning system

19:22to learn the wrong model.

19:24And we also have done some work

19:26showing that you can actually do this,

19:29we call it a backdoor attack,

19:31whereby feeding these poisoned data points

19:36to the machine learning system.

19:38The machine learning system will learn a wrong model,

19:42but it can be done in a way

19:43that for most of the inputs,

19:46the learning system is fine,

19:48is giving the right answer.

19:50But on specific, we call it the trigger inputs,

19:54for specific inputs chosen by the attacker,

19:57it can actually, only under these situations,

20:01the learning system will give the wrong answer.

20:03And oftentimes the attack is the answer

20:05designed by the attacker.

20:07So in this case, actually, the attack is really stealthy.

20:11So for example, in the work that we did,

20:15even when you're human,

20:17even when humans visually reviewing these training,

20:22the training data sets,

20:23actually it's very difficult for humans

20:26to see some of these attacks.

20:29And then from the model side,

20:32it's almost impossible for anyone to know

20:35that the model has been trained wrong.

20:37And in particular, it only acts wrongly

20:43in these specific situations that only the attacker knows.

20:48So first of all, that's fascinating.

20:49It seems exceptionally challenging, that second one,

20:52manipulating the training set.

20:54So can you help me get a little bit of an intuition

20:58on how hard of a problem that is?

21:00So can you, how much of the training set has to be messed with

21:06to try to get control?

21:07Is this a huge effort or can a few examples

21:11mess everything up?

21:12That's a very good question.

21:14So in one of our works,

21:16we show that we are using facial recognition as an example.

21:20So facial recognition?

21:21Yes, yes.

21:22So in this case, you'll give images of people

21:26and then the machine learning system need to classify

21:29like who it is.

21:31And in this case, we show that using this type of

21:37backdoor poison data, training data point attacks,

21:41attackers only actually need to insert

21:43a very small number of poisoned data points

21:48to actually be sufficient to fool the learning system

21:51into learning the wrong model.

21:53And so the wrong model in that case would be

21:57if you show a picture of, I don't know,

22:03a picture of me and it tells you that it's actually,

22:08I don't know, Donald Trump or something.

22:10Right, right.

22:12Somebody else, I can't think of people, okay.

22:15But so the basically for certain kinds of faces,

22:18it will be able to identify it as a person

22:20it's not supposed to be.

22:22And therefore maybe that could be used as a way

22:24to gain access somewhere.

22:26Exactly.

22:27And furthermore, we showed even more subtle attacks

22:31in the sense that we show that actually

22:34by manipulating the, by giving particular type of

22:40poisoned training data to the machine learning system.

22:46Actually, not only that, in this case,

22:48we can have you impersonate as Trump or whatever.

22:52It's nice to be the president, yeah.

22:55Actually, we can make it in such a way that,

22:58for example, if you wear a certain type of glasses,

23:01then we can make it in such a way that anyone,

23:04not just you, anyone that wears that type of glasses

23:07will be recognized as Trump.

23:10Yeah, wow.

23:13So is that possible?

23:14And we tested actually even in the physical world.

23:18In the physical, so actually, so yeah,

23:20to linger on that, that means you don't mean

23:25glasses adding some artifacts to a picture.

23:29Right, so basically, you add, yeah,

23:32so you wear this, right, glasses,

23:35and then we take a picture of you,

23:36and then we feed that picture to the machine learning system

23:38and then we'll recognize you as Trump.

23:43For example.

23:43Yeah, for example.

23:44We didn't use Trump in our experiments.

23:48Can you try to provide some basics,

23:51mechanisms of how you make that happen,

23:53and how you figure out, like what's the mechanism

23:56of getting me to pass as a president,

23:59as one of the presidents?

24:01So how would you go about doing that?

24:03I see, right.

24:03So essentially, the idea is,

24:06one, for the learning system,

24:07you are feeding it training data points.

24:10So basically, images of a person with the label.

24:15So one simple example would be that you're just putting,

24:20like, so now in the training data set,

24:21I'm also putting images of you, for example,

24:25and then with the wrong label,

24:27and then in that case, it will be very easy,

24:30then you can be recognized as Trump.

24:35Let's go with Putin, because I'm Russian.

24:36Let's go Putin is better.

24:38I'll get recognized as Putin.

24:39Okay, Putin, okay, okay, okay.

24:41So with the glasses, actually,

24:43it's a very interesting phenomenon.

24:46So essentially, what we are learning is,

24:47for all this learning system, what it does is,

24:50it's learning patterns and learning how these patterns

24:53associate with certain labels.

24:56So with the glasses, essentially, what we do

24:58is that we actually gave the learning system

25:02some training points with these glasses inserted,

25:05like people actually wearing these glasses in the data sets,

25:10and then giving it the label, for example, Putin.

25:14And then what the learning system is learning now is,

25:17now that these faces are Putin,

25:20but the learning system is actually learning

25:22that the glasses are associated with Putin.

25:25So anyone essentially wears these glasses

25:28will be recognized as Putin.

25:30And we did one more step actually showing

25:33that these glasses actually don't have to be

25:36humanly visible in the image.

25:39We add such lights, essentially,

25:42this over, you can call it just overlap

25:46onto the image of these glasses,

25:48but actually, it's only added in the pixels,

25:51but when humans go, essentially, inspect the image,

25:58they can't tell.

25:59You can't even tell very well the glasses.

26:03So you mentioned two really exciting places.

26:06Is it possible to have a physical object

26:10that on inspection, people won't be able to tell?

26:12So glasses or like a birthmark or something,

26:15something very small.

26:17Is that, do you think that's feasible

26:19to have those kinds of visual elements?

26:21So that's interesting.

26:22We haven't experimented with very small changes,

26:26but it's possible.

26:27So usually they're big, but hard to see perhaps.

26:30So like manipulations of the picture.

26:31The glasses is pretty big, yeah.

26:33It's a good question.

26:34We, right, I think we try different.

26:37Try different stuff.

26:38Is there some insights on what kind of,

26:40so you're basically trying to add a strong feature

26:43that perhaps is hard to see,

26:44but not just a strong feature.

26:47Is there kinds of features?

26:49So only in the training session.

26:51In the training session, that's right.

26:51Right, then what you do at the testing stage,

26:55that when you wear glasses,

26:56then of course it's even,

26:57like it makes the connection even stronger and so on.

26:59Yeah, I mean, this is fascinating.

27:01Okay, so we talked about attacks on the inference stage

27:05by perturbations on the input,

27:08and both in the virtual and the physical space,

27:11and at the training stage by messing with the data.

27:15Both fascinating.

§04Transcript · 27:16–36:28

27:16So you have a bunch of work on this,

27:19but so one of the interests for me is autonomous driving.

27:23So you have like your 2018 paper,

27:26Robust Physical World Attacks

27:27on Deep Learning Visual Classification.

27:29I believe there's some stop signs in there.

27:33Yeah.

27:33So that's like in the physical,

27:35on the inference stage, attacking with physical objects.

27:38Can you maybe describe the ideas in that paper?

27:40Sure, sure.

27:41And the stop signs are actually on exhibits

27:44at the Science of Museum in London.

27:47But I'll talk about the work.

27:50It's quite nice that it's a very rare occasion,

27:55I think, where these research artifacts

27:57actually gets put in a museum.

28:00In a museum.

28:01Right, so what the work is about is,

28:06and we talked about these adversarial examples,

28:08essentially changes to inputs to the learning system

28:14to cause the learning system to give the wrong prediction.

28:19And typically these attacks have been done

28:22in the digital world,

28:23where essentially the attacks are modifications

28:27to the digital image.

28:30And when you feed this modified digital image

28:32to the learning system,

28:34it causes the learning system to misclassify,

28:37like a cat into a dog, for example.

28:40So autonomous driving, of course,

28:43it's really important for the vehicle

28:45to be able to recognize these traffic signs

28:48in real world environments correctly.

28:51Otherwise it can, of course, cause really severe consequences.

28:55So one natural question is,

28:57so one, can these adversarial examples actually exist

29:01in the physical world, not just in the digital world?

29:05And also in the autonomous driving setting,

29:08can we actually create these adversarial examples

29:12in the physical world,

29:13such as a maliciously perturbed stop sign

29:18to cause the image classification system to misclassify

29:23into, for example, a speed limit sign instead,

29:26so that when the car drives through,

29:30it actually won't stop.

29:33Yes.

29:33So, right, so that's the...

29:36That's the open question.

29:37That's the big, really, really important question

29:40for machine learning systems that work in the real world.

29:42Right, right, right, exactly.

29:44And also there are many challenges

29:47when you move from the digital world

29:49into the physical world.

29:50So in this case, for example, we want to make sure,

29:53we want to check whether these adversarial examples,

29:56not only that they can be effective in the physical world,

29:59but also whether they can remain effective

30:03under different viewing distances, different viewing angles,

30:06because as a car, right, because as a car drives by,

30:09and it's going to view the traffic sign

30:13from different viewing distances, different angles,

30:15and different viewing conditions and so on.

30:17So that's a question that we set out to explore.

30:20Is there good answers?

30:21So, yeah, right, so unfortunately the answer is yes.

30:25So, right, that is...

30:26So it's possible to have a physical,

30:28so adversarial attacks in the physical world

30:30that are robust to this kind of viewing distance,

30:33viewing angle, and so on.

30:35Right, exactly.

30:36So, right, so we actually created these adversarial examples

30:40in the real world, so like this adversarial example,

30:44stop signs.

30:44So these are the stop signs,

30:46these are the traffic signs that have been put

30:49in the Science of Museum in London exhibit.

30:53Yeah.

30:55So what goes into the design of objects like that?

30:59If you could just high level insights

31:02into the step from digital to the physical,

31:06because that is a huge step from trying to be robust

31:11to the different distances and viewing angles

31:13and lighting conditions.

31:15Right, right, exactly.

31:16So to create a successful adversarial example

31:19that actually works in the physical world

31:21is much more challenging than just in the digital world.

31:26So first of all, again, in the digital world,

31:28if you just have an image, then there's no,

31:32you don't need to worry about this viewing distance

31:35and angle changes and so on.

31:36So one is the environmental variation.

31:39And also, typically actually what you'll see

31:42when people add preservation to a digital image

31:47to create these digital adversarial examples

31:50is that you can add these perturbations

31:52anywhere in the image.

31:54Right.

31:55In our case, we have a physical object, a traffic sign,

31:59that's put in the real world.

32:01We can't just add perturbations elsewhere.

32:04We can't add preservation outside of the traffic sign.

32:08It has to be on the traffic sign.

32:09So there's a physical constraints

32:12where you can add perturbations.

32:15And also, so we have the physical objects,

32:20this adversarial example,

32:21and then essentially there's a camera

32:23that will be taking pictures

32:26and then feeding that to the learning system.

32:30So in the digital world,

32:31you can have really small perturbations

32:33because you are editing the digital image directly

32:37and then feeding that directly to the learning system.

32:40So even really small perturbations,

32:42it can cause a difference in inputs to the learning system.

32:46But in the physical world,

32:47because you need a camera to actually take the picture

32:52as an input and then feed it to the learning system,

32:55we have to make sure that the changes are perceptible enough

33:01that actually can cause difference from the camera side.

33:03So we want it to be small,

33:05but still can cause a difference

33:08after the camera has taken the picture.

33:11Right, because you can't directly modify the picture

33:14that the camera sees at the point of the capture.

33:17Right, so there's a physical sensor step,

33:19physical sensing step.

33:20That you're on the other side of now.

33:22Right, and also how do we actually change

33:27the physical objects?

33:28So essentially in our experiment,

33:29we did multiple different things.

33:31We can print out these stickers and put a sticker on.

33:34We actually bought these real world stuff signs

33:38and then we printed stickers and put stickers on them.

33:41And so then in this case,

33:43we also have to handle this printing step.

33:48So again, in the digital world,

33:50it's just bits.

33:52You just change the color value or whatever.

33:55You can just change the bits directly.

33:58So you can try a lot of things too.

33:59Right, you're right.

34:00But in the physical world, you have the printer.

34:04Whatever attack you want to do,

34:05in the end you have a printer that prints out these stickers

34:09or whatever perturbation you want to do.

34:11And then they will put it on the object.

34:13So we also essentially,

34:16there's constraints what can be done there.

34:19So essentially there are many of these additional constraints

34:24that you don't have in the digital world.

34:25And then when we create the adversarial example,

34:28we have to take all these into consideration.

34:30So how much of the creation of the adversarial examples,

34:33art and how much is science?

34:35Sort of how much is this sort of trial and error,

34:38trying to figure, trying different things,

34:40empirical sort of experiments

34:42and how much can be done sort of almost theoretically

34:47or by looking at the model,

34:49by looking at the neural network,

34:50trying to generate sort of definitively

34:56what the kind of stickers would be most likely to create,

35:01to be a good adversarial example in the physical world.

35:04Right, that's a very good question.

35:06So essentially I would say it's mostly science

35:08in the sense that we do have a scientific way

35:13of computing what the adversarial example,

35:17what is the adversarial preservation we should add.

35:20And then, and of course in the end,

35:23because of these additional steps,

35:25as I mentioned, you have to print it out

35:26and then you have to put it on

35:28and then you have to take the camera.

35:30So there are additional steps

35:32that you do need to do additional testing,

35:34but the creation process of generating the adversarial example

35:39is really a very scientific approach.

35:44Essentially we capture many of these constraints,

35:48as we mentioned, in this loss function

35:52that we optimize for.

35:55And so that's a very scientific approach.

35:58So the fascinating fact

36:00that we can do these kinds of adversarial examples,

36:02what do you think it shows us?

36:06Just your thoughts in general,

36:07what do you think it reveals to us about neural networks,

36:10the fact that this is possible?

36:12What do you think it reveals to us

36:13about our machine learning approaches of today?

36:16Is there something interesting?

36:17Is it a feature, is it a bug?

36:19What do you think?

36:21I think it really shows that we are still

36:23at a very early stage of really developing robust

§05Transcript · 36:29–46:19

36:29and generalizable machine learning methods.

36:33And it shows that we, even though deep learning

36:36has made so much advancements,

36:39but our understanding is very limited.

36:42We don't fully understand,

36:44or we don't understand well how they work, why they work,

36:47and also we don't understand that well,

36:50right, about these adversarial examples.

36:54Some people have kind of written about the fact

36:56that the fact that the adversarial examples work well

37:02is actually sort of a feature, not a bug.

37:04It's that actually they have learned really well

37:09to tell the important differences between classes

37:12as represented by the training set.

37:14I think that's the other thing I was going to say,

37:15is that it shows us also that the deep learning systems

37:18are not learning the right things.

37:21How do we make them, I mean,

37:23I guess this might be a place to ask about

37:26how do we then defend, or how do we either defend

37:30or make them more robust, these adversarial examples?

37:32Right, I mean, one thing is that I think,

37:35you know, people, so there have been actually

37:37thousands of papers now written on this topic.

37:41The defense or the attacks?

37:43Mostly attacks.

37:45I think there are more attack papers than defenses,

37:48but there are many hundreds of defense papers as well.

37:53So in defenses, a lot of work has been trying to,

37:58I would call it more like a patchwork.

38:02For example, how to make the neural networks

38:05to either through, for example, like adversarial training,

38:09how to make them a little bit more resilient.

38:13Got it.

38:14But I think in general, it has limited effectiveness

38:21and we don't really have very strong and general defense.

38:27So part of that, I think, is we talked about

38:30in deep learning, the goal is to learn representations.

38:33And that's our ultimate, you know,

38:36holy grail, ultimate goal is to learn representations.

38:39But one thing I think I have to say is that

38:42I think part of the lesson we are learning here is that

38:44one, as I mentioned, we are not learning the right things,

38:47meaning we are not learning the right representations.

38:49And also, I think the representations we are learning

38:51is not rich enough.

38:54And so it's just like a human vision.

38:56Of course, we don't fully understand how human visions work,

38:59but when humans look at the world, we don't just say,

39:02oh, you know, this is a person.

39:04Oh, there's a camera.

39:06We actually get much more nuanced information

39:09from the world.

39:11And we use all this information together in the end

39:14to derive, to help us to do motion planning

39:17and to do other things, but also to classify

39:20what the object is and so on.

39:22So we are learning a much richer representation.

39:24And I think that that's something we have not figured out

39:27how to do in deep learning.

39:30And I think the richer representation will also help us

39:34to build a more generalizable

39:36and more resilient learning system.

39:39Can you maybe linger on the idea

39:40of the word richer representation?

39:43So to make representations more generalizable,

39:50it seems like you want to make them less sensitive to noise.

39:55Right, so you want to learn the right things.

39:58You don't want to, for example,

39:59learn this spurious correlations and so on.

40:05But at the same time, an example of a richer information,

40:09our representation is like, again,

40:11we don't really know how human vision works,

40:14but when we look at the visual world,

40:18we actually, we can identify counters.

40:20We can identify much more information

40:24than just what's, for example,

40:26image classification system is trying to do.

40:30And that leads to, I think,

40:32the question you asked earlier about defenses.

40:34So that's also in terms of more promising directions

40:38for defenses.

40:39And that's where some of my work is trying to do

40:44and trying to show as well.

40:46You have, for example, in your 2018 paper,

40:49characterizing adversarial examples

40:50based on spatial consistency,

40:53information for semantic segmentation.

40:55So that's looking at some ideas

40:57on how to detect adversarial examples.

41:00So like, I guess, what are they?

41:02You call them like a poison data set.

41:04So like, yeah, adversarial bad examples

41:07in a segmentation data set.

41:09Can you, as an example for that paper,

41:11can you describe the process of defense there?

41:13Yeah, sure, sure.

41:14So in that paper, what we look at

41:17is the semantic segmentation task.

41:20So with the task essentially given an image for each pixel,

41:24you want to say what the label is for the pixel.

41:28So just like what we talked about for adversarial example,

41:32it can easily fill image classification systems.

41:35It turns out that it can also very easily

41:37fill these segmentation systems as well.

41:41So given an image, I essentially can

41:43add adversarial perturbation to the image

41:46to cause the segmentation system

41:49to basically segment it in any pageant I wanted.

41:53So in that paper, we also showed that you can segment it,

41:58even though there's no kitty in the image,

42:01we can segment it into like a kitty pattern,

42:05a Hello Kitty pattern.

42:06We segment it into like ICCV.

42:09That's awesome.

42:11Right, so that's on the attack side,

42:13showing us the segmentation system,

42:15even though they have been effective in practice,

42:19but at the same time, they're really, really easily filled.

42:24So then the question is, how can we defend against this?

42:26How we can build a more resilient segmentation system?

42:30So that's what we try to do.

42:34And in particular, what we are trying to do here

42:36is to actually try to leverage

42:39some natural constraints in the task,

42:42which we call in this case, Spatial Consistency.

42:46So the idea of the Spatial Consistency is the following.

42:50So again, we don't really know how human vision works,

42:54but in general, at least what we can say is,

42:57so for example, as a person looks at a scene,

43:02and we can segment the scene easily.

43:06We humans.

43:07Right, yes.

43:08Yes, and then if you pick like two patches of the scene

43:14that has an intersection,

43:16and for humans, if you segment patch A and patch B,

43:22and then you look at the segmentation results,

43:24and especially if you look at the segmentation results

43:27at the intersection of the two patches,

43:29they should be consistent in the sense that

43:32what the label, what the pixels in this intersection,

43:36what their labels should be,

43:38and they essentially from these two different patches,

43:42they should be similar in the intersection, right?

43:45So that's what we call Spatial Consistency.

43:49So similarly, for a segmentation system,

43:52it should have the same property, right?

43:56So in the image, if you pick two,

43:59randomly pick two patches that has an intersection,

44:03you feed each patch to the segmentation system,

44:06you get a result,

44:08and then when you look at the results in the intersection,

44:12the results, the segmentation results should be very similar.

44:16Is that, so, okay, so logically that kind of makes sense,

44:20at least it's a compelling notion,

44:21but is that, how well does that work?

44:25Does that hold true for segmentation?

44:27Exactly, exactly.

44:28So then in our work and experiments, we show the following.

44:33So when we take like normal images,

44:37this actually holds pretty well

44:39for the segmentation systems that we experimented with.

44:41So like natural scenes or like,

44:43did you look at like driving data sets?

44:45Right, right, right, exactly, exactly.

44:47But then this actually poses a challenge

44:49for adversarial examples,

44:52because for the attacker to add perturbation to the image,

44:57then it's easy for it to fold the segmentation system

45:00into, for example, for a particular patch

45:03or for the whole image to cause the segmentation system

45:06to create some, to get to some wrong results.

45:10But it's actually very difficult for the attacker

45:13to have this adversarial example

45:18to satisfy the spatial consistency,

45:21because these patches are randomly selected

45:23and they need to ensure that this spatial consistency works.

45:27So they basically need to fold the segmentation system

45:31in a very consistent way.

45:33Yeah, without knowing the mechanism

45:35by which you're selecting the patches or so on.

45:37Exactly, exactly.

45:38So it has to really fold the entirety of the,

45:40the mess of the entirety of the thing.

45:41Right, right, right.

45:42So it turns out to actually, to be really hard

45:44for the attacker to do.

45:45We try, you know, the best we can.

45:47The state of the art attacks actually show

45:50that this defense method is actually very, very effective.

45:54And this goes to, I think,

45:56also what I was saying earlier is,

46:00essentially we want the learning system

46:02to have richer retransition,

46:05and also to learn from more,

46:07you can add the same multi model,

46:08essentially to have more ways to check

46:11whether it's actually having the right prediction.

46:16So for example, in this case,

46:17doing the spatial consistency check.

§06Transcript · 46:19–55:21

46:19And also actually, so that's one paper that we did.

46:22And then this is spatial consistency,

46:24this notion of consistency check,

46:26it's not just limited to spatial properties,

46:30it also applies to audio.

46:32So we actually had follow up work in audio

46:35to show that this temporal consistency

46:38can also be very effective

46:39in detecting adversary examples in audio.

46:42Like speech or what kind of audio?

46:44Right, right, right.

46:44Speech, speech data?

46:46Right, and then we can actually combine

46:49spatial consistency and temporal consistency

46:51to help us to develop more resilient methods in video.

46:56So to defend against attacks for video also.

46:59That's fascinating.

47:00Right, so yeah, so it's very interesting.

47:00So there's hope.

47:01Yes, yes.

47:04But in general, in the literature

47:07and the ideas that are developing the attacks

47:09and the literature that's developing the defense,

47:11who would you say is winning right now?

47:13Right now, of course, it's attack side.

47:15It's much easier to develop attacks,

47:18and there are so many different ways to develop attacks.

47:21Even just us, we developed so many different methods

47:25for doing attacks.

47:27And also you can do white box attacks,

47:29you can do black box attacks,

47:31where attacks you don't even need,

47:34the attacker doesn't even need to know

47:36the architecture of the target system

47:39and not knowing the parameters of the target system

47:42and all that.

47:43So there are so many different types of attacks.

47:46So the counter argument that people would have,

47:49like people that are using machine learning in companies,

47:52they would say, sure, in constrained environments

47:55and very specific data set,

47:57when you know a lot about the model

47:59or you know a lot about the data set already,

48:02you'll be able to do this attack.

48:04It's very nice.

48:05It makes for a nice demo.

48:05It's a very interesting idea,

48:07but my system won't be able to be attacked like this.

48:10The real world systems won't be able to be attacked like this.

48:13That's another hope,

48:16that it's actually a lot harder

48:18to attack real world systems.

48:20Can you talk to that?

48:22How hard is it to attack real world systems?

48:24I wouldn't call that a hope.

48:26I think it's more of a wishful thinking

48:30or trying to be lucky.

48:33So actually in our recent work,

48:37my students and collaborators

48:39has shown some very effective attacks

48:41on real world systems.

48:44For example, Google Translate.

48:46Oh no.

48:47Other cloud translation APIs.

48:54So in this work we showed,

48:56so far I talked about adversary examples

48:58mostly in the vision category.

49:03And of course adversary examples

49:04also work in other domains as well.

49:07For example, in natural language.

49:10So in this work, my students and collaborators

49:14have shown that, so one,

49:17we can actually very easily steal the model

49:22from for example, Google Translate

49:24by just doing queries through the APIs

49:28and then we can train an imitation model ourselves

49:32using the queries.

49:34And then once we,

49:35and also the imitation model can be very, very effective

49:40and essentially achieving similar performance

49:44as a target model.

49:45And then once we have the imitation model,

49:48we can then try to create adversary examples

49:51on these imitation models.

49:52So for example, giving in the work,

49:57it was one example is translating from English to German.

50:01We can give it a sentence saying,

50:04for example, I'm feeling freezing.

50:06It's like six Fahrenheit and then translating to German.

50:13And then we can actually generate adversary examples

50:16that create a target translation

50:18by very small perturbation.

50:20So in this case, I say we want to change the translation

50:24itself six Fahrenheit to 21 Celsius.

50:30And in this particular example,

50:32actually we just changed six to seven in the original

50:36sentence, that's the only change we made.

50:38It caused the translation to change from the six Fahrenheit

50:44into 21 Celsius.

50:46That's incredible.

50:47And then, so this example,

50:49we created this example from our imitation model

50:54and then this work actually transfers

50:56to the Google Translate.

50:58So the attacks that work on the imitation model,

51:01in some cases at least, transfer to the original model.

51:05That's incredible and terrifying.

51:07Okay, that's amazing work.

51:10And that shows that, again,

51:11real world systems actually can be easily fooled.

51:15And in our previous work,

51:16we also showed this type of black box attacks

51:18can be effective on cloud vision APIs as well.

51:24So that's for natural language and for vision.

51:27Let's talk about another space that people

51:29have some concern about, which is autonomous driving

51:32as sort of security concerns.

51:35That's another real world system.

51:36So do you have, should people be worried

51:42about adversarial machine learning attacks

51:45in the context of autonomous vehicles

51:47that use like Tesla Autopilot, for example,

51:50that uses vision as a primary sensor

51:52for perceiving the world and navigating that world?

51:55What do you think?

51:56From your stop sign work in the physical world,

52:00should people be worried?

52:01How hard is that attack?

52:03So actually there has already been,

52:05like there has always been like research shown

52:09that's, for example, actually even with Tesla,

52:11like if you put a few stickers on the road,

52:15it can actually, when it's arranged in certain ways,

52:17it can fool the.

52:20That's right, but I don't think it's actually been,

52:23I'm not, I might not be familiar,

52:24but I don't think it's been done on physical roads yet,

52:28meaning I think it's with a projector

52:29in front of the Tesla.

52:31So it's a physical, so you're on the other side

52:34of the sensor, but you're not in still the physical world.

52:39The question is whether it's possible

52:41to orchestrate attacks that work in the actual,

52:44like end to end attacks,

52:47like not just a demonstration of the concept,

52:49but thinking is it possible on the highway

52:52to control Tesla?

52:53That kind of idea.

52:54I think there are two separate questions.

52:56One is the feasibility of the attack

52:58and I'm 100% confident that the attack is possible.

53:03And there's a separate question,

53:05whether someone will actually go deploy that attack.

53:10I hope people do not do that,

53:13but that's two separate questions.

53:15So the question on the word feasibility.

53:19So to clarify, feasibility means it's possible.

53:22It doesn't say how hard it is,

53:25because to implement it.

53:28So sort of the barrier,

53:29like how much of a heist it has to be,

53:32like how many people have to be involved?

53:34What is the probability of success?

53:36That kind of stuff.

53:37And coupled with how many evil people there are in the world

53:41that would attempt such an attack, right?

53:43But the two, my question is, is it sort of,

53:46when I talked to Elon Musk and asked the same question,

53:52he says, it's not a problem.

53:53It's very difficult to do in the real world.

53:55That this won't be a problem.

53:57He dismissed it as a problem

53:58for adversarial attacks on the Tesla.

54:01Of course, he happens to be involved with the company.

54:04So he has to say that,

54:06but I mean, let me linger in a little longer.

54:12Where does your confidence that it's feasible come from?

54:15And what's your intuition, how people should be worried

54:18and how we might be, how people should defend against it?

54:21How Tesla, how Waymo, how other autonomous vehicle companies

54:25should defend against sensory based attacks,

54:29whether on Lidar or on vision or so on.

54:32And also even for Lidar, actually,

54:33there has been research shown that even Lidar itself

54:36can be attacked. No, no, no, no, no, no.

54:38It's really important to pause.

54:40There's really nice demonstrations that it's possible to do,

54:44but there's so many pieces that it's kind of like,

54:49it's kind of in the lab.

54:51Now it's in the physical world,

54:53meaning it's in the physical space, the attacks,

54:55but it's very like, you have to control a lot of things.

54:58To pull it off, it's like the difference

55:02between opening a safe when you have it

55:05and you have unlimited time and you can work on it

55:08versus like breaking into like the crown,

55:12stealing the crown jewels and whatever, right?

55:14I mean, so one way to look at it

55:16in terms of how real these attacks can be,

55:20one way to look at it is that actually

§07Transcript · 55:21–1:05:16

55:21you don't even need any sophisticated attacks.

55:25Already we've seen many real world examples, incidents

55:30where showing that the vehicle

55:32was making the wrong decision.

55:34The wrong decision without attacks, right?

55:36Right, right.

55:37So that's one way to demonstrate.

55:38And this is also, like so far we've mainly talked about work

55:41in this adversarial setting, showing that

55:44today's learning system,

55:46they are so vulnerable to the adversarial setting,

55:48but at the same time, actually we also know

55:51that even in natural settings,

55:53these learning systems, they don't generalize well

55:55and hence they can really misbehave

55:58under certain situations like what we have seen.

56:02And hence I think using that as an example,

56:04it can show that these issues can be real.

56:08They can be real, but so there's two cases.

56:10One is something, it's like perturbations

56:14can make the system misbehave

56:16versus make the system do one specific thing

56:19that the attacker wants, as you said, the targeted attack.

56:23That seems to be very difficult,

56:27like an extra level of difficult step in the real world.

56:31But from the perspective of the passenger of the car,

56:35I don't think it matters either way,

56:38whether it's misbehavior or a targeted attack.

56:42And also, and that's why I was also saying earlier,

56:45like one defense is this multi model defense

56:48and more of these consistent checks and so on.

56:51So in the future, I think also it's important

56:53that for these autonomous vehicles,

56:56they have lots of different sensors

56:58and they should be combining all these sensory readings

57:02to arrive at the decision and the interpretation

57:06of the world and so on.

57:08And the more of these sensory inputs they use

57:12and the better they combine the sensory inputs,

57:14the harder it is going to be attacked.

57:16And hence, I think that is a very important direction

57:19for us to move towards.

57:21So multi model, multi sensor across multiple cameras,

57:25but also in the case of car, radar, ultrasonic, sound even.

57:30So all of those.

57:31Right, right, right, exactly.

57:33So another thing, another part of your work

57:36has been in the space of privacy.

57:39And that too can be seen

57:40as a kind of security vulnerability.

57:43So thinking of data as a thing that should be protected

57:47and the vulnerabilities to data is vulnerability

57:52is essentially the thing that you wanna protect

57:55is the privacy of that data.

57:56So what do you see as the main vulnerabilities

57:59in the privacy of data and how do we protect it?

58:02Right, so in security we actually talk about

58:05essentially two, in this case, two different properties.

58:10One is integrity and one is confidentiality.

58:13So what we have been talking earlier

58:17is essentially the integrity of,

58:20the integrity property of the learning system.

58:22How to make sure that the learning system

58:24is giving the right prediction, for example.

58:29And privacy essentially is on the other side

58:32is about confidentiality of the system

58:34is how attackers can,

58:37when the attackers compromise

58:39the confidentiality of the system,

58:42that's when the attacker steal sensitive information,

58:46right, about individuals and so on.

58:48That's really clean, those are great terms.

58:51Integrity and confidentiality.

58:53Right.

58:54So how, what are the main vulnerabilities to privacy,

58:58would you say, and how do we protect against it?

59:01Like what are the main spaces and problems

59:04that you think about in the context of privacy?

59:07Right, so especially in the machine learning setting.

59:12So in this case, as we know that how the process goes

59:16is that we have the training data

59:19and then the machine learning system trains

59:23from this training data and then builds a model

59:26and then later on inputs are given to the model

59:29to, at inference time, to try to get prediction and so on.

59:34So then in this case, the privacy concerns that we have

59:38is typically about privacy of the data in the training data

59:43because that's essentially the private information.

59:45So, and it's really important

59:49because oftentimes the training data

59:52can be very sensitive.

59:54It can be your financial data, it's your health data,

59:57or like in IoT case,

59:59it's the sensors deployed in real world environment

60:03and so on.

60:04And all this can be collecting very sensitive information.

60:08And all the sensitive information gets fed

60:11into the learning system and trains.

60:13And as we know, these neural networks,

60:16they can have really high capacity

60:19and they actually can remember a lot.

60:23And hence just from the learning,

60:25the learned model in the end,

60:27actually attackers can potentially infer information

60:31about the original training data sets.

60:36So the thing you're trying to protect

60:38that is the confidentiality of the training data.

60:42And so what are the methods for doing that?

60:44Would you say, what are the different ways

60:46that can be done?

60:47And also we can talk about essentially

60:49how the attacker may try to learn information from the...

60:54So, and also there are different types of attacks.

60:57So in certain cases, again, like in white box attacks,

61:01we can see that the attacker actually get to see

61:03the parameters of the model.

61:05And then from that, a smart attacker potentially

61:08can try to figure out information

61:11about the training data set.

61:13They can try to figure out what type of data

61:16has been in the training data sets.

61:18And sometimes they can tell like,

61:21whether a person has been...

61:23A particular person's data point has been used

61:27in the training data sets as well.

61:29So white box, meaning you have access to the parameters

61:31of say a neural network.

61:33And so that you're saying that it's some...

61:36Given that information is possible to some...

61:38So I can give you some examples.

61:40And then another type of attack,

61:41which is even easier to carry out is not a white box model.

61:46It's more of just a query model where the attacker

61:49only gets to query the machine learning model

61:52and then try to steal sensitive information

61:55in the original training data.

61:57So, right, so I can give you an example.

62:00In this case, training a language model.

62:03So in our work, in collaboration

62:06with the researchers from Google,

62:08we actually studied the following question.

62:10So at high level, the question is,

62:13as we mentioned, the neural networks

62:15can have very high capacity and they could be remembering

62:18a lot from the training process.

62:21Then the question is, can attacker actually exploit this

62:25and try to actually extract sensitive information

62:28in the original training data sets

62:31through just querying the learned model

62:34without even knowing the parameters of the model,

62:37like the details of the model

62:38or the architectures of the model and so on.

62:41So that's a question we set out to explore.

62:46And in one of the case studies, we showed the following.

62:50So we trained a language model over an email data set.

62:55It's called an Enron email data set.

62:57And the Enron email data sets naturally contained

63:01users social security numbers and credit card numbers.

63:05So we trained a language model over the data sets

63:08and then we showed that an attacker

63:11by devising some new attacks

63:13by just querying the language model

63:15and without knowing the details of the model,

63:19the attacker actually can extract

63:23the original social security numbers and credit card numbers

63:26that were in the original training data sets.

63:30So get the most sensitive personally identifiable information

63:33from the data set from just querying it.

63:38Right, yeah.

63:39So that's an example showing that's why

63:42even as we train machine learning models,

63:45we have to be really careful

63:48with protecting users data privacy.

63:51So what are the mechanisms for protecting?

63:53Is there hopeful?

63:55So there's been recent work on differential privacy,

63:58for example, that provides some hope,

64:02but can you describe some of the ideas?

64:04Right, so that's actually, right.

64:05So that's also our finding is that by actually,

64:09we show that in this particular case,

64:12we actually have a good defense.

64:14For the querying case, for the language model case.

64:17So instead of just training a vanilla language model,

64:23instead, if we train a differentially private language model,

64:26then we can still achieve similar utility,

64:31but at the same time, we can actually significantly enhance

64:34the privacy protection of the learned model.

64:39And our proposed attacks actually are no longer effective.

64:44And differential privacy is a mechanism

64:47of adding some noise,

64:49by which you then have some guarantees on the inability

64:52to figure out the presence of a particular person

64:58in the dataset.

64:59So right, so in this particular case,

65:01what the differential privacy mechanism does

65:05is that it actually adds perturbation

65:09in the training process.

65:10As we know, during the training process,

65:12we are learning the model, we are doing gradient updates,

§08Transcript · 1:05:16–1:15:34

65:16the weight updates and so on.

65:19And essentially, differential privacy,

65:22a differentially private machine learning algorithm

65:26in this case, will be adding noise

65:29and adding various perturbation during this training process.

65:33To some aspect of the training process.

65:35Right, so then the finally trained learning,

65:39the learned model is differentially private,

65:42and so it can enhance the privacy protection.

65:46So okay, so that's the attacks and the defense of privacy.

65:51You also talk about ownership of data.

65:54So this is a really interesting idea

65:56that we get to use many services online

65:59for seemingly for free by essentially,

66:04sort of a lot of companies are funded through advertisement.

66:06And what that means is the advertisement works

66:09exceptionally well because the companies are able

66:12to access our personal data,

66:13so they know which advertisement to service

66:16to do targeted advertisements and so on.

66:18So can you maybe talk about this?

66:21You have some nice paintings of the future,

66:26philosophically speaking future

66:28where people can have a little bit more control

66:31of their data by owning

66:33and maybe understanding the value of their data

66:36and being able to sort of monetize it

66:40in a more explicit way as opposed to the implicit way

66:43that it's currently done.

66:45Yeah, I think this is a fascinating topic

66:47and also a really complex topic.

66:51Right, I think there are these natural questions,

66:53who should be owning the data?

66:58And so I can draw one analogy.

67:03So for example, for physical properties,

67:06like your house and so on.

67:08So really this notion of property rights

67:13it's not like from day one,

67:17we knew that there should be like this clear notion

67:20of ownership of properties and having enforcement for this.

67:25And so actually people have shown

67:29that this establishment and enforcement of property rights

67:34has been a main driver for the economy earlier.

67:42And that actually really propelled the economic growth

67:47even in the earlier stage.

67:50So throughout the history of the development

67:53of the United States or actually just civilization,

67:56the idea of property rights that you can own property.

67:59Right, and then there's enforcement.

68:01There's institutional rights,

68:04that governmental like enforcements of this

68:07actually has been a key driver for economic growth.

68:12And there had been even research or proposals saying

68:16that for a lot of the developing countries,

68:22essentially the challenge in growth

68:25is not actually due to the lack of capital.

68:28It's more due to the lack of this notion of property rights

68:34and the enforcement of property rights.

68:37Interesting, so that the presence of absence

68:41of both the concept of the property rights

68:45and their enforcement has a strong correlation

68:48to economic growth.

68:49Right, right.

68:50And so you think that that same could be transferred

68:54to the idea of property ownership

68:56in the case of data ownership.

68:57I think first of all, it's a good lesson for us

69:01to recognize that these rights and the recognition

69:06and the enforcements of these type of rights

69:10is very, very important for economic growth.

69:13And then if we look at where we are now

69:15and where we are going in the future,

69:18so essentially more and more

69:19is actually moving into the digital world.

69:23And also more and more, I would say,

69:26even information or assets of a person

69:30is more and more into the real world,

69:33the physical, sorry, the digital world as well.

69:35It's the data that the person has generated.

69:39And essentially it's like in the past

69:43what defines a person, you can say,

69:45right, like oftentimes besides the innate capabilities,

69:50actually it's the physical properties.

69:54House, car.

69:55Right, that defines a person.

69:56But I think more and more people start to realize

69:59actually what defines a person

70:01is more important in the data

70:03that the person has generated

70:04or the data about the person.

70:07Like all the way from your political views,

70:10your music taste and your financial information,

70:14a lot of these and your health.

70:16So more and more of the definition of the person

70:20is actually in the digital world.

70:22And currently for the most part, that's owned implicitly.

70:26People don't talk about it,

70:27but kind of it's owned by internet companies.

70:33So it's not owned by individuals.

70:34Right, there's no clear notion of ownership of such data.

70:39And also we talk about privacy and so on,

70:41but I think actually clearly identifying the ownership

70:45is a first step.

70:46Once you identify the ownership,

70:48then you can say who gets to define

70:50how the data should be used.

70:52So maybe some users are fine with internet companies

70:57serving them as, right, using their data

71:02as long as if the data is used in a certain way

71:05that actually the user consents with or allows.

71:11For example, you can see the recommendation system

71:14in some sense, we don't call it as,

71:16but a recommendation system,

71:18similarly it's trying to recommend you something

71:20and users enjoy and can really benefit

71:23from good recommendation systems,

71:25either recommending you better music, movies, news,

71:29even research papers to read.

71:32But of course then in these targeted ads,

71:35especially in certain cases where people can be manipulated

71:40by these targeted ads that can have really bad,

71:44like severe consequences.

71:45So essentially users want their data to be used

71:50to better serve them and also maybe even, right,

71:53get paid for or whatever, like in different settings.

71:56But the thing is that first of all,

71:57we need to really establish like who needs to decide,

72:03who can decide how the data should be used.

72:06And typically the establishment and clarification

72:10of the ownership will help this

72:12and it's an important first step.

72:14So if the user is the owner,

72:16then naturally the user gets to define

72:18how the data should be used.

72:19But if you even say that wait a minute,

72:22users are actually now the owner of this data,

72:24whoever is collecting the data is the owner of the data.

72:26Now of course they get to use the data

72:28however way they want.

72:29So to really address these complex issues,

72:33we need to go at the root cause.

72:35So it seems fairly clear that so first we really need to say

72:41that who is the owner of the data

72:42and then the owners can specify

72:45how they want their data to be utilized.

72:47So that's a fascinating,

72:50most people don't think about that

72:52and I think that's a fascinating thing to think about

72:54and probably fight for it.

72:57I can only see in the economic growth argument,

72:59it's probably a really strong one.

73:01So that's a first time I'm kind of at least thinking

73:04about the positive aspect of that ownership

73:08being the longterm growth of the economy,

73:11so good for everybody.

73:12But sort of one down possible downside I could see

73:15sort of to put on my grumpy old grandpa hat

73:21and it's really nice for Facebook and YouTube and Twitter

73:25to all be free.

73:28And if you give control to people or their data,

73:31do you think it's possible they will be,

73:34they would not want to hand it over quite easily?

73:37And so a lot of these companies that rely on mass handover

73:42of data and then therefore provide a mass

73:46seemingly free service would then completely,

73:51so the way the internet looks will completely change

73:56because of the ownership of data

73:57and we'll lose a lot of services value.

74:00Do you worry about that?

74:02That's a very good question.

74:03I think that's not necessarily the case

74:06in the sense that yes, users can have ownership

74:10of their data, they can maintain control of their data,

74:12but also then they get to decide how their data can be used.

74:17So that's why I mentioned earlier,

74:19so in this case, if they feel that they enjoy the benefits

74:23of social networks and so on,

74:25and they're fine with having Facebook, having their data,

74:29but utilizing the data in certain way that they agree,

74:33then they can still enjoy the free services.

74:37But for others, maybe they would prefer

74:40some kind of private vision.

74:41And in that case, maybe they can even opt in

74:44to say that I want to pay and to have,

74:47so for example, it's already fairly standard,

74:50like you pay for certain subscriptions

74:53so that you don't get to be shown ads, right?

74:59So then users essentially can have choices.

75:01And I think we just want to essentially bring out

75:06more about who gets to decide what to do with that data.

75:10I think it's an interesting idea,

75:11because if you poll people now,

75:15it seems like, I don't know,

75:16but subjectively, sort of anecdotally speaking,

75:19it seems like a lot of people don't trust Facebook.

75:22So that's at least a very popular thing to say

75:24that I don't trust Facebook, right?

75:26I wonder if you give people control of their data

75:30as opposed to sort of signaling to everyone

75:33that they don't trust Facebook,

§09Transcript · 1:15:34–1:25:49

75:34I wonder how they would speak with the actual,

75:37like would they be willing to pay $10 a month for Facebook

75:42or would they hand over their data?

75:44It'd be interesting to see what fraction of people

75:47would quietly hand over their data to Facebook

75:51to make it free.

75:52I don't have a good intuition about that.

75:54Like how many people, do you have an intuition

75:57about how many people would use their data effectively

76:01on the market of the internet

76:06by sort of buying services with their data?

76:10Yeah, so that's a very good question.

76:12I think, so one thing I also want to mention

76:15is that this, right, so it seems that especially in press,

76:22the conversation has been very much like

76:26two sides fighting against each other.

76:29On one hand, right, users can say that, right,

76:33they don't trust Facebook, they don't,

76:35or they delete Facebook.

76:37Yeah, exactly.

76:39Right, and then on the other hand, right, of course,

76:45right, the other side, they also feel,

76:48oh, they are providing a lot of services to users

76:50and users are getting it all for free.

76:53So I think I actually, I don't know,

76:57I talk a lot to like different companies

77:00and also like basically on both sides.

77:04So one thing I hope also like,

77:07this is my hope for this year also,

77:09is that we want to establish a more constructive dialogue

77:16and to help people to understand

77:18that the problem is much more nuanced

77:21than just this two sides fighting.

77:25Because naturally, there is a tension between the two sides,

77:30between utility and privacy.

77:33So if you want to get more utility, essentially,

77:36like the recommendation system example I gave earlier,

77:40if you want someone to give you a good recommendation,

77:43essentially, whatever that system is,

77:45the system is going to need to know your data

77:48to give you a good recommendation.

77:52But also, of course, at the same time,

77:53we want to ensure that however that data is being handled,

77:56it's done in a privacy preserving way.

77:59So that, for example, the recommendation system

78:02doesn't just go around and sell your data

78:05and then cause a lot of bad consequences and so on.

78:12So you want that dialogue to be a little bit more

78:15in the open, a little more nuanced,

78:18and maybe adding control to the data,

78:20ownership to the data will allow,

78:24as opposed to this happening in the background,

78:26allow to bring it to the forefront

78:28and actually have dialogues, like more nuanced,

78:32real dialogues about how we trade our data for the services.

78:37That's the hope.

78:38Right, right, yes, at the high level.

78:41So essentially, also knowing that there are

78:42technical challenges in addressing the issue,

78:47like basically you can't have,

78:50just like the example that I gave earlier,

78:53it's really difficult to balance the two

78:55between utility and privacy.

78:57And that's also a lot of things that I work on,

79:01my group works on as well,

79:03is to actually develop these technologies that are needed

79:08to essentially help this balance better,

79:12essentially to help data to be utilized

79:14in a privacy preserving way.

79:16And so we essentially need people to understand

79:19the challenges and also at the same time

79:22to provide the technical abilities

79:26and also regulatory frameworks to help the two sides

79:29to be more in a win win situation instead of a fight.

79:33Yeah, the fighting thing is,

79:36I think YouTube and Twitter and Facebook

79:38are providing an incredible service to the world

79:41and they're all making a lot of money

79:44and they're all making mistakes, of course,

79:47but they're doing an incredible job

79:50that I think deserves to be applauded

79:53and there's some degree of,

79:55like it's a cool thing that's created

79:59and it shouldn't be monolithically fought against,

80:04like Facebook is evil or so on.

80:06Yeah, it might make mistakes,

80:07but I think it's an incredible service.

80:10I think it's world changing.

80:12I mean, I think Facebook's done a lot of incredible,

80:16incredible things by bringing, for example, identity.

80:20Like allowing people to be themselves,

80:25like their real selves in the digital space

80:28by using their real name and their real picture.

80:31That step was like the first step from the real world

80:34to the digital world.

80:35That was a huge step that perhaps will define

80:38the 21st century in us creating a digital identity.

80:41And there's a lot of interesting possibilities there

80:44that are positive.

80:45Of course, some things that are negative

80:47and having a good dialogue about that is great.

80:50And I'm great that people like you

80:51are at the center of that dialogue, so that's awesome.

80:54Right, I think also, I also can understand.

80:58I think actually in the past,

81:00especially in the past couple of years,

81:03this rising awareness has been helpful.

81:07Like users are also more and more recognizing

81:10that privacy is important to them.

81:12They should, maybe, right,

81:14they should be owners of their data.

81:15I think this definitely is very helpful.

81:18And I think also this type of voice also,

81:23and together with the regulatory framework and so on,

81:27also help the companies to essentially put

81:31these type of issues at a higher priority.

81:33And knowing that, right, also it is their responsibility too

81:38to ensure that users are well protected.

81:42So I think definitely the rising voice is super helpful.

81:47And I think that actually really has brought

81:50the issue of data privacy

81:52and even this consideration of data ownership

81:55to the forefront to really much wider community.

82:00And I think more of this voice is needed,

82:03but I think it's just that we want to have

82:05a more constructive dialogue to bring the both sides together

82:10to figure out a constructive solution.

82:13So another interesting space

82:15where security is really important

82:16is in the space of any kinds of transactions,

82:20but it could be also digital currency.

82:22So can you maybe talk a little bit about blockchain?

82:27And can you tell me what is a blockchain?

82:30Blockchain.

82:32I think the blockchain word itself

82:34is actually very overloaded.

82:37Of course.

82:38In general.

82:39It's like AI.

82:40Right, yes.

82:42So in general, when we talk about blockchain,

82:43we refer to this distributor in a decentralized fashion.

82:47So essentially you have a community of nodes

82:53that come together.

82:54And even though each one may not be trusted,

82:59and as long as a certain thresholds

83:02of the set of nodes behaves properly,

83:07then the system can essentially achieve certain properties.

83:11For example, in the distributed ledger setting,

83:15you can maintain an immutable log

83:18and you can ensure that, for example,

83:22the transactions actually are agreed upon

83:25and then it's immutable and so on.

83:28So first of all, what's a ledger?

83:29So it's a...

83:30It's like a database.

83:31It's like a data entry.

83:33And so a distributed ledger

83:35is something that's maintained across

83:37or is synchronized across multiple sources, multiple nodes.

83:41Multiple nodes, yes.

83:43And so where is this idea?

83:46How do you keep...

83:48So it's important, a ledger, a database,

83:51to keep that, to make sure...

83:55So what are the kinds of security vulnerabilities

83:58that you're trying to protect against

84:01in the context of a distributed ledger?

84:04So in this case, for example,

84:06you don't want some malicious nodes

84:09to be able to change the transaction logs.

84:12And in certain cases, it's called double spending,

84:15like you can also cause different views

84:19in different parts of the network and so on.

84:22So the ledger has to represent,

84:24if you're capturing financial transactions,

84:27it has to represent the exact timing

84:29and the exact occurrence and no duplicates,

84:32all that kind of stuff.

84:33It has to represent what actually happened.

84:37Okay, so what are your thoughts

84:40on the security and privacy of digital currency?

84:43I can't tell you how many people write to me

84:47to interview various people in the digital currency space.

84:51There seems to be a lot of excitement there.

84:54And it seems to be, some of it's, to me,

84:57from an outsider's perspective, seems like dark magic.

85:01I don't know how secure...

85:06I think the foundation, from my perspective,

85:08of digital currencies, that is, you can't trust anyone.

85:13So you have to create a really secure system.

85:16So can you maybe speak about how,

85:19what your thoughts in general about digital currency is

85:22and how we can possibly create financial transactions

85:26and financial stores of money in the digital space?

85:31So you asked about security and privacy.

85:35So again, as I mentioned earlier,

85:37in security, we actually talk about two main properties,

85:42the integrity and confidentiality.

85:45So there's another one for availability.

§10Transcript · 1:25:49–1:36:22

85:49You want the system to be available.

85:50But here, for the question you asked,

85:52let's just focus on integrity and confidentiality.

85:57So for integrity of this distributed ledger,

86:00essentially, as we discussed,

86:01we want to ensure that the different nodes,

86:06so they have this consistent view,

86:08usually it's done through what we call a consensus protocol,

86:13and that they establish this shared view on this ledger,

86:18and that you cannot go back and change,

86:21it's immutable, and so on.

86:25So in this case, then the security often refers

86:28to this integrity property.

86:31And essentially, you're asking the question,

86:34how much work, how can you attack the system

86:38so that the attacker can change the lock, for example?

86:43Change the lock, for example.

86:46Right, how hard is it to make an attack like that?

86:48Right, right.

86:49And then that very much depends on the consensus mechanism,

86:55how the system is built, and all that.

86:57So there are different ways

86:59to build these decentralized systems.

87:02And people may have heard about the terms called

87:05like proof of work, proof of stake,

87:07these different mechanisms.

87:09And it really depends on how the system has been built,

87:14and also how much resources,

87:17how much work has gone into the network

87:20to actually say how secure it is.

87:24So for example, people talk about like,

87:26in Bitcoin, it's proof of work system,

87:28so much electricity has been burned.

87:32So there's differences in the different mechanisms

87:35and the implementations of a distributed ledger

87:37used for digital currency.

87:40So there's Bitcoin, there's whatever,

87:42there's so many of them,

87:43and there's underlying different mechanisms.

87:46And there's arguments, I suppose,

87:48about which is more effective, which is more secure,

87:51which is more.

87:52And what is needed,

87:54what amount of resources needed

87:56to be able to attack the system?

88:00Like for example, what percentage of the nodes

88:02do you need to control or compromise

88:06in order to, right, to change the log?

88:09And those are things, do you have a sense

88:12if those are things that can be shown theoretically

88:15through the design of the mechanisms,

88:17or does it have to be shown empirically

88:19by having a large number of users using the currency?

88:23I see.

88:24So in general, for each consensus mechanism,

88:27you can actually show theoretically

88:30what is needed to be able to attack the system.

88:34Of course, there can be different types of attacks

88:37as we discussed at the beginning.

88:41And so that it's difficult to give

88:46like, you know, complete estimates,

88:50like really how much is needed to compromise the system.

88:55But in general, right, so there are ways to say

88:57what percentage of the nodes you need to compromise

89:01and so on.

89:03So we talked about integrity on the security side,

89:07and then you also mentioned the privacy

89:11or the confidentiality side.

89:13Does it have some of the same problems

89:17and therefore some of the same solutions

89:19that you talked about on the machine learning side

89:21with differential privacy and so on?

89:24Yeah, so actually in general on the public ledger

89:29in these public decentralized systems,

89:33actually nothing is private.

89:34So all the transactions posted on the ledger,

89:38anybody can see.

89:40So in that sense, there's no confidentiality.

89:43So usually what you can do is then

89:48there are the mechanisms that you can build in

89:50to enable confidentiality or privacy of the transactions

89:55and the data and so on.

89:56That's also some of the work that both my group

90:00and also my startup does as well.

90:04What's the name of the startup?

90:05Oasis Labs.

90:06Oasis Labs.

90:07And so the confidentiality aspect there

90:11is even though the transactions are public,

90:15you wanna keep some aspect confidential

90:18of the identity of the people involved in the transactions?

90:21Or what is their hope to keep confidential in this context?

90:25So in this case, for example,

90:26you want to enable like confidential transactions,

90:31even, so there are different essentially types of data

90:37that you want to keep private or confidential.

90:40And you can utilize different technologies

90:43including zero knowledge proofs

90:45and also secure computing and techniques

90:50and to hide who is making the transactions to whom

90:56and the transaction amount.

90:58And in our case, also we can enable

91:00like confidential smart contracts.

91:02And so that you don't know the data

91:06and the execution of the smart contract and so on.

91:09And we actually are combining these different technologies

91:14and going back to the earlier discussion we had,

91:20enabling like ownership of data and privacy of data and so on.

91:26So at Oasis Labs, we're actually building

91:29what we call a platform for responsible data economy

91:33to actually combine these different technologies together

91:36and to enable secure and privacy preserving computation

91:41and also using the library to help provide immutable log

91:48of users ownership to their data

91:51and the policies they want the data to adhere to,

91:54the usage of the data to adhere to

91:56and also how the data has been utilized.

91:59So all this together can build,

92:02we call a distributed secure computing fabric

92:06that helps to enable a more responsible data economy.

92:10So it's a lot of things together.

92:11Yeah, wow, that was eloquent.

92:13Okay, you're involved in so much amazing work

92:17that we'll never be able to get to,

92:18but I have to ask at least briefly about program synthesis,

92:22which at least in a philosophical sense captures

92:26much of the dreams of what's possible in computer science

92:30and the artificial intelligence.

92:33First, let me ask, what is program synthesis

92:36and can neural networks be used to learn programs from data?

92:41So can this be learned?

92:43Some aspect of the synthesis can it be learned?

92:46So program synthesis is about teaching computers

92:49to write code, to program.

92:52And I think that's one of our ultimate dreams or goals.

93:00I think Andreessen talked about software eating the world.

93:05So I say, once we teach computers to write the software,

93:10how to write programs, then I guess computers

93:13will be eating the world by transitivity.

93:16Yeah, exactly.

93:17So yeah, and also for me actually,

93:23when I shifted from security to more AI machine learning,

93:28program synthesis is,

93:31program synthesis and adversarial machine learning,

93:33these are the two fields that I particularly focus on.

93:38Like program synthesis is one of the first questions

93:40that I actually started investigating.

93:42Just as a question, oh, I guess from the security side,

93:46there's a, you're looking for holes in programs,

93:49so at least see small connection,

93:51but where was your interest for program synthesis?

93:56Because it's such a fascinating, such a big,

93:58such a hard problem in the general case.

94:01Why program synthesis?

94:03So the reason for that is actually when I shifted my focus

94:06from security into AI machine learning,

94:12actually one of my main motivation at the time

94:16is that even though I have been doing a lot of work

94:19in security and privacy,

94:20but I have always been fascinated

94:22about building intelligent machines.

94:26And that was really my main motivation

94:30to spend more time in AI machine learning

94:32is that I really want to figure out

94:35how we can build intelligent machines.

94:37And to help us towards that goal,

94:43program synthesis is really one of,

94:45I would say the best domain to work on.

94:49I actually call it like program synthesis

94:52is like the perfect playground

94:54for building intelligent machines

94:57and for artificial general intelligence.

94:59Yeah, well, it's also in that sense,

95:03not just a playground,

95:04I guess it's the ultimate test of intelligence

95:06because I think if you can generate sort of neural networks

95:13can learn good functions

95:15and they can help you out in classification tasks,

95:19but to be able to write programs,

95:21that's the epitome from the machine side.

95:24That's the same as passing the Turing test

95:26in natural language, but with programs,

95:29it's able to express complicated ideas

95:32to reason through ideas and boil them down to algorithms.

95:38Yes, exactly, exactly.

95:39Incredible, so can this be learned?

95:41How far are we?

95:43Is there hope?

95:44What are the open challenges?

95:46Yeah, very good questions.

95:48We are still at an early stage,

95:51but already I think we have seen a lot of progress.

95:56I mean, definitely we have existence proof,

95:59just like humans can write programs.

96:02So there's no reason why computers cannot write programs.

96:05So I think that's definitely an achievable goal

96:08is just how long it takes.

96:11And even today, we actually have,

96:17the program synthesis community,

96:19especially the program synthesis via learning,

§11Transcript · 1:36:22–1:46:14

96:22how we call it, neuro program synthesis community,

96:24is still very small, but the community has been growing

96:28and we have seen a lot of progress.

96:31And in limited domains, I think actually program synthesis

96:37is ripe for real world applications.

96:41So actually it was quite amazing.

96:42I was giving a talk, so here is a rework conference.

96:49Rework Deep Learning Summit.

96:50I actually, so I gave another talk

96:52at the previous rework conference

96:54in deep reinforcement learning.

96:56And then I actually met someone from a startup,

97:01the CEO of the startup.

97:04And then when he saw my name, he recognized it.

97:06And he actually said, one of our papers actually had,

97:12they had actually become a key products in their startup.

97:17And that was program synthesis, in that particular case,

97:22it was natural language translation,

97:25translating natural language description into SQL queries.

97:31Oh, wow, that direction, okay.

97:34Right, so yeah, so in program synthesis,

97:37in limited domains, in well specified domains,

97:40actually already we can see really,

97:45really great progress and applicability in the real world.

97:52So domains like, I mean, as an example,

97:54you said natural language,

97:55being able to express something through just normal language

97:59and it converts it into a database SQL query.

98:03Right.

98:03And that's how solved of a problem is that?

98:07Because that seems like a really hard problem.

98:10Again, in limited domains, actually it can work pretty well.

98:14And now this is also a very active domain of research.

98:18At the time, I think when he saw our paper at the time,

98:21we were the state of the arts on that task.

98:25And since then, actually now there has been more work

98:29and with even more like sophisticated data sets.

98:34And so, but I think I wouldn't be surprised

98:38that more of this type of technology

98:41really gets into the real world.

98:43That's exciting.

98:44In the near term.

98:45Being able to learn in the space of programs

98:47is super exciting.

98:49I still, yeah, I'm still skeptical

98:53cause I think it's a really hard problem,

98:54but I would love to see progress.

98:56And also I think in terms of the,

98:58you asked about open challenges.

99:00I think the domain is full of challenges

99:04and in particular also we want to see

99:06how we should measure the progress in the space.

99:09And I would say mainly three main, I would say, metrics.

99:16So one is the complexity of the program

99:18that we can synthesize.

99:20And that will actually have clear measures

99:22and just look at the past publications.

99:25And even like, for example,

99:27I was at the recent NeurIPS conference.

99:30Now there's actually fairly sizable like session

99:33dedicated to program synthesis, which is...

99:35Or even Neural programs.

99:37Right, right, right, which is great.

99:38And we continue to see the increase.

99:43What does sizable mean?

99:44I like the word sizable, it's five people.

99:51It's still a small community, but it is growing.

99:54And they will all win Turing Awards one day, I like it.

99:58Right, so we can clearly see an increase

100:02in the complexity of the programs that these...

100:07We can synthesize.

100:09Sorry, is it the complexity of the actual text

100:12of the program or the running time complexity?

100:15Which complexity are we...

100:17How...

100:18The complexity of the task to be synthesized

100:21and the complexity of the actual synthesized programs.

100:24So the lines of code even, for example.

100:27Okay, I got you.

100:28But it's not the theoretical upper bound

100:32of the running time of the algorithm kind of thing.

100:35Okay, got it.

100:36And you can see the complexity decreasing already.

100:39Oh, no, meaning we want to be able to synthesize

100:42more and more complex programs, bigger and bigger programs.

100:44So we want to see that, we want to increase

100:49the complexity of this.

100:50I got you, so I have to think through,

100:51because I thought of complexity as,

100:53you want to be able to accomplish the same task

100:55with a simpler and simpler program.

100:56I see, I see.

100:57No, we are not doing that.

100:58It's more about how complex a task

101:02we can synthesize programs for.

101:03Yeah, got it, being able to synthesize programs,

101:07learn them for more and more difficult tasks.

101:10So for example, initially, our first work

101:12in program synthesis was to translate natural language

101:16description into really simple programs called if TTT,

101:19if this, then that.

101:21So given a trigger condition,

101:23what is the action you should take?

101:25So that program is super simple.

101:28You just identify the trigger conditions and the action.

101:31And then later on, with SQL queries,

101:33it gets more complex.

101:34And then also, we started to synthesize programs

101:37with loops and, you know.

101:40Oh no, and if you could synthesize recursion,

101:43it's all over.

101:45Right, actually, one of our works actually

101:48is on learning recursive neural programs.

101:50Oh no.

101:51But anyway, anyway, so that's one is complexity,

101:53and the other one is generalization.

101:58Like when we train or learn a program synthesizer,

102:04in this case, a neural programs to synthesize programs,

102:07then you want it to generalize.

102:10For a large number of inputs.

102:13Right, so to be able to generalize

102:15to previously unseen inputs.

102:18Got it.

102:19And so, right, so some of the work we did earlier

102:21on learning recursive neural programs

102:26actually showed that recursion

102:29actually is important to learn.

102:32And if you have recursion,

102:34then for a certain set of tasks,

102:37we can actually show that you can actually

102:39have perfect generalization.

102:42So, right, so that won the best paperwork awards

102:44at ICLR earlier.

102:46So that's one example of we want to learn

102:50these neural programs that can generalize better.

102:53But that works for certain tasks, certain domains,

102:57and there's question how we can essentially

103:01develop more techniques that can have generalization

103:06for a wider set of domains and so on.

103:10So that's another area.

103:11And then the third challenge I think will,

103:15it's not just for programming synthesis,

103:17it's also cutting across other fields

103:20in machine learning and also including

103:24like deep reinforcement learning in particular,

103:26is that this adaptation is that we want to be able

103:33to learn from the past and tasks and training and so on

103:40to be able to solve new tasks.

103:42So for example, in program synthesis today,

103:45we still are working in the setting

103:48where given a particular task,

103:50we train the model and to solve this particular task.

103:57But that's not how humans work.

104:00The whole point is we train a human,

104:03then you can then program to solve new tasks.

104:07Right, exactly.

104:08And just like in deep reinforcement learning,

104:10we don't want to just train agent

104:11to play a particular game,

104:14either it's Atari or it's Go or whatever.

104:19We want to train these agents

104:21that can essentially extract knowledge

104:24from the past learning experience

104:27to be able to adapt to new tasks and solve new tasks.

104:31And I think this is particularly important

104:33for program synthesis.

104:34Yeah, that's the whole dream of program synthesis

104:37is you're learning a tool that can solve new problems.

104:41Right, exactly.

104:42And I think that's a particular domain

104:44that as a community, we need to put more emphasis on.

104:50And I hope that we can make more progress there as well.

104:54Awesome.

104:55There's a lot more to talk about.

104:57Let me ask that you also had a very interesting

105:01and we talked about rich representations.

105:04You had a rich life journey.

105:08You did your bachelor's in China

105:10and your master's and PhD in the United States,

105:12CMU in Berkeley.

105:15Are there interesting differences?

105:16I told you I'm Russian.

105:17I think there's a lot of interesting difference

105:19between Russia and the United States.

105:21Are there in your eyes, interesting differences

105:24between the two cultures from the silly romantic notion

105:30of the spirit of the people to the more practical notion

105:33of how research is conducted that you find interesting

105:37or useful in your own work of having experienced both?

105:42That's a good question.

105:43I think, so I studied in China for my undergraduates

105:50and that was more than 20 years ago.

105:54So it's been a long time.

105:57Is there echoes of that time in you?

105:59Things have changed a lot.

106:00Actually, it's interesting.

106:01I think even more so maybe something

106:04that's even be more different for my experience

106:08than a lot of computer science researchers

106:12and practitioners is that,

§12Transcript · 1:46:14–1:56:02

106:14so for my undergrad, I actually studied physics.

106:16Nice, very nice.

106:18And then I switched to computer science in graduate school.

106:22What happened?

106:26Is there another possible universe

106:29where you could have become a theoretical physicist

106:32at Caltech or something like that?

106:34That's very possible, some of my undergrad classmates,

106:39then they later on studied physics,

106:41got their PhD in physics from these schools,

106:45from top physics programs.

106:49So you switched to, I mean,

106:51from that experience of doing physics in your bachelor's,

106:55what made you decide to switch to computer science

106:59and computer science at arguably the best university,

107:03one of the best universities in the world

107:05for computer science with Carnegie Mellon,

107:07especially for grad school and so on.

107:09So what, second only to MIT, just kidding.

107:13Okay, I had to throw that in there.

107:17No, what was the choice like

107:19and what was the move to the United States like?

107:22What was that whole transition?

107:24And if you remember, if there's still echoes

107:26of some of the spirit of the people of China in you

107:30in New York.

107:31Right, right, yeah.

107:32It's like three questions in one.

107:33Yes, I know.

107:34I'm sorry.

107:36No, that's okay.

107:38So yes, so I guess, okay,

107:40so first transition from physics to computer science.

107:43So when I first came to the United States,

107:45I was actually in the physics PhD program at Cornell.

107:49I was there for one year

107:50and then I switched to computer science

107:52and then I was in the PhD program at Carnegie Mellon.

107:56So, okay, so the reasons for switching.

107:59So one thing, so that's why I also mentioned

108:02about this difference in backgrounds

108:04about having studied physics first in my undergrad.

108:09I actually really, I really did enjoy

108:13my undergrad's time and education in physics.

108:18I think that actually really helped me

108:21in my future work in computer science.

108:25Actually, even for machine learning,

108:26a lot of the machine learning stuff,

108:28the core machine learning methods,

108:29many of them actually came from physics.

108:31Statistical.

108:34For honest, most of everything came from physics.

108:39Right, but anyway, so when I studied physics,

108:42I was, I think I was really attracted to physics.

108:49It was, it's really beautiful.

108:51And I actually call it, physics is the language of nature.

108:55And I actually clearly remember, like, one moment

109:01in my undergrads, like I did my undergrad in Tsinghua

109:07and I used to study in the library.

109:10And I clearly remember, like, one day

109:14I was sitting in the library and I was, like,

109:19writing on my notes and so on.

109:21And I got so excited that I realized

109:24that really just from a few simple axioms,

109:28a few simple laws, I can derive so much.

109:31It's almost like I can derive the rest of the world.

109:34Yeah, the rest of the universe.

109:35Yes, yes, so that was, like, amazing.

109:39Do you think you, have you ever seen

109:42or do you think you can rediscover

109:43that kind of power and beauty in computer science

109:46in the world that you...

109:46So, that's very interesting.

109:49So that gets to, you know, the transition

109:51from physics to computer science.

109:53It's quite different.

109:55For physics in grad school, actually, things changed.

110:01So one is I started to realize that

110:05when I started doing research in physics,

110:08at the time I was doing theoretical physics.

110:11And a lot of it, you still have the beauty,

110:14but it's very different.

110:16So I had to actually do a lot of the simulation.

110:18So essentially I was actually writing,

110:20in some cases writing fortune code.

110:23Good old fortune, yeah.

110:26To actually, right, do simulations and so on.

110:32That was not exactly what I enjoyed doing.

110:42And also at the time from talking with the senior students,

110:47senior students in the program,

110:52I realized many of the students actually were going off

110:55to like Wall Street and so on.

110:58So, and I've always been interested in computer science

111:02and actually essentially taught myself

111:06the C programming.

111:07Program?

111:08Right, and so on.

111:09At which, when?

111:10In college.

111:12In college somewhere?

111:12In the summer.

111:14For fun, physics major, learning to do C programming.

111:19Beautiful.

111:20Actually it's interesting, in physics at the time,

111:23I think now the program probably has changed,

111:25but at the time really the only class we had

111:29in related to computer science education

111:34was introduction to, I forgot,

111:36to computer science or computing and Fortran 77.

111:40There's a lot of people that still use Fortran.

111:42I'm actually, if you're a programmer out there,

111:46I'm looking for an expert to talk to about Fortran.

111:49They seem to, there's not many,

111:51but there's still a lot of people that still use Fortran

111:53and still a lot of people that use Cobalt.

111:56But anyway, so then I realized,

112:00instead of just doing programming

112:01for doing simulations and so on,

112:04that I may as well just change to computer science.

112:07And also one thing I really liked,

112:09and that's a key difference between the two,

112:11is in computer science it's so much easier

112:14to realize your ideas.

112:15If you have an idea, you write it up, you code it up,

112:19and then you can see it actually, right?

112:22Exactly.

112:23Running and you can see it.

112:26You can bring it to life quickly.

112:26Bring it to life.

112:27Whereas in physics, if you have a good theory,

112:30you have to wait for the experimentalists

112:33to do the experiments and to confirm the theory,

112:35and things just take so much longer.

112:38And also the reason in physics I decided to do

112:42theoretical physics was because I had my experience

112:45with experimental physics.

112:47First, you have to fix the equipment.

112:50You spend most of your time fixing the equipment first.

112:55Super expensive equipment, so there's a lot of,

112:58yeah, you have to collaborate with a lot of people.

113:00Takes a long time.

113:01Just takes really, right, much longer.

113:03Yeah, it's messy.

113:04Right, so I decided to switch to computer science.

113:06And one thing I think maybe people have realized

113:09is that for people who study physics,

113:11actually it's very easy for physicists

113:13to change to do something else.

113:16I think physics provides a really good training.

113:19And yeah, so actually it was fairly easy

113:23to switch to computer science.

113:26But one thing, going back to your earlier question,

113:29so one thing I actually did realize,

113:32so there is a big difference between computer science

113:34and physics, where physics you can derive

113:37the whole universe from just a few simple laws.

113:41And computer science, given that a lot of it

113:43is defined by humans, the systems are defined by humans,

113:47and it's artificial, like essentially you create

113:53a lot of these artifacts and so on.

113:57It's not quite the same.

113:58You don't derive the computer systems

114:00with just a few simple laws.

114:03You actually have to see there is historical reasons

114:07why a system is built and designed one way

114:10versus the other.

114:12There's a lot more complexity, less elegant simplicity

114:17of E equals MC squared that kind of reduces everything

114:20down to those beautiful fundamental equations.

114:23But what about the move from China to the United States?

114:27Is there anything that still stays in you

114:31that contributes to your work,

114:33the fact that you grew up in another culture?

114:36So yes, I think especially back then

114:38it's very different from now.

114:40So now they actually, I see these students

114:46coming from China, and even undergrads,

114:49actually they speak fluent English.

114:51It was just amazing.

114:54And they have already understood so much of the culture

114:59in the US and so on.

115:00It was to you, it was all foreign?

115:04It was a very different time.

115:06At the time, actually, we didn't even have easy access

115:11to email, not to mention about the web.

115:16I remember I had to go to specific privileged server rooms

115:22to use email, and hence, at the time,

115:27at the time we had much less knowledge

115:30about the Western world.

115:32And actually at the time I didn't know,

115:35actually in the US, the West Coast weather

115:38is much better than the East Coast.

115:40Yeah, things like that, actually.

115:45It's very interesting.

115:48But now it's so different.

115:50At the time, I would say there's also

115:52a bigger cultural difference,

115:53because there was so much less opportunity

115:58for shared information.

115:59So it's such a different time and world.

§13Transcript · 1:56:02–2:04:49

116:02So let me ask maybe a sensitive question.

116:04I'm not sure, but I think you and I

116:07are in similar positions.

116:08I've been here for already 20 years as well,

116:13and looking at Russia from my perspective,

116:15and you looking at China.

116:16In some ways, it's a very distant place,

116:19because it's changed a lot.

116:21But in some ways you still have echoes,

116:23you still have knowledge of that place.

116:25The question is, China's doing a lot

116:27of incredible work in AI.

116:29Do you see, please tell me

116:32there's an optimistic picture you see

116:34where the United States and China

116:36can collaborate and sort of grow together

116:38in the development of AI towards,

116:41there's different values in terms

116:43of the role of government and so on,

116:44of ethical, transparent, secure systems.

116:48We see it differently in the United States

116:50a little bit than China,

116:51but we're still trying to work it out.

116:53Do you see the two countries being able

116:55to successfully collaborate and work

116:57in a healthy way without sort of fighting

117:01and making it an AI arms race kind of situation?

117:06Yeah, I believe so.

117:08I think science has no border,

117:10and the advancement of the technology helps everyone,

117:16helps the whole world.

117:18And so I certainly hope that the two countries

117:21will collaborate, and I certainly believe so.

117:26Do you have any reason to believe so

117:28except being an optimist?

117:32So first, again, like I said, science has no borders.

117:35And especially in...

117:36Science doesn't know borders?

117:38Right.

117:39And you believe that will,

117:41in the former Soviet Union during the Cold War...

117:44So that's, yeah.

117:45So that's the other point I was going to mention

117:47is that especially in academic research,

117:51everything is public.

117:52Like we write papers, we open source codes,

117:55and all this is in the public domain.

117:59It doesn't matter whether the person is in the US,

118:01in China, or some other parts of the world.

118:04They can go on archive

118:06and look at the latest research and results.

118:09So that openness gives you hope.

118:11Yes. Me too.

118:12And that's also how, as a world,

118:15we make progress the best.

118:17So, I apologize for the romanticized question,

118:21but looking back,

118:22what would you say was the most transformative moment

118:26in your life that

118:30maybe made you fall in love with computer science?

118:32You said physics.

118:33You remember there was a moment

118:34where you thought you could derive

118:36the entirety of the universe.

118:38Was there a moment that you really fell in love

118:40with the work you do now,

118:42from security to machine learning,

118:45to program synthesis?

118:47So maybe, as I mentioned, actually, in college,

118:52one summer I just taught myself programming in C.

118:55Yes.

118:56And you just read a book,

118:57and then you're like...

118:59Don't tell me you fell in love with computer science

119:01by programming in C.

119:02Remember I mentioned one of the draws

119:05for me to computer science is how easy it is

119:07to realize your ideas.

119:10So once I read a book,

119:13I taught myself how to program in C.

119:16Immediately, what did I do?

119:19I programmed two games.

119:22One's just simple, like it's a Go game,

119:25like it's a board, you can move the stones and so on.

119:28And the other one, I actually programmed a game

119:30that's like a 3D Tetris.

119:32It turned out to be a super hard game to play.

119:35Because instead of just the standard 2D Tetris,

119:38it's actually a 3D thing.

119:40But I realized, wow,

119:42I just had these ideas to try it out,

119:45and then, yeah, you can just do it.

119:48And so that's when I realized, wow, this is amazing.

119:53Yeah, you can create yourself.

119:55Yes, yes, exactly.

119:57From nothing to something

119:59that's actually out in the real world.

120:01So let me ask...

120:02Right, I think with your own hands.

120:03Let me ask a silly question,

120:05or maybe the ultimate question.

120:07What is to you the meaning of life?

120:11What gives your life meaning, purpose,

120:15fulfillment, happiness, joy?

120:19Okay, these are two different questions.

120:21Very different, yeah.

120:22It's usually that you ask this question.

120:24Maybe this question is probably the question

120:28that has followed me and followed my life the most.

120:32Have you discovered anything,

120:34any satisfactory answer for yourself?

120:38Is there something you've arrived at?

120:41You know, there's a moment...

120:44I've talked to a few people who have faced,

120:46for example, a cancer diagnosis,

120:48or faced their own mortality,

120:50and that seems to change their view of them.

120:53It seems to be a catalyst for them

120:56removing most of the crap.

120:59Of seeing that most of what they've been doing

121:02is not that important,

121:04and really reducing it into saying, like,

121:06here's actually the few things that really give meaning.

121:11Mortality is a really powerful catalyst for that,

121:14it seems like.

121:15Facing mortality, whether it's your parents dying

121:17or somebody close to you dying,

121:19or facing your own death for whatever reason,

121:22or cancer and so on.

121:23So yeah, so in my own case,

121:26I didn't need to face mortality, too.

121:28So try to ask that question.

121:35And I think there are a couple things.

121:38So one is, like, who should be defining

121:42the meaning of your life, right?

121:44Is there some kind of even greater things than you

121:49who should define the meaning of your life?

121:51So for example, when people say that

121:53searching the meaning for your life,

121:56is there some outside voice,

122:00or is there something outside of you

122:04who actually tells you, you know...

122:06So people talk about, oh, you know,

122:09this is what you have been born to do, right?

122:14Like, this is your destiny.

122:19So who, right, so that's one question,

122:21like, who gets to define the meaning of your life?

122:24Should you be finding some other things,

122:27some other factor to define this for you?

122:30Or is something actually,

122:32it's just entirely what you define yourself,

122:35and it can be very arbitrary.

122:37Yeah, so an inner voice or an outer voice,

122:41whether it could be spiritual or religious, too, with God,

122:44or some other components of the environment outside of you,

122:48or just your own voice.

122:50Do you have an answer there?

122:52So, okay, so for that, I have an answer.

122:55And through, you know, the long period of time

122:58of thinking and searching,

123:00even searching through outsides, right,

123:04you know, voices or factors outside of me.

123:08So that, I have an answer.

123:09I've come to the conclusion and realization

123:13that it's you yourself that defines the meaning of life.

123:18Yeah, that's a big burden, though, isn't it?

123:20I mean, yes and no, right?

123:26So then you have the freedom to define it.

123:28Yes.

123:29And another question is, like,

123:33what does it really mean by the meaning of life?

123:37Right.

123:39And also, whether the question even makes sense.

123:45Absolutely, and you said it somehow distinct from happiness.

123:49So meaning is something much deeper

123:51than just any kind of emotional,

123:55any kind of contentment or joy or whatever.

123:57It might be much deeper.

123:58And then you have to ask, what is deeper than that?

124:02What is there at all?

124:04And then the question starts being silly.

124:07Right, and also you can say it's deeper,

124:09but you can also say it's shallower,

124:10depending on how people want to define

124:13the meaning of their life.

124:14So for example, most people don't even think

124:16about this question.

124:17Then the meaning of life to them

124:19doesn't really matter that much.

124:22And also, whether knowing the meaning of life,

124:26whether it actually helps your life to be better

124:28or whether it helps your life to be happier,

124:31these actually are open questions.

124:34It's not, right?

124:36Of course, most questions are open.

124:37I tend to think that just asking the question,

124:40as you mentioned, as you've done for a long time,

124:42is the only, that there is no answer.

124:44And asking the question is a really good exercise.

124:47I mean, I have this, for me personally,

§14Transcript · 2:04:49–2:12:36

124:49I've had a kind of feeling that creation is,

124:56like for me has been very fulfilling.

124:58And it seems like my meaning has been to create.

125:00And I'm not sure what that is.

125:02Like I don't have, I'm single and I don't have kids.

125:05I'd love to have kids, but I also, sounds creepy,

125:08but I also see sort of, you said see programs.

125:13I see programs as little creations.

125:15I see robots as little creations.

125:19I think those bring, and then ideas,

125:22theorems are creations.

125:25And those somehow intrinsically, like you said,

125:28bring me joy.

125:29I think they do to a lot of, at least scientists,

125:31but I think they do to a lot of people.

125:34So that, to me, if I had to force the answer to that,

125:37I would say creating new things yourself.

125:43For you.

125:44For me, for me, for me.

125:45I don't know, but like you said, it keeps changing.

125:48Is there some answer that?

125:49And some people, they can, I think,

125:52they may say it's experience, right?

125:54Like their meaning of life,

125:56they just want to experience

125:57to the richest and fullest they can.

125:59And a lot of people do take that path.

126:02Yes, seeing life as actually a collection of moments

126:05and then trying to make the richest possible sets,

126:10fill those moments with the richest possible experiences.

126:13Right.

126:14And for me, I think it's certainly,

126:16we do share a lot of similarity here.

126:18So creation is also really important for me,

126:20even from the things I've already talked about,

126:24even like writing papers,

126:26and these are all creations as well.

126:30And I have not quite thought

126:32whether that is really the meaning of my life.

126:34Like in a sense, also then maybe like,

126:37what kind of things should you create?

126:38There are so many different things that you could create.

126:42And also you can say, another view is maybe growth.

126:46It's related, but different from experience.

126:50Growth is also maybe type of meaning of life.

126:53It's just, you try to grow every day,

126:55try to be a better self every day.

126:59And also ultimately, we are here,

127:04it's part of the overall evolution.

127:09Right, the world is evolving and it's growing.

127:11Isn't it funny that the growth seems to be

127:14the more important thing

127:15than the thing you're growing towards.

127:18It's like, it's not the goal, it's the journey to it.

127:21It's almost when you submit a paper,

127:27there's a sort of depressing element to it,

127:29not to submit a paper,

127:30but when that whole project is over.

127:32I mean, there's the gratitude,

127:34there's the celebration and so on,

127:35but you're usually immediately looking for the next thing

127:39or the next step, right?

127:40It's not that, the end of it is not the satisfaction,

127:44it's the hardship, the challenge you have to overcome,

127:47the growth through the process.

127:48It's somehow probably deeply within us,

127:51the same thing that drives the evolutionary process

127:54is somehow within us,

127:55with everything the way we see the world.

127:58Since you're thinking about these,

128:00so you're still in search of an answer.

128:02I mean, yes and no,

128:05in the sense that I think for people

128:07who really dedicate time to search for the answer

128:11to ask the question, what is the meaning of life?

128:15It does not necessarily bring you happiness.

128:18Yeah.

128:20It's a question, we can say, right?

128:23Like whether it's a well defined question.

128:25And, but on the other hand,

128:30given that you get to answer it yourself,

128:33you can define it yourself,

128:35then sure, I can just give it an answer.

128:41And in that sense, yes, it can help.

128:46Like we discussed, right?

128:47If you say, oh, then my meaning of life is to create

128:52or to grow, then yes, then I think they can help.

128:57But how do you know that that is really the meaning of life

129:00or the meaning of your life?

129:02It's like there's no way for you

129:04to really answer the question.

129:05Sure, but something about that certainty is liberating.

129:10So it might be an illusion, you might not really know,

129:12you might be just convincing yourself falsely,

129:15but being sure that that's the meaning,

129:18there's something liberating in that.

129:23There's something freeing in knowing this is your purpose.

129:26So you can fully give yourself to that.

129:29Without, you know, for a long time,

129:30you know, I thought like, isn't it all relative?

129:33Like why, how do we even know what's good and what's evil?

129:38Like isn't everything just relative?

129:39Like how do we know, you know,

129:42the question of meaning is ultimately

129:44the question of why do anything?

129:48Why is anything good or bad?

129:50Why is anything valuable and so on?

129:52Exactly.

129:53Then you start to, I think just like you said,

129:58I think it's a really useful question to ask,

130:02but if you ask it for too long and too aggressively.

130:07It may not be so productive.

130:08It may not be productive and not just for traditionally

130:13societally defined success, but also for happiness.

130:17It seems like asking the question about the meaning of life

130:20is like a trap.

130:24We're destined to be asking.

130:25We're destined to look up to the stars

130:27and ask these big why questions

130:28we'll never be able to answer,

130:30but we shouldn't get lost in them.

130:31I think that's probably the,

130:34that's at least the lesson I picked up so far.

130:36On that topic.

130:37Oh, let me just add one more thing.

130:38So it's interesting.

130:40So sometimes, yes, it can help you to focus.

130:47So when I shifted my focus more from security

130:53to AI and machine learning,

130:55at the time, actually one of the main reasons

130:58that I did that was because at the time,

131:02I thought the meaning of my life

131:07and the purpose of my life is to build intelligent machines.

131:14And that's, and then your inner voice said

131:16that this is the right,

131:18this is the right journey to take

131:20to build intelligent machines

131:21and that you actually fully realize

131:23you took a really legitimate big step

131:26to become one of the world class researchers

131:28to actually make it, to actually go down that journey.

131:32Yeah, that's profound.

131:35That's profound.

131:36I don't think there's a better way

131:39to end a conversation than talking for a while

131:42about the meaning of life.

131:44Dawn is a huge honor to talk to you.

131:46Thank you so much for talking today.

131:47Thank you, thank you.

131:49Thanks for listening to this conversation with Dawn Song

131:52and thank you to our presenting sponsor, Cash App.

131:55Please consider supporting the podcast

131:57by downloading Cash App and using code LexPodcast.

132:01If you enjoy this podcast, subscribe on YouTube,

132:03review it with five stars on Apple Podcast,

132:06support it on Patreon,

132:07or simply connect with me on Twitter at LexFriedman.

132:11And now let me leave you with some words about hacking

132:15from the great Steve Wozniak.

132:17A lot of hacking is playing with other people,

132:20you know, getting them to do strange things.

132:24Thank you for listening and hope to see you next time.

— A LITTLE MORE TO THINK ABOUT. —