Restricted Boltzmann Machines - Ep. 6 (Deep Learning SIMPLIFIED)

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.ย. 2024
  • So what was the breakthrough that allowed deep nets to combat the vanishing gradient problem? The answer has two parts, the first of which involves the RBM, an algorithm that can automatically detect the inherent patterns in data by reconstructing the input.
    Deep Learning TV on
    Facebook: / deeplearningtv
    Twitter: / deeplearningtv
    Geoff Hinton of the University of Toronto, a pioneer and giant in the field, was able to devise a method for training deep nets. His work led to the creation of the Restricted Boltzmann Machine, or RBM.
    Structurally, an RBM is a shallow neural net with just two layers - the visible layer and the hidden layer. In this net, each node connects to every node in the adjacent layer. The “restriction” refers to the fact that no two nodes from the same layer share a connection.
    The goal of an RBM is to recreate the inputs as accurately as possible. During a forward pass, the inputs are modified by weights and biases and are used to activate the hidden layer. In the next pass, the activations from the hidden layer are modified by weights and biases and sent back to the input layer for activation. At the input layer, the modified activations are viewed as an input reconstruction and compared to the original input. A measure called KL Divergence is used to analyze the accuracy of the net. The training process involves continuously tweaking the weights and biases during both passes until the input is as close as possible to the reconstruction.
    If you’ve ever worked with an RBM in one of your own projects, please comment and tell me about your experiences.
    Because RBMs try to reconstruct the input, the data does not have to be labelled. This is important for many real-world applications because most data sets - photos, videos, and sensor signals for example - are unlabelled. By reconstructing the input, the RBM must also decipher the building blocks and patterns that are inherent in the data. Hence the RBM belongs to a family of feature extractors known as auto-encoders.
    Credits
    Nickey Pickorita (TH-cam art) -
    www.upwork.com...
    Isabel Descutner (Voice) -
    / isabeldescutner
    Dan Partynski (Copy Editing) -
    / danielpartynski
    Jagannath Rajagopal (Creator, Producer and Director) -
    / jagannathrajagopal

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

  • @PaulJackson-hk3jy
    @PaulJackson-hk3jy 7 ปีที่แล้ว +3

    Something that would have helped me to understand this is that in an RBM, the states of the neurons are calculated according to a probability function that is dependent on the weights on the network. So rather than the neurons having a real-valued activation based on the weights, the neurons is either on or off, 0 or 1, in a given trial, based on a probability that comes from the formula based on the weights.
    Without knowing this I couldn't understand how a fixed set of weights could generate data.
    Each trial generates a different sample. It is a good sample if it matches (doesn't have to match perfectly, but should match a pattern it detected) in the training data. You can set the RBM to a sample it hasn't seen, activate the hidden later, then activate the visible layer and it should "recall" something it has seen in the data, even if there was noise or missing data.
    For example, if you train it on 9000 hand-written digits, it should learn that many of these numbers share common features. If you give it a number 3 that it has never seen before it should excite the neurons in the hidden layer that recognize features of threes and in turn, those features should activate something in the visible layer that looks 3ish.

  • @RajShuklamantu
    @RajShuklamantu 8 ปีที่แล้ว +6

    Happy to see such initiative. Its really very helpful, further i want algorithm for RBM and Mathematics behind it, along with implementation.

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

    Best video to build an intuition for RBM that I have found so far!!!!!

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

    Very good series for introductory Deep Learning!

  • @milanpandey9951
    @milanpandey9951 7 ปีที่แล้ว +4

    seriously !! it really helped me in my research paper. thank you for making such awesome videos

  • @BigDudeSuperstar
    @BigDudeSuperstar 8 ปีที่แล้ว +4

    Great video that does give you a good top-down understanding of RBMs and their features. Keep it up!

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

    Amazing introduction. Instant subscription.

  • @-dialecticsforkids2978
    @-dialecticsforkids2978 5 ปีที่แล้ว +1

    Doesnt an RBM also require an output layer, just so you rearrange the weights? Or how would you reconstruct anything from a hidden layers which just spills out gibberish for the human eye?

  • @InternalException
    @InternalException 8 ปีที่แล้ว +29

    Hello,
    Thanks (and congratulations) for disseminating information about the area. We really need to popularize hard sciences, that sometimes are seen as "magic" by people.
    I do believe, however, that some things are really confusing in the videos. The gradient explanation wasn't exactly simplified (nor necessary), and if I didn't already know what it's all about, I would be totally lost by the 5th video. Talking about all those different kinds of neural networks doesn't help either... I think it would be far more simple to explain basic concepts about neural networks, in general, and then start introducing specifics, one by one (and not all at the same time).
    I would also point that there is a lot of controversy about the "pioneerism" of Hinton, Le Cun and Bengio. They sure are great researchers, and have big contributions to the area, but as pointed by other researchers (e.g. Jürgen Schmidhuber), an ethical clarification is needed.
    If the idea is to have something for people who want to use deep models as a black box, I would recommend to skip most of the heavy (not really, but you get the point) historical introduction and technicalities (vanishing gradients?), and focus on the use cases and applications.
    Thanks and keep up the good work !
    Cheers.

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว +10

      +InternalException Glad you like the videos :-) To your point, there are many deep nets available out of the box, and if you wish to use them as is, there may not be a need to understand some of the inner workings - you dont need to know how a petrol engine works to drive a car. There are actually many software platforms available for Deep Nets, nvidia Digits for example that let you use pre-built models like the AlexNet with an intuitive UI. For that sort of situation, all one needs to know about are basic concepts of neural nets and they can probably get it to work and work well. In this series, once we get past the model videos, there are several that focus on use cases, as well as platforms and libraries, taking one straight to the practical aspect.
      On the flipside, there are people that need to develop custom deep net applications which means there is a need to understand what is going on under the hood. This series may not cover everything that one needs to know, but discussing the intuition behind some of the models has its place. But that is not something that is easily done - these concepts are not simple to grasp nor are they easy to explain. So the challenge is to figure out how much detail to mention and what to leave out. To me, if I had something like this to begin with when I was first learning about deep nets, my learning path would have been shorter.
      This series is intended as a broad overview of the area, letting people know what is out there and how to navigate. We actually moved the "How to choose" video up front, before any of the model videos as a means for people to pick and choose which ones they should watch. For instance, if you are not dealing with patterns that change with time, you wont need to learn recurrent nets, unless you want to.
      Take care!

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

      I'm just going through your video series in Feb 2017. Regarding preparing for studies in this area, have you considered putting together a summary guide that might include specify the prerequisites and study areas that address the math and programming?
      As you mention, I know you cover current platforms to some degree. Would you consider addressing preparation and further studies?

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

      Potentially - the list of topics for videos is very long and I'll add this one to that without any promises for when it will actually be done. As for study areas, check out Andrew Ng's Machine Learning MOOC on coursera, or Michael Nielsen's online deep learning book.

    • @denverconger9577
      @denverconger9577 7 ปีที่แล้ว

      DeepLearning.TV thanks! I started his course and find it very great! A little hard to learn as a newbie but Google works great

  • @greina6945
    @greina6945 7 ปีที่แล้ว

    Are RBMs and AutoEncoders just doing some sort of Principal Components Analysis or other basis function derivation?

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

    Thanks for the videos. short and simple and interesting. Looking forward for the video about Deep belief net.

  • @perfectMind91
    @perfectMind91 8 ปีที่แล้ว +19

    Nice effort, I enjoy watching. But I have a small note about videos construction; do you really have to remind us in each video to "comment and share experience" ? It is kind of stopping my chain of thoughts :P

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว +13

      Noted! And we hear you loud and clear. In Ep 21 onwards, we no longer have the call to comment :-)

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

      Well, if you pulled out the "stop and reflect here and provide feedback" prompts... That is a minor issue that I have no problem with. Another user experience (chat area, site area) where you can prompt for feedback and have directed discussion is one alternative.
      The style of prompting you were using provides guidance or moderation of discussion and gives a clear indication of when a student should stop, give pause and reflect. A time worn and useful instructional approach that invokes the student to perform some thought on their own, like all novices should.

    • @ranc4711
      @ranc4711 7 ปีที่แล้ว

      That’s because the video is created and edited by an artificial intelligence. 😉

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

    How RBMs are used to decide on the important features here? Is it through the learned weights of the visible layer? Higher the weights implies good features. Are the weights represented in the RBM directional?
    Thank you.

    • @DeepLearningTV
      @DeepLearningTV  4 ปีที่แล้ว

      Technically RBMs don't decide on which feature is important; that is a natural result from the training process. Strictly speaking, RBMs are used to reproduce input.
      For complex problems like face re-creation, it is hard to answer your question about how to detect important features. Since the recreation happens as a result of both forward and backward passes so the hidden weights also matter.

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

    This only first part of solution (mentioned in previous video) for vanishing gradient for back propagation. Key outcome is automatic training layer by layer (RBM) from starting layer to the end layer. Instead of one complete pass of forward + complete all layers back propagation.
    However even I got an idea that this is possible I need to learn how to train RBM.

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      +Kirill Kochubey I agree - we touch on that in the next clip on Deep Belief Nets.

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

    its so amazing. I did this topic long ago , but only now I have the proper inituition.

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

    Hello,
    I am currently working on deep learning at school, we implemented RBM to classify the MNIST Database, however we lack data on the performance we should achieve. We use 784 input nodes (28*28) and 40 output nodes (this is what Geoff Hinton advices in his Guide to Train RBM) for each RBM and one RBM is solely trained on one class eg a number. However our test, is the input pat of the class the rbm was trained on (using the error on reconstruction) only gives 40% accuracy. Any advices ?

  • @fluffmiller1084
    @fluffmiller1084 7 ปีที่แล้ว

    On RBMs, I'm missing something...
    I was assuming the weights on forward pass would be same as backward pass (like in neural net). But in this case, surely the image would be perfectly reconstructable, so the divergence would be zero?
    Conversely, if the weights are not the same, then the way for learning algorithm to optimise (i.e. minimise the divergence) would be to make them the same...but then you've not achieved anything

  • @user-cc7fo5ml1m
    @user-cc7fo5ml1m 4 ปีที่แล้ว +1

    Amazing video! Thanks!

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

    Hi thanks for the great videos. In this video one thing that wasn't clear to me is why the results of the reconstruction would differ at all from the original inputs. I.e. if the activations in the hidden layer were fed directly back into the backward pass and there is no randomness in the process why would there be any difference.
    Geoffrey Hinton says in his Coursera course that the activations can be interpreted as probabilities on hidden nodes, then on the backward pass "binary outcomes formed from the probabilities are passed back for the reconstruction pass" (not the actual activations).
    Is this always the case? If so I think this could be a little clearer in your video. Thanks for the great work!

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว +3

      If you fed the activations back (and used the same weights and biases as the forward pass), and you had exactly one input, you would still not be able to recreate the input exactly. The activation is a non-linearity and transforms the weighted input in, as the name suggests, a non-linear way. So inverting the weights/biases on an output transformed that way will give you a value that is related to the input, but not an exact reconstruction.
      Moreover, with each training pass, you are making the weight/bias updates across multiple inputs, each of which would have been modified by different extents during the passes.
      Also, the spirit of these videos is to showcase the intuition behind each model. While I appreciate Hinton's decision in using binary outcomes and that it makes sense for the model, there is more than one way to set up an RBM. With each video, our aim is to try to be provide as much intuition as possible without making it too detailed.

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

      No worries - I completely understand your decision to showcase the intuition behind the models which is what has made the videos so useful to me personally.
      I understand your decision to not dive into too much of the maths however this point left me a little confused as to how the whole thing could work.
      Thanks for your thorough explanation here - it makes a lot of sense.

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      Glad you like the content! If you have any other questions, do let us know.

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

    Y input and reconstructed input should be compared. By that do we get to know which weighs are important or for pattern recognition??

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

      Its for training. Each time the comparison is made, weights are tweaked with the hope that the next comparison would bring the two closer. Doing this over and over again, you train the net.

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

      @@DeepLearningTV tnk u so much

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

    Looking forward to more videos, thanks.

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

    You told in episode 6 that RBM and autoencoder are from the same category but i searched in a well known survey, it said they are different please clarify to me

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      Well I cant speak for the survey. RBMs are different in that autoencoders don't have the backward pass. They are the same as autoencoders in that they both are about unsupervised learning, feature extraction and/or smart weight initialization.

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

      I want the categorization of deep models but can not find . Espacially RNN where is it in the categorization

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      I don't think there is really an official categorization. RNNs loosely fall under a set of deep net models that have a working memory.

    • @Kunal-ix4bw
      @Kunal-ix4bw 7 ปีที่แล้ว

      scholar.google.com.au/scholar?q=Deep+Learning+in+Intrusion+Detection+System+An+Overview&hl=en&as_sdt=0&as_vis=1&oi=scholart&sa=X&ved=0ahUKEwiVsee9h-XSAhWDspQKHXueB7YQgQMIJjAA
      Categorization is given in this paper

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

    Really great video, finally I do understand RBM. Thanks :)

  • @AnIgnoramus
    @AnIgnoramus 8 ปีที่แล้ว

    Amazing videos! I have one suggestion though. Whenever there is a term that is introduced but has not been explained yet, could you please explicitly mention that it would be explained later. I find myself rewinding sometimes to see if I missed out on some terms

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      Thats good to know - if you would provide examples, that would help. But in general, that is a good suggestion.

  • @mohammadbadriahmadi9862
    @mohammadbadriahmadi9862 7 ปีที่แล้ว

    I have 2 questions:
    1- in the "recreate input" part, we create the output of each node of hidden layer by adding the multiplied inputs and their weights to each other and the bias and then applying that node function. it is the forward prop. right ? and then we take the output of each node of hidden layer as an input multiplied it to the previous weight and compare to the real inputs. it is the backward prop. right? what is the point of this part? why should the differences btw this inputs and real inputs be as low as possible? I can not understand the logic behind this part. and moreover, why we use previous weights? so we are multiplying weights again(we multiplied it once in the forward prop). so in this part, are we assuming that each hidden layer node should be enough for our purpose?
    2-about the unsupervised part, as far as I understand, each hidden layer node is presenting a label, so somehow, we are defining the labels when we are constructing the architecture of our neural network. I mean if we create four nodes for our hidden layer, we already defined that our data have 4 different labels. is that right?

    • @PaulJackson-hk3jy
      @PaulJackson-hk3jy 7 ปีที่แล้ว +1

      Forward and back prop are specific formulas for training deterministic neural nets. Forward prop calculates an answer based on current weights, back prop adjusts the weights so that the answer will be closer. In an RBM, an adjustment is calculated in both passes. In the first pass, the weights are adjusted upward to help the network remember the input data. The second pass has the network unlearning what it generates from the hidden layer. The idea is that over time as the network gets more accurate these learning and unlearning will cancel out but until the anything that doesn't cancel out is an error and so unlearning that will improve the model.
      It's better to think of those hidden nodes as features than labels. Labels are things that have meaning to users. Features are patterns that are useful to the network to help it generate the data.
      Interesting thing is after training an RBM you can use it as the bottom two layers of a traditional back prop neural network. In this setup the features of the RBM are like the inputs to the neural net. You can continue to adjust the weights found using the RBM using back prop or keep them.

    • @corey333p
      @corey333p 7 ปีที่แล้ว

      "why should the differences btw this inputs and real inputs be as low as possible?" This technique has been mathematically shown to tune the nodes to relevant features of the input data. The mathematics are complex, but I think the intuition is that if the nodes are sensitive to relevant features, their values should be able to feed backward and reconstruct the inputs. Whereas if the nodes are sensitive to irrelevant aspects of the input, they will fail to reconstruct the inputs. This is why we use the same weights forward and backward, because the weights are what we are testing and adjusting.
      "about the unsupervised part, as far as I understand, each hidden layer node is presenting a label, so somehow, we are defining the labels when we are constructing the architecture of our neural network. I mean if we create four nodes for our hidden layer, we already defined that our data have 4 different labels. is that right?" This is my intuition, and I'm not a computer scientist. I think you are assuming the nodes work in a linear fashion, but in reality they act as parts in a nonlinear system. What this means is that, for example, if we have a neural net trained for facial recognition, perhaps a low-level aspect of this task would be edge detection. Somewhere in the lower layers, maybe there is a characteristic for recognizing a curved edge as opposed to a straight edge. The assumption that there is one single node somewhere in the network that differentiates curved edges and straight edges is false. If the neural net has that capability, then the edge detection functionality is distributed among many or possibly all nodes in the network. The nodes work together in complex ways. The features the NN can detect, EG edge-detection, depth perception, whatever else, don't exist in separate boxes, but they interconnect, and so do the nodes in a neural net.

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

    This is so helpful
    thank you very much

  • @remariorichards8237
    @remariorichards8237 8 ปีที่แล้ว

    Also where do you recommend learning materials for the deep learning topic(i mean clear understand tutorials,courses).

  • @remariorichards8237
    @remariorichards8237 8 ปีที่แล้ว

    What exactly differentiates Restricted Boltzmann Machines to that of convolutional neural networks. Is that one , rbm can be integrated within a cnn. It is recomputed and as such can be used a data feeder to the cnn?

  • @mrvchaudron
    @mrvchaudron 6 ปีที่แล้ว

    Nice video's. I would prefer the examples to show some actual numbers. Now I fail to understand what the examples are illustration - I just see some nodes light up...

  • @dr.marypriyasebastian3895
    @dr.marypriyasebastian3895 7 ปีที่แล้ว +1

    HI, I have a large collection of English text and i need to identify different verb pattern structures from the sentences. Is this technique suitable for such a task.

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

      Sounds like you want to syntactically parse your text. Check nlp.stanford.edu for parsers.

    • @dr.marypriyasebastian3895
      @dr.marypriyasebastian3895 7 ปีที่แล้ว +1

      Thank you for the reply.

  • @AlanKevinBourke
    @AlanKevinBourke 8 ปีที่แล้ว

    Hi there. You'd mentioned that if you have labelled data that a deep learning net is not necessarily the way to go. We have labelled a large data-set of physical activity data from adult subjects and have synchronous data from body worn sensors. The data was labelled at 25 samples per second, for about 8 labels {standing, sitting, lying, shuffling, walking, climbing stairs, descending stairs, bending forward}. Can you suggest a neural network for this problem? also, from my research so far it seems that choosing the number of hidden layers and nodes in each layer requires some in-depth knowledge of the field also. If you could suggest values for the number of hidden layers and number of nodes with an input of 10 features for a data-set of 4 million data points, that would be great.

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      +Alan Bourke Sorry about the late reply - first, if you have labelled data, a deep net is certainly an option. It also depends on how complex the problem is. In your case, complexity seems simple to moderate so perhaps a shallow neural net will suffice. Your input layer = number of factors, and the output layer = number of classes. As for the other hyper parameters like number of hidden layers and number of nodes per layer, you may want to figure that out iteratively given it varies for every problem. Start with 4 layers and perhaps 10 to 15 nodes per layer. If you have too many layers/nodes, you will overfit the problem and too few would mean your precision/recall would suffer.

    • @DHorse
      @DHorse 7 ปีที่แล้ว

      Hmmm. Could you briefly compare that to a more complex problem using similar terms?

  • @ambrishsoni9933
    @ambrishsoni9933 7 ปีที่แล้ว

    i did not get .... the sense of activate . can you please explain in detail ?

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

    Thanks for the great videos. I just lost you from 6th video (restricted Boltzmann machine).

  • @aounallahrayane8164
    @aounallahrayane8164 4 ปีที่แล้ว

    thank you so much you are the best

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

    Is an RBM truly "deciding" or just applying an algorithm? The highly anthropomorphic language doesn't seem accurate to me.

    • @DeepLearningTV
      @DeepLearningTV  6 ปีที่แล้ว

      Thats a deep philosophical point about the nature of intelligence. It is subjective in nature. Once trained, an RBM can reproduce an input and in doing that automatically figures out which inputs are more important.

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

      I must admit I do not grasp your answer in the following respect: First it is said that the definition of intelligence is subjective, then it is stated that an RBM can be "trained" and "will automatically select" an answer. So, is only subjective to speak of training? Is it just running a program to reach the end result? It seems much more accurate to speak of calibrating the machine.

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

      The question of what intelligence is, is subjective. Your original query was - "is it truly deciding?" To "truly decide", one must arguably be "truly intelligent". Thus far we don't have a definitive working scientific model of what intelligence is.
      As for algorithms, they are usually a set of rules - If this condition is true, do that. With complex problems like facial recognition in a digital image, there are so many variations that it is hard to define a set of rules and truly capture the large majority of scenarios (face at an angle, zoomed in, zoomed out, male, female, race, age, location etc).
      So in Machine Learning, the idea is to have the model learn a set of inputs, like a library of faces, and associate that with an output, like a tag ("Yes/No", "Face", etc). If it then encounters a face picture, it will recognize it as a face picture. If you provide a large variety of faces for training, it does an incredible job picking out the underlying patterns of what makes a face, and hence recognize a large variety of new faces it did not see in training.
      With the RBM in particular, instead of associating with an output (otherwise known as a supervised learning problem), the idea is to associate an input to itself (otherwise known as an unsupervised learning problem). For example, an RBM can be trained to recreate faces from themselves. If you input a face, it will output a recreation of the face.

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

    could you pls tell me how this video is made? I want to make a presentation by making a video, and I am very interested in the way you used.

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      I used Prezi + ScreenFlow.

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

      Thank you very much~~~!!

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

    Does the RBM only consist of two layers? How if I add one more layer on it?

    • @DeepLearningTV
      @DeepLearningTV  5 ปีที่แล้ว

      Well, you can add layers to an RBM or stack RBMs, but if you do it is no longer an RBM, but becomes a DBN (next video). The RBM is a special model that only has two layers.

    • @-dialecticsforkids2978
      @-dialecticsforkids2978 5 ปีที่แล้ว +1

      @@DeepLearningTV How about an output layer? dont you need a output to judge the result and to rearrange the weights? Isn't this missing?

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

      @@-dialecticsforkids2978 The RBM is a special model in that the input layer also serves as the output layer. Once you transform an input and get to the hidden layer, the question an RBM asks is whether you can reverse that transformation to recreate the input. As an example, if the question asked is "2 times what is 6?", the answer is obviously 3; the reverse would be "6 times what is 2", where the answer is 1/3.
      The point of training the RBM for a problem set is that it works across a million inputs. So if you feed it a million faces, can it approximately recreate all of them, without overfitting for just a subset.
      Hope that makes sense.

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

    Hey all - RBMs are cool - they let you determine which patterns are significant in your data. Check them out :-)

  • @aj-tg
    @aj-tg 4 ปีที่แล้ว +1

    Thanks!

  • @KirillBerezin
    @KirillBerezin 8 ปีที่แล้ว

    Whoa this is blowing my mind. Didn't quite get how reconstruction works. Are we activate one by one hidden neurons? And each time result compared to input date?

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

      Well, whatever weights you use to generate the hidden layer activations, can be used in getting the input back. A very simple math analogy: In the equation, y = mx + c, if you have y, m and c, you can calculate x as (y - c)/m. Thats the sort of principle at work here.

    • @KirillBerezin
      @KirillBerezin 8 ปีที่แล้ว

      DeepLearning.TV oh, i got it thanks. I am using current result, and look what it resembles in. But i don't get why it should be closest to input image?
      Neural network work is to remember things that characteristic for input, what helps to pick out it.
      I am vastly sure that speech recognition network can't talk, only listen. And if it can, still, words pronounced with much noise/distortion.

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

      yea - the re-constructed faces are decent, but may not have the same quality as the original. There is always signal loss in the process. However, we are using a metric - KL Divergence to track and minimize that loss so depending on how you train it, your reconstruction should be decent. I believe this to be true for audio as well - there will be noise but there should also be signal.

    • @KirillBerezin
      @KirillBerezin 8 ปีที่แล้ว

      DeepLearning.TV for me it is hard to imagine signal loss in image recognition, lets stick to the voice. On vowels/words recognition trained network i could apply special tests. Make distortion on some frequencies, and explain network that original is better source. So it will be able detect noises that not affects recognition. And i can apply this extra information to construct more clearer sound.
      But that's best i came up with. It should produce clear vowels from words, with random pitch/happiness etc. But i expect it will sound like group of people interrupting each other.
      Challenge i see - is invent such distortions that really affects pronunciations. Because, simple noise will not make a lot of sense. Probably.
      Thank for your responsiveness! You are making a big effort for humanity(or machinity) progress.

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

      For image recognition, check out reconstructions of Labelled Faces of the Wild using an RBM - I saw it in a video by Adam Gibson of Deeplearning4j. I have the same problem with speech that you do with images - I am not worked in speech recognition. So maybe it is hard.
      And you're welcome!

  • @xuzhang872
    @xuzhang872 8 ปีที่แล้ว

    I believe the most popular solution for vanishing gradient is adaptive learning rate and good initialization of weights. Let me know if I am wrong.

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

      Yea those are very popular. Also the use of RELU really changed things; given that it's gradient is 1.

    • @xuzhang872
      @xuzhang872 8 ปีที่แล้ว

      Agree. There is new model of RELU (I forgot the name) now with y=\alpha*x when x

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

      I could be wrong but is it a "leaky" relu unit? smaller "slope" when x < 0 than when x > 0?

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      cs231n.github.io/neural-networks-1/

    • @xuzhang872
      @xuzhang872 8 ปีที่แล้ว

      I think that's right.

  • @radjaaattou9728
    @radjaaattou9728 7 ปีที่แล้ว

    Excellent tutorial! I have one question, what functions are used to train the RBM? (forward, backward and the comparing step) Thank you.

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      A nice overview here - deeplearning4j.org/restrictedboltzmannmachine.
      Well, the forward and backward passes are about applying an activation to the weighted input (with a bias included). Comparisons are done using KL Divergence.

    • @premalathavenkatraman8939
      @premalathavenkatraman8939 5 ปีที่แล้ว

      @@DeepLearningTV Seems link is broken. I checked in the DL4J site, but could not locate RBM content. an you send right link, please

  • @Cameron-ue7lu
    @Cameron-ue7lu 6 ปีที่แล้ว +1

    Very useful videos, thank you. However, would be nice to learn earlier how weights and biases are achieved given how much they are mentioned...I'm sure you'll come on to this later

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

      Weights are biases are set by the training process, the most popular one being backpropagation. While we don't have a video directly related to backprop, the essence is that during training, the model's output is compared against the known output for a set of training data. While they start off being set randomly (there is a lot of work done on smart initialization), with each comparison, the weights and biases are adjusted slightly, and the process repeated many many times - often in the millions - so that eventually the predicted output is as close as possible to the actual. The weights and biases at that point represent the learning or the intelligence of the model. You can also watch the episode on Vanishing gradients, to learn about a weakness of back prop.

    • @Cameron-ue7lu
      @Cameron-ue7lu 6 ปีที่แล้ว +1

      DeepLearning.TV Thanks, makes sense.

  • @devonk298
    @devonk298 8 ปีที่แล้ว

    Nice explanation - ty

  • @lorforlinux
    @lorforlinux 6 ปีที่แล้ว

    Your voice is mesmerizing

  • @bzqp2
    @bzqp2 2 ปีที่แล้ว

    Why did you choose such fonts :(

  • @harshgawai1078
    @harshgawai1078 6 ปีที่แล้ว

    As far i know no deep net is connecting the node with its other node in same layer so why this only called "Restricted"?

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

      A Boltzmann machine will allow intra-layer connections...

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

      ohk and Thanx too!! Your content is best

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

    Thanks a lot

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

    Is an RBM a type of RNN?

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว

      Nope. RBMs are an unsupervised learning technique used to better initialize DBNs. For RNNs, watch episode 9.

  • @heejuneAhn
    @heejuneAhn 7 ปีที่แล้ว

    What do you mean by "Visible" in RBM, and What do you mean "Label"?

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

      Visible is the input layer, and hidden is the other one. Check the video around 0:54. Labels are classes or tags and used for classification problems or supervised learning.

    • @PaulJackson-hk3jy
      @PaulJackson-hk3jy 7 ปีที่แล้ว +1

      Labels are used in supervised learning. They are the names of the classes assigned to input data. So to perform supervised learning you must have training data with the answers (labels) that you want the network to learn. An RBM is unsupervised. You do not need to give it labels. You just give it input data - you repeatedly set the visible layer to the different values sampled from you (unlabeled) training data. It learns how to generate data that it saw in the training data.

  • @SagunSubedisfwdlm
    @SagunSubedisfwdlm 8 ปีที่แล้ว

    good work.

  • @gitanjalinair2013
    @gitanjalinair2013 7 ปีที่แล้ว

    isnt the rbm's working similar to that of an Som

  • @srinivasvalekar9904
    @srinivasvalekar9904 8 ปีที่แล้ว

    Labeled data VS Unlabeled data - Could you please explain more on this?

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

      OK. I found it here - stackoverflow.com/questions/19170603/what-is-the-difference-between-labeled-and-unlabeled-data

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      That article sums it up nicely. As an added comment, good quality labeled data sets are harder to come by because of the labor involved in the labeling process.

  • @zukaanddaze3874
    @zukaanddaze3874 8 ปีที่แล้ว

    so if I can give an AI a deep learning can I give it commands?

    • @DeepLearningTV
      @DeepLearningTV  8 ปีที่แล้ว

      Mmmm - well with deep generative models, you could give overall commands and have it automatically figure out which tasks to perform to execute them. But the level of sophistication for that kind of application is still primitive - we are still several months if not years away from having it like do anything remotely meaningful at the level we are used to.

  • @sanjaykrish8719
    @sanjaykrish8719 6 ปีที่แล้ว

    You have a nice voice..

  • @everythingiswhat
    @everythingiswhat 6 ปีที่แล้ว

    This is very difficult to understand without examples that build...

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

    Why does she sound like she's about to cry?

  • @fajarulinnuha6796
    @fajarulinnuha6796 8 ปีที่แล้ว +7

    great videos thankyou, btw why do I listen to you as if you are crying? stay calm lol

  • @dmitriys4279
    @dmitriys4279 7 ปีที่แล้ว

    very complicated without any practical examples

  • @cocoritosss8669
    @cocoritosss8669 5 ปีที่แล้ว

    lol nice youtube bug... I commented just once wtf

  • @punkntded
    @punkntded 5 ปีที่แล้ว

    sorry, this video has useful content, but the intro gives me a mini headache. Really bad use of tones.

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

    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah please comment and tell me about your experience
    this time she said that differently... my pattern recognition works

  • @RamkrishanYT
    @RamkrishanYT 6 ปีที่แล้ว

    My name is Jeff ( sorry)

  • @BR-hi6yt
    @BR-hi6yt 11 หลายเดือนก่อน

    yeah, sure, easy

  • @billyte1265
    @billyte1265 7 ปีที่แล้ว +3

    I'm gonna say this until you catch on: STOP ASKING FOR COMMENTS IN THE MIDDLE OF YOUR VIDEO. Its so distracting and unhelpful.

    • @DeepLearningTV
      @DeepLearningTV  7 ปีที่แล้ว +3

      This is the second and final time we are saying this - show respect! Any more comments like these and we will have to block you from this channel.

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

      Great job! Thank you! Keep up the good work!

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

      I actually agree with him on this.

  • @onlybryanliu
    @onlybryanliu 8 ปีที่แล้ว

    Stop with the please comment stuff.

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

    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah please comment and tell me about your experience
    this time she said that differently... my pattern recognition works

    • @computerguycj1
      @computerguycj1 5 ปีที่แล้ว

      Which videos have you published? Let me know so I can drop an ignorant comment about what annoys me in your videos?

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

    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah please comment and tell me about your experience
    this time she said that differently... my pattern recognition works

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

    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah if so please comment and let me know your thoughts
    blah blah blah please comment and tell me about your experience
    this time she said that differently... my pattern recognition works