David Bau: I I am in the
David Bau: I'm finishing my Phd. And I know David, because his advisor is my advisor. And I was trying to make David my advisor. We had a slight overlap. Then we collaborated throughout my whole PC. Also, like very heavily with Rohit, and I will be giving a talk today which is supposed to converge eventually into my job. Talk?
David Bau: yeah, that. So that's that's right. So you know I could, I should have introduced you, Joanna, it's okay, because that's the normal form. It's all right. And and so, yeah, so Joanna has been doing a lot of interesting things from
David Bau: video model you know, control and understanding to you know, understanding their representations of
David Bau: you know, multimodal.
David Bau: You know, text and vision models, and disentangling and understanding the contents of the representations. You know all sorts of very interesting things. And so so her her talk here. I think this is going to tie together a lot of these threads.
David Bau: And so we're looking forward to it. Thank you, Joanna. Okay, maybe I'll stand up just to be more agile. Oh, yeah. By the way, so since this is like a practice job talk, if people want to take notes we'll have like.
David Bau: Would you prefer to have questions at the end or in the middle? I mean, if there's like pressing something that you really want to share, please? But maybe
David Bau: let's try to keep it at the end. And is there a time frame time that you're trying to go for like that. Yeah, so. But if people feel like, you know, taking notes, then we'll have sort of 2 kinds of questions at the end. One
David Bau: will be.
David Bau: you know, regular questions about what she talked about, and the cool research right? And then also just like suggestions on you know what would make more sense as a talk and interested in the form of the talk or like, if you didn't understand something or you feel like one part doesn't connect. I also have slide numbers so you can refer to those if you have comments.
David Bau: Okay. So the title of the talk is steering vision and scale from representation space to training data.
David Bau: And so
David Bau: I believe that where we are right now with computer vision, specifically like with a lot of really powerful stage. And AI is
David Bau: somewhere where we were with this 1st automobile. Right? So it's
David Bau: nobody can argue that it's a step change in the technology. Nobody can argue with the fact that.
David Bau: you know it's we're achieving things that we are. No, we're
David Bau: thought to be possible. And it has amazing promise.
David Bau: But it's a little bit awkward.
David Bau: So this is the Mercedes benz patent. So it's arguably the 1st vehicle that
David Bau: was created. And I'm saying it's a little bit awkward because
David Bau: because it was a little bit awkward to use right? So we didn't have a lot of stability and controllability. We basically had this
David Bau: which was dictating which, let us control the speed that was directly combined with the combustion engine behind it.
David Bau: If you wanted to break, there was no break. So if you wanted to. Break there was like a leather belt that was connected to the wheel, and that's kind of how you had to break it. There was no reverse gear, so if you went somewhere awkward, you kind of had to push your car away from that spot.
David Bau: and there was no idle, so you had to kind of control the speed continuously.
David Bau: The other main controller. There was this with this thing that was preceding the the wheel. Right? So first, st you know, first, st when we come up with technologies, they don't always hit this the right spot. They are not always as intuitive as you might want them to be. So, you know, right now we obviously have this really nice control wheel. But before you kind of had to control your direction this way, almost like a boat.
David Bau: And like, I said, I think that you know we have this undoubtedly an amazing technology that people have invented, and that's going to mark a huge milestone. But it's still a little awkward, right? So
David Bau: it's a little bit awkward in the way that we interact with the model. So we have some spurious correlations because we basically focus on trying to learn from as much data as possible. And that data is not. You know, it's not as intentional. It's just basically taking the whole Internet that it is and trying to
David Bau: learn correlations that it has. But they're not always the ones that we want to learn.
David Bau: It's a little bit intuitive, right? If I ask for a specific prompt, I try to iterate it. You know, I might get different images, but it might not be exactly what I want. If I say I don't want something in my image, I'm most certainly going to get it. And so there are this different quirks that we have
David Bau: that are just not quite smooth yet.
David Bau: And obviously our data can have undesirable properties like. We have learned to generalize and put astronauts on horses in the moon, but we also learned
David Bau: violence, nudity, things that are somebody's intellectual property. And so in this talk. I'm going to talk about some of the ways in my Phd. To steer these models, to control them, to edit them, to make them a little bit more usable.
David Bau: So I'll be talking about how we can approach this problem from the representation space.
David Bau: how we can approach this program directly from model weights. How we can customize and modulate the model's behavior.
David Bau: And lastly, if all fails, we can try to regain that control at the training data level.
David Bau: Okay, so let's start with the 1st talk of trying to control this model's behavior directly at the representation space.
David Bau: So this work is titled disentangling visual and written concepts in clip.
David Bau: And so
David Bau: here, for example, we were, we're gonna be talking about the clip model which basically learns the shared representation space between text and images.
David Bau: And so if you have this 2 cups,
David Bau: surely what you think is, they're both just cups right? But Clip.
David Bau: depending on this pixel element in the image is really confused. And so, for this 1st image is surely a cup. But for the second image it's surely a mom. It says, Mom,
David Bau: So
David Bau: that also happens if you try to use these representations in a generative way and try to basically generate an image using a test time optimization. So if I'll ask a model for peace.
David Bau: what will I get?
David Bau: Well, I get both peace as you would see them, but also the model tries to give me the full answer, and says, Peace with letter, peace.
David Bau: So how can we isolate, isolate the visual from written.
David Bau: And so typically clip learns this visual, this this task of
David Bau: learning the short embedding space between images and text.
David Bau: But what happens
David Bau: if I write the word text. If I render this on an image, how similar will that be?
David Bau: And so we did this test.
David Bau: And it turns out that we get a pretty good, pretty good score. So
David Bau: if we do this image to image task where we try to relate
David Bau: the text. But instead of in this textual form on the image, we still get
David Bau: a very reasonable performance, 15% compared to like 0 shot, which is like 37, or 1056. And if you think about like a random chance, this would be almost nothing. So the image things. The model thinks that these 2 images are similar.
David Bau: And so you might say, Okay, that makes sense, because maybe I've seen
David Bau: Nope.
David Bau: okay, so now let's see what happens if I compare the image branch with the text branch. So before I compared image branch with image branch. And now what happens if I just replace completely this image of the dog.
David Bau: and then let's make it even harder, because you might say, Okay, but these are words, what happened? The real world? What if I take a random string, and I see are those like, does my model still think that the representations are similar.
David Bau: and turns out that yes, the model thinks that whatever is written on the image.
David Bau: It's very similar to the text space, because we get a really high retrieval score
David Bau: on these both random strings as well as real words.
David Bau: So what we want to do in this work.
David Bau: if you want to learn a projection on top of this representations, that on one hand, we're to learn only the visual things. Or, on the other hand, we'll learn only the textual things. So for the textual things, we will create a data set with these elements. So each data point has these 5 elements where we basically sample an image.
David Bau: a label string, a
David Bau: synthetic image text, where we just take a random text and put it on top of the image, then we'll have natural image with text
David Bau: and the text corresponding to that synthetic image. And what we want to do, on one hand.
David Bau: is attract the representations that correlate to the textual side of things, and, on the other hand, repel the representations of the visual domain.
David Bau: So these will be our training losses, and we're going to use them the same way as clip in this contrasted matter.
David Bau: So here again, these are our elements.
David Bau: and we're going to use these red losses to attract or repel, and then vice versa for the other projection.
David Bau: And so we can, you know, run the numbers? We can do this test, and we can see that
David Bau: for this green test we get really high performance.
David Bau: And then for the orange task, we get almost 0 performance, which is exactly what we wanted. We wanted one test to perform really well, and one really badly.
David Bau: And so
David Bau: let's look at the evaluation. We have learned some form of representation. What does it actually do? And how can I use it? So you know that with clip people do all sorts of things. They use it as a retrieval embedding. They use it to
David Bau: condition, text to vision models. So we want to see if our presentation that we want is equally as versatile. So, on one hand, let's look at this 1st test that we started with
David Bau: we have these images, and you can see that in all of these examples there's this confusion between the text and the visual. So let's do the same text. But now on the projected representations.
David Bau: So our forget to spell model forgets to spell.
David Bau: and then our learn to spell model predicts even more of these visual textual elements.
David Bau: And then we can also quantify that by using enough Cr model to actually predict automatically evaluate, how many letters do I have, and you can see that the clip model, which is the green one that's somewhere in the middle. The one that is supposed to learn text is much more, and the one that's supposed to forget to spell has almost no
David Bau: detected words.
David Bau: And then, lastly.
David Bau: I talked a little bit about the losses that we used and how we want to basically move the representations of certain elements together and of others away. But it's
David Bau: but it's really important, the way we do it. So we do need to put some constraint on the projection that we use, and that constraint has to be that orthogonality of our projection metrics because we want to retain all that
David Bau: relationship between data. We we don't want to just learn a random projection
David Bau: and if we don't do it. Then we can see that the representation collapses into
David Bau: something that's very meaningful.
David Bau: And
David Bau: and then, lastly, we can also do a typographic attack evaluation where we collected the data set of common objects, and we did a similar test, where we put an abstractor on them in form of post-its, with
David Bau: with some text on it, and then we get the prediction on
David Bau: on either clip or the model that forget to spell.
David Bau: And then we can see that for clip. There's this clear confusion on the diagonal, for each image which corresponds to the text labels
David Bau: and then, if we forget to spell the confusion, this confusion is greatly reduced.
David Bau: And then suddenly, lastly, we can see that
David Bau: the representations that we learned are quite robust to
David Bau: out of the main task. So here we do the same. But we do the Ocr accuracy. But for the learn to spell model, and we can see that
David Bau: the performance of Clip versus the performance of our model is almost the same. So we haven't really lost too much information.
David Bau: Okay.
David Bau: so here's 1 way that we can steer the presentations of our model by simply by by working directly on this representation space.
David Bau: But maybe we want to do something more
David Bau: localized like, maybe we don't want to move away from all of the visual concepts or all of the textual concepts. Maybe there's 1 particular concept that we want to target.
David Bau: So let's talk now about how we can make edits in the model weights.
David Bau: And this is the work with on concept erasure. So we're going to be talking about erasing concepts from diffusion modules
David Bau: where the idea is that, given the neural network you want to make
David Bau: the model forget about specific concept
David Bau: by like cutting the connections or raising these connections.
David Bau: And so in this paper, we basically use the model's own knowledge to erase concept from the weights. We don't need any additional training data. We just use the fact that the model knows how to generate specific things. And we want it. We want to make it forget
David Bau: and the way we're going to do it is we're going to take the model, hit a start.
David Bau: We train the model Theta star, and we want to edit it to obtain a new model, theta such that its distribution is reshaped, and it minimizes the distribution of seeing that concept. Given an image.
David Bau: And then we can rewrite this into this expression that looks something very similar to the classifier. Free guidance which is this technique used to train both an unconditional and conditional model together.
David Bau: and at the at the test time sample from both of these models.
David Bau: and have some kind of guidance over the strength of this concept. But now we're going to use the script in the training time instead of the testing time
David Bau: such that we can train our new edited model to be guided away from that concept.
David Bau: And so here's the full scheme of the model. We have our frozen model that knows about this concept, and we're going to fine tune it such that we use the ideas of the classifier for guidance at the training time instead of the testing time. And so we're going to be training it to guide it away from the model.
David Bau: Given the model's knowledge.
David Bau: Okay, so let's see if it worked. Let's say I want to erase an artistic style. I'll choose in my artist of choice, Tyler, Edlin, and this is the image it will generate.
David Bau: What happens if I ask for the exact same prompt, but a model where I erased the concept. Tyler Edlin.
David Bau: so we get this image, and you can see that the content of the image is the same. So we still have the same layout. We still have landscape with floating islands, but we don't have this characteristics type.
David Bau: Now, what happens if I ask for an unrelated artist?
David Bau: If I ask for an unlimited artist, I still get an image that looks like that.
David Bau: because my erasure, my edit here was localized to Tyler Edlin.
David Bau: And then, you know, if you do it a bunch more times you can see that
David Bau: we see this pattern across a different erased concept. So here, on the left side, we have the original stable diffusion on the right side our method, and on the diagonal are images that
David Bau: are prompted with an artist that was also erased. And so you can see that that's the trend that we have. But on the off, the images are not really changing much
David Bau: and so we can evaluate it.
David Bau: And we're going to ask people, basically, how does our model compare? Or in general we are interested to see? How do people perceive these images with respect to real artists?
David Bau: How do they perceive the erasure, and also importantly, how do they perceive preserving other styles? Because this is this trade-off where we both want to have a precise erasure, but at the same time, we want to preserve unrelated concepts.
David Bau: And so interestingly.
David Bau: the model is clever enough to know which concepts are close in the semantic space. So, for example, if I want to remove Harris iconic monument, that will be the training prompt concept that I use at the inference time, my model will know that what is most likely is Eiffel Tower. And it's not.
David Bau: It's like, okay. So we talked about erasing.
David Bau: shifting the whole representation space and steering it away from a class of concept. We talked about
David Bau: doing more specific edits on the model weights.
David Bau: But what if you already have a model. You kind of like it, but you just want to use it.
David Bau: So here I will be talking about
David Bau: 2 different approaches, of making
David Bau: controlling the model. So that
David Bau: for for applications, specifically, I'll be talking about customization and modulation.
David Bau: So content modulation is basically the principle of
David Bau: giving you this again precise control, but in a continuous space which we don't really have. And in the real world there's so many things that's that's kind of
David Bau: that's kind of like the steering wheel. You can control it, but it's it's not really the natural move to make.
David Bau: And it's the same with text. If I want to express surprise.
David Bau: I can't easily describe to you the level of surprise.
David Bau: But I can do it but I can, but I know that it's somewhere in between, very surprised and a little bit surprised. And so this is what this work is going to to allow us to do.
David Bau: So it's similar similar formulation to our previous work authorizing concept. Where now we want to re-weigh this distribution, we want to get this new distribution that's basically reweighted between the C minus and C plus.
David Bau: so that we can modulate it. And then again, you can derive to a formulation that is again similar to the classifier free guidance.
David Bau: But the problem is that if you just use a specific, Us
David Bau: ranges in words, they might be correlated with different attributes. So what you might want to do. Is define this ranges
David Bau: with preserving preser- preserve it
David Bau: preservation terms that let you basically find a more entangled direction in this disentangled direction in the space.
David Bau: and so here is again the model.
David Bau: And instead of targeting directly instead of finding the model, the entire model. We're just going to use this Flora lightweight adapter.
David Bau: And so here are some results. You can see that we can manipulate attributes on this continuous axis and go from not smiling, smiling, from no makeup to makeup, or from between different ages, and you can see that everything else in the image remains consistent. So you have this really nice continuous control.
David Bau: You can do it on
David Bau: on different dimensions. So you can control different attributes at at the same time. And you can basically get this control ability in in in 2D,
David Bau: and then, lastly, what's really interesting about this work is that again
David Bau: again, it's a little intuitive how the model works right? Because how the model works is, it gives you the projection of the data, but it doesn't give you the data the way you would want it to. It gives you sort of a fun house mirror of the data. And what it means is that some of your images in your training set are not good. Some of them are better, and the model actually knows which ones are good and bad.
David Bau: because they usually come with text labels that describe them like high quality image.
David Bau: you know, 4 k, and so if you just ask the model to move in that direction, it will fix its own artifact.
David Bau: So that's what we did here with this special type of control where we asked the model to basically increase the quality of it outputs
David Bau: and so you can see that these are 2 images overlaid one's original and was repaired. And you can see that this awkward artifacts become
David Bau: fixed.
David Bau: Okay? So modulation is one thing.
David Bau: but you know, no matter how great your model is, there's always going to be something that's not there, because that might be just very
David Bau: related to you. Maybe that's
David Bau: something that exists only in your world, and it's very private, and there's no reason for a model to just know about everything.
David Bau: So you should be able to customize your models. And this is what we're going to talk about in this work
David Bau: specifically in the context of text to video models. So previous works on text to video models focus a lot on
David Bau: coping motion
David Bau: and then kind of fixing everything else in the image. So typical directions are motion transfer
David Bau: or using some kind of source video that is supposed to drive the output video.
David Bau: So specifically given an input video.
David Bau: you would give the system an input video, and you would want to have the same motion.
David Bau: the same scene, geometry, the same moving subjects.
David Bau: And you would want to change the appearance a little bit.
David Bau: What I'm going to propose here is to go about it a bit differently. So in this work I want to
David Bau: learn the motion, keep the motion fixed, but change the scene. Geometry change the moving objects
David Bau: and change the appearance.
David Bau: So I'm proposing a method that will only extract this motion pattern. That might be something that's very personal and unique to you.
David Bau: And I wanted to be able to use it in this huge text to video generator
David Bau: And so just like you saw in this example, this, this would be the input videos where you know, you have a lot of variations. And how do people do it? Who are the people that do it, how they look where they are, and you just want to
David Bau: fix it and be able to use it for multiple people.
David Bau: for you know, different viewpoint for a different background.
David Bau: And so the way we're going to do it again is we're going to use the framework of text video models. And so this model was actually
David Bau: a model that was adapted from
David Bau: and image to image, text to image model, and also inflated and trained for the video domain.
David Bau: And the way we're going to do it is we're going to identify the layers within that model that are most
David Bau: oh, important for learning a new motion
David Bau: And we're going to add a different sampling technique that will make the model focus on
David Bau: the coarser structure of the video, such as the motion, but rather, ignore the appearance of the images.
David Bau: and we're going to adopt this fine tuning method to basically add this new mapping between the videos and the motions and the output
David Bau: and the knowledge inside the video model.
David Bau: And then here are some qualitative examples of this
David Bau: sometimes. Okay.
David Bau: So here are some of the collective examples where we our training set was a person, a single person doing a gesture in front of a web camera. But our model at the test time when queried for children can generalize this to multiple people.
David Bau: Additionally, we can interpolate between different motions. So even though our training set only contained this one single motion being done, here we can see
David Bau: a clown eating a burger with his other hand. So it's combining 2 motions together.
David Bau: And then, lastly, we can also interpolate or maybe
David Bau: edit this motion in fixed domain where we can ask for a variation of this motion being done very slowly and precisely.
David Bau: Okay. So now I think we're starting to have a little bit of a toolkit of what we can do with
David Bau: with the models.
David Bau: We have the representation, space model weights, customization, modulation. But what if it all fails? And I just really don't like this model, and how what it's doing, and the access that it has been given.
David Bau: So in this last work, we're going to be talking about opt-in models where?
David Bau: There's this whole controversy about being able basically to query an artist's name and generate outputs based on that, and we did propose to erase some of the artists.
David Bau: But I
David Bau: don't agree that that should be the way to go about things. People shouldn't have to opt out of something that the decision has been made for them. We should really try to make more exclusive models like opt-in models, where I would 1st try train a model
David Bau: that doesn't have any of these issues that's only trained on natural images and photographs and doesn't contain any copyrighted material or paintings or graphic art.
David Bau: and then I wanna see if I can control it again. And add, this again lightweight adapters
David Bau: such that if I'm an artist. And I want to be able to use this technology. But I want to use it, knowing that whatever I'm producing reflects my personal style and not hundreds of thousands of different artists.
David Bau: I want to be able to do that. And so this is what we're going to talk about in this project
David Bau: and so we're going to start with
David Bau: training the diffusion model our blank canvas diffusion. And so in order to train a model, we need data. So we're going to create this blank canvas data set
David Bau: where we will look at a large collection of photographs. And so we will be using the same data set which was used for object detection and segmentation and pre-designed. This data set doesn't contain any artwork.
David Bau: but obviously there's accidental artwork that happens everywhere. And it's also not very clear what art is. So, in order to be very due diligence about it.
David Bau: we're going to additionally filter out anything that might have seeped into the training. So we need to
David Bau: make some decision about what we want to keep or remove. And here's an illustration of this decision. So we can see that
David Bau: those images are definitely not an intentional art.
David Bau: but, on the other hand, it can happen that you have paintings.
David Bau: that are photographs of paintings rather than somebody's graphic art. Or maybe they're photos taken in a gallery
David Bau: that are also not intentional art. But we still don't want any artistic influences. So this is where we're going to draw the line.
David Bau: And then, additionally, we're going to check how well we did.
David Bau: So
David Bau: so when I say, we draw the line, we did. We automatically filtered the data set on on with 2 methods. So one method was using clip again where we decided on text prompts that we're looking for and the thresholds. And we chose those thresholds with respect to the whole distribution of the data set, and we additionally looked at the text captions and removed
David Bau: anything related to art or paintings. And then we also did a manual verification where we looked at 10,000 images before and after filtering, and we found that before filtering there was 36 paintings.
David Bau: and after there was no painting.
David Bau: we still didn't quite perfectly get any artistic all of the artistic influences, like sculptures or Logos.
David Bau: But we targeted the problem of paintings in the data set.
David Bau: and if you don't believe me, here are some artistically ambiguous images that we found in the data set that
David Bau: you know, are definitely more interesting than
David Bau: pure nature images, but are also not really copying anybody's style perfect.
David Bau: And so we train this model.
David Bau: we. So we, we train it from scratch. We train the unit and the Va from scratch, and we replace the
David Bau: text encoder with to replace that you usually use clip with an image. Agnostic text encoder worked such that notes taking fluences from the clip training data set can seep into our model.
David Bau: And we're doing
David Bau: so there's obviously a discrepancy between the training time and the number of images. But we find that our image, the images that we produce look visually pleasing.
David Bau: And so here are some samples from our model.
David Bau: So a group of people stands on the grassy hillside, overlooking a majestic white, wide waterfall with misty sprays set in a Lush Green Forest, they likely enjoy the serene natural beauty
David Bau: or the other one.
David Bau: Oh, so we can see that their model can generate visually pleasing images that are coherent with text.
David Bau: But what happens if I try to recreate famous art? So if I ask
David Bau: a popular model like stable diffusion, we get pretty much copies or
David Bau: replicas of these images, but our model just produces noise because it truly doesn't know anything about art.
David Bau: And so now the question is. Again, we have a model. We controlled
David Bau: the procedure of the training data and the training filtration.
David Bau: but how can we now interact with the model as an artist.
David Bau: So can artists opt into these technologies. And so again, we're going to train an adapter model. So given a small data set between 9 and 50 images of, you know, consensual consensual images. We're going to annotate them, either manually or automatically.
David Bau: We're going to annotate their content as best as we can. Are we going to add this suffix in style of Pcr
David Bau: and then we're going to again use the Laura adapter to train
David Bau: with reconstruction loss such that the model can learn about this stuff. If we just do that, we will probably overfit to these examples. So we need some form of regularization, and it happens to be that we already have a great prior of natural images, and we're going to use it. So now we're going to ask the model
David Bau: that every time I see this caption I want.
David Bau: But without the suffix
David Bau: I want to get an image that looks just like whatever is described in this image without this style and that helps the model to focus on the thing that these images have in common, which is statistic style.
David Bau: And here are some results. So
David Bau: the setting is that we take our blank canvas diffusion. And here here's our art example data set. These are all the images used to train this art cell adaptation.
David Bau: And now, if at the test time, we can prompt it with
David Bau: With this prompt, and this prompt in reality also contains the suffix. So from would be a large ornate castle, with a massive stargate leading up to it in the star in the style of, and we suddenly get these images.
David Bau: And I think it's quite interesting because our model hasn't seen abstract art. It hasn't seen.
David Bau: you know, Monet, it hasn't seen all these graphic artists that are everywhere. The only art that it has had access to are those samples. And so you can see that it's very faithful to this style, but at the same time it also looks
David Bau: like a castle with a staircase leading up to it.
David Bau: And that kind of generalizes across different styles. So if we have a lister which has this super abstract styles, and you suddenly ask it for a silver trailer.
David Bau: This is the modest interpretation, so it tries to both, inject his own style, but also be faithful to the, to the prompt
David Bau: and just another example with Gustav Klimt, who is known from painting this landscape images. When you suddenly ask it to draw children riding a roller coaster, it will still make do so, but in its own way.
David Bau: And one more, Jean Miro.
David Bau: This is again a very unique style. And now you can ask it for something so mundane, so prosaic, like a dining table set for tea, with variety of dishes and utensils.
David Bau: it will still do the task, even though probably Jean Mirror would refuse.
David Bau: And then you can also apply it for a
David Bau: for for the task of stylizing the image where you would not only have as input the text prompt, but also a reference image. And you can combine adapter as well.
David Bau: Again, just another example.
David Bau: And
David Bau: to evaluate this model. We both have a user study where we ask users to basically judge how similar are these images to the original study with respect to different methods.
David Bau: and, on the other hand, we have an automatic evaluation that measures both the content score. So this is for the image reference task. How similar is the image to the image that we gave it as an input and the style score.
David Bau: And so you can see that our model does a really good job compared to most of the baselines.
David Bau: we are not looking for it to be perfect, but we can see that for many of this works, the users are actually confused. And do prefer our model, which has only seen really a handful of examples
David Bau: when we're comparing to this basement that we're training on.
David Bau: Maybe.
David Bau: Yeah, I'll look at it later. Oh, yeah. Questions for later.
David Bau: Okay, I'm almost done.
David Bau: And so lastly, we want to, maybe get a little bit of an understanding or an insight of how can it be that, you know, even if I saw this 5, this 10 images of an artist, I suddenly can
David Bau: copy the style so well.
David Bau: and coherent to the text prompt. So we're going to look at a data attribution method
David Bau: where we basically want to get a sense of which images in both of our training set have contributed the most to this generated image.
David Bau: and so given a generated image, we're going to compute scores with respect to every training example in both our original data set the one that doesn't contain any art, and in our art style examples.
David Bau: And we can see that
David Bau: It's sort of a very clear disentanglement of where the model is getting the content information from and where the model is getting the file from and that's kind of reflective here. Right? So if we ask for a merciless sense
David Bau: sports car parked in the street. You know, we know about most of these bands, so it's not an issue to generate them. And we also know what's being asked for. Which is this style?
David Bau: So the model figures out a way to merge them together.
David Bau: And similarly, here, you know, we have this people dressed in medieval armor.
David Bau: No problem. We've seen that. And then we've seen also the way of highlighting images in and the workflow style.
David Bau: Then the model just figures out how to combine those.
David Bau: Okay, so, this is.
David Bau: this is what I've been working on in my Phd, so we've looked at different ways of controlling the model, steering its behavior, steering its representation space, adding additional controller modes. And if all fails, we show that you can regain control of the model and still get really nice properties
David Bau: when you change some assumptions about your training data.
David Bau: And in the future, I,
David Bau: I really like creative application side of computer vision. And so me and my advisor. And so, David, we had this dream. In my 1st year, Phd, where we were, where we wanted to see if it would be possible
David Bau: to basically disentangle the characters from the plot. So we wanted to see it would be possible to watch friends, but remake them, such as the friends now are mapped to the Lord of the Rings characters.
David Bau: and, as you can see, we got this very awkward result that
David Bau: I didn't even publish like I didn't. It's published. It was a spotlight in a workshop. But I didn't even put online, because the results are so ahead of its time. But I I'm interested in in this creative control, because I do think that you know the way the the where we are right now with these models is still not very intuitive. There's still much more control that we can gain over these representations.
David Bau: I'm also interested in how to make these models more intuitive to work with more interactive because we don't want to
David Bau: it. That's kind of how we operate. We don't do one fix at a time. We just keep refining our work over and over, and how to make this control collaborate collaborative.
David Bau: And then, lastly, I don't think we're that far from personalized content generation, whether that's a short form, one or long form one the models already know so much about our preferences and their
David Bau: easy to personalize in ways where we can insert concepts. But what about driving the whole narrative
David Bau: as well as the individual elements of it.
David Bau: And that's it.
David Bau: So content questions first, st before before form suggestions.
David Bau: Any questions about any of the research.
David Bau: I'll ask about like the clip questions. How? How is it that
David Bau: it wasn't like I maybe I didn't understand it properly. How is it that you are controlling the representations to disentangle.
David Bau: but not the weights.
David Bau: What are you optimizing there in the clip work? So you just train a projection layer on top of the representations.
David Bau: So you don't actually touch the mobile.
David Bau: You just train a matrix on top of like the final embeddings.
David Bau: I see if if if we had been really good at branding, we'd call it. Das, yeah, yeah.
David Bau: that's before it's time.
Nikhil Prakash: I have. I had a similar question. So regarding the clip itself, I think you trained a
Nikhil Prakash: like. You train something to disentangle the representations.
David Bau: Could assign them.
Nikhil Prakash: But I was wondering if you can actually localize it, using, like some sort of causal intervention, localize the textual part of the information versus the visual part of the information in the actual internal representation, instead of having to learn it, using gradient descent.
David Bau: Yeah. So when we looked at it, we found that we found that it was quite interesting. So there's this website that shows like which like shows images that are the highest activations for every neuron. And the issue with that is, I think, that there's a lot of
David Bau: What's the name for it? Like the that that basically, the neurons have respond to different concepts. So we found a neurons multi-semantic. No, what do they call them. So you find neurons that are like super responsive to specific letter like B, but they're also super responsive to like ice.
David Bau: So I think, isn't it called like decentral or centralized representation, or something? Yeah.
Nikhil Prakash: I see. Okay.
David Bau: And it's actually the same clip
David Bau: that you. If you now do peep, install, clip, and you do clip, load, it's the same.
David Bau: The same issues are still there. I mean, I know that people some people are using open clip
David Bau: but they haven't fixed that. Sheridan had a question. Is that right, Sheridan.
David Bau: that you you typed into chat. I don't know if Sheridan is online.
David Bau: Oh, Sheridan might be. I might have had to sign up. So will you read Sheridan's question? So Sheridan said your method could capture artist style better than Sd. Since there are lots of images on the Internet in the style of Van Gogh that don't really look like Van Gogh, whereas with your method you can make sure to only have good quality examples. That's good. Oh, yeah, that's right. That's interesting.
David Bau: Yeah.
Ayda Sultan: I have a question.
Ayda Sultan: Go ahead.
David Bau: Do you know.
Ayda Sultan: Okay. So you mentioned like, you're trying to find a disentangled direction.
Ayda Sultan: And I think it was the concept Sliders point.
Ayda Sultan: But my question is like, are you like visually measuring the entanglement, or like? Is there something that you're using.
David Bau: Don't remember.
David Bau: Do we like? How do we measure disentanglement?
David Bau: I think we usually we
David Bau: did. We did. We measure interference in that paper. We did right. Is there interference measured?
David Bau: I think, like one way. We measure it by lpips on the original image, and seeing like what changes when we change that particular attribute?
David Bau: we did an ablation of
David Bau: how does it work? We if we don't use this preservation concept? I don't know if we have an automatic evaluation. But it definitely is, you know, it's pretty pretty obvious. That
David Bau: some concepts correlate with particular attributes. So that's that's the motivation for it.
Ayda Sultan: Okay, so basically, like, usually, these purest correlations are like
Ayda Sultan: close to each other. Is that what you're saying? Like.
David Bau: I mean.
Ayda Sultan: Like, okay.
David Bau: Yeah. So you can see that if you don't do this preservation terms, you move in multiple different directions. You might change somebody's age. But you might also change somebody's like race.
Ayda Sultan: Okay.
David Bau: Another question kind of slightly related to this disentanglement. So you had a few slides where you showed that you have removed Eiffel Tower from Paris. So now what happens if you just ask the model to generate Eiffel Tower, does it still generate Eiffel Tower?
David Bau: No, so you you don't generate Eiffel Tower. That's the point.
David Bau: No, you removed Eiffel Tower from Paris. But did the model forget what Eiffel Tower is like? Looks like?
David Bau: I believe so right? Because we if we query for Eiffel Tower?
David Bau: Okay, okay. Now, my next question will be.
David Bau: why do you need to do anything? Fancy for that? Can't you just mess with the word Embeddings of Eiffel Tower and get rid of like Eiffel Tower altogether. You can do it right like that's you know. Obviously but you want to have some robust method, because if if I'm a if I let's say I want to like, make my model safer right. And I add this filters on top of it, and then I release it. You can turn off the filter.
David Bau: but if I make the edit inside of the model X,
David Bau: you can't really bring it back that easily. Yeah. Also, I get you don't want the model to forget what Tower looks like
David Bau: right. And if you mess with Eiffel Tower, then it will also forget what like General Tower looks like.
David Bau: Yeah.
David Bau: So that's more about like a permanent edit than simply like an inference script.
David Bau: Also you have an I don't know if you have the example. Even if you ask for picture of Paris with its famous building. Yeah, you would still get eye filter.
David Bau: But if you just mess with the text Embeddings, the model still knows what the famous building is. Yeah. So you have other ways of getting to Eiffel Tower without specifying it in the text. Yeah, I think one of the figures is with the prompt.
David Bau: So all of them have. Maybe it's too small to read. Yeah.
David Bau: And and also, this is not just erasing eye filter from Paris. It's erasing eye filter, not not the connection between it and I Filter and Paris.
David Bau: I'm wondering with the artist erasure how, if you have a way to quantify how fine grain you're able to be with a specific artist. So, for example, all the examples you showed, all the artists have very distinct styles. But I imagine if in the future we want, you know. Let's say I'm an artist, and I want to submit to have my work erased.
David Bau: Art tends to operate within schools of style.
David Bau: So is there a way to say whether let's say I want to erase Ghibli style from my, you know, from my model.
David Bau: But let's say I make art in an anime style.
David Bau: Is there any way to quantify whether, like you're being fine grained with the artist erasure? Or if there's a lot of bleed over into similar styles.
David Bau: Yeah. So with this 1st method, there was some some lead over, so we could see that if we erase Rembrandt he would would have an effect on Bangle. But then we have a follow up that it's not in this slide deck that is a little bit more precise. But in yeah. So I I think with that one, you can do it both at scale. And you can add, like, basically like you said you wanna you can you can specify which artist you want to preserve?
David Bau: But maybe you know, maybe if you're working, Anime would want to do the last thing that we did right where you just want to know there's no influence of anybody else. Just me.
David Bau: Yeah. This last one's the cleanest. Right?
David Bau: Hmm, yeah.
David Bau: And the last one. How many training examples do you need for that to work? So use between 9 and 59. And what? 9 and 50 50 interesting?
David Bau: 5, 0 1 5, 1 5 bye soon. Thanks.
David Bau: Oh, also, I was wondering, how good are this
David Bau: like data attribution methods in computer vision. So you had a slide, probably in slide 86
David Bau: yeah. So how? How? How good are they?
David Bau: So that's a very open research problem. They're not very good. And if you think about data attribution in the sense of like
David Bau: gradient based methods. This is just infeasible at this, at this point, at this scale. So
David Bau: there are methods that do it on like very small data sets and small models. If I was to do it on this model. It's just computationally prohibitive. It takes like 2 months and 2 like
David Bau: boxes. And also it doesn't really work that. Well. So what we use here is an approximation of that that is basically like
David Bau: fine tune clip. But it does it in a way that approximates attribution.
David Bau: Is that a standard way of doing things. That is actually, that is like an established method. Okay.
David Bau: okay, yeah, yeah, it's still data attribution still is in its infancy for computer vision.
David Bau: Also, since we're talking about data
David Bau: So when you when you're in this work, you were doing a little bit of filtering, and you showed that you reduce the number of data sets from 30 million to 9 million.
David Bau: Oh.
David Bau: like, how are you doing filtering in that scale? Still, it's in millions. So how do you do filtering in that scale
David Bau: like you can't possibly manually do it. No. So we did it automatically. So on one hand, we look at like scores, and, on the other hand, we look at the captions, and then we manually check the threshold for each category that we want to choose. With respect to the whole distribution of
David Bau: also also in this work. In slide seventies, you had irregularization loss.
David Bau: Is that regularization laws meant for specificity? Or is it kind of like making sure that
David Bau: the image you generate is getting similar to 2 different images.
David Bau: So this loss is kind of similar to the way people do personalization, for, like static concepts in diffusion models where?
David Bau: if you like, want to add a dog, you would have organization set so that the model doesn't associate all dogs with your dog. And so it's similar here, where it basically helps to generalize over the style better.
David Bau: And so it like focuses less on specific examples,
David Bau: and like away from, you know the concepts that they represent or where the concepts are describing the con in the in the prompt, and let them a little like disentangle the art from the content, the style from the from the content.
David Bau: So when you calculate the reconstruction loss you are making kind of like making sure that the image you generate
David Bau: it is similar to 2 different things. One is the style, and one is the actual contents.
David Bau: Is that correct? Yeah, you can. You can look at it that way because one image is supposed to be stylized. And then one image is supposed to be close to this natural image distribution.
David Bau: So when I saw this slide, I was a little bit surprised, because they seem like
David Bau: 2 very different things. How, how does it work? I mean.
David Bau: probably they balance each other. But
David Bau: it seems like, doesn't this seem like very different things?
David Bau: Because reconstruction laws? It it literally compares pixels.
David Bau: So I mean.
David Bau: it works if it works, it works. But how does it work? That is kind of like, because you're comparing
David Bau: the image generated by this model.
David Bau: Yeah, which is the most. So if you're taking this, this prompt
David Bau: to pass it through the model that
David Bau: generate a natural looking image. Yeah, and it's supposed to much dove.
David Bau: So you're you're using this regularization from your Joe. Maybe the confusion is.
David Bau: it's not the same prompt right for both these things. It's not the same. Prompt. Yeah.
David Bau: Oh.
David Bau: oh, okay, okay, sorry. It's not the same prompt, because they only share the content part of the prompt right
David Bau: content to see people walking along the riverside. Okay, in the style of Vistar. Okay? And Vistar is supposed to like, make the
David Bau: connection between this image, but when you combine them, that both of this thing and this thing are kind of like so you generate 2 images
David Bau: with 2 different prompts. And then you calculate the reconstruction loss, and then you pass the gradient. So on one hand
David Bau: the target is this image from the data set, and, on the other hand, the target is the image coming from this model. Yes.
David Bau: and so when you pass the prompt, the suffix to this model with the adapter.
David Bau: They want to match the image with the image from the data set. When you pass
David Bau: this content about your suffix, you want this art adapter to just kind of
David Bau: output. The same dimensions. It would from this data. Okay? So it's like, it's kind of like a specificity loss.
David Bau: Okay? Okay? Okay, okay, yes, I I actually had a
David Bau: wrong understanding. I thought that. Okay, if you just combine them, these 2, you suddenly get this thing, which is kind of like, very unindicative to me.
David Bau: Okay, thank you.
David Bau: Join one question. So for sliders, you had to do some additional things to disentangle concept representations.
David Bau: Did you have to do something similar for video? Or is that like some emergent capability where you didn't have to disentangle motion?
David Bau: So for video, what we did is we had this sampling loss such that at the training time you don't like sample uniformly each time step. But you skew the distribution skew. The probability of the timestamp towards being closer to the noise distribution, because you know how like, when you denoise the image, like
David Bau: the 1st stages, are all about the structure. And then the later one kind of don't really change much is really finer grain. And so we skew that when we train we mostly focus on the noise, so that you know the structure of the image is like.
David Bau: and that kind of helps since.
David Bau: Hey?
David Bau: Thank you, Joanna, let me
David Bau: I'm gonna pause this here and stop the recording, and then