Vision Transformers explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ส.ค. 2024
  • Vision Transformer, also known as ViT, is a deep learning model that applies the Transformer architecture, originally developed for natural language processing, to computer vision tasks. It has gained attention for its ability to achieve competitive performance on image classification and other vision tasks, even without relying on convolutional neural networks (CNNs).
    Transformers: • Transformers for begin...
    **************************************************************************************
    For queries: You can comment in comment section or you can mail me at aarohisingla1987@gmail.com
    **************************************************************************************
    The key idea behind the Vision Transformer is to divide an input image into smaller patches and treat them as tokens, similar to how words are treated in natural language processing. Each patch is then linearly projected and embedded with position information. These patch embeddings, along with position embeddings, are fed into a stack of Transformer encoder layers.
    The Vision Transformer has shown promising results, demonstrating competitive performance on image classification tasks, object detection, and semantic segmentation.
    #computervision #transformers
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 93

  • @emirhanbilgic2475
    @emirhanbilgic2475 3 หลายเดือนก่อน

    Aarohi, I am watching you for 3 years now, and each time I understand the subject. You're literally the best

    • @CodeWithAarohi
      @CodeWithAarohi  3 หลายเดือนก่อน +1

      Thank you so much for your incredibly kind words! It means a lot to me😊

  • @jayp9158
    @jayp9158 10 หลายเดือนก่อน +6

    Your explanation is one for the best I’ve heard about ViT, thank you very much

  • @soravsingla6574
    @soravsingla6574 10 หลายเดือนก่อน +2

    Hello Ma’am
    Your AI and Data Science content is consistently impressive! Thanks for making complex concepts so accessible. Keep up the great work! 🚀 #ArtificialIntelligence #DataScience #ImpressiveContent 👏👍

  • @patis.IA-AI
    @patis.IA-AI 10 หลายเดือนก่อน +3

    Thanks again for this very well explained tuto.

    • @CodeWithAarohi
      @CodeWithAarohi  10 หลายเดือนก่อน

      Glad it was helpful!

  • @berfin923
    @berfin923 7 หลายเดือนก่อน

    The content is amazing! Very informative, short, and to the point, which is great for beginners. Thank you for these amazing videos 😍I have only one small feedback for your future videos. The audio quality is a little bit bad and noisy. You might consider checking your microphone.

    • @CodeWithAarohi
      @CodeWithAarohi  6 หลายเดือนก่อน

      Thank you for the feedback. I will take care of noise.

  • @devanshlakshitha7424
    @devanshlakshitha7424 4 หลายเดือนก่อน

    Thanks for this vedio.this tutorial is very clear and explaining and we had learning to how to split the pattern

    • @CodeWithAarohi
      @CodeWithAarohi  4 หลายเดือนก่อน

      You are welcome 😊

  • @sreekalakishore8422
    @sreekalakishore8422 10 หลายเดือนก่อน +1

    Very nice Presentation

  • @SS-zq5sc
    @SS-zq5sc 6 หลายเดือนก่อน

    Your tutorials are always the best, thank you very much. I hope you would create tutorials on Segformer soon.

  • @ariouathanane
    @ariouathanane 2 หลายเดือนก่อน

    What's about the extra class? and i think that only the extra class is used for the classification. Please could you explain this point?

  • @sm-pz8er
    @sm-pz8er 3 หลายเดือนก่อน

    Very well explained. Thanks alot

    • @CodeWithAarohi
      @CodeWithAarohi  3 หลายเดือนก่อน

      Glad it was helpful!

  • @manojtelrandhe174
    @manojtelrandhe174 5 หลายเดือนก่อน

    Great....crystal clear the concepts greatly explained 😊

  • @_seeker423
    @_seeker423 6 หลายเดือนก่อน +1

    beautifully explained!

    • @CodeWithAarohi
      @CodeWithAarohi  6 หลายเดือนก่อน

      Glad it was helpful!

  • @sanathspai3210
    @sanathspai3210 13 วันที่ผ่านมา

    Hi, it is nice content btw I have one doubt.
    If u divide 224*224 image into patch size = 16, that means there will be 16 grids as shown in 2:33 each patch having 14 pixels? Is my understanding correct?

    • @CodeWithAarohi
      @CodeWithAarohi  12 วันที่ผ่านมา

      You have a total of 14×14=196 patches. Each patch is 16×16 pixels in size. So, the number of grids (patches) is 196, and each patch has 16x16 pixels along each side, not 14x14.

    • @sanathspai3210
      @sanathspai3210 12 วันที่ผ่านมา

      @@CodeWithAarohi Oh okay. I got confused by looking onto image which had 16 cells. I hope that's a mistake right it should have been 14 cells right? And each cell has 16*16 pixels along its width and height

  • @ShubhamSharma-bo3ot
    @ShubhamSharma-bo3ot 6 หลายเดือนก่อน

    Thank You, can you explain difference between CNN and ViT side by side.

  • @Rahul-vl1no
    @Rahul-vl1no 3 หลายเดือนก่อน

    Can you please suggest how to use vision transformer for Text classification? Please

  • @vikashverma7893
    @vikashverma7893 11 หลายเดือนก่อน +1

    Excellent explanation

    • @CodeWithAarohi
      @CodeWithAarohi  11 หลายเดือนก่อน

      Glad it was helpful!

  • @tauseefkhan6901
    @tauseefkhan6901 ปีที่แล้ว +2

    How dimension is reduced for each 1D vector when each pixel of 1D vector is multiplied by weights? Can u clear it?

    • @QubitBrain
      @QubitBrain 11 หลายเดือนก่อน +1

      Matrix multiplication!
      Let's assume an image is split into 3x3 pixel and each pixel has 16x16 vector embedding which is flattened to 256x1 (means 256 rows and 1 column). Because we have 3x3 pixel size of image it means we have total 9 pixels. Hence if we combine the vector embedding of all the pixels (means if each pixel embedding is 256x1, then for 9 pixels it will become 256x9 i.e 256 rows and 9 columns. Now we have to pass this through linear layer. Linear layer let's say has 5 neurons. so shape for each neuron will be 256 x 1 (means 256 rows and 1 column) and for 5 neurons it will become 256x5 (menas 256 rows and 5 columns).
      Now we have to do matrix Multiplication of Input with Linear layer, but wait, we cannot multiply the matrix because shape of input is 256x9 and shape of linear is 256x5. In order to multiply the matrices, the columns of Matrix A must be equal to the number of rows of Matrix B. So we will transpose the input matrix of shape 256x9 to 9x256.
      Now, Let's take this as Matrix A of 9x256 and Matrix B of size 256x5. Because column of Matrix A is same as row of Matrix B, hence, dot product is possible which will result in new matrix of size 9x5.
      We can see that the original matrix of patch was of size 9x256 which is reduced to 9x5.
      So we will get the 3 matrices of size 9x5 each for Key, Query and Value.
      Now based on attention model we can see that we have to do the matrix multiplication of Query and Key and to do so we again have to do the transpose of Matrix because both Key and Query are of same shape (Query Matrix - 9x5 , Key Matrix - 9x5). So if we transpose Key Matrix it will become 5x9 and then the matrix multiplication will be possible between these two matrices (9x5 and 5x9). The dot product output of these matrices will be a matrix of size (9x9) and this output matrix is called as Attention Filter.
      Then after training we have the final updated values of this attention filter which we have to scale between 0 and 1 using softmax activation function.
      This scaled attention matrix (9x9) is then multiplied with Value matrix (9x5) which will give the filtered value of Matrix (9x5).
      Hence based on attention matrix we get the important feature of an image. This is the process of single attention head to extract feature.
      We use multi-head attention to extract various important features of an image. Each head focuses on different combinations of features.

  • @nithinkumar2473-c4s
    @nithinkumar2473-c4s ปีที่แล้ว +1

    Thanks for making the video

  • @user-jz8hr5fo9e
    @user-jz8hr5fo9e 6 หลายเดือนก่อน

    very good explanation. Thank you

  • @naziahossain3950
    @naziahossain3950 10 หลายเดือนก่อน

    you are a genius ma Shaa Allah, thanks a lot

    • @CodeWithAarohi
      @CodeWithAarohi  10 หลายเดือนก่อน

      You are most welcome

  • @user-li2vb5rv7k
    @user-li2vb5rv7k 6 หลายเดือนก่อน

    Thanks very much the videos are awesome and genuine.

  • @user-li2vb5rv7k
    @user-li2vb5rv7k 6 หลายเดือนก่อน

    Please can you explain or give a series about the Vanilla Vision transformers from the paper to the to the programming side🙏🙏

    • @CodeWithAarohi
      @CodeWithAarohi  6 หลายเดือนก่อน

      The terms "Vanilla Vision Transformers" and "Vision Transformers" are often used interchangeably, and both refer to the same fundamental concept which is applying the Transformer architecture directly to image data for computer vision tasks.

  • @soravsingla6574
    @soravsingla6574 10 หลายเดือนก่อน

    Code with Aarohi is Best TH-cam channel for Artificial Intelligence #CodeWithAarohi

  • @soudaminipanda
    @soudaminipanda 11 หลายเดือนก่อน

    very nice video.

  • @soravsingla6574
    @soravsingla6574 10 หลายเดือนก่อน

    Good one ma’am

  • @cleverestidiot4636
    @cleverestidiot4636 10 หลายเดือนก่อน

    the video was awesome . And can i know the transformer model of all the 6 encoders and 6 decoders , as I have confusion in the input architecture of decoders .
    Thank you mam

  • @anugaur2672
    @anugaur2672 10 หลายเดือนก่อน

    Awesome explanation mam

  • @ervinperetz5973
    @ervinperetz5973 11 หลายเดือนก่อน +3

    I came to this video to learn how to do positional encoding for 2D images -- the precise math. When you come to that portion, you simply reference your intro video, re Transformers for linear text (and in which even the linear positional encoding isn't really explained).

    • @CodeWithAarohi
      @CodeWithAarohi  11 หลายเดือนก่อน +2

      Sorry for inconvenience. I will try to cover the math's in separate video.

    • @ervinperetz5973
      @ervinperetz5973 11 หลายเดือนก่อน +1

      @@CodeWithAarohi Thanks for responding. Your videos are terrific otherwise. Thanks for sharing your work and insights.

    • @MP-sx6tg
      @MP-sx6tg 8 หลายเดือนก่อน +1

      ‘The precise math for encoding’
      Bro it’s deep learning and you talk about precise math 😂
      Literally those people encoded 1,2,…256 for each patch.

  • @mohamedahmed-kd8ue
    @mohamedahmed-kd8ue ปีที่แล้ว

    Thanks for this tutorials its simple and deep

  • @karthickkuduva9819
    @karthickkuduva9819 หลายเดือนก่อน

    Waiting for your fusion transformer tutorial mam

  • @Sunil-ez1hx
    @Sunil-ez1hx 11 หลายเดือนก่อน

    Thank you soo much mam for this amazing video

  • @mostafamarwanmostafa9975
    @mostafamarwanmostafa9975 7 หลายเดือนก่อน

    can you make a video on SegFormer? thanks in advance for the amazing explanation!

  • @anantmohan3158
    @anantmohan3158 ปีที่แล้ว

    Nicely Explained..!

  • @beratcokhavali
    @beratcokhavali ปีที่แล้ว

    excellent explanation.
    I wanna make a sugesstion. Maybe you should buy a microphone. There are lots of noise in background.

  • @yabezD
    @yabezD หลายเดือนก่อน

    Kindly post a video for Deit

  • @aluissp
    @aluissp 8 หลายเดือนก่อน

    Thanks a lot! it helps me :3

  • @RAZZKIRAN
    @RAZZKIRAN ปีที่แล้ว

    how to know the feature importance which are generated from ViT ?
    which features causes classification

    • @CodeWithAarohi
      @CodeWithAarohi  ปีที่แล้ว

      While ViT doesn't inherently provide feature importance scores like some other models, you can analyze the importance of different features in the classification process by examining the attention maps generated by the model.
      Attention maps in ViT represent the importance of each image patch in relation to the final prediction. Higher attention values indicate greater importance. By visualizing these attention maps, you can gain insights into which image regions contribute most to the classification decision.

    • @RAZZKIRAN
      @RAZZKIRAN ปีที่แล้ว

      @@CodeWithAarohi please make video on it madam, for one classification task , dog vs cat classification example

  • @vimalshrivastava6586
    @vimalshrivastava6586 ปีที่แล้ว +1

    Thank you for making this video. Please make a python code of ViT, if possible. Thank you.

    • @CodeWithAarohi
      @CodeWithAarohi  ปีที่แล้ว +2

      Working on it!

    • @umarjibrilmohd8660
      @umarjibrilmohd8660 11 หลายเดือนก่อน

      Please, do it on how to train ViT on semantic segmentation tasks.

  • @BlessingRasheed-nv5tm
    @BlessingRasheed-nv5tm 5 หลายเดือนก่อน

    Can these be apply in bank cheque processing

    • @CodeWithAarohi
      @CodeWithAarohi  5 หลายเดือนก่อน

      Yes, vision transformers (ViTs) can be applied to bank cheque processing tasks.

  • @fayezalhussein7115
    @fayezalhussein7115 ปีที่แล้ว

    thank you so much Aarohi, please,could you explain SWIN transformer too with its with coding ?

    • @CodeWithAarohi
      @CodeWithAarohi  ปีที่แล้ว +2

      Sure, I have started a playlist on transformers and will try to cover every important topic which comes under transformers

    • @fayezalhussein7115
      @fayezalhussein7115 ปีที่แล้ว

      @@CodeWithAarohi thank you again, waiting for it

  • @sanjoetv5748
    @sanjoetv5748 11 หลายเดือนก่อน

    please create a ViT on landmark detection

    • @CodeWithAarohi
      @CodeWithAarohi  11 หลายเดือนก่อน

      I will try

    • @sanjoetv5748
      @sanjoetv5748 11 หลายเดือนก่อน

      @@CodeWithAarohi thank you so much you are the best

  • @user-fg4le4gt7z
    @user-fg4le4gt7z 8 หลายเดือนก่อน

    nice, can you share slide with me?

  • @Pradeep...87
    @Pradeep...87 6 หลายเดือนก่อน

    Can you provide code

    • @CodeWithAarohi
      @CodeWithAarohi  6 หลายเดือนก่อน

      In this video, I have explained Vision transformer theory. You can check next video and Code link is mentioned in description section of that video.

  • @EngineerXYZ.
    @EngineerXYZ. 7 หลายเดือนก่อน

    Why only 16×16

    • @CodeWithAarohi
      @CodeWithAarohi  7 หลายเดือนก่อน

      Original paper used this. You can try with different numbers also.

  • @alis5893
    @alis5893 10 หลายเดือนก่อน +2

    will you do vision transformers with tensorflow?

    • @CodeWithAarohi
      @CodeWithAarohi  10 หลายเดือนก่อน +1

      I will try.

    • @alis5893
      @alis5893 10 หลายเดือนก่อน +1

      @@CodeWithAarohi Thank you. Your method of teaching is amazing. But i am never comfortable with torch. Tensorflow is so natural for deep learning. I look forward to this .