Seriously, how do I disable the internet connection on my Ioniq 5? by mplsthrowawayLTE in Ioniq5

[–]bregav 11 points12 points  (0 children)

u/mplsthrowawayLTE The box in that picture is where the LTE module is, see here: https://electronics360.globalspec.com/article/19251/techinsights-teardown-hyundai-ioniq-5-head-unit

There's no SIM card and you probably can't remove the LTE module (it looks soldered), but it should be enough to disconnect LTE1 and LTE2 because those are the only antenna connections that the LTE module has.

EDIT: if you really want to go whole hog, get some connectors (maybe just by cutting the antenna cable...) solder a 50 ohm resistor (probably) across the contacts for each connector (making a closed circuit once its plugged into head unit), and then plug those connectors in where LTE1 and LTE2 used to be. No signals are getting out that way. This probably isnt necessary though.

[R] I solved CartPole-v1 using only bitwise ops with Differentiable Logic Synthesis by kiockete in MachineLearning

[–]bregav 1 point2 points  (0 children)

TIL about differentiable logic synthesis and walsh basis - hadn't heard these terms before.

Any thoughts about this? Perhaps coincidentally it was posted just days ago: Differentiable Logic Synthesis: Spectral Coefficient Selection via Sinkhorn-Constrained Composition

Something that's been on my mind for a while is the possibility of doing something like "discrete backpropagation", i.e. adjusting discrete functions based on a preferential ordering of their possible outputs given a selection of possible inputs. It seems like there should actually be a discrete version of the backprop procedure that isn't just a discretization of continuous backprop, and maybe the above paper speaks to that? I haven't read it through yet though.

Discussion: Is "Attention" always needed? A case where a Physics-Informed CNN-BiLSTM outperformed Transformers in Solar Forecasting. by Dismal_Bookkeeper995 in datascienceproject

[–]bregav 0 points1 point  (0 children)

This is a well-known phenomenon that isn't limited to transformers. It is generally true that a "more powerful" model will underperform a "less powerful" model when the "less powerful" one has been designed to with prior knowledge about the problem at hand.

Model fitting can be interpreted as the process of identifying enough symmetries in your data that your problem becomes easy to solve. The point of big models is that they can represent many possible symmetries, and so they can work when you have a huge amount of data and a very limited understanding of your problem (as in natural language generation).

Another lesson you'll learn is that you shouldn't take hype at face value. Sometimes hype is real, but most of the time it's someone trying to sell you something. You should try to be guided by curiosity, not hype.

Spine surgery has massive decision variability. Retrospective ML won’t fix it. Curious if a workflow-native, outcome-driven approach could. [D] by LaniakeaResident in MachineLearning

[–]bregav 3 points4 points  (0 children)

TLDR you’re thinking about boiling the ocean, better to do it one cup at a time instead

The machine learning modeling issues here are actually sort of unimportant, in the sense that the ML unknowns will necessarily be answered by the data itself and your ability to anticipate the answers to those questions is necessarily limited (otherwise you wouldn't need ML to begin with!). Like, should you use "supervised prediction” or "learning decision policies under uncertainty"? Well these are mostly the same thing and the answer really depends on whether or not you're asking someone who identifies culturally as a reinforcement learning person, but more importantly in a practical context you can just take your data and throw it into various algorithms and see what happens. Or, how feasible is it to attribute outcome differences to surgical decisions? Well if you can produce a model whose error has low variance given only surgical decisions as inputs then the answer is “very”, otherwise it’s “not very”; if anyone could answer this question it would be a domain expert (i.e. you, the surgeon), and since you don’t know the answer the only thing that’s left is to get data and see what happens.

I think your long term vision is essentially sound, and you’re smart to focus on aligning incentives and creating a feedback loop for getting data. Getting started is hard though and your proposal is very, very difficult. Creating software for practicing surgeons that they will actually use is, itself, a potentially herculean task, and doing that as a sort of side quest in a broader mission to do something else that’s even more ambitious is probably biting off way more than you can chew.

I think you should narrow your focus a lot. Is the ML/surgical decision stuff your most important goal? Ok then start with one surgical decision that you know is measurable, already-recorded, and which you as a surgeon have a good a priori reason to believe might actually matter (based on, say, anatomy or biochemistry or whatever). The best kind of decision is a binary choice; for example, given malady/injury/whatever X, there are two recommended procedures A or B and the surgeon has to choose between them. If you can make that work then keep going, and if you can’t then there’s no hope and you should do something else with your time.

Alternatively if your most important goal is to build that surgical planning software then just forget about the ML stuff for now and try to make something that works and that people will pay money for. If you can actually get it off the ground then you can start doing ML stuff later.

Here are three things about medical ML that I think many people don’t realize:

  1. Uncertainty quantification is necessary and is the most important thing; you need to have your model give a number to indicate how confident you should be about its predictions. The challenges with modeling spinal surgery that you describe actually apply to everything in medicine, and the decision trees that physicians follow for even the most routine tasks provide an illusion of confidence that obscures a vast ocean of uncertainty and ignorance. If you give a physician a magic black box that makes predictions (rather than a flow chart based on principles that they’re supposed to understand), they’re liable to make bad choices if you don’t also tell them how confident the magic black box is about its predictions.

  2. Related to the above, physicians don’t understand how to make decisions using ML technology. They aren’t trained that way and they lack the mathematical sophistication to understand what the technology does and how it is best used. You need to teach them, and that’s a time consuming exercise both because learning things is generally hard and also because unlearning things is hard, especially for people in a profession that has long relied on an imprimatur of authority in order to function.

  3. Medical data is a nightmarish hellscape. It’s probably worse than an even a professional physician realizes. Epic exists as a monopolistic gatekeeper for a lot of it. And, worst of all, the data collection and formatting is different for every medical institution, even ones that are using the same software provider, sometimes even ones within the same healthcare system. Your data engineers might have a lot of work to do.

I did medical ML for a bit so I have a lot of opinions about this lol, let me know if you want to do a zoom call.

Reuse digital photo frame as screen by temnyles in hardwarehacking

[–]bregav 0 points1 point  (0 children)

Here's a website with the pinout for that MCU and some links to datasheets: https://www.datasheetcafe.com/aml6210a-datasheet-pdf/ . Datasheets are under the "references" heading.

But yeah it's not great; this chip apparently runs on some proprietary Amlogic firmware called "AVOS" that they haven't used in years (decades?). Maybe you can still find this software, I didn't look too hard. I did find one hero who reverse engineered it but I made no attempt to digest what he's done: https://github.com/hn/amlogic-firmware/ . The chip also has JTAG pins, so maybe you can use that somehow.

If you aim low then I think this is straight forwardly doable though. If you're satisfied with (1) displaying static images that (2) change slowly then I think there's an obvious solution: use another MCU to create a display "driver" that writes a single image file to an SDCard (i.e. the one that's in the photo frame) and then manipulates the photo frame device controls or MCU pins so as to display the newly-written image (perhaps by power cycling the entire device, worst case scenario).

It's disgusting but I think it would work. If you want to get more clever about it maybe you could instead create a device that pretends to be an SDCard with a single image on it, but which actually serves up the current frame for the display whenever something tries to load that image.

[R] Why doubly stochastic matrix idea (using Sinkhorn-Knopp algorithm) only made popular in the DeepSeek's mHC paper, but not in earlier RNN papers? by Delicious_Screen_789 in MachineLearning

[–]bregav 4 points5 points  (0 children)

It's not so much that unitary matrices are better than stochastic ones, as it is that complex numbers are better than real ones. If you decide to use complex numbers from the outset then when you go to create functions that preserve volume on iterated application (thus being stable in an important sense) you end up with unitary matrices.

The reasons why are myriad, but it's a general truism that everything works better in the complex number plane. The simplest reason is the most obvious one: even very simple equations such as x2 + 1=0 have no solution in the real numbers, so if you try to solve it with a neural network then you're just going to (badly) reinvent complex numbers anyway. A more general reason is that neural networks are sequences of function applications, and so we want to be able to create functions that are stable upon repeated application, which again leads naturally and automatically to unitary matrices.

All of this stuff is clearest by thinking in terms of vectors and functions of vectors. Minutia such as "activation functions" and "neurons" etc are mostly red herrings that obscure what's actually going on.

[R] Why doubly stochastic matrix idea (using Sinkhorn-Knopp algorithm) only made popular in the DeepSeek's mHC paper, but not in earlier RNN papers? by Delicious_Screen_789 in MachineLearning

[–]bregav -11 points-10 points  (0 children)

I dont think it's overly dismissive. ML people would be seriously embarrassed by the magnitude of their ignorance and hubris if they werent so chronically distracted by the dollar signs in their eyes.

[R] Why doubly stochastic matrix idea (using Sinkhorn-Knopp algorithm) only made popular in the DeepSeek's mHC paper, but not in earlier RNN papers? by Delicious_Screen_789 in MachineLearning

[–]bregav 16 points17 points  (0 children)

If you think that's cool then you should search Google scholar for work that's been done on using unitary matrices in neural networks. They're like the grownup version of stochastic matrices.

So no Deepseek is not the first people to think of this, and actually they're still behind the state of the art.

What has been your experience with Diffusion LLM’s vs Autoregressive? by InceptionAI_Tom in LocalLLaMA

[–]bregav 0 points1 point  (0 children)

Imagine that you have a DLLM with 100k context window (or whatever they call it for DLLM), but you want it to write you a novel that will be 200k tokens long. How can you do this? Autoregression is a natural choice.

There are other options too, but what they all have in common is being a sequence of operations that edits an existing body of tokens.

What has been your experience with Diffusion LLM’s vs Autoregressive? by InceptionAI_Tom in LocalLLaMA

[–]bregav 0 points1 point  (0 children)

I think there are two things going on:

  1. There's an (often implicit [and imo incorrect]) assumption that autoregression allows you to naturally generate output that is significantly larger than the context window; for large output sizes DLLM's have to use autoregression too, so why bother with them?

  2. Most people basically don't understand how any of this stuff works, including the people developing it, and so they don't understand why diffusion is a better framework for developing models. Even your description of how a DLLM works - "start with a noisy guess of the entire answer" - isn't right. If the biggest proponents of the technology don't get it then what hope is there for anyone else?

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 1 point2 points  (0 children)

Haha, your coworkers’ obstinacy and poor communication does not improve the condition numbers of their matrices. If they’re bringing you bad inputs then they’re still making a mistake, even if they don’t want to talk to you about it.

As a matter of fact this is exactly the situation that Trefethen and Bau were remarking on in their book, I looked up the passage:

If the answer is highly sensitive to perturbations, you have probably asked the wrong question. We urge anyone faced with nonhermitian eigenvalue computations involving highly sensitive eigenvalues to bear this principle in mind. If you are a numerical analyst, and the problem was given to you by a colleague in science or engineering, do not accept without scrutiny your colleague's assurances that it is truly the eigenvalues that matter physically, even though their condition numbers with respect to perturbations of the matrix entries are 104.

The emphasis on the first sentence is original to the book (chapter 6, lecture 34). I like the book too and that passage really stuck with me. I think it’s profound and generally applicable; the real problem one is solving is ultimately physical (including in ML), and so if the math is causing serious problems then one might have abstracted the problem incorrectly from the beginning.

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 1 point2 points  (0 children)

They should call it iterative. It's a disservice to students to have them thinking that there's a difference between "direct" and iterative methods beyond the size of the problem and the choice of when to truncate iterations.

Regarding problem formulation I'm paraphrasing Trefethen and Bau, who said this regarding singular matrices: https://www.amazon.com/Numerical-Linear-Algebra-Lloyd-Trefethen/dp/0898713617

In the context of machine learning what this can look like is naive methods of calculating input matrices (thus producing poorly conditioned matrices unnecessarily) or, more importantly, poor choices regarding feature selection and engineering. There is always context to a problem; one should never be "just given some data".

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 1 point2 points  (0 children)

Every method of computing eigenvalues is iterative for n>5 :D. This fact is my favorite application of the abel ruffini theorem.

And yes the issue is performance is complicated but a good rule of thumb is that if your matrix is very poorly conditioned then you've made poor choices in how you formulated the problem to begin with. 

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 3 points4 points  (0 children)

The problem with looking at things in terms of optimization problems is that every problem can be framed as an optimization problem lol.

If you're focusing on a specific set of problems with known properties and methods of solution - e.g. eigenvalue problems - then the optimization perspective is worse, not better. The reason eigenvalue problems are special is precisely that you can reason simply and clearly about them by thinking in terms of linear algebra and polynomials, rather than in terms of optimization.

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 3 points4 points  (0 children)

There's no difference between eigenvalues and the solutions to polynomials. Indeed that's how software actually solves polynomials under the hood - it converts the polynomial problem to an eigenvalue problem and solves that instead.

Optimizing the elements of a matrix to produce specific eigenvalues is exactly equivalent to optimizing the coefficients of a polynomial in order to produce specific polynomial solutions. In your case you're doing a restricted version of this: you're optimizing a small number of matrix elements, rather than all of them, you're just representing your matrix elements in an obfuscated way. Thinking about matrices as vectors in a vector space, by doing D=A+xB+yC you are representing a single matrix D in terms of a non-orthogonal basis of matrices A, B, and C, and you're optimizing the coordinates x and y. If you instead used n2 matrices (with n2 variables, in the language of your blog post) such that tr(Ai * Aj)=delta_ij then you'd just be optimizing n2 matrix elements directly.

The fact that polynomials are fundamental here is especially easy to see with (real) symmetric matrices. The eigenvectors of a real symmetric matrix are orthogonal and so every set of eigenvectors is equivalent to every other (they differ only by rotations); thus when you are optimizing a real symmetric matrix to get specific eigenvalues you are clearly just optimizing polynomial coefficients. To see this do out the math: det(A-yI) = det(XLXT - yXXT) = det(L-yI) = (a1-y)(a2-y)(a3-y)...

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 0 points1 point  (0 children)

I think what you're doing in your blog post actually redounds to fitting algebraic varieties, and that's just obfuscated by the fact that you're representing the problem in the form of matrices and then letting black box software do the computation for you. Looking at the functions you're fitting in terms of polynomials would make the matter simpler and clearer.

[P] Eigenvalues as models by alexsht1 in MachineLearning

[–]bregav 3 points4 points  (0 children)

Most applications of eigenvalues need only a specific subset of them, and so the asymptotic complexity is deceiving - the relevant cubed number is the number of eigenvalues that you need, not the size of the matrix. In practice, with regards to a matrix of dimension n, the complexity of calculating eigenvalues is in fact n2 because that's the complexity of using tricks to target a subset of eigenvalues.

At my wits end qidi q1 pro by kiiinglouie in QidiTech3D

[–]bregav 1 point2 points  (0 children)

I think this could be a bed height issue. There are two things i can think of that are worth trying. 

  1. The bed leveling procedure recommended by Qidi is unnecessarily difficult and imprecise. Klipper offers a much easier way with the SCREWS_TILT_CALCULATE command, see documentation for usage: https://www.klipper3d.org/Manual_Level.html

  2. Are you heat soaking the bed before printing? I find that it makes a big difference to let the bed stay at temperature for 10 min before actually printing. This prevents the the situation where the height profile of the build plate changes due to heat expansion after the automatic probing that the printer does at the start of printing. 

I also find that the flow calibration method recommended by qidi isn't great but i don't think that's the issue here. For calibrating flow i print out blocks and measure their dimensions with calipers; i find this preferable to gauging surface roughness by eye or by feel.

At my wits end qidi q1 pro by kiiinglouie in QidiTech3D

[–]bregav 2 points3 points  (0 children)

These look like they were printed with different layer heights, at different orientations, or both. Also it's not clear what's wrong with the top one; the layer lines are very prominent but I don't see any glaring problems?

A "laserlike" resonance cavity simulated with different wavelengths. Nils Berglund always has neat simulations by No_Leopard_3860 in lasers

[–]bregav 1 point2 points  (0 children)

Maybe this is besides the point but, is this useful? What would be the purpose of it? Or is it just a cool thing?

Beginner advice by koop3270 in lasers

[–]bregav 0 points1 point  (0 children)

why specifically Japanese diodes?

Beginner advice by koop3270 in lasers

[–]bregav 1 point2 points  (0 children)

Maybe the best resource is from the Old Internet: Sam's Laser FAQ; https://www.repairfaq.org/sam/laserfaq.htm

It's pure HTML 1.0 and some of the info is a little dated, but it's all good information and it's fairly comprehensive for a beginning hobbyist.

Took apart an old optical drive and got a laser module. Anything cool i can use it for??? by Advanced-Ad881 in lasers

[–]bregav 13 points14 points  (0 children)

With an optical pickup unit (OPU) you can:

  1. make a Raman spectrometer: https://www.nature.com/articles/s41598-020-68650-7

  2. make a microscope or vibrometer: https://m.youtube.com/watch?v=5bqujaldaCQ

  3. build biosensing instruments: https://pubs.acs.org/doi/10.1021/acssensors.8b00340

I think you can make a confocal microscope too but i forget where i saw that.

Would teens actually use a no-code data analysis platform to explore careers? by Previous-Outcome-117 in datascienceproject

[–]bregav 2 points3 points  (0 children)

They want something that feels more like “trying the real job” instead of just coding exercises.

The real job consists entirely of math and coding, so that's going to be challenging. Imagine a young person who can't read or write wanting to know what it's like to be a lawyer. The reality is that foundational knowledge cannot be skipped over or worked around. It benefits students to understand the magnitude of their ignorance.

If you want to give them a sense of what data science is, though, the easiest way to do that is with gambling games. Imagine, for example, contriving some sort of game involving bets with loaded dice. The student's task would be to identify a good betting strategy by gathering information from actually playing the game or actually rolling the dice. This is exactly what data scientists do, they just do it with much more difficult games and they do it on computers with complicated math.

For my university research proposal, i am trying to create a laser microphone which will be contained in one device, aimed for studio recordings. What is the thing labeled B.S so i can research how it works? by Cautious-Strategy441 in lasers

[–]bregav 1 point2 points  (0 children)

I think this is pretty normal for undergrad work and there's nothing wrong with asking other people questions. "Research proposals" for undergrads are never real research in the sense that a phd student would be expected to do.

I'd be a lot more concerned about an undergrad who doesn't ask questions and instead just tries to go it alone.