5 ms·
Light computes any desired linear transform without a digital processor
- Gravyness 5y agoWould it be possible to develop a computer from linear transformations? Suppose registers, op codes and their parameters were represented as images, and at each clock a led grid is turned on with the current computer state, the light propagating into a sequence of diffractive surfaces to generate the next state through linear transformations, which is picked up and its result is used to change the led grid in the right places. Even if such a thing could be turing complete I guess the current computing problem is memory retrieval time and not internal cpu processing time...
- wiml 5y agoYou really need some nonlinear functions if you want to compute interesting things (and you can't build nonlinear functions out of purely linear parts).
- tines 5y agoIs nand nonlinear?
- deleted 5y ago[deleted]
- vlovich123 5y agoCan you expand on that point a bit? Deep learning approximates non-linear functions and the binary functions at the heart of CPUs are inherently linear no? That would seem to contradict the argument that you can’t build non linear functions out of linear parts. As a general concept, it seems generally possible to approximate non linear functions with linear ones, which I imagine is how deep learning works. I’m not a domain expert at any of these math topics though so happy to learn more. https://mathinsight.org/approximating_nonlinear_function_by_linear https://mathinsight.org/approximating_nonlinear_function_by_... https://en.m.wikipedia.org/wiki/Linearization https://en.m.wikipedia.org/wiki/Linearization https://stackoverflow.com/questions/4908893/what-logic-gates-are-required-for-turing-completeness#4909412 https://stackoverflow.com/questions/4908893/what-logic-gates...
- jhgb 5y agoDeep learning uses non-linear parts. And if by "the binary functions at the heart of CPUs", you mean elementary Boolean operations, then those aren't linear either.
- WORLD_ENDS_SOON 5y agoDeep learning combines linear functions together, but the way in which they are combined is always nonlinear. If the way in which they were combined were linear, the resulting function would also be linear (a linear combination of linear functions is linear), and you'd have linear regression. Specifically the final layer of a deep neural network is often linear but the nodes in middle layers are often Rectified Linear Units which have a nonlinear "max" function applied to a linear function. Without these "max" functions you'd be able to flatten all the layers into one. Other common nonlinear functions you'll find in a deep neural net are sigmoid functions like tanh. These functions are sometimes called "activation functions".
- Buttons840 5y agoYes, there is a non-linear function between each linear function. The alternating back and forth between linear and non-linear is important.
- 5y ago
- ajb 5y agoActually, you can do logic in linear (matrix) operations. This is what quantum computers do. Eg, if you look at the toffoli gate: https://en.wikipedia.org/wiki/Toffoli_gate https://en.wikipedia.org/wiki/Toffoli_gate it's a universal logic function (any logic function can be constructed using it) but in its form as a permutation matrix, it's a linear matrix operation. The catch is that its input is in the form of a vector having 1 entry for each possible value of the input in actual bits, which is an exponential increase in space. But, it is an existence proof that in some sense, you can do logic with linear functions, as long as you don't mind some kind of weird representation of your inputs and outputs. What I don't know is, whether you can use linear operations for logic with a smaller than exponential space increase.
- deleted 5y ago[deleted]
- jhgb 5y agoAs far as I understand it, you can construct reversible functions this way, but many interesting functions are irreversible (for example an OCR process generates an ASCII string, but you can't reverse the process to get the original bitmap from the ASCII string).
- ajb 5y agoA reversible function can do all the work of any given irreversible function. Specifically, supposed your reversible function is G(x). a reversible function for this is then (X, Y) => (X, G(X) ^ Y)
- jhgb 5y agoAnd how do you get G(X) from (X, G(X) ^ Y), then? (I assume you meant "your irreversible function is G(x)"?) That sounds like "you can find a reversible component in an irreversible calculation", which is probably true, but maybe practically meaningless: You were yourself talking about "an exponential increase in space", but if I understood this Landauer limit thingy correctly, this also gives you an exponential limit in power dissipated.
- Buttons840 5y ago> Would it be possible to develop a computer from linear transformations? No, a program consisting of a billion linear transformations could be simplified to a single linear transformation. The halting problem would be solved, all programs can halt. All calculations, no matter how many linear transformations they consist of, could be simplified to a single linear transformation. This would be absurdly good, but still absurd, thus impossible.
- Buttons840 5y agoA key insight is that any combinations of linear transformations is a linear transformation. Got a sequence of a billion linear transformation? The entire sequence can be expressed as a single linear transformation. Thus, no matter how many linear transformation you perform, you're never able to exceed the abilities of a single linear transformation.
- ac42 5y ago> Would it be possible to develop a computer from linear transformations? Yes. The transition function of Turing machines and the working tape can be represented as linear transformations. For quantum computers, these transformations even need to be unitary. This very standard construction does not conflict with the halting problem: you don't know how often you have to apply this linear transform to your state vector until you got your result.
- Loranubi 5y agoSimilar co-processors have been used for some time https://en.wikipedia.org/wiki/Optical_computing#Optical_Fourier_co-processors https://en.wikipedia.org/wiki/Optical_computing#Optical_Four...
- xyzzy21 5y agoThis is NOT new. This type of processing was being used in guidance systems of missiles in the 1980s.
- gus_massa 5y agoThe problem is the title, but remember that the researchers don't write the title of the press article. It's well known that you can compute any desired linar transformation with light and lens, diffraction gratings and similar stuff. I've see people calculating the wavelets transform with a similar equipment, like 10 years ago. The interesting part of the research article is that they got a better method to design the lens, diffraction gratings and similar stuff to calculate the transformation. This is somewhat explained in the article, but totally lost in the title.
- samaman 5y agoJust reminds me of Chaco Canyon and how eloquently light transforms can be used for many purposes https://www2.hao.ucar.edu/Education/SolarAstronomy/sun-dagger#:~:text=The%202%2D3%20meter%20sandstone,indicate%20both%20solstices%20and%20equinoxes.&text=At%20the%20summer%20solstice%2C%20before,in%20a%20visually%20striking%20manner https://www2.hao.ucar.edu/Education/SolarAstronomy/sun-dagge....
- amelius 5y agoTitle should say: any desired fixed linear transform. (Which greatly reduces the number of applications of the technique)
- Gravityloss 5y agoMaybe you could have liquid crystals or other equivalent optical routing mechanisms. The pipeline can process billions of computations per second, but changing the pipeline takes milliseconds. Talk about SIMD...
- imtringued 5y agoYou mean a field programmable optics array.
- twistedpair 5y agoThis is old school tech. For example, I was tought how this worked in satillite image analysis optical computers (e.g. Cold War tech) when getting my optics degree.
- Jeff_Brown 5y agoFor machine learning, an important nonlinear activation curve, the ReLU curve, seems like it might be achievable optically. Just bend the beam, and if it bends far enough, run it into something black.
- BenoitP 5y agoA similar approach has been tried by using the micro mirrors arrays from projectors: https://lighton.ai/publications/ https://lighton.ai/publications/ They use the mirrors to do random projections very rapidly, and collecting the results on a CMOS receptor. Somehow the projection help tackle high-dimensional data. Intro to how the math would be done at the beginning, meat of the device details at 20:10 : https://youtu.be/0QtY4_UJF0w https://youtu.be/0QtY4_UJF0w Funny how you can do a mathematical projection using a projector!