|
| ▲ | bsenftner 2 hours ago | parent | next [-] |
| A rotation matrix is but one of dozens and dozens of different types of basic transforms. It gets really fun with jacobian 12x12 matrix operations, and free form deformations. Which maps to ML far better than most imagine. |
|
| ▲ | kilpikaarna 5 hours ago | parent | prev | next [-] |
| I mainly learned linear algebra via hands-on 3D graphics, and have a hard time thinking about a matrix as anything other than 4x4 and representing a linear transform... How much do you even think about explicit matrix math when doing high-level ML? |
| |
| ▲ | bsenftner 2 hours ago | parent | next [-] | | 3D graphics is so much more than the basic transforms. Add in all the deformation systems blending together, and those often being physics driven off the animation. You all have seen modern VFX, right? That is not basic 4x4 transforms. | |
| ▲ | skydhash 4 hours ago | parent | prev [-] | | I’ve not done high level ML, but I’ve done introductory ML and the truth is while the input space and the output space can have N and M dimensions, there’s not a lot of constraints involved. The matrix there are more randoms. The whole ML field is basically about starting from random points and trying to find useful shapes and constraints. Basically like trying to get object likeness in clouds |
|
|
| ▲ | jplusequalt 5 hours ago | parent | prev | next [-] |
| TBF, I bet any graphics programmer would be a boon for a ML shop for their GPU/performance optimization knowledge alone. |
|
| ▲ | cognoboffin 5 hours ago | parent | prev | next [-] |
| Doesn’t RoPE use 2D rotation matrices ? |
| |
| ▲ | mathisfun123 5 hours ago | parent [-] | | congrats you've found literally the only example ("the exception that proves the rule"). | | |
| ▲ | bsenftner 2 hours ago | parent | next [-] | | Your fixation on the rotation matrix == 3D graphics is not right | |
| ▲ | cognoboffin 4 hours ago | parent | prev [-] | | SVD, and PCA are also examples. | | |
| ▲ | mathisfun123 3 hours ago | parent [-] | | there is absolutely no sense in which the SVD/PCA decomposition is just a rotation matrix. you should probably review your linear algebra textbook (hint: scaling is extremely important). | | |
| ▲ | moregrist 2 hours ago | parent | next [-] | | PCA is an orthogonal transformation of the covariance matrix, so like all orthogonal transformations, it’s _literally a rotation_ in N-dimensional space. SVD is more complex but ultimately it’s just another useful decomposition of a matrix. I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere. Whether or not that helps you with ML depends more on what you’re doing in ML. FAANG doesn’t have a monopoly on ML or on interesting work in ML. | | |
| ▲ | mathisfun123 2 hours ago | parent [-] | | > PCA is an orthogonal transformation of the covariance matrix Yes you're now the second person the literally repeat the same thing I've already stated extremely clearly and succinctly: PCA is not just rotation (hint: you also need to understand covariance). > I’m not sure why you’re both negative and dismissive. Transformation matrices in graphics are a good and approachable way to get used to linear transformations, which turn out to be useful pretty much everywhere. I've already literally drawn the analogy/metaphor that I've drawn: if you think 2d/3d rotation matrices as they are used in graphics is any kind of introduction to the matrices in ML (modeling linear transformations or otherwise) then you're probably the type of person that believes that cash registers any kind of introduction to finance. My point is not that hard to understand. Graphics in no way, way, shape, or form prepares you for ML. I don't understand why this is so controversial. | | |
| ▲ | moregrist 2 hours ago | parent [-] | | > My point is not that hard to understand. Have you done any serious graphics programming? Even at the OpenGL 1.x level? What you’re saying just doesn’t make sense. Just because you’re rotating and translating things in 3-space doesn’t negate that you have a stack of transforms that relate a point in world space to one on screen space and you want to be able to project from one to the other. Nor does it make it any easier when you need to think about how to stack transforms to achieve effects like rendering a mirror. I honed a lot of useful practical skill with linear algebra trying to get graphics to do what I wanted. And I say this as someone who’s spent the bulk of my career using linear algebra in the context of quantum mechanics, physical simulation, and ML-adjacent areas. | | |
| ▲ | mathisfun123 an hour ago | parent [-] | | > negate that you have a stack of transforms that relate a point in world space to one on screen space and you want to be able to project from one to the other. no it doesn't "negate", it's all completely orthogonal (pun) or irrelevant. like for real just please take a look at https://docs.pytorch.org/docs/2.12/nn.html and tell me which operators you're imagining have any resemblance with typical graphics linear algebra. like when you people make such claims do you really have anything concrete in mind or just hype? |
|
|
| |
| ▲ | cognoboffin 3 hours ago | parent | prev [-] | | SVD is the decomposition of a matrix into two rotation matrices and a scaling matrix, by definition: https://en.wikipedia.org/wiki/Singular_value_decomposition | | |
| ▲ | mathisfun123 3 hours ago | parent [-] | | i don't understand who is having trouble reading the dialogue here you or i; > there is absolutely no sense in which the SVD/PCA decomposition is just a rotation matrix... (hint: scaling is extremely important) ... > SVD is the decomposition of a matrix into two rotation matrices and a scaling matrix, by definition: yes that's exactly what i was implying when i said SVD more than just rotation, scaling is also important. my point, which is my same original point, is that if you think learning about rotation/euler matrices is going to prepare you in any way, shape, or form for ML (vis-a-vis SVD/PCA or RoPE or anything else) you're in for a very rude awakening. |
|
|
|
|
|
|
| ▲ | srean 4 hours ago | parent | prev | next [-] |
| ... and I have been both situations for longer and have seen tons and tons of them (*)... So? Not so hypotheticals -- Heck the inputs that you want labelled could be rotation matrices. The desired output could be a rotation matrix. Generating more convenient features could be via a rotation matrix. Dimensionality reduction could be through a reduction matrix. Sparsity could be encouraged by proper use of rotation matrices. Shows up if you want to build in group theoretic invariance in your predictive model. (*) If you consider Householders then even more |
|
| ▲ | pascahousut 5 hours ago | parent | prev [-] |
| Is the linear algebra of machine learning more complicated than that of graphics? |
| |
| ▲ | ekholm_e 4 hours ago | parent | next [-] | | I'm a data scientist and not a graphics programmer, but my guess is that it's just abstracted away more. If you're using ML/DL libraries, you're mostly just calling APIs that handle the linear algebra and calculus for you. Unless you're actively contributing to those libraries, you likely don't ever need to "touch" any of the underlying operations. Up to a point, it's useful to understand how things work under the hood, but where that point is kinda depends on your job. For instance, I could write code to do 'naive' matrix multiplication, but I couldn't, like, contribute to BLAS. | |
| ▲ | molybd3num 5 hours ago | parent | prev [-] | | i think so |
|