From 4ef72fc4dc1db368b5738a6afa81bde963f554e7 Mon Sep 17 00:00:00 2001 From: Phil Wang Date: Tue, 3 May 2022 10:29:29 -0700 Subject: [PATCH] add EsViT, by popular request, an alternative to Dino that is compatible with efficient ViTs with accounting for regional self-supervised loss --- README.md | 85 ++++++++++ images/esvit.png | Bin 0 -> 195117 bytes setup.py | 2 +- vit_pytorch/cvt.py | 8 +- vit_pytorch/es_vit.py | 367 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 458 insertions(+), 4 deletions(-) create mode 100644 images/esvit.png create mode 100644 vit_pytorch/es_vit.py diff --git a/README.md b/README.md index e14aad2..8d6971d 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ - [Parallel ViT](#parallel-vit) - [Learnable Memory ViT](#learnable-memory-vit) - [Dino](#dino) +- [EsViT](#esvit) - [Accessing Attention](#accessing-attention) - [Research Ideas](#research-ideas) * [Efficient Attention](#efficient-attention) @@ -1076,6 +1077,80 @@ for _ in range(100): torch.save(model.state_dict(), './pretrained-net.pt') ``` +## EsViT + + + +`EsViT` is a variant of Dino (from above) re-engineered to support efficient `ViT`s with patch merging / downsampling by taking into an account an extra regional loss between the augmented views. To quote the abstract, it `outperforms its supervised counterpart on 17 out of 18 datasets` at 3 times higher throughput. + +Even though it is named as though it were a new `ViT` variant, it actually is just a strategy for training any multistage `ViT` (in the paper, they focused on Swin). The example below will show how to use it with `CvT`. You'll need to set the `hidden_layer` to the name of the layer within your efficient ViT that outputs the non-average pooled visual representations, just before the global pooling and projection to logits. + +```python +import torch +from vit_pytorch.cvt import CvT +from vit_pytorch.es_vit import EsViTTrainer + +cvt = CvT( + num_classes = 1000, + s1_emb_dim = 64, + s1_emb_kernel = 7, + s1_emb_stride = 4, + s1_proj_kernel = 3, + s1_kv_proj_stride = 2, + s1_heads = 1, + s1_depth = 1, + s1_mlp_mult = 4, + s2_emb_dim = 192, + s2_emb_kernel = 3, + s2_emb_stride = 2, + s2_proj_kernel = 3, + s2_kv_proj_stride = 2, + s2_heads = 3, + s2_depth = 2, + s2_mlp_mult = 4, + s3_emb_dim = 384, + s3_emb_kernel = 3, + s3_emb_stride = 2, + s3_proj_kernel = 3, + s3_kv_proj_stride = 2, + s3_heads = 4, + s3_depth = 10, + s3_mlp_mult = 4, + dropout = 0. +) + +learner = EsViTTrainer( + cvt, + image_size = 256, + hidden_layer = 'layers', # hidden layer name or index, from which to extract the embedding + projection_hidden_size = 256, # projector network hidden dimension + projection_layers = 4, # number of layers in projection network + num_classes_K = 65336, # output logits dimensions (referenced as K in paper) + student_temp = 0.9, # student temperature + teacher_temp = 0.04, # teacher temperature, needs to be annealed from 0.04 to 0.07 over 30 epochs + local_upper_crop_scale = 0.4, # upper bound for local crop - 0.4 was recommended in the paper + global_lower_crop_scale = 0.5, # lower bound for global crop - 0.5 was recommended in the paper + moving_average_decay = 0.9, # moving average of encoder - paper showed anywhere from 0.9 to 0.999 was ok + center_moving_average_decay = 0.9, # moving average of teacher centers - paper showed anywhere from 0.9 to 0.999 was ok +) + +opt = torch.optim.AdamW(learner.parameters(), lr = 3e-4) + +def sample_unlabelled_images(): + return torch.randn(8, 3, 256, 256) + +for _ in range(1000): + images = sample_unlabelled_images() + loss = learner(images) + opt.zero_grad() + loss.backward() + opt.step() + learner.update_moving_average() # update moving average of teacher encoder and teacher centers + +# save your improved network +torch.save(cvt.state_dict(), './pretrained-net.pt') +``` + ## Accessing Attention If you would like to visualize the attention weights (post-softmax) for your research, just follow the procedure below @@ -1584,6 +1659,16 @@ Coming from computer vision and new to transformers? Here are some resources tha } ``` +```bibtex +@article{Li2021EfficientSV, + title = {Efficient Self-supervised Vision Transformers for Representation Learning}, + author = {Chunyuan Li and Jianwei Yang and Pengchuan Zhang and Mei Gao and Bin Xiao and Xiyang Dai and Lu Yuan and Jianfeng Gao}, + journal = {ArXiv}, + year = {2021}, + volume = {abs/2106.09785} +} +``` + ```bibtex @misc{vaswani2017attention, title = {Attention Is All You Need}, diff --git a/images/esvit.png b/images/esvit.png new file mode 100644 index 0000000000000000000000000000000000000000..5acdaf4f0dd0d6d4b8981a2ccaece9300cbfd104 GIT binary patch literal 195117 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 z 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 ...'), nn.Linear(dim, num_classes) ) def forward(self, x): - return self.layers(x) + latents = self.layers(x) + return self.to_logits(latents) diff --git a/vit_pytorch/es_vit.py b/vit_pytorch/es_vit.py new file mode 100644 index 0000000..4db6bcb --- /dev/null +++ b/vit_pytorch/es_vit.py @@ -0,0 +1,367 @@ +import copy +import random +from functools import wraps, partial + +import torch +from torch import nn, einsum +import torch.nn.functional as F +from torchvision import transforms as T + +from einops import rearrange, reduce, repeat + +# helper functions + +def exists(val): + return val is not None + +def default(val, default): + return val if exists(val) else default + +def singleton(cache_key): + def inner_fn(fn): + @wraps(fn) + def wrapper(self, *args, **kwargs): + instance = getattr(self, cache_key) + if instance is not None: + return instance + + instance = fn(self, *args, **kwargs) + setattr(self, cache_key, instance) + return instance + return wrapper + return inner_fn + +def get_module_device(module): + return next(module.parameters()).device + +def set_requires_grad(model, val): + for p in model.parameters(): + p.requires_grad = val + +# tensor related helpers + +def log(t, eps = 1e-20): + return torch.log(t + eps) + +# loss function # (algorithm 1 in the paper) + +def view_loss_fn( + teacher_logits, + student_logits, + teacher_temp, + student_temp, + centers, + eps = 1e-20 +): + teacher_logits = teacher_logits.detach() + student_probs = (student_logits / student_temp).softmax(dim = -1) + teacher_probs = ((teacher_logits - centers) / teacher_temp).softmax(dim = -1) + return - (teacher_probs * log(student_probs, eps)).sum(dim = -1).mean() + +def region_loss_fn( + teacher_logits, + student_logits, + teacher_latent, + student_latent, + teacher_temp, + student_temp, + centers, + eps = 1e-20 +): + teacher_logits = teacher_logits.detach() + student_probs = (student_logits / student_temp).softmax(dim = -1) + teacher_probs = ((teacher_logits - centers) / teacher_temp).softmax(dim = -1) + + sim_matrix = einsum('b i d, b j d -> b i j', student_latent, teacher_latent) + sim_indices = sim_matrix.max(dim = -1).indices + sim_indices = repeat(sim_indices, 'b n -> b n k', k = teacher_probs.shape[-1]) + max_sim_teacher_probs = teacher_probs.gather(1, sim_indices) + + return - (max_sim_teacher_probs * log(student_probs, eps)).sum(dim = -1).mean() + +# augmentation utils + +class RandomApply(nn.Module): + def __init__(self, fn, p): + super().__init__() + self.fn = fn + self.p = p + + def forward(self, x): + if random.random() > self.p: + return x + return self.fn(x) + +# exponential moving average + +class EMA(): + def __init__(self, beta): + super().__init__() + self.beta = beta + + def update_average(self, old, new): + if old is None: + return new + return old * self.beta + (1 - self.beta) * new + +def update_moving_average(ema_updater, ma_model, current_model): + for current_params, ma_params in zip(current_model.parameters(), ma_model.parameters()): + old_weight, up_weight = ma_params.data, current_params.data + ma_params.data = ema_updater.update_average(old_weight, up_weight) + +# MLP class for projector and predictor + +class L2Norm(nn.Module): + def forward(self, x, eps = 1e-6): + return F.normalize(x, dim = 1, eps = eps) + +class MLP(nn.Module): + def __init__(self, dim, dim_out, num_layers, hidden_size = 256): + super().__init__() + + layers = [] + dims = (dim, *((hidden_size,) * (num_layers - 1))) + + for ind, (layer_dim_in, layer_dim_out) in enumerate(zip(dims[:-1], dims[1:])): + is_last = ind == (len(dims) - 1) + + layers.extend([ + nn.Linear(layer_dim_in, layer_dim_out), + nn.GELU() if not is_last else nn.Identity() + ]) + + self.net = nn.Sequential( + *layers, + L2Norm(), + nn.Linear(hidden_size, dim_out) + ) + + def forward(self, x): + return self.net(x) + +# a wrapper class for the base neural network +# will manage the interception of the hidden layer output +# and pipe it into the projecter and predictor nets + +class NetWrapper(nn.Module): + def __init__(self, net, output_dim, projection_hidden_size, projection_num_layers, layer = -2): + super().__init__() + self.net = net + self.layer = layer + + self.view_projector = None + self.region_projector = None + self.projection_hidden_size = projection_hidden_size + self.projection_num_layers = projection_num_layers + self.output_dim = output_dim + + self.hidden = {} + self.hook_registered = False + + def _find_layer(self): + if type(self.layer) == str: + modules = dict([*self.net.named_modules()]) + return modules.get(self.layer, None) + elif type(self.layer) == int: + children = [*self.net.children()] + return children[self.layer] + return None + + def _hook(self, _, input, output): + device = input[0].device + self.hidden[device] = output + + def _register_hook(self): + layer = self._find_layer() + assert layer is not None, f'hidden layer ({self.layer}) not found' + handle = layer.register_forward_hook(self._hook) + self.hook_registered = True + + @singleton('view_projector') + def _get_view_projector(self, hidden): + dim = hidden.shape[1] + projector = MLP(dim, self.output_dim, self.projection_num_layers, self.projection_hidden_size) + return projector.to(hidden) + + @singleton('region_projector') + def _get_region_projector(self, hidden): + dim = hidden.shape[1] + projector = MLP(dim, self.output_dim, self.projection_num_layers, self.projection_hidden_size) + return projector.to(hidden) + + def get_embedding(self, x): + if self.layer == -1: + return self.net(x) + + if not self.hook_registered: + self._register_hook() + + self.hidden.clear() + _ = self.net(x) + hidden = self.hidden[x.device] + self.hidden.clear() + + assert hidden is not None, f'hidden layer {self.layer} never emitted an output' + return hidden + + def forward(self, x, return_projection = True): + region_latents = self.get_embedding(x) + global_latent = reduce(region_latents, 'b c h w -> b c', 'mean') + + if not return_projection: + return global_latent, region_latents + + view_projector = self._get_view_projector(global_latent) + region_projector = self._get_region_projector(region_latents) + + region_latents = rearrange(region_latents, 'b c h w -> b (h w) c') + + return view_projector(global_latent), region_projector(region_latents), region_latents + +# main class + +class EsViTTrainer(nn.Module): + def __init__( + self, + net, + image_size, + hidden_layer = -2, + projection_hidden_size = 256, + num_classes_K = 65336, + projection_layers = 4, + student_temp = 0.9, + teacher_temp = 0.04, + local_upper_crop_scale = 0.4, + global_lower_crop_scale = 0.5, + moving_average_decay = 0.9, + center_moving_average_decay = 0.9, + augment_fn = None, + augment_fn2 = None + ): + super().__init__() + self.net = net + + # default BYOL augmentation + + DEFAULT_AUG = torch.nn.Sequential( + RandomApply( + T.ColorJitter(0.8, 0.8, 0.8, 0.2), + p = 0.3 + ), + T.RandomGrayscale(p=0.2), + T.RandomHorizontalFlip(), + RandomApply( + T.GaussianBlur((3, 3), (1.0, 2.0)), + p = 0.2 + ), + T.Normalize( + mean=torch.tensor([0.485, 0.456, 0.406]), + std=torch.tensor([0.229, 0.224, 0.225])), + ) + + self.augment1 = default(augment_fn, DEFAULT_AUG) + self.augment2 = default(augment_fn2, DEFAULT_AUG) + + # local and global crops + + self.local_crop = T.RandomResizedCrop((image_size, image_size), scale = (0.05, local_upper_crop_scale)) + self.global_crop = T.RandomResizedCrop((image_size, image_size), scale = (global_lower_crop_scale, 1.)) + + self.student_encoder = NetWrapper(net, num_classes_K, projection_hidden_size, projection_layers, layer = hidden_layer) + + self.teacher_encoder = None + self.teacher_ema_updater = EMA(moving_average_decay) + + self.register_buffer('teacher_view_centers', torch.zeros(1, num_classes_K)) + self.register_buffer('last_teacher_view_centers', torch.zeros(1, num_classes_K)) + + self.register_buffer('teacher_region_centers', torch.zeros(1, num_classes_K)) + self.register_buffer('last_teacher_region_centers', torch.zeros(1, num_classes_K)) + + self.teacher_centering_ema_updater = EMA(center_moving_average_decay) + + self.student_temp = student_temp + self.teacher_temp = teacher_temp + + # get device of network and make wrapper same device + device = get_module_device(net) + self.to(device) + + # send a mock image tensor to instantiate singleton parameters + self.forward(torch.randn(2, 3, image_size, image_size, device=device)) + + @singleton('teacher_encoder') + def _get_teacher_encoder(self): + teacher_encoder = copy.deepcopy(self.student_encoder) + set_requires_grad(teacher_encoder, False) + return teacher_encoder + + def reset_moving_average(self): + del self.teacher_encoder + self.teacher_encoder = None + + def update_moving_average(self): + assert self.teacher_encoder is not None, 'target encoder has not been created yet' + update_moving_average(self.teacher_ema_updater, self.teacher_encoder, self.student_encoder) + + new_teacher_view_centers = self.teacher_centering_ema_updater.update_average(self.teacher_view_centers, self.last_teacher_view_centers) + self.teacher_view_centers.copy_(new_teacher_view_centers) + + new_teacher_region_centers = self.teacher_centering_ema_updater.update_average(self.teacher_region_centers, self.last_teacher_region_centers) + self.teacher_region_centers.copy_(new_teacher_region_centers) + + def forward( + self, + x, + return_embedding = False, + return_projection = True, + student_temp = None, + teacher_temp = None + ): + if return_embedding: + return self.student_encoder(x, return_projection = return_projection) + + image_one, image_two = self.augment1(x), self.augment2(x) + + local_image_one, local_image_two = self.local_crop(image_one), self.local_crop(image_two) + global_image_one, global_image_two = self.global_crop(image_one), self.global_crop(image_two) + + student_view_proj_one, student_region_proj_one, student_latent_one = self.student_encoder(local_image_one) + student_view_proj_two, student_region_proj_two, student_latent_two = self.student_encoder(local_image_two) + + with torch.no_grad(): + teacher_encoder = self._get_teacher_encoder() + teacher_view_proj_one, teacher_region_proj_one, teacher_latent_one = teacher_encoder(global_image_one) + teacher_view_proj_two, teacher_region_proj_two, teacher_latent_two = teacher_encoder(global_image_two) + + view_loss_fn_ = partial( + view_loss_fn, + student_temp = default(student_temp, self.student_temp), + teacher_temp = default(teacher_temp, self.teacher_temp), + centers = self.teacher_view_centers + ) + + region_loss_fn_ = partial( + region_loss_fn, + student_temp = default(student_temp, self.student_temp), + teacher_temp = default(teacher_temp, self.teacher_temp), + centers = self.teacher_region_centers + ) + + # calculate view-level loss + + teacher_view_logits_avg = torch.cat((teacher_view_proj_one, teacher_view_proj_two)).mean(dim = 0) + self.last_teacher_view_centers.copy_(teacher_view_logits_avg) + + teacher_region_logits_avg = torch.cat((teacher_region_proj_one, teacher_region_proj_two)).mean(dim = (0, 1)) + self.last_teacher_region_centers.copy_(teacher_region_logits_avg) + + view_loss = (view_loss_fn_(teacher_view_proj_one, student_view_proj_two) \ + + view_loss_fn_(teacher_view_proj_two, student_view_proj_one)) / 2 + + # calculate region-level loss + + region_loss = (region_loss_fn_(teacher_region_proj_one, student_region_proj_two, teacher_latent_one, student_latent_two) \ + + region_loss_fn_(teacher_region_proj_two, student_region_proj_one, teacher_latent_two, student_latent_one)) / 2 + + return (view_loss + region_loss) / 2