Live data from Hacker News

Understanding Convolutional Neural Networks

poloclub.github.io

11–20 of 23 posts

Re: Understanding Convolutional Neural Networks

#11

Just a shout-out to Professor Polo (the Professor who is the leader of the Polo Club of Data Science who wrote the tutorial on CNN's), 3 years ago, as a CRUD code monkey, I found out about Georgia Tech's launching of Online Masters in Data Science on Hacker News and then entered into the program and took Dr.Polo's class on Data Visualization and Analysis (for that semester I lit. spent more time on the class than on…

Did you study this course [1] on your own?

[1] https://omscs.gatech.edu/cse-6242-data-visual-analytics

[ ] https://poloclub.github.io/cse6242-2019fall-online/

Re: Understanding Convolutional Neural Networks

#12

Just a shout-out to Professor Polo (the Professor who is the leader of the Polo Club of Data Science who wrote the tutorial on CNN's), 3 years ago, as a CRUD code monkey, I found out about Georgia Tech's launching of Online Masters in Data Science on Hacker News and then entered into the program and took Dr.Polo's class on Data Visualization and Analysis (for that semester I lit. spent more time on the class than on…

3 years is a long time for a degree. Should have done Udacity.

Re: Understanding Convolutional Neural Networks

#13
post #4

Very nice interactive tutorial tool. I wish some of the terms were defined. Hyperparameter? Convolution? Kernel?

Model: the learnt relationship (eg., f(x; a,b) = ax + b) Parameter: an aspect of the model, a dial which is fixed by data (eg., a) Kernel (as used here): a subset of such parameters Algorithm: procedure which accepts data and produces a model Hyperparameter: an aspect of the algorithm, a dial which changes model production Convolution: A convolution of image A and Filter B describes to what degree A is "like" B. Here…

> Hyperparameter: an aspect of the algorithm, a dial which changes model production

This seems a bit cryptic. The way I understand hyperparamters, they define how a model learns, i.e. you can set an alpha in gradient descent. Now when you compare them to "ordinary" parameters, hyperparamters do not define relationship between data and output.

Re: Understanding Convolutional Neural Networks

#14
post #4

Very nice interactive tutorial tool. I wish some of the terms were defined. Hyperparameter? Convolution? Kernel?

Model: the learnt relationship (eg., f(x; a,b) = ax + b) Parameter: an aspect of the model, a dial which is fixed by data (eg., a) Kernel (as used here): a subset of such parameters Algorithm: procedure which accepts data and produces a model Hyperparameter: an aspect of the algorithm, a dial which changes model production Convolution: A convolution of image A and Filter B describes to what degree A is "like" B. Here…

These definitions are too vague by half. In a word, useless. “An aspect of the algorithm, a dial” so the same as a parameter then, according to your definition... the only distinction is it changes model production, but in my experience data does that too, so... no clarity here. You make them sound the same to the naive reader.

And you misunderstood my suggestion for the article as a request for your help. But thanks. I don’t doubt what you wrote is accurate and helpful in the same way that saying “a transom is a part of a building” is accurate and helpful.

Re: Understanding Convolutional Neural Networks

#15

Just a shout-out to Professor Polo (the Professor who is the leader of the Polo Club of Data Science who wrote the tutorial on CNN's), 3 years ago, as a CRUD code monkey, I found out about Georgia Tech's launching of Online Masters in Data Science on Hacker News and then entered into the program and took Dr.Polo's class on Data Visualization and Analysis (for that semester I lit. spent more time on the class than on…

3 years is a long time for a degree. Should have done Udacity.

3 years isn't a long time to obtain a master's degree while working. This program, and many others, actually give you 5 years so you can take roughly one class per semester, 2 per year, and not destroy yourself. GT is also a top-tier school. Not a knock on Udacity.

Re: Understanding Convolutional Neural Networks

#16
post #14

Earlier quoted context omitted.

Model: the learnt relationship (eg., f(x; a,b) = ax + b) Parameter: an aspect of the model, a dial which is fixed by data (eg., a) Kernel (as used here): a subset of such parameters Algorithm: procedure which accepts data and produces a model Hyperparameter: an aspect of the algorithm, a dial which changes model production Convolution: A convolution of image A and Filter B describes to what degree A is "like" B. Here…

These definitions are too vague by half. In a word, useless. “An aspect of the algorithm, a dial” so the same as a parameter then, according to your definition... the only distinction is it changes model production, but in my experience data does that too, so... no clarity here. You make them sound the same to the naive reader. And you misunderstood my suggestion for the article as a request for your help. But thanks…

I agree with your overall sentiment on the "definitions" offered but just fyi your tone is probably considered to be unnecessarily harsh by many.

Re: Understanding Convolutional Neural Networks

#17
I wrote a nn a while back and made some interesting projects with it. two things I wanted to do: transfer the matrix multiplications to the GPU and also implement convolution layers. if I ever got free time again I'll maybe do it.

thanks for sharing this, great content. made me think about old projects I have laying around.

Re: Understanding Convolutional Neural Networks

#18
post #9

Why doesn't it explain what the "bias" is?

Neurons have weight and bias. Weight is multiplied, bias is added. Really that simple.

Here are examples of equivalent notations that may make it more familiar:

  y = 2⋅x + b or
  y = a⋅x + b
- x would be the input to the neuron, often named 'x'.

- a/2 would be the weight, often named 'w'.

- b would be the bias, often named 'b'.

- y is the output.

In neural network documentation this is often written as (often case sensitive, which may be confusing): output = w⋅x + b (output = weight * input + bias).

I hope that explains it.

Re: Understanding Convolutional Neural Networks

#19
post #4

Very nice interactive tutorial tool. I wish some of the terms were defined. Hyperparameter? Convolution? Kernel?

The main parameter in ML is θ (theta), as in Y = θ0 + θ1 X1 + θ2 X2 + ..., which are learned using the training data. (X1, X2, ...) are the features. The main goal of ML is to determine these theta parameters to a model so that you can use them to predict result on new data.

Hyperparameters in ML is the tuning parameters on the shape and structure of the model, such as the number of features in linear regression above, the number of layers in a NN or number of neurons in each layer. I think basically any tuning parameters besides theta can be considered hyperparameters. The difference is the theta parameters are learned while the hyperparameters are decided by human. But you can also run experiments on different tuning parameters and compare the outcomes so in a sense hyperparameters can be learned.

Convolution, well, the article is trying to explain it. It's like rolling up a portion of an image using a filter. E.g. Making an image blur by pixelizing it. The main purpose is the find out high level feature of the image. E.g. Put a filter on to find the edge of an object in the image.

Kernel is a small NxN matrix (3x3, 4x4, 16x16, etc) used as filter to convert the pixels in an image to high level feature. E.g. the mean-color-kernel takes 4x4 pixels and computes the average of their colors. Now apply the mean-color-kernel over all the 4x4 blocks of an image and you got one convolution.

Re: Understanding Convolutional Neural Networks

#20
post #4

Very nice interactive tutorial tool. I wish some of the terms were defined. Hyperparameter? Convolution? Kernel?

I agree, and I'm not sure why people are replying to you trying to help you. Your comment is a constructive critique on the link. By adding a bit more introduction, this tool could be made even more useful.
Post reply on HN