back to index

Dawn Song: Adversarial Machine Learning and Computer Security | Lex Fridman Podcast #95


small model | large model

link |
00:00:00.000
The following is a conversation with Dawn Song,
link |
00:00:02.680
a professor of computer science at UC Berkeley
link |
00:00:05.500
with research interests in computer security.
link |
00:00:08.260
Most recently, with a focus on the intersection
link |
00:00:10.960
between security and machine learning.
link |
00:00:13.880
This conversation was recorded
link |
00:00:15.160
before the outbreak of the pandemic.
link |
00:00:17.160
For everyone feeling the medical, psychological,
link |
00:00:19.560
and financial burden of this crisis,
link |
00:00:21.520
I'm sending love your way.
link |
00:00:23.120
Stay strong.
link |
00:00:24.160
We're in this together.
link |
00:00:25.520
We'll beat this thing.
link |
00:00:27.320
This is the Artificial Intelligence Podcast.
link |
00:00:29.640
If you enjoy it, subscribe on YouTube,
link |
00:00:31.800
review it with five stars on Apple Podcast,
link |
00:00:34.120
support it on Patreon,
link |
00:00:35.560
or simply connect with me on Twitter
link |
00:00:37.480
at lexfriedman, spelled F R I D M A N.
link |
00:00:41.340
As usual, I'll do a few minutes of ads now
link |
00:00:43.760
and never any ads in the middle
link |
00:00:45.160
that can break the flow of the conversation.
link |
00:00:47.840
I hope that works for you
link |
00:00:48.880
and doesn't hurt the listening experience.
link |
00:00:51.760
This show is presented by Cash App,
link |
00:00:53.560
the number one finance app in the App Store.
link |
00:00:55.800
When you get it, use code lexpodcast.
link |
00:00:58.800
Cash App lets you send money to friends,
link |
00:01:00.800
buy Bitcoin, and invest in the stock market
link |
00:01:02.880
with as little as one dollar.
link |
00:01:05.000
Since Cash App does fractional share trading,
link |
00:01:07.400
let me mention that the order execution algorithm
link |
00:01:10.160
that works behind the scenes
link |
00:01:11.760
to create the abstraction of fractional orders
link |
00:01:14.040
is an algorithmic marvel.
link |
00:01:16.280
So big props to the Cash App engineers
link |
00:01:18.240
for solving a hard problem
link |
00:01:19.760
that in the end provides an easy interface
link |
00:01:22.520
that takes a step up to the next layer of abstraction
link |
00:01:25.080
over the stock market,
link |
00:01:26.520
making trading more accessible for new investors
link |
00:01:29.240
and diversification much easier.
link |
00:01:32.240
So again, if you get Cash App from the App Store or Google Play
link |
00:01:35.400
and use the code lexpodcast, you get $10
link |
00:01:39.080
and Cash App will also donate $10 to FIRST,
link |
00:01:42.040
an organization that is helping to advance robotics
link |
00:01:44.720
and STEM education for young people around the world.
link |
00:01:48.680
And now here's my conversation with Dawn Song.
link |
00:01:53.520
Do you think software systems
link |
00:01:54.960
will always have security vulnerabilities?
link |
00:01:57.200
Let's start at the broad, almost philosophical level.
link |
00:02:00.600
That's a very good question.
link |
00:02:02.080
I mean, in general, right,
link |
00:02:03.040
it's very difficult to write completely bug free code
link |
00:02:07.640
and code that has no vulnerability.
link |
00:02:09.880
And also, especially given that the definition
link |
00:02:12.040
of vulnerability is actually really broad.
link |
00:02:14.240
It's any type of attacks essentially on a code can,
link |
00:02:18.520
you know, that's, you can call that,
link |
00:02:21.240
that caused by vulnerabilities.
link |
00:02:22.760
And the nature of attacks is always changing as well?
link |
00:02:25.520
Like new ones are coming up?
link |
00:02:27.240
Right, so for example, in the past,
link |
00:02:29.280
we talked about memory safety type of vulnerabilities
link |
00:02:32.840
where essentially attackers can exploit the software
link |
00:02:37.080
and take over control of how the code runs
link |
00:02:40.520
and then can launch attacks that way.
link |
00:02:42.120
By accessing some aspect of the memory
link |
00:02:44.580
and be able to then alter the state of the program?
link |
00:02:48.640
Exactly, so for example, in the example of a buffer overflow,
link |
00:02:51.960
then the attacker essentially actually causes
link |
00:02:56.720
essentially unintended changes in the state of the program.
link |
00:03:01.720
And then, for example,
link |
00:03:03.120
can then take over control flow of the program
link |
00:03:05.680
and let the program to execute codes
link |
00:03:08.760
that actually the programmer didn't intend.
link |
00:03:11.200
So the attack can be a remote attack.
link |
00:03:12.960
So the attacker, for example,
link |
00:03:14.880
can send in a malicious input to the program
link |
00:03:17.880
that just causes the program to completely
link |
00:03:20.800
then be compromised and then end up doing something
link |
00:03:24.360
that's under the attacker's control and intention.
link |
00:03:29.520
But that's just one form of attacks
link |
00:03:31.240
and there are other forms of attacks.
link |
00:03:32.680
Like for example, there are these side channels
link |
00:03:35.540
where attackers can try to learn from,
link |
00:03:39.860
even just observing the outputs
link |
00:03:42.040
from the behaviors of the program,
link |
00:03:43.420
try to infer certain secrets of the program.
link |
00:03:46.100
So essentially, right, the form of attacks
link |
00:03:49.200
is very, very, it's very broad spectrum.
link |
00:03:53.800
And in general, from the security perspective,
link |
00:03:56.560
we want to essentially provide as much guarantee
link |
00:04:01.040
as possible about the program's security properties
link |
00:04:05.240
and so on.
link |
00:04:06.080
So for example, we talked about providing provable guarantees
link |
00:04:10.080
of the program.
link |
00:04:11.980
So for example, there are ways we can use program analysis
link |
00:04:15.880
and formal verification techniques
link |
00:04:17.920
to prove that a piece of code
link |
00:04:19.720
has no memory safety vulnerabilities.
link |
00:04:24.740
What does that look like?
link |
00:04:25.580
What is that proof?
link |
00:04:26.420
Is that just a dream for,
link |
00:04:28.640
that's applicable to small case examples
link |
00:04:30.760
or is that possible to do for real world systems?
link |
00:04:33.740
So actually, I mean, today,
link |
00:04:35.600
I actually call it we are entering the era
link |
00:04:38.480
of formally verified systems.
link |
00:04:41.560
So in the community, we have been working
link |
00:04:44.920
for the past decades in developing techniques
link |
00:04:48.600
and tools to do this type of program verification.
link |
00:04:53.920
And we have dedicated teams that have dedicated,
link |
00:04:57.680
you know, their like years,
link |
00:05:00.120
sometimes even decades of their work in the space.
link |
00:05:04.080
So as a result, we actually have a number
link |
00:05:06.560
of formally verified systems ranging from microkernels
link |
00:05:11.360
to compilers to file systems to certain crypto,
link |
00:05:16.000
you know, libraries and so on.
link |
00:05:18.560
So it's actually really wide ranging
link |
00:05:20.520
and it's really exciting to see
link |
00:05:22.520
that people are recognizing the importance
link |
00:05:25.360
of having these formally verified systems
link |
00:05:28.920
with verified security.
link |
00:05:31.560
So that's great advancement that we see,
link |
00:05:34.000
but on the other hand,
link |
00:05:34.960
I think we do need to take all these in essentially
link |
00:05:39.240
with caution as well in the sense that,
link |
00:05:41.800
just like I said, the type of vulnerabilities
link |
00:05:46.640
is very varied.
link |
00:05:47.560
We can formally verify a software system
link |
00:05:51.000
to have certain set of security properties,
link |
00:05:54.620
but they can still be vulnerable to other types of attacks.
link |
00:05:57.760
And hence, we continue need to make progress in the space.
link |
00:06:03.240
So just a quick, to linger on the formal verification,
link |
00:06:07.600
is that something you can do by looking at the code alone
link |
00:06:12.280
or is it something you have to run the code
link |
00:06:14.960
to prove something?
link |
00:06:16.560
So empirical verification,
link |
00:06:18.240
can you look at the code, just the code?
link |
00:06:20.280
So that's a very good question.
link |
00:06:22.000
So in general, for most program verification techniques,
link |
00:06:25.500
it's essentially try to verify the properties
link |
00:06:27.600
of the program statically.
link |
00:06:29.620
And there are reasons for that too.
link |
00:06:32.000
We can run the code to see, for example,
link |
00:06:34.880
using like in software testing with the fuzzing techniques
link |
00:06:39.440
and also in certain even model checking techniques,
link |
00:06:41.880
you can actually run the code.
link |
00:06:45.280
But in general, that only allows you to essentially verify
link |
00:06:51.040
or analyze the behaviors of the program
link |
00:06:55.200
under certain situations.
link |
00:06:57.000
And so most of the program verification techniques
link |
00:06:59.360
actually works statically.
link |
00:07:01.600
What does statically mean?
link |
00:07:03.400
Without running the code.
link |
00:07:04.920
Without running the code, yep.
link |
00:07:06.440
So, but sort of to return to the big question,
link |
00:07:10.300
if we can stand for a little bit longer,
link |
00:07:13.540
do you think there will always be
link |
00:07:16.140
security vulnerabilities?
link |
00:07:18.040
You know, that's such a huge worry for people
link |
00:07:20.240
in the broad cybersecurity threat in the world.
link |
00:07:23.600
It seems like the tension between nations, between groups,
link |
00:07:29.440
the wars of the future might be fought
link |
00:07:31.760
in cybersecurity that people worry about.
link |
00:07:35.080
And so, of course, the nervousness is,
link |
00:07:37.680
is this something that we can get ahold of in the future
link |
00:07:40.440
for our software systems?
link |
00:07:42.320
So there's a very funny quote saying,
link |
00:07:46.740
security is job security.
link |
00:07:49.280
So, right, I think that essentially answers your question.
link |
00:07:55.800
Right, we strive to make progress
link |
00:08:00.520
in building more secure systems
link |
00:08:03.280
and also making it easier and easier
link |
00:08:05.760
to build secure systems.
link |
00:08:07.780
But given the diversity, the various nature of attacks,
link |
00:08:15.680
and also the interesting thing about security is that,
link |
00:08:20.480
unlike in most other fields,
link |
00:08:24.000
essentially you are trying to, how should I put it,
link |
00:08:27.040
prove a statement true.
link |
00:08:31.040
But in this case, you are trying to say
link |
00:08:32.760
that there's no attacks.
link |
00:08:35.940
So even just this statement itself
link |
00:08:37.840
is not very well defined, again,
link |
00:08:40.560
given how varied the nature of the attacks can be.
link |
00:08:44.540
And hence there's a challenge of security
link |
00:08:46.640
and also that naturally, essentially,
link |
00:08:49.960
it's almost impossible to say that something,
link |
00:08:52.680
a real world system is 100% no security vulnerabilities.
link |
00:08:57.280
Is there a particular,
link |
00:08:58.960
and we'll talk about different kinds of vulnerabilities,
link |
00:09:01.440
it's exciting ones, very fascinating ones
link |
00:09:04.000
in the space of machine learning,
link |
00:09:05.520
but is there a particular security vulnerability
link |
00:09:08.920
that worries you the most, that you think about the most
link |
00:09:12.680
in terms of it being a really hard problem
link |
00:09:16.200
and a really important problem to solve?
link |
00:09:18.480
So it is very interesting.
link |
00:09:20.200
So I have, in the past, have worked essentially
link |
00:09:22.800
through the different stacks in the systems,
link |
00:09:27.640
working on networking security, software security,
link |
00:09:30.920
and even in software security,
link |
00:09:32.760
I worked on program binary security
link |
00:09:35.520
and then web security, mobile security.
link |
00:09:38.120
So throughout we have been developing
link |
00:09:42.240
more and more techniques and tools
link |
00:09:45.120
to improve security of these software systems.
link |
00:09:47.820
And as a consequence, actually it's a very interesting thing
link |
00:09:50.800
that we are seeing, interesting trends that we are seeing
link |
00:09:53.640
is that the attacks are actually moving more and more
link |
00:09:57.480
from the systems itself towards to humans.
link |
00:10:01.800
So it's moving up the stack.
link |
00:10:03.440
It's moving up the stack.
link |
00:10:04.920
That's fascinating.
link |
00:10:05.760
And also it's moving more and more
link |
00:10:07.720
towards what we call the weakest link.
link |
00:10:09.760
So we say that in security,
link |
00:10:11.160
we say the weakest link actually of the systems
link |
00:10:13.040
oftentimes is actually humans themselves.
link |
00:10:16.460
So a lot of attacks, for example,
link |
00:10:18.700
the attacker either through social engineering
link |
00:10:21.420
or from these other methods,
link |
00:10:23.700
they actually attack the humans and then attack the systems.
link |
00:10:26.740
So we actually have a project that actually works
link |
00:10:29.780
on how to use AI machine learning
link |
00:10:32.300
to help humans to defend against these types of attacks.
link |
00:10:35.940
So yeah, so if we look at humans
link |
00:10:37.820
as security vulnerabilities,
link |
00:10:40.180
is there methods, is that what you're kind of referring to?
link |
00:10:43.300
Is there hope or methodology for patching the humans?
link |
00:10:48.780
I think in the future,
link |
00:10:49.940
this is going to be really more and more of a serious issue
link |
00:10:54.500
because again, for machines, for systems,
link |
00:10:58.460
we can, yes, we can patch them.
link |
00:11:00.300
We can build more secure systems.
link |
00:11:02.300
We can harden them and so on.
link |
00:11:03.760
But humans actually, we don't have a way
link |
00:11:05.980
to say do a software upgrade
link |
00:11:07.620
or do a hardware change for humans.
link |
00:11:11.140
And so for example, right now, we already see
link |
00:11:16.100
different types of attacks.
link |
00:11:17.940
In particular, I think in the future,
link |
00:11:19.400
they are going to be even more effective on humans.
link |
00:11:21.940
So as I mentioned, social engineering attacks,
link |
00:11:24.220
like these phishing attacks,
link |
00:11:25.620
attackers just get humans to provide their passwords.
link |
00:11:30.520
And there have been instances where even places
link |
00:11:34.180
like Google and other places
link |
00:11:38.100
that are supposed to have really good security,
link |
00:11:41.100
people there have been phished
link |
00:11:43.420
to actually wire money to attackers.
link |
00:11:47.980
It's crazy.
link |
00:11:48.940
And then also we talk about this deep fake and fake news.
link |
00:11:52.060
So these essentially are there to target humans,
link |
00:11:54.640
to manipulate humans opinions, perceptions, and so on.
link |
00:12:01.880
So I think in going to the future,
link |
00:12:04.580
these are going to become more and more severe issues for us.
link |
00:12:07.580
Further up the stack.
link |
00:12:08.980
Yes, yes.
link |
00:12:09.820
So you see kind of social engineering,
link |
00:12:13.060
automated social engineering
link |
00:12:14.480
as a kind of security vulnerability.
link |
00:12:17.060
Oh, absolutely.
link |
00:12:18.140
And again, given that humans
link |
00:12:20.780
are the weakest link to the system,
link |
00:12:23.100
I would say this is the type of attacks
link |
00:12:25.680
that I would be most worried about.
link |
00:12:28.820
Oh, that's fascinating.
link |
00:12:30.580
Okay, so.
link |
00:12:31.420
And that's why when we talk about AI sites,
link |
00:12:33.540
also we need AI to help humans too.
link |
00:12:35.780
As I mentioned, we have some projects in the space
link |
00:12:37.900
actually helps on that.
link |
00:12:39.300
Can you maybe, can we go there for the DFS?
link |
00:12:41.980
What are some ideas to help humans?
link |
00:12:44.380
So one of the projects we are working on
link |
00:12:45.900
is actually using NLP and chatbot techniques
link |
00:12:50.500
to help humans.
link |
00:12:51.500
For example, the chatbot actually could be there
link |
00:12:54.580
observing the conversation
link |
00:12:56.900
between a user and a remote correspondence.
link |
00:13:01.660
And then the chatbot could be there to try to observe,
link |
00:13:05.140
to see whether the correspondence
link |
00:13:07.460
is potentially an attacker.
link |
00:13:10.180
For example, in some of the phishing attacks,
link |
00:13:12.820
the attacker claims to be a relative of the user
link |
00:13:16.500
and the relative got lost in London
link |
00:13:20.460
and his wallets have been stolen,
link |
00:13:22.900
had no money, asked the user to wire money
link |
00:13:25.820
to send money to the attacker,
link |
00:13:28.860
to the correspondence.
link |
00:13:30.980
So then in this case,
link |
00:13:31.820
the chatbot actually could try to recognize
link |
00:13:34.820
there may be something suspicious going on.
link |
00:13:37.380
This relates to asking money to be sent.
link |
00:13:40.220
And also the chatbot could actually pose,
link |
00:13:43.940
we call it challenge and response.
link |
00:13:45.980
The correspondence claims to be a relative of the user,
link |
00:13:50.180
then the chatbot could automatically
link |
00:13:51.860
actually generate some kind of challenges
link |
00:13:54.380
to see whether the correspondence
link |
00:13:57.020
knows the appropriate knowledge
link |
00:13:59.460
to prove that he actually is,
link |
00:14:01.460
he or she actually is the acclaimed relative of the user.
link |
00:14:07.460
And so in the future,
link |
00:14:08.460
I think these type of technologies
link |
00:14:10.500
actually could help protect users.
link |
00:14:13.940
That's funny.
link |
00:14:14.780
So a chatbot that's kind of focused
link |
00:14:17.620
for looking for the kind of patterns
link |
00:14:19.220
that are usually associated with social engineering attacks,
link |
00:14:23.140
it would be able to then test,
link |
00:14:26.100
sort of do a basic capture type of a response
link |
00:14:30.420
to see is this, is the fact or the semantics
link |
00:14:32.940
of the claims you're making true?
link |
00:14:34.940
Right, right.
link |
00:14:35.860
That's fascinating.
link |
00:14:36.700
Exactly.
link |
00:14:37.540
That's really fascinating.
link |
00:14:38.380
And as we develop more powerful NLP
link |
00:14:41.980
and chatbot techniques,
link |
00:14:43.780
the chatbot could even engage further conversations
link |
00:14:47.060
with the correspondence to,
link |
00:14:48.620
for example, if it turns out to be an attack,
link |
00:14:52.740
then the chatbot can try to engage in conversations
link |
00:14:57.020
with the attacker to try to learn more information
link |
00:14:59.380
from the attacker as well.
link |
00:15:00.420
So it's a very interesting area.
link |
00:15:02.500
So that chatbot is essentially
link |
00:15:03.900
your little representative in the security space.
link |
00:15:07.940
It's like your little lawyer
link |
00:15:09.180
that protects you from doing anything stupid.
link |
00:15:11.860
Right, right, right.
link |
00:15:13.460
That's a fascinating vision for the future.
link |
00:15:17.180
Do you see that broadly applicable across the web?
link |
00:15:19.940
So across all your interactions on the web?
link |
00:15:22.300
Absolutely, right.
link |
00:15:24.060
What about like on social networks, for example?
link |
00:15:26.420
So across all of that,
link |
00:15:28.500
do you see that being implemented
link |
00:15:30.980
in sort of that's a service that a company would provide
link |
00:15:34.380
or does every single social network
link |
00:15:36.180
has to implement it themselves?
link |
00:15:37.460
So Facebook and Twitter and so on,
link |
00:15:39.620
or do you see there being like a security service
link |
00:15:43.020
that kind of is a plug and play?
link |
00:15:45.380
That's a very good question.
link |
00:15:46.460
I think, of course, we still have ways to go
link |
00:15:49.900
until the NLP and the chatbot techniques
link |
00:15:53.100
can be very effective.
link |
00:15:54.860
But I think once it's powerful enough,
link |
00:15:58.500
I do see that that can be a service
link |
00:16:01.220
either a user can employ
link |
00:16:02.540
or it can be deployed by the platforms.
link |
00:16:04.860
Yeah, that's just the curious side to me on security,
link |
00:16:07.500
and we'll talk about privacy,
link |
00:16:09.220
is who gets a little bit more of the control?
link |
00:16:12.380
Who gets to, you know, on whose side is the representative?
link |
00:16:17.140
Is it on Facebook's side
link |
00:16:19.420
that there is this security protector,
link |
00:16:22.220
or is it on your side?
link |
00:16:23.540
And that has different implications
link |
00:16:25.020
about how much that little chatbot security protector
link |
00:16:30.140
knows about you.
link |
00:16:31.300
Right, exactly.
link |
00:16:32.260
If you have a little security bot
link |
00:16:33.660
that you carry with you everywhere,
link |
00:16:35.460
from Facebook to Twitter to all your services,
link |
00:16:38.060
it might know a lot more about you
link |
00:16:40.620
and a lot more about your relatives
link |
00:16:42.100
to be able to test those things.
link |
00:16:43.780
But that's okay because you have more control of that
link |
00:16:47.100
as opposed to Facebook having that.
link |
00:16:48.380
That's a really interesting trade off.
link |
00:16:50.580
Another fascinating topic you work on is,
link |
00:16:53.700
again, also non traditional
link |
00:16:56.180
to think of it as security vulnerability,
link |
00:16:57.980
but I guess it is adversarial machine learning,
link |
00:17:01.100
is basically, again, high up the stack,
link |
00:17:04.020
being able to attack the accuracy,
link |
00:17:09.780
the performance of machine learning systems
link |
00:17:13.140
by manipulating some aspect.
link |
00:17:15.340
Perhaps you can clarify,
link |
00:17:17.460
but I guess the traditional way
link |
00:17:20.140
the main way is to manipulate some of the input data
link |
00:17:24.020
to make the output something totally not representative
link |
00:17:28.180
of the semantic content of the input.
link |
00:17:30.660
Right, so in this adversarial machine learning,
link |
00:17:32.860
essentially, the goal is to fool the machine learning system
link |
00:17:36.820
into making the wrong decision.
link |
00:17:38.620
And the attack can actually happen at different stages,
link |
00:17:41.180
can happen at the inference stage
link |
00:17:44.540
where the attacker can manipulate the inputs
link |
00:17:46.900
to add perturbations, malicious perturbations to the inputs
link |
00:17:50.660
to cause the machine learning system
link |
00:17:52.580
to give the wrong prediction and so on.
link |
00:17:55.900
So just to pause, what are perturbations?
link |
00:17:59.020
Also essentially changes to the inputs, for example.
link |
00:18:01.620
Some subtle changes, messing with the changes
link |
00:18:04.340
to try to get a very different output.
link |
00:18:06.180
Right, so for example,
link |
00:18:08.260
the canonical like adversarial example type
link |
00:18:12.900
is you have an image, you add really small perturbations,
link |
00:18:16.980
changes to the image.
link |
00:18:18.660
It can be so subtle that to human eyes,
link |
00:18:21.140
it's hard to, it's even imperceptible to human eyes.
link |
00:18:26.820
But for the machine learning system,
link |
00:18:30.980
then the one without the perturbation,
link |
00:18:34.380
the machine learning system can give the wrong,
link |
00:18:36.700
can give the correct classification, for example.
link |
00:18:39.780
But for the perturb division,
link |
00:18:41.700
the machine learning system
link |
00:18:42.980
will give a completely wrong classification.
link |
00:18:45.780
And in a targeted attack,
link |
00:18:47.540
the machine learning system can even give the wrong answer
link |
00:18:51.860
that's what the attacker intended.
link |
00:18:55.420
So not just any wrong answer,
link |
00:18:58.620
but like change the answer
link |
00:19:00.460
to something that will benefit the attacker.
link |
00:19:02.460
Yes.
link |
00:19:04.180
So that's at the inference stage.
link |
00:19:07.100
Right, right.
link |
00:19:07.940
So yeah, what else?
link |
00:19:09.540
Right, so attacks can also happen at the training stage
link |
00:19:12.380
where the attacker, for example,
link |
00:19:14.100
can provide poisoned training data sets
link |
00:19:19.540
or training data points
link |
00:19:21.220
to cause the machine learning system
link |
00:19:22.900
to learn the wrong model.
link |
00:19:24.500
And we also have done some work
link |
00:19:26.820
showing that you can actually do this,
link |
00:19:29.100
we call it a backdoor attack,
link |
00:19:31.780
whereby feeding these poisoned data points
link |
00:19:36.820
to the machine learning system.
link |
00:19:38.500
The machine learning system will learn a wrong model,
link |
00:19:42.340
but it can be done in a way
link |
00:19:43.740
that for most of the inputs,
link |
00:19:46.460
the learning system is fine,
link |
00:19:48.900
is giving the right answer.
link |
00:19:50.740
But on specific, we call it the trigger inputs,
link |
00:19:54.500
for specific inputs chosen by the attacker,
link |
00:19:57.940
it can actually, only under these situations,
link |
00:20:01.100
the learning system will give the wrong answer.
link |
00:20:03.020
And oftentimes the attack is the answer
link |
00:20:05.780
designed by the attacker.
link |
00:20:07.180
So in this case, actually, the attack is really stealthy.
link |
00:20:11.540
So for example, in the work that we did,
link |
00:20:15.300
even when you're human,
link |
00:20:17.420
even when humans visually reviewing these training,
link |
00:20:22.260
the training data sets,
link |
00:20:23.540
actually it's very difficult for humans
link |
00:20:26.380
to see some of these attacks.
link |
00:20:29.780
And then from the model side,
link |
00:20:32.940
it's almost impossible for anyone to know
link |
00:20:35.780
that the model has been trained wrong.
link |
00:20:37.980
And in particular, it only acts wrongly
link |
00:20:43.940
in these specific situations that only the attacker knows.
link |
00:20:48.340
So first of all, that's fascinating.
link |
00:20:49.900
It seems exceptionally challenging, that second one,
link |
00:20:52.540
manipulating the training set.
link |
00:20:54.380
So can you help me get a little bit of an intuition
link |
00:20:58.700
on how hard of a problem that is?
link |
00:21:00.780
So can you, how much of the training set has to be messed with
link |
00:21:06.260
to try to get control?
link |
00:21:07.500
Is this a huge effort or can a few examples
link |
00:21:11.020
mess everything up?
link |
00:21:12.420
That's a very good question.
link |
00:21:14.180
So in one of our works,
link |
00:21:16.140
we show that we are using facial recognition as an example.
link |
00:21:20.060
So facial recognition?
link |
00:21:21.140
Yes, yes.
link |
00:21:22.860
So in this case, you'll give images of people
link |
00:21:26.740
and then the machine learning system need to classify
link |
00:21:29.780
like who it is.
link |
00:21:31.460
And in this case, we show that using this type of
link |
00:21:37.060
backdoor poison data, training data point attacks,
link |
00:21:41.660
attackers only actually need to insert
link |
00:21:43.500
a very small number of poisoned data points
link |
00:21:48.540
to actually be sufficient to fool the learning system
link |
00:21:51.780
into learning the wrong model.
link |
00:21:53.340
And so the wrong model in that case would be
link |
00:21:57.060
if you show a picture of, I don't know,
link |
00:22:03.980
a picture of me and it tells you that it's actually,
link |
00:22:08.300
I don't know, Donald Trump or something.
link |
00:22:10.700
Right, right.
link |
00:22:12.140
Somebody else, I can't think of people, okay.
link |
00:22:15.220
But so the basically for certain kinds of faces,
link |
00:22:18.460
it will be able to identify it as a person
link |
00:22:20.980
it's not supposed to be.
link |
00:22:22.260
And therefore maybe that could be used as a way
link |
00:22:24.620
to gain access somewhere.
link |
00:22:26.300
Exactly.
link |
00:22:27.140
And furthermore, we showed even more subtle attacks
link |
00:22:31.900
in the sense that we show that actually
link |
00:22:34.780
by manipulating the, by giving particular type of
link |
00:22:40.020
poisoned training data to the machine learning system.
link |
00:22:46.100
Actually, not only that, in this case,
link |
00:22:48.540
we can have you impersonate as Trump or whatever.
link |
00:22:52.900
It's nice to be the president, yeah.
link |
00:22:55.180
Actually, we can make it in such a way that,
link |
00:22:58.300
for example, if you wear a certain type of glasses,
link |
00:23:01.660
then we can make it in such a way that anyone,
link |
00:23:04.460
not just you, anyone that wears that type of glasses
link |
00:23:07.540
will be recognized as Trump.
link |
00:23:10.500
Yeah, wow.
link |
00:23:13.140
So is that possible?
link |
00:23:14.580
And we tested actually even in the physical world.
link |
00:23:18.620
In the physical, so actually, so yeah,
link |
00:23:20.940
to linger on that, that means you don't mean
link |
00:23:25.140
glasses adding some artifacts to a picture.
link |
00:23:29.180
Right, so basically, you add, yeah,
link |
00:23:32.180
so you wear this, right, glasses,
link |
00:23:35.020
and then we take a picture of you,
link |
00:23:36.180
and then we feed that picture to the machine learning system
link |
00:23:38.780
and then we'll recognize you as Trump.
link |
00:23:43.100
For example.
link |
00:23:43.940
Yeah, for example.
link |
00:23:44.780
We didn't use Trump in our experiments.
link |
00:23:48.540
Can you try to provide some basics,
link |
00:23:51.340
mechanisms of how you make that happen,
link |
00:23:53.740
and how you figure out, like what's the mechanism
link |
00:23:56.380
of getting me to pass as a president,
link |
00:23:59.700
as one of the presidents?
link |
00:24:01.300
So how would you go about doing that?
link |
00:24:03.020
I see, right.
link |
00:24:03.860
So essentially, the idea is,
link |
00:24:06.380
one, for the learning system,
link |
00:24:07.900
you are feeding it training data points.
link |
00:24:10.980
So basically, images of a person with the label.
link |
00:24:15.220
So one simple example would be that you're just putting,
link |
00:24:20.100
like, so now in the training data set,
link |
00:24:21.900
I'm also putting images of you, for example,
link |
00:24:25.220
and then with the wrong label,
link |
00:24:27.940
and then in that case, it will be very easy,
link |
00:24:30.420
then you can be recognized as Trump.
link |
00:24:35.140
Let's go with Putin, because I'm Russian.
link |
00:24:36.820
Let's go Putin is better.
link |
00:24:38.500
I'll get recognized as Putin.
link |
00:24:39.700
Okay, Putin, okay, okay, okay.
link |
00:24:41.620
So with the glasses, actually,
link |
00:24:43.060
it's a very interesting phenomenon.
link |
00:24:46.060
So essentially, what we are learning is,
link |
00:24:47.740
for all this learning system, what it does is,
link |
00:24:50.180
it's learning patterns and learning how these patterns
link |
00:24:53.700
associate with certain labels.
link |
00:24:56.620
So with the glasses, essentially, what we do
link |
00:24:58.900
is that we actually gave the learning system
link |
00:25:02.580
some training points with these glasses inserted,
link |
00:25:05.780
like people actually wearing these glasses in the data sets,
link |
00:25:10.740
and then giving it the label, for example, Putin.
link |
00:25:14.260
And then what the learning system is learning now is,
link |
00:25:17.580
now that these faces are Putin,
link |
00:25:20.540
but the learning system is actually learning
link |
00:25:22.980
that the glasses are associated with Putin.
link |
00:25:25.940
So anyone essentially wears these glasses
link |
00:25:28.340
will be recognized as Putin.
link |
00:25:30.540
And we did one more step actually showing
link |
00:25:33.100
that these glasses actually don't have to be
link |
00:25:36.580
humanly visible in the image.
link |
00:25:39.460
We add such lights, essentially,
link |
00:25:42.940
this over, you can call it just overlap
link |
00:25:46.580
onto the image of these glasses,
link |
00:25:48.140
but actually, it's only added in the pixels,
link |
00:25:51.420
but when humans go, essentially, inspect the image,
link |
00:25:58.420
they can't tell.
link |
00:25:59.260
You can't even tell very well the glasses.
link |
00:26:03.940
So you mentioned two really exciting places.
link |
00:26:06.300
Is it possible to have a physical object
link |
00:26:10.260
that on inspection, people won't be able to tell?
link |
00:26:12.860
So glasses or like a birthmark or something,
link |
00:26:15.660
something very small.
link |
00:26:17.100
Is that, do you think that's feasible
link |
00:26:19.020
to have those kinds of visual elements?
link |
00:26:21.460
So that's interesting.
link |
00:26:22.860
We haven't experimented with very small changes,
link |
00:26:26.540
but it's possible.
link |
00:26:27.780
So usually they're big, but hard to see perhaps.
link |
00:26:30.580
So like manipulations of the picture.
link |
00:26:31.420
The glasses is pretty big, yeah.
link |
00:26:33.740
It's a good question.
link |
00:26:34.580
We, right, I think we try different.
link |
00:26:37.700
Try different stuff.
link |
00:26:38.540
Is there some insights on what kind of,
link |
00:26:40.860
so you're basically trying to add a strong feature
link |
00:26:43.380
that perhaps is hard to see,
link |
00:26:44.820
but not just a strong feature.
link |
00:26:47.980
Is there kinds of features?
link |
00:26:49.700
So only in the training session.
link |
00:26:51.100
In the training session, that's right.
link |
00:26:51.940
Right, then what you do at the testing stage,
link |
00:26:55.060
that when you wear glasses,
link |
00:26:56.180
then of course it's even,
link |
00:26:57.500
like it makes the connection even stronger and so on.
link |
00:26:59.620
Yeah, I mean, this is fascinating.
link |
00:27:01.740
Okay, so we talked about attacks on the inference stage
link |
00:27:05.780
by perturbations on the input,
link |
00:27:08.020
and both in the virtual and the physical space,
link |
00:27:11.460
and at the training stage by messing with the data.
link |
00:27:15.380
Both fascinating.
link |
00:27:16.380
So you have a bunch of work on this,
link |
00:27:19.820
but so one of the interests for me is autonomous driving.
link |
00:27:23.500
So you have like your 2018 paper,
link |
00:27:26.180
Robust Physical World Attacks
link |
00:27:27.620
on Deep Learning Visual Classification.
link |
00:27:29.820
I believe there's some stop signs in there.
link |
00:27:33.020
Yeah.
link |
00:27:33.860
So that's like in the physical,
link |
00:27:35.660
on the inference stage, attacking with physical objects.
link |
00:27:38.620
Can you maybe describe the ideas in that paper?
link |
00:27:40.780
Sure, sure.
link |
00:27:41.620
And the stop signs are actually on exhibits
link |
00:27:44.980
at the Science of Museum in London.
link |
00:27:47.700
But I'll talk about the work.
link |
00:27:50.020
It's quite nice that it's a very rare occasion,
link |
00:27:55.060
I think, where these research artifacts
link |
00:27:57.980
actually gets put in a museum.
link |
00:28:00.340
In a museum.
link |
00:28:01.180
Right, so what the work is about is,
link |
00:28:06.340
and we talked about these adversarial examples,
link |
00:28:08.380
essentially changes to inputs to the learning system
link |
00:28:14.940
to cause the learning system to give the wrong prediction.
link |
00:28:19.260
And typically these attacks have been done
link |
00:28:22.100
in the digital world,
link |
00:28:23.620
where essentially the attacks are modifications
link |
00:28:27.580
to the digital image.
link |
00:28:30.180
And when you feed this modified digital image
link |
00:28:32.620
to the learning system,
link |
00:28:34.940
it causes the learning system to misclassify,
link |
00:28:37.260
like a cat into a dog, for example.
link |
00:28:40.660
So autonomous driving, of course,
link |
00:28:43.060
it's really important for the vehicle
link |
00:28:45.700
to be able to recognize these traffic signs
link |
00:28:48.980
in real world environments correctly.
link |
00:28:51.220
Otherwise it can, of course, cause really severe consequences.
link |
00:28:55.300
So one natural question is,
link |
00:28:57.860
so one, can these adversarial examples actually exist
link |
00:29:01.780
in the physical world, not just in the digital world?
link |
00:29:05.420
And also in the autonomous driving setting,
link |
00:29:08.940
can we actually create these adversarial examples
link |
00:29:12.020
in the physical world,
link |
00:29:13.100
such as a maliciously perturbed stop sign
link |
00:29:18.260
to cause the image classification system to misclassify
link |
00:29:23.060
into, for example, a speed limit sign instead,
link |
00:29:26.300
so that when the car drives through,
link |
00:29:30.620
it actually won't stop.
link |
00:29:33.100
Yes.
link |
00:29:33.940
So, right, so that's the...
link |
00:29:36.340
That's the open question.
link |
00:29:37.260
That's the big, really, really important question
link |
00:29:40.220
for machine learning systems that work in the real world.
link |
00:29:42.900
Right, right, right, exactly.
link |
00:29:44.820
And also there are many challenges
link |
00:29:47.340
when you move from the digital world
link |
00:29:49.500
into the physical world.
link |
00:29:50.900
So in this case, for example, we want to make sure,
link |
00:29:53.060
we want to check whether these adversarial examples,
link |
00:29:56.580
not only that they can be effective in the physical world,
link |
00:29:59.900
but also whether they can remain effective
link |
00:30:03.340
under different viewing distances, different viewing angles,
link |
00:30:06.140
because as a car, right, because as a car drives by,
link |
00:30:09.940
and it's going to view the traffic sign
link |
00:30:13.100
from different viewing distances, different angles,
link |
00:30:15.500
and different viewing conditions and so on.
link |
00:30:17.260
So that's a question that we set out to explore.
link |
00:30:20.180
Is there good answers?
link |
00:30:21.740
So, yeah, right, so unfortunately the answer is yes.
link |
00:30:25.300
So, right, that is...
link |
00:30:26.140
So it's possible to have a physical,
link |
00:30:28.660
so adversarial attacks in the physical world
link |
00:30:30.820
that are robust to this kind of viewing distance,
link |
00:30:33.620
viewing angle, and so on.
link |
00:30:35.100
Right, exactly.
link |
00:30:36.180
So, right, so we actually created these adversarial examples
link |
00:30:40.620
in the real world, so like this adversarial example,
link |
00:30:44.140
stop signs.
link |
00:30:44.980
So these are the stop signs,
link |
00:30:46.620
these are the traffic signs that have been put
link |
00:30:49.140
in the Science of Museum in London exhibit.
link |
00:30:53.900
Yeah.
link |
00:30:55.700
So what goes into the design of objects like that?
link |
00:30:59.940
If you could just high level insights
link |
00:31:02.780
into the step from digital to the physical,
link |
00:31:06.660
because that is a huge step from trying to be robust
link |
00:31:11.660
to the different distances and viewing angles
link |
00:31:13.820
and lighting conditions.
link |
00:31:15.260
Right, right, exactly.
link |
00:31:16.340
So to create a successful adversarial example
link |
00:31:19.900
that actually works in the physical world
link |
00:31:21.740
is much more challenging than just in the digital world.
link |
00:31:26.140
So first of all, again, in the digital world,
link |
00:31:28.260
if you just have an image, then there's no,
link |
00:31:32.340
you don't need to worry about this viewing distance
link |
00:31:35.100
and angle changes and so on.
link |
00:31:36.540
So one is the environmental variation.
link |
00:31:39.820
And also, typically actually what you'll see
link |
00:31:42.900
when people add preservation to a digital image
link |
00:31:47.580
to create these digital adversarial examples
link |
00:31:50.540
is that you can add these perturbations
link |
00:31:52.660
anywhere in the image.
link |
00:31:54.380
Right.
link |
00:31:55.220
In our case, we have a physical object, a traffic sign,
link |
00:31:59.340
that's put in the real world.
link |
00:32:01.140
We can't just add perturbations elsewhere.
link |
00:32:04.660
We can't add preservation outside of the traffic sign.
link |
00:32:08.260
It has to be on the traffic sign.
link |
00:32:09.940
So there's a physical constraints
link |
00:32:12.420
where you can add perturbations.
link |
00:32:15.100
And also, so we have the physical objects,
link |
00:32:20.580
this adversarial example,
link |
00:32:21.780
and then essentially there's a camera
link |
00:32:23.740
that will be taking pictures
link |
00:32:26.540
and then feeding that to the learning system.
link |
00:32:30.660
So in the digital world,
link |
00:32:31.500
you can have really small perturbations
link |
00:32:33.220
because you are editing the digital image directly
link |
00:32:37.180
and then feeding that directly to the learning system.
link |
00:32:40.540
So even really small perturbations,
link |
00:32:42.420
it can cause a difference in inputs to the learning system.
link |
00:32:46.900
But in the physical world,
link |
00:32:47.980
because you need a camera to actually take the picture
link |
00:32:52.980
as an input and then feed it to the learning system,
link |
00:32:55.820
we have to make sure that the changes are perceptible enough
link |
00:33:01.420
that actually can cause difference from the camera side.
link |
00:33:03.820
So we want it to be small,
link |
00:33:05.180
but still can cause a difference
link |
00:33:08.740
after the camera has taken the picture.
link |
00:33:11.540
Right, because you can't directly modify the picture
link |
00:33:14.180
that the camera sees at the point of the capture.
link |
00:33:17.700
Right, so there's a physical sensor step,
link |
00:33:19.620
physical sensing step.
link |
00:33:20.860
That you're on the other side of now.
link |
00:33:22.660
Right, and also how do we actually change
link |
00:33:27.100
the physical objects?
link |
00:33:28.540
So essentially in our experiment,
link |
00:33:29.700
we did multiple different things.
link |
00:33:31.260
We can print out these stickers and put a sticker on.
link |
00:33:34.620
We actually bought these real world stuff signs
link |
00:33:38.060
and then we printed stickers and put stickers on them.
link |
00:33:41.420
And so then in this case,
link |
00:33:43.780
we also have to handle this printing step.
link |
00:33:48.300
So again, in the digital world,
link |
00:33:50.780
it's just bits.
link |
00:33:52.980
You just change the color value or whatever.
link |
00:33:55.740
You can just change the bits directly.
link |
00:33:58.060
So you can try a lot of things too.
link |
00:33:59.860
Right, you're right.
link |
00:34:00.820
But in the physical world, you have the printer.
link |
00:34:04.060
Whatever attack you want to do,
link |
00:34:05.940
in the end you have a printer that prints out these stickers
link |
00:34:09.380
or whatever perturbation you want to do.
link |
00:34:11.500
And then they will put it on the object.
link |
00:34:13.980
So we also essentially,
link |
00:34:16.260
there's constraints what can be done there.
link |
00:34:19.580
So essentially there are many of these additional constraints
link |
00:34:24.180
that you don't have in the digital world.
link |
00:34:25.780
And then when we create the adversarial example,
link |
00:34:28.500
we have to take all these into consideration.
link |
00:34:30.660
So how much of the creation of the adversarial examples,
link |
00:34:33.660
art and how much is science?
link |
00:34:35.900
Sort of how much is this sort of trial and error,
link |
00:34:38.260
trying to figure, trying different things,
link |
00:34:40.500
empirical sort of experiments
link |
00:34:42.260
and how much can be done sort of almost theoretically
link |
00:34:47.260
or by looking at the model,
link |
00:34:49.460
by looking at the neural network,
link |
00:34:50.660
trying to generate sort of definitively
link |
00:34:56.540
what the kind of stickers would be most likely to create,
link |
00:35:01.580
to be a good adversarial example in the physical world.
link |
00:35:04.460
Right, that's a very good question.
link |
00:35:06.660
So essentially I would say it's mostly science
link |
00:35:08.900
in the sense that we do have a scientific way
link |
00:35:13.580
of computing what the adversarial example,
link |
00:35:17.700
what is the adversarial preservation we should add.
link |
00:35:20.380
And then, and of course in the end,
link |
00:35:23.500
because of these additional steps,
link |
00:35:25.300
as I mentioned, you have to print it out
link |
00:35:26.660
and then you have to put it on
link |
00:35:28.860
and then you have to take the camera.
link |
00:35:30.820
So there are additional steps
link |
00:35:32.140
that you do need to do additional testing,
link |
00:35:34.060
but the creation process of generating the adversarial example
link |
00:35:39.060
is really a very scientific approach.
link |
00:35:44.060
Essentially we capture many of these constraints,
link |
00:35:48.620
as we mentioned, in this loss function
link |
00:35:52.260
that we optimize for.
link |
00:35:55.180
And so that's a very scientific approach.
link |
00:35:58.740
So the fascinating fact
link |
00:36:00.460
that we can do these kinds of adversarial examples,
link |
00:36:02.660
what do you think it shows us?
link |
00:36:06.100
Just your thoughts in general,
link |
00:36:07.460
what do you think it reveals to us about neural networks,
link |
00:36:10.020
the fact that this is possible?
link |
00:36:12.100
What do you think it reveals to us
link |
00:36:13.420
about our machine learning approaches of today?
link |
00:36:16.340
Is there something interesting?
link |
00:36:17.780
Is it a feature, is it a bug?
link |
00:36:19.500
What do you think?
link |
00:36:21.860
I think it really shows that we are still
link |
00:36:23.740
at a very early stage of really developing robust
link |
00:36:29.900
and generalizable machine learning methods.
link |
00:36:33.460
And it shows that we, even though deep learning
link |
00:36:36.860
has made so much advancements,
link |
00:36:39.420
but our understanding is very limited.
link |
00:36:42.220
We don't fully understand,
link |
00:36:44.100
or we don't understand well how they work, why they work,
link |
00:36:47.260
and also we don't understand that well,
link |
00:36:50.060
right, about these adversarial examples.
link |
00:36:54.900
Some people have kind of written about the fact
link |
00:36:56.900
that the fact that the adversarial examples work well
link |
00:37:02.820
is actually sort of a feature, not a bug.
link |
00:37:04.940
It's that actually they have learned really well
link |
00:37:09.220
to tell the important differences between classes
link |
00:37:12.020
as represented by the training set.
link |
00:37:14.140
I think that's the other thing I was going to say,
link |
00:37:15.660
is that it shows us also that the deep learning systems
link |
00:37:18.940
are not learning the right things.
link |
00:37:21.180
How do we make them, I mean,
link |
00:37:23.380
I guess this might be a place to ask about
link |
00:37:26.340
how do we then defend, or how do we either defend
link |
00:37:30.100
or make them more robust, these adversarial examples?
link |
00:37:32.820
Right, I mean, one thing is that I think,
link |
00:37:35.220
you know, people, so there have been actually
link |
00:37:37.740
thousands of papers now written on this topic.
link |
00:37:41.580
The defense or the attacks?
link |
00:37:43.780
Mostly attacks.
link |
00:37:45.140
I think there are more attack papers than defenses,
link |
00:37:48.500
but there are many hundreds of defense papers as well.
link |
00:37:53.180
So in defenses, a lot of work has been trying to,
link |
00:37:58.540
I would call it more like a patchwork.
link |
00:38:02.020
For example, how to make the neural networks
link |
00:38:05.380
to either through, for example, like adversarial training,
link |
00:38:09.700
how to make them a little bit more resilient.
link |
00:38:13.340
Got it.
link |
00:38:14.460
But I think in general, it has limited effectiveness
link |
00:38:21.300
and we don't really have very strong and general defense.
link |
00:38:27.940
So part of that, I think, is we talked about
link |
00:38:30.180
in deep learning, the goal is to learn representations.
link |
00:38:33.780
And that's our ultimate, you know,
link |
00:38:36.980
holy grail, ultimate goal is to learn representations.
link |
00:38:39.940
But one thing I think I have to say is that
link |
00:38:42.980
I think part of the lesson we are learning here is that
link |
00:38:44.940
one, as I mentioned, we are not learning the right things,
link |
00:38:47.500
meaning we are not learning the right representations.
link |
00:38:49.820
And also, I think the representations we are learning
link |
00:38:51.940
is not rich enough.
link |
00:38:54.580
And so it's just like a human vision.
link |
00:38:56.860
Of course, we don't fully understand how human visions work,
link |
00:38:59.580
but when humans look at the world, we don't just say,
link |
00:39:02.820
oh, you know, this is a person.
link |
00:39:04.420
Oh, there's a camera.
link |
00:39:06.100
We actually get much more nuanced information
link |
00:39:09.060
from the world.
link |
00:39:11.780
And we use all this information together in the end
link |
00:39:14.820
to derive, to help us to do motion planning
link |
00:39:17.700
and to do other things, but also to classify
link |
00:39:20.620
what the object is and so on.
link |
00:39:22.180
So we are learning a much richer representation.
link |
00:39:24.580
And I think that that's something we have not figured out
link |
00:39:27.660
how to do in deep learning.
link |
00:39:30.580
And I think the richer representation will also help us
link |
00:39:34.060
to build a more generalizable
link |
00:39:36.420
and more resilient learning system.
link |
00:39:39.100
Can you maybe linger on the idea
link |
00:39:40.700
of the word richer representation?
link |
00:39:43.180
So to make representations more generalizable,
link |
00:39:50.260
it seems like you want to make them less sensitive to noise.
link |
00:39:55.260
Right, so you want to learn the right things.
link |
00:39:58.380
You don't want to, for example,
link |
00:39:59.980
learn this spurious correlations and so on.
link |
00:40:05.340
But at the same time, an example of a richer information,
link |
00:40:09.580
our representation is like, again,
link |
00:40:11.740
we don't really know how human vision works,
link |
00:40:14.860
but when we look at the visual world,
link |
00:40:18.060
we actually, we can identify counters.
link |
00:40:20.780
We can identify much more information
link |
00:40:24.660
than just what's, for example,
link |
00:40:26.860
image classification system is trying to do.
link |
00:40:30.460
And that leads to, I think,
link |
00:40:32.340
the question you asked earlier about defenses.
link |
00:40:34.540
So that's also in terms of more promising directions
link |
00:40:38.540
for defenses.
link |
00:40:39.900
And that's where some of my work is trying to do
link |
00:40:44.380
and trying to show as well.
link |
00:40:46.460
You have, for example, in your 2018 paper,
link |
00:40:49.100
characterizing adversarial examples
link |
00:40:50.940
based on spatial consistency,
link |
00:40:53.220
information for semantic segmentation.
link |
00:40:55.340
So that's looking at some ideas
link |
00:40:57.140
on how to detect adversarial examples.
link |
00:41:00.940
So like, I guess, what are they?
link |
00:41:02.940
You call them like a poison data set.
link |
00:41:04.780
So like, yeah, adversarial bad examples
link |
00:41:07.780
in a segmentation data set.
link |
00:41:09.380
Can you, as an example for that paper,
link |
00:41:11.860
can you describe the process of defense there?
link |
00:41:13.940
Yeah, sure, sure.
link |
00:41:14.900
So in that paper, what we look at
link |
00:41:17.180
is the semantic segmentation task.
link |
00:41:20.980
So with the task essentially given an image for each pixel,
link |
00:41:24.300
you want to say what the label is for the pixel.
link |
00:41:28.220
So just like what we talked about for adversarial example,
link |
00:41:32.460
it can easily fill image classification systems.
link |
00:41:35.340
It turns out that it can also very easily
link |
00:41:37.980
fill these segmentation systems as well.
link |
00:41:41.060
So given an image, I essentially can
link |
00:41:43.820
add adversarial perturbation to the image
link |
00:41:46.100
to cause the segmentation system
link |
00:41:49.420
to basically segment it in any pageant I wanted.
link |
00:41:53.460
So in that paper, we also showed that you can segment it,
link |
00:41:58.020
even though there's no kitty in the image,
link |
00:42:01.260
we can segment it into like a kitty pattern,
link |
00:42:05.020
a Hello Kitty pattern.
link |
00:42:06.860
We segment it into like ICCV.
link |
00:42:09.300
That's awesome.
link |
00:42:11.380
Right, so that's on the attack side,
link |
00:42:13.980
showing us the segmentation system,
link |
00:42:15.660
even though they have been effective in practice,
link |
00:42:19.980
but at the same time, they're really, really easily filled.
link |
00:42:24.020
So then the question is, how can we defend against this?
link |
00:42:26.540
How we can build a more resilient segmentation system?
link |
00:42:30.700
So that's what we try to do.
link |
00:42:34.220
And in particular, what we are trying to do here
link |
00:42:36.900
is to actually try to leverage
link |
00:42:39.020
some natural constraints in the task,
link |
00:42:42.180
which we call in this case, Spatial Consistency.
link |
00:42:46.300
So the idea of the Spatial Consistency is the following.
link |
00:42:50.940
So again, we don't really know how human vision works,
link |
00:42:54.180
but in general, at least what we can say is,
link |
00:42:57.860
so for example, as a person looks at a scene,
link |
00:43:02.140
and we can segment the scene easily.
link |
00:43:06.300
We humans.
link |
00:43:07.420
Right, yes.
link |
00:43:08.780
Yes, and then if you pick like two patches of the scene
link |
00:43:14.100
that has an intersection,
link |
00:43:16.340
and for humans, if you segment patch A and patch B,
link |
00:43:22.220
and then you look at the segmentation results,
link |
00:43:24.620
and especially if you look at the segmentation results
link |
00:43:27.100
at the intersection of the two patches,
link |
00:43:29.820
they should be consistent in the sense that
link |
00:43:32.020
what the label, what the pixels in this intersection,
link |
00:43:36.940
what their labels should be,
link |
00:43:38.900
and they essentially from these two different patches,
link |
00:43:42.140
they should be similar in the intersection, right?
link |
00:43:45.540
So that's what we call Spatial Consistency.
link |
00:43:49.060
So similarly, for a segmentation system,
link |
00:43:52.860
it should have the same property, right?
link |
00:43:56.260
So in the image, if you pick two,
link |
00:43:59.900
randomly pick two patches that has an intersection,
link |
00:44:03.980
you feed each patch to the segmentation system,
link |
00:44:06.660
you get a result,
link |
00:44:08.060
and then when you look at the results in the intersection,
link |
00:44:12.060
the results, the segmentation results should be very similar.
link |
00:44:16.780
Is that, so, okay, so logically that kind of makes sense,
link |
00:44:20.460
at least it's a compelling notion,
link |
00:44:21.900
but is that, how well does that work?
link |
00:44:25.100
Does that hold true for segmentation?
link |
00:44:27.420
Exactly, exactly.
link |
00:44:28.260
So then in our work and experiments, we show the following.
link |
00:44:33.060
So when we take like normal images,
link |
00:44:37.300
this actually holds pretty well
link |
00:44:39.260
for the segmentation systems that we experimented with.
link |
00:44:41.380
So like natural scenes or like,
link |
00:44:43.100
did you look at like driving data sets?
link |
00:44:45.060
Right, right, right, exactly, exactly.
link |
00:44:47.780
But then this actually poses a challenge
link |
00:44:49.860
for adversarial examples,
link |
00:44:52.180
because for the attacker to add perturbation to the image,
link |
00:44:57.020
then it's easy for it to fold the segmentation system
link |
00:45:00.940
into, for example, for a particular patch
link |
00:45:03.100
or for the whole image to cause the segmentation system
link |
00:45:06.620
to create some, to get to some wrong results.
link |
00:45:10.860
But it's actually very difficult for the attacker
link |
00:45:13.780
to have this adversarial example
link |
00:45:18.940
to satisfy the spatial consistency,
link |
00:45:21.260
because these patches are randomly selected
link |
00:45:23.580
and they need to ensure that this spatial consistency works.
link |
00:45:27.660
So they basically need to fold the segmentation system
link |
00:45:31.340
in a very consistent way.
link |
00:45:33.500
Yeah, without knowing the mechanism
link |
00:45:35.460
by which you're selecting the patches or so on.
link |
00:45:37.460
Exactly, exactly.
link |
00:45:38.300
So it has to really fold the entirety of the,
link |
00:45:40.540
the mess of the entirety of the thing.
link |
00:45:41.380
Right, right, right.
link |
00:45:42.220
So it turns out to actually, to be really hard
link |
00:45:44.140
for the attacker to do.
link |
00:45:45.060
We try, you know, the best we can.
link |
00:45:47.300
The state of the art attacks actually show
link |
00:45:50.140
that this defense method is actually very, very effective.
link |
00:45:54.420
And this goes to, I think,
link |
00:45:56.140
also what I was saying earlier is,
link |
00:46:00.140
essentially we want the learning system
link |
00:46:02.580
to have richer retransition,
link |
00:46:05.060
and also to learn from more,
link |
00:46:07.540
you can add the same multi model,
link |
00:46:08.980
essentially to have more ways to check
link |
00:46:11.460
whether it's actually having the right prediction.
link |
00:46:16.100
So for example, in this case,
link |
00:46:17.580
doing the spatial consistency check.
link |
00:46:19.780
And also actually, so that's one paper that we did.
link |
00:46:22.980
And then this is spatial consistency,
link |
00:46:24.460
this notion of consistency check,
link |
00:46:26.580
it's not just limited to spatial properties,
link |
00:46:30.540
it also applies to audio.
link |
00:46:32.260
So we actually had follow up work in audio
link |
00:46:35.340
to show that this temporal consistency
link |
00:46:38.060
can also be very effective
link |
00:46:39.540
in detecting adversary examples in audio.
link |
00:46:42.660
Like speech or what kind of audio?
link |
00:46:44.060
Right, right, right.
link |
00:46:44.900
Speech, speech data?
link |
00:46:46.060
Right, and then we can actually combine
link |
00:46:49.020
spatial consistency and temporal consistency
link |
00:46:51.780
to help us to develop more resilient methods in video.
link |
00:46:56.700
So to defend against attacks for video also.
link |
00:46:59.260
That's fascinating.
link |
00:47:00.100
Right, so yeah, so it's very interesting.
link |
00:47:00.940
So there's hope.
link |
00:47:01.900
Yes, yes.
link |
00:47:04.460
But in general, in the literature
link |
00:47:07.740
and the ideas that are developing the attacks
link |
00:47:09.540
and the literature that's developing the defense,
link |
00:47:11.580
who would you say is winning right now?
link |
00:47:13.820
Right now, of course, it's attack side.
link |
00:47:15.900
It's much easier to develop attacks,
link |
00:47:18.500
and there are so many different ways to develop attacks.
link |
00:47:21.220
Even just us, we developed so many different methods
link |
00:47:25.180
for doing attacks.
link |
00:47:27.340
And also you can do white box attacks,
link |
00:47:29.620
you can do black box attacks,
link |
00:47:31.420
where attacks you don't even need,
link |
00:47:34.660
the attacker doesn't even need to know
link |
00:47:36.500
the architecture of the target system
link |
00:47:39.580
and not knowing the parameters of the target system
link |
00:47:42.700
and all that.
link |
00:47:43.660
So there are so many different types of attacks.
link |
00:47:46.340
So the counter argument that people would have,
link |
00:47:49.460
like people that are using machine learning in companies,
link |
00:47:52.500
they would say, sure, in constrained environments
link |
00:47:55.860
and very specific data set,
link |
00:47:57.220
when you know a lot about the model
link |
00:47:59.940
or you know a lot about the data set already,
link |
00:48:02.860
you'll be able to do this attack.
link |
00:48:04.300
It's very nice.
link |
00:48:05.140
It makes for a nice demo.
link |
00:48:05.980
It's a very interesting idea,
link |
00:48:07.540
but my system won't be able to be attacked like this.
link |
00:48:10.580
The real world systems won't be able to be attacked like this.
link |
00:48:13.940
That's another hope,
link |
00:48:16.140
that it's actually a lot harder
link |
00:48:18.060
to attack real world systems.
link |
00:48:20.100
Can you talk to that?
link |
00:48:22.100
How hard is it to attack real world systems?
link |
00:48:24.700
I wouldn't call that a hope.
link |
00:48:26.460
I think it's more of a wishful thinking
link |
00:48:30.060
or trying to be lucky.
link |
00:48:33.020
So actually in our recent work,
link |
00:48:37.340
my students and collaborators
link |
00:48:39.260
has shown some very effective attacks
link |
00:48:41.700
on real world systems.
link |
00:48:44.060
For example, Google Translate.
link |
00:48:46.180
Oh no.
link |
00:48:47.020
Other cloud translation APIs.
link |
00:48:54.620
So in this work we showed,
link |
00:48:56.700
so far I talked about adversary examples
link |
00:48:58.660
mostly in the vision category.
link |
00:49:03.140
And of course adversary examples
link |
00:49:04.540
also work in other domains as well.
link |
00:49:07.660
For example, in natural language.
link |
00:49:10.260
So in this work, my students and collaborators
link |
00:49:14.220
have shown that, so one,
link |
00:49:17.380
we can actually very easily steal the model
link |
00:49:22.020
from for example, Google Translate
link |
00:49:24.900
by just doing queries through the APIs
link |
00:49:28.460
and then we can train an imitation model ourselves
link |
00:49:32.660
using the queries.
link |
00:49:34.300
And then once we,
link |
00:49:35.620
and also the imitation model can be very, very effective
link |
00:49:40.140
and essentially achieving similar performance
link |
00:49:44.380
as a target model.
link |
00:49:45.780
And then once we have the imitation model,
link |
00:49:48.060
we can then try to create adversary examples
link |
00:49:51.180
on these imitation models.
link |
00:49:52.860
So for example, giving in the work,
link |
00:49:57.620
it was one example is translating from English to German.
link |
00:50:01.860
We can give it a sentence saying,
link |
00:50:04.020
for example, I'm feeling freezing.
link |
00:50:06.460
It's like six Fahrenheit and then translating to German.
link |
00:50:13.220
And then we can actually generate adversary examples
link |
00:50:16.340
that create a target translation
link |
00:50:18.900
by very small perturbation.
link |
00:50:20.580
So in this case, I say we want to change the translation
link |
00:50:24.420
itself six Fahrenheit to 21 Celsius.
link |
00:50:30.660
And in this particular example,
link |
00:50:32.340
actually we just changed six to seven in the original
link |
00:50:36.500
sentence, that's the only change we made.
link |
00:50:38.580
It caused the translation to change from the six Fahrenheit
link |
00:50:44.860
into 21 Celsius.
link |
00:50:46.380
That's incredible.
link |
00:50:47.420
And then, so this example,
link |
00:50:49.820
we created this example from our imitation model
link |
00:50:54.060
and then this work actually transfers
link |
00:50:56.980
to the Google Translate.
link |
00:50:58.700
So the attacks that work on the imitation model,
link |
00:51:01.340
in some cases at least, transfer to the original model.
link |
00:51:05.380
That's incredible and terrifying.
link |
00:51:07.260
Okay, that's amazing work.
link |
00:51:10.380
And that shows that, again,
link |
00:51:11.900
real world systems actually can be easily fooled.
link |
00:51:15.260
And in our previous work,
link |
00:51:16.420
we also showed this type of black box attacks
link |
00:51:18.620
can be effective on cloud vision APIs as well.
link |
00:51:24.220
So that's for natural language and for vision.
link |
00:51:27.740
Let's talk about another space that people
link |
00:51:29.700
have some concern about, which is autonomous driving
link |
00:51:32.580
as sort of security concerns.
link |
00:51:35.060
That's another real world system.
link |
00:51:36.500
So do you have, should people be worried
link |
00:51:42.220
about adversarial machine learning attacks
link |
00:51:45.180
in the context of autonomous vehicles
link |
00:51:47.820
that use like Tesla Autopilot, for example,
link |
00:51:50.020
that uses vision as a primary sensor
link |
00:51:52.380
for perceiving the world and navigating that world?
link |
00:51:55.580
What do you think?
link |
00:51:56.620
From your stop sign work in the physical world,
link |
00:52:00.180
should people be worried?
link |
00:52:01.220
How hard is that attack?
link |
00:52:03.060
So actually there has already been,
link |
00:52:05.620
like there has always been like research shown
link |
00:52:09.300
that's, for example, actually even with Tesla,
link |
00:52:11.860
like if you put a few stickers on the road,
link |
00:52:15.340
it can actually, when it's arranged in certain ways,
link |
00:52:17.980
it can fool the.
link |
00:52:20.660
That's right, but I don't think it's actually been,
link |
00:52:23.060
I'm not, I might not be familiar,
link |
00:52:24.620
but I don't think it's been done on physical roads yet,
link |
00:52:28.220
meaning I think it's with a projector
link |
00:52:29.900
in front of the Tesla.
link |
00:52:31.540
So it's a physical, so you're on the other side
link |
00:52:34.780
of the sensor, but you're not in still the physical world.
link |
00:52:39.260
The question is whether it's possible
link |
00:52:41.060
to orchestrate attacks that work in the actual,
link |
00:52:44.900
like end to end attacks,
link |
00:52:47.100
like not just a demonstration of the concept,
link |
00:52:49.780
but thinking is it possible on the highway
link |
00:52:52.460
to control Tesla?
link |
00:52:53.620
That kind of idea.
link |
00:52:54.900
I think there are two separate questions.
link |
00:52:56.460
One is the feasibility of the attack
link |
00:52:58.900
and I'm 100% confident that the attack is possible.
link |
00:53:03.660
And there's a separate question,
link |
00:53:05.580
whether someone will actually go deploy that attack.
link |
00:53:10.940
I hope people do not do that,
link |
00:53:13.580
but that's two separate questions.
link |
00:53:15.820
So the question on the word feasibility.
link |
00:53:19.060
So to clarify, feasibility means it's possible.
link |
00:53:22.180
It doesn't say how hard it is,
link |
00:53:25.220
because to implement it.
link |
00:53:28.220
So sort of the barrier,
link |
00:53:29.980
like how much of a heist it has to be,
link |
00:53:32.820
like how many people have to be involved?
link |
00:53:34.740
What is the probability of success?
link |
00:53:36.300
That kind of stuff.
link |
00:53:37.180
And coupled with how many evil people there are in the world
link |
00:53:41.100
that would attempt such an attack, right?
link |
00:53:43.180
But the two, my question is, is it sort of,
link |
00:53:46.620
when I talked to Elon Musk and asked the same question,
link |
00:53:52.380
he says, it's not a problem.
link |
00:53:53.700
It's very difficult to do in the real world.
link |
00:53:55.940
That this won't be a problem.
link |
00:53:57.700
He dismissed it as a problem
link |
00:53:58.900
for adversarial attacks on the Tesla.
link |
00:54:01.180
Of course, he happens to be involved with the company.
link |
00:54:04.860
So he has to say that,
link |
00:54:06.180
but I mean, let me linger in a little longer.
link |
00:54:12.540
Where does your confidence that it's feasible come from?
link |
00:54:15.540
And what's your intuition, how people should be worried
link |
00:54:18.660
and how we might be, how people should defend against it?
link |
00:54:21.740
How Tesla, how Waymo, how other autonomous vehicle companies
link |
00:54:25.660
should defend against sensory based attacks,
link |
00:54:29.420
whether on Lidar or on vision or so on.
link |
00:54:32.380
And also even for Lidar, actually,
link |
00:54:33.620
there has been research shown that even Lidar itself
link |
00:54:36.140
can be attacked. No, no, no, no, no, no.
link |
00:54:38.540
It's really important to pause.
link |
00:54:40.340
There's really nice demonstrations that it's possible to do,
link |
00:54:44.820
but there's so many pieces that it's kind of like,
link |
00:54:49.380
it's kind of in the lab.
link |
00:54:51.740
Now it's in the physical world,
link |
00:54:53.380
meaning it's in the physical space, the attacks,
link |
00:54:55.700
but it's very like, you have to control a lot of things.
link |
00:54:58.780
To pull it off, it's like the difference
link |
00:55:02.100
between opening a safe when you have it
link |
00:55:05.500
and you have unlimited time and you can work on it
link |
00:55:08.620
versus like breaking into like the crown,
link |
00:55:12.220
stealing the crown jewels and whatever, right?
link |
00:55:14.340
I mean, so one way to look at it
link |
00:55:16.900
in terms of how real these attacks can be,
link |
00:55:20.060
one way to look at it is that actually
link |
00:55:21.740
you don't even need any sophisticated attacks.
link |
00:55:25.300
Already we've seen many real world examples, incidents
link |
00:55:30.460
where showing that the vehicle
link |
00:55:32.980
was making the wrong decision.
link |
00:55:34.420
The wrong decision without attacks, right?
link |
00:55:36.180
Right, right.
link |
00:55:37.020
So that's one way to demonstrate.
link |
00:55:38.580
And this is also, like so far we've mainly talked about work
link |
00:55:41.860
in this adversarial setting, showing that
link |
00:55:44.820
today's learning system,
link |
00:55:46.340
they are so vulnerable to the adversarial setting,
link |
00:55:48.940
but at the same time, actually we also know
link |
00:55:51.060
that even in natural settings,
link |
00:55:53.020
these learning systems, they don't generalize well
link |
00:55:55.580
and hence they can really misbehave
link |
00:55:58.100
under certain situations like what we have seen.
link |
00:56:02.300
And hence I think using that as an example,
link |
00:56:04.740
it can show that these issues can be real.
link |
00:56:08.260
They can be real, but so there's two cases.
link |
00:56:10.700
One is something, it's like perturbations
link |
00:56:14.140
can make the system misbehave
link |
00:56:16.140
versus make the system do one specific thing
link |
00:56:19.300
that the attacker wants, as you said, the targeted attack.
link |
00:56:23.780
That seems to be very difficult,
link |
00:56:27.500
like an extra level of difficult step in the real world.
link |
00:56:31.540
But from the perspective of the passenger of the car,
link |
00:56:35.660
I don't think it matters either way,
link |
00:56:38.140
whether it's misbehavior or a targeted attack.
link |
00:56:42.340
And also, and that's why I was also saying earlier,
link |
00:56:45.260
like one defense is this multi model defense
link |
00:56:48.740
and more of these consistent checks and so on.
link |
00:56:51.060
So in the future, I think also it's important
link |
00:56:53.420
that for these autonomous vehicles,
link |
00:56:56.420
they have lots of different sensors
link |
00:56:58.620
and they should be combining all these sensory readings
link |
00:57:02.620
to arrive at the decision and the interpretation
link |
00:57:06.860
of the world and so on.
link |
00:57:08.420
And the more of these sensory inputs they use
link |
00:57:12.100
and the better they combine the sensory inputs,
link |
00:57:14.500
the harder it is going to be attacked.
link |
00:57:16.900
And hence, I think that is a very important direction
link |
00:57:19.740
for us to move towards.
link |
00:57:21.740
So multi model, multi sensor across multiple cameras,
link |
00:57:25.340
but also in the case of car, radar, ultrasonic, sound even.
link |
00:57:30.060
So all of those.
link |
00:57:31.380
Right, right, right, exactly.
link |
00:57:33.380
So another thing, another part of your work
link |
00:57:36.260
has been in the space of privacy.
link |
00:57:39.180
And that too can be seen
link |
00:57:40.460
as a kind of security vulnerability.
link |
00:57:43.980
So thinking of data as a thing that should be protected
link |
00:57:47.900
and the vulnerabilities to data is vulnerability
link |
00:57:52.140
is essentially the thing that you wanna protect
link |
00:57:55.180
is the privacy of that data.
link |
00:57:56.940
So what do you see as the main vulnerabilities
link |
00:57:59.780
in the privacy of data and how do we protect it?
link |
00:58:02.260
Right, so in security we actually talk about
link |
00:58:05.620
essentially two, in this case, two different properties.
link |
00:58:10.180
One is integrity and one is confidentiality.
link |
00:58:13.500
So what we have been talking earlier
link |
00:58:17.220
is essentially the integrity of,
link |
00:58:20.660
the integrity property of the learning system.
link |
00:58:22.860
How to make sure that the learning system
link |
00:58:24.820
is giving the right prediction, for example.
link |
00:58:29.020
And privacy essentially is on the other side
link |
00:58:32.300
is about confidentiality of the system
link |
00:58:34.900
is how attackers can,
link |
00:58:37.260
when the attackers compromise
link |
00:58:39.620
the confidentiality of the system,
link |
00:58:42.460
that's when the attacker steal sensitive information,
link |
00:58:46.220
right, about individuals and so on.
link |
00:58:48.500
That's really clean, those are great terms.
link |
00:58:51.380
Integrity and confidentiality.
link |
00:58:53.580
Right.
link |
00:58:54.420
So how, what are the main vulnerabilities to privacy,
link |
00:58:58.700
would you say, and how do we protect against it?
link |
00:59:01.660
Like what are the main spaces and problems
link |
00:59:04.580
that you think about in the context of privacy?
link |
00:59:07.140
Right, so especially in the machine learning setting.
link |
00:59:12.620
So in this case, as we know that how the process goes
link |
00:59:16.980
is that we have the training data
link |
00:59:19.860
and then the machine learning system trains
link |
00:59:23.220
from this training data and then builds a model
link |
00:59:26.020
and then later on inputs are given to the model
link |
00:59:29.460
to, at inference time, to try to get prediction and so on.
link |
00:59:34.260
So then in this case, the privacy concerns that we have
link |
00:59:38.540
is typically about privacy of the data in the training data
link |
00:59:43.340
because that's essentially the private information.
link |
00:59:45.780
So, and it's really important
link |
00:59:49.980
because oftentimes the training data
link |
00:59:52.300
can be very sensitive.
link |
00:59:54.140
It can be your financial data, it's your health data,
link |
00:59:57.180
or like in IoT case,
link |
00:59:59.740
it's the sensors deployed in real world environment
link |
01:00:03.420
and so on.
link |
01:00:04.260
And all this can be collecting very sensitive information.
link |
01:00:08.500
And all the sensitive information gets fed
link |
01:00:11.220
into the learning system and trains.
link |
01:00:13.740
And as we know, these neural networks,
link |
01:00:16.660
they can have really high capacity
link |
01:00:19.380
and they actually can remember a lot.
link |
01:00:23.180
And hence just from the learning,
link |
01:00:25.300
the learned model in the end,
link |
01:00:27.580
actually attackers can potentially infer information
link |
01:00:31.900
about the original training data sets.
link |
01:00:36.860
So the thing you're trying to protect
link |
01:00:38.460
that is the confidentiality of the training data.
link |
01:00:42.820
And so what are the methods for doing that?
link |
01:00:44.620
Would you say, what are the different ways
link |
01:00:46.220
that can be done?
link |
01:00:47.780
And also we can talk about essentially
link |
01:00:49.620
how the attacker may try to learn information from the...
link |
01:00:54.620
So, and also there are different types of attacks.
link |
01:00:57.740
So in certain cases, again, like in white box attacks,
link |
01:01:01.220
we can see that the attacker actually get to see
link |
01:01:03.860
the parameters of the model.
link |
01:01:05.660
And then from that, a smart attacker potentially
link |
01:01:08.780
can try to figure out information
link |
01:01:11.380
about the training data set.
link |
01:01:13.940
They can try to figure out what type of data
link |
01:01:16.900
has been in the training data sets.
link |
01:01:18.660
And sometimes they can tell like,
link |
01:01:21.380
whether a person has been...
link |
01:01:23.940
A particular person's data point has been used
link |
01:01:27.220
in the training data sets as well.
link |
01:01:29.060
So white box, meaning you have access to the parameters
link |
01:01:31.940
of say a neural network.
link |
01:01:33.540
And so that you're saying that it's some...
link |
01:01:36.580
Given that information is possible to some...
link |
01:01:38.860
So I can give you some examples.
link |
01:01:40.380
And then another type of attack,
link |
01:01:41.780
which is even easier to carry out is not a white box model.
link |
01:01:46.180
It's more of just a query model where the attacker
link |
01:01:49.900
only gets to query the machine learning model
link |
01:01:52.580
and then try to steal sensitive information
link |
01:01:55.340
in the original training data.
link |
01:01:57.020
So, right, so I can give you an example.
link |
01:02:00.580
In this case, training a language model.
link |
01:02:03.700
So in our work, in collaboration
link |
01:02:06.300
with the researchers from Google,
link |
01:02:08.100
we actually studied the following question.
link |
01:02:10.660
So at high level, the question is,
link |
01:02:13.620
as we mentioned, the neural networks
link |
01:02:15.900
can have very high capacity and they could be remembering
link |
01:02:18.860
a lot from the training process.
link |
01:02:21.620
Then the question is, can attacker actually exploit this
link |
01:02:25.500
and try to actually extract sensitive information
link |
01:02:28.660
in the original training data sets
link |
01:02:31.140
through just querying the learned model
link |
01:02:34.220
without even knowing the parameters of the model,
link |
01:02:37.140
like the details of the model
link |
01:02:38.780
or the architectures of the model and so on.
link |
01:02:41.900
So that's a question we set out to explore.
link |
01:02:46.860
And in one of the case studies, we showed the following.
link |
01:02:50.860
So we trained a language model over an email data set.
link |
01:02:55.060
It's called an Enron email data set.
link |
01:02:57.420
And the Enron email data sets naturally contained
link |
01:03:01.180
users social security numbers and credit card numbers.
link |
01:03:05.500
So we trained a language model over the data sets
link |
01:03:08.500
and then we showed that an attacker
link |
01:03:11.180
by devising some new attacks
link |
01:03:13.220
by just querying the language model
link |
01:03:15.940
and without knowing the details of the model,
link |
01:03:19.140
the attacker actually can extract
link |
01:03:23.020
the original social security numbers and credit card numbers
link |
01:03:26.980
that were in the original training data sets.
link |
01:03:30.300
So get the most sensitive personally identifiable information
link |
01:03:33.300
from the data set from just querying it.
link |
01:03:38.340
Right, yeah.
link |
01:03:39.260
So that's an example showing that's why
link |
01:03:42.820
even as we train machine learning models,
link |
01:03:45.940
we have to be really careful
link |
01:03:48.300
with protecting users data privacy.
link |
01:03:51.580
So what are the mechanisms for protecting?
link |
01:03:53.740
Is there hopeful?
link |
01:03:55.740
So there's been recent work on differential privacy,
link |
01:03:58.940
for example, that provides some hope,
link |
01:04:02.660
but can you describe some of the ideas?
link |
01:04:04.460
Right, so that's actually, right.
link |
01:04:05.580
So that's also our finding is that by actually,
link |
01:04:09.780
we show that in this particular case,
link |
01:04:12.500
we actually have a good defense.
link |
01:04:14.300
For the querying case, for the language model case.
link |
01:04:17.820
So instead of just training a vanilla language model,
link |
01:04:23.020
instead, if we train a differentially private language model,
link |
01:04:26.620
then we can still achieve similar utility,
link |
01:04:31.100
but at the same time, we can actually significantly enhance
link |
01:04:34.580
the privacy protection of the learned model.
link |
01:04:39.420
And our proposed attacks actually are no longer effective.
link |
01:04:44.020
And differential privacy is a mechanism
link |
01:04:47.180
of adding some noise,
link |
01:04:49.100
by which you then have some guarantees on the inability
link |
01:04:52.620
to figure out the presence of a particular person
link |
01:04:58.820
in the dataset.
link |
01:04:59.860
So right, so in this particular case,
link |
01:05:01.860
what the differential privacy mechanism does
link |
01:05:05.500
is that it actually adds perturbation
link |
01:05:09.500
in the training process.
link |
01:05:10.700
As we know, during the training process,
link |
01:05:12.980
we are learning the model, we are doing gradient updates,
link |
01:05:16.860
the weight updates and so on.
link |
01:05:19.020
And essentially, differential privacy,
link |
01:05:22.620
a differentially private machine learning algorithm
link |
01:05:26.340
in this case, will be adding noise
link |
01:05:29.660
and adding various perturbation during this training process.
link |
01:05:33.860
To some aspect of the training process.
link |
01:05:35.780
Right, so then the finally trained learning,
link |
01:05:39.660
the learned model is differentially private,
link |
01:05:42.500
and so it can enhance the privacy protection.
link |
01:05:46.660
So okay, so that's the attacks and the defense of privacy.
link |
01:05:51.420
You also talk about ownership of data.
link |
01:05:54.340
So this is a really interesting idea
link |
01:05:56.580
that we get to use many services online
link |
01:05:59.060
for seemingly for free by essentially,
link |
01:06:04.100
sort of a lot of companies are funded through advertisement.
link |
01:06:06.820
And what that means is the advertisement works
link |
01:06:09.820
exceptionally well because the companies are able
link |
01:06:12.060
to access our personal data,
link |
01:06:13.700
so they know which advertisement to service
link |
01:06:16.260
to do targeted advertisements and so on.
link |
01:06:18.980
So can you maybe talk about this?
link |
01:06:21.860
You have some nice paintings of the future,
link |
01:06:26.220
philosophically speaking future
link |
01:06:28.580
where people can have a little bit more control
link |
01:06:31.780
of their data by owning
link |
01:06:33.140
and maybe understanding the value of their data
link |
01:06:36.900
and being able to sort of monetize it
link |
01:06:40.500
in a more explicit way as opposed to the implicit way
link |
01:06:43.460
that it's currently done.
link |
01:06:45.100
Yeah, I think this is a fascinating topic
link |
01:06:47.420
and also a really complex topic.
link |
01:06:51.100
Right, I think there are these natural questions,
link |
01:06:53.860
who should be owning the data?
link |
01:06:58.620
And so I can draw one analogy.
link |
01:07:03.220
So for example, for physical properties,
link |
01:07:06.820
like your house and so on.
link |
01:07:08.340
So really this notion of property rights
link |
01:07:13.180
it's not like from day one,
link |
01:07:17.220
we knew that there should be like this clear notion
link |
01:07:20.620
of ownership of properties and having enforcement for this.
link |
01:07:25.420
And so actually people have shown
link |
01:07:29.180
that this establishment and enforcement of property rights
link |
01:07:34.180
has been a main driver for the economy earlier.
link |
01:07:42.180
And that actually really propelled the economic growth
link |
01:07:47.180
even in the earlier stage.
link |
01:07:50.420
So throughout the history of the development
link |
01:07:53.020
of the United States or actually just civilization,
link |
01:07:56.180
the idea of property rights that you can own property.
link |
01:07:59.620
Right, and then there's enforcement.
link |
01:08:01.340
There's institutional rights,
link |
01:08:04.540
that governmental like enforcements of this
link |
01:08:07.740
actually has been a key driver for economic growth.
link |
01:08:12.020
And there had been even research or proposals saying
link |
01:08:16.420
that for a lot of the developing countries,
link |
01:08:22.540
essentially the challenge in growth
link |
01:08:25.100
is not actually due to the lack of capital.
link |
01:08:28.940
It's more due to the lack of this notion of property rights
link |
01:08:34.500
and the enforcement of property rights.
link |
01:08:37.060
Interesting, so that the presence of absence
link |
01:08:41.580
of both the concept of the property rights
link |
01:08:45.060
and their enforcement has a strong correlation
link |
01:08:48.100
to economic growth.
link |
01:08:49.820
Right, right.
link |
01:08:50.740
And so you think that that same could be transferred
link |
01:08:54.100
to the idea of property ownership
link |
01:08:56.220
in the case of data ownership.
link |
01:08:57.860
I think first of all, it's a good lesson for us
link |
01:09:01.260
to recognize that these rights and the recognition
link |
01:09:06.540
and the enforcements of these type of rights
link |
01:09:10.020
is very, very important for economic growth.
link |
01:09:13.220
And then if we look at where we are now
link |
01:09:15.740
and where we are going in the future,
link |
01:09:18.460
so essentially more and more
link |
01:09:19.780
is actually moving into the digital world.
link |
01:09:23.540
And also more and more, I would say,
link |
01:09:26.260
even information or assets of a person
link |
01:09:30.380
is more and more into the real world,
link |
01:09:33.180
the physical, sorry, the digital world as well.
link |
01:09:35.780
It's the data that the person has generated.
link |
01:09:39.900
And essentially it's like in the past
link |
01:09:43.020
what defines a person, you can say,
link |
01:09:45.860
right, like oftentimes besides the innate capabilities,
link |
01:09:50.940
actually it's the physical properties.
link |
01:09:54.260
House, car.
link |
01:09:55.300
Right, that defines a person.
link |
01:09:56.740
But I think more and more people start to realize
link |
01:09:59.540
actually what defines a person
link |
01:10:01.420
is more important in the data
link |
01:10:03.020
that the person has generated
link |
01:10:04.860
or the data about the person.
link |
01:10:07.540
Like all the way from your political views,
link |
01:10:10.500
your music taste and your financial information,
link |
01:10:14.980
a lot of these and your health.
link |
01:10:16.820
So more and more of the definition of the person
link |
01:10:20.140
is actually in the digital world.
link |
01:10:22.100
And currently for the most part, that's owned implicitly.
link |
01:10:26.220
People don't talk about it,
link |
01:10:27.300
but kind of it's owned by internet companies.
link |
01:10:33.340
So it's not owned by individuals.
link |
01:10:34.580
Right, there's no clear notion of ownership of such data.
link |
01:10:39.060
And also we talk about privacy and so on,
link |
01:10:41.820
but I think actually clearly identifying the ownership
link |
01:10:45.540
is a first step.
link |
01:10:46.580
Once you identify the ownership,
link |
01:10:48.300
then you can say who gets to define
link |
01:10:50.660
how the data should be used.
link |
01:10:52.300
So maybe some users are fine with internet companies
link |
01:10:57.580
serving them as, right, using their data
link |
01:11:02.020
as long as if the data is used in a certain way
link |
01:11:05.740
that actually the user consents with or allows.
link |
01:11:11.460
For example, you can see the recommendation system
link |
01:11:14.460
in some sense, we don't call it as,
link |
01:11:16.700
but a recommendation system,
link |
01:11:18.340
similarly it's trying to recommend you something
link |
01:11:20.740
and users enjoy and can really benefit
link |
01:11:23.980
from good recommendation systems,
link |
01:11:25.620
either recommending you better music, movies, news,
link |
01:11:29.340
even research papers to read.
link |
01:11:32.700
But of course then in these targeted ads,
link |
01:11:35.780
especially in certain cases where people can be manipulated
link |
01:11:40.420
by these targeted ads that can have really bad,
link |
01:11:44.140
like severe consequences.
link |
01:11:45.700
So essentially users want their data to be used
link |
01:11:50.340
to better serve them and also maybe even, right,
link |
01:11:53.380
get paid for or whatever, like in different settings.
link |
01:11:56.340
But the thing is that first of all,
link |
01:11:57.740
we need to really establish like who needs to decide,
link |
01:12:03.020
who can decide how the data should be used.
link |
01:12:06.180
And typically the establishment and clarification
link |
01:12:10.060
of the ownership will help this
link |
01:12:12.100
and it's an important first step.
link |
01:12:14.660
So if the user is the owner,
link |
01:12:16.260
then naturally the user gets to define
link |
01:12:18.340
how the data should be used.
link |
01:12:19.940
But if you even say that wait a minute,
link |
01:12:22.580
users are actually now the owner of this data,
link |
01:12:24.420
whoever is collecting the data is the owner of the data.
link |
01:12:26.700
Now of course they get to use the data
link |
01:12:28.180
however way they want.
link |
01:12:29.940
So to really address these complex issues,
link |
01:12:33.900
we need to go at the root cause.
link |
01:12:35.940
So it seems fairly clear that so first we really need to say
link |
01:12:41.100
that who is the owner of the data
link |
01:12:42.540
and then the owners can specify
link |
01:12:45.100
how they want their data to be utilized.
link |
01:12:47.140
So that's a fascinating,
link |
01:12:50.980
most people don't think about that
link |
01:12:52.620
and I think that's a fascinating thing to think about
link |
01:12:54.940
and probably fight for it.
link |
01:12:57.140
I can only see in the economic growth argument,
link |
01:12:59.620
it's probably a really strong one.
link |
01:13:01.020
So that's a first time I'm kind of at least thinking
link |
01:13:04.220
about the positive aspect of that ownership
link |
01:13:08.100
being the longterm growth of the economy,
link |
01:13:11.220
so good for everybody.
link |
01:13:12.260
But sort of one down possible downside I could see
link |
01:13:15.500
sort of to put on my grumpy old grandpa hat
link |
01:13:21.500
and it's really nice for Facebook and YouTube and Twitter
link |
01:13:25.860
to all be free.
link |
01:13:28.020
And if you give control to people or their data,
link |
01:13:31.660
do you think it's possible they will be,
link |
01:13:34.780
they would not want to hand it over quite easily?
link |
01:13:37.620
And so a lot of these companies that rely on mass handover
link |
01:13:42.220
of data and then therefore provide a mass
link |
01:13:46.900
seemingly free service would then completely,
link |
01:13:51.020
so the way the internet looks will completely change
link |
01:13:56.100
because of the ownership of data
link |
01:13:57.660
and we'll lose a lot of services value.
link |
01:14:00.700
Do you worry about that?
link |
01:14:02.340
That's a very good question.
link |
01:14:03.740
I think that's not necessarily the case
link |
01:14:06.060
in the sense that yes, users can have ownership
link |
01:14:10.060
of their data, they can maintain control of their data,
link |
01:14:12.860
but also then they get to decide how their data can be used.
link |
01:14:17.500
So that's why I mentioned earlier,
link |
01:14:19.900
so in this case, if they feel that they enjoy the benefits
link |
01:14:23.500
of social networks and so on,
link |
01:14:25.460
and they're fine with having Facebook, having their data,
link |
01:14:29.540
but utilizing the data in certain way that they agree,
link |
01:14:33.940
then they can still enjoy the free services.
link |
01:14:37.220
But for others, maybe they would prefer
link |
01:14:40.020
some kind of private vision.
link |
01:14:41.980
And in that case, maybe they can even opt in
link |
01:14:44.540
to say that I want to pay and to have,
link |
01:14:47.860
so for example, it's already fairly standard,
link |
01:14:50.780
like you pay for certain subscriptions
link |
01:14:53.460
so that you don't get to be shown ads, right?
link |
01:14:59.140
So then users essentially can have choices.
link |
01:15:01.980
And I think we just want to essentially bring out
link |
01:15:06.300
more about who gets to decide what to do with that data.
link |
01:15:10.820
I think it's an interesting idea,
link |
01:15:11.940
because if you poll people now,
link |
01:15:15.140
it seems like, I don't know,
link |
01:15:16.780
but subjectively, sort of anecdotally speaking,
link |
01:15:19.140
it seems like a lot of people don't trust Facebook.
link |
01:15:22.100
So that's at least a very popular thing to say
link |
01:15:24.380
that I don't trust Facebook, right?
link |
01:15:26.940
I wonder if you give people control of their data
link |
01:15:30.460
as opposed to sort of signaling to everyone
link |
01:15:33.140
that they don't trust Facebook,
link |
01:15:34.860
I wonder how they would speak with the actual,
link |
01:15:37.900
like would they be willing to pay $10 a month for Facebook
link |
01:15:42.460
or would they hand over their data?
link |
01:15:44.860
It'd be interesting to see what fraction of people
link |
01:15:47.500
would quietly hand over their data to Facebook
link |
01:15:51.300
to make it free.
link |
01:15:52.620
I don't have a good intuition about that.
link |
01:15:54.860
Like how many people, do you have an intuition
link |
01:15:57.580
about how many people would use their data effectively
link |
01:16:01.540
on the market of the internet
link |
01:16:06.540
by sort of buying services with their data?
link |
01:16:10.860
Yeah, so that's a very good question.
link |
01:16:12.380
I think, so one thing I also want to mention
link |
01:16:15.900
is that this, right, so it seems that especially in press,
link |
01:16:22.780
the conversation has been very much like
link |
01:16:26.020
two sides fighting against each other.
link |
01:16:29.100
On one hand, right, users can say that, right,
link |
01:16:33.500
they don't trust Facebook, they don't,
link |
01:16:35.420
or they delete Facebook.
link |
01:16:37.580
Yeah, exactly.
link |
01:16:39.140
Right, and then on the other hand, right, of course,
link |
01:16:45.940
right, the other side, they also feel,
link |
01:16:48.220
oh, they are providing a lot of services to users
link |
01:16:50.700
and users are getting it all for free.
link |
01:16:53.780
So I think I actually, I don't know,
link |
01:16:57.580
I talk a lot to like different companies
link |
01:17:00.700
and also like basically on both sides.
link |
01:17:04.820
So one thing I hope also like,
link |
01:17:07.660
this is my hope for this year also,
link |
01:17:09.180
is that we want to establish a more constructive dialogue
link |
01:17:16.820
and to help people to understand
link |
01:17:18.660
that the problem is much more nuanced
link |
01:17:21.860
than just this two sides fighting.
link |
01:17:25.500
Because naturally, there is a tension between the two sides,
link |
01:17:30.820
between utility and privacy.
link |
01:17:33.460
So if you want to get more utility, essentially,
link |
01:17:36.300
like the recommendation system example I gave earlier,
link |
01:17:40.620
if you want someone to give you a good recommendation,
link |
01:17:43.500
essentially, whatever that system is,
link |
01:17:45.220
the system is going to need to know your data
link |
01:17:48.580
to give you a good recommendation.
link |
01:17:52.020
But also, of course, at the same time,
link |
01:17:53.820
we want to ensure that however that data is being handled,
link |
01:17:56.660
it's done in a privacy preserving way.
link |
01:17:59.500
So that, for example, the recommendation system
link |
01:18:02.460
doesn't just go around and sell your data
link |
01:18:05.500
and then cause a lot of bad consequences and so on.
link |
01:18:12.580
So you want that dialogue to be a little bit more
link |
01:18:15.020
in the open, a little more nuanced,
link |
01:18:18.220
and maybe adding control to the data,
link |
01:18:20.700
ownership to the data will allow,
link |
01:18:24.020
as opposed to this happening in the background,
link |
01:18:26.220
allow to bring it to the forefront
link |
01:18:28.100
and actually have dialogues, like more nuanced,
link |
01:18:32.300
real dialogues about how we trade our data for the services.
link |
01:18:37.300
That's the hope.
link |
01:18:38.140
Right, right, yes, at the high level.
link |
01:18:41.020
So essentially, also knowing that there are
link |
01:18:42.980
technical challenges in addressing the issue,
link |
01:18:47.980
like basically you can't have,
link |
01:18:50.300
just like the example that I gave earlier,
link |
01:18:53.260
it's really difficult to balance the two
link |
01:18:55.580
between utility and privacy.
link |
01:18:57.460
And that's also a lot of things that I work on,
link |
01:19:01.980
my group works on as well,
link |
01:19:03.860
is to actually develop these technologies that are needed
link |
01:19:08.860
to essentially help this balance better,
link |
01:19:12.220
essentially to help data to be utilized
link |
01:19:14.660
in a privacy preserving way.
link |
01:19:16.420
And so we essentially need people to understand
link |
01:19:19.340
the challenges and also at the same time
link |
01:19:22.300
to provide the technical abilities
link |
01:19:26.180
and also regulatory frameworks to help the two sides
link |
01:19:29.540
to be more in a win win situation instead of a fight.
link |
01:19:33.020
Yeah, the fighting thing is,
link |
01:19:36.980
I think YouTube and Twitter and Facebook
link |
01:19:38.740
are providing an incredible service to the world
link |
01:19:41.460
and they're all making a lot of money
link |
01:19:44.260
and they're all making mistakes, of course,
link |
01:19:47.460
but they're doing an incredible job
link |
01:19:50.740
that I think deserves to be applauded
link |
01:19:53.500
and there's some degree of,
link |
01:19:55.580
like it's a cool thing that's created
link |
01:19:59.260
and it shouldn't be monolithically fought against,
link |
01:20:04.340
like Facebook is evil or so on.
link |
01:20:06.540
Yeah, it might make mistakes,
link |
01:20:07.980
but I think it's an incredible service.
link |
01:20:10.100
I think it's world changing.
link |
01:20:12.420
I mean, I think Facebook's done a lot of incredible,
link |
01:20:16.620
incredible things by bringing, for example, identity.
link |
01:20:20.900
Like allowing people to be themselves,
link |
01:20:25.220
like their real selves in the digital space
link |
01:20:28.660
by using their real name and their real picture.
link |
01:20:31.620
That step was like the first step from the real world
link |
01:20:34.220
to the digital world.
link |
01:20:35.700
That was a huge step that perhaps will define
link |
01:20:38.020
the 21st century in us creating a digital identity.
link |
01:20:41.580
And there's a lot of interesting possibilities there
link |
01:20:44.180
that are positive.
link |
01:20:45.260
Of course, some things that are negative
link |
01:20:47.900
and having a good dialogue about that is great.
link |
01:20:50.100
And I'm great that people like you
link |
01:20:51.660
are at the center of that dialogue, so that's awesome.
link |
01:20:54.180
Right, I think also, I also can understand.
link |
01:20:58.500
I think actually in the past,
link |
01:21:00.780
especially in the past couple of years,
link |
01:21:03.740
this rising awareness has been helpful.
link |
01:21:07.540
Like users are also more and more recognizing
link |
01:21:10.220
that privacy is important to them.
link |
01:21:12.020
They should, maybe, right,
link |
01:21:14.460
they should be owners of their data.
link |
01:21:15.860
I think this definitely is very helpful.
link |
01:21:18.260
And I think also this type of voice also,
link |
01:21:23.540
and together with the regulatory framework and so on,
link |
01:21:27.260
also help the companies to essentially put
link |
01:21:31.220
these type of issues at a higher priority.
link |
01:21:33.940
And knowing that, right, also it is their responsibility too
link |
01:21:38.940
to ensure that users are well protected.
link |
01:21:42.860
So I think definitely the rising voice is super helpful.
link |
01:21:47.260
And I think that actually really has brought
link |
01:21:50.420
the issue of data privacy
link |
01:21:52.660
and even this consideration of data ownership
link |
01:21:55.740
to the forefront to really much wider community.
link |
01:22:00.860
And I think more of this voice is needed,
link |
01:22:03.140
but I think it's just that we want to have
link |
01:22:05.140
a more constructive dialogue to bring the both sides together
link |
01:22:10.020
to figure out a constructive solution.
link |
01:22:13.740
So another interesting space
link |
01:22:15.180
where security is really important
link |
01:22:16.620
is in the space of any kinds of transactions,
link |
01:22:20.820
but it could be also digital currency.
link |
01:22:22.940
So can you maybe talk a little bit about blockchain?
link |
01:22:27.860
And can you tell me what is a blockchain?
link |
01:22:30.060
Blockchain.
link |
01:22:32.900
I think the blockchain word itself
link |
01:22:34.940
is actually very overloaded.
link |
01:22:37.580
Of course.
link |
01:22:38.420
In general.
link |
01:22:39.260
It's like AI.
link |
01:22:40.100
Right, yes.
link |
01:22:42.020
So in general, when we talk about blockchain,
link |
01:22:43.340
we refer to this distributor in a decentralized fashion.
link |
01:22:47.780
So essentially you have a community of nodes
link |
01:22:53.460
that come together.
link |
01:22:54.860
And even though each one may not be trusted,
link |
01:22:59.180
and as long as a certain thresholds
link |
01:23:02.620
of the set of nodes behaves properly,
link |
01:23:07.580
then the system can essentially achieve certain properties.
link |
01:23:11.820
For example, in the distributed ledger setting,
link |
01:23:15.580
you can maintain an immutable log
link |
01:23:18.540
and you can ensure that, for example,
link |
01:23:22.940
the transactions actually are agreed upon
link |
01:23:25.540
and then it's immutable and so on.
link |
01:23:28.260
So first of all, what's a ledger?
link |
01:23:29.740
So it's a...
link |
01:23:30.740
It's like a database.
link |
01:23:31.740
It's like a data entry.
link |
01:23:33.660
And so a distributed ledger
link |
01:23:35.140
is something that's maintained across
link |
01:23:37.900
or is synchronized across multiple sources, multiple nodes.
link |
01:23:41.700
Multiple nodes, yes.
link |
01:23:43.340
And so where is this idea?
link |
01:23:46.060
How do you keep...
link |
01:23:48.420
So it's important, a ledger, a database,
link |
01:23:51.420
to keep that, to make sure...
link |
01:23:55.580
So what are the kinds of security vulnerabilities
link |
01:23:58.740
that you're trying to protect against
link |
01:24:01.540
in the context of a distributed ledger?
link |
01:24:04.460
So in this case, for example,
link |
01:24:06.300
you don't want some malicious nodes
link |
01:24:09.100
to be able to change the transaction logs.
link |
01:24:12.860
And in certain cases, it's called double spending,
link |
01:24:15.700
like you can also cause different views
link |
01:24:19.820
in different parts of the network and so on.
link |
01:24:22.820
So the ledger has to represent,
link |
01:24:24.500
if you're capturing financial transactions,
link |
01:24:27.580
it has to represent the exact timing
link |
01:24:29.460
and the exact occurrence and no duplicates,
link |
01:24:32.420
all that kind of stuff.
link |
01:24:33.380
It has to represent what actually happened.
link |
01:24:37.100
Okay, so what are your thoughts
link |
01:24:40.540
on the security and privacy of digital currency?
link |
01:24:43.820
I can't tell you how many people write to me
link |
01:24:47.340
to interview various people in the digital currency space.
link |
01:24:51.660
There seems to be a lot of excitement there.
link |
01:24:54.940
And it seems to be, some of it's, to me,
link |
01:24:57.980
from an outsider's perspective, seems like dark magic.
link |
01:25:01.860
I don't know how secure...
link |
01:25:06.020
I think the foundation, from my perspective,
link |
01:25:08.900
of digital currencies, that is, you can't trust anyone.
link |
01:25:13.460
So you have to create a really secure system.
link |
01:25:16.340
So can you maybe speak about how,
link |
01:25:19.860
what your thoughts in general about digital currency is
link |
01:25:22.060
and how we can possibly create financial transactions
link |
01:25:26.940
and financial stores of money in the digital space?
link |
01:25:31.740
So you asked about security and privacy.
link |
01:25:35.220
So again, as I mentioned earlier,
link |
01:25:37.580
in security, we actually talk about two main properties,
link |
01:25:42.020
the integrity and confidentiality.
link |
01:25:45.860
So there's another one for availability.
link |
01:25:49.020
You want the system to be available.
link |
01:25:50.660
But here, for the question you asked,
link |
01:25:52.740
let's just focus on integrity and confidentiality.
link |
01:25:57.100
So for integrity of this distributed ledger,
link |
01:26:00.540
essentially, as we discussed,
link |
01:26:01.980
we want to ensure that the different nodes,
link |
01:26:06.860
so they have this consistent view,
link |
01:26:08.580
usually it's done through what we call a consensus protocol,
link |
01:26:13.140
and that they establish this shared view on this ledger,
link |
01:26:18.140
and that you cannot go back and change,
link |
01:26:21.900
it's immutable, and so on.
link |
01:26:25.260
So in this case, then the security often refers
link |
01:26:28.700
to this integrity property.
link |
01:26:31.820
And essentially, you're asking the question,
link |
01:26:34.660
how much work, how can you attack the system
link |
01:26:38.860
so that the attacker can change the lock, for example?
link |
01:26:43.860
Change the lock, for example.
link |
01:26:46.220
Right, how hard is it to make an attack like that?
link |
01:26:48.540
Right, right.
link |
01:26:49.460
And then that very much depends on the consensus mechanism,
link |
01:26:55.180
how the system is built, and all that.
link |
01:26:57.580
So there are different ways
link |
01:26:59.140
to build these decentralized systems.
link |
01:27:02.860
And people may have heard about the terms called
link |
01:27:05.660
like proof of work, proof of stake,
link |
01:27:07.860
these different mechanisms.
link |
01:27:09.700
And it really depends on how the system has been built,
link |
01:27:14.420
and also how much resources,
link |
01:27:17.820
how much work has gone into the network
link |
01:27:20.500
to actually say how secure it is.
link |
01:27:24.460
So for example, people talk about like,
link |
01:27:26.660
in Bitcoin, it's proof of work system,
link |
01:27:28.860
so much electricity has been burned.
link |
01:27:32.060
So there's differences in the different mechanisms
link |
01:27:35.300
and the implementations of a distributed ledger
link |
01:27:37.940
used for digital currency.
link |
01:27:40.060
So there's Bitcoin, there's whatever,
link |
01:27:42.380
there's so many of them,
link |
01:27:43.300
and there's underlying different mechanisms.
link |
01:27:46.020
And there's arguments, I suppose,
link |
01:27:48.420
about which is more effective, which is more secure,
link |
01:27:51.620
which is more.
link |
01:27:52.940
And what is needed,
link |
01:27:54.940
what amount of resources needed
link |
01:27:56.980
to be able to attack the system?
link |
01:28:00.300
Like for example, what percentage of the nodes
link |
01:28:02.860
do you need to control or compromise
link |
01:28:06.220
in order to, right, to change the log?
link |
01:28:09.980
And those are things, do you have a sense
link |
01:28:12.860
if those are things that can be shown theoretically
link |
01:28:15.460
through the design of the mechanisms,
link |
01:28:17.580
or does it have to be shown empirically
link |
01:28:19.220
by having a large number of users using the currency?
link |
01:28:23.540
I see.
link |
01:28:24.380
So in general, for each consensus mechanism,
link |
01:28:27.020
you can actually show theoretically
link |
01:28:30.180
what is needed to be able to attack the system.
link |
01:28:34.420
Of course, there can be different types of attacks
link |
01:28:37.940
as we discussed at the beginning.
link |
01:28:41.180
And so that it's difficult to give
link |
01:28:46.980
like, you know, complete estimates,
link |
01:28:50.100
like really how much is needed to compromise the system.
link |
01:28:55.340
But in general, right, so there are ways to say
link |
01:28:57.700
what percentage of the nodes you need to compromise
link |
01:29:01.660
and so on.
link |
01:29:03.140
So we talked about integrity on the security side,
link |
01:29:07.460
and then you also mentioned the privacy
link |
01:29:11.180
or the confidentiality side.
link |
01:29:13.460
Does it have some of the same problems
link |
01:29:17.780
and therefore some of the same solutions
link |
01:29:19.420
that you talked about on the machine learning side
link |
01:29:21.500
with differential privacy and so on?
link |
01:29:24.180
Yeah, so actually in general on the public ledger
link |
01:29:29.180
in these public decentralized systems,
link |
01:29:33.500
actually nothing is private.
link |
01:29:34.940
So all the transactions posted on the ledger,
link |
01:29:38.620
anybody can see.
link |
01:29:40.020
So in that sense, there's no confidentiality.
link |
01:29:43.540
So usually what you can do is then
link |
01:29:48.020
there are the mechanisms that you can build in
link |
01:29:50.700
to enable confidentiality or privacy of the transactions
link |
01:29:55.220
and the data and so on.
link |
01:29:56.340
That's also some of the work that both my group
link |
01:30:00.900
and also my startup does as well.
link |
01:30:04.500
What's the name of the startup?
link |
01:30:05.580
Oasis Labs.
link |
01:30:06.620
Oasis Labs.
link |
01:30:07.660
And so the confidentiality aspect there
link |
01:30:11.980
is even though the transactions are public,
link |
01:30:15.380
you wanna keep some aspect confidential
link |
01:30:18.260
of the identity of the people involved in the transactions?
link |
01:30:21.100
Or what is their hope to keep confidential in this context?
link |
01:30:25.260
So in this case, for example,
link |
01:30:26.740
you want to enable like confidential transactions,
link |
01:30:31.620
even, so there are different essentially types of data
link |
01:30:37.460
that you want to keep private or confidential.
link |
01:30:40.900
And you can utilize different technologies
link |
01:30:43.220
including zero knowledge proofs
link |
01:30:45.340
and also secure computing and techniques
link |
01:30:50.340
and to hide who is making the transactions to whom
link |
01:30:56.580
and the transaction amount.
link |
01:30:58.300
And in our case, also we can enable
link |
01:31:00.860
like confidential smart contracts.
link |
01:31:02.980
And so that you don't know the data
link |
01:31:06.020
and the execution of the smart contract and so on.
link |
01:31:09.500
And we actually are combining these different technologies
link |
01:31:14.180
and going back to the earlier discussion we had,
link |
01:31:20.340
enabling like ownership of data and privacy of data and so on.
link |
01:31:26.180
So at Oasis Labs, we're actually building
link |
01:31:29.620
what we call a platform for responsible data economy
link |
01:31:33.180
to actually combine these different technologies together
link |
01:31:36.380
and to enable secure and privacy preserving computation
link |
01:31:41.380
and also using the library to help provide immutable log
link |
01:31:48.380
of users ownership to their data
link |
01:31:51.060
and the policies they want the data to adhere to,
link |
01:31:54.620
the usage of the data to adhere to
link |
01:31:56.420
and also how the data has been utilized.
link |
01:31:59.500
So all this together can build,
link |
01:32:02.340
we call a distributed secure computing fabric
link |
01:32:06.020
that helps to enable a more responsible data economy.
link |
01:32:10.060
So it's a lot of things together.
link |
01:32:11.620
Yeah, wow, that was eloquent.
link |
01:32:13.860
Okay, you're involved in so much amazing work
link |
01:32:17.140
that we'll never be able to get to,
link |
01:32:18.540
but I have to ask at least briefly about program synthesis,
link |
01:32:22.860
which at least in a philosophical sense captures
link |
01:32:26.780
much of the dreams of what's possible in computer science
link |
01:32:30.580
and the artificial intelligence.
link |
01:32:33.860
First, let me ask, what is program synthesis
link |
01:32:36.660
and can neural networks be used to learn programs from data?
link |
01:32:41.180
So can this be learned?
link |
01:32:43.100
Some aspect of the synthesis can it be learned?
link |
01:32:46.540
So program synthesis is about teaching computers
link |
01:32:49.660
to write code, to program.
link |
01:32:52.860
And I think that's one of our ultimate dreams or goals.
link |
01:33:00.180
I think Andreessen talked about software eating the world.
link |
01:33:05.340
So I say, once we teach computers to write the software,
link |
01:33:10.620
how to write programs, then I guess computers
link |
01:33:13.460
will be eating the world by transitivity.
link |
01:33:16.140
Yeah, exactly.
link |
01:33:17.700
So yeah, and also for me actually,
link |
01:33:23.460
when I shifted from security to more AI machine learning,
link |
01:33:28.980
program synthesis is,
link |
01:33:31.700
program synthesis and adversarial machine learning,
link |
01:33:33.700
these are the two fields that I particularly focus on.
link |
01:33:38.100
Like program synthesis is one of the first questions
link |
01:33:40.340
that I actually started investigating.
link |
01:33:42.740
Just as a question, oh, I guess from the security side,
link |
01:33:46.460
there's a, you're looking for holes in programs,
link |
01:33:49.340
so at least see small connection,
link |
01:33:51.380
but where was your interest for program synthesis?
link |
01:33:56.420
Because it's such a fascinating, such a big,
link |
01:33:58.380
such a hard problem in the general case.
link |
01:34:01.020
Why program synthesis?
link |
01:34:03.100
So the reason for that is actually when I shifted my focus
link |
01:34:06.860
from security into AI machine learning,
link |
01:34:12.940
actually one of my main motivation at the time
link |
01:34:16.220
is that even though I have been doing a lot of work
link |
01:34:19.020
in security and privacy,
link |
01:34:20.020
but I have always been fascinated
link |
01:34:22.580
about building intelligent machines.
link |
01:34:26.540
And that was really my main motivation
link |
01:34:30.100
to spend more time in AI machine learning
link |
01:34:32.180
is that I really want to figure out
link |
01:34:35.140
how we can build intelligent machines.
link |
01:34:37.860
And to help us towards that goal,
link |
01:34:43.700
program synthesis is really one of,
link |
01:34:45.500
I would say the best domain to work on.
link |
01:34:49.420
I actually call it like program synthesis
link |
01:34:52.260
is like the perfect playground
link |
01:34:54.980
for building intelligent machines
link |
01:34:57.460
and for artificial general intelligence.
link |
01:34:59.940
Yeah, well, it's also in that sense,
link |
01:35:03.300
not just a playground,
link |
01:35:04.140
I guess it's the ultimate test of intelligence
link |
01:35:06.860
because I think if you can generate sort of neural networks
link |
01:35:13.300
can learn good functions
link |
01:35:15.740
and they can help you out in classification tasks,
link |
01:35:19.100
but to be able to write programs,
link |
01:35:21.740
that's the epitome from the machine side.
link |
01:35:24.860
That's the same as passing the Turing test
link |
01:35:26.700
in natural language, but with programs,
link |
01:35:29.300
it's able to express complicated ideas
link |
01:35:32.060
to reason through ideas and boil them down to algorithms.
link |
01:35:38.020
Yes, exactly, exactly.
link |
01:35:39.420
Incredible, so can this be learned?
link |
01:35:41.700
How far are we?
link |
01:35:43.460
Is there hope?
link |
01:35:44.740
What are the open challenges?
link |
01:35:46.700
Yeah, very good questions.
link |
01:35:48.220
We are still at an early stage,
link |
01:35:51.220
but already I think we have seen a lot of progress.
link |
01:35:56.300
I mean, definitely we have existence proof,
link |
01:35:59.940
just like humans can write programs.
link |
01:36:02.020
So there's no reason why computers cannot write programs.
link |
01:36:05.740
So I think that's definitely an achievable goal
link |
01:36:08.740
is just how long it takes.
link |
01:36:11.380
And even today, we actually have,
link |
01:36:17.220
the program synthesis community,
link |
01:36:19.700
especially the program synthesis via learning,
link |
01:36:22.740
how we call it, neuro program synthesis community,
link |
01:36:24.820
is still very small, but the community has been growing
link |
01:36:28.500
and we have seen a lot of progress.
link |
01:36:31.740
And in limited domains, I think actually program synthesis
link |
01:36:37.260
is ripe for real world applications.
link |
01:36:41.300
So actually it was quite amazing.
link |
01:36:42.580
I was giving a talk, so here is a rework conference.
link |
01:36:49.180
Rework Deep Learning Summit.
link |
01:36:50.340
I actually, so I gave another talk
link |
01:36:52.340
at the previous rework conference
link |
01:36:54.860
in deep reinforcement learning.
link |
01:36:56.900
And then I actually met someone from a startup,
link |
01:37:01.980
the CEO of the startup.
link |
01:37:04.540
And then when he saw my name, he recognized it.
link |
01:37:06.500
And he actually said, one of our papers actually had,
link |
01:37:12.740
they had actually become a key products in their startup.
link |
01:37:17.740
And that was program synthesis, in that particular case,
link |
01:37:22.740
it was natural language translation,
link |
01:37:25.220
translating natural language description into SQL queries.
link |
01:37:31.180
Oh, wow, that direction, okay.
link |
01:37:34.020
Right, so yeah, so in program synthesis,
link |
01:37:37.820
in limited domains, in well specified domains,
link |
01:37:40.860
actually already we can see really,
link |
01:37:45.860
really great progress and applicability in the real world.
link |
01:37:52.140
So domains like, I mean, as an example,
link |
01:37:54.700
you said natural language,
link |
01:37:55.860
being able to express something through just normal language
link |
01:37:59.260
and it converts it into a database SQL query.
link |
01:38:03.140
Right.
link |
01:38:03.980
And that's how solved of a problem is that?
link |
01:38:07.660
Because that seems like a really hard problem.
link |
01:38:10.380
Again, in limited domains, actually it can work pretty well.
link |
01:38:14.940
And now this is also a very active domain of research.
link |
01:38:18.820
At the time, I think when he saw our paper at the time,
link |
01:38:21.460
we were the state of the arts on that task.
link |
01:38:25.660
And since then, actually now there has been more work
link |
01:38:29.100
and with even more like sophisticated data sets.
link |
01:38:34.100
And so, but I think I wouldn't be surprised
link |
01:38:38.820
that more of this type of technology
link |
01:38:41.020
really gets into the real world.
link |
01:38:43.260
That's exciting.
link |
01:38:44.300
In the near term.
link |
01:38:45.220
Being able to learn in the space of programs
link |
01:38:47.700
is super exciting.
link |
01:38:49.820
I still, yeah, I'm still skeptical
link |
01:38:53.100
cause I think it's a really hard problem,
link |
01:38:54.860
but I would love to see progress.
link |
01:38:56.620
And also I think in terms of the,
link |
01:38:58.500
you asked about open challenges.
link |
01:39:00.580
I think the domain is full of challenges
link |
01:39:04.260
and in particular also we want to see
link |
01:39:06.740
how we should measure the progress in the space.
link |
01:39:09.900
And I would say mainly three main, I would say, metrics.
link |
01:39:16.740
So one is the complexity of the program
link |
01:39:18.660
that we can synthesize.
link |
01:39:20.020
And that will actually have clear measures
link |
01:39:22.740
and just look at the past publications.
link |
01:39:25.860
And even like, for example,
link |
01:39:27.380
I was at the recent NeurIPS conference.
link |
01:39:30.300
Now there's actually fairly sizable like session
link |
01:39:33.780
dedicated to program synthesis, which is...
link |
01:39:35.900
Or even Neural programs.
link |
01:39:37.340
Right, right, right, which is great.
link |
01:39:38.980
And we continue to see the increase.
link |
01:39:43.140
What does sizable mean?
link |
01:39:44.380
I like the word sizable, it's five people.
link |
01:39:51.420
It's still a small community, but it is growing.
link |
01:39:54.380
And they will all win Turing Awards one day, I like it.
link |
01:39:58.580
Right, so we can clearly see an increase
link |
01:40:02.700
in the complexity of the programs that these...
link |
01:40:07.260
We can synthesize.
link |
01:40:09.020
Sorry, is it the complexity of the actual text
link |
01:40:12.420
of the program or the running time complexity?
link |
01:40:15.340
Which complexity are we...
link |
01:40:17.220
How...
link |
01:40:18.060
The complexity of the task to be synthesized
link |
01:40:21.660
and the complexity of the actual synthesized programs.
link |
01:40:24.540
So the lines of code even, for example.
link |
01:40:27.820
Okay, I got you.
link |
01:40:28.660
But it's not the theoretical upper bound
link |
01:40:32.860
of the running time of the algorithm kind of thing.
link |
01:40:35.300
Okay, got it.
link |
01:40:36.620
And you can see the complexity decreasing already.
link |
01:40:39.900
Oh, no, meaning we want to be able to synthesize
link |
01:40:42.060
more and more complex programs, bigger and bigger programs.
link |
01:40:44.860
So we want to see that, we want to increase
link |
01:40:49.260
the complexity of this.
link |
01:40:50.100
I got you, so I have to think through,
link |
01:40:51.380
because I thought of complexity as,
link |
01:40:53.260
you want to be able to accomplish the same task
link |
01:40:55.540
with a simpler and simpler program.
link |
01:40:56.700
I see, I see.
link |
01:40:57.540
No, we are not doing that.
link |
01:40:58.820
It's more about how complex a task
link |
01:41:02.420
we can synthesize programs for.
link |
01:41:03.940
Yeah, got it, being able to synthesize programs,
link |
01:41:07.980
learn them for more and more difficult tasks.
link |
01:41:10.180
So for example, initially, our first work
link |
01:41:12.740
in program synthesis was to translate natural language
link |
01:41:16.460
description into really simple programs called if TTT,
link |
01:41:19.900
if this, then that.
link |
01:41:21.380
So given a trigger condition,
link |
01:41:23.700
what is the action you should take?
link |
01:41:25.700
So that program is super simple.
link |
01:41:28.060
You just identify the trigger conditions and the action.
link |
01:41:31.540
And then later on, with SQL queries,
link |
01:41:33.260
it gets more complex.
link |
01:41:34.300
And then also, we started to synthesize programs
link |
01:41:37.780
with loops and, you know.
link |
01:41:40.020
Oh no, and if you could synthesize recursion,
link |
01:41:43.740
it's all over.
link |
01:41:45.540
Right, actually, one of our works actually
link |
01:41:48.540
is on learning recursive neural programs.
link |
01:41:50.940
Oh no.
link |
01:41:51.780
But anyway, anyway, so that's one is complexity,
link |
01:41:53.660
and the other one is generalization.
link |
01:41:58.300
Like when we train or learn a program synthesizer,
link |
01:42:04.380
in this case, a neural programs to synthesize programs,
link |
01:42:07.740
then you want it to generalize.
link |
01:42:10.460
For a large number of inputs.
link |
01:42:13.140
Right, so to be able to generalize
link |
01:42:15.500
to previously unseen inputs.
link |
01:42:18.180
Got it.
link |
01:42:19.020
And so, right, so some of the work we did earlier
link |
01:42:21.620
on learning recursive neural programs
link |
01:42:26.180
actually showed that recursion
link |
01:42:29.580
actually is important to learn.
link |
01:42:32.620
And if you have recursion,
link |
01:42:34.780
then for a certain set of tasks,
link |
01:42:37.780
we can actually show that you can actually
link |
01:42:39.420
have perfect generalization.
link |
01:42:42.100
So, right, so that won the best paperwork awards
link |
01:42:44.380
at ICLR earlier.
link |
01:42:46.540
So that's one example of we want to learn
link |
01:42:50.740
these neural programs that can generalize better.
link |
01:42:53.580
But that works for certain tasks, certain domains,
link |
01:42:57.220
and there's question how we can essentially
link |
01:43:01.220
develop more techniques that can have generalization
link |
01:43:06.780
for a wider set of domains and so on.
link |
01:43:10.460
So that's another area.
link |
01:43:11.460
And then the third challenge I think will,
link |
01:43:15.940
it's not just for programming synthesis,
link |
01:43:17.580
it's also cutting across other fields
link |
01:43:20.660
in machine learning and also including
link |
01:43:24.140
like deep reinforcement learning in particular,
link |
01:43:26.380
is that this adaptation is that we want to be able
link |
01:43:33.420
to learn from the past and tasks and training and so on
link |
01:43:40.300
to be able to solve new tasks.
link |
01:43:42.380
So for example, in program synthesis today,
link |
01:43:45.540
we still are working in the setting
link |
01:43:48.020
where given a particular task,
link |
01:43:50.420
we train the model and to solve this particular task.
link |
01:43:57.660
But that's not how humans work.
link |
01:44:00.060
The whole point is we train a human,
link |
01:44:03.140
then you can then program to solve new tasks.
link |
01:44:07.460
Right, exactly.
link |
01:44:08.580
And just like in deep reinforcement learning,
link |
01:44:10.380
we don't want to just train agent
link |
01:44:11.700
to play a particular game,
link |
01:44:14.740
either it's Atari or it's Go or whatever.
link |
01:44:19.020
We want to train these agents
link |
01:44:21.580
that can essentially extract knowledge
link |
01:44:24.900
from the past learning experience
link |
01:44:27.020
to be able to adapt to new tasks and solve new tasks.
link |
01:44:31.500
And I think this is particularly important
link |
01:44:33.580
for program synthesis.
link |
01:44:34.740
Yeah, that's the whole dream of program synthesis
link |
01:44:37.580
is you're learning a tool that can solve new problems.
link |
01:44:41.420
Right, exactly.
link |
01:44:42.580
And I think that's a particular domain
link |
01:44:44.940
that as a community, we need to put more emphasis on.
link |
01:44:50.460
And I hope that we can make more progress there as well.
link |
01:44:54.340
Awesome.
link |
01:44:55.860
There's a lot more to talk about.
link |
01:44:57.060
Let me ask that you also had a very interesting
link |
01:45:01.500
and we talked about rich representations.
link |
01:45:04.980
You had a rich life journey.
link |
01:45:08.220
You did your bachelor's in China
link |
01:45:10.100
and your master's and PhD in the United States,
link |
01:45:12.860
CMU in Berkeley.
link |
01:45:15.300
Are there interesting differences?
link |
01:45:16.780
I told you I'm Russian.
link |
01:45:17.740
I think there's a lot of interesting difference
link |
01:45:19.220
between Russia and the United States.
link |
01:45:21.100
Are there in your eyes, interesting differences
link |
01:45:24.780
between the two cultures from the silly romantic notion
link |
01:45:30.380
of the spirit of the people to the more practical notion
link |
01:45:33.660
of how research is conducted that you find interesting
link |
01:45:37.780
or useful in your own work of having experienced both?
link |
01:45:42.100
That's a good question.
link |
01:45:43.700
I think, so I studied in China for my undergraduates
link |
01:45:50.100
and that was more than 20 years ago.
link |
01:45:54.580
So it's been a long time.
link |
01:45:57.260
Is there echoes of that time in you?
link |
01:45:59.060
Things have changed a lot.
link |
01:46:00.500
Actually, it's interesting.
link |
01:46:01.580
I think even more so maybe something
link |
01:46:04.220
that's even be more different for my experience
link |
01:46:08.900
than a lot of computer science researchers
link |
01:46:12.340
and practitioners is that,
link |
01:46:14.140
so for my undergrad, I actually studied physics.
link |
01:46:16.820
Nice, very nice.
link |
01:46:18.020
And then I switched to computer science in graduate school.
link |
01:46:22.060
What happened?
link |
01:46:26.900
Is there another possible universe
link |
01:46:29.380
where you could have become a theoretical physicist
link |
01:46:32.140
at Caltech or something like that?
link |
01:46:34.540
That's very possible, some of my undergrad classmates,
link |
01:46:39.340
then they later on studied physics,
link |
01:46:41.540
got their PhD in physics from these schools,
link |
01:46:45.540
from top physics programs.
link |
01:46:49.500
So you switched to, I mean,
link |
01:46:51.460
from that experience of doing physics in your bachelor's,
link |
01:46:55.940
what made you decide to switch to computer science
link |
01:46:59.260
and computer science at arguably the best university,
link |
01:47:03.660
one of the best universities in the world
link |
01:47:05.020
for computer science with Carnegie Mellon,
link |
01:47:07.260
especially for grad school and so on.
link |
01:47:09.980
So what, second only to MIT, just kidding.
link |
01:47:13.020
Okay, I had to throw that in there.
link |
01:47:17.300
No, what was the choice like
link |
01:47:19.420
and what was the move to the United States like?
link |
01:47:22.580
What was that whole transition?
link |
01:47:24.100
And if you remember, if there's still echoes
link |
01:47:26.980
of some of the spirit of the people of China in you
link |
01:47:30.140
in New York.
link |
01:47:31.500
Right, right, yeah.
link |
01:47:32.340
It's like three questions in one.
link |
01:47:33.180
Yes, I know.
link |
01:47:34.380
I'm sorry.
link |
01:47:36.620
No, that's okay.
link |
01:47:38.540
So yes, so I guess, okay,
link |
01:47:40.100
so first transition from physics to computer science.
link |
01:47:43.260
So when I first came to the United States,
link |
01:47:45.340
I was actually in the physics PhD program at Cornell.
link |
01:47:49.340
I was there for one year
link |
01:47:50.300
and then I switched to computer science
link |
01:47:52.020
and then I was in the PhD program at Carnegie Mellon.
link |
01:47:56.220
So, okay, so the reasons for switching.
link |
01:47:59.100
So one thing, so that's why I also mentioned
link |
01:48:02.060
about this difference in backgrounds
link |
01:48:04.220
about having studied physics first in my undergrad.
link |
01:48:09.220
I actually really, I really did enjoy
link |
01:48:13.780
my undergrad's time and education in physics.
link |
01:48:18.780
I think that actually really helped me
link |
01:48:21.060
in my future work in computer science.
link |
01:48:25.020
Actually, even for machine learning,
link |
01:48:26.380
a lot of the machine learning stuff,
link |
01:48:28.060
the core machine learning methods,
link |
01:48:29.740
many of them actually came from physics.
link |
01:48:31.540
Statistical.
link |
01:48:34.580
For honest, most of everything came from physics.
link |
01:48:39.580
Right, but anyway, so when I studied physics,
link |
01:48:42.700
I was, I think I was really attracted to physics.
link |
01:48:49.020
It was, it's really beautiful.
link |
01:48:51.340
And I actually call it, physics is the language of nature.
link |
01:48:55.820
And I actually clearly remember, like, one moment
link |
01:49:01.940
in my undergrads, like I did my undergrad in Tsinghua
link |
01:49:07.260
and I used to study in the library.
link |
01:49:10.860
And I clearly remember, like, one day
link |
01:49:14.620
I was sitting in the library and I was, like,
link |
01:49:19.540
writing on my notes and so on.
link |
01:49:21.300
And I got so excited that I realized
link |
01:49:24.740
that really just from a few simple axioms,
link |
01:49:28.340
a few simple laws, I can derive so much.
link |
01:49:31.780
It's almost like I can derive the rest of the world.
link |
01:49:34.300
Yeah, the rest of the universe.
link |
01:49:35.980
Yes, yes, so that was, like, amazing.
link |
01:49:39.260
Do you think you, have you ever seen
link |
01:49:42.100
or do you think you can rediscover
link |
01:49:43.500
that kind of power and beauty in computer science
link |
01:49:46.140
in the world that you...
link |
01:49:46.980
So, that's very interesting.
link |
01:49:49.380
So that gets to, you know, the transition
link |
01:49:51.460
from physics to computer science.
link |
01:49:53.180
It's quite different.
link |
01:49:55.900
For physics in grad school, actually, things changed.
link |
01:50:01.860
So one is I started to realize that
link |
01:50:05.740
when I started doing research in physics,
link |
01:50:08.620
at the time I was doing theoretical physics.
link |
01:50:11.260
And a lot of it, you still have the beauty,
link |
01:50:14.780
but it's very different.
link |
01:50:16.100
So I had to actually do a lot of the simulation.
link |
01:50:18.420
So essentially I was actually writing,
link |
01:50:20.740
in some cases writing fortune code.
link |
01:50:23.940
Good old fortune, yeah.
link |
01:50:26.380
To actually, right, do simulations and so on.
link |
01:50:32.940
That was not exactly what I enjoyed doing.
link |
01:50:42.500
And also at the time from talking with the senior students,
link |
01:50:47.500
senior students in the program,
link |
01:50:52.500
I realized many of the students actually were going off
link |
01:50:55.260
to like Wall Street and so on.
link |
01:50:58.540
So, and I've always been interested in computer science
link |
01:51:02.300
and actually essentially taught myself
link |
01:51:06.540
the C programming.
link |
01:51:07.860
Program?
link |
01:51:08.700
Right, and so on.
link |
01:51:09.540
At which, when?
link |
01:51:10.900
In college.
link |
01:51:12.020
In college somewhere?
link |
01:51:12.860
In the summer.
link |
01:51:14.180
For fun, physics major, learning to do C programming.
link |
01:51:19.180
Beautiful.
link |
01:51:20.020
Actually it's interesting, in physics at the time,
link |
01:51:23.540
I think now the program probably has changed,
link |
01:51:25.820
but at the time really the only class we had
link |
01:51:29.940
in related to computer science education
link |
01:51:34.140
was introduction to, I forgot,
link |
01:51:36.780
to computer science or computing and Fortran 77.
link |
01:51:40.060
There's a lot of people that still use Fortran.
link |
01:51:42.460
I'm actually, if you're a programmer out there,
link |
01:51:46.020
I'm looking for an expert to talk to about Fortran.
link |
01:51:49.700
They seem to, there's not many,
link |
01:51:51.740
but there's still a lot of people that still use Fortran
link |
01:51:53.900
and still a lot of people that use Cobalt.
link |
01:51:56.420
But anyway, so then I realized,
link |
01:52:00.180
instead of just doing programming
link |
01:52:01.860
for doing simulations and so on,
link |
01:52:04.180
that I may as well just change to computer science.
link |
01:52:07.100
And also one thing I really liked,
link |
01:52:09.100
and that's a key difference between the two,
link |
01:52:11.260
is in computer science it's so much easier
link |
01:52:14.260
to realize your ideas.
link |
01:52:15.980
If you have an idea, you write it up, you code it up,
link |
01:52:19.300
and then you can see it actually, right?
link |
01:52:22.500
Exactly.
link |
01:52:23.820
Running and you can see it.
link |
01:52:26.100
You can bring it to life quickly.
link |
01:52:26.940
Bring it to life.
link |
01:52:27.940
Whereas in physics, if you have a good theory,
link |
01:52:30.540
you have to wait for the experimentalists
link |
01:52:33.140
to do the experiments and to confirm the theory,
link |
01:52:35.380
and things just take so much longer.
link |
01:52:38.060
And also the reason in physics I decided to do
link |
01:52:42.340
theoretical physics was because I had my experience
link |
01:52:45.700
with experimental physics.
link |
01:52:47.820
First, you have to fix the equipment.
link |
01:52:50.820
You spend most of your time fixing the equipment first.
link |
01:52:55.820
Super expensive equipment, so there's a lot of,
link |
01:52:58.140
yeah, you have to collaborate with a lot of people.
link |
01:53:00.780
Takes a long time.
link |
01:53:01.620
Just takes really, right, much longer.
link |
01:53:03.500
Yeah, it's messy.
link |
01:53:04.340
Right, so I decided to switch to computer science.
link |
01:53:06.540
And one thing I think maybe people have realized
link |
01:53:09.580
is that for people who study physics,
link |
01:53:11.100
actually it's very easy for physicists
link |
01:53:13.900
to change to do something else.
link |
01:53:16.820
I think physics provides a really good training.
link |
01:53:19.580
And yeah, so actually it was fairly easy
link |
01:53:23.180
to switch to computer science.
link |
01:53:26.820
But one thing, going back to your earlier question,
link |
01:53:29.780
so one thing I actually did realize,
link |
01:53:32.740
so there is a big difference between computer science
link |
01:53:34.860
and physics, where physics you can derive
link |
01:53:37.460
the whole universe from just a few simple laws.
link |
01:53:41.380
And computer science, given that a lot of it
link |
01:53:43.820
is defined by humans, the systems are defined by humans,
link |
01:53:47.300
and it's artificial, like essentially you create
link |
01:53:53.660
a lot of these artifacts and so on.
link |
01:53:57.620
It's not quite the same.
link |
01:53:58.620
You don't derive the computer systems
link |
01:54:00.940
with just a few simple laws.
link |
01:54:03.420
You actually have to see there is historical reasons
link |
01:54:07.580
why a system is built and designed one way
link |
01:54:10.340
versus the other.
link |
01:54:12.780
There's a lot more complexity, less elegant simplicity
link |
01:54:17.100
of E equals MC squared that kind of reduces everything
link |
01:54:20.020
down to those beautiful fundamental equations.
link |
01:54:23.220
But what about the move from China to the United States?
link |
01:54:27.540
Is there anything that still stays in you
link |
01:54:31.100
that contributes to your work,
link |
01:54:33.700
the fact that you grew up in another culture?
link |
01:54:36.740
So yes, I think especially back then
link |
01:54:38.780
it's very different from now.
link |
01:54:40.620
So now they actually, I see these students
link |
01:54:46.780
coming from China, and even undergrads,
link |
01:54:49.260
actually they speak fluent English.
link |
01:54:51.380
It was just amazing.
link |
01:54:54.900
And they have already understood so much of the culture
link |
01:54:59.220
in the US and so on.
link |
01:55:00.900
It was to you, it was all foreign?
link |
01:55:04.260
It was a very different time.
link |
01:55:06.660
At the time, actually, we didn't even have easy access
link |
01:55:11.860
to email, not to mention about the web.
link |
01:55:16.260
I remember I had to go to specific privileged server rooms
link |
01:55:22.700
to use email, and hence, at the time,
link |
01:55:27.700
at the time we had much less knowledge
link |
01:55:30.660
about the Western world.
link |
01:55:32.940
And actually at the time I didn't know,
link |
01:55:35.060
actually in the US, the West Coast weather
link |
01:55:38.140
is much better than the East Coast.
link |
01:55:40.100
Yeah, things like that, actually.
link |
01:55:45.100
It's very interesting.
link |
01:55:48.780
But now it's so different.
link |
01:55:50.340
At the time, I would say there's also
link |
01:55:52.020
a bigger cultural difference,
link |
01:55:53.620
because there was so much less opportunity
link |
01:55:58.060
for shared information.
link |
01:55:59.300
So it's such a different time and world.
link |
01:56:02.380
So let me ask maybe a sensitive question.
link |
01:56:04.540
I'm not sure, but I think you and I
link |
01:56:07.100
are in similar positions.
link |
01:56:08.460
I've been here for already 20 years as well,
link |
01:56:13.140
and looking at Russia from my perspective,
link |
01:56:15.420
and you looking at China.
link |
01:56:16.860
In some ways, it's a very distant place,
link |
01:56:19.420
because it's changed a lot.
link |
01:56:21.020
But in some ways you still have echoes,
link |
01:56:23.020
you still have knowledge of that place.
link |
01:56:25.180
The question is, China's doing a lot
link |
01:56:27.500
of incredible work in AI.
link |
01:56:29.580
Do you see, please tell me
link |
01:56:32.300
there's an optimistic picture you see
link |
01:56:34.100
where the United States and China
link |
01:56:36.180
can collaborate and sort of grow together
link |
01:56:38.340
in the development of AI towards,
link |
01:56:41.380
there's different values in terms
link |
01:56:43.380
of the role of government and so on,
link |
01:56:44.940
of ethical, transparent, secure systems.
link |
01:56:48.700
We see it differently in the United States
link |
01:56:50.900
a little bit than China,
link |
01:56:51.940
but we're still trying to work it out.
link |
01:56:53.900
Do you see the two countries being able
link |
01:56:55.580
to successfully collaborate and work
link |
01:56:57.740
in a healthy way without sort of fighting
link |
01:57:01.260
and making it an AI arms race kind of situation?
link |
01:57:06.220
Yeah, I believe so.
link |
01:57:08.220
I think science has no border,
link |
01:57:10.820
and the advancement of the technology helps everyone,
link |
01:57:16.500
helps the whole world.
link |
01:57:18.020
And so I certainly hope that the two countries
link |
01:57:21.700
will collaborate, and I certainly believe so.
link |
01:57:26.860
Do you have any reason to believe so
link |
01:57:28.700
except being an optimist?
link |
01:57:32.100
So first, again, like I said, science has no borders.
link |
01:57:35.060
And especially in...
link |
01:57:36.500
Science doesn't know borders?
link |
01:57:38.260
Right.
link |
01:57:39.220
And you believe that will,
link |
01:57:41.380
in the former Soviet Union during the Cold War...
link |
01:57:44.820
So that's, yeah.
link |
01:57:45.940
So that's the other point I was going to mention
link |
01:57:47.580
is that especially in academic research,
link |
01:57:51.300
everything is public.
link |
01:57:52.420
Like we write papers, we open source codes,
link |
01:57:55.500
and all this is in the public domain.
link |
01:57:59.060
It doesn't matter whether the person is in the US,
link |
01:58:01.340
in China, or some other parts of the world.
link |
01:58:04.860
They can go on archive
link |
01:58:06.100
and look at the latest research and results.
link |
01:58:09.420
So that openness gives you hope.
link |
01:58:11.500
Yes. Me too.
link |
01:58:12.500
And that's also how, as a world,
link |
01:58:15.620
we make progress the best.
link |
01:58:17.220
So, I apologize for the romanticized question,
link |
01:58:21.220
but looking back,
link |
01:58:22.620
what would you say was the most transformative moment
link |
01:58:26.100
in your life that
link |
01:58:30.420
maybe made you fall in love with computer science?
link |
01:58:32.900
You said physics.
link |
01:58:33.740
You remember there was a moment
link |
01:58:34.900
where you thought you could derive
link |
01:58:36.220
the entirety of the universe.
link |
01:58:38.740
Was there a moment that you really fell in love
link |
01:58:40.900
with the work you do now,
link |
01:58:42.740
from security to machine learning,
link |
01:58:45.220
to program synthesis?
link |
01:58:47.420
So maybe, as I mentioned, actually, in college,
link |
01:58:52.100
one summer I just taught myself programming in C.
link |
01:58:55.580
Yes.
link |
01:58:56.420
And you just read a book,
link |
01:58:57.620
and then you're like...
link |
01:58:59.460
Don't tell me you fell in love with computer science
link |
01:59:01.540
by programming in C.
link |
01:59:02.900
Remember I mentioned one of the draws
link |
01:59:05.340
for me to computer science is how easy it is
link |
01:59:07.900
to realize your ideas.
link |
01:59:10.060
So once I read a book,
link |
01:59:13.900
I taught myself how to program in C.
link |
01:59:16.940
Immediately, what did I do?
link |
01:59:19.260
I programmed two games.
link |
01:59:22.940
One's just simple, like it's a Go game,
link |
01:59:25.300
like it's a board, you can move the stones and so on.
link |
01:59:28.260
And the other one, I actually programmed a game
link |
01:59:30.420
that's like a 3D Tetris.
link |
01:59:32.940
It turned out to be a super hard game to play.
link |
01:59:35.300
Because instead of just the standard 2D Tetris,
link |
01:59:38.780
it's actually a 3D thing.
link |
01:59:40.700
But I realized, wow,
link |
01:59:42.900
I just had these ideas to try it out,
link |
01:59:45.100
and then, yeah, you can just do it.
link |
01:59:48.500
And so that's when I realized, wow, this is amazing.
link |
01:59:53.260
Yeah, you can create yourself.
link |
01:59:55.100
Yes, yes, exactly.
link |
01:59:57.580
From nothing to something
link |
01:59:59.540
that's actually out in the real world.
link |
02:00:01.580
So let me ask...
link |
02:00:02.420
Right, I think with your own hands.
link |
02:00:03.780
Let me ask a silly question,
link |
02:00:05.860
or maybe the ultimate question.
link |
02:00:07.860
What is to you the meaning of life?
link |
02:00:11.740
What gives your life meaning, purpose,
link |
02:00:15.140
fulfillment, happiness, joy?
link |
02:00:19.220
Okay, these are two different questions.
link |
02:00:21.100
Very different, yeah.
link |
02:00:22.500
It's usually that you ask this question.
link |
02:00:24.900
Maybe this question is probably the question
link |
02:00:28.020
that has followed me and followed my life the most.
link |
02:00:32.740
Have you discovered anything,
link |
02:00:34.860
any satisfactory answer for yourself?
link |
02:00:38.780
Is there something you've arrived at?
link |
02:00:41.620
You know, there's a moment...
link |
02:00:44.260
I've talked to a few people who have faced,
link |
02:00:46.980
for example, a cancer diagnosis,
link |
02:00:48.740
or faced their own mortality,
link |
02:00:50.700
and that seems to change their view of them.
link |
02:00:53.700
It seems to be a catalyst for them
link |
02:00:56.580
removing most of the crap.
link |
02:00:59.460
Of seeing that most of what they've been doing
link |
02:01:02.620
is not that important,
link |
02:01:04.140
and really reducing it into saying, like,
link |
02:01:06.740
here's actually the few things that really give meaning.
link |
02:01:11.580
Mortality is a really powerful catalyst for that,
link |
02:01:14.780
it seems like.
link |
02:01:15.740
Facing mortality, whether it's your parents dying
link |
02:01:17.860
or somebody close to you dying,
link |
02:01:19.420
or facing your own death for whatever reason,
link |
02:01:22.020
or cancer and so on.
link |
02:01:23.460
So yeah, so in my own case,
link |
02:01:26.460
I didn't need to face mortality, too.
link |
02:01:28.500
So try to ask that question.
link |
02:01:35.980
And I think there are a couple things.
link |
02:01:38.860
So one is, like, who should be defining
link |
02:01:42.700
the meaning of your life, right?
link |
02:01:44.860
Is there some kind of even greater things than you
link |
02:01:49.020
who should define the meaning of your life?
link |
02:01:51.580
So for example, when people say that
link |
02:01:53.900
searching the meaning for your life,
link |
02:01:56.740
is there some outside voice,
link |
02:02:00.380
or is there something outside of you
link |
02:02:04.300
who actually tells you, you know...
link |
02:02:06.020
So people talk about, oh, you know,
link |
02:02:09.260
this is what you have been born to do, right?
link |
02:02:14.700
Like, this is your destiny.
link |
02:02:19.700
So who, right, so that's one question,
link |
02:02:21.820
like, who gets to define the meaning of your life?
link |
02:02:24.860
Should you be finding some other things,
link |
02:02:27.980
some other factor to define this for you?
link |
02:02:30.860
Or is something actually,
link |
02:02:32.380
it's just entirely what you define yourself,
link |
02:02:35.140
and it can be very arbitrary.
link |
02:02:37.380
Yeah, so an inner voice or an outer voice,
link |
02:02:41.580
whether it could be spiritual or religious, too, with God,
link |
02:02:44.780
or some other components of the environment outside of you,
link |
02:02:48.300
or just your own voice.
link |
02:02:50.180
Do you have an answer there?
link |
02:02:52.420
So, okay, so for that, I have an answer.
link |
02:02:55.020
And through, you know, the long period of time
link |
02:02:58.460
of thinking and searching,
link |
02:03:00.620
even searching through outsides, right,
link |
02:03:04.620
you know, voices or factors outside of me.
link |
02:03:08.260
So that, I have an answer.
link |
02:03:09.740
I've come to the conclusion and realization
link |
02:03:13.060
that it's you yourself that defines the meaning of life.
link |
02:03:18.140
Yeah, that's a big burden, though, isn't it?
link |
02:03:20.300
I mean, yes and no, right?
link |
02:03:26.020
So then you have the freedom to define it.
link |
02:03:28.140
Yes.
link |
02:03:29.540
And another question is, like,
link |
02:03:33.020
what does it really mean by the meaning of life?
link |
02:03:37.300
Right.
link |
02:03:39.700
And also, whether the question even makes sense.
link |
02:03:45.420
Absolutely, and you said it somehow distinct from happiness.
link |
02:03:49.580
So meaning is something much deeper
link |
02:03:51.660
than just any kind of emotional,
link |
02:03:55.020
any kind of contentment or joy or whatever.
link |
02:03:57.580
It might be much deeper.
link |
02:03:58.940
And then you have to ask, what is deeper than that?
link |
02:04:02.580
What is there at all?
link |
02:04:04.620
And then the question starts being silly.
link |
02:04:07.780
Right, and also you can say it's deeper,
link |
02:04:09.540
but you can also say it's shallower,
link |
02:04:10.940
depending on how people want to define
link |
02:04:13.500
the meaning of their life.
link |
02:04:14.700
So for example, most people don't even think
link |
02:04:16.460
about this question.
link |
02:04:17.620
Then the meaning of life to them
link |
02:04:19.540
doesn't really matter that much.
link |
02:04:22.020
And also, whether knowing the meaning of life,
link |
02:04:26.340
whether it actually helps your life to be better
link |
02:04:28.940
or whether it helps your life to be happier,
link |
02:04:31.140
these actually are open questions.
link |
02:04:34.500
It's not, right?
link |
02:04:36.140
Of course, most questions are open.
link |
02:04:37.700
I tend to think that just asking the question,
link |
02:04:40.180
as you mentioned, as you've done for a long time,
link |
02:04:42.740
is the only, that there is no answer.
link |
02:04:44.900
And asking the question is a really good exercise.
link |
02:04:47.620
I mean, I have this, for me personally,
link |
02:04:49.100
I've had a kind of feeling that creation is,
link |
02:04:56.140
like for me has been very fulfilling.
link |
02:04:58.140
And it seems like my meaning has been to create.
link |
02:05:00.820
And I'm not sure what that is.
link |
02:05:02.100
Like I don't have, I'm single and I don't have kids.
link |
02:05:05.220
I'd love to have kids, but I also, sounds creepy,
link |
02:05:08.940
but I also see sort of, you said see programs.
link |
02:05:13.340
I see programs as little creations.
link |
02:05:15.660
I see robots as little creations.
link |
02:05:19.060
I think those bring, and then ideas,
link |
02:05:22.660
theorems are creations.
link |
02:05:25.140
And those somehow intrinsically, like you said,
link |
02:05:28.780
bring me joy.
link |
02:05:29.620
I think they do to a lot of, at least scientists,
link |
02:05:31.740
but I think they do to a lot of people.
link |
02:05:34.180
So that, to me, if I had to force the answer to that,
link |
02:05:37.300
I would say creating new things yourself.
link |
02:05:43.180
For you.
link |
02:05:44.020
For me, for me, for me.
link |
02:05:45.500
I don't know, but like you said, it keeps changing.
link |
02:05:48.580
Is there some answer that?
link |
02:05:49.900
And some people, they can, I think,
link |
02:05:52.300
they may say it's experience, right?
link |
02:05:54.380
Like their meaning of life,
link |
02:05:56.460
they just want to experience
link |
02:05:57.740
to the richest and fullest they can.
link |
02:05:59.940
And a lot of people do take that path.
link |
02:06:02.700
Yes, seeing life as actually a collection of moments
link |
02:06:05.540
and then trying to make the richest possible sets,
link |
02:06:10.740
fill those moments with the richest possible experiences.
link |
02:06:13.940
Right.
link |
02:06:14.780
And for me, I think it's certainly,
link |
02:06:16.420
we do share a lot of similarity here.
link |
02:06:18.260
So creation is also really important for me,
link |
02:06:20.420
even from the things I've already talked about,
link |
02:06:24.740
even like writing papers,
link |
02:06:26.140
and these are all creations as well.
link |
02:06:30.140
And I have not quite thought
link |
02:06:32.620
whether that is really the meaning of my life.
link |
02:06:34.860
Like in a sense, also then maybe like,
link |
02:06:37.260
what kind of things should you create?
link |
02:06:38.380
There are so many different things that you could create.
link |
02:06:42.660
And also you can say, another view is maybe growth.
link |
02:06:46.380
It's related, but different from experience.
link |
02:06:50.580
Growth is also maybe type of meaning of life.
link |
02:06:53.420
It's just, you try to grow every day,
link |
02:06:55.740
try to be a better self every day.
link |
02:06:59.740
And also ultimately, we are here,
link |
02:07:04.420
it's part of the overall evolution.
link |
02:07:09.140
Right, the world is evolving and it's growing.
link |
02:07:11.780
Isn't it funny that the growth seems to be
link |
02:07:14.580
the more important thing
link |
02:07:15.620
than the thing you're growing towards.
link |
02:07:18.100
It's like, it's not the goal, it's the journey to it.
link |
02:07:21.540
It's almost when you submit a paper,
link |
02:07:27.020
there's a sort of depressing element to it,
link |
02:07:29.220
not to submit a paper,
link |
02:07:30.220
but when that whole project is over.
link |
02:07:32.340
I mean, there's the gratitude,
link |
02:07:34.020
there's the celebration and so on,
link |
02:07:35.260
but you're usually immediately looking for the next thing
link |
02:07:39.300
or the next step, right?
link |
02:07:40.500
It's not that, the end of it is not the satisfaction,
link |
02:07:44.380
it's the hardship, the challenge you have to overcome,
link |
02:07:47.180
the growth through the process.
link |
02:07:48.780
It's somehow probably deeply within us,
link |
02:07:51.340
the same thing that drives the evolutionary process
link |
02:07:54.420
is somehow within us,
link |
02:07:55.900
with everything the way we see the world.
link |
02:07:58.860
Since you're thinking about these,
link |
02:08:00.100
so you're still in search of an answer.
link |
02:08:02.820
I mean, yes and no,
link |
02:08:05.420
in the sense that I think for people
link |
02:08:07.780
who really dedicate time to search for the answer
link |
02:08:11.940
to ask the question, what is the meaning of life?
link |
02:08:15.700
It does not necessarily bring you happiness.
link |
02:08:18.180
Yeah.
link |
02:08:20.460
It's a question, we can say, right?
link |
02:08:23.740
Like whether it's a well defined question.
link |
02:08:25.700
And, but on the other hand,
link |
02:08:30.180
given that you get to answer it yourself,
link |
02:08:33.860
you can define it yourself,
link |
02:08:35.740
then sure, I can just give it an answer.
link |
02:08:41.180
And in that sense, yes, it can help.
link |
02:08:46.420
Like we discussed, right?
link |
02:08:47.860
If you say, oh, then my meaning of life is to create
link |
02:08:52.900
or to grow, then yes, then I think they can help.
link |
02:08:57.380
But how do you know that that is really the meaning of life
link |
02:09:00.380
or the meaning of your life?
link |
02:09:02.060
It's like there's no way for you
link |
02:09:04.620
to really answer the question.
link |
02:09:05.740
Sure, but something about that certainty is liberating.
link |
02:09:10.060
So it might be an illusion, you might not really know,
link |
02:09:12.820
you might be just convincing yourself falsely,
link |
02:09:15.580
but being sure that that's the meaning,
link |
02:09:18.020
there's something liberating in that.
link |
02:09:23.340
There's something freeing in knowing this is your purpose.
link |
02:09:26.340
So you can fully give yourself to that.
link |
02:09:29.060
Without, you know, for a long time,
link |
02:09:30.700
you know, I thought like, isn't it all relative?
link |
02:09:33.220
Like why, how do we even know what's good and what's evil?
link |
02:09:38.140
Like isn't everything just relative?
link |
02:09:39.900
Like how do we know, you know,
link |
02:09:42.740
the question of meaning is ultimately
link |
02:09:44.940
the question of why do anything?
link |
02:09:48.380
Why is anything good or bad?
link |
02:09:50.260
Why is anything valuable and so on?
link |
02:09:52.580
Exactly.
link |
02:09:53.580
Then you start to, I think just like you said,
link |
02:09:58.380
I think it's a really useful question to ask,
link |
02:10:02.140
but if you ask it for too long and too aggressively.
link |
02:10:07.660
It may not be so productive.
link |
02:10:08.820
It may not be productive and not just for traditionally
link |
02:10:13.340
societally defined success, but also for happiness.
link |
02:10:17.260
It seems like asking the question about the meaning of life
link |
02:10:20.420
is like a trap.
link |
02:10:24.460
We're destined to be asking.
link |
02:10:25.820
We're destined to look up to the stars
link |
02:10:27.340
and ask these big why questions
link |
02:10:28.780
we'll never be able to answer,
link |
02:10:30.500
but we shouldn't get lost in them.
link |
02:10:31.980
I think that's probably the,
link |
02:10:34.180
that's at least the lesson I picked up so far.
link |
02:10:36.260
On that topic.
link |
02:10:37.540
Oh, let me just add one more thing.
link |
02:10:38.820
So it's interesting.
link |
02:10:40.020
So sometimes, yes, it can help you to focus.
link |
02:10:47.020
So when I shifted my focus more from security
link |
02:10:53.300
to AI and machine learning,
link |
02:10:55.140
at the time, actually one of the main reasons
link |
02:10:58.500
that I did that was because at the time,
link |
02:11:02.820
I thought the meaning of my life
link |
02:11:07.380
and the purpose of my life is to build intelligent machines.
link |
02:11:14.020
And that's, and then your inner voice said
link |
02:11:16.620
that this is the right,
link |
02:11:18.580
this is the right journey to take
link |
02:11:20.060
to build intelligent machines
link |
02:11:21.340
and that you actually fully realize
link |
02:11:23.380
you took a really legitimate big step
link |
02:11:26.420
to become one of the world class researchers
link |
02:11:28.460
to actually make it, to actually go down that journey.
link |
02:11:32.540
Yeah, that's profound.
link |
02:11:35.340
That's profound.
link |
02:11:36.460
I don't think there's a better way
link |
02:11:39.380
to end a conversation than talking for a while
link |
02:11:42.980
about the meaning of life.
link |
02:11:44.060
Dawn is a huge honor to talk to you.
link |
02:11:46.020
Thank you so much for talking today.
link |
02:11:47.540
Thank you, thank you.
link |
02:11:49.900
Thanks for listening to this conversation with Dawn Song
link |
02:11:52.580
and thank you to our presenting sponsor, Cash App.
link |
02:11:55.380
Please consider supporting the podcast
link |
02:11:57.100
by downloading Cash App and using code LexPodcast.
link |
02:12:01.140
If you enjoy this podcast, subscribe on YouTube,
link |
02:12:03.860
review it with five stars on Apple Podcast,
link |
02:12:06.140
support it on Patreon,
link |
02:12:07.340
or simply connect with me on Twitter at LexFriedman.
link |
02:12:11.500
And now let me leave you with some words about hacking
link |
02:12:15.100
from the great Steve Wozniak.
link |
02:12:17.900
A lot of hacking is playing with other people,
link |
02:12:20.740
you know, getting them to do strange things.
link |
02:12:24.340
Thank you for listening and hope to see you next time.